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<14;i++){
63 for(Int_t i=0;i<12;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<14;i++){
94 fRBinLimits[i]= original.fRBinLimits[i];
96 for(Int_t i=0;i<12;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( zPos>=fZBinLimits[i] && 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
394 fRBinLimits[11]=81.5;
396 fRBinLimits[13]=500.;
400 // fZBinLimits= new Double_t[7]; Kenneth: moved from pointer to fixed array
401 fZBinLimits[0]=-500.;
402 fZBinLimits[1]=-200.;
403 fZBinLimits[2]=-100.;
411 fZBinLimits[10]=100.;
412 fZBinLimits[11]=200.;
413 fZBinLimits[12]=500.;
416 fMinRadius = minRadius;
417 fMaxRadius = maxRadius;
418 if(nBinsR>0 && nRIndex!=0){
419 fDeltaR = (fMaxRadius - fMinRadius)/nRIndex;
423 if(nBinsPhi>0 && nPhiIndex!=0){
424 fDeltaPhi = (fMaxPhi-fMinPhi)/nPhiIndex;
430 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){
431 // see header file for documentation
433 Double_t tmptogetridofwarning = firstX + lastX + nYBins + firstY + lastY;
434 if(tmptogetridofwarning < 0){
435 cout<<"Less than zero"<<endl;
438 for(Int_t phi =0; phi<fNPhiIndex;phi++){
440 for(Int_t r =0; r<fNRIndex;r++){
442 // setting axis to "" changes below
446 //Creating the axis titles
447 //if(xAxisTitle.Length() == 0){
448 //xAxisTitle.Form("Phi %02d",phi);
451 //if(yAxisTitle.Length() == 0){
452 //yAxisTitle.Form("R %02d",phi);
457 nameMC.Form("MC_Conversion_Mapping_Phi%02d_R%02d",phi,r);
459 titleMC.Form("Electron-Positron MC Mapping-Phi%02d-R%02d",phi,r);
461 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
465 nameESD.Form("ESD_Conversion_Mapping_Phi%02d_R%02d",phi,r);
467 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d-R%02d",phi,r);
469 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
474 for(Int_t phi =0; phi<=nPhiIndex;phi++){
476 // setting axis to "" changes below
479 //Creating the axis titles
480 //if(xAxisTitle.Length() == 0){
481 // xAxisTitle.Form("Phi %02d",phi);
483 //if(yAxisTitle.Length() == 0){
484 // yAxisTitle = "Counts";
489 nameMC.Form("MC_Conversion_Mapping_Phi%02d",phi);
491 titleMC.Form("Electron-Positron MC Mapping-Phi%02d",phi);
493 //AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
497 nameESD.Form("ESD_Conversion_Mapping_Phi%02d",phi);
499 titleESD.Form("Electron-Positron ESD Mapping-Phi%02d",phi);
501 // AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
505 for(Int_t r =0; r<nRIndex;r++){
507 // setting axis to "" changes below
510 //Creating the axis titles
511 //if(xAxisTitle.Length() == 0){
512 // xAxisTitle.Form("R %02d",r);
514 //if(yAxisTitle.Length() == 0){
515 // yAxisTitle = "Counts";
520 nameMC.Form("MC_Conversion_Mapping_R%02d",r);
522 titleMC.Form("Electron-Positron MC Mapping-R%02d",r);
524 // AddHistogram(nameMC, titleMC, nXBins, firstX, lastX, nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
528 nameESD.Form("ESD_Conversion_Mapping_R%02d",r);
530 titleESD.Form("Electron-Positron ESD Mapping-R%02d",r);
532 //AddHistogram(nameESD, titleESD, nXBins, firstX, lastX,nYBins, firstY, lastY, xAxisTitle, yAxisTitle);
535 TString nameMCPhiInR="";
536 nameMCPhiInR.Form("MC_Conversion_Mapping_Phi_in_R_%02d",r);
537 TString titleMCPhiInR="";
538 titleMCPhiInR.Form("MC Mapping of Phi in R%02d",r);
539 // AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
540 AddHistogram(nameMCPhiInR, titleMCPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
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);
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);
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);
573 TString nameESDPhiInR="";
574 nameESDPhiInR.Form("ESD_Conversion_Mapping_Phi_in_R_%02d",r);
575 TString titleESDPhiInR="";
576 titleESDPhiInR.Form("ESD Mapping of Phi in R%02d",r);
577 // AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, firstX, lastX, xAxisTitle, yAxisTitle);
578 AddHistogram(nameESDPhiInR, titleESDPhiInR, nXBins, -TMath::Pi(), TMath::Pi(), xAxisTitle, yAxisTitle);
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);
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);
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);
610 for(Int_t z =0; z<fNZIndex;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);
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);
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);
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);
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);
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);
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);
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);