Base class for GEANT4 reinteraction systs. More...
Public Member Functions | |
ReinteractionSyst (std::string shortName, std::string latexName, int pdg, EG4RwChannel channel) | |
void | TruthShift (double sigma, caf::SRNeutrinoProxy *nu, double &weight) const override |
int | GetPdg () const |
EG4RwChannel | GetChannel () const |
std::vector< int > | GetKnobIndices () 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 void | Shift (double sigma, caf::SRProxy *sr, double &weight) const |
Perform the systematic shift. More... | |
virtual bool | IsGenieReweight () const |
GENIE reweights can only provide +/-1,2sigma. More... | |
Private Member Functions | |
double | GetWeight (double knobval, caf::SRNeutrinoProxy *nu) const |
void | SetKnobIndices () |
Private Attributes | |
int | fPdg |
PDG code of particle this syts is for. More... | |
EG4RwChannel | fChannel |
Scattering channel (knob) this syst is for. More... | |
std::vector< int > | fKnobIndices |
Indices in CAF vector of weights which pertain to this knob. More... | |
Base class for GEANT4 reinteraction systs.
Definition at line 17 of file ReinteractionSysts.h.
|
inline |
Definition at line 20 of file ReinteractionSysts.h.
References sigma(), and ana::weight.
|
inline |
Definition at line 31 of file ReinteractionSysts.h.
|
inline |
Definition at line 32 of file ReinteractionSysts.h.
|
inline |
Definition at line 30 of file ReinteractionSysts.h.
|
private |
Definition at line 21 of file ReinteractionSysts.cxx.
References ana::assert(), om::cerr, fKnobIndices, fPdg, caf::Proxy< caf::SRMCReweight >::geant4, MECModelEnuComparisons::i, ana::Interpolate(), caf::Proxy< caf::SRGeant4Weights >::piminus_univ, caf::Proxy< caf::SRGeant4Weights >::piplus_univ, caf::Proxy< caf::SRGeant4Weights >::proton_univ, and caf::Proxy< caf::SRNeutrino >::rwgt.
Referenced by TruthShift().
|
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(), ana::MCMCDiagnostics::GetAutocorrelations(), GetGENIEShiftLabels(), ana::MCMCDiagnostics::GetTrace(), ana::NuISyst::SaveTo(), SystsGENIEAna(), and WriteSystName().
|
private |
Definition at line 62 of file ReinteractionSysts.cxx.
References abs(), om::cout, allTimeWatchdog::endl, fChannel, fKnobIndices, fPdg, ana::kAbs, ana::kCex, ana::kDcex, ana::kProd, ana::kQe, and ana::kTot.
|
virtualinherited |
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 in ana::MinosResSuppSyst, ana::MECDoubleGaussEnhSystDOWN, ana::MECDoubleGaussEnhSystUP, ana::MECDoubleGaussEnhSyst, ana::MinosResSuppSyst, ana::MECGaussEnhSyst, ana::MECGaussEnhSyst, jw::MECInitStateNPFracShift, jw::CompNormSyst, ana::CompNormSyst, ana::CompNormSyst, ana::BolombMuESyst2019, ana::DISHighWScaleSyst, ana::ContainmentSyst, ana::PileupMuESyst2019, ana::PileupMuESyst2020, ana::NumuRelEnergyScaleSyst, ana::RockMuonNormSyst, ana::NumuEnergyScaleSyst, ana::RemIDScaleSyst, ana::UnCorrMuCatMuESyst2019, ana::LEMScaleSyst, ana::NumuRelNormSyst, ana::UnCorrMuCatMuESyst2020, demo::DemoSyst2, ana::DirectRelHadEScaleSyst2017, ana::BeamIntensitySyst, ana::NumuNormSyst, ana::Nus18BaseSyst, ana::UnCorrNDMuEScaleSyst2019, ana::KaonScaleSyst, ana::FDMuEnergyScaleSyst, ana::UnCorrNDMuEScaleSyst2020, ana::NumuTauContaminationSyst, ana::MyWrongSignScale, ana::MECDoubleGaussEnhSyst, ana::NueAcceptSystSignalKin2020RHC, ana::DirectHadEScaleSyst2017, ana::NumuCCScaleSyst, ana::Nus18FlatSyst, ana::FDHadEnergyScaleSyst, ana::NumuNCScaleSyst, ana::NueAcceptSystSignalKin2018RHC, ana::BeamNueScaleSyst, ana::NueAcceptSystBkg2018RHC, ana::UnCorrFDMuEScaleSyst2019, ana::UnCorrFDMuEScaleSyst2020, ana::MuEnergyScaleSyst, ana::WrongSignScale100, ana::NCScaleSyst, ana::covmx::NormSyst, ana::NusFlatSyst, ana::RelMuEScaleSyst2017, ana::MECDoubleGaussEnhSystNux, ana::Nus17FlatSyst, ana::Numutest, ana::NumuSummedSmallGENIESyst, ana::Nus18SystFromHist, ana::NusAna2020TauSyst, ana::NueAcceptSystSignalKin2020FHC, ana::WrongSignEnergyBin, ana::RelNormSyst, ana::MichelTaggingSyst2018, ana::Nuetest, ana::GenericSystComponentScale< T >, ana::CorrMuEScaleSyst2019, ana::CorrMuEScaleSyst2020, ana::NumuGEANTScaleSyst, ana::GenericSystComponentScale< T >, ana::HadEnergyScaleSyst, ana::NueAcceptSystSignalKin2018FHC, ana::NormSyst, ana::NusAna2020KaonSyst, ana::WrongSignEnergyBinRHC, ana::NuWROSyst, ana::GenericSystComponentScale< T >, ana::LeptonAngleSyst, ana::NueExtrapSystSignalKin2017, ana::SystFromWeight, ana::MuEScaleSyst2017, ana::NCtest, ana::NusSystFromHist, ana::NueSyst, ana::Nus17SystFromHist, ana::SummedSyst, ana::DummyNue2017Syst, ana::DummyNumu2017Syst, ana::GeniePCASyst, ana::NueAcceptSystBkg2018FHC, ana::NumuGEANTNormSyst, ana::DummyAnaSyst, ana::NeutronVisEScaleSyst2018, ana::NueExtrapSystBkg2017, ana::DummyRockScaleSyst, ana::MichelTaggingSyst2020, ana::CosmicBkgScaleSyst, ana::WrongSignScale, ana::WrongSignContamination, ana::NCSyst, and ana::NumuSyst.
Definition at line 26 of file ISyst.cxx.
References caf::Proxy< caf::StandardRecord >::mc, caf::Proxy< caf::SRTruthBranch >::nnu, caf::Proxy< caf::SRTruthBranch >::nu, and ana::ISyst::TruthShift().
Referenced by ana::ISyst::LatexName(), and ana::GenericSystComponentScale< T >::Shift().
|
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(), ana::MCMCDiagnostics::GetAutocorrelations(), GetGENIEShiftLabels(), ana::MCMCDiagnostics::GetIdx(), 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.
Definition at line 13 of file ReinteractionSysts.cxx.
References GetWeight().
|
private |
Scattering channel (knob) this syst is for.
Definition at line 36 of file ReinteractionSysts.h.
Referenced by SetKnobIndices().
|
private |
Indices in CAF vector of weights which pertain to this knob.
Definition at line 37 of file ReinteractionSysts.h.
Referenced by GetWeight(), and SetKnobIndices().
|
private |
PDG code of particle this syts is for.
Definition at line 35 of file ReinteractionSysts.h.
Referenced by GetWeight(), and SetKnobIndices().