16 std::vector<covmx::Sample> samples =
37 TH1D* h_pred = pred_nom->Predict(
calc).ToTH1(pred_nom->GetPOTs().back());
38 for (
size_t i = 0;
i < pred_nom->NBins(); ++
i)
39 v_pred(
i) = h_pred->GetBinContent(
i+1);
48 CovarianceMatrix* mx =
new CovarianceMatrix(pred_nom->GetPOTs().back(),
49 pred_nom->GetBinning());
53 TFile*
fout = TFile::Open(
"covmx.root",
"recreate");
54 TDirectory* hist_dir = fout->mkdir(
"hists");
62 for (
size_t i = 0;
i < 10; ++
i) {
64 const ISyst* syst = genie_systs[
i];
70 std::vector<std::vector<const ISyst*>> corrsysts(2, std::vector<const ISyst*>());
71 pred_syst->SetSysts(
new SystConcat({
"nc_fhc_nd",
"nc_fhc_fd"}, {syst}, corrsysts));
75 CovarianceMatrix* mx_syst =
new CovarianceMatrix(pred_syst, { syst }, pred_syst->GetPOTs().back());
76 mx_syst->PredictCovMx(pred_nom,
calc);
77 TH2* h_mx = mx_syst->GetCovMxRelativeTH2(v_pred);
79 hist_dir->WriteTObject(h_mx, histname.c_str());
83 mx->AddMatrix(mx_syst);
85 mx_syst->SaveTo(fout, mxname.c_str());
92 mx->PredictCovMx(pred_nom,
calc);
93 mx->SaveTo(fout,
"covmx_all");
95 TH2* h_mx = mx->GetCovMxRelativeWithStatsTH2(v_pred);
96 hist_dir->WriteTObject(h_mx,
"mxhist_all");
Cuts and Vars for the 2020 FD DiF Study.
std::vector< const ISyst * > getAllXsecSysts_2018()
Get master XSec syst list for 2018 analyses.
IPrediction * GetPrediction(SystPredType predType, const HistAxis *axis, const HistAxis *numuAxis, const Cut *FDCut, const Cut *NDCut, const Cut *numuCut, const SystShifts *shiftData, const SystShifts *shiftMC, const Var *weight, Loaders *loaders, Loaders *loadersND)
virtual const std::string & ShortName() const final
The name printed out to the screen.
void SetAngles(osc::OscCalcSterile *calc)
Encapsulate code to systematically shift a caf::SRProxy.
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.