NueCuts2017.h
Go to the documentation of this file.
1 #pragma once
2 
3 // final summary for 2017 doc-db ?
4 //
5 // Blank for summer analysis cuts
6 // Only semi-finalized FD cuts for now
7 //
8 
9 #include "CAFAna/Core/HistAxis.h"
10 #include "CAFAna/Cuts/Cuts.h"
13 
14 namespace ana
15 {
16 
17  ///////////////////////////////////////////////////////////////////////////
18  // //
19  // ------------------- Cuts Common to Both Detectors --------------- //
20  // //
21  ///////////////////////////////////////////////////////////////////////////
22 
23 
24  //--------------------------- DQ Cuts ---------------------------
25  // CVN, LID doc db 19011, 19550
26 
27  //--------- CVN ---------
28  extern const Cut kNueDQ2017CVN;
29 
30  //--------- LID ---------
31  extern const Cut kNueDQ2017LID;
32 
33  /// Close to the s/sqrt(s+b) optimization. TODO: DocDB reference?
34  const Cut kNue2017CVNCut = kCVNe > 0.75;
35 
36  ///////////////////////////////////////////////////////////////////////////
37  // //
38  // ----------------------- FD specific cuts ----------------------- //
39  // //
40  ///////////////////////////////////////////////////////////////////////////
41 
42  /// cosmic veto cut for FD
43  extern const Cut kNue2017Veto;
44 
45 
46  //------------------- Basic Cuts ----------------------
47  // ALWAYS apply these
50 
51 
52  //------------------- Preselection Cut -------------------
53  // doc-db 17176
55  kNHit > 30 && kNHit < 150 &&
56  kLongestProng > 100 && kLongestProng < 500;
57 
58  //----------------------- Pt/P Cut -----------------------
59  // doc-db 18105, 19550
60  //--------- CVN ---------
61  //
62  /// "L-shaped" Cut in p_t/P vs maxy space to reject cosmic rays for the "core"
63  /// samples, suitable for use with CVN.
64  /// Where "X" is rejected and "." is selected.
65  ///
66  /// M ..XXXX
67  /// a ..XXXX
68  /// x ....XX
69  /// y ....XX
70  /// ......
71  /// P_t / p
72  const Cut kNue2017PtPCutCVN = ( kPtP < 0.58 ) || ( 0.58 <= kPtP && kPtP < 0.8 && kMaxY < 590 ) || ( 0.8 <= kPtP && kMaxY < 350 );
73 
74  //--------- LID ---------
75  /// Somewhat tighter p_t/P vs maxy cuts suitable for use with LID
76  const Cut kNue2017PtPCutLID = ( kPtP < 0.4 ) || ( 0.4 <= kPtP && kPtP < 0.65 && kMaxY < 600 );
77 
78  /// FD containment cuts, inherited from Second Analysis
80  kDistAllTop > 63 &&
81  kDistAllBottom > 12 &&
82  kDistAllEast > 12 &&
83  kDistAllWest > 12 &&
84  kDistAllFront > 18 &&
85  kDistAllBack > 18;
86 
87  /// FD backward cosmic photon rejection cut, inherited from Second Analysis
89  ( kDistAllBack < 200 && kSparsenessAsymm < -0.1 ) ||
90  ( kDistAllBack >= 200 );
91 
92 
93  /// Cuts which define the "core" sample and are reversed for the "peripheral" sample
95  kNue2017Presel &&
96  kNue2017ProngContainment &&
97  kNue2017PtPCutCVN &&
99 
100  /// Cuts which define the "core" sample and are reversed for the "peripheral"
101  /// sample. `ProngContainment`, `PtPCutCVN` and `BackwardCut` are unchanged
102  /// from 2017 analysis at the moment.
103 
104  /// Full preselection for 2017 "core" sample with Cut-based CosRej
106 
107  /// Full preselection for 2017 "peripheral" sample
108  /// To save us the headache of figuring out how to plot energy overflow
109  /// on our FD distribution plot, only consider events with reco E < 4.5 GeV
112  !kNue2017CorePart &&
113  kNueEnergy2017 < 4.5 &&
114  kIsFarDet;
115 
116  /// Lowest BDT value used in Matryoshka binning DocDB 19724. Not finalized
118 
119  /// Full FD nue preselection cuts for 2017 analysis with BDT-based CosRej
122  kNue2017Presel &&
124 
125  // Preliminary nearest slice cuts for cosmic rejection based on delayed brem showers
126  // TODO : Docdb reference
128 
129  /// Full FD nue selection for 2017 analysis
130  const Cut kNue2017FD = kNue2017CorePresel && kNue2017CVNCut && kNearestSliceCosRejCore;
131 
132  /// Cosmic rejection cut in CVNe vs CosPIDContain space for peripheral sample
133  ///
134  /// This is a box of high CVN and high BDT space that is selected, plus a
135  /// sliver of very-high CVN events that are selected regardless of BDT.
136  ///
137  /// Where "X" is rejected and "." selected
138  ///
139  /// C XXX...
140  /// o XXX...
141  /// s XXX...
142  /// B XXXXX.
143  /// D XXXXX.
144  /// T XXXXX.
145  /// CVNe
146  const Cut kNue2017CVNVsCosPID = (kCVNe>0.95 && kCosPIDContain>0.53) || kCVNe>0.99;
147 
148  // Nearest slice cuts for the peripheral bin
150 
151  /// Definition of the FD peripheral sample around our core selected events
152  const Cut kNue2017FDPeripheral = kNue2017PeripheralPresel && kNue2017CVNVsCosPID && kNearestSliceCosRejPeripheral;
153 
154  /// Our FD selection including all samples, for making predictions, etc.
156 
158 
159 
160 ///////////////////////////////////////////////////////////////////////////
161 //
162 // --------------------- FD Peripheral Sidebands --------------------- //
163 //
164 ///////////////////////////////////////////////////////////////////////////
165 
168  !kNue2017CorePart &&
169  kNueEnergy2017 > 4.5 &&
170  kNueEnergy2017 < 10 &&
171  kIsFarDet;
172 
174  && kCosPIDContain>0.53);
175 
177  && kCosPIDContain>0.53);
178 
179  // Nearest slice cuts for the peripheral sidebands
181 
182  /// Definition of the FD peripheral High Energy Low PID
184  kNue2017PeripheralPreselHE &&
185  kNue2017CVNVsCosPIDPeripheralLP &&
187 
188  /// Definition of the FD peripheral High Energy Mid PID
190  kNue2017PeripheralPreselHE &&
191  kNue2017CVNVsCosPIDPeripheralMP &&
193 
194  /// Definition of the FD peripheral Low PID
196  kNue2017PeripheralPresel &&
197  kNue2017CVNVsCosPIDPeripheralLP &&
199 
200  /// Definition of the FD peripheral Mid PID
202  kNue2017PeripheralPresel &&
203  kNue2017CVNVsCosPIDPeripheralMP &&
205 
206  /// Definition of the FD peripheral High Energy sideband
208  kNue2017PeripheralPreselHE &&
209  kNue2017CVNVsCosPID &&
211 
212  ///////////////////////////////////////////////////////////////////////////
213  //
214  // --------------------- FD Full Sidebands --------------------- //
215  //
216  ///////////////////////////////////////////////////////////////////////////
217 
218  //------------------- Preselection Cut -------------------
220  kNueEnergy2017 > 4.5 &&
221  kNHit > 30 &&
222  kLongestProng > 100 && kLongestProng < 500;
223 
224  /// Cuts which define the "core" HE sample and are reversed for the "peripheral" sample
226  kNue2017PreselHE &&
227  kNue2017ProngContainment &&
228  kNue2017PtPCutCVN &&
230 
231  /// CosRej for the core sidebands
233 
234  /// Preselection for 2017 "core" HE sample with Cut-based CosRej
236 
237  /// FD nue selection for "core" HE sample
238  const Cut kNue2017FDHE = kNue2017CorePreselHE && kNue2017CVNCut && kNearestSliceCosRejCoreSideband;
239 
240  /// All samples - High energy sideband
242 
243  /// Low PID cut for core sidebands
244  const Cut kNue2017CVNCutLP = kCVNe > 0.50 && kCVNe <= 0.75;
245 
246  /// FD nue selection for 2017 low PID sideband
247  const Cut kNue2017FDLP = kNue2017CorePresel && kNue2017CVNCutLP && kNearestSliceCosRejCoreSideband;
248 
249 ///////////////////////////////////////////////////////////////////////////
250 //
251 // ----------------------- ND specific cuts ----------------------- //
252 //
253 ///////////////////////////////////////////////////////////////////////////
254 
255  /// Cut on ND vertex position
256  extern const Cut kNue2017NDFiducial;
257 
258  /// Loose containtment on start and end of all showers, docdb-12943
259  extern const Cut kNue2017NDContain;
260 
261  /// No hits in the first 5 planes of the detector, doc 12879
262  extern const Cut kNue2017NDFrontPlanes;
263 
264  // Make sure you cover extrap
265  const Cut kNue2017NDNHits = kNHit >= 20 && kNHit <= 200;
266 
267  // Make sure you cover extrap in high energy sideband
268  const Cut kNue2017NDNHitsHE = kNHit >= 20;
269 
270  // Make sure you cover extrap
272 
273  // Make sure you cover extrap in high energy sideband
275 
276  // Same as FA ND / FD cuts
277  const Cut kNue2017NDProngLength = kLongestProng > 100 &&
278  kLongestProng < 500;
279 
280  const Cut kNueND2017DecafCut = kNueDQ2017CVN &&
281  kNue2017NDFiducial &&
282  kNue2017NDContain &&
284 
285  const Cut kNue2017NDPresel = kNueDQ2017CVN &&
286  kNue2017NDFiducial &&
287  kNue2017NDContain &&
288  kNue2017NDFrontPlanes &&
289  kNue2017NDNHits &&
290  kNue2017NDEnergy &&
292 
293  const Cut kNue2017NDPreselHE = kNueDQ2017CVN &&
294  kNue2017NDFiducial &&
295  kNue2017NDContain &&
296  kNue2017NDFrontPlanes &&
297  kNue2017NDNHitsHE &&
298  kNue2017NDEnergyHE &&
300 
301 
302  const Cut kNue2017NDCVNSsb = kNue2017NDPresel && kNue2017CVNCut;
303 
304  // Actually a Var, but it depends on a cut, so including it here.
305  // This properly lays out our FD events into 3 CVN bins + peripheral events
306  // In the ND, this should just fill the 3 core CVN bins without events in
307  // the peripheral portion. ModularExtrap will then just return the FD MC
308  // for the background prediction for our background. That may be good
309  // enough, or we'll have to rethink.
310  extern const Var kNue2017SelectionBin;
311  extern const Var kNue2017AnaBin;
312  extern const Binning kNue2017Binning;
313  extern const HistAxis kNue2017Axis;
314 
315  // Similarly, for merging the peripheral sample into a single bin, we need
316  // a new var / HistAxis. Since the nominal analysis will need to extrap the
317  // beam bkgd in reco-E, we need to extrap in energy and merge later, but for
318  // simple studies, this is useful
322 
323 
324  ///////////////////////////////////////////////////////////////////////////
325  // //
326  // ----------------------- MRE specific cuts ----------------------- //
327  // //
328  ///////////////////////////////////////////////////////////////////////////
329 
330 
331  // TODO: numu's probably changing their selection to include CVN, we'll
332  // need to update this cut
333  // This cut needs to be applied to the mre events, in addition to nue
334  // selection cuts. It makes sure that the parent of the mre event was
335  // a valid numu CC candidate
337 }
const Cut kNue2017CVNVsCosPIDPeripheralLP
Definition: NueCuts2017.h:176
const Cut kNue2017MRParentSliceCut([](const caf::SRProxy *sr){const caf::SRMRCCParentProxy &parent=sr->parent.mrccpar;if(parent.eff< 0.9||parent.pur< 0.9) return false;if(parent.remid< 0.75) return false;if(parent.numuE< 0|| parent.nhit< 20|| parent.contplanes< 5) return false;if(parent.firstplane< 2 || parent.lastplane > 211|| parent.muonstop.Z() > 1275|| parent.muonfwdcell< 5 || parent.muonbkcell< 9 || parent.hadEinmucat > 0.03) return false;return true;})
Definition: NueCuts2017.h:336
const Cut kNearestSliceCosRejCore([](const caf::SRProxy *sr){if(kCVNe(sr) > 0.75 &&kCVNe(sr)< 0.87){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&& sr->slc.closestsliceminfromtop< 400 &&sr->slc.closestslicemindist< 500.);}if(kCVNe(sr) > 0.87){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&& sr->slc.closestsliceminfromtop< 50 &&sr->slc.closestslicemindist< 500.);}return false;})
Definition: NueCuts2017.h:127
const Cut kNue2017CorePart
Cuts which define the "core" sample and are reversed for the "peripheral" sample. ...
Definition: NueCuts2017.h:94
Represent the binning of a Spectrum&#39;s x-axis.
Definition: Binning.h:16
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var kDistAllBottom([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngbottom)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngbottom);})
Distance of all showers in slice from the bottom edge of detector.
Definition: NueVars.h:33
const Cut kNue2017Veto([](const caf::SRProxy *sr){return sr->sel.veto.keep;})
cosmic veto cut for FD
Definition: NueCuts2017.h:43
const Cut kNue2017NDEnergy
Definition: NueCuts2017.h:271
const Var kCVNe
PID
Definition: Vars.cxx:35
const Var kDistAllWest([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngwest)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngwest);})
Distance of all showers in slice from the west edge of detector.
Definition: NueVars.h:36
const Var kDistAllTop([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngtop)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngtop);})
Distance of all showers in slice from the top edge of detector.
Definition: NueVars.h:30
const Var kDistAllBack([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngback)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngback);})
Distance of all showers in slice from the back edge of detector.
Definition: NueVars.h:42
Proxy for caf::StandardRecord.
Definition: SRProxy.h:2126
const Cut kNue2017BasicPart(kNue2017BasicPartFunc)
const Cut kNue2017FDPeripheralLPsideband
Definition of the FD peripheral Low PID.
Definition: NueCuts2017.h:195
const Var kCosPIDContain
Definition: NueVars.cxx:110
const Cut kNue2017Presel
Definition: NueCuts2017.h:54
const Cut kNue2017FDHE
FD nue selection for "core" HE sample.
Definition: NueCuts2017.h:238
const Cut kNue2017CVNVsCosPID
Definition: NueCuts2017.h:146
const Cut kNueDQ2017CVN([](const caf::SRProxy *sr){if(sr->sel.nuecosrej.hitsperplane >=8) return false;if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.npng==0) return false;return true;})
Definition: NueCuts2017.h:28
const Cut kNue2017NDCVNSsb
Definition: NueCuts2017.h:302
const Cut kNue2017PreselHE
Definition: NueCuts2017.h:219
const Cut kNue2017ProngContainment
FD containment cuts, inherited from Second Analysis.
Definition: NueCuts2017.h:79
const Cut kNue2017FD
Full FD nue selection for 2017 analysis.
Definition: NueCuts2017.h:130
const Binning kNue2017Binning
const Cut kIsFarDet([](const caf::SRProxy *sr){return sr->hdr.det==caf::kFARDET;})
Definition: Cuts.h:94
const Cut kNue2017NDProngLength
Definition: NueCuts2017.h:277
const Cut kNue2017FDPeripheralHELPsideband
Definition of the FD peripheral High Energy Low PID.
Definition: NueCuts2017.h:183
const Cut kNue2017FDLP
FD nue selection for 2017 low PID sideband.
Definition: NueCuts2017.h:247
const Cut kNue2017PtPCutLID
Somewhat tighter p_t/P vs maxy cuts suitable for use with LID.
Definition: NueCuts2017.h:76
const Cut kNue2017FDPeripheralHEMPsideband
Definition of the FD peripheral High Energy Mid PID.
Definition: NueCuts2017.h:189
const Var kSparsenessAsymm
Definition: NueVars.cxx:92
const Var kDistAllEast([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngeast)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngeast);})
Distance of all showers in slice from the east edge of detector.
Definition: NueVars.h:39
const Cut kNue2017FullPreselBDTCosRej
Full FD nue preselection cuts for 2017 analysis with BDT-based CosRej.
Definition: NueCuts2017.h:120
const Var kPtP
Transverse momentum fraction in slice.
Definition: NueVars.cxx:90
const Cut kNue2017CVNVsCosPIDPeripheralMP
Definition: NueCuts2017.h:173
const Cut kNearestSliceCosRejPeripheral([](const caf::SRProxy *sr){if(kNue2017PeripheralPresel(sr)&&kNue2017CVNVsCosPID(sr)){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&& sr->slc.closestsliceminfromtop< 50 &&sr->slc.closestslicemindist< 500.);}return false;})
Definition: NueCuts2017.h:149
const Cut kNue2017CVNCut
Close to the s/sqrt(s+b) optimization. TODO: DocDB reference?
Definition: NueCuts2017.h:34
const Var kNueEnergy2017([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1.0;if(sr->vtx.elastic.fuzzyk.npng< 1) return-1.0;return NueRecoE_2017FDFit(kCVNemE(sr), kCVNhadE(sr));})
Definition: NueEnergy2017.h:11
const Var kMaxY([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-1000.0f;if(sr->vtx.elastic.fuzzyk.nshwlid==0) return-1000.0f;float maxyall=-999.0;for(unsigned int i=0;i< sr->vtx.elastic.fuzzyk.nshwlid;i++){maxyall=std::max(std::max(sr->vtx.elastic.fuzzyk.png[i].shwlid.start.Y(), sr->vtx.elastic.fuzzyk.png[i].shwlid.stop.Y()), maxyall);}return maxyall;})
Definition: NueVars.h:60
const Cut kNue2017NDNHits
Definition: NueCuts2017.h:265
const Var kLongestProng([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return 0.f;if(sr->vtx.elastic.fuzzyk.npng==0) return 0.f;auto idx=sr->vtx.elastic.fuzzyk.longestidx;return float(sr->vtx.elastic.fuzzyk.png[idx].len);})
Definition: Vars.h:89
const Var kNHit
Definition: Vars.cxx:71
const Cut kNue2017FDPeripheral
Definition of the FD peripheral sample around our core selected events.
Definition: NueCuts2017.h:152
const Cut kNue2017CorePreselHE
Preselection for 2017 "core" HE sample with Cut-based CosRej.
Definition: NueCuts2017.h:235
caf::StandardRecord * sr
const Cut kNueDQ2017LID([](const caf::SRProxy *sr){if(sr->sel.nuecosrej.hitsperplane >=8) return false;if(!sr->vtx.elastic.IsValid) return false;if(sr->vtx.elastic.fuzzyk.npng==0) return false;if(sr->vtx.elastic.fuzzyk.nshwlid==0) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx<=5||sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity<=5) return false;if(sr->vtx.elastic.fuzzyk.png[0].shwlid.gap > 100) return false; if(sr->vtx.elastic.fuzzyk.nshwlid >=2){if((sr->vtx.elastic.fuzzyk.png[0].shwlid.dir). Dot(sr->vtx.elastic.fuzzyk.png[1].shwlid.dir)< -0.95) return false;}float xyhitdiff=abs(sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx-sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity);float xyhitsum=sr->vtx.elastic.fuzzyk.png[0].shwlid.nhitx+sr->vtx.elastic.fuzzyk.png[0].shwlid.nhity;if(xyhitdiff/xyhitsum >=0.4) return false;float nhitall=0.0;for(unsigned int j=0;j< sr->vtx.elastic.fuzzyk.nshwlid;j++){nhitall+=sr->vtx.elastic.fuzzyk.png[j].shwlid.nhit;}if(nhitall/sr->slc.nhit<=0.7) return false;return true;})
Definition: NueCuts2017.h:31
const Cut kNue2017PeripheralPreselHE
Definition: NueCuts2017.h:166
const Cut kNue2017NDFrontPlanes
No hits in the first 5 planes of the detector, doc 12879.
bool kNue2017BasicPartFunc(const caf::SRProxy *sr)
Definition: NueCuts2017.cxx:12
const Var kCosPID
Definition: NueVars.cxx:109
const Cut kNue2017PeripheralPresel
Definition: NueCuts2017.h:110
const HistAxis kNue2017Axis("NuE Energy / Analysis Bin", kNue2017Binning, kNue2017AnaBin)
Definition: NueCuts2017.h:313
const Var kNue2017SelectionBin([](const caf::SRProxy *sr){bool isPeri=kNue2017FDPeripheral(sr);if(isPeri) return float(3.5);if(kCVNe(sr) > 0.75 &&kCVNe(sr)< 0.87) return float(0.5);if(kCVNe(sr) > 0.87 &&kCVNe(sr)< 0.95) return float(1.5);if(kCVNe(sr) > 0.95) return float(2.5);return float(-0.5);})
Definition: NueCuts2017.h:310
const Cut kNue2017NDPresel
Definition: NueCuts2017.h:285
const Cut kNue2017FDPeripheralHEsideband
Definition of the FD peripheral High Energy sideband.
Definition: NueCuts2017.h:207
const Cut kNue2017BackwardCut
FD backward cosmic photon rejection cut, inherited from Second Analysis.
Definition: NueCuts2017.h:88
const Var kNue2017AnaBin([](const caf::SRProxy *sr){int selBin=kNue2017SelectionBin(sr);float nuE=kNueEnergy2017(sr);int nuEBin=nuE/0.5;assert(nuEBin<=8 &&"An event with nuE > 4.5 should never happen");int anaBin=9 *selBin+nuEBin;return anaBin;})
Definition: NueCuts2017.h:311
const Var kDistAllFront([](const caf::SRProxy *sr){if(std::isnan(1.*sr->sel.nuecosrej.distallpngfront)) return-1000.0f;return float(sr->sel.nuecosrej.distallpngfront);})
Distance of all showers in slice from the front edge of detector.
Definition: NueVars.h:45
const Var kNue2017AnaBinMergedPeripheral([](const caf::SRProxy *sr){int anaBin=kNue2017AnaBin(sr);anaBin=anaBin > 27?29:anaBin;return anaBin;})
Definition: NueCuts2017.h:319
Collect information describing the x-axis of an analysis histogram.
Definition: HistAxis.h:18
const Cut kNue2017FDPeripheralMPsideband
Definition of the FD peripheral Mid PID.
Definition: NueCuts2017.h:201
const Binning kNue2017BinningMergedPeripheral
const Cut kNue2017NDNHitsHE
Definition: NueCuts2017.h:268
const Cut kNue2017NDContain([](const caf::SRProxy *sr){for(unsigned int ix=0;ix< sr->vtx.elastic.fuzzyk.nshwlid;++ix){TVector3 start=sr->vtx.elastic.fuzzyk.png[ix].shwlid.start;TVector3 stop=sr->vtx.elastic.fuzzyk.png[ix].shwlid.stop;if(std::min(start.X(), stop.X())< -170.0) return false;if(std::max(start.X(), stop.X()) > 170.0) return false;if(std::min(start.Y(), stop.Y())< -170.0) return false;if(std::max(start.Y(), stop.Y()) > 170.0) return false;if(std::min(start.Z(), stop.Z())< 100.0) return false;if(std::max(start.Z(), stop.Z()) > 1225.0) return false;}return true;})
Loose containtment on start and end of all showers, docdb-12943.
Definition: NueCuts2017.h:259
const Cut kNue2017CorePresel
Full preselection for 2017 "core" sample with Cut-based CosRej.
Definition: NueCuts2017.h:105
const Cut kNue2017CVNCutLP
Low PID cut for core sidebands.
Definition: NueCuts2017.h:244
const Cut kNearestSliceCosRejCoreSideband([](const caf::SRProxy *sr){if(kCVNe(sr) > 0.5 &&kCVNe(sr)< 0.87){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&& sr->slc.closestsliceminfromtop< 400 &&sr->slc.closestslicemindist< 500.);}if(kCVNe(sr) > 0.87){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&&sr->slc.closestsliceminfromtop< 50 &&sr->slc.closestslicemindist< 500.);}return false;})
CosRej for the core sidebands.
Definition: NueCuts2017.h:232
const Cut kNue2017CorePartHE
Cuts which define the "core" HE sample and are reversed for the "peripheral" sample.
Definition: NueCuts2017.h:225
const Cut kNueFD2017DecafCut
Definition: NueCuts2017.h:157
const Cut kNue2017BDTContainment
Lowest BDT value used in Matryoshka binning DocDB 19724. Not finalized.
Definition: NueCuts2017.h:117
Template for Cut and SpillCut.
Definition: Cut.h:15
const Cut kNue2017NDEnergyHE
Definition: NueCuts2017.h:274
const Cut kNueND2017DecafCut
Definition: NueCuts2017.h:280
const Cut kNue2017PtPCutCVN
Definition: NueCuts2017.h:72
const Cut kNue2017NDPreselHE
Definition: NueCuts2017.h:293
const Cut kNearestSliceCosRejPeripheralSideband([](const caf::SRProxy *sr){return!(sr->slc.closestslicetime >-100.&&sr->slc.closestslicetime< 100.&& sr->slc.closestsliceminfromtop< 50 &&sr->slc.closestslicemindist< 500.);})
Definition: NueCuts2017.h:180
const HistAxis kNue2017AxisMergedPeripheral("NuE Energy / Analysis Bin", kNue2017BinningMergedPeripheral, kNue2017AnaBinMergedPeripheral)
Definition: NueCuts2017.h:321
const Cut kNue2017FDAllSamplesHEsidebands
All samples - High energy sideband.
Definition: NueCuts2017.h:241
const Cut kNue2017FDAllSamples
Our FD selection including all samples, for making predictions, etc.
Definition: NueCuts2017.h:155
const Cut kNue2017NDFiducial([](const caf::SRProxy *sr){assert(sr->vtx.elastic.IsValid &&"Must apply DQ cuts");if(sr->vtx.elastic.vtx.X()< -100.0) return false;if(sr->vtx.elastic.vtx.X() > 160.0) return false;if(sr->vtx.elastic.vtx.Y()< -160.0) return false;if(sr->vtx.elastic.vtx.Y() > 100.0) return false;if(sr->vtx.elastic.vtx.Z()< 150.0) return false;if(sr->vtx.elastic.vtx.Z() > 900.0) return false;return true;})
Cut on ND vertex position.
Definition: NueCuts2017.h:256