7 #include "CAFAna/Cuts/NueCutsFirstAna.h" 31 #include "TMultiGraph.h" 45 TH1*& hSig, TH1*& hNue, TH1*& hCC, TH1*& hTau, TH1*& hTotBkg)
70 hTau->SetLineColor(kMagenta);
72 hTotBkg = (TH1*)hNue->Clone(
UniqueName().c_str());
79 TH2*& hSig, TH2*&hTotBkg)
101 hTotBkg = (TH2*)hNue->Clone(
UniqueName().c_str());
114 const double cos_scaling,
116 bool savePlots=
false)
126 sprintf(name,
"%s_%s_%s",
127 pred_basename.c_str(),
135 sprintf(name,
"%s_%s_%s",
136 spec_basename.c_str(),
143 TH2 *sighist, *bghist;
146 TH2* coshist = spec->
ToTH2(cos_scaling,
156 coshist->GetXaxis()->CenterTitle();
157 coshist->GetYaxis()->CenterTitle();
159 coshist->Draw(
"colz");
161 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dcos.png").c_str());
162 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dcos.eps").c_str());
163 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dcos.pdf").c_str());
164 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dcos.root").c_str());
173 sighist->GetXaxis()->CenterTitle();
174 sighist->GetYaxis()->CenterTitle();
175 sighist->Draw(
"colz");
177 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dsig.png").c_str());
178 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dsig.eps").c_str());
179 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dsig.pdf").c_str());
180 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dsig.root").c_str());
184 bghist->Draw(
"colz");
185 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dbg.png").c_str());
186 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dbg.eps").c_str());
187 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dbg.pdf").c_str());
188 gPad->SaveAs((
"plots2D/time_"+spec_basename+
cutnames_nminus1[ic]+
"2Dbg.root").c_str());
200 std::string fname =
"/nova/ana/users/gsdavies/nus/nus17/mcv1_2D_cut_tables_v2.root";
204 TFile
fin(fname.c_str());
211 TH1D*
time = (TH1D*)gDirectory->Get(
"time_cos");
217 std::cout<<
"\n--------------------------------------" 218 <<
"\n---------------N-1 Table -------------\n";
225 std::cout<<
"\n------------------------------------------" 226 <<
"\n--------------Cut Flow Table -------------\n";
TH2 * ToTH2(double exposure, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Spectrum must be 2D to obtain TH2.
Cuts and Vars for the 2020 FD DiF Study.
virtual Spectrum PredictComponent(osc::IOscCalc *calc, Flavors::Flavors_t flav, Current::Current_t curr, Sign::Sign_t sign) const =0
TH1D * ToTH1(double exposure, Color_t col=kBlack, Style_t style=kSolid, EExposureType expotype=kPOT, EBinType bintype=kBinContent) const
Histogram made from this Spectrum, scaled to some exposure.
void GetSpectra(IPrediction *pred, osc::IOscCalc *calc, TH1 *&hSig, TH1 *&hNue, TH1 *&hCC, TH1 *&hTau, TH1 *&hTotBkg)
General interface to oscillation calculators.
void GetSpectra2D(IPrediction *pred, osc::IOscCalc *calc, TH2 *&hSig, TH2 *&hTotBkg)
Adapt the PMNS_Sterile calculator to standard interface.
const Color_t kNumuBackgroundColor
Representation of a spectrum in any variable, with associated POT.
const Color_t kNueSignalColor
void scaling(TH1D *hIn, const double shape_scale)
Charged-current interactions.
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.
const std::string cutnames[ncuts]
const std::string cutnames_nminus1[ncuts_nminus1]
Oscillation probability calculators.
void print_nus17_fd_cut_tables2D(bool savePlots=false)
void print_tables(const std::string *cutnames, const std::string pred_basename, const std::string spec_basename, const std::string fname, const double cos_scaling, const int ncuts, bool savePlots=false)
Neutral-current interactions.
Both neutrinos and antineutrinos.
Standard interface to all prediction techniques.
const Color_t kTotalMCColor
All neutrinos, any flavor.
const Color_t kNCBackgroundColor
std::string UniqueName()
Return a different string each time, for creating histograms.