1 #ifndef PROTODUNESELECTIONUTILS_h 2 #define PROTODUNESELECTIONUTILS_h 9 #include <TGraphAsymmErrors.h> 12 namespace ProtoDUNESelectionUtils{
17 std::string topo,
int toponum,
double endZ_cut,
double minval=0.0,
18 double maxval=100000.0,
bool doNegativeReco=
false,
int doSyst=0,
20 std::pair<double, double> PiMuScale = {1., 1.});
24 int toponum,
double minval,
double maxval,
double endZ_cut,
25 bool doNegativeReco=
false,
int doSyst=0,
std::string systName=
"",
26 double weight=1.0, std::pair<double, double> PiMuScale = {1., 1.});
31 int toponum,
double reco_beam_endZ_cut,
double minval = 0.,
32 double maxval = 100000.,
bool doNegativeReco =
false,
34 std::pair<double, double> PiMuScale = {1., 1.});
43 double reco_beam_endZ_cut,
44 bool doNegativeReco =
false,
bool IsIncidentHisto =
false);
49 std::vector<double> binning,
double weight = 1.);
54 std::vector<double> binning,
double weight = 1.);
58 std::vector<double> Bins,
int mode = 1,
double weight=1.0);
67 std::vector<double> bins,
double reco_beam_endZ_cut,
68 int doSyst = 0,
double weight = 1.);
73 std::string topo,
int toponum,
double endZ_cut,
int doSyst = 0,
TH1 * FillMCFlux_Pions(std::string filename, std::string treename, std::vector< double > Bins, int mode=1, double weight=1.0)
TH1 * FillMCIncidentHistogram_Pions(std::string filename, std::string treename, std::vector< double > recoBins, std::string topo, int toponum, double reco_beam_endZ_cut, double minval=0., double maxval=100000., bool doNegativeReco=false, int doSyst=0, std::string systName="", double weight=1.0, std::pair< double, double > PiMuScale={1., 1.})
TH1 * FillMCBackgroundHistogram_Pions(std::string filename, std::string treename, std::vector< double > recoBins, std::string channel, std::string topo, int toponum, double endZ_cut, double minval=0.0, double maxval=100000.0, bool doNegativeReco=false, int doSyst=0, std::string systName="", double weight=1.0, std::pair< double, double > PiMuScale={1., 1.})
TH1 * FillDataHistogram_Pions(std::string filename, std::string treename, std::vector< double > recoBins, std::string channel, double reco_beam_endZ_cut, bool doNegativeReco=false, bool IsIncidentHisto=false)
int FindBin(double value, std::vector< double > binning)
std::pair< TH1 *, TH1 * > GetMCIncidentEfficiency(std::string fileName, std::string treeName, std::vector< double > bins, double reco_beam_endZ_cut, int doSyst=0, double weight=1.)
TH1 * FillMCTruthSignalHistogram_Pions(std::string filename, std::string treename, std::vector< double > truthBins, std::string channel, double weight=1.0)
TH1 * FillDataSidebandHistogram_Pions(std::string filename, std::string treename, std::string channel, double endZ_cut, std::vector< double > binning, double weight=1.)
std::pair< TH1 *, TH1 * > GetMCInteractingEfficiency(std::string fileName, std::string treeName, std::vector< double > bins, std::string channel, std::string topo, int toponum, double endZ_cut, int doSyst=0, double weight=1.)
TH1 * FillMCSignalHistogram_Pions(std::string filename, std::string treename, std::vector< double > recoBins, std::string channel, std::string topo, int toponum, double minval, double maxval, double endZ_cut, bool doNegativeReco=false, int doSyst=0, std::string systName="", double weight=1.0, std::pair< double, double > PiMuScale={1., 1.})
TH1 * FillMCSidebandHistogram_Pions(std::string filename, std::string treename, std::string channel, std::string topo, int toponum, double endZ_cut, std::vector< double > binning, double weight=1.)
int GetNTriggers_Pions(std::string filename, std::string treename, bool IsMC=true)