Skip to content

Commit a4116c1

Browse files
Add CorrectedOpFlash to CAF information
1 parent fb929f3 commit a4116c1

5 files changed

Lines changed: 41 additions & 2 deletions

File tree

sbncode/CAFMaker/CAFMakerParams.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,12 @@ namespace caf
350350
"" //Empty by default, configured in icaruscode cafmaker_defs
351351
};
352352

353+
Atom<string> CorrectedOpFlashLabel {
354+
Name("CorrectedOpFlashLabel"),
355+
Comment("Label of CorrectedOpFlash containing tpc-corrected flash time."),
356+
""
357+
};
358+
353359
Atom<art::InputTag> NuGraphSliceHitLabel {
354360
Name("NuGraphSliceHitLabel"),
355361
Comment("Label of NuGraph slice hit map."),

sbncode/CAFMaker/CAFMaker_module.cc

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1828,6 +1828,15 @@ void CAFMaker::produce(art::Event& evt) noexcept {
18281828
const sbn::TPCPMTBarycenterMatch *barycenterMatch
18291829
= foTPCPMTBarycenterMatch.isValid()? foTPCPMTBarycenterMatch.at(0).get(): nullptr;
18301830

1831+
1832+
art::FindManyP<sbnd::OpFlashTiming::CorrectedOpFlashTiming> fmCorrectedOpFlash =
1833+
FindManyPStrict<sbnd::OpFlashTiming::CorrectedOpFlashTiming>(sliceList, evt,
1834+
fParams.CorrectedOpFlashLabel() + slice_tag_suff);
1835+
std::vector<art::Ptr<sbnd::OpFlashTiming::CorrectedOpFlashTiming>> slcCorrectedOpFlash;
1836+
if (fmCorrectedOpFlash.isValid())
1837+
slcCorrectedOpFlash = fmCorrectedOpFlash.at(0);
1838+
1839+
18311840
art::FindOneP<lcvn::Result> foCVNResult =
18321841
FindOnePStrict<lcvn::Result>(sliceList, evt,
18331842
fParams.CVNLabel() + slice_tag_suff);
@@ -2083,6 +2092,7 @@ void CAFMaker::produce(art::Event& evt) noexcept {
20832092
FillSliceOpT0Finder(slcOpT0, recslc);
20842093
FillSliceBarycenter(slcHits, slcSpacePoints, recslc);
20852094
FillTPCPMTBarycenterMatch(barycenterMatch, recslc);
2095+
FillCorrectedOpFlashTiming(slcCorrectedOpFlash, recslc);
20862096
FillCVNScores(cvnResult, recslc);
20872097

20882098
// select slice
@@ -2429,6 +2439,7 @@ void CAFMaker::produce(art::Event& evt) noexcept {
24292439
rec.hdr.ismc = !isRealData;
24302440
rec.hdr.det = fDet;
24312441
rec.hdr.fno = fFileNumber;
2442+
24322443
if(fFirstInSubRun)
24332444
{
24342445
rec.hdr.nbnbinfo = fBNBInfo.size();
@@ -2469,13 +2480,13 @@ void CAFMaker::produce(art::Event& evt) noexcept {
24692480
else {
24702481
std::cout << "Did not find this event in the spill info map." << std::endl;
24712482
}
2472-
2483+
24732484
if(fRecTree){
24742485
// Save the standard-record
24752486
StandardRecord* prec = &rec;
2487+
24762488
fRecTree->SetBranchAddress("rec", &prec);
24772489
fRecTree->Fill();
2478-
24792490
if(fFlatTree){
24802491
fFlatRecord->Clear();
24812492
fFlatRecord->Fill(rec);

sbncode/CAFMaker/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ art_make_library( LIBRARY_NAME sbncode_CAFMaker
3636
sbnobj::Common_Reco
3737
sbnobj::Common_Analysis
3838
sbnobj::SBND_CRT
39+
sbnobj::SBND_OpFlashTiming
3940
lardataalg::DetectorInfo
4041
art::Framework_Services_System_TriggerNamesService_service
4142
sbncode_Metadata_MetadataSBN_service

sbncode/CAFMaker/FillReco.cxx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,23 @@ namespace caf
263263
}
264264
}
265265

266+
267+
void FillCorrectedOpFlashTiming(const std::vector<art::Ptr<sbnd::OpFlashTiming::CorrectedOpFlashTiming>> &slcCorrectedOpFlash,
268+
caf::SRSlice& slice)
269+
{
270+
slice.correctedOpFlash.setDefault();
271+
if ( slcCorrectedOpFlash.empty()==false ) {
272+
const sbnd::OpFlashTiming::CorrectedOpFlashTiming &_correctedOpFlash = *slcCorrectedOpFlash[0];
273+
//TODO: use the score of the match to fill the information accordingly
274+
slice.correctedOpFlash.OpFlashT0 = _correctedOpFlash.OpFlashT0;
275+
slice.correctedOpFlash.UpstreamTime_lightonly = _correctedOpFlash.UpstreamTime_lightonly;
276+
slice.correctedOpFlash.UpstreamTime_tpczcorr = _correctedOpFlash.UpstreamTime_tpczcorr;
277+
slice.correctedOpFlash.UpstreamTime_propcorr = _correctedOpFlash.UpstreamTime_propcorr;
278+
slice.correctedOpFlash.UpstreamTime_propcorr_tpczcorr = _correctedOpFlash.UpstreamTime_propcorr_tpczcorr;
279+
}
280+
}
281+
282+
266283
std::vector<float> double_to_float_vector(const std::vector<double>& v)
267284
{
268285
std::vector<float> ret;

sbncode/CAFMaker/FillReco.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "sbnobj/Common/CRT/CRTTrack.hh"
4141
#include "sbnobj/SBND/CRT/CRTSpacePoint.hh"
4242
#include "sbnobj/SBND/CRT/CRTTrack.hh"
43+
#include "sbnobj/SBND/OpFlashTiming/CorrectedOpFlashTiming.h"
4344
#include "sbnobj/Common/CRT/CRTPMTMatching.hh"
4445
#include "sbnobj/Common/CRT/CRTHitT0TaggingInfo.hh"
4546
#include "nusimdata/SimulationBase/MCParticle.h"
@@ -272,6 +273,9 @@ namespace caf
272273
void FillTPCPMTBarycenterMatch(const sbn::TPCPMTBarycenterMatch *matchInfo,
273274
caf::SRSlice& slice);
274275

276+
void FillCorrectedOpFlashTiming(const std::vector<art::Ptr<sbnd::OpFlashTiming::CorrectedOpFlashTiming>> &slcCorrectedOpFlash,
277+
caf::SRSlice& slice);
278+
275279
void FillCVNScores(const lcvn::Result *cvnResult,
276280
caf::SRSlice& slice);
277281

0 commit comments

Comments
 (0)