13 #if !defined(__CINT__) || defined(__MAKECINT__) 16 #include <TDirectoryFile.h> 32 #include <TPaveText.h> 49 TString histoname =
"AnaPhoton_hLam0E" 52 gStyle->SetOptTitle(0);
53 gStyle->SetTitleOffset(2.0,
"Y");
54 gStyle->SetOptStat(0);
55 gStyle->SetOptFit(000000);
56 gStyle->SetPadRightMargin(0.17);
57 gStyle->SetPadLeftMargin(0.08);
58 gStyle->SetPadTopMargin(0.02);
64 TFile *
file = TFile::Open(Form(
"%s/%s.root",filepath.Data(),
filename.Data()));
65 if ( !file ) { printf(
"No file %s\n",
filename.Data()) ; return ; }
71 TDirectoryFile *
dir = (TDirectoryFile *) file->Get(dirname);
72 if ( !dir ) { printf(
"No directory %s\n", dirname .
Data()) ; return ; }
75 if ( !list ) { printf(
"No list %s\n" , listname.Data()) ; return ; }
77 hM02 = (
TH2F*) list->FindObject(histoname);
79 else if ( listname!=
"" )
82 if ( !list ) { printf(
"No list %s\n" , listname.Data()) ; return ; }
84 hM02 = (
TH2F*) list->FindObject(histoname);
87 hM02 = (
TH2F*) file->Get(histoname);
93 for(
Int_t j = 1; j <= hM02->GetNbinsX(); j++)
95 TH1D* temp1 = hM02->ProjectionY(Form(
"Bin%d",j),j,j);
97 Float_t scale1 = temp1 -> Integral(-1,-1);
104 hM02->SetBinContent(j,i, hM02->GetBinContent(j,i)/scale1);
105 hM02->SetBinError (j,i, hM02->GetBinError (j,i)/scale1);
109 hM02->SetBinContent(j,i, 0);
110 hM02->SetBinError (j,i, 0);
119 TF1 *lM02MinNLM1 =
new TF1(
"M02MinNLM1",
"exp(2.135-0.245*x)",6,13.6);
120 lM02MinNLM1->SetLineColor(6);
121 lM02MinNLM1->SetLineWidth(3);
123 TF1 *lM02MinNLM2 =
new TF1(
"M02MinNLM2",
"exp(2.135-0.245*x)",6,13.6);
124 lM02MinNLM2->SetLineColor(6);
125 lM02MinNLM2->SetLineWidth(3);
127 TF1 *lM02MaxNLM1 =
new TF1(
"M02MaxNLM1",
"exp(0.0662-0.0201*x)-0.0955+0.00186*x[0]+9.91/x[0]",6,100);
128 lM02MaxNLM1->SetLineColor(6);
129 lM02MaxNLM1->SetLineWidth(3);
131 TF1 *lM02MaxNLM2 =
new TF1(
"M02MaxNLM2",
"exp(0.353-0.0264*x)-0.524+0.00559*x[0]+21.9/x[0]",6,100);
132 lM02MaxNLM2->SetLineColor(6);
133 lM02MaxNLM2->SetLineWidth(3);
135 TLine *l03 =
new TLine(13.5,0.3,40,0.3);
136 l03->SetLineColor(6);
137 l03->SetLineWidth(3);
138 l03->SetLineStyle(1);
140 TLine *lGammaMax =
new TLine(5,0.27,40,0.27);
141 lGammaMax->SetLineColor(kRed);
142 lGammaMax->SetLineWidth(3);
143 lGammaMax->SetLineStyle(2);
145 TLine *lGammaMin =
new TLine(5,0.1,40,0.1);
146 lGammaMin->SetLineColor(kRed);
147 lGammaMin->SetLineWidth(3);
148 lGammaMin->SetLineStyle(2);
153 TCanvas *
c =
new TCanvas(
"cM02",
"M02",500,500);
158 hM02->SetAxisRange(5,40,
"X");
159 hM02->SetAxisRange(0,2.4,
"y");
160 hM02->SetZTitle(
"#it{E} bin normalized to integral");
161 hM02->SetXTitle(
"#it{E} (GeV)");
162 hM02->SetYTitle(
"#sigma^{2}_{long}");
163 hM02->SetTitleOffset(1.5,
"Z");
164 hM02->SetTitleOffset(1.05,
"Y");
168 lM02MinNLM1->Draw(
"same");
171 lM02MaxNLM2->Draw(
"same");
173 lGammaMin->Draw(
"same");
174 lGammaMax->Draw(
"same");
176 TLegend *l2 =
new TLegend(0.5,0.65,0.77,0.75);
177 l2->SetTextSize(0.035);
178 l2->AddEntry(lM02MaxNLM1,
"#pi^{0} band limits",
"L");
179 l2->AddEntry(lGammaMin,
"#gamma band limits",
"L");
184 TPaveText *pt =
new TPaveText(0.45,0.77,0.82,0.97,
"brNDC");
185 pt->SetTextSize(0.035);
186 pt->AddText(
"pp, #sqrt{#it{s}} = 7 TeV");
187 pt->AddText(
"EMCal-L0 trigger");
191 pt->SetFillColor(kWhite);
195 c->Print(
"M02_BandLimits.eps");
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
void DrawM02PhotonPi0BandLimits(TString filepath="data/", TString filename="LHC11cd_EMC7", TString dirname="", TString listname="", TString histoname="AnaPhoton_hLam0E")
TFile * file
TList with histograms for a given trigger.