File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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,
Original file line number Diff line number Diff line change 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 );
You can’t perform that action at this time.
0 commit comments