]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_PbPb/macros/MakeMmixPi0.C
Fixes, Additions, and cleanup of macro, MakeMmixPi0.C
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / macros / MakeMmixPi0.C
CommitLineData
b8bea077 1/* $Id$ */
2
efb6c264 3const Int_t nPadX = 3, nPadY = 2;
4const Int_t nPtBins=6 ;
5const Double_t ptBinEdges[21]={1., 2., 3., 4., 5., 7., 10.} ;
6
8e6cc59c 7const Double_t kMean=0.136 ; //Approximate peak position to facilitate error estimate
8
efb6c264 9const char format[] = ".eps"; // say if you want .pdf
10
8e6cc59c 11//-----------------------------------------------------------------------------
efb6c264 12void MakeMmixPi0(const TString filename,
13 const TString listPath = "PHOSPi0Flow/PHOSPi0FlowCoutput1", // lego train
91b112bd 14 const Int_t centrality=0,
efb6c264 15 const char* pid="CPV",
16 const char* saveToDir="")
8e6cc59c 17{
efb6c264 18 Printf("\nMakeMmixPi0(%s, %s, %i, %s, %s)", filename.Data(), listPath.Data(), centrality, pid, saveToDir);
19
8e6cc59c 20 //Fit Real/Mixed ratio, normalize Mixed and subtract it from Real
21
efb6c264 22 TFile * file = new TFile(filename) ;
23 TList *histoList = (TList*)file->Get(listPath);
8b4ce769 24
8e6cc59c 25 char key[125] ;
26
27 TH1F * hev = (TH1F*)histoList->FindObject("hTotSelEvents") ;
28 TH2F * hCentrality = (TH2F*)histoList->FindObject("hCenPHOSCells") ;
efb6c264 29 TH1D * hCentralityX = hCentrality->ProjectionX();
8e6cc59c 30
efb6c264 31 printf("TotSelEvents (4): %f \n",hev->GetBinContent(4)) ;
32 printf("Centrality: %f \n",hCentralityX->Integral()) ;
8e6cc59c 33
efb6c264 34 TH2F *hPi0 = (TH2F*) histoList->FindObject(Form("hPi0%s_cen%d" ,pid,centrality));
35 TH2F *hPi0Mix = (TH2F*) histoList->FindObject(Form("hMiPi0%s_cen%d",pid,centrality)) ;
36 if( !hPi0 || !hPi0Mix || hPi0->GetEntries() < 10000) {
37 Printf(Form("no histogram(0x%x, 0x%x) or to low number of entries(%d) in hPi0, skipping this cent", hPi0, hPi0Mix, hPi0->GetEntries()));
38 file->Close();
39 delete file;
8e6cc59c 40 return;
41 }
efb6c264 42
8e6cc59c 43
efb6c264 44 TFile* outFile = new TFile("Pi0_FitResult.root","recreate");
8e6cc59c 45
46 PPRstyle();
47 gStyle->SetPadLeftMargin(0.14);
48 gStyle->SetPadRightMargin(0.01);
bd741163 49 //gStyle->SetPadTopMargin(0.01);
8e6cc59c 50 gStyle->SetPadBottomMargin(0.08);
51
52 //Fit real only
53 //Linear Bg
54 char kkey[55];
efb6c264 55 sprintf(kkey, Form("%s_cent%d",pid,centrality)) ;
8e6cc59c 56 char key2[155];
57 sprintf(key,"Mix%s",kkey) ;
58 sprintf(key2,"%s_mr1",key) ;
25a78f54 59 TH1D * mr1 = new TH1D(key2,"Mass",nPtBins,ptBinEdges) ;
8e6cc59c 60 sprintf(key2,"%s_sr1",key) ;
25a78f54 61 TH1D * sr1 = new TH1D(key2,"Width",nPtBins,ptBinEdges) ;
8e6cc59c 62 sprintf(key2,"%s_ar1",key) ;
25a78f54 63 TH1D * ar1 = new TH1D(key2,"a",nPtBins,ptBinEdges) ;
8e6cc59c 64 sprintf(key2,"%s_br1",key) ;
25a78f54 65 TH1D * br1 = new TH1D(key2,"a",nPtBins,ptBinEdges) ;
8e6cc59c 66 sprintf(key2,"%s_yr1",key) ;
25a78f54 67 TH1D * nr1 = new TH1D(key2,"Raw yield",nPtBins,ptBinEdges) ;
8e6cc59c 68 sprintf(key2,"%s_yr1int",key) ;
25a78f54 69 TH1D * nr1int = new TH1D(key2,"Raw yield, integrated",nPtBins,ptBinEdges) ;
8e6cc59c 70
71 //Quadratic Bg
72 sprintf(key2,"%s_mr2",key) ;
25a78f54 73 TH1D * mr2 = new TH1D(key2,"Mass",nPtBins,ptBinEdges) ;
8e6cc59c 74 sprintf(key2,"%s_sr2",key) ;
25a78f54 75 TH1D * sr2 = new TH1D(key2,"Width",nPtBins,ptBinEdges) ;
8e6cc59c 76 sprintf(key2,"%s_ar2",key) ;
25a78f54 77 TH1D * ar2 = new TH1D(key2,"a",nPtBins,ptBinEdges) ;
8e6cc59c 78 sprintf(key2,"%s_br2",key) ;
25a78f54 79 TH1D * br2 = new TH1D(key2,"a",nPtBins,ptBinEdges) ;
8e6cc59c 80 sprintf(key2,"%s_cr2",key) ;
25a78f54 81 TH1D * cr2 = new TH1D(key2,"a",nPtBins,ptBinEdges) ;
8e6cc59c 82 sprintf(key2,"%s_yr2",key) ;
25a78f54 83 TH1D * nr2 = new TH1D(key2,"Raw yield",nPtBins,ptBinEdges) ;
8e6cc59c 84 sprintf(key2,"%s_yr2int",key) ;
25a78f54 85 TH1D * nr2int = new TH1D(key2,"Raw yield, integrated",nPtBins,ptBinEdges) ;
8e6cc59c 86
87 TF1 * fit1 = new TF1("fit",CB,0.,1.,6) ;
88 fit1->SetParName(0,"A") ;
89 fit1->SetParName(1,"m_{0}") ;
90 fit1->SetParName(2,"#sigma") ;
91 fit1->SetParName(3,"a_{0}") ;
92 fit1->SetParName(4,"a_{1}") ;
93 fit1->SetParName(5,"a_{2}") ;
94 fit1->SetLineWidth(2) ;
95 fit1->SetLineColor(2) ;
96 TF1 * fgs = new TF1("gs",CBs,0.,1.,4) ;
97 fgs->SetParName(0,"A") ;
98 fgs->SetParName(1,"m_{0}") ;
99 fgs->SetParName(2,"#sigma") ;
100 fgs->SetParName(3,"B") ;
101 fgs->SetLineColor(2) ;
102 fgs->SetLineWidth(1) ;
103
104 TF1 * fit2 = new TF1("fit2",CB2,0.,1.,7) ;
105 fit2->SetParName(0,"A") ;
106 fit2->SetParName(1,"m_{0}") ;
107 fit2->SetParName(2,"#sigma") ;
108 fit2->SetParName(3,"a_{0}") ;
109 fit2->SetParName(4,"a_{1}") ;
110 fit2->SetParName(5,"a_{2}") ;
111 fit2->SetParName(6,"a_{3}") ;
112 fit2->SetLineWidth(2) ;
113 fit2->SetLineColor(4) ;
114 fit2->SetLineStyle(2) ;
115
116 TF1 * fbg1 = new TF1("bg1",BG1,0.,1.,3) ;
117 TF1 * fbg2 = new TF1("bg2",BG2,0.,1.,4) ;
118
119 TCanvas * c3 = new TCanvas("mggFit1_Signal","mggFitCB",10,10,1200,800) ;
120 c3->Divide(nPadX,nPadY) ;
121
122 TCanvas * c1 = new TCanvas("mggFit1","mggFit1",10,10,1200,800) ;
123 c1->Divide(nPadX,nPadY) ;
124 c1->cd(0) ;
125
25a78f54 126 TCanvas * rawCanvas = new TCanvas("rawCanvas","rawCanvas",10,10,1200,800);
127 rawCanvas->Divide(nPadX, nPadY);
128
efb6c264 129 TAxis * pta=hPi0->GetYaxis() ;
130 TAxis * ma=hPi0->GetXaxis() ;
25a78f54 131 for(Int_t ptBin=1; ptBin<=nPtBins; ptBin++){
132 c1->cd(ptBin) ;
133 printf("\n\t%.1f<pt<%.1f GeV/c\n",ptBinEdges[ptBin-1],ptBinEdges[ptBin]);
134 Int_t imin=pta->FindBin(ptBinEdges[ptBin-1]+0.0001);
135 Int_t imax=pta->FindBin(ptBinEdges[ptBin]-0.0001) ;
136 Double_t pt=(ptBinEdges[ptBin]+ptBinEdges[ptBin-1])/2. ;
efb6c264 137 TH1D * hp = hPi0->ProjectionX(Form("re_%d",ptBin),imin,imax) ;
8e6cc59c 138 hp->Sumw2() ;
efb6c264 139 TH1D * hpm= hPi0Mix->ProjectionX("mi",imin,imax) ;
8e6cc59c 140 hpm->Sumw2() ;
25a78f54 141 if(ptBin<=17){
8e6cc59c 142 hp ->Rebin(4) ;
143 hpm->Rebin(4) ;
144 }
145 else{
146 hp ->Rebin(5) ;
147 hpm->Rebin(5) ;
148 }
149 for(Int_t ib=1; ib<=hp->GetNbinsX();ib++){if(hp ->GetBinContent(ib)==0)hp ->SetBinError(ib,1.);}
150 for(Int_t ib=1; ib<=hp->GetNbinsX();ib++){if(hpm->GetBinContent(ib)==0)hpm->SetBinError(ib,1.);}
151 TH1D * hpm2 = (TH1D*)hpm->Clone("Bg1") ;
25a78f54 152 TH1D * hpmScaled = (TH1D*)hpm->Clone("hpmScaled") ;
8e6cc59c 153 TH1D * hpcopy = (TH1D*)hp ->Clone("hpcopy") ;
154 TH1D * hp2 = (TH1D*)hp ->Clone("hp2") ;
155 hpcopy->SetXTitle("M_{#gamma#gamma} (GeV/c^{2})");
156 hp2 ->SetXTitle("M_{#gamma#gamma} (GeV/c^{2})");
157 hpcopy->Divide(hpm) ;
25a78f54 158 sprintf(key,"PID=%s, %3.1f<p_{T}<%3.1f GeV/c",pid,ptBinEdges[ptBin-1],ptBinEdges[ptBin]) ;
8e6cc59c 159 hpcopy->SetTitle(key) ;
160 hpcopy->SetMarkerStyle(20) ;
161 hpcopy->SetMarkerSize(0.7) ;
162
163 fit1->SetParameters(0.001,0.136,0.0055,0.0002,-0.002,0.0) ;
164 fit1->SetParLimits(0,0.000,1.000) ;
165 fit1->SetParLimits(1,0.120,0.145) ;
166 fit1->SetParLimits(2,0.005,0.012) ;
167
168 Double_t rangeMin=0.05 ;
169 Double_t rangeMax=0.3 ;
170 if(centrality==0) rangeMax=0.4 ;
25a78f54 171 if(ptBin==1){
8e6cc59c 172 rangeMin=0.06 ;
173 rangeMax=0.25 ;
174 }
175 hpcopy->Fit(fit1,"Q" ,"",rangeMin,rangeMax) ;
176 hpcopy->Fit(fit1,"MQ","",rangeMin,rangeMax) ;
177
25a78f54 178 ar1->SetBinContent(ptBin,fit1->GetParameter(3)) ;
179 ar1->SetBinError (ptBin,fit1->GetParError(3)) ;
180 br1->SetBinContent(ptBin,fit1->GetParameter(4)) ;
181 br1->SetBinError (ptBin,fit1->GetParError(4)) ;
8e6cc59c 182
183 fit2->SetParameters(fit1->GetParameters()) ;
184 fit2->SetParLimits(0,0.000,1.000) ;
185 fit2->SetParLimits(1,0.120,0.145) ;
186 fit2->SetParLimits(2,0.005,0.012) ;
187
188 hpcopy->Fit(fit2,"+NQ","",rangeMin,rangeMax) ;
189 hpcopy->Fit(fit2,"+MQ","",rangeMin,rangeMax) ;
190
25a78f54 191 ar2->SetBinContent(ptBin,fit2->GetParameter(3)) ;
192 ar2->SetBinError (ptBin,fit2->GetParError(3)) ;
193 br2->SetBinContent(ptBin,fit2->GetParameter(4)) ;
194 br2->SetBinError (ptBin,fit2->GetParError(4)) ;
195 cr2->SetBinContent(ptBin,fit2->GetParameter(5)) ;
196 cr2->SetBinError (ptBin,fit2->GetParError(5)) ;
8e6cc59c 197 hpcopy->GetXaxis()->SetRangeUser(0.05,0.30) ;
efb6c264 198 hpcopy->DrawCopy() ;
8e6cc59c 199 c1->Update() ;
200
201 fbg1->SetParameters(fit1->GetParameter(3),fit1->GetParameter(4),fit1->GetParameter(5));
202 fbg2->SetParameters(fit2->GetParameter(3),fit2->GetParameter(4),fit2->GetParameter(5),
203 fit2->GetParameter(6));
204
205 Double_t intRangeMin = PeakPosition(pt)-3.*PeakWidth(pt) ;
206 Double_t intRangeMax = PeakPosition(pt)+3.*PeakWidth(pt) ;
207 Int_t intBinMin = hp->GetXaxis()->FindBin(intRangeMin) ;
208 Int_t intBinMax = hp->GetXaxis()->FindBin(intRangeMax) ;
209 Double_t errStat = hpm->Integral(intBinMin,intBinMax);
bd741163 210
211 rawCanvas->cd(ptBin);
212 hpmScaled->Scale(fbg1(0.1349));
213 hp->SetTitle(key);
214 hp->SetLineColor(kBlack);
efb6c264 215 hp->SetAxisRange(0.0, 0.3);
216 //hp->GetYaxis()->SetRangeUser(0.6*hp->GetMaximum(), 1.1*hp->GetMaximum());
bd741163 217 hp->DrawCopy();
218 hpmScaled->SetLineColor(kRed);
219 hpmScaled->DrawCopy("same");
220 rawCanvas->Update();
221
8e6cc59c 222 hpm ->Multiply(fbg1) ;
223 hpm2->Multiply(fbg2) ;
224 hp ->Add(hpm ,-1.) ;
225 hp2 ->Add(hpm2,-1.) ;
226
25a78f54 227 c3->cd(ptBin) ;
8e6cc59c 228
229 Int_t binPi0 = hp->FindBin(kMean);
230 fgs->SetParameters(hp->Integral(binPi0-1,binPi0+1)/3.,fit1->GetParameter(1),fit1->GetParameter(2)) ;
231 fgs->SetParLimits(0,0.000,1.e+5) ;
232 fgs->SetParLimits(1,0.120,0.145) ;
233 fgs->SetParLimits(2,0.004,0.02) ;
234 hp->Fit(fgs,"Q","",rangeMin,rangeMax) ;
235 hp->SetMaximum(hp2->GetMaximum()*1.5) ;
236 hp->SetMinimum(hp2->GetMinimum()*1.1) ;
237 hp->SetMarkerStyle(20) ;
238 hp->SetMarkerSize(0.7) ;
25a78f54 239 mr1->SetBinContent(ptBin,fgs->GetParameter(1)) ;
240 mr1->SetBinError (ptBin,fgs->GetParError(1) ) ;
241 sr1->SetBinContent(ptBin,TMath::Abs(fgs->GetParameter(2))) ;
242 sr1->SetBinError (ptBin,fgs->GetParError(2) ) ;
8e6cc59c 243
244 Double_t y=fgs->GetParameter(0)/hp->GetXaxis()->GetBinWidth(1) ;
25a78f54 245 nr1->SetBinContent(ptBin,y) ;
8e6cc59c 246 Double_t ey=fgs->GetParError(0)/hp->GetXaxis()->GetBinWidth(1) ;
25a78f54 247 nr1->SetBinError(ptBin,ey) ;
8e6cc59c 248
249 Double_t npiInt = hp->Integral(intBinMin,intBinMax) ;
250 Double_t norm = fbg1->GetParameter(0) ;
251 Double_t normErr= fbg1->GetParError(0) ;
252 if(npiInt>0.){
25a78f54 253 nr1int->SetBinContent(ptBin,npiInt) ;
254 nr1int->SetBinError(ptBin,TMath::Sqrt(npiInt + norm*errStat + normErr*normErr*errStat*errStat + norm*norm*errStat)) ;
8e6cc59c 255 }
256 hp2->GetXaxis()->SetRangeUser(0.05,0.3) ;
257 hp2->SetMaximum(hp2->GetMaximum()*1.5) ;
258 hp2->SetMinimum(hp2->GetMinimum()*1.1) ;
259 hp2->SetMarkerStyle(20) ;
260 hp2->SetMarkerSize(0.7) ;
261 hp2->Fit(fgs,"Q","",rangeMin,rangeMax) ;
25a78f54 262 mr2->SetBinContent(ptBin,fgs->GetParameter(1)) ;
263 mr2->SetBinError (ptBin,fgs->GetParError(1)) ;
264 sr2->SetBinContent(ptBin,TMath::Abs(fgs->GetParameter(2))) ;
265 sr2->SetBinError (ptBin,fgs->GetParError(2)) ;
8e6cc59c 266 y=fgs->GetParameter(0)/hp->GetXaxis()->GetBinWidth(1) ;
25a78f54 267 nr2->SetBinContent(ptBin,y) ;
8e6cc59c 268 ey= fgs->GetParError(0)/hp->GetXaxis()->GetBinWidth(1) ;
25a78f54 269 nr2->SetBinError(ptBin,ey) ;
8e6cc59c 270 npiInt=hp2->Integral(intBinMin,intBinMax) ;
271 norm=fbg2->GetParameter(0) ;
272 normErr=fbg2->GetParError(0) ;
273 if(npiInt>0.){
25a78f54 274 nr2int->SetBinContent(ptBin,npiInt) ;
275 nr2int->SetBinError(ptBin,TMath::Sqrt(npiInt + norm*errStat + normErr*normErr*errStat*errStat + norm*norm*errStat)) ;
8e6cc59c 276 }
277 hp2->SetTitle(key) ;
efb6c264 278 hp2->DrawCopy() ;
8e6cc59c 279 c3->Update() ;
280
281 delete hp ;
282 delete hpm ;
283 delete hpm2 ;
efb6c264 284 delete hpmScaled;
285 delete hpcopy;
286 delete hp2;
8e6cc59c 287 }
8e6cc59c 288
efb6c264 289 if( TString(saveToDir).Length() )
290 gSystem->mkdir(saveToDir, true);
291
292 char name[55] ;
293 sprintf(name,"%sPi0_ratio_%s%s", saveToDir, kkey, format) ;
8e6cc59c 294 c1->Print(name) ;
efb6c264 295 sprintf(name,"%sPi0_signal_%s%s", saveToDir, kkey, format) ;
8e6cc59c 296 c3->Print(name) ;
efb6c264 297 sprintf(name,"%sPi0_raw_%s%s", saveToDir, kkey, format) ;
298 rawCanvas->Print(name);
8e6cc59c 299
300 //Normalize by the number of events
efb6c264 301 Int_t cMin=0, cMax=100;
8e6cc59c 302 if (centrality == 0) {
303 cMin=1;
304 cMax=10;
305 }
306 else if (centrality == 1) {
efb6c264 307 cMin=11;
8e6cc59c 308 cMax=40;
309 }
310 else if (centrality == 2) {
311 cMin=41;
8e6cc59c 312 cMax=80;
313 }
efb6c264 314 else {
315 Printf("ERROR: Centrality: %d not defined !!! ERROR", centrality);
316 return;
317 }
318
319 Double_t nevents = hCentralityX->Integral(cMin,cMax);
8e6cc59c 320 nr1 ->Scale(1./nevents) ;
321 nr1int->Scale(1./nevents) ;
322 nr2 ->Scale(1./nevents) ;
323 nr2int->Scale(1./nevents) ;
8e6cc59c 324
325
8e6cc59c 326 mr1->Write(0,TObject::kOverwrite) ;
327 sr1->Write(0,TObject::kOverwrite) ;
328 ar1->Write(0,TObject::kOverwrite) ;
329 br1->Write(0,TObject::kOverwrite) ;
330 nr1->Write(0,TObject::kOverwrite) ;
331 nr1int->Write(0,TObject::kOverwrite) ;
332 ar2->Write(0,TObject::kOverwrite) ;
333 br2->Write(0,TObject::kOverwrite) ;
334 cr2->Write(0,TObject::kOverwrite) ;
335 mr2->Write(0,TObject::kOverwrite) ;
336 sr2->Write(0,TObject::kOverwrite) ;
337 nr2->Write(0,TObject::kOverwrite) ;
338 nr2int->Write(0,TObject::kOverwrite) ;
8e6cc59c 339
efb6c264 340
341 outFile->Close();
342 delete outFile;
343
344 file->Close();
345 delete file;
346
8e6cc59c 347}
348
349//-----------------------------------------------------------------------------
350Double_t PeakPosition(Double_t pt){
351 //Fit to the measured peak position
352 return 4.99292e-003*exp(-pt*9.32300e-001)+1.34944e-001 ;
353}
354//-----------------------------------------------------------------------------
355Double_t PeakWidth(Double_t pt){
356 //fit to the measured peak width
357 Double_t a=0.0068 ;
358 Double_t b=0.0025 ;
359 Double_t c=0.000319 ;
360 return TMath::Sqrt(a*a+b*b/pt/pt+c*c*pt*pt) ;
361}
362
363//-----------------------------------------------------------------------------
364Double_t CB(Double_t * x, Double_t * par){
365 //Parameterization of Real/Mixed ratio
366 Double_t m=par[1] ;
367 Double_t s=par[2] ;
368 Double_t dx=(x[0]-m)/s ;
369 return par[0]*exp(-dx*dx/2.)+par[3]+par[4]*(x[0]-kMean) ;
370}
371
372//-----------------------------------------------------------------------------
373Double_t CB2(Double_t * x, Double_t * par){
374 //Another parameterization of Real/Mixed ratio7TeV/README
375 Double_t m=par[1] ;
376 Double_t s=par[2] ;
377 Double_t dx=(x[0]-m)/s ;
378 return par[0]*exp(-dx*dx/2.)+par[3]+par[4]*(x[0]-kMean)+par[5]*(x[0]-kMean)*(x[0]-kMean) ;
379}
380//-----------------------------------------------------------------------------
381Double_t CBs(Double_t * x, Double_t * par){
382 //Parameterizatin of signal
383 Double_t m=par[1] ;
384 Double_t s=par[2] ;
385 Double_t dx=(x[0]-m)/s ;
386 return par[0]*exp(-dx*dx/2.)/TMath::Sqrt(TMath::TwoPi())/s+par[3] ;
387}
388//-----------------------------------------------------------------------------
389Double_t BG1(Double_t * x, Double_t * par){
390 //Normalizatino of Mixed
391 return par[0]+par[1]*(x[0]-kMean) ;
392}
393//-----------------------------------------------------------------------------
394Double_t BG2(Double_t * x, Double_t * par){
395 //Another normalization of Mixed
396 return par[0]+par[1]*(x[0]-kMean)+par[2]*(x[0]-kMean)*(x[0]-kMean) ;
397}
398
399
400//-----------------------------------------------------------------------------
401PPRstyle()
402{
403
404 //////////////////////////////////////////////////////////////////////
405 //
406 // ROOT style macro for the TRD TDR
407 //
408 //////////////////////////////////////////////////////////////////////
409
410 gStyle->SetPalette(1);
411 gStyle->SetCanvasBorderMode(-1);
412 gStyle->SetCanvasBorderSize(1);
413 gStyle->SetCanvasColor(10);
414
415 gStyle->SetFrameFillColor(10);
416 gStyle->SetFrameBorderSize(1);
417 gStyle->SetFrameBorderMode(-1);
418 gStyle->SetFrameLineWidth(1.2);
419 gStyle->SetFrameLineColor(1);
420
421 gStyle->SetHistFillColor(0);
422 gStyle->SetHistLineWidth(1);
423 gStyle->SetHistLineColor(1);
424
425 gStyle->SetPadColor(10);
426 gStyle->SetPadBorderSize(1);
427 gStyle->SetPadBorderMode(-1);
428
429 gStyle->SetStatColor(10);
430 gStyle->SetTitleColor(kBlack,"X");
431 gStyle->SetTitleColor(kBlack,"Y");
432
433 gStyle->SetLabelSize(0.04,"X");
434 gStyle->SetLabelSize(0.04,"Y");
435 gStyle->SetLabelSize(0.04,"Z");
436 gStyle->SetTitleSize(0.04,"X");
437 gStyle->SetTitleSize(0.04,"Y");
438 gStyle->SetTitleSize(0.04,"Z");
439 gStyle->SetTitleFont(42,"X");
440 gStyle->SetTitleFont(42,"Y");
441 gStyle->SetTitleFont(42,"X");
442 gStyle->SetLabelFont(42,"X");
443 gStyle->SetLabelFont(42,"Y");
444 gStyle->SetLabelFont(42,"Z");
445 gStyle->SetStatFont(42);
446
447 gStyle->SetTitleOffset(1.0,"X");
448 gStyle->SetTitleOffset(1.4,"Y");
449
450 gStyle->SetFillColor(kWhite);
451 gStyle->SetTitleFillColor(kWhite);
452
453 gStyle->SetOptDate(0);
454 gStyle->SetOptTitle(1);
455 gStyle->SetOptStat(0);
456 gStyle->SetOptFit(111);
457
458}
459
efb6c264 460// For different tasks (e.g. triggers)
461void MakeMmixPi0()
462{
463 for(int cent = 0; cent < 1; ++cent ) {
464 MakeMmixPi0("AnalysisResults.root", "PHOSPi0Flow/PHOSPi0FlowCoutput1", cent, "CPV", "imgs/kCentral/");
465 //MakeMmixPi0("AnalysisResults.root", "AliPHOSPi0Flow_SemiCentral/AliPHOSPi0Flow_SemiCentralCoutput1", cent, "CPV", "imgs/kSemiCentral/");
466 //MakeMmixPi0("AnalysisResults.root", "AliPHOSPi0Flow_MB/AliPHOSPi0Flow_MBCoutput1", cent, "CPV", "imgs/kMB/");
467 //MakeMmixPi0("AnalysisResults.root", "AliPHOSPi0Flow_PHOSPb/AliPHOSPi0Flow_PHOSPbCoutput1", cent, "CPV", "imgs/kPHOSPb/");
468 }
469}