34 SpectrumLoader lNonS(
"/pnfs/nova/scratch/users/bnayak/nue2017_fd_mc/prod_sumdecaf_R17-03-01-prod3reco.m_fd_rock+cosmic-overlay_genie_nonswap_fhc_nova_v08_full_v2_nue2017/*.root");
35 SpectrumLoader lSwap(
"/pnfs/nova/scratch/users/bnayak/nue2017_fd_mc/prod_sumdecaf_R17-03-01-prod3reco.m_fd_rock+cosmic-overlay_genie_fluxswap_fhc_nova_v08_full_v2_nue2017/*.root");
42 cout <<
"ATTENTION! THERE IS A DECAF CUT BELOW, BE CAREFUL!" <<
endl;
44 for(
int selIdx = 0; selIdx <
kNumSels; ++selIdx){
45 for (
int varIdx=0; varIdx<
kNumVars;varIdx++){
59 TFile*
file =
new TFile((
"rock_bkg_"+suffix+
".root").c_str(),
"RECREATE");
60 for(
int selIdx = 0; selIdx <
kNumSels; ++selIdx){
61 TDirectory*
d = file->mkdir(
selNames[selIdx].c_str());
62 for (
int varIdx=0; varIdx<
kNumVars;varIdx++){
Cuts and Vars for the 2020 FD DiF Study.
const std::vector< T > & GetVars() const
void SetSpillCut(const SpillCut &cut)
virtual void Go() override
Load all the registered spectra.
const HistDef defs[kNumVars]
const SystShifts kNoShift
const std::vector< Binning > & GetBinnings() const
Collaborates with Spectrum and OscillatableSpectrum to fill spectra from CAF files.
const Cut kInBeamSpill([](const caf::SRProxy *sr){if(sr->spill.run > util::kLastBadTimingRun) return kInBeamSpill_main(sr);else return kInBeamSpill_main(sr)||kInBeamSpill_shifted(sr);}, [](const caf::SRSpillProxy *spill){if(spill->run > util::kLastBadTimingRun) return kInBeamSpill_main.Livetime(spill);else return kInBeamSpill_main.Livetime(spill)+kInBeamSpill_shifted.Livetime(spill);}, [](const caf::SRSpillProxy *spill) -> double{return spill->spillpot;})
Does the event fall inside the window we call the beam spill?
const SpillCut kStandardSpillCuts
Apply this unless you're doing something special.
void Format(TGraph *gr, int lcol, int lsty, int lwid, int mcol, int msty, double msiz)
const Cut kNueFD2017DecafCut
const std::string selNames[kNumSels]
void rock(std::string suffix="full")
const std::vector< std::string > & GetLabels() const