7 #include "../WorkshopIncludes.h" 11 TFile* fPred_addExpt =
new TFile(
"../Predictions/Prediction_epoch3b_someSysts_kCCE.root");
12 PredictionInterp* prediction_ugly = LoadFrom<PredictionInterp>(fPred_addExpt->GetDirectory(
"pred_ugly")).
release();
13 PredictionInterp* prediction_bad = LoadFrom<PredictionInterp>(fPred_addExpt->GetDirectory(
"pred_bad")).
release();
14 PredictionInterp* prediction_good = LoadFrom<PredictionInterp>(fPred_addExpt->GetDirectory(
"pred_good")).
release();
16 PredictionInterp* prediction_std = LoadFrom<PredictionInterp>(fPred_addExpt->GetDirectory(
"pred_std")).
release();
18 fPred_addExpt->Close();
20 osc::OscCalculatorPMNSOpt
calc;
23 calc.SetTh23(TMath::ASin(
sqrt(0.403)));
24 calc.SetDmsq32(2.67
e-3);
27 std::vector<const ISyst*> someSysts = {&
kNumuNCScaleSyst, &kSAMuEnergyScaleSyst,
28 &kFDSAMuEnergyScaleSyst, &kSARelHadESyst };
49 std::vector<const IExperiment*> vConstraints;
50 vConstraints.push_back(&fakeExpt);
61 std::vector<const IExperiment*> vExpts;
62 vExpts.push_back(&fakeExpt_ugly);
63 vExpts.push_back(&fakeExpt_bad);
64 vExpts.push_back(&fakeExpt_good);
72 Surface* surface =
new Surface( &ExptWconstr, &calc,
76 Surface* surfaceExtra =
new Surface( &multiExpt, &calc,
81 TCanvas*
c =
new TCanvas();
82 c->SetLeftMargin(0.12);
83 c->SetBottomMargin(0.15);
85 surface->DrawBestFit(
kBlue);
88 surfaceExtra->DrawBestFit(
kRed);
91 c->SaveAs(
"../Contours/ExtrapOscparAndSysts.root");
92 c->SaveAs(
"../Contours/ExtrapOscparAndSysts.pdf");
97 TH1* profileSinsq =
Profile(&ExptWconstr, &calc,
101 TH1* profileSinsqMulti =
Profile(&multiExpt, &calc,
105 profileSinsq->SetLineColor(
kBlue);
106 profileSinsq->Draw(
"hist");
107 profileSinsqMulti->SetLineColor(
kRed);
108 profileSinsqMulti->SetLineStyle(7);
109 profileSinsqMulti->Draw(
"hist same");
114 c->SaveAs(
"../Contours/1D_SomeSysts.root");
115 c->SaveAs(
"../Contours/1D_SomeSysts.pdf");
const NumuNCScaleSyst kNumuNCScaleSyst
Implements systematic errors by interpolation between shifted templates.
void ResetOscCalcToDefault(osc::IOscCalcAdjustable *calc)
Reset calculator to default assumptions for all parameters.
Constraints on the parameters and from solar experiments.
void saveContours_systs()
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
Representation of a spectrum in any variable, with associated POT.
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
Spectrum Predict(osc::IOscCalc *calc) const override
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 FitSinSq2Theta13 kFitSinSq2Theta13
const double kSecondAnaPOT
Compare a single data spectrum to the MC + cosmics expectation.