Public Types | |
enum | OptimizeMethod_t { kBinByBin, kIntegratedUp, kIntegratedDown, kIntegratedInsideBounds } |
enum | FOM_t { kdSigmaOverSigma } |
Public Member Functions | |
CutOptimization (const HistAxis *hist_axis, const Cut *signal_cut, const Cut *selection_cut) | |
void | DefineNominal (SystematicDef *nominal) |
void | DefineSystematic (SystematicDef *syst) |
void | DefineMultiverseSystematic (SystematicDef *syst, std::vector< Var > mv_weights) |
void | DefineMultiverseSystematic (SystematicDef *syst, std::vector< SystShifts > mv_shifts) |
void | SetSpillCuts (const SpillCut &) |
void | Go () |
void | SaveTo (TDirectory *dir, const std::string &name) const |
CutOptimization (const CutOptimization &rhs) | |
CutOptimization (CutOptimization &&rhs) | |
CutOptimization & | operator= (const CutOptimization &rhs) |
CutOptimization & | operator= (CutOptimization &&rhs) |
~CutOptimization ()=default | |
void | Optimize (OptimizeMethod_t method, FOM_t fom, double data_pot, TDirectory *save_dir, std::string plot_dump=".", bool debug=false) |
CutOptimization (Spectrum *nominal_signal, Spectrum *nominal_bkgd, Spectrum *nominal_selected_signal, Spectrum *nominal_selected_bkgd, Spectrum *nominal_selected, std::vector< SystematicDef * > syst_defs, std::map< SystematicDef *, UpDownPair< Spectrum > > syst_signal, std::map< SystematicDef *, UpDownPair< Spectrum > > syst_bkgd, std::map< SystematicDef *, UpDownPair< Spectrum > > syst_selected_signal, std::map< SystematicDef *, UpDownPair< Spectrum > > syst_selected_bkgd, std::map< SystematicDef *, UpDownPair< Spectrum > > syst_selected, std::vector< SystematicDef * > mv_defs, std::map< SystematicDef *, Multiverse * > mv_signal, std::map< SystematicDef *, Multiverse * > mv_bkgd, std::map< SystematicDef *, Multiverse * > mv_selected_signal, std::map< SystematicDef *, Multiverse * > mv_selected_bkgd, std::map< SystematicDef *, Multiverse * > mv_selected) | |
std::vector< SystematicDef * > | GetSystDefs () |
std::vector< SystematicDef * > | GetMVSystDefs () |
std::vector< SystematicDef * > | GetAllSystDefs () |
Static Public Member Functions | |
static void | PlotDebug (TH1 *hist, std::string draw_option, std::string title, std::string name) |
static void | PlotDebug (std::vector< TH1 * > hists, std::vector< std::string > labels, std::string draw_option, std::string title, std::string name, double ymax=-1) |
static void | PlotDebug (const std::vector< TH1 * > universes, Spectrum *nominal, std::string title, std::string name) |
static void | PlotDebug (const std::vector< TH1 * > universes, TH1 *h_nominal, std::string title, std::string name) |
static std::unique_ptr< CutOptimization > | LoadFrom (TDirectory *dir, const std::string &name) |
static void | Integrate (TH1 *&result, const TH1 *tmp, OptimizeMethod_t method) |
static void | Integrate (Multiverse *mv, OptimizeMethod_t method) |
Private Member Functions | |
TH1 * | AbsUncertainty (const UpDownPair< TH1 > syst, const TH1 *nominal) const |
TH1 * | AbsUncertaintySquared (const UpDownPair< TH1 > syst, const TH1 *nominal) const |
UpDownPair< TH1 > | ToUpDownHist (Multiverse *mv, const TH1 *h_nominal) |
void | OptimizedSigmaOverSigma (OptimizeMethod_t method, double data_pot, TDirectory *save_dir, std::string plot_dump=".", bool debug=false) |
UpDownPair< TH1 > | Efficiency (UpDownPair< TH1 > num, UpDownPair< TH1 > denom, OptimizeMethod_t method) |
Multiverse * | Efficiency (Multiverse *num, Multiverse *denom, OptimizeMethod_t method) |
Static Private Member Functions | |
static TH1 * | ToHist (const Spectrum *spec, OptimizeMethod_t method, double POT=-1) |
static TH1 * | Efficiency (TH1 *num, TH1 *denom, OptimizeMethod_t method) |
Private Attributes | |
SystematicDef * | fNominalSystDef |
Spectrum * | fNominalSignal |
Spectrum * | fNominalBkgd |
Spectrum * | fNominalSelectedSignal |
Spectrum * | fNominalSelectedBkgd |
Spectrum * | fNominalSelected |
std::vector< SystematicDef * > | fSystDefs |
std::map< SystematicDef *, UpDownPair< Spectrum > > | fSignal |
std::map< SystematicDef *, UpDownPair< Spectrum > > | fBkgd |
std::map< SystematicDef *, UpDownPair< Spectrum > > | fSelectedSignal |
std::map< SystematicDef *, UpDownPair< Spectrum > > | fSelectedBkgd |
std::map< SystematicDef *, UpDownPair< Spectrum > > | fSelected |
std::vector< SystematicDef * > | fMVSystDefs |
std::map< SystematicDef *, Multiverse * > | fMVSignal |
std::map< SystematicDef *, Multiverse * > | fMVBkgd |
std::map< SystematicDef *, Multiverse * > | fMVSelectedSignal |
std::map< SystematicDef *, Multiverse * > | fMVSelectedBkgd |
std::map< SystematicDef *, Multiverse * > | fMVSelected |
const Cut * | fSignalCut = NULL |
const Cut * | fSelectionCut = NULL |
const HistAxis * | fOptiHistAxis = NULL |
Definition at line 21 of file CutOptimization.h.
Enumerator | |
---|---|
kBinByBin | |
kIntegratedUp | |
kIntegratedDown | |
kIntegratedInsideBounds |
Definition at line 49 of file CutOptimization.h.
ana::CutOptimization::CutOptimization | ( | const HistAxis * | hist_axis, |
const Cut * | signal_cut, | ||
const Cut * | selection_cut | ||
) |
Definition at line 134 of file CutOptimization.cxx.
ana::CutOptimization::CutOptimization | ( | const CutOptimization & | rhs | ) |
Definition at line 460 of file CutOptimization.cxx.
References ana::CopyUpDownSpectrum(), fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, fNominalSystDef, fOptiHistAxis, fSelected, fSelectedBkgd, fSelectedSignal, fSelectionCut, fSignal, fSignalCut, fSystDefs, and submit_hadd::u.
ana::CutOptimization::CutOptimization | ( | CutOptimization && | rhs | ) |
Definition at line 492 of file CutOptimization.cxx.
References ana::CopyUpDownSpectrum(), fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, fNominalSystDef, fOptiHistAxis, fSelected, fSelectedBkgd, fSelectedSignal, fSelectionCut, fSignal, fSignalCut, fSystDefs, and submit_hadd::u.
|
default |
ana::CutOptimization::CutOptimization | ( | Spectrum * | nominal_signal, |
Spectrum * | nominal_bkgd, | ||
Spectrum * | nominal_selected_signal, | ||
Spectrum * | nominal_selected_bkgd, | ||
Spectrum * | nominal_selected, | ||
std::vector< SystematicDef * > | syst_defs, | ||
std::map< SystematicDef *, UpDownPair< Spectrum > > | syst_signal, | ||
std::map< SystematicDef *, UpDownPair< Spectrum > > | syst_bkgd, | ||
std::map< SystematicDef *, UpDownPair< Spectrum > > | syst_selected_signal, | ||
std::map< SystematicDef *, UpDownPair< Spectrum > > | syst_selected_bkgd, | ||
std::map< SystematicDef *, UpDownPair< Spectrum > > | syst_selected, | ||
std::vector< SystematicDef * > | mv_defs, | ||
std::map< SystematicDef *, Multiverse * > | mv_signal, | ||
std::map< SystematicDef *, Multiverse * > | mv_bkgd, | ||
std::map< SystematicDef *, Multiverse * > | mv_selected_signal, | ||
std::map< SystematicDef *, Multiverse * > | mv_selected_bkgd, | ||
std::map< SystematicDef *, Multiverse * > | mv_selected | ||
) |
Definition at line 423 of file CutOptimization.cxx.
|
private |
Definition at line 1325 of file CutOptimization.cxx.
References std::abs(), ana::UpDownPair< W >::down, std::max(), runNovaSAM::ret, and ana::UpDownPair< W >::up.
Referenced by AbsUncertaintySquared(), and GetAllSystDefs().
|
private |
Definition at line 1351 of file CutOptimization.cxx.
References AbsUncertainty(), and runNovaSAM::ret.
Referenced by GetAllSystDefs().
void ana::CutOptimization::DefineMultiverseSystematic | ( | SystematicDef * | syst, |
std::vector< Var > | mv_weights | ||
) |
Definition at line 194 of file CutOptimization.cxx.
References fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fOptiHistAxis, fSelectionCut, fSignalCut, ana::GenericSystematicDef< SRType >::Loaders(), ana::GenericSystematicDef< SRType >::Shifts(), and ana::GenericSystematicDef< SRType >::Weight().
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_opt(), fiducial_optimization(), muonid_opt(), muonid_optimization(), and prongcvn_optimization().
void ana::CutOptimization::DefineMultiverseSystematic | ( | SystematicDef * | syst, |
std::vector< SystShifts > | mv_shifts | ||
) |
Definition at line 233 of file CutOptimization.cxx.
References fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fOptiHistAxis, fSelectionCut, fSignalCut, ana::GenericSystematicDef< SRType >::Loaders(), and ana::GenericSystematicDef< SRType >::Weight().
void ana::CutOptimization::DefineNominal | ( | SystematicDef * | nominal | ) |
Definition at line 141 of file CutOptimization.cxx.
References ana::GenericSystematicDef< SRType >::BuildSpectrum(), fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, fNominalSystDef, fSelectionCut, and fSignalCut.
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_opt(), fiducial_optimization(), muonid_opt(), muonid_optimization(), and prongcvn_optimization().
void ana::CutOptimization::DefineSystematic | ( | SystematicDef * | syst | ) |
Definition at line 154 of file CutOptimization.cxx.
References ana::GenericSystematicDef< SRType >::BuildSpectrumDown(), ana::GenericSystematicDef< SRType >::BuildSpectrumUp(), fBkgd, fSelected, fSelectedBkgd, fSelectedSignal, fSelectionCut, fSignal, fSignalCut, fSystDefs, and ana::GenericSystematicDef< SRType >::IsTwoSided().
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_opt(), fiducial_optimization(), muonid_opt(), muonid_optimization(), and prongcvn_optimization().
|
staticprivate |
Definition at line 789 of file CutOptimization.cxx.
References nd_projection_maker::eff, efficiency(), febshutoff_auto::integral, kIntegratedDown, kIntegratedInsideBounds, kIntegratedUp, std::sqrt(), and ana::UniqueName().
Referenced by Efficiency(), GetAllSystDefs(), and OptimizedSigmaOverSigma().
|
private |
Definition at line 837 of file CutOptimization.cxx.
References ana::UpDownPair< W >::down, Efficiency(), and ana::UpDownPair< W >::up.
|
private |
Definition at line 845 of file CutOptimization.cxx.
References ana::Multiverse::Divide(), nd_projection_maker::eff, Efficiency(), kIntegratedDown, kIntegratedInsideBounds, kIntegratedUp, and ana::Multiverse::Transform().
|
inline |
Definition at line 108 of file CutOptimization.h.
References AbsUncertainty(), AbsUncertaintySquared(), gen_hdf5record::debug, Efficiency(), fMVSystDefs, fSystDefs, num, OptimizedSigmaOverSigma(), POT, runNovaSAM::ret, string, ToHist(), and ToUpDownHist().
|
inline |
Definition at line 107 of file CutOptimization.h.
References fMVSystDefs.
|
inline |
Definition at line 106 of file CutOptimization.h.
References fSystDefs.
void ana::CutOptimization::Go | ( | ) |
Definition at line 265 of file CutOptimization.cxx.
References fMVSystDefs, fNominalSystDef, fSystDefs, ana::GenericSystematicDef< SRType >::Go(), and submit_hadd::u.
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_opt(), fiducial_optimization(), muonid_opt(), muonid_optimization(), and prongcvn_optimization().
|
static |
Definition at line 595 of file CutOptimization.cxx.
References ana::assert(), genie::utils::style::Format(), febshutoff_auto::integral, kIntegratedDown, kIntegratedInsideBounds, fillBadChanDBTables::result, tmp, and ana::UniqueName().
Referenced by Integrate(), OptimizedSigmaOverSigma(), and ToHist().
|
static |
Definition at line 867 of file CutOptimization.cxx.
References Integrate(), fillBadChanDBTables::result, and ana::Multiverse::Transform().
|
static |
Definition at line 343 of file CutOptimization.cxx.
References ana::assert(), dir, genie::utils::style::Format(), ana::Multiverse::LoadFrom(), ana::GenericSystematicDef< SRType >::LoadFrom(), ana::Spectrum::LoadFrom(), ana::LoadFromUpDownSpectra(), make_syst_table_plots::nsysts, and runNovaSAM::release.
Referenced by containment_optimization_plots(), demo_cut_optimization(), fiducial_optimization_plots(), fiducial_optimization_plots_2d(), and muonid_optimization_plots().
CutOptimization & ana::CutOptimization::operator= | ( | const CutOptimization & | rhs | ) |
Definition at line 526 of file CutOptimization.cxx.
References ana::CopyUpDownSpectrum(), fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, fNominalSystDef, fOptiHistAxis, fSelected, fSelectedBkgd, fSelectedSignal, fSelectionCut, fSignal, fSignalCut, fSystDefs, and submit_hadd::u.
CutOptimization & ana::CutOptimization::operator= | ( | CutOptimization && | rhs | ) |
Definition at line 561 of file CutOptimization.cxx.
References ana::CopyUpDownSpectrum(), fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, fNominalSystDef, fOptiHistAxis, fSelected, fSelectedBkgd, fSelectedSignal, fSelectionCut, fSignal, fSignalCut, fSystDefs, and submit_hadd::u.
void ana::CutOptimization::Optimize | ( | OptimizeMethod_t | method, |
FOM_t | fom, | ||
double | data_pot, | ||
TDirectory * | save_dir, | ||
std::string | plot_dump = "." , |
||
bool | debug = false |
||
) |
Definition at line 1361 of file CutOptimization.cxx.
References om::cout, allTimeWatchdog::endl, exit(), kdSigmaOverSigma, and OptimizedSigmaOverSigma().
|
private |
Definition at line 879 of file CutOptimization.cxx.
References std::abs(), canvas(), plot_validation_datamc::Clone(), om::cout, Efficiency(), exit(), fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, genie::utils::style::Format(), fSelected, fSelectedBkgd, fSelectedSignal, fSignal, fSystDefs, ana::Spectrum::GetLabels(), GetName(), Integrate(), kIntegratedDown, kIntegratedInsideBounds, kIntegratedUp, kRed, label, std::max(), maxy, mc_pot, ana::Spectrum::NDimensions(), ana::Spectrum::POT(), cet::pow(), std::sqrt(), string, systs, ToHist(), ToUpDownHist(), submit_hadd::u, and ana::UniqueName().
Referenced by GetAllSystDefs(), and Optimize().
|
static |
Definition at line 15 of file CutOptimization.cxx.
References plot_validation_datamc::c, and tmp.
Referenced by fiducial_optimization_plots(), muonid_optimization_plots(), and PlotDebug().
|
static |
Definition at line 35 of file CutOptimization.cxx.
References plot_validation_datamc::c, colors, make_mec_shifts_plots::GetMaximum(), kBlue, kGreen, kViolet, MECModelEnuComparisons::leg, std::max(), tmp, and submit_hadd::u.
|
static |
Definition at line 92 of file CutOptimization.cxx.
References PlotDebug(), ana::Spectrum::POT(), and ana::Spectrum::ToTH1().
|
static |
Definition at line 102 of file CutOptimization.cxx.
References plot_validation_datamc::c, make_mec_shifts_plots::GetMaximum(), std::max(), tmp, and submit_hadd::u.
void ana::CutOptimization::SaveTo | ( | TDirectory * | dir, |
const std::string & | name | ||
) | const |
Definition at line 277 of file CutOptimization.cxx.
References dir, fBkgd, fMVBkgd, fMVSelected, fMVSelectedBkgd, fMVSelectedSignal, fMVSignal, fMVSystDefs, fNominalBkgd, fNominalSelected, fNominalSelectedBkgd, fNominalSelectedSignal, fNominalSignal, genie::utils::style::Format(), fSelected, fSelectedBkgd, fSelectedSignal, fSignal, fSystDefs, GetName(), make_syst_table_plots::nsysts, ana::Spectrum::SaveTo(), ana::SaveToUpDownSpectra(), tmp, and submit_hadd::u.
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_opt(), fiducial_optimization(), muonid_opt(), muonid_optimization(), and prongcvn_optimization().
Definition at line 175 of file CutOptimization.cxx.
References fNominalSystDef, fSystDefs, ana::GenericSystematicDef< SRType >::Loaders(), ana::GenericSystematicDef< SRType >::LoadersUp(), and submit_hadd::u.
Referenced by containment_optimization(), demo_cut_optimization(), fiducial_optimization(), muonid_optimization(), and prongcvn_optimization().
|
staticprivate |
Definition at line 739 of file CutOptimization.cxx.
References om::cout, allTimeWatchdog::endl, exit(), Integrate(), kIntegratedDown, kIntegratedInsideBounds, kIntegratedUp, ana::Spectrum::NDimensions(), ana::Spectrum::POT(), runNovaSAM::ret, tmp, ana::Spectrum::ToTH1(), ana::Spectrum::ToTH2(), and ana::Spectrum::ToTH3().
Referenced by GetAllSystDefs(), and OptimizedSigmaOverSigma().
|
private |
Definition at line 716 of file CutOptimization.cxx.
References std::abs(), ana::Multiverse::GetMinusOneSigmaShift(), ana::Multiverse::GetPlusOneSigmaShift(), std::max(), and runNovaSAM::ret.
Referenced by GetAllSystDefs(), and OptimizedSigmaOverSigma().
|
private |
Definition at line 138 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 145 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 148 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 147 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 146 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 144 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 143 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), GetAllSystDefs(), GetMVSystDefs(), Go(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 131 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 134 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 133 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 132 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 130 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 129 of file CutOptimization.h.
Referenced by CutOptimization(), DefineNominal(), Go(), operator=(), and SetSpillCuts().
|
private |
Definition at line 153 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), and operator=().
|
private |
Definition at line 141 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 140 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 139 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 152 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), DefineNominal(), DefineSystematic(), and operator=().
|
private |
Definition at line 137 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), operator=(), OptimizedSigmaOverSigma(), and SaveTo().
|
private |
Definition at line 151 of file CutOptimization.h.
Referenced by CutOptimization(), DefineMultiverseSystematic(), DefineNominal(), DefineSystematic(), and operator=().
|
private |
Definition at line 136 of file CutOptimization.h.
Referenced by CutOptimization(), DefineSystematic(), GetAllSystDefs(), GetSystDefs(), Go(), operator=(), OptimizedSigmaOverSigma(), SaveTo(), and SetSpillCuts().