Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ana::BENDecomp Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-12-02/3FlavorAna/Decomp/BENDecomp.h"

Inheritance diagram for ana::BENDecomp:
ana::IDecomp

Public Types

enum  EBENFixedKa { kFixedKaonScale }
 
enum  EBENCalcKa { kCalcKaonScale }
 

Public Member Functions

 BENDecomp (SpectrumLoaderBase &loaderMC, SpectrumLoaderBase &loaderData, const HistAxis &axis, const Cut &cut, const SystShifts &shiftMC=kNoShift, const SystShifts &shiftData=kNoShift, const Var &wei=kUnweighted, const HistAxis &axisNumuPi=kNumuNonQEBENAxis, const Cut &cutNumuPi=kBENPiNumuCut, const double kaonNormalization=1.17)
 
 BENDecomp (Loaders &loaders, const HistAxis &axis, const Cut &cut, const SystShifts &shiftMC=kNoShift, const SystShifts &shiftData=kNoShift, const Var &wei=kUnweighted, const HistAxis &axisNumuPi=kNumuNonQEBENAxis, const Cut &cutNumuPi=kBENPiNumuCut, const double kaonNormalization=1.17)
 
 BENDecomp (EBENCalcKa, SpectrumLoaderBase &loaderMC, SpectrumLoaderBase &loaderData, const HistAxis &axis, const Cut &cut, const SystShifts &shiftMC=kNoShift, const SystShifts &shiftData=kNoShift, const Var &wei=kUnweighted, const HistAxis &axisNumuPi=kNumuNonQEBENAxis, const Cut &cutNumuPi=kBENPiNumuCut, const HistAxis &axisNumuKa=kNumuCCAxisExtended, const Cut &cutNumuKa=kBENKaNumuCut)
 
 BENDecomp (EBENCalcKa, Loaders &loaders, const HistAxis &axis, const Cut &cut, const SystShifts &shiftMC=kNoShift, const SystShifts &shiftData=kNoShift, const Var &wei=kUnweighted, const HistAxis &axisNumuPi=kNumuNonQEBENAxis, const Cut &cutNumuPi=kBENPiNumuCut, const HistAxis &axisNumuKa=kNumuCCAxisExtended, const Cut &cutNumuKa=kBENKaNumuCut)
 
virtual ~BENDecomp ()
 
Spectrum NumuComponent () const override
 
Spectrum AntiNumuComponent () const override
 
Spectrum NCTotalComponent () const override
 
Spectrum NCComponent () const override
 
Spectrum NCAntiComponent () const override
 
Spectrum NueComponent () const override
 
Spectrum AntiNueComponent () const override
 
Spectrum Data_Component () const override
 
Spectrum MC_NCTotalComponent () const override
 
Spectrum MC_NumuComponent () const override
 
Spectrum MC_AntiNumuComponent () const override
 
Spectrum MC_NueComponent () const override
 
Spectrum MC_AntiNueComponent () const override
 
void SaveTo (TDirectory *dir, const std::string &name) const override
 
void SavePlotsPi (TDirectory *dir)
 
void SavePlotsKa (TDirectory *dir)
 
void SavePlots (TDirectory *dir)
 
TH2 * GetPionWeights () const
 
double GetKaonScale () const
 
Spectrum NuePiEstimate ()
 
Spectrum NueKaEstimate ()
 
virtual Spectrum MC_NCComponent () const
 
virtual Spectrum MC_NCAntiComponent () const
 

Static Public Member Functions

static std::unique_ptr< BENDecompLoadFrom (TDirectory *dir, const std::string &name)
 
static void ReduceForBEN2020Decaf (caf::StandardRecord *sr, const caf::SRProxy *srProxy)
 

Protected Member Functions

 BENDecomp ()
 
void Decompose () const
 
void MakeWeightsNumuFromPion () const
 
void MakeWeightsNumuFromKaon () const
 
virtual Spectrum NueEstimate () const
 
void NueEstimateFromPi () const
 
void NueEstimateFromKa () const
 
void NueEstimateFromOther () const
 

Protected Attributes

Spectrum fData
 
Spectrum fNCTot
 
Spectrum fNue
 
Spectrum fAntiNue
 
Spectrum fNumu
 
Spectrum fAntiNumu
 
Spectrum fTotal
 
Spectrum fNotNue
 
Spectrum fNueCCFromPi
 
Spectrum fNueCCFromKa
 
Spectrum fNueCCFromOther
 
Spectrum fNueCCFromPiPtPz
 
Spectrum fNumuSelData
 
Spectrum fNumuSelBkg
 
Spectrum fNumuSelCCFromPi
 
Spectrum fNumuSelCCFromKa
 
Spectrum fNumuSelCCFromOther
 
Spectrum fNumuSelCCFromPiPtPz
 
Spectrum fNumuUncontainData
 
Spectrum fNumuUncontainBkg
 
Spectrum fNumuUncontainCCFromPi
 
Spectrum fNumuUncontainCCFromKa
 
Spectrum fNumuUncontainCCFromOther
 
Spectrum fNueCCFromPiEstim
 
Spectrum fNueCCFromKaEstim
 
bool fIsDecomposed
 
TH2 * fNumuPiWeights
 
bool fIsFixedKaScale
 
double fKaonNormalization
 

Detailed Description

Definition at line 27 of file BENDecomp.h.

Member Enumeration Documentation

Enumerator
kCalcKaonScale 

Definition at line 33 of file BENDecomp.h.

Enumerator
kFixedKaonScale 

Definition at line 32 of file BENDecomp.h.

Constructor & Destructor Documentation

ana::BENDecomp::BENDecomp ( SpectrumLoaderBase loaderMC,
SpectrumLoaderBase loaderData,
const HistAxis axis,
const Cut cut,
const SystShifts shiftMC = kNoShift,
const SystShifts shiftData = kNoShift,
const Var wei = kUnweighted,
const HistAxis axisNumuPi = kNumuNonQEBENAxis,
const Cut cutNumuPi = kBENPiNumuCut,
const double  kaonNormalization = 1.17 
)

Definition at line 43 of file BENDecomp.cxx.

54  : fData (loaderData, axis, cut, shiftData, wei),
55  fNCTot (loaderMC, axis, cut && kIsNC, shiftMC, wei),
56  fNue (loaderMC, axis, cut && kIsBeamNue&&!kIsAntiNu, shiftMC, wei),
57  fAntiNue (loaderMC, axis, cut && kIsBeamNue&& kIsAntiNu, shiftMC, wei),
58  fNumu (loaderMC, axis, cut && kIsNumuCC &&!kIsAntiNu, shiftMC, wei),
59  fAntiNumu(loaderMC, axis, cut && kIsNumuCC && kIsAntiNu, shiftMC, wei),
60  fTotal (loaderMC, axis, cut && kHasNu, shiftMC, wei),
61  fNotNue (loaderMC, axis, cut && kHasNu && !(kIsBeamNue && !kIsAntiNu), shiftMC, wei),
62 
63  fNueCCFromPi (loaderMC, axis, cut && kIsNueCCFromPiDk, shiftMC, wei),
64  fNueCCFromKa (loaderMC, axis, cut && kIsNueCCFromKaDk, shiftMC, wei),
65  fNueCCFromOther (loaderMC, axis, cut && kIsNueCCNotFromPiDk && kIsNueCCNotFromKaDk, shiftMC, wei),
67 
68  fNumuSelData (loaderData, axisNumuPi, cutNumuPi, shiftData, wei),
69  fNumuSelBkg (loaderMC, axisNumuPi, cutNumuPi && (!kIsNumuCC || kIsAntiNu), shiftMC, wei),
70  fNumuSelCCFromPi (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCFromPiDk, shiftMC, wei),
71  fNumuSelCCFromKa (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCFromKaDk, shiftMC, wei),
72  fNumuSelCCFromOther (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCNotFromPiDk && kIsNumuCCNotFromKaDk,shiftMC, wei),
73  fNumuSelCCFromPiPtPz(loaderMC, ktpzAxis, ktpTAxis, axisNumuPi, cutNumuPi && kIsNumuCCFromPiDk, shiftMC, wei, Spectrum::kSparse),
74 
80 
83 
84  fIsDecomposed(false),
85  fNumuPiWeights(0),
86  fIsFixedKaScale(true),
87  fKaonNormalization(kaonNormalization)
88  {}
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
const Cut kIsNumuCC(CCFlavSel(14, 14))
Select CC .
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
const Cut kIsNumuCCNotFromKaDk
Definition: BeamNueCuts.h:48
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
const Cut kIsNueCCFromPiDk
Definition: BeamNueCuts.h:44
Spectrum fAntiNumu
Definition: BENDecomp.h:172
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
const Cut kIsAntiNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return sr->mc.nu[0].pdg< 0;})
Is this truly an antineutrino?
Definition: TruthCuts.h:53
const Cut kIsBeamNue(CCFlavSel(12, 12))
Select CC .
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
const HistAxis ktpzAxis("Ancestor target forward momentum tpz (GeV/c)", Binning::Simple(60, 0, 60), kTruetpz)
Definition: HistAxes.h:15
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fTotal
Definition: BENDecomp.h:173
Spectrum fData
Definition: BENDecomp.h:167
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
static Spectrum Uninitialized()
Definition: Spectrum.h:145
const Cut kIsNumuCCNotFromPiDk
Definition: BeamNueCuts.h:43
const Cut kIsNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return!sr->mc.nu[0].iscc;})
Is this a Neutral Current event?
Definition: TruthCuts.h:8
Spectrum fNumuSelData
Definition: BENDecomp.h:181
const Cut kIsNueCCFromKaDk
Definition: BeamNueCuts.h:49
const Cut kIsNumuCCFromPiDk
Definition: BeamNueCuts.h:42
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
const Cut cut
Definition: exporter_fd.C:30
const HistAxis ktpTAxis("Ancestor target transv. momentum tpT (GeV/c)", Binning::Simple(10, 0, 1), kTruetpT)
Axes used in Beam Nue Decomposition.
Definition: HistAxes.h:14
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
const Cut kHasNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return true;})
Definition: TruthCuts.h:56
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
const Cut kIsNueCCNotFromKaDk
Definition: BeamNueCuts.h:50
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumu
Definition: BENDecomp.h:171
const Cut kIsNumuCCFromKaDk
Definition: BeamNueCuts.h:47
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum fNCTot
Definition: BENDecomp.h:168
const Cut kIsNueCCNotFromPiDk
Definition: BeamNueCuts.h:45
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
Spectrum fNue
Definition: BENDecomp.h:169
ana::BENDecomp::BENDecomp ( Loaders loaders,
const HistAxis axis,
const Cut cut,
const SystShifts shiftMC = kNoShift,
const SystShifts shiftData = kNoShift,
const Var wei = kUnweighted,
const HistAxis axisNumuPi = kNumuNonQEBENAxis,
const Cut cutNumuPi = kBENPiNumuCut,
const double  kaonNormalization = 1.17 
)

Definition at line 90 of file BENDecomp.cxx.

102  axis, cut, shiftMC, shiftData, wei,
103  axisNumuPi, cutNumuPi, kaonNormalization)
104  {}
Near Detector underground.
Definition: SREnums.h:10
const Cut cut
Definition: exporter_fd.C:30
std::vector< Loaders * > loaders
Definition: syst_header.h:386
ana::BENDecomp::BENDecomp ( EBENCalcKa  kaopt,
SpectrumLoaderBase loaderMC,
SpectrumLoaderBase loaderData,
const HistAxis axis,
const Cut cut,
const SystShifts shiftMC = kNoShift,
const SystShifts shiftData = kNoShift,
const Var wei = kUnweighted,
const HistAxis axisNumuPi = kNumuNonQEBENAxis,
const Cut cutNumuPi = kBENPiNumuCut,
const HistAxis axisNumuKa = kNumuCCAxisExtended,
const Cut cutNumuKa = kBENKaNumuCut 
)

Definition at line 106 of file BENDecomp.cxx.

119  : fData (loaderData, axis, cut, shiftData, wei),
120  fNCTot (loaderMC, axis, cut && kIsNC, shiftMC, wei),
121  fNue (loaderMC, axis, cut && kIsBeamNue&&!kIsAntiNu, shiftMC, wei),
122  fAntiNue (loaderMC, axis, cut && kIsBeamNue&& kIsAntiNu, shiftMC, wei),
123  fNumu (loaderMC, axis, cut && kIsNumuCC &&!kIsAntiNu, shiftMC, wei),
124  fAntiNumu(loaderMC, axis, cut && kIsNumuCC && kIsAntiNu, shiftMC, wei),
125  fTotal (loaderMC, axis, cut && kHasNu, shiftMC, wei),
126  fNotNue (loaderMC, axis, cut && !(kIsBeamNue && !kIsAntiNu) && kHasNu, shiftMC, wei),
127 
128  fNueCCFromPi (loaderMC, axis, cut && kIsNueCCFromPiDk, shiftMC, wei),
129  fNueCCFromKa (loaderMC, axis, cut && kIsNueCCFromKaDk, shiftMC, wei),
130  fNueCCFromOther (loaderMC, axis, cut && kIsNueCCNotFromPiDk && kIsNueCCNotFromKaDk, shiftMC, wei),
132 
133  fNumuSelData (loaderData, axisNumuPi, cutNumuPi, shiftData, wei),
134  fNumuSelBkg (loaderMC, axisNumuPi, cutNumuPi && (!kIsNumuCC || kIsAntiNu), shiftMC, wei),
135  fNumuSelCCFromPi (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCFromPiDk, shiftMC, wei),
136  fNumuSelCCFromKa (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCFromKaDk, shiftMC, wei),
137  fNumuSelCCFromOther (loaderMC, axisNumuPi, cutNumuPi && kIsNumuCCNotFromPiDk && kIsNumuCCNotFromKaDk,shiftMC, wei),
138  fNumuSelCCFromPiPtPz(loaderMC, ktpzAxis, ktpTAxis, axisNumuPi, cutNumuPi && kIsNumuCCFromPiDk, shiftMC, wei, Spectrum::kSparse),
139 
140  fNumuUncontainData(loaderData, axisNumuKa, cutNumuKa, shiftData, wei),
141  fNumuUncontainBkg (loaderMC, axisNumuKa, cutNumuKa && (!kIsNumuCC || kIsAntiNu), shiftMC, wei),
142  fNumuUncontainCCFromPi(loaderMC, axisNumuKa, cutNumuKa && kIsNumuCCFromPiDk, shiftMC, wei),
143  fNumuUncontainCCFromKa(loaderMC, axisNumuKa, cutNumuKa && kIsNumuCCFromKaDk, shiftMC, wei),
144  fNumuUncontainCCFromOther(loaderMC, axisNumuKa, cutNumuKa && kIsNumuCCNotFromPiDk && kIsNumuCCNotFromKaDk, shiftMC, wei),
145 
148 
149  fIsDecomposed(false),
150  fNumuPiWeights(0),
151  fIsFixedKaScale(false),
153  {}
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
const Cut kIsNumuCC(CCFlavSel(14, 14))
Select CC .
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
const Cut kIsNumuCCNotFromKaDk
Definition: BeamNueCuts.h:48
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
const Cut kIsNueCCFromPiDk
Definition: BeamNueCuts.h:44
Spectrum fAntiNumu
Definition: BENDecomp.h:172
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
const Cut kIsAntiNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return sr->mc.nu[0].pdg< 0;})
Is this truly an antineutrino?
Definition: TruthCuts.h:53
const Cut kIsBeamNue(CCFlavSel(12, 12))
Select CC .
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
const HistAxis ktpzAxis("Ancestor target forward momentum tpz (GeV/c)", Binning::Simple(60, 0, 60), kTruetpz)
Definition: HistAxes.h:15
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fTotal
Definition: BENDecomp.h:173
Spectrum fData
Definition: BENDecomp.h:167
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
static Spectrum Uninitialized()
Definition: Spectrum.h:145
const Cut kIsNumuCCNotFromPiDk
Definition: BeamNueCuts.h:43
const Cut kIsNC([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return!sr->mc.nu[0].iscc;})
Is this a Neutral Current event?
Definition: TruthCuts.h:8
Spectrum fNumuSelData
Definition: BENDecomp.h:181
const Cut kIsNueCCFromKaDk
Definition: BeamNueCuts.h:49
const Cut kIsNumuCCFromPiDk
Definition: BeamNueCuts.h:42
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
const Cut cut
Definition: exporter_fd.C:30
const HistAxis ktpTAxis("Ancestor target transv. momentum tpT (GeV/c)", Binning::Simple(10, 0, 1), kTruetpT)
Axes used in Beam Nue Decomposition.
Definition: HistAxes.h:14
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
const Cut kHasNu([](const caf::SRProxy *sr){if(sr->mc.nnu==0) return false;assert(sr->mc.nnu==1);return true;})
Definition: TruthCuts.h:56
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
const Cut kIsNueCCNotFromKaDk
Definition: BeamNueCuts.h:50
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumu
Definition: BENDecomp.h:171
const Cut kIsNumuCCFromKaDk
Definition: BeamNueCuts.h:47
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum fNCTot
Definition: BENDecomp.h:168
const Cut kIsNueCCNotFromPiDk
Definition: BeamNueCuts.h:45
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
Spectrum fNue
Definition: BENDecomp.h:169
ana::BENDecomp::BENDecomp ( EBENCalcKa  kaopt,
Loaders loaders,
const HistAxis axis,
const Cut cut,
const SystShifts shiftMC = kNoShift,
const SystShifts shiftData = kNoShift,
const Var wei = kUnweighted,
const HistAxis axisNumuPi = kNumuNonQEBENAxis,
const Cut cutNumuPi = kBENPiNumuCut,
const HistAxis axisNumuKa = kNumuCCAxisExtended,
const Cut cutNumuKa = kBENKaNumuCut 
)

Definition at line 155 of file BENDecomp.cxx.

167  : BENDecomp(kaopt ,
168  loaders.GetLoader(caf::kNEARDET, Loaders::kMC),
170  axis, cut, shiftMC, shiftData, wei,
171  axisNumuPi, cutNumuPi, axisNumuKa, cutNumuKa)
172  {}
Near Detector underground.
Definition: SREnums.h:10
const Cut cut
Definition: exporter_fd.C:30
std::vector< Loaders * > loaders
Definition: syst_header.h:386
ana::BENDecomp::~BENDecomp ( )
virtual

Definition at line 205 of file BENDecomp.cxx.

References fNumuPiWeights.

206  {
207  delete fNumuPiWeights;
208  }
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
ana::BENDecomp::BENDecomp ( )
inlineprotected

Definition at line 123 of file BENDecomp.h.

References Decompose(), MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), NueEstimate(), NueEstimateFromKa(), NueEstimateFromOther(), and NueEstimateFromPi().

132 
137 
144 
150 
153  fIsDecomposed(0),
154  fIsFixedKaScale(0),
156  {};
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
Spectrum fAntiNumu
Definition: BENDecomp.h:172
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fTotal
Definition: BENDecomp.h:173
Spectrum fData
Definition: BENDecomp.h:167
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
static Spectrum Uninitialized()
Definition: Spectrum.h:145
Spectrum fNumuSelData
Definition: BENDecomp.h:181
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumu
Definition: BENDecomp.h:171
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum fNCTot
Definition: BENDecomp.h:168
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
Spectrum fNue
Definition: BENDecomp.h:169

Member Function Documentation

Spectrum ana::BENDecomp::AntiNueComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 377 of file BENDecomp.cxx.

References Decompose(), fAntiNue, fData, fIsDecomposed, fNotNue, and NueEstimate().

Referenced by CompareDecompDataMC().

378  {
379  if(!fIsDecomposed)
380  Decompose();
381  return (fData - NueEstimate())*(fAntiNue/fNotNue);
382  }
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fData
Definition: BENDecomp.h:167
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum ana::BENDecomp::AntiNumuComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 337 of file BENDecomp.cxx.

References Decompose(), fAntiNumu, fData, fIsDecomposed, fNotNue, and NueEstimate().

Referenced by CompareDecompDataMC().

338  {
339  if(!fIsDecomposed)
340  Decompose();
341  return (fData - NueEstimate())*(fAntiNumu/fNotNue);
342  }
Spectrum fAntiNumu
Definition: BENDecomp.h:172
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fData
Definition: BENDecomp.h:167
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum ana::BENDecomp::Data_Component ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 742 of file BENDecomp.cxx.

References fData.

Referenced by CompareDecompDataMC(), and PlotPionPlots().

742  {
743  return fData;
744  }
Spectrum fData
Definition: BENDecomp.h:167
void ana::BENDecomp::Decompose ( ) const
protected
double ana::BENDecomp::GetKaonScale ( ) const
inline

Definition at line 113 of file BENDecomp.h.

References Decompose(), and fKaonNormalization.

Referenced by plot_BEN().

113 {Decompose(); return fKaonNormalization;}
void Decompose() const
Definition: BENDecomp.cxx:195
double fKaonNormalization
Definition: BENDecomp.h:200
TH2* ana::BENDecomp::GetPionWeights ( ) const
inline

Definition at line 112 of file BENDecomp.h.

References Decompose(), and fNumuPiWeights.

112 {Decompose(); return fNumuPiWeights;} //for debugging
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
void Decompose() const
Definition: BENDecomp.cxx:195
std::unique_ptr< BENDecomp > ana::BENDecomp::LoadFrom ( TDirectory *  dir,
const std::string name 
)
static

Definition at line 436 of file BENDecomp.cxx.

References ana::assert(), dir, ana::Spectrum::LoadFrom(), runNovaSAM::ret, and registry_explorer::v.

437  {
438  dir = dir->GetDirectory(name.c_str()); // switch to subdir
439  assert(dir);
440 
441  std::unique_ptr<BENDecomp> ret(new BENDecomp);
442 
443  ret->fData = *Spectrum::LoadFrom(dir, "data_comp");
444  ret->fNCTot = *Spectrum::LoadFrom(dir, "nc_tot_comp");
445  ret->fNue = *Spectrum::LoadFrom(dir, "nue_comp");
446  ret->fAntiNue = *Spectrum::LoadFrom(dir, "antinue_comp");
447  ret->fNumu = *Spectrum::LoadFrom(dir, "numu_comp");
448  ret->fAntiNumu = *Spectrum::LoadFrom(dir, "antinumu_comp");
449  ret->fTotal = *Spectrum::LoadFrom(dir, "total_comp");
450  ret->fNotNue = *Spectrum::LoadFrom(dir, "not_nue_comp");
451 
452  ret->fNueCCFromPi = *Spectrum::LoadFrom(dir, "nueCC_from_pi");
453  ret->fNueCCFromKa = *Spectrum::LoadFrom(dir, "nueCC_from_ka");
454  ret->fNueCCFromOther = *Spectrum::LoadFrom(dir, "nueCC_from_other");
455  ret->fNueCCFromPiPtPz = *Spectrum::LoadFrom(dir, "nueCC_from_pi_pt_pz");
456 
457  ret->fNumuSelData = *Spectrum::LoadFrom(dir, "numu_sel_data");
458  ret->fNumuSelBkg = *Spectrum::LoadFrom(dir, "numu_sel_bkg");
459  ret->fNumuSelCCFromPi = *Spectrum::LoadFrom(dir, "numuCC_from_pi");
460  ret->fNumuSelCCFromKa = *Spectrum::LoadFrom(dir, "numuCC_from_ka");
461  ret->fNumuSelCCFromOther = *Spectrum::LoadFrom(dir, "numuCC_from_other");
462  ret->fNumuSelCCFromPiPtPz = *Spectrum::LoadFrom(dir, "numuCC_from_pi_pt_pz");
463 
464  if(dir->GetListOfKeys()->Contains("KaonNormalization")){
465  auto v = *(TVectorD*)dir->Get("KaonNormalization");
466  ret->fKaonNormalization = v[0];
467  ret->fIsFixedKaScale=true;
468  }
469  else{
470  ret->fNumuUncontainData = *Spectrum::LoadFrom(dir, "numu_uncontain_data");
471  ret->fNumuUncontainBkg = *Spectrum::LoadFrom(dir, "numu_uncontain_bkg");
472  ret->fNumuUncontainCCFromPi = *Spectrum::LoadFrom(dir, "numuCC_uncontain_from_pi");
473  ret->fNumuUncontainCCFromKa = *Spectrum::LoadFrom(dir, "numuCC_uncontain_from_ka");
474  ret->fNumuUncontainCCFromOther = *Spectrum::LoadFrom(dir, "numuCC_uncontain_from_other");
475  }
476 
477  ret->fNumuPiWeights = 0;
478 
479  delete dir;
480 
481  return ret;
482  }
const XML_Char * name
Definition: expat.h:151
static std::unique_ptr< Spectrum > LoadFrom(TDirectory *dir, const std::string &name)
Definition: Spectrum.cxx:535
TDirectory * dir
Definition: macro.C:5
assert(nhit_max >=nhit_nbins)
void ana::BENDecomp::MakeWeightsNumuFromKaon ( ) const
protected

Definition at line 242 of file BENDecomp.cxx.

References abs(), E, epsilon, fIsFixedKaScale, fKaonNormalization, fNumuSelBkg, fNumuSelCCFromKa, fNumuSelCCFromOther, fNumuSelCCFromPi, fNumuSelData, fNumuUncontainBkg, fNumuUncontainCCFromKa, fNumuUncontainCCFromOther, fNumuUncontainCCFromPi, fNumuUncontainData, pot, ana::Spectrum::POT(), ana::Spectrum::Scale(), and ana::Spectrum::ToTH1().

Referenced by BENDecomp(), and Decompose().

242  {
243  if(!fIsFixedKaScale){
244  double pot = fNumuSelData.POT();
245  double pionScale = 1.; double kaonScale = 1.;
246  double epsilon = 1;
247  //hack hack hack hack
248  //pion contained .75 to 3 GeV
249  //kaon uncontained 4.5 to 10
250 
251  std::unique_ptr<TH1D> hpionContained(fNumuSelCCFromPi.ToTH1(pot));
252  int bin_lo_pi = hpionContained->FindBin(0.75);
253  int bin_hi_pi = hpionContained->FindBin(3);
254  std::unique_ptr<TH1D> hkaonUncontain(fNumuUncontainCCFromKa.ToTH1(pot));
255  int bin_lo_ka = hkaonUncontain->FindBin(4.5);
256  int bin_hi_ka = hkaonUncontain->FindBin(10);
257 
258  while(epsilon>1E-6) {
259 
260  Spectrum kaonCorrect = fNumuSelCCFromKa;
261  kaonCorrect.Scale (kaonScale);
262  Spectrum rawContained = (fNumuSelData - kaonCorrect - fNumuSelBkg -
264 
265  std::unique_ptr<TH1D> hrawContained(rawContained.ToTH1(pot));
266 
267  pionScale = (hrawContained->Integral(bin_lo_pi,bin_hi_pi))/
268  (hpionContained->Integral(bin_lo_pi,bin_hi_pi));
269 
270  Spectrum pionCorrect = fNumuUncontainCCFromPi;
271  pionCorrect.Scale(pionScale);
272 
273  Spectrum rawUncontain = (fNumuUncontainData - pionCorrect - fNumuUncontainBkg -
275 
276 
277  std::unique_ptr<TH1D> hrawUncontain(rawUncontain.ToTH1(pot));
278  epsilon = kaonScale;
279  kaonScale = (hrawUncontain->Integral(bin_lo_ka,bin_hi_ka))/(hkaonUncontain->Integral(bin_lo_ka,bin_hi_ka));
280  epsilon = abs(epsilon - kaonScale)/kaonScale;
281  }
282  fKaonNormalization = kaonScale;
283  }
284 
285 }
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Definition: Spectrum.cxx:148
void abs(TH1 *hist)
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
void Scale(double c)
Multiply this spectrum by a constant c.
Definition: Spectrum.cxx:237
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
Float_t E
Definition: plot.C:20
Spectrum fNumuSelData
Definition: BENDecomp.h:181
#define pot
std::vector< float > Spectrum
Definition: Constants.h:610
double POT() const
Definition: Spectrum.h:227
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
double epsilon
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
void ana::BENDecomp::MakeWeightsNumuFromPion ( ) const
protected

Definition at line 287 of file BENDecomp.cxx.

References CornerLabel(), fNumuPiWeights, fNumuSelBkg, fNumuSelCCFromKa, fNumuSelCCFromOther, fNumuSelCCFromPi, fNumuSelCCFromPiPtPz, fNumuSelData, nbinsx, ana::Spectrum::POT(), gen_flatrecord::pt, Simulation(), sum, tmp, and ana::Spectrum::ToTH3().

Referenced by BENDecomp(), and Decompose().

287  {
288  double thePOT = fNumuSelData.POT();
289  std::unique_ptr<TH1D> hratioNumu(((fNumuSelData - fNumuSelBkg - fNumuSelCCFromOther)/(fNumuSelCCFromPi + fNumuSelCCFromKa)).ToTH1());
290  auto hNumu3D = fNumuSelCCFromPiPtPz.ToTH3(thePOT);
291  TH2* tmp = (TH2*)hNumu3D->Project3D("yx");
292  auto hWeight2D = (TH2*) tmp->Clone();
293  delete tmp;
294  tmp = NULL;
295 
296  int nbinsx= hNumu3D->GetNbinsX();
297  int nbinsy= hNumu3D->GetNbinsY();
298  int nbinsz= hNumu3D->GetNbinsZ();
299 
300  for (int pz = 1; pz < nbinsx+1; pz++){
301  for (int pt = 1; pt < nbinsy+1; pt++){
302  double sum=0,wsum=0/*,tmpn=0*/;
303  for (int ee = 1; ee < nbinsz+1; ee++){
304  double nnu = hNumu3D->GetBinContent(pz,pt,ee);
305  double wei = hratioNumu->GetBinContent(ee);
306  double ene = hratioNumu->GetBinCenter (ee);
307  wsum+= nnu * wei*ene;
308  sum+= nnu * ene;
309 // tmpn+= nnu;
310  }
311  if(wsum > 0) hWeight2D->SetBinContent(pz,pt,wsum/sum);
312 /*
313  if(wsum <= 0 && tmpn > 0) {
314  std::cout<< "WARNING: Check out MakeWeightsNumuFromPion() nnu = "
315  << tmpn <<" while weight not updated here: " <<hWeight2D->GetBinContent(pz, pt); // seems to be ok so far...
316  }
317 */
318  }
319  }
320 
321  Simulation();
322  CornerLabel("#nu-beam");
323  //hWeight2D->SetTitle("Pi weights;pz (GeV/c);pT (GeV/c);weight");
324  fNumuPiWeights = (TH2*) hWeight2D->Clone();
325  delete hWeight2D;
326  delete hNumu3D;
327  }
void Simulation()
Definition: tools.h:16
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
void CornerLabel(std::string &s)
Definition: numu_tools.h:145
Float_t tmp
Definition: plot.C:36
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
Spectrum fNumuSelData
Definition: BENDecomp.h:181
double POT() const
Definition: Spectrum.h:227
TH3 * ToTH3(double exposure, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Spectrum must be 3D to obtain TH3.
Definition: Spectrum.cxx:187
Int_t nbinsx
Definition: plot.C:23
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
Double_t sum
Definition: plot.C:31
Spectrum ana::BENDecomp::MC_AntiNueComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 730 of file BENDecomp.cxx.

References fAntiNue.

Referenced by CompareDecompDataMC().

730  {
731  return fAntiNue;
732  }
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum ana::BENDecomp::MC_AntiNumuComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 736 of file BENDecomp.cxx.

References fAntiNumu.

Referenced by CompareDecompDataMC().

736  {
737  return fAntiNumu;
738  }
Spectrum fAntiNumu
Definition: BENDecomp.h:172
Spectrum ana::IDecomp::MC_NCAntiComponent ( ) const
virtualinherited

Reimplemented in ana::MichelDecomp, ana::FluxDecomp, and ana::ProportionalDecomp.

Definition at line 30 of file IDecomp.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::IDecomp::NCTotalComponent().

31  {
32  std::cout << "IDecomp: not implemented" << std::endl; abort();
33  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::IDecomp::MC_NCComponent ( ) const
virtualinherited

Reimplemented in ana::MichelDecomp, ana::FluxDecomp, and ana::ProportionalDecomp.

Definition at line 26 of file IDecomp.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ana::IDecomp::NCTotalComponent().

27  {
28  std::cout << "IDecomp: not implemented" << std::endl; abort();
29  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::BENDecomp::MC_NCTotalComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 739 of file BENDecomp.cxx.

References fNCTot.

Referenced by CompareDecompDataMC().

739  {
740  return fNCTot;
741  }
Spectrum fNCTot
Definition: BENDecomp.h:168
Spectrum ana::BENDecomp::MC_NueComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 727 of file BENDecomp.cxx.

References fNue.

Referenced by CompareDecompDataMC(), and PlotPionPlots().

727  {
728  return fNue;
729  }
Spectrum fNue
Definition: BENDecomp.h:169
Spectrum ana::BENDecomp::MC_NumuComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 733 of file BENDecomp.cxx.

References fNumu.

Referenced by CompareDecompDataMC().

733  {
734  return fNumu;
735  }
Spectrum fNumu
Definition: BENDecomp.h:171
Spectrum ana::BENDecomp::NCAntiComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 361 of file BENDecomp.cxx.

References om::cout, and allTimeWatchdog::endl.

362  {
363  std::cout << "BENDecomp::NCAntiComponent() not implemented" << std::endl;
364  abort();
365  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::BENDecomp::NCComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 354 of file BENDecomp.cxx.

References om::cout, and allTimeWatchdog::endl.

355  {
356  std::cout << "BENDecomp::NCComponent() not implemented" << std::endl;
357  abort();
358  }
OStream cout
Definition: OStream.cxx:6
Spectrum ana::BENDecomp::NCTotalComponent ( ) const
overridevirtual

Reimplemented from ana::IDecomp.

Definition at line 346 of file BENDecomp.cxx.

References Decompose(), fData, fIsDecomposed, fNCTot, fNotNue, and NueEstimate().

Referenced by CompareDecompDataMC().

347  {
348  if(!fIsDecomposed)
349  Decompose();
350  return (fData - NueEstimate())*(fNCTot/fNotNue);
351  }
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fData
Definition: BENDecomp.h:167
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNCTot
Definition: BENDecomp.h:168
Spectrum ana::BENDecomp::NueComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 370 of file BENDecomp.cxx.

References Decompose(), fIsDecomposed, and NueEstimate().

Referenced by CompareDecompDataMC(), and PlotPionPlots().

371  {
372  if(!fIsDecomposed)
373  Decompose();
374  return NueEstimate();
375  }
bool fIsDecomposed
Definition: BENDecomp.h:197
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum ana::BENDecomp::NueEstimate ( ) const
protectedvirtual

Definition at line 177 of file BENDecomp.cxx.

References Decompose(), fData, fIsDecomposed, fNueCCFromKaEstim, fNueCCFromOther, fNueCCFromPiEstim, ana::Spectrum::GetBinnings(), ana::Spectrum::GetEigen(), ana::Spectrum::GetLabels(), MECModelEnuComparisons::i, std::max(), std::min(), and ana::Spectrum::POT().

Referenced by AntiNueComponent(), AntiNumuComponent(), BENDecomp(), NCTotalComponent(), NueComponent(), NumuComponent(), and SavePlots().

177  {
178  if(!fIsDecomposed)
179  Decompose();
180 
181  double thePOT = fNueCCFromPiEstim.POT();
182 
183  Eigen::ArrayXd aData = fData.GetEigen(thePOT);
184  Eigen::ArrayXd aNue1D = (fNueCCFromPiEstim + fNueCCFromKaEstim + fNueCCFromOther).GetEigen(thePOT);
185  for(int i = 0; i < aNue1D.size(); ++i){
186  // Nue estimate always between 0 and data
187  aNue1D[i] = std::min(std::max(0., aNue1D[i]), aData[i]);
188  }
189 
190  return Spectrum(std::move(aNue1D),
192  thePOT, 0);
193  }
T max(const caf::Proxy< T > &a, T b)
const std::vector< Binning > & GetBinnings() const
Definition: Spectrum.h:264
_HistAxis< Var > HistAxis
Definition: HistAxis.h:103
const Eigen::ArrayXd & GetEigen() const
NB these don&#39;t have POT scaling. For expert high performance ops only!
Definition: Spectrum.h:189
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fData
Definition: BENDecomp.h:167
std::vector< float > Spectrum
Definition: Constants.h:610
double POT() const
Definition: Spectrum.h:227
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
T min(const caf::Proxy< T > &a, T b)
const std::vector< std::string > & GetLabels() const
Definition: Spectrum.h:263
void ana::BENDecomp::NueEstimateFromKa ( ) const
protected

Definition at line 237 of file BENDecomp.cxx.

References fKaonNormalization, fNueCCFromKa, fNueCCFromKaEstim, and ana::Spectrum::Scale().

Referenced by BENDecomp(), and Decompose().

237  {
240  }
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
void Scale(double c)
Multiply this spectrum by a constant c.
Definition: Spectrum.cxx:237
double fKaonNormalization
Definition: BENDecomp.h:200
void ana::BENDecomp::NueEstimateFromOther ( ) const
protected

Referenced by BENDecomp().

void ana::BENDecomp::NueEstimateFromPi ( ) const
protected

Definition at line 210 of file BENDecomp.cxx.

References fData, fNueCCFromPiEstim, fNueCCFromPiPtPz, fNumuPiWeights, ana::Spectrum::GetBinnings(), ana::Spectrum::GetLabels(), nbinsx, ana::Spectrum::POT(), gen_flatrecord::pt, ana::Spectrum::ToTH3(), and ana::UniqueName().

Referenced by BENDecomp(), and Decompose().

210  {
211  DontAddDirectory guard;
212 
213  auto thePOT = fNueCCFromPiPtPz.POT();
214  auto hNue3D = fNueCCFromPiPtPz.ToTH3(thePOT); //pt pz var
215  int nbinsx= hNue3D->GetNbinsX();
216  int nbinsy= hNue3D->GetNbinsY();
217  int nbinsz= hNue3D->GetNbinsZ();
218 
219  for (int ee = 1; ee < nbinsz+1; ee++){
220  for (int pz = 1; pz < nbinsx+1; pz++){
221  for (int pt = 1; pt < nbinsy+1; pt++){
222  double ww = fNumuPiWeights->GetBinContent(pz,pt);
223  double nnu = hNue3D->GetBinContent(pz,pt,ee);
224  if(nnu>0 && ww>0) hNue3D->SetBinContent(pz,pt,ee, ww*nnu);
225  }
226  }
227  }
228 
229  std::unique_ptr<TH1D> res(hNue3D->ProjectionZ(UniqueName().c_str()));
230 
231  fNueCCFromPiEstim = Spectrum(Eigen::ArrayXd(Eigen::Map<Eigen::ArrayXd>(res->GetArray(), res->GetNbinsX()+2)),
233  thePOT, 0);
234  delete hNue3D;
235  }
const std::vector< Binning > & GetBinnings() const
Definition: Spectrum.h:264
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
_HistAxis< Var > HistAxis
Definition: HistAxis.h:103
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
Spectrum fData
Definition: BENDecomp.h:167
std::vector< float > Spectrum
Definition: Constants.h:610
double POT() const
Definition: Spectrum.h:227
TH3 * ToTH3(double exposure, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Spectrum must be 3D to obtain TH3.
Definition: Spectrum.cxx:187
Int_t nbinsx
Definition: plot.C:23
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
const std::vector< std::string > & GetLabels() const
Definition: Spectrum.h:263
std::string UniqueName()
Return a different string each time, for creating histograms.
Definition: Utilities.cxx:29
Spectrum ana::BENDecomp::NueKaEstimate ( )
inline

Definition at line 115 of file BENDecomp.h.

References Decompose(), fNueCCFromKaEstim, ReduceForBEN2020Decaf(), and sr.

115 {Decompose();return fNueCCFromKaEstim;}
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum ana::BENDecomp::NuePiEstimate ( )
inline

Definition at line 114 of file BENDecomp.h.

References Decompose(), and fNueCCFromPiEstim.

114 {Decompose();return fNueCCFromPiEstim;}
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
Spectrum ana::BENDecomp::NumuComponent ( ) const
overridevirtual

Implements ana::IDecomp.

Definition at line 329 of file BENDecomp.cxx.

References Decompose(), fData, fIsDecomposed, fNotNue, fNumu, and NueEstimate().

Referenced by CompareDecompDataMC().

330  {
331  if(!fIsDecomposed)
332  Decompose();
333  return (fData - NueEstimate())*(fNumu/fNotNue);
334  }
bool fIsDecomposed
Definition: BENDecomp.h:197
Spectrum fData
Definition: BENDecomp.h:167
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNumu
Definition: BENDecomp.h:171
void ana::BENDecomp::ReduceForBEN2020Decaf ( caf::StandardRecord sr,
const caf::SRProxy srProxy 
)
static

Definition at line 746 of file BENDecomp.cxx.

References caf::SRSlice::boxmax, caf::SRSlice::boxmin, caf::SRIDBranch::bpfid, caf::SRSlice::calE, ana::ClearHoughVertexInfo(), ana::ClearMichelTruthInfo(), ana::ClearMultiNuInfo(), ana::ClearSecondaryTrackInfo(), caf::SRTrackBranch::cosmic, caf::SRHeader::det, caf::SRNumuEnergy::E, caf::SRVertexBranch::elastic, caf::StandardRecord::energy, caf::SRSlice::firstplane, caf::SRElastic::fuzzyk, caf::SRNumuEnergy::hadcalE, caf::SRNumuEnergy::hadtrkE, caf::StandardRecord::hdr, MECModelEnuComparisons::i, makeTrainCVSamples::int, caf::SRHeader::ismc, caf::SRElastic::IsValid, caf::SRTrackBranch::kalman, caf::kFARDET, ana::kNue2020NDDecafCut, ana::kNumuContainNDDecafCut, ana::kNumuUncontainNDDecafCut, caf::SRSlice::lastplane, caf::SRFuzzyK::longestidx, caf::StandardRecord::mc, caf::StandardRecord::me, caf::SRSlice::meanpos, caf::SRSlice::ncellsfromedge, caf::SRSlice::ncontplanes, caf::SRNumuEnergy::ndhadcalcatE, caf::SRNumuEnergy::ndhadcaltranE, caf::SRNumuEnergy::ndtrkcalactE, caf::SRNumuEnergy::ndtrkcalcatE, caf::SRNumuEnergy::ndtrkcaltranE, caf::SRNumuEnergy::ndtrklenact, caf::SRNumuEnergy::ndtrklencat, caf::SRSlice::nhit, caf::SRTruthBranch::nnu, caf::SRFuzzyK::npng, caf::SRFuzzyK::nshwlid, caf::SRTrackBase::ntracks, caf::SRKalman::ntracks, caf::SRTruthBranch::nu, caf::SREnergyBranch::numu, caf::StandardRecord::parent, caf::SRFuzzyK::png, caf::SRNumuEnergy::recotrkcchadE, ana::ResetBPFEnergy(), ana::ResetCosRejInfo(), ana::ResetLEMInfo(), ana::ResetLIDInfo(), ana::ResetRVPInfo(), caf::StandardRecord::sel, caf::StandardRecord::slc, caf::SRTrackBase::tracks, caf::SRKalman::tracks, caf::StandardRecord::training, caf::StandardRecord::trk, caf::SRNumuEnergy::trkccE, caf::SRNumuEnergy::trknonqeE, caf::SRNumuEnergy::trkqeE, caf::SRElastic::vtx, caf::StandardRecord::vtx, caf::SRVector3D::X(), caf::SRVector3D::x, caf::SRIDBranch::xnuepid, caf::SRVector3D::Y(), caf::SRVector3D::y, caf::SRVector3D::Z(), and caf::SRVector3D::z.

Referenced by NueKaEstimate().

748  {
749 
750  ClearMultiNuInfo(sr);
752 
753  if(sr->hdr.det == caf::kFARDET) return;
754 
756 
757  // remove these completely
758  sr->parent = caf::SRParentBranch();
760  sr->me = caf::SRMichelE();
761 
762  // slc branch
763  // keeping some basic slice info for various cuts
764  unsigned int tempncontplanes = sr->slc.ncontplanes;
765  unsigned int tempnhit = sr->slc.nhit;
766  unsigned int tempfirstplane = sr->slc.firstplane;
767  unsigned int templastplane = sr->slc.lastplane;
768  unsigned int tempncellsfromedge = sr->slc.ncellsfromedge;
769  float tempcalE = sr->slc.calE;
770  caf::SRVector3D tempmeanpos = sr->slc.meanpos;
771  caf::SRVector3D tempboxmax = sr->slc.boxmax;
772  caf::SRVector3D tempboxmin = sr->slc.boxmin;
773 
774  sr->slc = caf::SRSlice();
775 
776  sr->slc.ncontplanes = tempncontplanes;
777  sr->slc.nhit = tempnhit;
778  sr->slc.firstplane = tempfirstplane;
779  sr->slc.lastplane = templastplane;
780  sr->slc.ncellsfromedge = tempncellsfromedge;
781  sr->slc.calE = tempcalE;
782  sr->slc.meanpos = tempmeanpos;
783  sr->slc.boxmin = tempboxmin;
784  sr->slc.boxmax = tempboxmax;
785 
786  // energy branch
787  // keeping only a few numu energy vars
788  float temprecotrkcchadE = sr->energy.numu.recotrkcchadE;
789  float temptrkccE = sr->energy.numu.trkccE;
790  float temptrknonqeE = sr->energy.numu.trknonqeE;
791  float temptrkqeE = sr->energy.numu.trkqeE;
792  float tempndhadcaltranE = sr->energy.numu.ndhadcaltranE;
793  float tempndhadcalcatE = sr->energy.numu.ndhadcalcatE;
794  float tempE = sr->energy.numu.E;
795  float temphadcalE = sr->energy.numu.hadcalE;
796  float temphadtrkE = sr->energy.numu.hadtrkE;
797  float tempndtrkcaltranE = sr->energy.numu.ndtrkcaltranE;
798  float tempndtrkcalcatE = sr->energy.numu.ndtrkcalcatE;
799  float tempndtrkcalactE = sr->energy.numu.ndtrkcalactE;
800  float tempndtrklencat = sr->energy.numu.ndtrklencat;
801  float tempndtrklenact = sr->energy.numu.ndtrklenact;
802 
803  sr->energy.numu = caf::SRNumuEnergy();
804 
805  sr->energy.numu.recotrkcchadE = temprecotrkcchadE;
806  sr->energy.numu.trkccE = temptrkccE;
807  sr->energy.numu.trknonqeE = temptrknonqeE;
808  sr->energy.numu.trkqeE = temptrkqeE;
809  sr->energy.numu.ndhadcaltranE = tempndhadcaltranE;
810  sr->energy.numu.ndhadcalcatE = tempndhadcalcatE;
811  sr->energy.numu.E = tempE;
812  sr->energy.numu.hadcalE = temphadcalE;
813  sr->energy.numu.hadtrkE = temphadtrkE;
814  sr->energy.numu.ndtrkcaltranE = tempndtrkcaltranE;
815  sr->energy.numu.ndtrkcalcatE = tempndtrkcalcatE;
816  sr->energy.numu.ndtrkcalactE = tempndtrkcalactE;
817  sr->energy.numu.ndtrklencat = tempndtrklencat;
818  sr->energy.numu.ndtrklenact = tempndtrklenact;
819 
820  ResetBPFEnergy(sr);
821 
822  // sel branch
823 
824  sr->sel.bpfid = caf::SRBpfId();
825  sr->sel.xnuepid = caf::SRXnue();
826 
827  ResetLEMInfo(sr);
828  ResetLIDInfo(sr);
829  ResetRVPInfo(sr);
830  ResetCosRejInfo(sr);
831 
832  //
833  // track branch
834  // need number of cosmic tracks, therefore we create a dummy vector
835  sr->trk.cosmic.tracks.clear();
836  sr->trk.cosmic.tracks.resize(sr->trk.cosmic.ntracks);
837 
838  // need start and stop coordinates
839  if(sr->trk.kalman.ntracks > 0){
840  std::vector<caf::SRVector3D> temptrackstart;
841  std::vector<caf::SRVector3D> temptrackstop;
842  for(int i = 0; i < (int)sr->trk.kalman.tracks.size(); i++){
843  temptrackstart.push_back(sr->trk.kalman.tracks[i].start);
844  temptrackstop.push_back(sr->trk.kalman.tracks[i].stop);
845  }
846  float temptrackslen = sr->trk.kalman.tracks[0].len;
847 
848  sr->trk.kalman.tracks.clear();
849  sr->trk.kalman.tracks.resize(sr->trk.kalman.ntracks);
850 
851  for(int i = 0; i < (int)sr->trk.kalman.tracks.size(); i++){
852  sr->trk.kalman.tracks[i].start = temptrackstart[i];
853  sr->trk.kalman.tracks[i].stop = temptrackstop[i];
854  }
855  sr->trk.kalman.tracks[0].len = temptrackslen;
856  }
857 
858  // vertex branch
859  // need vtx coordinates
860  if(sr->vtx.elastic.IsValid && sr->vtx.elastic.fuzzyk.npng > 0){
861  float tempvtxX = sr->vtx.elastic.vtx.X();
862  float tempvtxY = sr->vtx.elastic.vtx.Y();
863  float tempvtxZ = sr->vtx.elastic.vtx.Z();
864  float tempnshwlid = sr->vtx.elastic.fuzzyk.nshwlid;
865  float tempnpng = sr->vtx.elastic.fuzzyk.npng;
866  float tempdedx0 = sr->vtx.elastic.fuzzyk.png[0].shwlid.lid.dedx0;
867  int templongestidx = sr->vtx.elastic.fuzzyk.longestidx;
868  float templen = sr->vtx.elastic.fuzzyk.png[templongestidx].len;
869 
870  std::vector<caf::SRVector3D> tempshwlidstart;
871  std::vector<caf::SRVector3D> tempshwlidstop;
872  std::vector<caf::SRVector3D> temppngstart;
873  std::vector<caf::SRCVNParticleResult> tempcvnpart;
874  std::vector<float> tempshwlidcale;
875 
876  for(int pngidx = 0; pngidx < (int)sr->vtx.elastic.fuzzyk.nshwlid; pngidx++){
877  tempshwlidstart.push_back(sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.start);
878  tempshwlidstop.push_back(sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.stop);
879  }
880  for(int pngidx = 0; pngidx < (int)sr->vtx.elastic.fuzzyk.npng; pngidx++){
881  temppngstart.push_back(sr->vtx.elastic.fuzzyk.png[pngidx].start);
882  tempcvnpart.push_back(sr->vtx.elastic.fuzzyk.png[pngidx].cvnpart);
883  tempshwlidcale.push_back(sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.calE);
884  }
885 
886 
887  sr->vtx.elastic.IsValid = true;
888  sr->vtx.elastic.vtx.x = tempvtxX;
889  sr->vtx.elastic.vtx.y = tempvtxY;
890  sr->vtx.elastic.vtx.z = tempvtxZ;
891 
892  sr->vtx.elastic.fuzzyk.npng = tempnpng;
893  sr->vtx.elastic.fuzzyk.nshwlid = tempnshwlid;
894  sr->vtx.elastic.fuzzyk.png.resize(tempnpng);
895  for(int pngidx = 0; pngidx < (int)sr->vtx.elastic.fuzzyk.nshwlid; pngidx++){
896  sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.start = tempshwlidstart[pngidx];
897  sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.stop = tempshwlidstop[pngidx];
898  }
899  for(int pngidx = 0; pngidx < (int)sr->vtx.elastic.fuzzyk.npng; pngidx++){
900  sr->vtx.elastic.fuzzyk.png[pngidx].start = temppngstart[pngidx];
901  sr->vtx.elastic.fuzzyk.png[pngidx].cvnpart = tempcvnpart[pngidx];
902  sr->vtx.elastic.fuzzyk.png[pngidx].shwlid.calE = tempshwlidcale[pngidx];
903  }
904  sr->vtx.elastic.fuzzyk.png[0].shwlid.lid.dedx0 = tempdedx0;
905  sr->vtx.elastic.fuzzyk.longestidx = templongestidx;
906  sr->vtx.elastic.fuzzyk.png[templongestidx].len = templen;
907 
909  }
910 
911  // truth branch
912  if(sr->hdr.ismc == 1 && sr->mc.nnu > 0) {
913 
914  sr->mc.nu[0].rwgt.ppfx.vuniv.clear();
915  sr->mc.nu[0].rwgt.ppfx.nvuniv = 0;
916 
918  }
919 
920  }
921 
922  }
Det_t det
Detector, ND = 1, FD = 2, NDOS = 3.
Definition: SRHeader.h:28
Far Detector at Ash River.
Definition: SREnums.h:11
A 3-vector with more efficient storage than TVector3.
Definition: SRVector3D.h:14
Event ID training variables.
SRHeader hdr
Header branch: run, subrun, etc.
float ndtrklenact
Near detector – muon track length in active region [cm].
Definition: SRNumuEnergy.h:37
float ndtrkcaltranE
Near detector – muon calorimetric energy in transition plane [GeV].
Definition: SRNumuEnergy.h:40
void ResetCosRejInfo(caf::StandardRecord *sr)
void ClearSecondaryTrackInfo(caf::StandardRecord *sr)
unsigned int lastplane
last plane
Definition: SRSlice.h:27
unsigned int firstplane
first plane
Definition: SRSlice.h:26
size_t ntracks
Definition: SRKalman.h:23
float trknonqeE
Track length non-quasielastic neutrino energy [GeV].
Definition: SRNumuEnergy.h:26
SRVector3D boxmax
Maximum coordinates box containing all the hits [cm].
Definition: SRSlice.h:47
std::vector< SRFuzzyKProng > png
Vector of 3D prong objects.
Definition: SRFuzzyK.h:19
SRMichelE me
Michel electron branch.
float Y() const
Definition: SRVector3D.h:33
float ndtrkcalcatE
Near detector – muon calorimetric energy in muon catcher [GeV].
Definition: SRNumuEnergy.h:41
SRTrainingBranch training
Extra training information for prototyping PIDs etc.
unsigned int longestidx
index of longest prong
Definition: SRFuzzyK.h:23
bool ismc
data or MC? True if MC
Definition: SRHeader.h:27
Store BDT variables for the short-baseline oscillation study.
Definition: SRXnue.h:12
Breakpoint ID (BpfId) output.
Definition: SRBpfId.h:18
float X() const
Definition: SRVector3D.h:32
void ResetRVPInfo(caf::StandardRecord *sr)
float trkccE
Track length cc neutrino energy [GeV].
Definition: SRNumuEnergy.h:27
SRKalman kalman
Tracks produced by KalmanTrack.
Definition: SRTrackBranch.h:24
unsigned int nshwlid
number of shwlid showers - either 0 or number of 3d prongs
Definition: SRFuzzyK.h:24
SRVector3D boxmin
Minimum coordinates box containing all the hits [cm].
Definition: SRSlice.h:46
float ndhadcalcatE
Near detector – hadronic calorimetric energy NOT on the muon track in muon catcher [GeV]...
Definition: SRNumuEnergy.h:44
float trkqeE
Track length quasielastic neutrino energy [GeV].
Definition: SRNumuEnergy.h:25
float hadtrkE
Hadronic calorimetric energy on the muon track[GeV].
Definition: SRNumuEnergy.h:36
const Cut kNue2020NDDecafCut
Definition: NueCuts2020.h:176
void ClearHoughVertexInfo(caf::StandardRecord *sr)
void ClearMichelTruthInfo(caf::StandardRecord *sr)
Definition: FileReducer.cxx:42
float calE
Calorimetric energy of the cluster [GeV].
Definition: SRSlice.h:38
Numu energy estimator output.
Definition: SRNumuEnergy.h:17
SRVector3D vtx
Vertex position in detector coordinates. [cm].
Definition: SRElastic.h:40
short nnu
Number of neutrinos in nu vector (0 or 1)
Definition: SRTruthBranch.h:37
size_t npng
Definition: SRFuzzyK.h:26
float E
Neutrino energy, set to match trkccE [GeV].
Definition: SRNumuEnergy.h:23
An SRSlice contains overarching information for a slice.
Definition: SRSlice.h:15
float Z() const
Definition: SRVector3D.h:34
unsigned int nhit
number of hits
Definition: SRSlice.h:22
SRBpfId bpfid
Output from the BreakPointFitter PID (BPFPIdMaker) package.
Definition: SRIDBranch.h:41
unsigned int ncellsfromedge
minimum number of cells to edge of detector
Definition: SRSlice.h:30
const Cut kNumuUncontainNDDecafCut
Definition: BeamNueCuts.h:23
void ResetBPFEnergy(caf::StandardRecord *sr)
float ndhadcaltranE
Near detector – hadronic calorimetric energy NOT on the muon track in transition plane [GeV]...
Definition: SRNumuEnergy.h:43
SRNumuEnergy numu
Numu energy estimator.
float ndtrkcalactE
Near detector – muon calorimetric energy in active region [GeV].
Definition: SRNumuEnergy.h:39
void ResetLEMInfo(caf::StandardRecord *sr)
float ndtrklencat
Near detector – muon track length in muon catcher [cm].
Definition: SRNumuEnergy.h:38
SRIDBranch sel
Selector (PID) branch.
SRElastic elastic
Single vertex found by Elastic Arms.
SRSlice slc
Slice branch: nhit, extents, time, etc.
SRTruthBranch mc
Truth branch for MC: energy, flavor, etc.
SRFuzzyK fuzzyk
Primary 3D prong object.
Definition: SRElastic.h:44
float recotrkcchadE
Reconstructed hadronic energy for track cc neutrino energy estimator [GeV].
Definition: SRNumuEnergy.h:34
void ResetLIDInfo(caf::StandardRecord *sr)
SRVector3D meanpos
Mean position of hits in slice, weighted by charge [cm].
Definition: SRSlice.h:48
SRParentBranch parent
True parent branch for matching, e.g. MRCC.
unsigned int ncontplanes
number of continuous planes
Definition: SRSlice.h:25
SRTrackBranch trk
Track branch: nhit, len, etc.
SREnergyBranch energy
Energy estimator branch.
SRTrackBase cosmic
Tracks produced by CosmicTrack.
Definition: SRTrackBranch.h:26
std::vector< SRNeutrino > nu
implemented as a vector to maintain mc.nu structure, i.e. not a pointer, but with 0 or 1 entries...
Definition: SRTruthBranch.h:25
std::vector< SRTrack > tracks
Definition: SRTrackBase.h:15
float hadcalE
Hadronic calorimetric energy NOT on the muon track[GeV].
Definition: SRNumuEnergy.h:35
void ClearMultiNuInfo(caf::StandardRecord *sr)
Definition: FileReducer.cxx:25
std::vector< SRKalmanTrack > tracks
3D Tracks produced by KalmanTrack
Definition: SRKalman.h:16
const Cut kNumuContainNDDecafCut
Definition: BeamNueCuts.h:22
SRVertexBranch vtx
Vertex branch: location, time, etc.
SRXnue xnuepid
Output from BDT (XnuePID)
Definition: SRIDBranch.h:57
void ana::BENDecomp::SavePlots ( TDirectory *  dir)

Definition at line 647 of file BENDecomp.cxx.

References demo5::c1, ana::CenterTitles(), CornerLabel(), Decompose(), APDHVSetting::dummy, fData, fIsDecomposed, fNue, fNueCCFromKa, fNueCCFromKaEstim, fNueCCFromOther, fNueCCFromPi, fNueCCFromPiEstim, analysePickle::hist, MECModelEnuComparisons::leg, NueEstimate(), ana::Spectrum::POT(), rootlogon(), Simulation(), ana::Spectrum::ToTH1(), and ana::UniqueName().

Referenced by plot_BEN().

647  {
648  if(!fIsDecomposed) Decompose();
649  rootlogon();
650  dir->cd();
651  auto c1 = new TCanvas(UniqueName().c_str(),"c1",800,500);
652  double thePOT=fData.POT();
653 
654  auto hs = new THStack();
655  auto hs2 = new THStack();
656 
657  std::vector<std::pair<Spectrum, int> > sp_col = {
658  {fNueCCFromOther,kGray+1},
659  {fNueCCFromKaEstim, kMagenta+2},
660  {fNueCCFromPiEstim, kAzure +4}
661  };
662 
663  std::vector<std::pair<Spectrum, int> > sp_col2 = {
664  {fNueCCFromOther,kGray+1},
665  {fNueCCFromKa, kMagenta+2},
666  {fNueCCFromPi, kAzure+4}
667  };
668 
669  for (auto sp:sp_col){
670  auto hist = sp.first.ToTH1(thePOT, sp.second);
671  hs->Add(hist, "hist");
672  }
673 
674  for (auto sp:sp_col2){
675  auto hist = sp.first.ToTH1(thePOT, sp.second);
676  hist->SetLineStyle(2);
677  hs2->Add(hist, "hist");
678  }
679 // fData.ToTH1(thePOT)->Draw("ep");
680  NueEstimate() .ToTH1(thePOT,kPink+9,1)->Draw("hist");
681  hs->Draw("same");
682  hs2->Draw("same");
683  fNue .ToTH1(thePOT,kPink+9,2)->Draw("hist same");
684  NueEstimate() .ToTH1(thePOT,kPink+9,1)->Draw("hist same");
685 
686  gStyle->SetTextSize(0.03);
687  TLegend * leg = new TLegend(0.7, 0.6, 0.89,0.89);
688  TGraph * dummy = new TGraph;
689  dummy->SetLineWidth(3);
690  dummy->SetLineColor(kPink+9); leg->AddEntry(dummy->Clone(),"Total Beam #nu_{e}","l");
691  dummy->SetLineColor(kAzure+4); leg->AddEntry(dummy->Clone(),"#nu_{e} from Pi","l");
692  dummy->SetLineColor(kMagenta+2); leg->AddEntry(dummy->Clone(),"#nu_{e} from Ka","l");
693  dummy->SetLineColor(kGray+1); leg->AddEntry(dummy->Clone(),"#nu_{e} from Other","l");
694  dummy->SetLineColor(kBlack ); dummy->SetLineStyle(2);
695  leg->AddEntry(dummy->Clone(),"Uncorrected MC","l");
696  leg->Draw();
697  Simulation();
698  CornerLabel("#nu-beam");
699  c1->Write("BENresult");
700 
701  // Nue estimate/mc ratio
702  auto hratioNue = (NueEstimate()/fNue).ToTH1();
703  auto hratioNuePi = (fNueCCFromPiEstim/fNueCCFromPi).ToTH1();
704  auto hratioNueKa = (fNueCCFromKaEstim/fNueCCFromKa).ToTH1();
705  hratioNue->GetYaxis()->SetTitle("#nu_{e} Estimate / MC");
706  hratioNue->GetYaxis()->SetRangeUser(0, hratioNue->GetMaximum()+0.2);
707  hratioNue->SetLineColor(kPink+9);
708  hratioNuePi->SetLineColor(kAzure+4);
709  hratioNueKa->SetLineColor(kMagenta+2);
710  hratioNue->Draw("hist");
711  hratioNue->SetTitle("");
712  hratioNuePi->Draw("hist same");
713  hratioNueKa->Draw("hist same");
714 // leg->GetListOfPrimitives()->RemoveLast();
715 // leg->GetListOfPrimitives()->RemoveLast();
716 // leg->SetY1(0.15);
717 // leg->SetY2(0.45);
718  leg->Draw();
719  CenterTitles(hratioNue);
720  Simulation();
721  CornerLabel("#nu-beam");
722  c1->Write("BENratios");
723  }
void Simulation()
Definition: tools.h:16
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Definition: Spectrum.cxx:148
void CornerLabel(std::string &s)
Definition: numu_tools.h:145
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
void CenterTitles(TH1 *histo)
Definition: Plots.cxx:1481
Spectrum fData
Definition: BENDecomp.h:167
virtual Spectrum NueEstimate() const
Definition: BENDecomp.cxx:177
double POT() const
Definition: Spectrum.h:227
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
TDirectory * dir
Definition: macro.C:5
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
c1
Definition: demo5.py:24
void rootlogon()
Definition: rootlogon.C:7
std::string UniqueName()
Return a different string each time, for creating histograms.
Definition: Utilities.cxx:29
Spectrum fNue
Definition: BENDecomp.h:169
void ana::BENDecomp::SavePlotsKa ( TDirectory *  dir)

Definition at line 483 of file BENDecomp.cxx.

References demo5::c1, ana::CenterTitles(), om::cerr, CornerLabel(), Decompose(), APDHVSetting::dummy, allTimeWatchdog::endl, fIsDecomposed, fIsFixedKaScale, fKaonNormalization, fNueCCFromKa, fNueCCFromKaEstim, fNumuUncontainBkg, fNumuUncontainCCFromKa, fNumuUncontainCCFromOther, fNumuUncontainCCFromPi, fNumuUncontainData, analysePickle::hist, kGreen, MECModelEnuComparisons::leg, pot, ana::Spectrum::POT(), Preliminary(), rootlogon(), ana::Spectrum::ToTH1(), and ana::UniqueName().

Referenced by plot_BEN().

483  {
484  if(fIsFixedKaScale) {
485  std::cerr << "Using a fixed kaon scale " << fKaonNormalization
486  << ". No plots will be saved " << std::endl;
487  return;
488  }
489  if(!fIsDecomposed) Decompose();
490  rootlogon();
491  auto c1 = new TCanvas(UniqueName().c_str(),"c1",800,500);
492  dir->cd();
493  auto pot = fNumuUncontainData.POT();
494  auto hdata = fNumuUncontainData.ToTH1(pot);
495  hdata->SetMarkerStyle(kFullCircle);
496  hdata->Scale(.001);
497  std::vector<std::pair<Spectrum, int> > sp_col = {{fNumuUncontainBkg,kGray+1},
499  {fNumuUncontainCCFromKa,kMagenta -9},
500  {fNumuUncontainCCFromPi,kAzure +4}};
501  auto hs = new THStack();
502  for (auto sp:sp_col){
503  auto hist = sp.first.ToTH1(pot);
504  hist->Scale(.001);
505  hist->SetFillColorAlpha(sp.second,0.3);
506  hs->Add(hist, "hist");
507  }
508 
509  hdata->Draw("e1");
510 
511  hdata->GetYaxis()->SetTitle("10^{3} Events/ 11.0 #times 10^{20} POT");
512  hdata->GetXaxis()->SetTitle("Reconstructed neutrino energy (GeV)");
513  hs->Draw("same");
514  hdata->Draw("e1 same");
515 
516  TLegend *leg = new TLegend(0.6, 0.55, 0.89,0.89);
517  leg->SetHeader("Uncontained");
518  TGraph * dummy = new TGraph;
519  dummy->SetLineWidth(3);
520  dummy->SetMarkerStyle(kFullCircle); leg->AddEntry(dummy->Clone(), "#nu_{#mu} data","lpe");
521  dummy->SetMarkerStyle(0);
522  dummy->SetLineColor(kBlack); dummy->SetFillColor(kAzure+4); leg->AddEntry(dummy->Clone(),"#nu_{#mu} from #pi^{#pm}","f");
523  dummy->SetLineColor(kBlack); dummy->SetFillColor(kMagenta-9); leg->AddEntry(dummy->Clone(),"#nu_{#mu} from K^{#pm}","f");
524  dummy->SetLineColor(kBlack); dummy->SetFillColor(kGreen +2 ); leg->AddEntry(dummy->Clone(),"#nu_{#mu} from Other","f");
525  dummy->SetLineColor(kBlack); dummy->SetFillColor(kGray +1 ); leg->AddEntry(dummy->Clone(),"Background","f");
526  leg->Draw();
527  CenterTitles(hdata);
528  Preliminary();
529  CornerLabel("#nu-beam");
530  c1->Write("numuUncontained");
531 
532  auto hratioNueKa = (fNueCCFromKaEstim/fNueCCFromKa).ToTH1();
533  hratioNueKa->GetYaxis()->SetTitle("#nu_{e} Ka Estimate / Ka MC");
534  hratioNueKa->GetYaxis()->SetRangeUser(0, 0.2 + hratioNueKa->GetMaximum());
535  hratioNueKa->Draw("hist");
536  hratioNueKa->Write("nue1Dka");
537 
538  }
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Definition: Spectrum.cxx:148
void CornerLabel(std::string &s)
Definition: numu_tools.h:145
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
OStream cerr
Definition: OStream.cxx:7
Spectrum fNueCCFromKaEstim
Definition: BENDecomp.h:195
bool fIsDecomposed
Definition: BENDecomp.h:197
void CenterTitles(TH1 *histo)
Definition: Plots.cxx:1481
#define pot
double POT() const
Definition: Spectrum.h:227
void Preliminary()
void Decompose() const
Definition: BENDecomp.cxx:195
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
TDirectory * dir
Definition: macro.C:5
c1
Definition: demo5.py:24
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
enum BeamMode kGreen
void rootlogon()
Definition: rootlogon.C:7
std::string UniqueName()
Return a different string each time, for creating histograms.
Definition: Utilities.cxx:29
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
void ana::BENDecomp::SavePlotsPi ( TDirectory *  dir)

Definition at line 540 of file BENDecomp.cxx.

References demo5::c1, ana::CenterTitles(), CornerLabel(), Decompose(), APDHVSetting::dummy, fIsDecomposed, fNueCCFromPi, fNueCCFromPiEstim, fNueCCFromPiPtPz, fNumuPiWeights, fNumuSelBkg, fNumuSelCCFromKa, fNumuSelCCFromOther, fNumuSelCCFromPi, fNumuSelCCFromPiPtPz, fNumuSelData, hist2, kGreen, kRed, make_syst_table_plots::line, pot, ana::Spectrum::POT(), Preliminary(), rootlogon(), Simulation(), ana::Spectrum::ToTH1(), ana::Spectrum::ToTH3(), and ana::UniqueName().

Referenced by plot_BEN().

540  {
541  if(!fIsDecomposed) Decompose();
542  rootlogon();
543  auto c1 = new TCanvas(UniqueName().c_str(),"c1",800,600);
544  dir->cd();
545  auto pot = fNumuSelData.POT();
546  auto hdata2 = fNumuSelData.ToTH1(pot);
547  hdata2->SetMarkerStyle(kFullCircle);
548  hdata2->Scale(.001);
549  std::vector<std::pair<Spectrum, int> > sp_col2 = {{fNumuSelBkg,kGray +1},
551  {fNumuSelCCFromKa,kMagenta -9 },
552  {fNumuSelCCFromPi,kAzure +4}};
553  auto hs2 = new THStack();
554  for (auto sp:sp_col2){
555  auto hist2 = sp.first.ToTH1(pot);
556  hist2->SetFillColorAlpha(sp.second,0.3);
557  hist2->Scale(.001);
558  hs2->Add(hist2, "hist");
559  }
560 
561  hdata2->Draw("e1");
562  hdata2->GetYaxis()->SetTitle("10^{3} Events/ 11.0 #times 10^{20} POT");
563  hdata2->GetXaxis()->SetTitle("Reconstructed neutrino energy (GeV)");
564  hs2->Draw("same");
565  hdata2->Draw("e1 same");
566  gPad->Update();
567 
568 
569  TLegend *leg2 = new TLegend(0.6, 0.55, 0.76,0.89);
570  leg2->SetHeader("Contained");
571  TGraph * dummy = new TGraph;
572  dummy->SetLineWidth(3);
573  dummy->SetMarkerStyle(kFullCircle); leg2->AddEntry(dummy->Clone(), "#nu_{#mu} data","lpe");
574  dummy->SetMarkerStyle(0);
575  dummy->SetLineColor(kBlack); dummy->SetFillColor(kAzure +4 ); leg2->AddEntry(dummy->Clone(),"#nu_{#mu} from #pi^{#pm}","f");
576  dummy->SetLineColor(kBlack); dummy->SetFillColor(kMagenta -9 ); leg2->AddEntry(dummy->Clone(),"#nu_{#mu} from K^{#pm}","f");
577  dummy->SetLineColor(kBlack); dummy->SetFillColor(kGreen +2); leg2->AddEntry(dummy->Clone(),"#nu_{#mu} from Other","f");
578  dummy->SetLineColor(kBlack); dummy->SetFillColor(kGray +1); leg2->AddEntry(dummy->Clone(),"Background","f");
579 
580  leg2->Draw();
581  CenterTitles(hdata2);
582  Preliminary();
583  CornerLabel("#nu-beam");
584  c1->Write("numuContained");
585 
586  // Numu weights1D
587  auto hratioNumu = ((fNumuSelData - fNumuSelBkg - fNumuSelCCFromOther)/(fNumuSelCCFromPi + fNumuSelCCFromKa)).ToTH1();
588  hratioNumu->GetYaxis()->SetTitle("#nu_{#mu} (Data-Other) / (MC-Other)");
589 
590  TLine *line = new TLine(0.0,1.0,27.0,1.0);
591  line->SetLineWidth(2);
592  line->SetLineColor(kRed);
593  hratioNumu->Draw("hist");
594  CenterTitles(hratioNumu);
595  Simulation();
596  CornerLabel("#nu-beam");
597  line->Draw("same");
598  c1->Write("numu1Dwgt");
599  // Numu pt pz wgt 2D
600  fNumuPiWeights->GetXaxis()->SetTitle("Ancestor forward momentum p_{z} (GeV/c)");
601  fNumuPiWeights->GetYaxis()->SetTitle("Ancestor trans. momentum p_{t} (GeV/c)");
602  fNumuPiWeights->SetTitle("Pion Weights");
603  fNumuPiWeights->Draw("colz");
605  Simulation();
606  CornerLabel("#nu-beam");
607  c1->Write("numu2Dwgt");
608  // Numu pt pz count 2D
610  hnumu3d->GetXaxis()->SetTitle("Ancestor forward momentum p_{z} (GeV/c)");
611  hnumu3d->GetYaxis()->SetTitle("Ancestor trans. momentum p_{t} (GeV/c)");
612  hnumu3d->GetZaxis()->SetTitle("Events");
613  hnumu3d->Project3D("yx")->Draw("colz");
614  Simulation();
615  CornerLabel("#nu-beam");
616  gPad->Update();
617  c1->Write("numu2D");
618  delete hnumu3d;
619  // Nue pt pz count 2D
620  auto hnue3d = fNueCCFromPiPtPz.ToTH3(fNueCCFromPiPtPz.POT());
621  hnue3d->GetXaxis()->SetTitle("Ancestor forward momentum p_{z} (GeV/c)");
622  hnue3d->GetYaxis()->SetTitle("Ancestor trans. momentum p_{t} (GeV/c)");
623  hnue3d->GetZaxis()->SetTitle("Events");
624  //hnue3d->SetTitle(";Ancestor forward momentum p_{z} (GeV/c);Ancestor trans. momentum p_{t} (GeV/c); Events");
625  // hnue3d->GetZaxis()->Scale(1/1000);
626  hnue3d->Project3D("yx")->Draw("colz");
627  hnue3d->SetTitle("");
628  Simulation();
629  CornerLabel("#nu-beam");
630  gPad->Update();
631  c1->Write("nue2D");
632  delete hnue3d;
633  // Nue Pi estimate/mc ratio
634  auto hratioNuePi = (fNueCCFromPiEstim/fNueCCFromPi).ToTH1();
635  hratioNuePi->GetYaxis()->SetTitle("#nu_{e} Pi Estimate / Pi MC");
636  hratioNuePi->GetYaxis()->SetRangeUser(0.94, 0.2+hratioNuePi->GetMaximum());
637  hratioNuePi->SetTitle("");
638  hratioNuePi->Draw("hist");
639  line->Draw("same");
640  Simulation();
641  CornerLabel("#nu-beam");
642  CenterTitles(hratioNuePi);
643  c1->Write("nue1Dpi");
644 
645  }
void Simulation()
Definition: tools.h:16
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
enum BeamMode kRed
TH1D * hist2
Definition: plotHisto.C:12
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
Definition: Spectrum.cxx:148
TH2 * fNumuPiWeights
Definition: BENDecomp.h:198
void CornerLabel(std::string &s)
Definition: numu_tools.h:145
bool fIsDecomposed
Definition: BENDecomp.h:197
void CenterTitles(TH1 *histo)
Definition: Plots.cxx:1481
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
Spectrum fNumuSelData
Definition: BENDecomp.h:181
#define pot
double POT() const
Definition: Spectrum.h:227
void Preliminary()
void Decompose() const
Definition: BENDecomp.cxx:195
TH3 * ToTH3(double exposure, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Spectrum must be 3D to obtain TH3.
Definition: Spectrum.cxx:187
TDirectory * dir
Definition: macro.C:5
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
Spectrum fNueCCFromPiEstim
Definition: BENDecomp.h:194
c1
Definition: demo5.py:24
enum BeamMode kGreen
void rootlogon()
Definition: rootlogon.C:7
std::string UniqueName()
Return a different string each time, for creating histograms.
Definition: Utilities.cxx:29
void ana::BENDecomp::SaveTo ( TDirectory *  dir,
const std::string name 
) const
overridevirtual

Implements ana::IDecomp.

Definition at line 387 of file BENDecomp.cxx.

References dir, fAntiNue, fAntiNumu, fData, fIsFixedKaScale, fKaonNormalization, fNCTot, fNotNue, fNue, fNueCCFromKa, fNueCCFromOther, fNueCCFromPi, fNueCCFromPiPtPz, fNumu, fNumuSelBkg, fNumuSelCCFromKa, fNumuSelCCFromOther, fNumuSelCCFromPi, fNumuSelCCFromPiPtPz, fNumuSelData, fNumuUncontainBkg, fNumuUncontainCCFromKa, fNumuUncontainCCFromOther, fNumuUncontainCCFromPi, fNumuUncontainData, fTotal, ana::Spectrum::SaveTo(), tmp, and registry_explorer::v.

Referenced by make_decomp(), and nue_decomp_scales().

388  {
389  TDirectory* tmp = gDirectory;
390 
391  dir = dir->mkdir(name.c_str()); // switch to subdir
392  dir->cd();
393 
394  TObjString("BENDecomp").Write("type");
395 
396  if(fIsFixedKaScale){
398  v.Write("KaonNormalization");
399  }
400  else{
401  fNumuUncontainData.SaveTo(dir, "numu_uncontain_data");
402  fNumuUncontainBkg.SaveTo(dir, "numu_uncontain_bkg");
403  fNumuUncontainCCFromPi.SaveTo(dir, "numuCC_uncontain_from_pi");
404  fNumuUncontainCCFromKa.SaveTo(dir, "numuCC_uncontain_from_ka");
405  fNumuUncontainCCFromOther.SaveTo(dir, "numuCC_uncontain_from_other");
406  }
407  fData.SaveTo(dir, "data_comp");
408  fNCTot.SaveTo(dir, "nc_tot_comp");
409  fNue.SaveTo(dir, "nue_comp");
410  fAntiNue.SaveTo(dir, "antinue_comp");
411  fNumu.SaveTo(dir, "numu_comp");
412  fAntiNumu.SaveTo(dir, "antinumu_comp");
413  fTotal.SaveTo(dir, "total_comp");
414  fNotNue.SaveTo(dir, "not_nue_comp");
415 
416  fNueCCFromPi.SaveTo(dir, "nueCC_from_pi");
417  fNueCCFromKa.SaveTo(dir, "nueCC_from_ka");
418  fNueCCFromOther.SaveTo(dir, "nueCC_from_other");
419  fNueCCFromPiPtPz.SaveTo(dir, "nueCC_from_pi_pt_pz");
420 
421  fNumuSelData.SaveTo(dir, "numu_sel_data");
422  fNumuSelBkg.SaveTo(dir, "numu_sel_bkg");
423  fNumuSelCCFromPi.SaveTo(dir, "numuCC_from_pi");
424  fNumuSelCCFromKa.SaveTo(dir, "numuCC_from_ka");
425  fNumuSelCCFromOther.SaveTo(dir, "numuCC_from_other");
426  fNumuSelCCFromPiPtPz.SaveTo(dir, "numuCC_from_pi_pt_pz");
427 
428  dir->Write();
429  delete dir;
430 
431  tmp->cd();
432  }
Spectrum fNumuUncontainData
Definition: BENDecomp.h:188
const XML_Char * name
Definition: expat.h:151
Spectrum fNueCCFromPiPtPz
Definition: BENDecomp.h:179
Spectrum fNueCCFromPi
Definition: BENDecomp.h:176
bool fIsFixedKaScale
Definition: BENDecomp.h:199
Spectrum fNumuUncontainCCFromPi
Definition: BENDecomp.h:190
Spectrum fAntiNumu
Definition: BENDecomp.h:172
Spectrum fNueCCFromKa
Definition: BENDecomp.h:177
Float_t tmp
Definition: plot.C:36
Spectrum fNumuSelCCFromPi
Definition: BENDecomp.h:183
Spectrum fNumuSelCCFromKa
Definition: BENDecomp.h:184
Spectrum fTotal
Definition: BENDecomp.h:173
Spectrum fData
Definition: BENDecomp.h:167
Spectrum fNumuSelCCFromOther
Definition: BENDecomp.h:185
Spectrum fNumuSelData
Definition: BENDecomp.h:181
void SaveTo(TDirectory *dir, const std::string &name) const
Definition: Spectrum.cxx:506
Spectrum fNumuUncontainBkg
Definition: BENDecomp.h:189
Spectrum fNueCCFromOther
Definition: BENDecomp.h:178
TDirectory * dir
Definition: macro.C:5
Spectrum fNotNue
Definition: BENDecomp.h:174
Spectrum fNumuSelCCFromPiPtPz
Definition: BENDecomp.h:186
Spectrum fNumuSelBkg
Definition: BENDecomp.h:182
double fKaonNormalization
Definition: BENDecomp.h:200
Spectrum fNumu
Definition: BENDecomp.h:171
Spectrum fNumuUncontainCCFromOther
Definition: BENDecomp.h:192
Spectrum fAntiNue
Definition: BENDecomp.h:170
Spectrum fNCTot
Definition: BENDecomp.h:168
Spectrum fNumuUncontainCCFromKa
Definition: BENDecomp.h:191
Spectrum fNue
Definition: BENDecomp.h:169

Member Data Documentation

Spectrum ana::BENDecomp::fAntiNue
protected

Definition at line 170 of file BENDecomp.h.

Referenced by AntiNueComponent(), MC_AntiNueComponent(), and SaveTo().

Spectrum ana::BENDecomp::fAntiNumu
protected

Definition at line 172 of file BENDecomp.h.

Referenced by AntiNumuComponent(), MC_AntiNumuComponent(), and SaveTo().

Spectrum ana::BENDecomp::fData
protected
bool ana::BENDecomp::fIsDecomposed
mutableprotected
bool ana::BENDecomp::fIsFixedKaScale
protected

Definition at line 199 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

double ana::BENDecomp::fKaonNormalization
mutableprotected
Spectrum ana::BENDecomp::fNCTot
protected

Definition at line 168 of file BENDecomp.h.

Referenced by MC_NCTotalComponent(), NCTotalComponent(), and SaveTo().

Spectrum ana::BENDecomp::fNotNue
protected
Spectrum ana::BENDecomp::fNue
protected

Definition at line 169 of file BENDecomp.h.

Referenced by MC_NueComponent(), SavePlots(), and SaveTo().

Spectrum ana::BENDecomp::fNueCCFromKa
protected

Definition at line 177 of file BENDecomp.h.

Referenced by NueEstimateFromKa(), SavePlots(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fNueCCFromKaEstim
mutableprotected

Definition at line 195 of file BENDecomp.h.

Referenced by NueEstimate(), NueEstimateFromKa(), NueKaEstimate(), SavePlots(), and SavePlotsKa().

Spectrum ana::BENDecomp::fNueCCFromOther
protected

Definition at line 178 of file BENDecomp.h.

Referenced by NueEstimate(), SavePlots(), and SaveTo().

Spectrum ana::BENDecomp::fNueCCFromPi
protected

Definition at line 176 of file BENDecomp.h.

Referenced by SavePlots(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNueCCFromPiEstim
mutableprotected

Definition at line 194 of file BENDecomp.h.

Referenced by NueEstimate(), NueEstimateFromPi(), NuePiEstimate(), SavePlots(), and SavePlotsPi().

Spectrum ana::BENDecomp::fNueCCFromPiPtPz
protected

Definition at line 179 of file BENDecomp.h.

Referenced by NueEstimateFromPi(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumu
protected

Definition at line 171 of file BENDecomp.h.

Referenced by MC_NumuComponent(), NumuComponent(), and SaveTo().

TH2* ana::BENDecomp::fNumuPiWeights
mutableprotected
Spectrum ana::BENDecomp::fNumuSelBkg
protected

Definition at line 182 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuSelCCFromKa
protected

Definition at line 184 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuSelCCFromOther
protected

Definition at line 185 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuSelCCFromPi
protected

Definition at line 183 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuSelCCFromPiPtPz
protected

Definition at line 186 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuSelData
protected

Definition at line 181 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), MakeWeightsNumuFromPion(), SavePlotsPi(), and SaveTo().

Spectrum ana::BENDecomp::fNumuUncontainBkg
protected

Definition at line 189 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fNumuUncontainCCFromKa
protected

Definition at line 191 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fNumuUncontainCCFromOther
protected

Definition at line 192 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fNumuUncontainCCFromPi
protected

Definition at line 190 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fNumuUncontainData
protected

Definition at line 188 of file BENDecomp.h.

Referenced by MakeWeightsNumuFromKaon(), SavePlotsKa(), and SaveTo().

Spectrum ana::BENDecomp::fTotal
protected

Definition at line 173 of file BENDecomp.h.

Referenced by SaveTo().


The documentation for this class was generated from the following files: