1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: Ana Marin, Kathrin Koch, Kenneth Aamodt *
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 **************************************************************************/
16 ////////////////////////////////////////////////
17 //---------------------------------------------
18 // Class used to do analysis on conversion pairs
19 //---------------------------------------------
20 ////////////////////////////////////////////////
22 #include "AliGammaConversionHistograms.h"
24 #include "TObjString.h"
33 ClassImp(AliGammaConversionHistograms)
36 AliGammaConversionHistograms::AliGammaConversionHistograms() :
37 fHistogramMap(new TMap()),
49 fMappingContainer(NULL),
50 fBackgroundContainer(NULL),
51 fDebugContainer(NULL),
52 fResolutionContainer(NULL),
53 fMatchContainer(NULL),
56 fTableContainer(NULL),
59 // see header file for documenation
60 for(Int_t i=0;i<7;i++){
63 for(Int_t i=0;i<6;i++){
69 AliGammaConversionHistograms::AliGammaConversionHistograms(const AliGammaConversionHistograms & original) :
70 fHistogramMap(original.fHistogramMap),
71 fNPhiIndex(original.fNPhiIndex),
72 fNRIndex(original.fNRIndex),
73 fNZIndex(original.fNZIndex),
74 // fRBinLimits(original.fRBinLimits),
75 // fZBinLimits(original.fZBinLimits),
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)
92 //see header file for documentation
93 for(Int_t i=0;i<7;i++){
94 fRBinLimits[i]= original.fRBinLimits[i];
96 for(Int_t i=0;i<6;i++){
97 fZBinLimits[i]=original.fZBinLimits[i];
102 AliGammaConversionHistograms & AliGammaConversionHistograms::operator = (const AliGammaConversionHistograms & /*original*/)
104 // assignment operator
109 AliGammaConversionHistograms::~AliGammaConversionHistograms() {
115 void 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
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);
125 cout << "Warning: Histogram ( "<<histogramName.Data()<<" ) already exists " << endl;
129 void 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
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);
139 cout << "Warning: Histogram ( "<<histogramName.Data()<<" ) already exists " << endl;
143 void AliGammaConversionHistograms::AddTable(TString tableName,TString tableTitle,Int_t nXBins,const char * axesLabel[]){
144 //see header file for documentation
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]);
153 TObjString *tobjstring = new TObjString(tableName.Data());
154 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
157 cout << "Warning: Table ( "<<tableName.Data()<<" ) already exists " << endl;
161 void AliGammaConversionHistograms::FillTable(TString tableName,Double_t xValue) const {
162 //see header file for documentation
163 TH1 *tmp = (TH1*)fHistogramMap->GetValue(tableName.Data());
169 void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue) const{
170 //see header file for documentation
171 TH1 *tmp = (TH1*)fHistogramMap->GetValue(histogramName.Data());
177 void 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());
181 tmp->Fill(xValue, yValue);
185 void AliGammaConversionHistograms::GetOutputContainer(TList *fOutputContainer){
186 //checking if the container is alrerady created
188 if(fOutputContainer == NULL){
189 cout<<"WARNING: GetOutputContainer: output container object is NULL"<<endl;
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();
201 fMappingContainer->SetOwner(kTRUE);
202 fMappingContainer->SetName("Mapping histograms");
204 if(fMappingContainer != NULL){
205 fMappingContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
208 else if(histogramString.Contains("Background")){// means it should be put in the background folder
209 if(fBackgroundContainer == NULL){
210 fBackgroundContainer = new TList();
211 fBackgroundContainer->SetOwner(kTRUE);
212 fBackgroundContainer->SetName("Background histograms");
214 if(fBackgroundContainer != NULL){
215 fBackgroundContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
218 else if(histogramString.Contains("Debug")){// means it should be put in the debug folder
219 if(fDebugContainer == NULL){
220 fDebugContainer = new TList();
221 fDebugContainer->SetOwner(kTRUE);
222 fDebugContainer->SetName("Debug histograms");
224 if(fDebugContainer != NULL){
225 fDebugContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
228 else if(histogramString.Contains("Resolution")){// means it should be put in the resolution folder
229 if(fResolutionContainer == NULL){
230 fResolutionContainer = new TList();
231 fResolutionContainer->SetOwner(kTRUE);
232 fResolutionContainer->SetName("Resolution histograms");
234 if(fResolutionContainer != NULL){
235 fResolutionContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
238 else if(histogramString.Contains("TrueConv")){// means it should be put in the true conv folder
239 if(fMatchContainer == NULL){
240 fMatchContainer = new TList();
241 fMatchContainer->SetOwner(kTRUE);
242 fMatchContainer->SetName("True conversion histograms");
244 if(fMatchContainer != NULL){
245 fMatchContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
248 else if(histogramString.Contains("ESD")){// means it should be put in the ESD folder
249 if(fESDContainer == NULL){
250 fESDContainer = new TList();
251 fESDContainer->SetOwner(kTRUE);
252 fESDContainer->SetName("ESD histograms");
254 if(fESDContainer != NULL){
255 fESDContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
258 else if(histogramString.Contains("MC")){// means it should be put in the MC folder
259 if(fMCContainer == NULL){
260 fMCContainer = new TList();
261 fMCContainer->SetOwner(kTRUE);
262 fMCContainer->SetName("MC histograms");
264 if(fMCContainer != NULL){
265 fMCContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
268 else if(histogramString.Contains("Table")){// means it should be put in the Table Folder
269 if(fTableContainer == NULL){
270 fTableContainer = new TList();
271 fTableContainer->SetOwner(kTRUE);
272 fTableContainer->SetName("Tables");
274 if(fTableContainer != NULL){
275 fTableContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
279 if(fOtherContainer == NULL){
280 fOtherContainer = new TList();
281 fOtherContainer->SetOwner(kTRUE);
282 fOtherContainer->SetName("Other histograms");
284 if(fOtherContainer != NULL){
285 fOtherContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
288 histogramName = NULL;
290 if(fMappingContainer != NULL){
291 fOutputContainer->Add(fMappingContainer);
293 if(fBackgroundContainer != NULL){
294 fOutputContainer->Add(fBackgroundContainer);
296 if(fDebugContainer != NULL){
297 fOutputContainer->Add(fDebugContainer);
299 if(fResolutionContainer != NULL){
300 fOutputContainer->Add(fResolutionContainer);
302 if(fMatchContainer != NULL){
303 fOutputContainer->Add(fMatchContainer);
305 if(fESDContainer != NULL){
306 fOutputContainer->Add(fESDContainer);
308 if(fMCContainer != NULL){
309 fOutputContainer->Add(fMCContainer);
311 if(fTableContainer != NULL){
312 fOutputContainer->Add(fTableContainer);
314 if(fOtherContainer != NULL){
315 fOutputContainer->Add(fOtherContainer);
320 Int_t AliGammaConversionHistograms::GetRBin(Double_t radius) const{
321 // see header file for documentation
324 // iResult = (Int_t)((radius - fMinRadius)/fDeltaR);
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] ){
335 Int_t AliGammaConversionHistograms::GetZBin(Double_t zPos) const{
336 // see header file for documentation
339 for(Int_t i=0;i<fNZIndex;i++){
340 // cout<<"Test-limits::"<< fZBinLimits[i]<<endl;
341 if( TMath::Abs(zPos)>=fZBinLimits[i] && TMath::Abs(zPos)<fZBinLimits[i+1] ){
350 Int_t AliGammaConversionHistograms::GetPhiBin(Double_t phi) const{
351 // see header file for documentation
357 iResult = (Int_t)((phi - fMinPhi)/fDeltaPhi);
364 void 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
367 fNPhiIndex = nPhiIndex;
371 // fRBinLimits= new Double_t[8]; Kenneth: moved from pointer to fixed array
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
393 fRBinLimits[10]=81.5;
395 fRBinLimits[12]=500.;
399 // fZBinLimits= new Double_t[7]; Kenneth: moved from pointer to fixed array
409 fMinRadius = minRadius;
410 fMaxRadius = maxRadius;
411 if(nBinsR>0 && nRIndex!=0){
412 fDeltaR = (fMaxRadius - fMinRadius)/nRIndex;
416 if(nBinsPhi>0 && nPhiIndex!=0){
417 fDeltaPhi = (fMaxPhi-fMinPhi)/nPhiIndex;
423 void 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){
424 // see header file for documentation
426 Double_t tmptogetridofwarning = firstX + lastX + nYBins + firstY + lastY;
427 if(tmptogetridofwarning < 0){
428 cout<<"Less than zero"<<endl;
431 for(Int_t phi =0; phi<fNPhiIndex;phi++){
433 for(Int_t r =0; r<fNRIndex;r++){
435 // setting axis to "" changes below
439 //Creating the axis titles
440 //if(xAxisTitle.Length() == 0){
441 //xAxisTitle.Form("Phi %02d",phi);
444 //if(yAxisTitle.Length() == 0){
445 //yAxisTitle.Form("R %02d",phi);
450 nameMC.Form("MC_Conversion_Mapping_Phi%02d_R%02d",phi,r);
452 titleMC.Form("Electron-Positron MC Mapping-Phi%02d-R%02d",phi,r);
454 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
458 nameESD.Form("ESD_Conversion_Mapping_Phi%02d_R%02d",phi,r);
460 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d-R%02d",phi,r);
462 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
467 for(Int_t phi =0; phi<=nPhiIndex;phi++){
469 // setting axis to "" changes below
472 //Creating the axis titles
473 //if(xAxisTitle.Length() == 0){
474 // xAxisTitle.Form("Phi %02d",phi);
476 //if(yAxisTitle.Length() == 0){
477 // yAxisTitle = "Counts";
482 nameMC.Form("MC_Conversion_Mapping_Phi%02d",phi);
484 titleMC.Form("Electron-Positron MC Mapping-Phi%02d",phi);
486 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
490 nameESD.Form("ESD_Conversion_Mapping_Phi%02d",phi);
492 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d",phi);
494 // AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
498 for(Int_t r =0; r<nRIndex;r++){
500 // setting axis to "" changes below
503 //Creating the axis titles
504 //if(xAxisTitle.Length() == 0){
505 // xAxisTitle.Form("R %02d",r);
507 //if(yAxisTitle.Length() == 0){
508 // yAxisTitle = "Counts";
513 nameMC.Form("MC_Conversion_Mapping_R%02d",r);
515 titleMC.Form("Electron-Positron MC Mapping-R%02d",r);
517 // AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
521 nameESD.Form("ESD_Conversion_Mapping_R%02d",r);
523 titleESD.Form("Electron-Positron ESD Mapping-R%02d",r);
525 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
528 TString nameMCPhiInR="";
529 nameMCPhiInR.Form("MC_Conversion_Mapping_Phi_in_R_%02d",r);
530 TString titleMCPhiInR="";
531 titleMCPhiInR.Form("MC Mapping of Phi in R%02d",r);
532 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
533 AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
537 TString nameMCZInR="";
538 nameMCZInR.Form("MC_Conversion_Mapping_Z_in_R_%02d",r);
539 TString titleMCZInR="";
540 titleMCZInR.Form("MC Mapping of Z in R%02d",r);
541 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
542 AddHistogram(nameMCZInR, titleMCZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
545 //Mapping Phi in R Middle Pt
546 TString nameMCMidPtPhiInR="";
547 nameMCMidPtPhiInR.Form("MC_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
548 TString titleMCMidPtPhiInR="";
549 titleMCMidPtPhiInR.Form("MC Mapping Middle Pt of Phi in R%02d",r);
550 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
551 AddHistogram(nameMCMidPtPhiInR, titleMCMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
554 //Mapping Z in R Middle Pt
555 TString nameMCMidPtZInR="";
556 nameMCMidPtZInR.Form("MC_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
557 TString titleMCMidPtZInR="";
558 titleMCMidPtZInR.Form("MC Mapping Middle Pt of Z in R%02d",r);
559 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
560 AddHistogram(nameMCMidPtZInR, titleMCMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
566 TString nameESDPhiInR="";
567 nameESDPhiInR.Form("ESD_Conversion_Mapping_Phi_in_R_%02d",r);
568 TString titleESDPhiInR="";
569 titleESDPhiInR.Form("ESD Mapping of Phi in R%02d",r);
570 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
571 AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
574 TString nameESDZInR="";
575 nameESDZInR.Form("ESD_Conversion_Mapping_Z_in_R_%02d",r);
576 TString titleESDZInR="";
577 titleESDZInR.Form("ESD Mapping of Z in R%02d",r);
578 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
579 AddHistogram(nameESDZInR, titleESDZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
581 //Mapping Phi in R Middle Pt
582 TString nameESDMidPtPhiInR="";
583 nameESDMidPtPhiInR.Form("ESD_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
584 TString titleESDMidPtPhiInR="";
585 titleESDMidPtPhiInR.Form("ESD Mapping Middle Pt of Phi in R%02d",r);
586 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
587 AddHistogram(nameESDMidPtPhiInR, titleESDMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
589 //Mapping Z in R Middle Pt
590 TString nameESDMidPtZInR="";
591 nameESDMidPtZInR.Form("ESD_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
592 TString titleESDMidPtZInR="";
593 titleESDMidPtZInR.Form("ESD Mapping Middle Pt of Z in R%02d",r);
594 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
595 AddHistogram(nameESDMidPtZInR, titleESDMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
603 for(Int_t z =0; z<fNZIndex;z++){
605 TString nameMCPhiInZ="";
606 nameMCPhiInZ.Form("MC_Conversion_Mapping_Phi_in_Z_%02d",z);
607 TString titleMCPhiInZ="";
608 titleMCPhiInZ.Form("MC Mapping of Phi in Z%02d",z);
609 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
610 AddHistogram(nameMCPhiInZ, titleMCPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
614 TString nameMCRInZ="";
615 nameMCRInZ.Form("MC_Conversion_Mapping_R_in_Z_%02d",z);
616 TString titleMCRInZ="";
617 titleMCRInZ.Form("MC Mapping of R in Z%02d",z);
618 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
619 AddHistogram(nameMCRInZ, titleMCRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
621 //Mapping Phi in Z Middle Pt
622 TString nameMCMidPtPhiInZ="";
623 nameMCMidPtPhiInZ.Form("MC_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
624 TString titleMCMidPtPhiInZ="";
625 titleMCMidPtPhiInZ.Form("MC Mapping Middle Pt of Phi in Z%02d",z);
626 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
627 AddHistogram(nameMCMidPtPhiInZ, titleMCMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
630 //Mapping R in Z Middle Pt
631 TString nameMCMidPtRInZ="";
632 nameMCMidPtRInZ.Form("MC_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
633 TString titleMCMidPtRInZ="";
634 titleMCMidPtRInZ.Form("MC Mapping Middle Pt of R in Z%02d",z);
635 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
636 AddHistogram(nameMCMidPtRInZ, titleMCMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
642 TString nameESDPhiInZ="";
643 nameESDPhiInZ.Form("ESD_Conversion_Mapping_Phi_in_Z_%02d",z);
644 TString titleESDPhiInZ="";
645 titleESDPhiInZ.Form("ESD Mapping of Phi in R%02d",z);
646 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
647 AddHistogram(nameESDPhiInZ, titleESDPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
650 TString nameESDRInZ="";
651 nameESDRInZ.Form("ESD_Conversion_Mapping_R_in_Z_%02d",z);
652 TString titleESDRInZ="";
653 titleESDRInZ.Form("ESD Mapping of R in Z%02d",z);
654 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
655 AddHistogram(nameESDRInZ, titleESDRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
658 //Mapping Phi in Z Middle Pt
659 TString nameESDMidPtPhiInZ="";
660 nameESDMidPtPhiInZ.Form("ESD_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
661 TString titleESDMidPtPhiInZ="";
662 titleESDMidPtPhiInZ.Form("ESD Mapping Middle Ptof Phi in R%02d",z);
663 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
664 AddHistogram(nameESDMidPtPhiInZ, titleESDMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
666 //Mapping R in Z Middle Pt
667 TString nameESDMidPtRInZ="";
668 nameESDMidPtRInZ.Form("ESD_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
669 TString titleESDMidPtRInZ="";
670 titleESDMidPtRInZ.Form("ESD Mapping Middle Pt of R in Z%02d",z);
671 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
672 AddHistogram(nameESDMidPtRInZ, titleESDMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);