27 const std::vector<HistAxis>& axes,
28 const std::vector<double>& cut_pos,
29 std::vector<Spectrum>& sigs,
30 std::vector<Spectrum>& bkgs);
53 const std::vector<HistAxis>& axes,
54 std::vector<double>& cut_pos);
61 const std::vector<HistAxis>& axes,
62 std::vector<double>& cut_pos);
void OptimizeCuts(const std::string &wildcard, double pot, const Cut &sigcut, const Cut &presel, const std::vector< HistAxis > &axes, std::vector< double > &cut_pos)
Repeatedly invoke OptimizeOneCut until the FOM increase becomes small.
void MakeNMinusOneSpectra(SpectrumLoader &loader, const Cut &sigcut, const Cut &presel, const std::vector< HistAxis > &axes, const std::vector< double > &cut_pos, std::vector< Spectrum > &sigs, std::vector< Spectrum > &bkgs)
Make a series of spectra leaving out one cut in turn.
process_name opflashCryoW ana
double FindOptimumCut(TH1 *hsig, TH1 *hbkg, double &best_fom)
Search for optimum cut position given signal and background histograms.
_Cut< caf::SRSliceProxy > Cut
double OptimizeOneCut(const std::string &wildcard, double pot, const Cut &sigcut, const Cut &presel, const std::vector< HistAxis > &axes, std::vector< double > &cut_pos)
Scan all cuts and update the one giving the largest FOM gain.