All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SBNAna/Cuts/TruthCuts.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace ana
6 {
7 
8  extern const Cut kIsAntiNu;
9  extern const Cut kIsNu;
10  extern const Cut kHasNu;
11 
12  extern const Cut kIsNue;
13  extern const Cut kIsNumu;
14  extern const Cut kIsNutau;
15 
16  extern const Cut kIsCC;
17  extern const Cut kIsNC;
18 
19  extern const Cut kTrueActiveVolumeND;
20  extern const Cut kTrueFiducialVolumeND;
23 
26 
27  extern const Cut kVtxDistMagCut;
28 
29  extern const Cut kSlcCompletenessCut;
30 
31  extern const SpillCut kIsCosmicSpill;
32  extern const SpillCut kIsSingleNuSpill;
33  extern const SpillCut kIsNueSpill;
34  extern const SpillCut kIsNumuSpill;
35  extern const SpillCut kIsNutauSpill;
36 
37  extern const SpillCut kIsCCSpill;
38  extern const SpillCut kIsNCSpill;
39 
40  // extern const Cut kIsQE;
41  // extern const Cut kIsRes;
42  // extern const Cut kIsDIS;
43  // extern const Cut kIsCoh;
44  // extern const Cut kIsDytmanMEC;
45 
46 
47  // //// Select parents
48  // extern const Cut kIsPion;
49  // extern const Cut kIsKaon;
50  // extern const Cut kIsMuon;
51 
52 
53  // //// Select neutrinos by their parents type
54  // extern const Cut kIsNumuFromKaon;
55  // extern const Cut kIsNumuFromPion;
56  // extern const Cut kIsNumuFromMuon;
57 
58  // extern const Cut kIsNueFromKaon;
59  // extern const Cut kIsNueFromPion;
60  // extern const Cut kIsNueFromMuon;
61 
62 
63  // //// Is the vertex in the detector
64  // extern const Cut kIsVtxCont;
65 
66 }
const SpillCut kIsCosmicSpill([](const caf::SRSpillProxy *sr){return(sr->mc.nnu==0);})
const Cut kSlcCompletenessCut([](const caf::SRSliceProxy *slc){if(slc->truth.index< 0) return false;return(kCompletness(slc) > 0.5);})
const Cut kIsNC([](const caf::SRSliceProxy *slc){return kHasMatchedNu(slc)&&slc->truth.isnc;})
Is this a Neutral Current event?
const Cut kTrueFiducialVolumeFDCryo1([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVol(slc->truth.position, fvfd_cryo1);})
const Cut kTrueFiducialVolumeND([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVolAbsX(slc->truth.position, fvndAbs);})
const Cut kIsCC([](const caf::SRSliceProxy *slc){return kHasMatchedNu(slc)&&slc->truth.iscc;})
const Cut kTrueActiveVolumeFDCryo1([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVol(slc->truth.position, avfd_cryo1);})
const Cut kIsNu([](const caf::SRSliceProxy *slc){if(slc->truth.index< 0) return false;return slc->truth.pdg > 0;})
process_name opflashCryoW ana
const Cut kIsNue([](const caf::SRSliceProxy *slc){return slc->truth.index >=0 &&abs(slc->truth.pdg)==12;})
const Cut kIsNutau([](const caf::SRSliceProxy *slc){return slc->truth.index >=0 &&abs(slc->truth.pdg)==16;})
const Cut kHasNu([](const caf::SRSliceProxy *slc){return slc->truth.index >=0;})
const SpillCut kIsNueSpill([](const caf::SRSpillProxy *sr){if(kIsCosmicSpill(sr)||!kIsSingleNuSpill(sr)) return false;return(std::abs(sr->mc.nu[0].pdg)==12);})
_Cut< caf::SRSliceProxy > Cut
Definition: Cut.h:95
const Cut kIsNumu([](const caf::SRSliceProxy *slc){return slc->truth.index >=0 &&abs(slc->truth.pdg)==14;})
const SpillCut kIsSingleNuSpill([](const caf::SRSpillProxy *sr){return(sr->mc.nnu< 2);})
const SpillCut kIsNCSpill([](const caf::SRSpillProxy *sr){if(kIsCosmicSpill(sr)||!kIsSingleNuSpill(sr)) return false;return((bool) sr->mc.nu[0].isnc);})
const Cut kTrueActiveVolumeND([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVolAbsX(slc->truth.position, avnd);})
const SpillCut kIsCCSpill([](const caf::SRSpillProxy *sr){if(kIsCosmicSpill(sr)||!kIsSingleNuSpill(sr)) return false;return((bool) sr->mc.nu[0].iscc);})
const SpillCut kIsNumuSpill([](const caf::SRSpillProxy *sr){if(kIsCosmicSpill(sr)||!kIsSingleNuSpill(sr)) return false;return(std::abs(sr->mc.nu[0].pdg)==14);})
const Cut kTrueActiveVolumeFDCryo2([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVol(slc->truth.position, avfd_cryo2);})
Template for Cut and SpillCut.
Definition: Cut.h:16
const Cut kIsAntiNu([](const caf::SRSliceProxy *slc){return kHasMatchedNu(slc)&&slc->truth.pdg< 0;})
Is this truly an antineutrino?
const Cut kVtxDistMagCut([](const caf::SRSliceProxy *slc){if(slc->truth.index< 0) return true;return(kTruthVtxDistMag(slc)< 1);})
const SpillCut kIsNutauSpill([](const caf::SRSpillProxy *sr){if(kIsCosmicSpill(sr)||!kIsSingleNuSpill(sr)) return false;return(std::abs(sr->mc.nu[0].pdg)==16);})
const Cut kTrueFiducialVolumeFDCryo2([](const caf::SRSliceProxy *slc){return kHasNu(slc)&&PtInVol(slc->truth.position, fvfd_cryo2);})