14 std::vector<double> norms;
15 for (
int i = 1;
i < h->GetNbinsX()+1; ++
i){
16 if (h->GetBinContent(
i) > cutoff)
17 norms.push_back(0.0005);
26 for (
int i = 0;
i < h->GetNbinsX(); ++
i){
27 h->SetBinContent(
i+1, h->GetBinContent(
i+1)*norms.at(
i));
38 h->SetLineColor(kAzure+1);
40 h->GetXaxis()->CenterTitle();
41 h->GetYaxis()->CenterTitle();
43 h->GetYaxis()->SetTitleOffset(0.6);
45 h->GetXaxis()->SetTitle(
"Logical Bin Number");
46 h->GetYaxis()->SetTitle(
"Normalised Event Count");
48 h->GetYaxis()->SetRangeUser(0, h->GetBinContent(h->GetMaximumBin())*1.25);
55 TH1D* logicalSpectra = (TH1D*)_file0->Get(
"covar/NominalBin");
57 TCanvas*
c1 =
new TCanvas(
"c1",
"c1", 2000, 500);
59 c1->SetLeftMargin(0.08);
60 c1->SetRightMargin(0.05);
67 logicalSpectra->Draw(
"hist");
71 TH1D* plus1SigmaSpectra = (TH1D*)_file0->Get(
"covar/Plus1SigmaSpectrum");
72 TH1D* minus1SigmaSpectra = (TH1D*)_file0->Get(
"covar/Minus1SigmaSpectrum");
80 plus1SigmaSpectra ->Draw(
"same hist");
81 minus1SigmaSpectra->Draw(
"same hist");
82 logicalSpectra ->Draw(
"same hist");
84 TLegend*
leg =
new TLegend(0.75, 0.70, 0.85, 0.85);
85 leg->AddEntry(logicalSpectra ,
"Nominal Spectra",
"l");
86 leg->AddEntry(plus1SigmaSpectra ,
"+1 #sigma Spectra",
"l");
87 leg->AddEntry(minus1SigmaSpectra,
"-1 #sigma Spectra",
"l");
94 c1->SaveAs(
"logicalBinSpectra.pdf");
void styleHistogram(TH1D *h, type t)
void normaliseBins(TH1D *h, std::vector< double > &norms)
std::vector< double > getNormFactors(TH1D *h, double cutoff)
void plotLogicalSpectra(bool pm1sigma=false)