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 TH1F *tmp = new TH1F(histogramName, histogramTitle,nXBins,firstX,lastX);
118 tmp->GetXaxis()->SetTitle(xAxisTitle);
119 tmp->GetYaxis()->SetTitle(yAxisTitle);
120 TObjString* tobjstring = new TObjString(histogramName.Data());
121 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
124 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){
125 // see header file for documentation
126 TH2F *tmp = new TH2F(histogramName, histogramTitle,nXBins,firstX,lastX,nYBins,firstY,lastY);
127 tmp->GetXaxis()->SetTitle(xAxisTitle);
128 tmp->GetYaxis()->SetTitle(yAxisTitle);
129 TObjString *tobjstring = new TObjString(histogramName.Data());
130 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
133 void AliGammaConversionHistograms::AddTable(TString tableName,TString tableTitle,Int_t nXBins,const char * axesLabel[]){
134 //see header file for documentation
136 TH1F *tmp = new TH1F(tableName,tableTitle,nXBins,0,nXBins);
137 for(Int_t xbin=1; xbin<=nXBins; xbin++){
138 tmp->GetXaxis()->SetBinLabel(xbin,axesLabel[xbin-1]);
142 TObjString *tobjstring = new TObjString(tableName.Data());
143 fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
146 void AliGammaConversionHistograms::FillTable(TString tableName,Double_t xValue) const {
147 //see header file for documentation
148 TH1 *tmp = (TH1*)fHistogramMap->GetValue(tableName.Data());
154 void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue) const{
155 //see header file for documentation
156 TH1 *tmp = (TH1*)fHistogramMap->GetValue(histogramName.Data());
162 void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue, Double_t yValue) const{
163 //see header file for documentation
164 TH1 *tmp = (TH1*)fHistogramMap->GetValue(histogramName.Data());
166 tmp->Fill(xValue, yValue);
170 void AliGammaConversionHistograms::GetOutputContainer(TList *fOutputContainer){
171 //checking if the container is alrerady created
173 if(fOutputContainer == NULL){
174 cout<<"WARNING: GetOutputContainer: output container object is NULL"<<endl;
178 if(fHistogramMap != NULL){
179 TIter iter(fHistogramMap);
180 TObjString *histogramName;
181 while ((histogramName = (TObjString*) iter.Next())) {
182 TString histogramString = histogramName->GetString();
183 if(histogramString.Contains("Mapping")){// means it should be put in the mapping folder
184 if(fMappingContainer == NULL){
185 fMappingContainer = new TList();
186 fMappingContainer->SetName("Mapping histograms");
188 if(fMappingContainer != NULL){
189 fMappingContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
192 else if(histogramString.Contains("Background")){// means it should be put in the background folder
193 if(fBackgroundContainer == NULL){
194 fBackgroundContainer = new TList();
195 fBackgroundContainer->SetName("Background histograms");
197 if(fBackgroundContainer != NULL){
198 fBackgroundContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
201 else if(histogramString.Contains("Debug")){// means it should be put in the debug folder
202 if(fDebugContainer == NULL){
203 fDebugContainer = new TList();
204 fDebugContainer->SetName("Debug histograms");
206 if(fDebugContainer != NULL){
207 fDebugContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
210 else if(histogramString.Contains("Resolution")){// means it should be put in the resolution folder
211 if(fResolutionContainer == NULL){
212 fResolutionContainer = new TList();
213 fResolutionContainer->SetName("Resolution histograms");
215 if(fResolutionContainer != NULL){
216 fResolutionContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
219 else if(histogramString.Contains("TrueConv")){// means it should be put in the true conv folder
220 if(fMatchContainer == NULL){
221 fMatchContainer = new TList();
222 fMatchContainer->SetName("True conversion histograms");
224 if(fMatchContainer != NULL){
225 fMatchContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
228 else if(histogramString.Contains("ESD")){// means it should be put in the ESD folder
229 if(fESDContainer == NULL){
230 fESDContainer = new TList();
231 fESDContainer->SetName("ESD histograms");
233 if(fESDContainer != NULL){
234 fESDContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
237 else if(histogramString.Contains("MC")){// means it should be put in the MC folder
238 if(fMCContainer == NULL){
239 fMCContainer = new TList();
240 fMCContainer->SetName("MC histograms");
242 if(fMCContainer != NULL){
243 fMCContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
246 else if(histogramString.Contains("Table")){// means it should be put in the Table Folder
247 if(fTableContainer == NULL){
248 fTableContainer = new TList();
249 fTableContainer->SetName("Tables");
251 if(fTableContainer != NULL){
252 fTableContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
256 if(fOtherContainer == NULL){
257 fOtherContainer = new TList();
258 fOtherContainer->SetName("Other histograms");
260 if(fOtherContainer != NULL){
261 fOtherContainer->Add((TH1*)fHistogramMap->GetValue(histogramString.Data()));
264 histogramName = NULL;
266 if(fMappingContainer != NULL){
267 fOutputContainer->Add(fMappingContainer);
269 if(fBackgroundContainer != NULL){
270 fOutputContainer->Add(fBackgroundContainer);
272 if(fDebugContainer != NULL){
273 fOutputContainer->Add(fDebugContainer);
275 if(fResolutionContainer != NULL){
276 fOutputContainer->Add(fResolutionContainer);
278 if(fMatchContainer != NULL){
279 fOutputContainer->Add(fMatchContainer);
281 if(fESDContainer != NULL){
282 fOutputContainer->Add(fESDContainer);
284 if(fMCContainer != NULL){
285 fOutputContainer->Add(fMCContainer);
287 if(fTableContainer != NULL){
288 fOutputContainer->Add(fTableContainer);
290 if(fOtherContainer != NULL){
291 fOutputContainer->Add(fOtherContainer);
296 Int_t AliGammaConversionHistograms::GetRBin(Double_t radius) const{
297 // see header file for documentation
300 // iResult = (Int_t)((radius - fMinRadius)/fDeltaR);
302 for(Int_t i=0;i<fNRIndex;i++){
303 // cout<<"Test-limits::"<< fRBinLimits[i]<<endl;
304 if( radius>=fRBinLimits[i] && radius<fRBinLimits[i+1] ){
311 Int_t AliGammaConversionHistograms::GetZBin(Double_t zPos) const{
312 // see header file for documentation
315 for(Int_t i=0;i<fNZIndex;i++){
316 // cout<<"Test-limits::"<< fZBinLimits[i]<<endl;
317 if( TMath::Abs(zPos)>=fZBinLimits[i] && TMath::Abs(zPos)<fZBinLimits[i+1] ){
326 Int_t AliGammaConversionHistograms::GetPhiBin(Double_t phi) const{
327 // see header file for documentation
333 iResult = (Int_t)((phi - fMinPhi)/fDeltaPhi);
340 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){
341 // Initializing the valuse for the mapping
343 fNPhiIndex = nPhiIndex;
347 // fRBinLimits= new Double_t[8]; Kenneth: moved from pointer to fixed array
357 // fZBinLimits= new Double_t[7]; Kenneth: moved from pointer to fixed array
367 fMinRadius = minRadius;
368 fMaxRadius = maxRadius;
369 if(nBinsR>0 && nRIndex!=0){
370 fDeltaR = (fMaxRadius - fMinRadius)/nRIndex;
374 if(nBinsPhi>0 && nPhiIndex!=0){
375 fDeltaPhi = (fMaxPhi-fMinPhi)/nPhiIndex;
381 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){
382 // see header file for documentation
384 for(Int_t phi =0; phi<fNPhiIndex;phi++){
386 for(Int_t r =0; r<fNRIndex;r++){
388 // setting axis to "" changes below
392 //Creating the axis titles
393 //if(xAxisTitle.Length() == 0){
394 //xAxisTitle.Form("Phi %02d",phi);
397 //if(yAxisTitle.Length() == 0){
398 //yAxisTitle.Form("R %02d",phi);
403 nameMC.Form("MC_Conversion_Mapping_Phi%02d_R%02d",phi,r);
405 titleMC.Form("Electron-Positron MC Mapping-Phi%02d-R%02d",phi,r);
407 AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
411 nameESD.Form("ESD_Conversion_Mapping_Phi%02d_R%02d",phi,r);
413 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d-R%02d",phi,r);
415 AddHistogram(nameESD, titleESD, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
420 for(Int_t phi =0; phi<=nPhiIndex;phi++){
422 // setting axis to "" changes below
425 //Creating the axis titles
426 //if(xAxisTitle.Length() == 0){
427 // xAxisTitle.Form("Phi %02d",phi);
429 //if(yAxisTitle.Length() == 0){
430 // yAxisTitle = "Counts";
435 nameMC.Form("MC_Conversion_Mapping_Phi%02d",phi);
437 titleMC.Form("Electron-Positron MC Mapping-Phi%02d",phi);
439 AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
443 nameESD.Form("ESD_Conversion_Mapping_Phi%02d",phi);
445 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d",phi);
447 AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
451 for(Int_t r =0; r<nRIndex;r++){
453 // setting axis to "" changes below
456 //Creating the axis titles
457 //if(xAxisTitle.Length() == 0){
458 // xAxisTitle.Form("R %02d",r);
460 //if(yAxisTitle.Length() == 0){
461 // yAxisTitle = "Counts";
466 nameMC.Form("MC_Conversion_Mapping_R%02d",r);
468 titleMC.Form("Electron-Positron MC Mapping-R%02d",r);
470 AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
474 nameESD.Form("ESD_Conversion_Mapping_R%02d",r);
476 titleESD.Form("Electron-Positron ESD Mapping-R%02d",r);
478 AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
481 TString nameMCPhiInR="";
482 nameMCPhiInR.Form("MC_Conversion_Mapping_Phi_in_R_%02d",r);
483 TString titleMCPhiInR="";
484 titleMCPhiInR.Form("MC Mapping of Phi in R%02d",r);
485 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
486 AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
490 TString nameMCZInR="";
491 nameMCZInR.Form("MC_Conversion_Mapping_Z_in_R_%02d",r);
492 TString titleMCZInR="";
493 titleMCZInR.Form("MC Mapping of Z in R%02d",r);
494 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
495 AddHistogram(nameMCZInR, titleMCZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
498 //Mapping Phi in R Middle Pt
499 TString nameMCMidPtPhiInR="";
500 nameMCMidPtPhiInR.Form("MC_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
501 TString titleMCMidPtPhiInR="";
502 titleMCMidPtPhiInR.Form("MC Mapping Middle Pt of Phi in R%02d",r);
503 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
504 AddHistogram(nameMCMidPtPhiInR, titleMCMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
507 //Mapping Z in R Middle Pt
508 TString nameMCMidPtZInR="";
509 nameMCMidPtZInR.Form("MC_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
510 TString titleMCMidPtZInR="";
511 titleMCMidPtZInR.Form("MC Mapping Middle Pt of Z in R%02d",r);
512 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
513 AddHistogram(nameMCMidPtZInR, titleMCMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
519 TString nameESDPhiInR="";
520 nameESDPhiInR.Form("ESD_Conversion_Mapping_Phi_in_R_%02d",r);
521 TString titleESDPhiInR="";
522 titleESDPhiInR.Form("ESD Mapping of Phi in R%02d",r);
523 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
524 AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
527 TString nameESDZInR="";
528 nameESDZInR.Form("ESD_Conversion_Mapping_Z_in_R_%02d",r);
529 TString titleESDZInR="";
530 titleESDZInR.Form("ESD Mapping of Z in R%02d",r);
531 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
532 AddHistogram(nameESDZInR, titleESDZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
534 //Mapping Phi in R Middle Pt
535 TString nameESDMidPtPhiInR="";
536 nameESDMidPtPhiInR.Form("ESD_Conversion_Mapping_MidPt_Phi_in_R_%02d",r);
537 TString titleESDMidPtPhiInR="";
538 titleESDMidPtPhiInR.Form("ESD Mapping Middle Pt of Phi in R%02d",r);
539 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
540 AddHistogram(nameESDMidPtPhiInR, titleESDMidPtPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
542 //Mapping Z in R Middle Pt
543 TString nameESDMidPtZInR="";
544 nameESDMidPtZInR.Form("ESD_Conversion_Mapping_MidPt_Z_in_R_%02d",r);
545 TString titleESDMidPtZInR="";
546 titleESDMidPtZInR.Form("ESD Mapping Middle Pt of Z in R%02d",r);
547 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
548 AddHistogram(nameESDMidPtZInR, titleESDMidPtZInR, nXBins, -300, 300, xAxisTitle, yAxisTitle);
556 for(Int_t z =0; z<fNZIndex;z++){
558 TString nameMCPhiInZ="";
559 nameMCPhiInZ.Form("MC_Conversion_Mapping_Phi_in_Z_%02d",z);
560 TString titleMCPhiInZ="";
561 titleMCPhiInZ.Form("MC Mapping of Phi in Z%02d",z);
562 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
563 AddHistogram(nameMCPhiInZ, titleMCPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
567 TString nameMCRInZ="";
568 nameMCRInZ.Form("MC_Conversion_Mapping_R_in_Z_%02d",z);
569 TString titleMCRInZ="";
570 titleMCRInZ.Form("MC Mapping of R in Z%02d",z);
571 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
572 AddHistogram(nameMCRInZ, titleMCRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
574 //Mapping Phi in Z Middle Pt
575 TString nameMCMidPtPhiInZ="";
576 nameMCMidPtPhiInZ.Form("MC_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
577 TString titleMCMidPtPhiInZ="";
578 titleMCMidPtPhiInZ.Form("MC Mapping Middle Pt of Phi in Z%02d",z);
579 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
580 AddHistogram(nameMCMidPtPhiInZ, titleMCMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
583 //Mapping R in Z Middle Pt
584 TString nameMCMidPtRInZ="";
585 nameMCMidPtRInZ.Form("MC_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
586 TString titleMCMidPtRInZ="";
587 titleMCMidPtRInZ.Form("MC Mapping Middle Pt of R in Z%02d",z);
588 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
589 AddHistogram(nameMCMidPtRInZ, titleMCMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
595 TString nameESDPhiInZ="";
596 nameESDPhiInZ.Form("ESD_Conversion_Mapping_Phi_in_Z_%02d",z);
597 TString titleESDPhiInZ="";
598 titleESDPhiInZ.Form("ESD Mapping of Phi in R%02d",z);
599 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
600 AddHistogram(nameESDPhiInZ, titleESDPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
603 TString nameESDRInZ="";
604 nameESDRInZ.Form("ESD_Conversion_Mapping_R_in_Z_%02d",z);
605 TString titleESDRInZ="";
606 titleESDRInZ.Form("ESD Mapping of R in Z%02d",z);
607 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
608 AddHistogram(nameESDRInZ, titleESDRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);
611 //Mapping Phi in Z Middle Pt
612 TString nameESDMidPtPhiInZ="";
613 nameESDMidPtPhiInZ.Form("ESD_Conversion_Mapping_MidPt_Phi_in_Z_%02d",z);
614 TString titleESDMidPtPhiInZ="";
615 titleESDMidPtPhiInZ.Form("ESD Mapping Middle Ptof Phi in R%02d",z);
616 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
617 AddHistogram(nameESDMidPtPhiInZ, titleESDMidPtPhiInZ, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
619 //Mapping R in Z Middle Pt
620 TString nameESDMidPtRInZ="";
621 nameESDMidPtRInZ.Form("ESD_Conversion_Mapping_MidPt_R_in_Z_%02d",z);
622 TString titleESDMidPtRInZ="";
623 titleESDMidPtRInZ.Form("ESD Mapping Middle Pt of R in Z%02d",z);
624 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
625 AddHistogram(nameESDMidPtRInZ, titleESDMidPtRInZ, nXBins, fMinRadius, fMaxRadius, xAxisTitle, yAxisTitle);