WrongSignBDTVars.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "CAFAna/Core/Var.h"
4 
5 namespace ana
6 {
7 
9  {
10  public:
12  float operator() (const caf::SRProxy* sr) const;
13  protected:
14  void InitTMVA() const;
15 
16  };
17 
19 
20  // Apply to numu selected events
22  {
23  public:
25  float operator() (const caf::SRProxy* sr) const;
26  protected:
27  void InitTMVA() const;
28 
29  };
30 
32 
34  {
35  public:
37  float operator() (const caf::SRProxy* sr) const;
38  protected:
39  void InitTMVA() const;
40 
41  };
42 
44 
46  {
47  public:
49  float operator() (const caf::SRProxy* sr) const;
50  protected:
51  void InitTMVA() const;
52 
53  };
54 
56 
57  extern const Var kStretch;
58  extern const Var kEthetaSqr;
59  extern const Var kInElasticity;
60  extern const Var kNumuHadVisEFrac;
61  extern const Var kNumuHadEFrac;
62  extern const Var kLeptonAngle;
63 
64  extern const Var kPrimDedx0;
65  extern const Var kPrimDedx1;
66 
67  extern const Var kPrimAvgDedx;
68  extern const Var kSecAvgDedx;
69 
70  extern const Var kSecShwGap;
71  extern const Var kSecShwLen;
72 
73  extern const Var kNProng;
74 }
const Var kEthetaSqr([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5.;if(sr->vtx.elastic.fuzzyk.png.size()==0) return-5.;return(double)(sr->vtx.elastic.fuzzyk.png[0].calE *std::pow(acos(sr->vtx.elastic.fuzzyk.png[0].dir.z), 2));})
const Var kInElasticity([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return 1.f;if(sr->vtx.elastic.fuzzyk.nshwlid< 1) return 1.f;return((sr->slc.calE- sr->vtx.elastic.fuzzyk.png[0].shwlid.calE)/(sr->slc.calE));})
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var kSecAvgDedx([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5.;if(sr->vtx.elastic.fuzzyk.nshwlid< 2) return 0.;if(sr->vtx.elastic.fuzzyk.npng< 2) return 0.;if(sr->vtx.elastic.fuzzyk.png[1].len< 1e-10) return-5.;return(double)(sr->vtx.elastic.fuzzyk.png[1].calE/sr->vtx.elastic.fuzzyk.png[1].len);})
const Var kLeptonAngle([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5.;if(sr->vtx.elastic.fuzzyk.png.size()==0) return-5.;return(double) acos(sr->vtx.elastic.fuzzyk.png[0].dir.z)*180./M_PI;})
const Var kNumuHadVisEFrac([](const caf::SRProxy *sr){if(sr->slc.calE==0) return-5.;return(double)(sr->energy.numu.hadcalE+sr->energy.numu.hadtrkE)/(sr->slc.calE);})
Proxy for caf::StandardRecord.
Definition: SRProxy.h:2126
const Var kAntiNueBDTCVN
void InitTMVA() const
const Var kPrimDedx0
_Var< caf::SRProxy > Var
Definition: Var.h:7
const Var kAntiNumuBDT
caf::StandardRecord * sr
const Var kAntiNueBDT
const Var kNProng
float operator()(const caf::SRProxy *sr) const
const Var kSecShwLen
const Var kNumuHadEFrac([](const caf::SRProxy *sr){if(sr->slc.calE==0) return-5.;return(double)(sr->energy.numu.hadcalE)/(sr->slc.calE);})
const Var kAntiNumuBDTCVN
const Var kPrimAvgDedx
const Var kStretch([](const caf::SRProxy *sr){if(sr->slc.meanpos.z==sr->slc.boxmin.z) return-5.;return(double)((sr->slc.boxmax.z-sr->slc.meanpos.z)/(sr->slc.meanpos.z-sr->slc.boxmin.z));})
const Var kSecShwGap([](const caf::SRProxy *sr){if(!sr->vtx.elastic.IsValid) return-5.;if(sr->vtx.elastic.fuzzyk.nshwlid< 1) return-5.;if(sr->vtx.elastic.fuzzyk.nshwlid< 2) return(double) sr->vtx.elastic.fuzzyk.png[0].shwlid.gap;return double(sr->vtx.elastic.fuzzyk.png[1].shwlid.gap);})
const Var kPrimDedx1