1 ///==========================================================================
3 /// macro to plot centrality bin values
4 ///==========================================================================
9 double centPercent[nbins]={5.,10.,20.,30.,40.,50.,60.,70.,80.,90.,100};
10 TArrayI* binUp = new TArrayI(nbins);
11 TArrayI* Multbin = new TArrayI(nbins);
13 void plotGlauberCenVars(const Char_t* file="GlauberMC_PbPb_ntuple.root")
16 TNtuple* ntuple = f.Get("nt_Pb_Pb");
18 TCanvas* canvas = new TCanvas("Multiplicity","Multiplicity");
20 ntuple->Draw("dNdEtaNBD>>htemp(500)");
21 TH1F* htemp = (TH1F*)gPad->GetPrimitive("htemp");
22 TH1F* hist = (TH1F*)htemp->Clone();
25 TAxis *axis = hist->GetXaxis();
26 axis->SetTitle("Multiplicity");
27 //axis->CenterTitle(kTRUE);
28 axis->SetTitleSize(0.05);
29 axis->SetLabelSize(0.04);
30 axis->SetTitleOffset(1.2);
31 axis = hist->GetYaxis();
33 axis->SetTitleOffset(1.3);
34 //axis->CenterTitle(kTRUE);
35 axis->SetTitleSize(0.05);
36 axis->SetLabelSize(0.04);
39 //---------------------------------------------------
41 //---------------------------------------------------
44 int high=hist->GetNbinsX();
45 //printf("size: %i\n",binUp->GetSize());
46 for (int i=0; i<binUp->GetSize(); i++)
49 //printf("%i, %i\n",low,high);
50 hist->GetXaxis()->SetRange(low+1,high);
51 hist->SetFillColor((i%2==0)?0:kGray);
52 hist->DrawCopy("same");
56 TCanvas* canvas2 = new TCanvas("N Wounded","N Wounded");
58 ntuple->Draw("Npart>>htemp2(200)");
59 TH1F* htemp2 = (TH1F*)gPad->GetPrimitive("htemp2");
60 TH1F* hist2 = (TH1F*)htemp2->Clone();
63 axis = hist2->GetXaxis();
64 axis->SetTitle("N Wounded");
65 axis->SetTitleSize(0.05);
66 axis->SetLabelSize(0.04);
67 axis->SetTitleOffset(1.2);
68 axis = hist2->GetYaxis();
70 axis->SetTitleOffset(1.3);
71 axis->SetTitleSize(0.05);
72 axis->SetLabelSize(0.04);
78 //printf("size: %i\n",Multbin->GetSize());
79 TH1F* htemp10 = new TH1F();
80 for (int i=0; i<Multbin->GetSize(); i++)
83 //printf("%i, %i\n",low,high);
87 sprintf(cuts,"dNdEtaNBD>%i && dNdEtaNBD<%i",low,high);
88 //printf("dNdEtaNBD>%i && dNdEtaNBD<%i\n",low,high);
89 sprintf(histtitle,"Npart>>htemp%i(200)",20+i);
90 sprintf(histtitle1,"htemp%i",20+i);
91 ntuple->Draw(histtitle,cuts,"same");
92 htemp10 = (TH1F*)gPad->GetPrimitive(histtitle1);
93 htemp10->SetLineColor(i+1);
94 htemp10->DrawCopy("same");
98 TCanvas* canvas3 = new TCanvas("N Binary","N Binary");
100 ntuple->Draw("Ncoll>>htemp3(500)");
101 TH1F* htemp3 = (TH1F*)gPad->GetPrimitive("htemp3");
102 TH1F* hist3 = (TH1F*)htemp3->Clone();
105 axis = hist3->GetXaxis();
106 axis->SetTitle("N Binary");
107 axis->SetTitleSize(0.05);
108 axis->SetLabelSize(0.04);
109 axis->SetTitleOffset(1.2);
110 axis = hist3->GetYaxis();
112 axis->SetTitleOffset(1.3);
113 axis->SetTitleSize(0.05);
114 axis->SetLabelSize(0.04);
119 for (int i=0; i<Multbin->GetSize(); i++)
124 char histtitle1[100];
125 sprintf(cuts,"dNdEtaNBD>%i && dNdEtaNBD<%i",low,high);
126 sprintf(histtitle,"Ncoll>>htemp%i(500)",40+i);
127 sprintf(histtitle1,"htemp%i",40+i);
128 ntuple->Draw(histtitle,cuts,"same");
129 TH1F* htemp11 = (TH1F*)gPad->GetPrimitive(histtitle1);
130 htemp11->SetLineColor(i+1);
131 htemp11->DrawCopy("same");
135 TCanvas* canvas4 = new TCanvas("Impact Parameter","Impact Parameter");
136 ntuple->Draw("B>>htemp4(100)");
137 TH1F* htemp4 = (TH1F*)gPad->GetPrimitive("htemp4");
138 TH1F* hist4 = (TH1F*)htemp4->Clone();
141 axis = hist4->GetXaxis();
143 axis->SetTitleSize(0.05);
144 axis->SetLabelSize(0.04);
145 axis->SetTitleOffset(1.2);
146 axis = hist4->GetYaxis();
148 axis->SetTitleOffset(1.3);
149 axis->SetTitleSize(0.05);
150 axis->SetLabelSize(0.04);
155 for (int i=0; i<Multbin->GetSize(); i++)
160 char histtitle1[100];
161 sprintf(cuts,"dNdEtaNBD>%i && dNdEtaNBD<%i",low,high);
162 sprintf(histtitle,"B>>htemp%i(100)",50+i);
163 sprintf(histtitle1,"htemp%i",50+i);
164 ntuple->Draw(histtitle,cuts,"same");
165 TH1F* htemp12 = (TH1F*)gPad->GetPrimitive(histtitle1);
166 htemp12->SetLineColor(i+1);
167 htemp12->DrawCopy("same");
171 TCanvas* canvas5 = new TCanvas("Eccentricity","Eccentricity");
173 ntuple->Draw("VarE>>htemp5(100)");
174 TH1F* htemp5 = (TH1F*)gPad->GetPrimitive("htemp5");
175 TH1F* hist5 = (TH1F*)htemp5->Clone();
178 axis = hist5->GetXaxis();
179 axis->SetTitle("standard eccentricity");
180 axis->SetTitleSize(0.05);
181 axis->SetLabelSize(0.04);
182 axis->SetTitleOffset(1.2);
183 axis = hist5->GetYaxis();
185 axis->SetTitleOffset(1.3);
186 axis->SetTitleSize(0.05);
187 axis->SetLabelSize(0.04);
192 for (int i=0; i<Multbin->GetSize(); i++)
197 char histtitle1[100];
198 sprintf(cuts,"dNdEtaNBD>%i && dNdEtaNBD<%i",low,high);
199 sprintf(histtitle,"VarE>>htemp%i(100)",60+i);
200 sprintf(histtitle1,"htemp%i",60+i);
201 ntuple->Draw(histtitle,cuts,"same");
202 TH1F* htemp13 = (TH1F*)gPad->GetPrimitive(histtitle1);
203 htemp13->SetLineColor(i+1);
204 htemp13->DrawCopy("same");
208 TCanvas* canvas6 = new TCanvas("EccentricityPart","EccentricityPart");
210 ntuple->Draw("VarEPart>>htemp6(100)");
211 TH1F* htemp6 = (TH1F*)gPad->GetPrimitive("htemp6");
212 TH1F* hist6 = (TH1F*)htemp6->Clone();
215 axis = hist6->GetXaxis();
216 axis->SetTitle("participant eccentricity");
217 axis->SetTitleSize(0.05);
218 axis->SetLabelSize(0.04);
219 axis->SetTitleOffset(1.2);
220 axis = hist6->GetYaxis();
222 axis->SetTitleOffset(1.3);
223 axis->SetTitleSize(0.05);
224 axis->SetLabelSize(0.04);
229 for (int i=0; i<Multbin->GetSize(); i++)
234 char histtitle1[100];
235 sprintf(cuts,"dNdEtaNBD>%i && dNdEtaNBD<%i",low,high);
236 sprintf(histtitle,"VarEPart>>htemp%i(100)",70+i);
237 sprintf(histtitle1,"htemp%i",70+i);
238 ntuple->Draw(histtitle,cuts,"same");
239 TH1F* htemp14 = (TH1F*)gPad->GetPrimitive(histtitle1);
240 htemp14->SetLineColor(i+1);
241 htemp14->DrawCopy("same");
248 void getCentrality(TH1 *histNch, Float_t ff=1.0)
249 // histNch - histo of multiplicity distribution (better with binsize=1)
250 // ff fraction of accepted events. All losses are assumed to occur in most
254 //double sum= histNch->GetEntries() - histNch->GetBinContent(1);
255 double sum= histNch->Integral();
256 int nbinsx=histNch->GetNbinsX();
259 for (int ib=nbinsx;ib>0;ib--){
260 frac += histNch->GetBinContent(ib)/sum*100.*ff;
261 if(frac > centPercent[ic]){
263 Multbin->SetAt(histNch->GetBinCenter(ib),ic);
264 cout<<" centrality="<<centPercent[ic]<<" mult <="<< histNch->GetBinCenter(ib) <<endl;
269 printf(" \n float multCent[%i] = {",nbins);
270 // cout <<" \n float multCent[nbins] = {";
272 for (int ic=nbins-1; ic>-1; ic--){
273 cout<< histNch->GetBinCenter(binUp->At(ic));
274 if (ic!=0) cout<<", ";