Skip to content

Commit 6d04876

Browse files
authored
Merge pull request #493 from yangtj207/feature/tjyang_cvn
Save CVN scores in CAFMaker.
2 parents 1478bd8 + e26489f commit 6d04876

5 files changed

Lines changed: 37 additions & 1 deletion

File tree

sbncode/CAFMaker/CAFMakerParams.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,12 @@ namespace caf
442442
true
443443
};
444444

445+
Atom<string> CVNLabel {
446+
Name("CVNLabel"),
447+
Comment("Label of CVN scores."),
448+
"cvn"
449+
};
450+
445451
};
446452
}
447453

sbncode/CAFMaker/CAFMaker_module.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1680,6 +1680,12 @@ void CAFMaker::produce(art::Event& evt) noexcept {
16801680
const sbn::TPCPMTBarycenterMatch *barycenterMatch
16811681
= foTPCPMTBarycenterMatch.isValid()? foTPCPMTBarycenterMatch.at(0).get(): nullptr;
16821682

1683+
art::FindOneP<lcvn::Result> foCVNResult =
1684+
FindOnePStrict<lcvn::Result>(sliceList, evt,
1685+
fParams.CVNLabel() + slice_tag_suff);
1686+
const lcvn::Result *cvnResult
1687+
= foCVNResult.isValid()? foCVNResult.at(0).get(): nullptr;
1688+
16831689
art::FindManyP<larpandoraobj::PFParticleMetadata> fmPFPMeta =
16841690
FindManyPStrict<larpandoraobj::PFParticleMetadata>(fmPFPart, evt,
16851691
fParams.PFParticleLabel() + slice_tag_suff);
@@ -1905,7 +1911,8 @@ void CAFMaker::produce(art::Event& evt) noexcept {
19051911
FillSliceOpT0Finder(slcOpT0, recslc);
19061912
FillSliceBarycenter(slcHits, slcSpacePoints, recslc);
19071913
FillTPCPMTBarycenterMatch(barycenterMatch, recslc);
1908-
1914+
FillCVNScores(cvnResult, recslc);
1915+
19091916
// select slice
19101917
if (!SelectSlice(recslc, fParams.CutClearCosmic())) continue;
19111918

sbncode/CAFMaker/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ art_make_library( LIBRARY_NAME sbncode_CAFMaker
2525
caf_RecoUtils
2626
lardataobj::AnalysisBase
2727
lardataobj::RecoBase
28+
larrecodnn::CVN_func
2829
larcorealg::Geometry
2930
larcore::Geometry_Geometry_service
3031
larcorealg::GeoAlgo

sbncode/CAFMaker/FillReco.cxx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,6 +1003,24 @@ namespace caf
10031003
}
10041004
}
10051005

1006+
void FillCVNScores(const lcvn::Result *cvnResult,
1007+
caf::SRSlice& slice)
1008+
{
1009+
1010+
if ( cvnResult != nullptr ) {
1011+
auto const & cvn = cvnResult->fOutput;
1012+
if (cvn.size()==1 && cvn[0].size()==4){
1013+
slice.cvn.numuscore = cvn[0][0];
1014+
slice.cvn.nuescore = cvn[0][1];
1015+
slice.cvn.cosmicscore = cvn[0][2];
1016+
slice.cvn.ncscore = cvn[0][3];
1017+
}
1018+
else{
1019+
std::cout<<"CVN result does not have the correct dimensions."<<std::endl;
1020+
}
1021+
}
1022+
}
1023+
10061024
//......................................................................
10071025

10081026
void FillPFPRazzled(const art::Ptr<sbn::MVAPID> razzled,

sbncode/CAFMaker/FillReco.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "lardataobj/AnalysisBase/T0.h"
2525
#include "lardataobj/RecoBase/PFParticleMetadata.h"
2626
#include "lardataobj/RecoBase/MCSFitResult.h"
27+
#include "larrecodnn/CVN/func/Result.h"
2728
#include "sbnobj/Common/Reco/Stub.h"
2829
#include "sbnobj/Common/Reco/RangeP.h"
2930
#include "sbnobj/Common/Reco/ShowerSelectionVars.h"
@@ -228,6 +229,9 @@ namespace caf
228229
void FillTPCPMTBarycenterMatch(const sbn::TPCPMTBarycenterMatch *matchInfo,
229230
caf::SRSlice& slice);
230231

232+
void FillCVNScores(const lcvn::Result *cvnResult,
233+
caf::SRSlice& slice);
234+
231235
void FillPFPRazzled(const art::Ptr<sbn::MVAPID> razzled,
232236
caf::SRPFP& srpfp,
233237
bool allowEmpty = false);

0 commit comments

Comments
 (0)