]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliGammaConversionHistograms.cxx
From Stefano -- coding convention violation fixes.
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliGammaConversionHistograms.cxx
CommitLineData
d7d7e825 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: Ana Marin, Kathrin Koch, Kenneth Aamodt *
5 * Version 1.1 *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16////////////////////////////////////////////////
17//---------------------------------------------
18// Class used to do analysis on conversion pairs
19//---------------------------------------------
20////////////////////////////////////////////////
21
22#include "AliGammaConversionHistograms.h"
23#include "TMath.h"
24#include "TObjString.h"
25#include "TMap.h"
26#include "TList.h"
27#include "TH1F.h"
28#include "TH2F.h"
29
30
31using namespace std;
32
33ClassImp(AliGammaConversionHistograms)
34
35
36AliGammaConversionHistograms::AliGammaConversionHistograms() :
37 fHistogramMap(new TMap()),
38 fNPhiIndex(0),
39 fNRIndex(0),
9640a3d1 40 fNZIndex(0),
81686db1 41// fRBinLimits(0),
42// fZBinLimits(0),
d7d7e825 43 fMinRadius(0.),
44 fMaxRadius(0.),
45 fDeltaR(0.),
46 fMinPhi(0.),
47 fMaxPhi(0.),
48 fDeltaPhi(0.),
49 fMappingContainer(NULL),
50 fBackgroundContainer(NULL),
51 fDebugContainer(NULL),
52 fResolutionContainer(NULL),
53 fMatchContainer(NULL),
54 fESDContainer(NULL),
55 fMCContainer(NULL),
56 fTableContainer(NULL),
57 fOtherContainer(NULL)
58{
59 // see header file for documenation
6272370b 60 for(Int_t i=0;i<14;i++){
81686db1 61 fRBinLimits[i]=0.;
62 }
6272370b 63 for(Int_t i=0;i<12;i++){
81686db1 64 fZBinLimits[i]=0.;
65 }
d7d7e825 66}
67
68
69AliGammaConversionHistograms::AliGammaConversionHistograms(const AliGammaConversionHistograms & original) :
70 fHistogramMap(original.fHistogramMap),
71 fNPhiIndex(original.fNPhiIndex),
72 fNRIndex(original.fNRIndex),
9640a3d1 73 fNZIndex(original.fNZIndex),
81686db1 74 // fRBinLimits(original.fRBinLimits),
75 // fZBinLimits(original.fZBinLimits),
d7d7e825 76 fMinRadius(original.fMinRadius),
77 fMaxRadius(original.fMaxRadius),
78 fDeltaR(original.fDeltaR),
79 fMinPhi(original.fMinPhi),
80 fMaxPhi(original.fMaxPhi),
81 fDeltaPhi(original.fDeltaPhi),
82 fMappingContainer(original.fMappingContainer),
83 fBackgroundContainer(original.fBackgroundContainer),
84 fDebugContainer(original.fDebugContainer),
85 fResolutionContainer(original.fResolutionContainer),
86 fMatchContainer(original.fMatchContainer),
87 fESDContainer(original.fESDContainer),
88 fMCContainer(original.fMCContainer),
89 fTableContainer(original.fTableContainer),
90 fOtherContainer(original.fOtherContainer)
91{
92 //see header file for documentation
6272370b 93 for(Int_t i=0;i<14;i++){
81686db1 94 fRBinLimits[i]= original.fRBinLimits[i];
95 }
6272370b 96 for(Int_t i=0;i<12;i++){
81686db1 97 fZBinLimits[i]=original.fZBinLimits[i];
98 }
d7d7e825 99}
100
101
102AliGammaConversionHistograms & AliGammaConversionHistograms::operator = (const AliGammaConversionHistograms & /*original*/)
103{
104 // assignment operator
105 return *this;
106}
107
108
109AliGammaConversionHistograms::~AliGammaConversionHistograms() {
110 //destructor
111
112
113}
114
115void AliGammaConversionHistograms::AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX,Double_t lastX,TString xAxisTitle, TString yAxisTitle){
116 // see header file for documentation
037dc2db 117 if( fHistogramMap->Contains(histogramName.Data()) == kFALSE ){
118 TH1F *tmp = new TH1F(histogramName, histogramTitle,nXBins,firstX,lastX);
119 tmp->GetXaxis()->SetTitle(xAxisTitle);
120 tmp->GetYaxis()->SetTitle(yAxisTitle);
121 TObjString* tobjstring = new TObjString(histogramName.Data());
122 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
123 }
124 else{
125 cout << "Warning: Histogram ( "<<histogramName.Data()<<" ) already exists " << endl;
126 }
d7d7e825 127}
128
129void AliGammaConversionHistograms::AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX, Double_t lastX, Int_t nYBins, Double_t firstY, Double_t lastY, TString xAxisTitle, TString yAxisTitle){
130 // see header file for documentation
037dc2db 131 if( fHistogramMap->Contains(histogramName.Data()) == kFALSE ){
132 TH2F *tmp = new TH2F(histogramName, histogramTitle,nXBins,firstX,lastX,nYBins,firstY,lastY);
133 tmp->GetXaxis()->SetTitle(xAxisTitle);
134 tmp->GetYaxis()->SetTitle(yAxisTitle);
135 TObjString *tobjstring = new TObjString(histogramName.Data());
136 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
137 }
138 else{
139 cout << "Warning: Histogram ( "<<histogramName.Data()<<" ) already exists " << endl;
140 }
d7d7e825 141}
142
143void AliGammaConversionHistograms::AddTable(TString tableName,TString tableTitle,Int_t nXBins,const char * axesLabel[]){
4a6157dc 144 //see header file for documentation
d7d7e825 145
037dc2db 146 if( fHistogramMap->Contains(tableName.Data()) == kFALSE ){
147 TH1F *tmp = new TH1F(tableName,tableTitle,nXBins,0,nXBins);
148 for(Int_t xbin=1; xbin<=nXBins; xbin++){
149 tmp->GetXaxis()->SetBinLabel(xbin,axesLabel[xbin-1]);
150 }
151 tmp->SetStats(0);
152
153 TObjString *tobjstring = new TObjString(tableName.Data());
154 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
155 }
156 else{
157 cout << "Warning: Table ( "<<tableName.Data()<<" ) already exists " << endl;
4a6157dc 158 }
d7d7e825 159}
160
161void AliGammaConversionHistograms::FillTable(TString tableName,Double_t xValue) const {
4a6157dc 162 //see header file for documentation
163 TH1 *tmp = (TH1*)fHistogramMap->GetValue(tableName.Data());
164 if(tmp){
165 tmp->Fill(xValue);
166 }
d7d7e825 167}
168
169void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue) const{
170 //see header file for documentation
171 TH1 *tmp = (TH1*)fHistogramMap->GetValue(histogramName.Data());
172 if(tmp){
173 tmp->Fill(xValue);
174 }
175}
176
177void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue, Double_t yValue) const{
178 //see header file for documentation
179 TH1 *tmp = (TH1*)fHistogramMap->GetValue(histogramName.Data());
180 if(tmp){
181 tmp->Fill(xValue, yValue);
182 }
183}
184
185void AliGammaConversionHistograms::GetOutputContainer(TList *fOutputContainer){
186 //checking if the container is alrerady created
187
188 if(fOutputContainer == NULL){
189 cout<<"WARNING: GetOutputContainer: output container object is NULL"<<endl;
190 return;
191 }
192
193 if(fHistogramMap != NULL){
194 TIter iter(fHistogramMap);
195 TObjString *histogramName;
196 while ((histogramName = (TObjString*) iter.Next())) {
197 TString histogramString = histogramName->GetString();
198 if(histogramString.Contains("Mapping")){// means it should be put in the mapping folder
199 if(fMappingContainer == NULL){
200 fMappingContainer = new TList();
b58d3c74 201 fMappingContainer->SetOwner(kTRUE);
d7d7e825 202 fMappingContainer->SetName("Mapping histograms");
203 }
204 if(fMappingContainer != NULL){
205 fMappingContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
206 }
207 }
208 else if(histogramString.Contains("Background")){// means it should be put in the background folder
209 if(fBackgroundContainer == NULL){
210 fBackgroundContainer = new TList();
b58d3c74 211 fBackgroundContainer->SetOwner(kTRUE);
d7d7e825 212 fBackgroundContainer->SetName("Background histograms");
213 }
214 if(fBackgroundContainer != NULL){
215 fBackgroundContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
216 }
217 }
218 else if(histogramString.Contains("Debug")){// means it should be put in the debug folder
219 if(fDebugContainer == NULL){
220 fDebugContainer = new TList();
b58d3c74 221 fDebugContainer->SetOwner(kTRUE);
d7d7e825 222 fDebugContainer->SetName("Debug histograms");
223 }
224 if(fDebugContainer != NULL){
225 fDebugContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
226 }
227 }
228 else if(histogramString.Contains("Resolution")){// means it should be put in the resolution folder
229 if(fResolutionContainer == NULL){
230 fResolutionContainer = new TList();
b58d3c74 231 fResolutionContainer->SetOwner(kTRUE);
d7d7e825 232 fResolutionContainer->SetName("Resolution histograms");
233 }
234 if(fResolutionContainer != NULL){
235 fResolutionContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
236 }
237 }
238 else if(histogramString.Contains("TrueConv")){// means it should be put in the true conv folder
239 if(fMatchContainer == NULL){
240 fMatchContainer = new TList();
b58d3c74 241 fMatchContainer->SetOwner(kTRUE);
d7d7e825 242 fMatchContainer->SetName("True conversion histograms");
243 }
244 if(fMatchContainer != NULL){
245 fMatchContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
246 }
247 }
248 else if(histogramString.Contains("ESD")){// means it should be put in the ESD folder
249 if(fESDContainer == NULL){
250 fESDContainer = new TList();
b58d3c74 251 fESDContainer->SetOwner(kTRUE);
d7d7e825 252 fESDContainer->SetName("ESD histograms");
253 }
254 if(fESDContainer != NULL){
255 fESDContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
256 }
257 }
258 else if(histogramString.Contains("MC")){// means it should be put in the MC folder
259 if(fMCContainer == NULL){
260 fMCContainer = new TList();
b58d3c74 261 fMCContainer->SetOwner(kTRUE);
d7d7e825 262 fMCContainer->SetName("MC histograms");
263 }
264 if(fMCContainer != NULL){
265 fMCContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
266 }
267 }
268 else if(histogramString.Contains("Table")){// means it should be put in the Table Folder
269 if(fTableContainer == NULL){
270 fTableContainer = new TList();
b58d3c74 271 fTableContainer->SetOwner(kTRUE);
d7d7e825 272 fTableContainer->SetName("Tables");
273 }
274 if(fTableContainer != NULL){
275 fTableContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
276 }
277 }
278 else{
279 if(fOtherContainer == NULL){
280 fOtherContainer = new TList();
b58d3c74 281 fOtherContainer->SetOwner(kTRUE);
d7d7e825 282 fOtherContainer->SetName("Other histograms");
283 }
284 if(fOtherContainer != NULL){
285 fOtherContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
286 }
287 }
288 histogramName = NULL;
289 } // end while
290 if(fMappingContainer != NULL){
291 fOutputContainer->Add(fMappingContainer);
292 }
293 if(fBackgroundContainer != NULL){
294 fOutputContainer->Add(fBackgroundContainer);
295 }
296 if(fDebugContainer != NULL){
297 fOutputContainer->Add(fDebugContainer);
298 }
299 if(fResolutionContainer != NULL){
300 fOutputContainer->Add(fResolutionContainer);
301 }
302 if(fMatchContainer != NULL){
303 fOutputContainer->Add(fMatchContainer);
304 }
305 if(fESDContainer != NULL){
306 fOutputContainer->Add(fESDContainer);
307 }
308 if(fMCContainer != NULL){
309 fOutputContainer->Add(fMCContainer);
310 }
311 if(fTableContainer != NULL){
312 fOutputContainer->Add(fTableContainer);
313 }
314 if(fOtherContainer != NULL){
a68437fb 315 fOutputContainer->Add(fOtherContainer);
d7d7e825 316 }
317 }
318}
319
320Int_t AliGammaConversionHistograms::GetRBin(Double_t radius) const{
321 // see header file for documentation
322 Int_t iResult=0;
9640a3d1 323// if(fDeltaR>0){
324// iResult = (Int_t)((radius - fMinRadius)/fDeltaR);
325// }
326 for(Int_t i=0;i<fNRIndex;i++){
327 // cout<<"Test-limits::"<< fRBinLimits[i]<<endl;
328 if( radius>=fRBinLimits[i] && radius<fRBinLimits[i+1] ){
329 iResult=i;
330 }
d7d7e825 331 }
332 return iResult;
333}
334
9640a3d1 335Int_t AliGammaConversionHistograms::GetZBin(Double_t zPos) const{
336 // see header file for documentation
337 Int_t iResult=0;
338
339 for(Int_t i=0;i<fNZIndex;i++){
340 // cout<<"Test-limits::"<< fZBinLimits[i]<<endl;
6272370b 341 if( zPos>=fZBinLimits[i] && zPos<fZBinLimits[i+1] ){
9640a3d1 342 iResult=i;
343 }
344 }
345 return iResult;
346}
347
348
349
d7d7e825 350Int_t AliGammaConversionHistograms::GetPhiBin(Double_t phi) const{
351 // see header file for documentation
352 Int_t iResult=0;
353 if(fDeltaPhi>0){
354 if(phi>TMath::Pi()){
355 phi-=2*TMath::Pi();
356 }
357 iResult = (Int_t)((phi - fMinPhi)/fDeltaPhi);
358 }
359 return iResult;
360}
361
362
363
364void AliGammaConversionHistograms::InitializeMappingValues(Int_t nPhiIndex, Int_t nRIndex, Int_t nBinsR, Double_t minRadius, Double_t maxRadius,Int_t nBinsPhi, Double_t minPhi, Double_t maxPhi){
365 // Initializing the valuse for the mapping
366
367 fNPhiIndex = nPhiIndex;
48682642 368 if(nRIndex<=14){
369 fNRIndex = nRIndex;
370 }else{
371 fNRIndex=14;
372 }
373
6272370b 374 fNZIndex = 13;
9640a3d1 375
81686db1 376 // fRBinLimits= new Double_t[8]; Kenneth: moved from pointer to fixed array
ebcfaa7e 377 /*
9640a3d1 378 fRBinLimits[0]=0.;
ebcfaa7e 379 fRBinLimits[1]=13.; //changed from 12 to 13: A. Marin 01.03.10
380 fRBinLimits[2]=21.; //changed from 22 to 21: A. Marin 01.03.10
9640a3d1 381 fRBinLimits[3]=35.;
382 fRBinLimits[4]=55.;
383 fRBinLimits[5]=72.;
384 fRBinLimits[6]=90.;
385 fRBinLimits[7]=500.;
ebcfaa7e 386 */
387
388 fRBinLimits[0]=0.;
6272370b 389 fRBinLimits[1]=3.5;
390 fRBinLimits[2]=5.75;
391 fRBinLimits[3]=9.5;
392 fRBinLimits[4]=13.;
393 fRBinLimits[5]=21.;
394 fRBinLimits[6]=27.5;
395 fRBinLimits[7]=35.;
396 fRBinLimits[8]=42.;
397 fRBinLimits[9]=55.;
398 fRBinLimits[10]=72.;
399 fRBinLimits[11]=81.5;
400 fRBinLimits[12]=90.;
401 fRBinLimits[13]=500.;
ebcfaa7e 402
403
9640a3d1 404
81686db1 405 // fZBinLimits= new Double_t[7]; Kenneth: moved from pointer to fixed array
6272370b 406 fZBinLimits[0]=-500.;
407 fZBinLimits[1]=-200.;
408 fZBinLimits[2]=-100.;
409 fZBinLimits[3]=-50.;
410 fZBinLimits[4]=-30.;
411 fZBinLimits[5]=-15.;
412 fZBinLimits[6]= 0.;
413 fZBinLimits[7]= 15.;
414 fZBinLimits[8]= 30.;
415 fZBinLimits[9]= 50.;
416 fZBinLimits[10]=100.;
417 fZBinLimits[11]=200.;
418 fZBinLimits[12]=500.;
9640a3d1 419
420
d7d7e825 421 fMinRadius = minRadius;
422 fMaxRadius = maxRadius;
423 if(nBinsR>0 && nRIndex!=0){
424 fDeltaR = (fMaxRadius - fMinRadius)/nRIndex;
425 }
426 fMinPhi = minPhi;
427 fMaxPhi = maxPhi;
428 if(nBinsPhi>0 && nPhiIndex!=0){
429 fDeltaPhi = (fMaxPhi-fMinPhi)/nPhiIndex;
430 }
431}
432
433
434//mapping
435void AliGammaConversionHistograms::AddMappingHistograms(Int_t nPhiIndex, Int_t nRIndex,Int_t nXBins, Double_t firstX, Double_t lastX, Int_t nYBins, Double_t firstY, Double_t lastY, TString xAxisTitle, TString yAxisTitle){
436 // see header file for documentation
ebcfaa7e 437
438 Double_t tmptogetridofwarning = firstX + lastX + nYBins + firstY + lastY;
439 if(tmptogetridofwarning < 0){
440 cout<<"Less than zero"<<endl;
441 }
d7d7e825 442
9640a3d1 443 for(Int_t phi =0; phi<fNPhiIndex;phi++){
d7d7e825 444
445 for(Int_t r =0; r<fNRIndex;r++){
446
447 // setting axis to "" changes below
e158cbc3 448 xAxisTitle="z [cm]";
449 yAxisTitle="#eta";
450
d7d7e825 451 //Creating the axis titles
e158cbc3 452 //if(xAxisTitle.Length() == 0){
453 //xAxisTitle.Form("Phi %02d",phi);
454 // }
d7d7e825 455
e158cbc3 456 //if(yAxisTitle.Length() == 0){
457 //yAxisTitle.Form("R %02d",phi);
458 // }
d7d7e825 459
460 //MC
461 TString nameMC="";
e158cbc3 462 nameMC.Form("MC_Conversion_Mapping_Phi%02d_R%02d",phi,r);
d7d7e825 463 TString titleMC="";
464 titleMC.Form("Electron-Positron MC Mapping-Phi%02d-R%02d",phi,r);
465
ebcfaa7e 466 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 467
468 //ESD
469 TString nameESD="";
e158cbc3 470 nameESD.Form("ESD_Conversion_Mapping_Phi%02d_R%02d",phi,r);
d7d7e825 471 TString titleESD="";
472 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d-R%02d",phi,r);
473
ebcfaa7e 474 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 475 }
476 }
477
478
479 for(Int_t phi =0; phi<=nPhiIndex;phi++){
480
481 // setting axis to "" changes below
e158cbc3 482 xAxisTitle="z [cm]";
483 yAxisTitle="#eta";
484 //Creating the axis titles
485 //if(xAxisTitle.Length() == 0){
486 // xAxisTitle.Form("Phi %02d",phi);
487 //}
488 //if(yAxisTitle.Length() == 0){
489 // yAxisTitle = "Counts";
490 //}
d7d7e825 491
492 //MC
493 TString nameMC="";
e158cbc3 494 nameMC.Form("MC_Conversion_Mapping_Phi%02d",phi);
d7d7e825 495 TString titleMC="";
496 titleMC.Form("Electron-Positron MC Mapping-Phi%02d",phi);
497
ebcfaa7e 498 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 499
500 //MC
501 TString nameESD="";
e158cbc3 502 nameESD.Form("ESD_Conversion_Mapping_Phi%02d",phi);
d7d7e825 503 TString titleESD="";
504 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d",phi);
505
ebcfaa7e 506 // AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 507 }
508
509
9640a3d1 510 for(Int_t r =0; r<nRIndex;r++){
d7d7e825 511
512 // setting axis to "" changes below
e158cbc3 513 xAxisTitle="#phi";
ebcfaa7e 514 yAxisTitle="counts";
d7d7e825 515 //Creating the axis titles
e158cbc3 516 //if(xAxisTitle.Length() == 0){
517 // xAxisTitle.Form("R %02d",r);
518 //}
519 //if(yAxisTitle.Length() == 0){
520 // yAxisTitle = "Counts";
521 //}
d7d7e825 522
523 //MC
524 TString nameMC="";
e158cbc3 525 nameMC.Form("MC_Conversion_Mapping_R%02d",r);
d7d7e825 526 TString titleMC="";
527 titleMC.Form("Electron-Positron MC Mapping-R%02d",r);
528
ebcfaa7e 529 // AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 530
531 //ESD
532 TString nameESD="";
e158cbc3 533 nameESD.Form("ESD_Conversion_Mapping_R%02d",r);
d7d7e825 534 TString titleESD="";
535 titleESD.Form("Electron-Positron ESD Mapping-R%02d",r);
536
ebcfaa7e 537 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 538
539 //Mapping Phi in R
540 TString nameMCPhiInR="";
e158cbc3 541 nameMCPhiInR.Form("MC_Conversion_Mapping_Phi_in_R_%02d",r);
d7d7e825 542 TString titleMCPhiInR="";
543 titleMCPhiInR.Form("MC Mapping of Phi in R%02d",r);
9640a3d1 544 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
545 AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
d7d7e825 546
9640a3d1 547
548 //Mapping Z in R
549 TString nameMCZInR="";
550 nameMCZInR.Form("MC_Conversion_Mapping_Z_in_R_%02d",r);
551 TString titleMCZInR="";
552 titleMCZInR.Form("MC Mapping of Z in R%02d",r);
553 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
554 AddHistogram(nameMCZInR, titleMCZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
555
556
557 //Mapping Phi in R Middle Pt
558 TString nameMCMidPtPhiInR="";
559 nameMCMidPtPhiInR.Form("MC_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
560 TString titleMCMidPtPhiInR="";
561 titleMCMidPtPhiInR.Form("MC Mapping Middle Pt of Phi in R%02d",r);
562 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
563 AddHistogram(nameMCMidPtPhiInR, titleMCMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
564
565
566 //Mapping Z in R Middle Pt
567 TString nameMCMidPtZInR="";
568 nameMCMidPtZInR.Form("MC_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
569 TString titleMCMidPtZInR="";
570 titleMCMidPtZInR.Form("MC Mapping Middle Pt of Z in R%02d",r);
571 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
572 AddHistogram(nameMCMidPtZInR, titleMCMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
573
574
575
576
d7d7e825 577 //Mapping Phi in R
578 TString nameESDPhiInR="";
e158cbc3 579 nameESDPhiInR.Form("ESD_Conversion_Mapping_Phi_in_R_%02d",r);
d7d7e825 580 TString titleESDPhiInR="";
581 titleESDPhiInR.Form("ESD Mapping of Phi in R%02d",r);
9640a3d1 582 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
583 AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
584
585 //Mapping Z in R
586 TString nameESDZInR="";
587 nameESDZInR.Form("ESD_Conversion_Mapping_Z_in_R_%02d",r);
588 TString titleESDZInR="";
589 titleESDZInR.Form("ESD Mapping of Z in R%02d",r);
590 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
591 AddHistogram(nameESDZInR, titleESDZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
592
593 //Mapping Phi in R Middle Pt
594 TString nameESDMidPtPhiInR="";
595 nameESDMidPtPhiInR.Form("ESD_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
596 TString titleESDMidPtPhiInR="";
597 titleESDMidPtPhiInR.Form("ESD Mapping Middle Pt of Phi in R%02d",r);
598 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
599 AddHistogram(nameESDMidPtPhiInR, titleESDMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
600
601 //Mapping Z in R Middle Pt
602 TString nameESDMidPtZInR="";
603 nameESDMidPtZInR.Form("ESD_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
604 TString titleESDMidPtZInR="";
605 titleESDMidPtZInR.Form("ESD Mapping Middle Pt of Z in R%02d",r);
606 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
607 AddHistogram(nameESDMidPtZInR, titleESDMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
608
609
610
611 }
612
613
614
615 for(Int_t z =0; z<fNZIndex;z++){
616 //Mapping Phi in Z
617 TString nameMCPhiInZ="";
618 nameMCPhiInZ.Form("MC_Conversion_Mapping_Phi_in_Z_%02d",z);
619 TString titleMCPhiInZ="";
620 titleMCPhiInZ.Form("MC Mapping of Phi in Z%02d",z);
621 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
622 AddHistogram(nameMCPhiInZ, titleMCPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
623
624
625 //Mapping R in Z
626 TString nameMCRInZ="";
627 nameMCRInZ.Form("MC_Conversion_Mapping_R_in_Z_%02d",z);
628 TString titleMCRInZ="";
629 titleMCRInZ.Form("MC Mapping of R in Z%02d",z);
630 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
631 AddHistogram(nameMCRInZ, titleMCRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
632
633 //Mapping Phi in Z Middle Pt
634 TString nameMCMidPtPhiInZ="";
635 nameMCMidPtPhiInZ.Form("MC_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
636 TString titleMCMidPtPhiInZ="";
637 titleMCMidPtPhiInZ.Form("MC Mapping Middle Pt of Phi in Z%02d",z);
638 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
639 AddHistogram(nameMCMidPtPhiInZ, titleMCMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
640
641
642 //Mapping R in Z Middle Pt
643 TString nameMCMidPtRInZ="";
644 nameMCMidPtRInZ.Form("MC_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
645 TString titleMCMidPtRInZ="";
646 titleMCMidPtRInZ.Form("MC Mapping Middle Pt of R in Z%02d",z);
647 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
648 AddHistogram(nameMCMidPtRInZ, titleMCMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
649
650
651
652
653 //Mapping Phi in Z
654 TString nameESDPhiInZ="";
655 nameESDPhiInZ.Form("ESD_Conversion_Mapping_Phi_in_Z_%02d",z);
656 TString titleESDPhiInZ="";
657 titleESDPhiInZ.Form("ESD Mapping of Phi in R%02d",z);
658 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
659 AddHistogram(nameESDPhiInZ, titleESDPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
660
661 //Mapping R in Z
662 TString nameESDRInZ="";
663 nameESDRInZ.Form("ESD_Conversion_Mapping_R_in_Z_%02d",z);
664 TString titleESDRInZ="";
665 titleESDRInZ.Form("ESD Mapping of R in Z%02d",z);
666 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
667 AddHistogram(nameESDRInZ, titleESDRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
668
669
670 //Mapping Phi in Z Middle Pt
671 TString nameESDMidPtPhiInZ="";
672 nameESDMidPtPhiInZ.Form("ESD_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
673 TString titleESDMidPtPhiInZ="";
674 titleESDMidPtPhiInZ.Form("ESD Mapping Middle Ptof Phi in R%02d",z);
675 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
676 AddHistogram(nameESDMidPtPhiInZ, titleESDMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
677
678 //Mapping R in Z Middle Pt
679 TString nameESDMidPtRInZ="";
680 nameESDMidPtRInZ.Form("ESD_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
681 TString titleESDMidPtRInZ="";
682 titleESDMidPtRInZ.Form("ESD Mapping Middle Pt of R in Z%02d",z);
683 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
684 AddHistogram(nameESDMidPtRInZ, titleESDMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
685
686
687
d7d7e825 688 }
9640a3d1 689
690
691
d7d7e825 692}