Skip to content

Commit 8e7e088

Browse files
authored
Merge pull request #566 from SBNSoftware/feature/acastill_corrected_opflash
Feature/acastill corrected opflash
2 parents fc26e0a + 4ee6709 commit 8e7e088

4 files changed

Lines changed: 43 additions & 2 deletions

File tree

sbncode/CAFMaker/CAFMakerParams.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,12 @@ namespace caf
363363
"" //Empty by default, configured in icaruscode cafmaker_defs
364364
};
365365

366+
Atom<string> CorrectedOpFlashLabel {
367+
Name("CorrectedOpFlashLabel"),
368+
Comment("Label of CorrectedOpFlash containing tpc-corrected flash time."),
369+
""
370+
};
371+
366372
Atom<art::InputTag> NuGraphSliceHitLabel {
367373
Name("NuGraphSliceHitLabel"),
368374
Comment("Label of NuGraph slice hit map."),

sbncode/CAFMaker/CAFMaker_module.cc

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,11 @@
118118
#include "sbnobj/Common/Trigger/ExtraTriggerInfo.h"
119119
#include "sbnobj/Common/Reco/CRUMBSResult.h"
120120
#include "sbnobj/Common/Reco/OpT0FinderResult.h"
121+
#include "sbnobj/Common/Reco/CorrectedOpFlashTiming.h"
121122
#include "sbnobj/SBND/Timing/TimingInfo.hh"
122123
#include "sbnobj/SBND/Timing/FrameShiftInfo.hh"
123124

125+
124126
// GENIE
125127
#include "Framework/EventGen/EventRecord.h"
126128
#include "Framework/Ntuple/NtpMCEventRecord.h"
@@ -1899,6 +1901,15 @@ void CAFMaker::produce(art::Event& evt) noexcept {
18991901
const sbn::TPCPMTBarycenterMatch *barycenterMatch
19001902
= foTPCPMTBarycenterMatch.isValid()? foTPCPMTBarycenterMatch.at(0).get(): nullptr;
19011903

1904+
1905+
art::FindManyP<sbn::CorrectedOpFlashTiming> fmCorrectedOpFlash =
1906+
FindManyPStrict<sbn::CorrectedOpFlashTiming>(sliceList, evt,
1907+
fParams.CorrectedOpFlashLabel() + slice_tag_suff);
1908+
std::vector<art::Ptr<sbn::CorrectedOpFlashTiming>> slcCorrectedOpFlash;
1909+
if (fmCorrectedOpFlash.isValid())
1910+
slcCorrectedOpFlash = fmCorrectedOpFlash.at(0);
1911+
1912+
19021913
art::FindOneP<lcvn::Result> foCVNResult =
19031914
FindOnePStrict<lcvn::Result>(sliceList, evt,
19041915
fParams.CVNLabel() + slice_tag_suff);
@@ -2154,6 +2165,7 @@ void CAFMaker::produce(art::Event& evt) noexcept {
21542165
FillSliceOpT0Finder(slcOpT0, recslc);
21552166
FillSliceBarycenter(slcHits, slcSpacePoints, recslc);
21562167
FillTPCPMTBarycenterMatch(barycenterMatch, recslc);
2168+
FillCorrectedOpFlashTiming(slcCorrectedOpFlash, recslc);
21572169
FillCVNScores(cvnResult, recslc);
21582170

21592171
// select slice
@@ -2543,6 +2555,7 @@ void CAFMaker::produce(art::Event& evt) noexcept {
25432555
rec.hdr.ismc = !isRealData;
25442556
rec.hdr.det = fDet;
25452557
rec.hdr.fno = fFileNumber;
2558+
25462559
if(fFirstInSubRun)
25472560
{
25482561
rec.hdr.nbnbinfo = fBNBInfo.size();
@@ -2583,13 +2596,13 @@ void CAFMaker::produce(art::Event& evt) noexcept {
25832596
else {
25842597
std::cout << "Did not find this event in the spill info map." << std::endl;
25852598
}
2586-
2599+
25872600
if(fRecTree){
25882601
// Save the standard-record
25892602
StandardRecord* prec = &rec;
2603+
25902604
fRecTree->SetBranchAddress("rec", &prec);
25912605
fRecTree->Fill();
2592-
25932606
if(fFlatTree){
25942607
fFlatRecord->Clear();
25952608
fFlatRecord->Fill(rec);

sbncode/CAFMaker/FillReco.cxx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,24 @@ namespace caf
295295
}
296296
}
297297

298+
299+
void FillCorrectedOpFlashTiming(const std::vector<art::Ptr<sbn::CorrectedOpFlashTiming>> &slcCorrectedOpFlash,
300+
caf::SRSlice& slice)
301+
{
302+
slice.correctedOpFlash.setDefault();
303+
if ( slcCorrectedOpFlash.empty()==false ) {
304+
const sbn::CorrectedOpFlashTiming &_correctedOpFlash = *slcCorrectedOpFlash[0];
305+
//TODO: use the score of the match to fill the information accordingly
306+
slice.correctedOpFlash.OpFlashT0 = _correctedOpFlash.OpFlashT0;
307+
slice.correctedOpFlash.UpstreamTime_lightonly = _correctedOpFlash.UpstreamTime_lightonly;
308+
slice.correctedOpFlash.UpstreamTime_tpczcorr = _correctedOpFlash.UpstreamTime_tpczcorr;
309+
slice.correctedOpFlash.UpstreamTime_propcorr_tpczcorr = _correctedOpFlash.UpstreamTime_propcorr_tpczcorr;
310+
slice.correctedOpFlash.FMScore = _correctedOpFlash.FMScore;
311+
slice.correctedOpFlash.SliceNuScore = _correctedOpFlash.SliceNuScore;
312+
}
313+
}
314+
315+
298316
std::vector<float> double_to_float_vector(const std::vector<double>& v)
299317
{
300318
std::vector<float> ret;

sbncode/CAFMaker/FillReco.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "sbnobj/Common/Reco/CRUMBSResult.h"
3737
#include "sbnobj/Common/Reco/OpT0FinderResult.h"
3838
#include "sbnobj/Common/Reco/TPCPMTBarycenterMatch.h"
39+
#include "sbnobj/Common/Reco/CorrectedOpFlashTiming.h"
3940
#include "sbnobj/Common/CRT/CRTHit.hh"
4041
#include "sbnobj/Common/CRT/CRTTrack.hh"
4142
#include "sbnobj/SBND/CRT/CRTSpacePoint.hh"
@@ -294,6 +295,9 @@ namespace caf
294295
void FillTPCPMTBarycenterMatch(const sbn::TPCPMTBarycenterMatch *matchInfo,
295296
caf::SRSlice& slice);
296297

298+
void FillCorrectedOpFlashTiming(const std::vector<art::Ptr<sbn::CorrectedOpFlashTiming>> &slcCorrectedOpFlash,
299+
caf::SRSlice& slice);
300+
297301
void FillCVNScores(const lcvn::Result *cvnResult,
298302
caf::SRSlice& slice);
299303

0 commit comments

Comments
 (0)