5 #include "CAFAna/Core/Var.h" 6 #include "CAFAna/Core/Cut.h" 8 #include "CAFAna/Core/Binning.h" 78 virtual Spectrum NCTotalComponent()
const override;
79 virtual Spectrum NCComponent()
const override;
80 virtual Spectrum NCAntiComponent()
const override;
82 virtual Spectrum NumuComponent()
const override;
83 virtual Spectrum AntiNumuComponent()
const override;
84 virtual Spectrum NueComponent()
const override;
85 virtual Spectrum AntiNueComponent()
const override;
87 virtual Spectrum Data_Component()
const override;
89 virtual Spectrum MCTotal()
const{
return NCAntiComponent() +NCComponent()+NumuComponent()+AntiNumuComponent()+NueComponent()+AntiNueComponent();}
92 Spectrum MC_NCTotalComponent()
const override;
93 Spectrum MC_NCComponent()
const override;
94 Spectrum MC_NCAntiComponent()
const override;
95 Spectrum MC_NumuComponent()
const override;
96 Spectrum MC_AntiNumuComponent()
const override;
97 Spectrum MC_NueComponent()
const override;
98 Spectrum MC_AntiNueComponent()
const override;
100 virtual Spectrum MC_MCTotal()
const{
return MC_NCTotalComponent() + MC_NumuComponent() + MC_AntiNumuComponent() + MC_NueComponent() + MC_AntiNueComponent();}
102 void SavePlots(TDirectory*
dir)
const;
126 fMichelNumu(michelnumu),
127 fMichelNue(michelnue),
128 fMichelData(micheldata),
129 fNueEstimate(nueestimate),
130 fOwnNueEstimate(false),
131 isDecomposed(false) {}
133 void Decompose()
const;
143 std::vector<double> &numuScales,
144 std::vector<double> &ncScales,
145 std::vector<double> &nueScales)
const;
148 std::vector<double> &numuScales,
149 std::vector<double> &ncScales,
150 std::vector<double> &nueScales)
const;
154 double GetNueScale(
int EIdx)
const;
155 double GetNumuScale(
int EIdx)
const;
156 double GetNCScale(
int EIdx)
const;
157 double GetNumuMCContent(
int EIdx)
const;
158 double GetNCMCContent(
int EIdx)
const;
159 double ComputeScaleFactor(
int EIdx,
161 double CalculateMCMean(
double h,
166 double MDCMPLogLikelihood(
double h,
172 int EIdx,
int mIdx)
const;
179 void SaveCompPlots(TDirectory* dir,
std::string comp,
181 void SaveTempPlots(TDirectory* dir)
const;
std::vector< double > ncScales
Represent the binning of a Spectrum's x-axis.
Cuts and Vars for the 2020 FD DiF Study.
virtual Spectrum MCTotal() const
const Binning MEBinning
This is the Binning scheme used for the # Michel Templates.
void SaveTo(const osc::IOscCalc &x, TDirectory *dir, const std::string &name)
MichelDecomp(Spectrum nc, Spectrum antinc, Spectrum numu, Spectrum antinumu, Spectrum nue, Spectrum antinue, Spectrum data, ReweightableSpectrum michelnc, ReweightableSpectrum michelnumu, ReweightableSpectrum michelnue, ReweightableSpectrum micheldata, const IDecomp *nueestimate)
Simple record of shifts applied to systematic parameters.
Collection of SpectrumLoaders for many configurations.
Spectrum with the value of a second variable, allowing for reweighting
const IDecomp * fNueEstimate
std::unique_ptr< T > LoadFrom(TDirectory *dir, const std::string &label)
Representation of a spectrum in any variable, with associated POT.
const XML_Char const XML_Char * data
ReweightableSpectrum fMichelNumu
ReweightableSpectrum fMichelData
Help reduce verbosity when passing hist values between MichelDecomp funcs.
std::vector< double > nueScales
std::vector< double > numuScales
ReweightableSpectrum fMichelNue
const SystShifts kNoShift
Base class for the various types of spectrum loader.
virtual Spectrum MC_MCTotal() const
const IDecomp * GetNueEstimateDecomp() const
Collect information describing the x-axis of an analysis histogram.
Standard interface to all decomposition techniques.
const HistAxis MEAxis("N_{Michels}", MEBinning, kNMichels)
MDCMPFitResults fFitResult
const Var kUnweighted
The simplest possible Var, always 1. Used as a default weight.
ReweightableSpectrum fMichelNC