7 #include "../WorkshopIncludes.h" 12 TFile* fPred_p1 =
new TFile(
"../Predictions/Prediction_period1_systs_kCCE.root");
13 PredictionInterp* prediction_ugly_p1 = LoadFrom<PredictionInterp>(fPred_p1->GetDirectory(
"pred_ugly")).
release();
15 PredictionInterp* prediction_good_p1 = LoadFrom<PredictionInterp>(fPred_p1->GetDirectory(
"pred_good")).
release();
21 TFile* fPred_p2 =
new TFile(
"../Predictions/Prediction_period2_systs_kCCE.root");
22 PredictionInterp* prediction_ugly_p2 = LoadFrom<PredictionInterp>(fPred_p2->GetDirectory(
"pred_ugly")).
release();
24 PredictionInterp* prediction_good_p2 = LoadFrom<PredictionInterp>(fPred_p2->GetDirectory(
"pred_good")).
release();
30 TFile* fPred_3b =
new TFile(
"../Predictions/Prediction_epoch3b_systs_kCCE.root");
31 PredictionInterp* prediction_ugly_3b = LoadFrom<PredictionInterp>(fPred_3b->GetDirectory(
"pred_ugly")).
release();
33 PredictionInterp* prediction_good_3b = LoadFrom<PredictionInterp>(fPred_3b->GetDirectory(
"pred_good")).
release();
39 TFile* fPred_3c =
new TFile(
"../Predictions/Prediction_period1_systs_kCCE.root");
40 PredictionInterp* prediction_ugly_3c = LoadFrom<PredictionInterp>(fPred_3c->GetDirectory(
"pred_ugly")).
release();
42 PredictionInterp* prediction_good_3c = LoadFrom<PredictionInterp>(fPred_3c->GetDirectory(
"pred_good")).
release();
76 osc::OscCalculatorPMNSOpt
calc;
79 calc.SetTh23(TMath::ASin(
sqrt(0.403)));
80 calc.SetDmsq32(2.67
e-3);
82 std::vector<const ISyst*>
systs = getAllNumuSysts();
88 Spectrum fakePred = prediction_std->Predict(&calc);
95 Spectrum fakePred_bad = prediction_bad->Predict(&calc);
98 Spectrum fakePred_good = prediction_good->Predict(&calc);
104 std::vector<const IExperiment*> vConstraints;
105 vConstraints.push_back(&fakeExpt);
116 std::vector<const IExperiment*> vExpts;
117 vExpts.push_back(&fakeExpt_ugly);
118 vExpts.push_back(&fakeExpt_bad);
119 vExpts.push_back(&fakeExpt_good);
127 Surface* surface =
new Surface( &ExptWconstr, &calc,
131 Surface* surfaceExtra =
new Surface( &multiExpt, &calc,
136 TCanvas*
c =
new TCanvas();
137 c->SetLeftMargin(0.12);
138 c->SetBottomMargin(0.15);
140 surface->DrawBestFit(
kBlue);
143 surfaceExtra->DrawBestFit(
kRed);
146 c->SaveAs(
"../Contours/Complete.root");
147 c->SaveAs(
"../Contours/Complete.pdf");
152 TH1* profileSinsq =
Profile(&ExptWconstr, &calc,
156 TH1* profileSinsqMulti =
Profile(&multiExpt, &calc,
160 profileSinsq->SetLineColor(
kBlue);
161 profileSinsq->Draw(
"hist");
162 profileSinsqMulti->SetLineColor(
kRed);
163 profileSinsqMulti->SetLineStyle(7);
164 profileSinsqMulti->Draw(
"hist same");
169 c->SaveAs(
"../Contours/1D_Complete.root");
170 c->SaveAs(
"../Contours/1D_Complete.pdf");
Implements systematic errors by interpolation between shifted templates.
void ResetOscCalcToDefault(osc::IOscCalcAdjustable *calc)
Reset calculator to default assumptions for all parameters.
const double kSecondAnaPeriod2POT
Constraints on the parameters and from solar experiments.
const double kSecondAnaEpoch3dPOT
const double kSecondAnaEpoch3bPOT
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 double kSecondAnaPeriod1POT
Representation of a spectrum in any variable, with associated POT.
void saveContours_complete()
Spectrum FakeData(double pot) const
Synonymous with AsimovData(). Retained for compatibility.
const ReactorExperiment * WorldReactorConstraint2016()
Updated value for SecondAna based on the latest PDG.
const ConstrainedFitVarWithPrior fitDmSq32Scaled_UniformPrior & kFitDmSq32Scaled
Combine multiple component experiments.
TH2 * Gaussian90Percent2D(const FrequentistSurface &s)
Up-value surface for 90% confidence in 2D in gaussian approximation.
const ConstrainedFitVarWithPrior fitSsqTh23_UniformPriorSsqTh23 & kFitSinSqTheta23
const double kSecondAnaEpoch3cPOT
Sum MC predictions from different periods scaled according to data POT targets.
const double kSecondAnaPOT
Spectrum Predict(osc::IOscCalc *calc) const override
Compare a single data spectrum to the MC + cosmics expectation.
std::vector< const IFitVar * > getNumuMarginalisedOscParam()