Uncertainty in the scale of a single component of the spectrum. More...
Public Types | |
enum | ESystType { kLinear, kExponential } |
Public Member Functions | |
GenericSystComponentScale (const std::string &shortName, const std::string &latexName, const _Cut< T > &cut, double oneSigma, ESystType type=kExponential) | |
double | OneSigmaScale () const |
Scaling this component between 1/(1+x) and (1+x) is the 1-sigma range. More... | |
const _Cut< T > & | GetCut () const |
void | Shift (double sigma, caf::SRProxy *rec, double &weight) const override |
Perform the systematic shift. More... | |
void | TruthShift (double sigma, caf::SRNeutrinoProxy *rec, double &weight) const override |
template<> | |
void | Shift (double sigma, caf::SRProxy *rec, double &weight) const |
Perform the systematic shift. More... | |
template<> | |
void | Shift (double sigma, caf::SRProxy *rec, double &weight) const |
Perform the systematic shift. More... | |
template<> | |
void | TruthShift (double sigma, caf::SRNeutrinoProxy *rec, double &weight) const |
template<> | |
void | TruthShift (double sigma, caf::SRNeutrinoProxy *rec, double &weight) const |
virtual const std::string & | ShortName () const final |
The name printed out to the screen. More... | |
virtual const std::string & | LatexName () const final |
The name used on plots (ROOT's TLatex syntax) More... | |
virtual bool | IsGenieReweight () const |
GENIE reweights can only provide +/-1,2sigma. More... | |
Protected Member Functions | |
void | DoShift (double sigma, T *rec, double &weight) const |
Protected Attributes | |
_Cut< T > | fCut |
double | fOneSigma |
ESystType | fType |
Uncertainty in the scale of a single component of the spectrum.
Definition at line 9 of file SystComponentScale.h.
enum ana::GenericSystComponentScale::ESystType |
Enumerator | |
---|---|
kLinear | |
kExponential |
Definition at line 12 of file SystComponentScale.h.
|
inline |
cut | Select the component to be scaled |
Definition at line 15 of file SystComponentScale.h.
|
protected |
Definition at line 13 of file SystComponentScale.cxx.
References std::max(), cet::pow(), and ana::GenericSystComponentScale< T >::Shift().
Referenced by ana::GenericSystComponentScale< T >::GetCut().
|
inline |
Definition at line 28 of file SystComponentScale.h.
References ana::GenericSystComponentScale< T >::DoShift(), ana::GenericSystComponentScale< T >::fCut, rec, ana::GenericSystComponentScale< T >::Shift(), sigma(), T, ana::GenericSystComponentScale< T >::TruthShift(), and ana::weight.
|
inlinevirtualinherited |
GENIE reweights can only provide +/-1,2sigma.
Reimplemented in ana::SummedSyst.
|
inlinefinalvirtualinherited |
The name used on plots (ROOT's TLatex syntax)
Definition at line 30 of file ISyst.h.
References ana::ISyst::fLatexName, ana::ISyst::Shift(), sigma(), sr, and ana::weight.
Referenced by ana::PredictionInterp::DebugPlotColz(), GetGENIEShiftLabels(), ana::NuISyst::SaveTo(), SystsGENIEAna(), and WriteSystName().
|
inline |
Scaling this component between 1/(1+x) and (1+x) is the 1-sigma range.
Definition at line 26 of file SystComponentScale.h.
References ana::GenericSystComponentScale< T >::fOneSigma.
|
virtual |
Perform the systematic shift.
Override this function if your systematic depends on non-SRNeutrino quantities. If it is SRNeutrino-only, implement the other function, and let this default forward to you when necessary.
sigma | Number of sigma to shift record by |
sr | The record to inspect and alter |
weight | Scale this weight for reweighting systematics |
Reimplemented from ana::ISyst.
Definition at line 29 of file SystComponentScale.cxx.
References ana::GenericSystComponentScale< T >::Shift().
|
overridevirtual |
Perform the systematic shift.
Override this function if your systematic depends on non-SRNeutrino quantities. If it is SRNeutrino-only, implement the other function, and let this default forward to you when necessary.
sigma | Number of sigma to shift record by |
sr | The record to inspect and alter |
weight | Scale this weight for reweighting systematics |
Reimplemented from ana::ISyst.
Referenced by ana::GenericSystComponentScale< T >::DoShift(), ana::GenericSystComponentScale< T >::GetCut(), and ana::GenericSystComponentScale< T >::Shift().
|
virtual |
Perform the systematic shift.
Override this function if your systematic depends on non-SRNeutrino quantities. If it is SRNeutrino-only, implement the other function, and let this default forward to you when necessary.
sigma | Number of sigma to shift record by |
sr | The record to inspect and alter |
weight | Scale this weight for reweighting systematics |
Reimplemented from ana::ISyst.
Definition at line 35 of file SystComponentScale.cxx.
References ana::ISyst::Shift(), and ana::GenericSystComponentScale< T >::TruthShift().
|
inlinefinalvirtualinherited |
The name printed out to the screen.
Definition at line 27 of file ISyst.h.
References ana::ISyst::fShortName.
Referenced by ana::PredictionSystJoint2018::AddNormSyst(), ana::PredictionSystJointDemo::AddNormSyst(), ana::PredictionSyst3Flavor2020::AddNormSyst(), ana::CovMxManager::AddSystematic(), ana::NuISyst::BaseName(), ana::PredictionInterp::DebugPlot(), DrawBins(), DrawPulls(), DrawSystShifts(), GetGENIEShiftLabels(), ana::SystShifts::GetShift(), ana::Nus17SystFromHist::LoadHists(), ana::NusSystFromHist::LoadHists(), ana::Nus18SystFromHist::LoadHists(), MakeCovarSim(), MakeCovMx(), MakeGENIEMatrix(), plot_3flavor_withsysts(), ana::PredictionSystJoint2018::PredictionSystJoint2018(), ana::PredictionSystJointDemo::PredictionSystJointDemo(), ana::MCMCSamples::SampleValue(), ana::NuISyst::SaveTo(), ana::SystShifts::SetShift(), ana::SortSystsName(), SystsGENIEAna(), test_stanfit_withsysts(), ana::MCMCSample::Val(), and ana::MCMCSamples::VarOffset().
|
overridevirtual |
For systematics that deal only with the neutrino truth and not any reconstruction/PID details. Systematics defined this way will work on nuTree-derived spectra too (e.g. denominators of efficiencies).
Reimplemented from ana::ISyst.
Referenced by ana::GenericSystComponentScale< T >::GetCut(), ana::GenericSystComponentScale< T >::Shift(), and ana::GenericSystComponentScale< T >::TruthShift().
|
virtual |
For systematics that deal only with the neutrino truth and not any reconstruction/PID details. Systematics defined this way will work on nuTree-derived spectra too (e.g. denominators of efficiencies).
Reimplemented from ana::ISyst.
Definition at line 41 of file SystComponentScale.cxx.
References ana::GenericSystComponentScale< T >::TruthShift().
|
virtual |
For systematics that deal only with the neutrino truth and not any reconstruction/PID details. Systematics defined this way will work on nuTree-derived spectra too (e.g. denominators of efficiencies).
Reimplemented from ana::ISyst.
Definition at line 47 of file SystComponentScale.cxx.
|
protected |
Definition at line 36 of file SystComponentScale.h.
Referenced by ana::GenericSystComponentScale< T >::GetCut().
|
protected |
Definition at line 37 of file SystComponentScale.h.
Referenced by ana::GenericSystComponentScale< T >::OneSigmaScale().
|
protected |
Definition at line 38 of file SystComponentScale.h.