38 bool fhc = opt.Contains(
"FHC", TString::kIgnoreCase);
39 bool rhc = opt.Contains(
"RHC", TString::kIgnoreCase);
42 bool oned = opt.Contains(
"1D", TString::kIgnoreCase);
43 bool twod = opt.Contains(
"2D", TString::kIgnoreCase);
46 bool systematics = opt.Contains(
"syst", TString::kIgnoreCase);
47 bool cos = opt.Contains(
"cos", TString::kIgnoreCase);
48 bool data = opt.Contains(
"data", TString::kIgnoreCase);
50 bool scale = opt.Contains(
"scale", TString::kIgnoreCase);
59 double scale_pot = opt.Contains(
"125")? 12.5 : opt.Contains(
"12")? 12 : opt.Contains(
"35")? 35 : -1;
61 pot = scale_pot * 1e20;
72 std::vector<const ISyst*>
systs = {};
100 std::vector<const IFitVar*> prof_vars_th24 = prof_vars, prof_vars_th34 = prof_vars;
105 int nbins34_1d = 240, nbins34_2d = 60;
108 float nbins24_1d = 20, nbins24_2d = 40;
113 TH1* ProfileTh24, *ProfileTh34;
118 -1, prof_vars_th24, systs);
122 -1, prof_vars_th34, systs);
131 std::map<const IFitVar*, std::vector<double> > seedPoints;
136 prof_vars, systs, seedPoints);
140 TFile*
outFile =
new TFile(
"ExtrapSurface.root",
"RECREATE");
142 ProfileTh24->Write(
"ProfileTh24");
143 ProfileTh34->Write(
"ProfileTh34");
146 SurfaceTh34Th24->
SaveTo(outFile,
"SurfaceTh34Th24");
IPrediction * LoadExtrapPrediction(TString opt)
Spectrum LoadCosmicSpectrum(bool rhc=false)
Function to return cosmic spectrum.
Cuts and Vars for the 2020 FD DiF Study.
void SetNFlavors(int nflavors)
A simple Gaussian constraint on an arbitrary IFitVar.
virtual Spectrum Predict(osc::IOscCalc *calc) const =0
void OverridePOT(double newpot)
DO NOT USE UNLESS YOU ARE 110% CERTAIN THERE ISN'T A BETTER WAY!
std::vector< const ISyst * > LoadISysts()
Function to load ISysts.
Adapt the PMNS_Sterile calculator to standard interface.
TGraph * Profile(const IExperiment *expt, osc::IOscCalcAdjustable *calc, const IFitVar *v, int nbinsx, double minx, double maxx, double input_minchi, const std::vector< const IFitVar * > &profVars, const std::vector< const ISyst * > &profSysts, const SeedList &seedPts, const std::vector< SystShifts > &systSeedPts, std::map< const IFitVar *, TGraph * > &profVarsMap, std::map< const ISyst *, TGraph * > &profSystsMap, MinuitFitter::FitOpts opts)
scan in one variable, profiling over all others
const FitTheta24InDegreesSterile kFitTheta24InDegreesSterile
void SetAngles(osc::OscCalcSterile *calc)
void Scale(double c)
Multiply this spectrum by a constant c.
Representation of a spectrum in any variable, with associated POT.
const double kAna2018RHCPOT
const XML_Char const XML_Char * data
const FitDelta24InPiUnitsSterile kFitDelta24InPiUnitsSterile
Log-likelihood scan across two parameters.
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.
Sum up livetimes from individual cosmic triggers.
Spectrum FakeData(double pot) const
Synonymous with AsimovData(). Retained for compatibility.
Spectrum LoadData(bool nd, bool rhc=false)
Function to load NuS data file.
Combine multiple component experiments.
void SaveTo(TDirectory *dir, const std::string &name) const
const FitSinSqTheta23Sterile kFitSinSqTheta23Sterile
assert(nhit_max >=nhit_nbins)
const FitTheta34InDegreesSterile kFitTheta34InDegreesSterile
Standard interface to all prediction techniques.
const double kAna2018FHCPOT
double Livetime() const
Seconds. For informational purposes only. No calculations use this.
const double kAna2018FHCLivetime
const double kAna2018RHCLivetime
Compare a single data spectrum to the MC + cosmics expectation.