16 #include "TDirectory.h" 37 bool oned = opt.Contains(
"1D", TString::kIgnoreCase);
38 bool twod = opt.Contains(
"2D", TString::kIgnoreCase);
46 TFile*
inFile =
new TFile(inFileName.c_str(),
"READ");
47 TH1* ProfileTh24 = (TH1*)inFile->Get(
"ProfileTh24");
48 TH1* ProfileTh34 = (TH1*)inFile->Get(
"ProfileTh34");
52 TFile*
outFile =
new TFile(saveName.c_str(),
"RECREATE");
73 TCanvas*
canv =
new TCanvas(
"canv",
"", 800, 600);
77 float xmin = hist->GetBinLowEdge(1);
78 float xmax = hist->GetBinLowEdge(hist->GetXaxis()->GetLast()+1);
79 float ymin = hist->GetMinimum();
80 float ymax = hist->GetMaximum();
85 line.SetLineStyle(kDashed);
86 line.SetLineColor(kBlack);
88 text.SetTextColor(kBlack);
90 text.SetTextSize(0.037);
91 text.SetTextAlign(11);
92 line.DrawLine(xmin, 1, xmax, 1);
93 text.DrawText(0+(xmax-xmin)/10., 1+(ymax-ymin)/100.,
"68% C.L.");
94 line.DrawLine(xmin, 9, xmax, 9);
95 text.DrawText(0+(xmax-xmin)/10., 9+(ymax-ymin)/100.,
"90% C.L.");
98 canv->Write(name.c_str());
109 TCanvas*
canv =
new TCanvas(
"canv",
"", 800, 600);
118 TLegend*
leg =
new TLegend(0.645,0.7,0.82,0.88);
119 TH1*
dummy =
new TH1F(
"",
"",1,0,1);
121 dummy->SetLineWidth(2);
122 dummy->SetLineStyle(kDashed);
123 leg->AddEntry(dummy->Clone(),
"68% C.L.",
"l");
124 dummy->SetLineStyle(kSolid);
125 leg->AddEntry(dummy->Clone(),
"90% C.L.",
"l");
133 std::stringstream
description, params4f, params3f, paramsDelta;
134 description <<
"#bf{NOvA Sensitivity}, 12 #times 10^{20} POT";
135 params4f <<
"#Deltam^{2}_{41} = " << setprecision(3) << calc->
GetDm(4) <<
" eV^{2}";
136 params3f <<
"sin^{2}#theta_{23} = " << setprecision(3) << TMath::Power(TMath::Sin(calc->
GetAngle(2,3)),2) <<
", " 137 <<
"#Deltam^{2}_{32} = " << setprecision(3) << (calc->
GetDm(3)-calc->
GetDm(2))/1
e-3 <<
" #times 10^{-3} eV^{2}";
138 paramsDelta <<
"#delta_{13} = " << setprecision(3) << calc->
GetDelta(1,3)/TMath::Pi() <<
"#pi";
140 TLatex*
tex =
new TLatex();
142 tex->SetTextFont(42);
143 tex->SetTextSize(0.037);
144 tex->SetTextAlign(11);
145 tex->DrawLatex(0.135, 0.82, description.str().c_str());
146 tex->DrawLatex(0.135, 0.82 - 1*0.055, params3f.str().c_str());
147 tex->DrawLatex(0.135, 0.82 - 2*0.055, params4f.str().c_str());
148 tex->DrawLatex(0.135, 0.82 - 3*0.055, paramsDelta.str().c_str());
152 canv->Write(name.c_str());
TH2 * Gaussian90Percent1D(const FrequentistSurface &s)
Up-value surface for 90% confidence in 1D in gaussian approximation.
double GetDelta(int i, int j) const
Cuts and Vars for the 2020 FD DiF Study.
void SetNFlavors(int nflavors)
std::map< std::string, double > xmax
Adapt the PMNS_Sterile calculator to standard interface.
void SetAngles(osc::OscCalcSterile *calc)
const int kOfficialNus18RHCColor
Log-likelihood scan across two parameters.
osc::OscCalcSterile * DefaultSterileCalc(int nflavors)
Create a sterile calculator with default assumptions for all parameters.
void DrawContour(TH2 *fc, Style_t style, Color_t color, double minchi=-1)
inFileName
if we get here, we're doing the base definitions:
assert(nhit_max >=nhit_nbins)
double GetDm(int i) const
static std::unique_ptr< FrequentistSurface > LoadFrom(TDirectory *dir, const std::string &name)
TH2 * Gaussian68Percent1D(const FrequentistSurface &s)
Up-value surface for 68% confidence in 1D in gaussian approximation.
double GetAngle(int i, int j) const