]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliGammaConversionHistograms.cxx
Added functionality to also process calorimeter data + some changes in cuts (Ana)
[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;
368 fNRIndex = nRIndex;
6272370b 369 fNZIndex = 13;
9640a3d1 370
81686db1 371 // fRBinLimits= new Double_t[8]; Kenneth: moved from pointer to fixed array
ebcfaa7e 372 /*
9640a3d1 373 fRBinLimits[0]=0.;
ebcfaa7e 374 fRBinLimits[1]=13.; //changed from 12 to 13: A. Marin 01.03.10
375 fRBinLimits[2]=21.; //changed from 22 to 21: A. Marin 01.03.10
9640a3d1 376 fRBinLimits[3]=35.;
377 fRBinLimits[4]=55.;
378 fRBinLimits[5]=72.;
379 fRBinLimits[6]=90.;
380 fRBinLimits[7]=500.;
ebcfaa7e 381 */
382
383 fRBinLimits[0]=0.;
6272370b 384 fRBinLimits[1]=3.5;
385 fRBinLimits[2]=5.75;
386 fRBinLimits[3]=9.5;
387 fRBinLimits[4]=13.;
388 fRBinLimits[5]=21.;
389 fRBinLimits[6]=27.5;
390 fRBinLimits[7]=35.;
391 fRBinLimits[8]=42.;
392 fRBinLimits[9]=55.;
393 fRBinLimits[10]=72.;
394 fRBinLimits[11]=81.5;
395 fRBinLimits[12]=90.;
396 fRBinLimits[13]=500.;
ebcfaa7e 397
398
9640a3d1 399
81686db1 400 // fZBinLimits= new Double_t[7]; Kenneth: moved from pointer to fixed array
6272370b 401 fZBinLimits[0]=-500.;
402 fZBinLimits[1]=-200.;
403 fZBinLimits[2]=-100.;
404 fZBinLimits[3]=-50.;
405 fZBinLimits[4]=-30.;
406 fZBinLimits[5]=-15.;
407 fZBinLimits[6]= 0.;
408 fZBinLimits[7]= 15.;
409 fZBinLimits[8]= 30.;
410 fZBinLimits[9]= 50.;
411 fZBinLimits[10]=100.;
412 fZBinLimits[11]=200.;
413 fZBinLimits[12]=500.;
9640a3d1 414
415
d7d7e825 416 fMinRadius = minRadius;
417 fMaxRadius = maxRadius;
418 if(nBinsR>0 && nRIndex!=0){
419 fDeltaR = (fMaxRadius - fMinRadius)/nRIndex;
420 }
421 fMinPhi = minPhi;
422 fMaxPhi = maxPhi;
423 if(nBinsPhi>0 && nPhiIndex!=0){
424 fDeltaPhi = (fMaxPhi-fMinPhi)/nPhiIndex;
425 }
426}
427
428
429//mapping
430void 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){
431 // see header file for documentation
ebcfaa7e 432
433 Double_t tmptogetridofwarning = firstX + lastX + nYBins + firstY + lastY;
434 if(tmptogetridofwarning < 0){
435 cout<<"Less than zero"<<endl;
436 }
d7d7e825 437
9640a3d1 438 for(Int_t phi =0; phi<fNPhiIndex;phi++){
d7d7e825 439
440 for(Int_t r =0; r<fNRIndex;r++){
441
442 // setting axis to "" changes below
e158cbc3 443 xAxisTitle="z [cm]";
444 yAxisTitle="#eta";
445
d7d7e825 446 //Creating the axis titles
e158cbc3 447 //if(xAxisTitle.Length() == 0){
448 //xAxisTitle.Form("Phi %02d",phi);
449 // }
d7d7e825 450
e158cbc3 451 //if(yAxisTitle.Length() == 0){
452 //yAxisTitle.Form("R %02d",phi);
453 // }
d7d7e825 454
455 //MC
456 TString nameMC="";
e158cbc3 457 nameMC.Form("MC_Conversion_Mapping_Phi%02d_R%02d",phi,r);
d7d7e825 458 TString titleMC="";
459 titleMC.Form("Electron-Positron MC Mapping-Phi%02d-R%02d",phi,r);
460
ebcfaa7e 461 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 462
463 //ESD
464 TString nameESD="";
e158cbc3 465 nameESD.Form("ESD_Conversion_Mapping_Phi%02d_R%02d",phi,r);
d7d7e825 466 TString titleESD="";
467 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d-R%02d",phi,r);
468
ebcfaa7e 469 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 470 }
471 }
472
473
474 for(Int_t phi =0; phi<=nPhiIndex;phi++){
475
476 // setting axis to "" changes below
e158cbc3 477 xAxisTitle="z [cm]";
478 yAxisTitle="#eta";
479 //Creating the axis titles
480 //if(xAxisTitle.Length() == 0){
481 // xAxisTitle.Form("Phi %02d",phi);
482 //}
483 //if(yAxisTitle.Length() == 0){
484 // yAxisTitle = "Counts";
485 //}
d7d7e825 486
487 //MC
488 TString nameMC="";
e158cbc3 489 nameMC.Form("MC_Conversion_Mapping_Phi%02d",phi);
d7d7e825 490 TString titleMC="";
491 titleMC.Form("Electron-Positron MC Mapping-Phi%02d",phi);
492
ebcfaa7e 493 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 494
495 //MC
496 TString nameESD="";
e158cbc3 497 nameESD.Form("ESD_Conversion_Mapping_Phi%02d",phi);
d7d7e825 498 TString titleESD="";
499 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d",phi);
500
ebcfaa7e 501 // AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 502 }
503
504
9640a3d1 505 for(Int_t r =0; r<nRIndex;r++){
d7d7e825 506
507 // setting axis to "" changes below
e158cbc3 508 xAxisTitle="#phi";
ebcfaa7e 509 yAxisTitle="counts";
d7d7e825 510 //Creating the axis titles
e158cbc3 511 //if(xAxisTitle.Length() == 0){
512 // xAxisTitle.Form("R %02d",r);
513 //}
514 //if(yAxisTitle.Length() == 0){
515 // yAxisTitle = "Counts";
516 //}
d7d7e825 517
518 //MC
519 TString nameMC="";
e158cbc3 520 nameMC.Form("MC_Conversion_Mapping_R%02d",r);
d7d7e825 521 TString titleMC="";
522 titleMC.Form("Electron-Positron MC Mapping-R%02d",r);
523
ebcfaa7e 524 // AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 525
526 //ESD
527 TString nameESD="";
e158cbc3 528 nameESD.Form("ESD_Conversion_Mapping_R%02d",r);
d7d7e825 529 TString titleESD="";
530 titleESD.Form("Electron-Positron ESD Mapping-R%02d",r);
531
ebcfaa7e 532 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
d7d7e825 533
534 //Mapping Phi in R
535 TString nameMCPhiInR="";
e158cbc3 536 nameMCPhiInR.Form("MC_Conversion_Mapping_Phi_in_R_%02d",r);
d7d7e825 537 TString titleMCPhiInR="";
538 titleMCPhiInR.Form("MC Mapping of Phi in R%02d",r);
9640a3d1 539 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
540 AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
d7d7e825 541
9640a3d1 542
543 //Mapping Z in R
544 TString nameMCZInR="";
545 nameMCZInR.Form("MC_Conversion_Mapping_Z_in_R_%02d",r);
546 TString titleMCZInR="";
547 titleMCZInR.Form("MC Mapping of Z in R%02d",r);
548 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
549 AddHistogram(nameMCZInR, titleMCZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
550
551
552 //Mapping Phi in R Middle Pt
553 TString nameMCMidPtPhiInR="";
554 nameMCMidPtPhiInR.Form("MC_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
555 TString titleMCMidPtPhiInR="";
556 titleMCMidPtPhiInR.Form("MC Mapping Middle Pt of Phi in R%02d",r);
557 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
558 AddHistogram(nameMCMidPtPhiInR, titleMCMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
559
560
561 //Mapping Z in R Middle Pt
562 TString nameMCMidPtZInR="";
563 nameMCMidPtZInR.Form("MC_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
564 TString titleMCMidPtZInR="";
565 titleMCMidPtZInR.Form("MC Mapping Middle Pt of Z in R%02d",r);
566 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
567 AddHistogram(nameMCMidPtZInR, titleMCMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
568
569
570
571
d7d7e825 572 //Mapping Phi in R
573 TString nameESDPhiInR="";
e158cbc3 574 nameESDPhiInR.Form("ESD_Conversion_Mapping_Phi_in_R_%02d",r);
d7d7e825 575 TString titleESDPhiInR="";
576 titleESDPhiInR.Form("ESD Mapping of Phi in R%02d",r);
9640a3d1 577 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
578 AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
579
580 //Mapping Z in R
581 TString nameESDZInR="";
582 nameESDZInR.Form("ESD_Conversion_Mapping_Z_in_R_%02d",r);
583 TString titleESDZInR="";
584 titleESDZInR.Form("ESD Mapping of Z in R%02d",r);
585 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
586 AddHistogram(nameESDZInR, titleESDZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
587
588 //Mapping Phi in R Middle Pt
589 TString nameESDMidPtPhiInR="";
590 nameESDMidPtPhiInR.Form("ESD_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
591 TString titleESDMidPtPhiInR="";
592 titleESDMidPtPhiInR.Form("ESD Mapping Middle Pt of Phi in R%02d",r);
593 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
594 AddHistogram(nameESDMidPtPhiInR, titleESDMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
595
596 //Mapping Z in R Middle Pt
597 TString nameESDMidPtZInR="";
598 nameESDMidPtZInR.Form("ESD_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
599 TString titleESDMidPtZInR="";
600 titleESDMidPtZInR.Form("ESD Mapping Middle Pt of Z in R%02d",r);
601 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
602 AddHistogram(nameESDMidPtZInR, titleESDMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
603
604
605
606 }
607
608
609
610 for(Int_t z =0; z<fNZIndex;z++){
611 //Mapping Phi in Z
612 TString nameMCPhiInZ="";
613 nameMCPhiInZ.Form("MC_Conversion_Mapping_Phi_in_Z_%02d",z);
614 TString titleMCPhiInZ="";
615 titleMCPhiInZ.Form("MC Mapping of Phi in Z%02d",z);
616 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
617 AddHistogram(nameMCPhiInZ, titleMCPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
618
619
620 //Mapping R in Z
621 TString nameMCRInZ="";
622 nameMCRInZ.Form("MC_Conversion_Mapping_R_in_Z_%02d",z);
623 TString titleMCRInZ="";
624 titleMCRInZ.Form("MC Mapping of R in Z%02d",z);
625 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
626 AddHistogram(nameMCRInZ, titleMCRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
627
628 //Mapping Phi in Z Middle Pt
629 TString nameMCMidPtPhiInZ="";
630 nameMCMidPtPhiInZ.Form("MC_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
631 TString titleMCMidPtPhiInZ="";
632 titleMCMidPtPhiInZ.Form("MC Mapping Middle Pt of Phi in Z%02d",z);
633 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
634 AddHistogram(nameMCMidPtPhiInZ, titleMCMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
635
636
637 //Mapping R in Z Middle Pt
638 TString nameMCMidPtRInZ="";
639 nameMCMidPtRInZ.Form("MC_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
640 TString titleMCMidPtRInZ="";
641 titleMCMidPtRInZ.Form("MC Mapping Middle Pt of R in Z%02d",z);
642 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
643 AddHistogram(nameMCMidPtRInZ, titleMCMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
644
645
646
647
648 //Mapping Phi in Z
649 TString nameESDPhiInZ="";
650 nameESDPhiInZ.Form("ESD_Conversion_Mapping_Phi_in_Z_%02d",z);
651 TString titleESDPhiInZ="";
652 titleESDPhiInZ.Form("ESD Mapping of Phi in R%02d",z);
653 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
654 AddHistogram(nameESDPhiInZ, titleESDPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
655
656 //Mapping R in Z
657 TString nameESDRInZ="";
658 nameESDRInZ.Form("ESD_Conversion_Mapping_R_in_Z_%02d",z);
659 TString titleESDRInZ="";
660 titleESDRInZ.Form("ESD Mapping of R in Z%02d",z);
661 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
662 AddHistogram(nameESDRInZ, titleESDRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
663
664
665 //Mapping Phi in Z Middle Pt
666 TString nameESDMidPtPhiInZ="";
667 nameESDMidPtPhiInZ.Form("ESD_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
668 TString titleESDMidPtPhiInZ="";
669 titleESDMidPtPhiInZ.Form("ESD Mapping Middle Ptof Phi in R%02d",z);
670 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
671 AddHistogram(nameESDMidPtPhiInZ, titleESDMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
672
673 //Mapping R in Z Middle Pt
674 TString nameESDMidPtRInZ="";
675 nameESDMidPtRInZ.Form("ESD_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
676 TString titleESDMidPtRInZ="";
677 titleESDMidPtRInZ.Form("ESD Mapping Middle Pt of R in Z%02d",z);
678 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
679 AddHistogram(nameESDMidPtRInZ, titleESDMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
680
681
682
d7d7e825 683 }
9640a3d1 684
685
686
d7d7e825 687}