]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/macros/Photon_Characteristics_Events.C
fixed bugs while streaming histos for weighting, added new trainconfig for pPb
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / Photon_Characteristics_Events.C
CommitLineData
dab7b5d6 1/****************************************************************************************************************************
5fdef45d 2****** provided by Gamma Conversion Group, PWGGA, *****
dab7b5d6 3****** Kathrin Koch, kkoch@physi.uni-heidelberg.de *****
4****** Friederike Bock, friederike.bock@cern.ch *****
5*****************************************************************************************************************************
6*** This macro can be used to display the Photon Characteristics of the conversion method in ALICE, it can be operated *****
7*** on the output of the GammaConversionTask. It can take 2 input files, the second one should be MC, if this is not *****
8*** the case all histograms including MC need to be commented out otherwise the running will crash. *****
9****************************************************************************************************************************/
10
11#include <Riostream.h>
12#include "PlottingGammaConversionHistos.h"
13#include "PlottingGammaConversionAdditional.h"
14
15extern TRandom *gRandom;
16extern TBenchmark *gBenchmark;
17extern TSystem *gSystem;
18
19void Photon_Characteristics_Events(const char *data = "myOutput", const char *MCfile = "", const char *cutsel = "",const char *path = "", const char *output = "Photon-Characteristics", const char *Plots = "kTRUE", const char *suffix = "gif"){
20
21 gROOT->Reset();
22 gROOT->SetStyle("Plain");
23
24 Bool_t SinglePlots = kFALSE;
25 if(Plots == "kTRUE") SinglePlots = kTRUE;
26
27
28 StyleSettingsThesis();
29 //StyleSettings();
30
31 set_plot_style();
32
33 // textsize for legend
34 Float_t ts=0.04;
35 // textsize for label
36 Float_t ls = 0.04;
37
38 //Array defintion for printing Logo in right upper corner
39 Float_t right_up[4]={0.7,0.63,0.15, 0.02};
40 Float_t right_up2D[4]={0.65,0.8,0.11, 0.02};
41 Float_t right_down[4]={0.7,0.23,0.15, 0.02};
42 //Array defintion for printing Logo in left upper corner
43 Float_t left_up[4]={0.2,0.8, 0.15, 0.02};
44
45 // which maximum pt in the plots
46 Float_t maxPt=10;
47 Float_t rebin = 4;
48
49 Char_t filename_data[100] = (Form("%s%s",path,data));
50
51 char *StandardYAxis = "#gamma/ event scaled by multiplicity";
52 char *Date = "25th June 2010";
53
54 TLatex *Scaling = new TLatex(0.6,0.5,"MC scaled to mean of Data"); // Bo: this was modified
55 Scaling->SetNDC();
56 Scaling->SetTextColor(2);
57 Scaling->SetTextFont(42);
58 Scaling->SetTextSize(0.03);
59 Scaling->SetLineWidth(2);
60
61 if(cutsel != ""){
5fdef45d 62 char *GammaDirectory = Form("PWGGA_GammaConversion_%s", cutsel);
dab7b5d6 63 cout << GammaDirectory << endl;
64 char *GammaList = Form("histogramsAliGammaConversion_%s", cutsel);
65 cout << GammaList << endl;
66 }else{
5fdef45d 67 char *GammaDirectory = "PWGGA_GammaConversion";
dab7b5d6 68 cout << GammaDirectory << endl;
69 char *GammaList = "histogramsAliGammaConversion";
70 cout << GammaList << endl;
71 }
72
73 Float_t linewidth = 1;
74
75/*****************************************************************************************************************************
76 Function defintions for plotting dEdx lines MC with Bethe Bloch parametrisation
77 * parameters taken from TPC tender
78******************************************************************************************************************************
79******************************************************************************************************************************/
80
81 //Functions taken from TPC - for different line only change (x/0.000511) to (x/mass[TeV])
82 TF1 foElecMC("foElecMC", "[0]*([1]*TMath::Power(TMath::Sqrt(1 + (x/0.000511)*(x/0.000511))/(x/0.000511) , [3]) - 1 - TMath::Power(TMath::Sqrt(1 + (x/0.000511)*(x/0.000511))/(x/0.000511) , [3])*TMath::Log([2] + 1/TMath::Power((x/0.000511), [4])))",0.005,100);
83 TF1 foPionMC("foPionMC", "[0]*([1]*TMath::Power(TMath::Sqrt(1 + (x/0.13957)*(x/0.13957))/(x/0.13957) , [3]) - 1 - TMath::Power(TMath::Sqrt(1 + (x/0.13957)*(x/0.13957))/(x/0.13957) , [3])*TMath::Log([2] + 1/TMath::Power((x/0.13957), [4])))",0.005,100);
84 TF1 foProtonMC("foProtonMC", "[0]*([1]*TMath::Power(TMath::Sqrt(1 + (x/0.93827)*(x/0.93827))/(x/0.93827) , [3]) - 1 - TMath::Power(TMath::Sqrt(1 + (x/0.93827)*(x/0.93827))/(x/0.93827) , [3])*TMath::Log([2] + 1/TMath::Power((x/0.93827), [4])))",0.005,100);
85 TF1 foKaonMC("foKaronMC", "[0]*([1]*TMath::Power(TMath::Sqrt(1 + (x/0.493677)*(x/0.493677))/(x/0.493677) , [3]) - 1 - TMath::Power(TMath::Sqrt(1 + (x/0.493677)*(x/0.493677))/(x/0.493677) , [3])*TMath::Log([2] + 1/TMath::Power((x/0.493677), [4])))",0.005,100);
86
87 // mip might change, see updates in TPC tender
88 //Float_t mip = 50.3 ;
89 foElecMC.SetParameters(2.15898e+00,1.75295e+01,3.40030e-09,1.96178e+00,3.91720e+00);
90 foElecMC.SetLineColor(1);
91 foElecMC.SetLineWidth(linewidth);
92 foPionMC.SetParameters(2.15898e+00,1.75295e+01,3.40030e-09,1.96178e+00,3.91720e+00);
93 foPionMC.SetLineColor(2);
94 foPionMC.SetLineWidth(linewidth);
95 foProtonMC.SetParameters(2.15898e+00,1.75295e+01,3.40030e-09,1.96178e+00,3.91720e+00);
96 foProtonMC.SetLineColor(kGreen+3);
97 foProtonMC.SetLineWidth(linewidth);
98 foKaonMC.SetParameters(2.15898e+00,1.75295e+01,3.40030e-09,1.96178e+00,3.91720e+00);
99 foKaonMC.SetLineColor(4);
100 foKaonMC.SetLineWidth(linewidth);
101
102
103/*****************************************************************************************************************************
104 Function defintions for plotting dEdx lines DATA with Bethe Bloch Parametrisation
105 * parameters taken from TPC tender
106******************************************************************************************************************************
107******************************************************************************************************************************/
108
109 TF1 foElec("foElec", "(1.74648e+01*TMath::Power(TMath::Sqrt(1 +(x/0.000511)*(x/0.000511))/(x/0.000511) , 3.06481e+00) + 1.92177e+01 -1.90939e+00*TMath::Power(TMath::Sqrt(1 +(x/0.000511)*(x/0.000511))/(x/0.000511) ,3.06481e+00)*TMath::Log(2.78081e-07 + 1/TMath::Power((x/0.000511),3.26689e+00)))/4.77199500359375293e+01*50.3",0.005,100);
110 foElec.SetLineColor(1);
111 foElec.SetLineWidth(linewidth);
112
113 TF1 foPion("foPion", "(1.74648e+01*TMath::Power(TMath::Sqrt(1 +(x/0.13957)*(x/0.13957))/(x/0.13957) , 3.06481e+00) + 1.92177e+01 -1.90939e+00*TMath::Power(TMath::Sqrt(1 +(x/0.13957)*(x/0.13957))/(x/0.13957) ,3.06481e+00)*TMath::Log(2.78081e-07 + 1/TMath::Power((x/0.13957),3.26689e+00)))/4.77199500359375293e+01*50.3",0.005,100);
114 foPion.SetLineColor(2);
115 foPion.SetLineWidth(linewidth);
116
117 TF1 foProton("foProton", "(1.74648e+01*TMath::Power(TMath::Sqrt(1 +(x/0.93827)*(x/0.93827))/(x/0.93827) , 3.06481e+00) + 1.92177e+01 -1.90939e+00*TMath::Power(TMath::Sqrt(1 +(x/0.93827)*(x/0.93827))/(x/0.93827) ,3.06481e+00)*TMath::Log(2.78081e-07 + 1/TMath::Power((x/0.93827),3.26689e+00)))/4.77199500359375293e+01*50.3",0.005,100);
118 foProton.SetLineColor(kGreen+3);
119 foProton.SetLineWidth(linewidth);
120
121 TF1 foKaon("foKaron", "(1.74648e+01*TMath::Power(TMath::Sqrt(1 +(x/0.493677)*(x/0.493677))/(x/0.493677) , 3.06481e+00) + 1.92177e+01 -1.90939e+00*TMath::Power(TMath::Sqrt(1 +(x/0.493677)*(x/0.493677))/(x/0.493677) ,3.06481e+00)*TMath::Log(2.78081e-07 + 1/TMath::Power((x/0.493677),3.26689e+00)))/4.77199500359375293e+01*50.3",0.005,100);
122 foKaon.SetLineColor(4);
123 foKaon.SetLineWidth(linewidth);
124
125
126// ---------------------------- LOAD ALL FILES ---------------------------------------------------
127 TFile f(filename_data);
128
129 //for new versions
5fdef45d 130 TDirectory *fPWGGAGammaConversion_data = new TDirectory(); // definition of first folder / list
dab7b5d6 131 TList *fHistosGammaConversion_data = new TList(); // definition of first folder / list
132 TList *fESDContainer_data = new TList(); // definition of following folder / list
133 TList *fMappingContainer_data = new TList();
134
5fdef45d 135 if(!(fPWGGAGammaConversion_data = (TDirectory*)f.Get(GammaDirectory))) cout <<"PWGGAGammConversion TList NOT loaded correctly"<<endl;
136 if(!(fHistosGammaConversion_data = (TList*)fPWGGAGammaConversion_data->Get(GammaList))) cout<<"histogramsAliGammaConversion NOT loaded correctly!"<<endl;
dab7b5d6 137 if(!(fESDContainer_data = (TList*)fHistosGammaConversion_data->FindObject("ESD histograms"))) cout<<"ESD histograms NOT loaded correctly!"<<endl;
138 fMappingContainer_data = (TList*)fHistosGammaConversion_data->FindObject("Mapping histograms");
139
140 TH2F * ESD_AllV0CurrentFinder_alfa_qt_data = fESDContainer_data->FindObject("ESD_AllV0sCurrentFinder_alfa_qt");
141 TH2F * ESD_ConvGamma_alfa_qt_data = fESDContainer_data->FindObject("ESD_ConvGamma_alfa_qt");
142 TH2F * ESD_ConvGamma_P_dEdxP_data = fESDContainer_data->FindObject("ESD_ConvGamma_P_dEdxP");
143 TH2F * ESD_ConvGamma_E_dEdxP_data = fESDContainer_data->FindObject("ESD_ConvGamma_E_dEdxP");
144 TH2F * ESD_ConvGamma_P_AsymmetryP_data = fESDContainer_data->FindObject("ESD_ConvGamma_P_AsymmetryP");
145 TH1F * ESD_ConvGamma_DcaDaughters_data = fESDContainer_data->FindObject("ESD_ConvGamma_DcaDaughters");
146 TH1F * ESD_ConvGamma_CosPointingAngle_data = fESDContainer_data->FindObject("ESD_ConvGamma_CosPointingAngle");
147 TH1F * ESD_ConvGamma_NormDcaDistDaughters_data = fESDContainer_data->FindObject("ESD_ConvGamma_NormDcaDistDaughters");
148 TH1F * ESD_ConvGamma_LikeLihood_data = fESDContainer_data->FindObject("ESD_ConvGamma_LikelihoodAP");
149 TH1F * ESD_ConvGamma_Pt_data=fESDContainer_data->FindObject("ESD_ConvGamma_Pt");
150 TH1F * ESD_ConvGamma_Eta_data=fESDContainer_data->FindObject("ESD_ConvGamma_Eta");
151 TH1F * ESD_ConvGamma_Mass_data=fESDContainer_data->FindObject("ESD_ConvGamma_Mass");
152 TH1F * ESD_ConvGamma_Chi2_data=fESDContainer_data->FindObject("ESD_ConvGamma_Chi2");
153 TH1F * ESD_Mother_InvMass_data=fESDContainer_data->FindObject("ESD_Mother_InvMass");
154 TH1F * ESD_NumberOfGoodESDTracks_data=fESDContainer_data->FindObject("ESD_NumberOfGoodESDTracksVtx");
155 TH1F * ESD_NumberOfGoodESDTrackswith0_data=fESDContainer_data->FindObject("ESD_NumberOfGoodESDTracks");
156 TH1F * ESD_E_Pt_data=fESDContainer_data->FindObject("ESD_E_Pt");
157 TH1F * ESD_P_Pt_data=fESDContainer_data->FindObject("ESD_P_Pt");
158 TH1F * ESD_E_nITSClusters_data=fESDContainer_data->FindObject("ESD_E_nITSClusters");
159 TH1F * ESD_E_nTPCClusters_data=fESDContainer_data->FindObject("ESD_E_nTPCClusters");
160 TH1F * ESD_P_nITSClusters_data=fESDContainer_data->FindObject("ESD_P_nITSClusters");
161 TH1F * ESD_P_nTPCClusters_data=fESDContainer_data->FindObject("ESD_P_nTPCClusters");
162 TH1D *ESD_ConvGamma_P_dEdx_Y1_data=ESD_ConvGamma_P_dEdxP_data->ProjectionY("ESD_ConvGamma_dEdx_Y1_data",10,20);
163 TH1D *ESD_ConvGamma_P_dEdx_Y2_data=ESD_ConvGamma_P_dEdxP_data->ProjectionY("ESD_ConvGamma_dEdx_Y2_data",20,30);
164 TH1D *ESD_ConvGamma_P_dEdx_Y3_data=ESD_ConvGamma_P_dEdxP_data->ProjectionY("ESD_ConvGamma_dEdx_Y3_data",30,50);
165 TH1D *ESD_ConvGamma_P_dEdx_Y4_data=ESD_ConvGamma_P_dEdxP_data->ProjectionY("ESD_ConvGamma_dEdx_Y4_data",50,100);
166 TH1D *ESD_ConvGamma_P_AsymmetryP_Y1_data=ESD_ConvGamma_P_AsymmetryP_data->ProjectionY("ESD_ConvGamma_P_AsymmetryP_Y1_data",2,2);
167 TH1D *ESD_ConvGamma_P_AsymmetryP_Y2_data=ESD_ConvGamma_P_AsymmetryP_data->ProjectionY("ESD_ConvGamma_P_AsymmetryP_Y2_data",5,19);
168 TH1F * ESD_NumberOfContributorsVtx_data=fESDContainer_data->FindObject("ESD_NumberOfContributorsVtx");
169 TH1F *ScalingDiagramm_data= fMappingContainer_data->FindObject("ESD_Conversion_Mapping_Phi_in_R_11");
170
171 ESD_NumberOfContributorsVtx_data->SetAxisRange(1.,100.);
172 ESD_NumberOfGoodESDTrackswith0_data->SetAxisRange(1.,100.);
173
174 Float_t Scaling_data = ScalingDiagramm_data->Integral();
175 Float_t nGoodEvents_data = ESD_NumberOfContributorsVtx_data->Integral();
176 Float_t nGoodTrig_data = ESD_NumberOfContributorsVtx_data->GetEntries();
177 cout<< data << " Number of events:: " << nGoodEvents_data << " Number of triggers:: " << nGoodTrig_data << endl;
178
179 Float_t normFac_data=1./nGoodEvents_data;
180// Float_t normFac_data=1./Scaling_data; //Float_t normFac_data=1.;
181 Double_t mean_data = ESD_NumberOfGoodESDTracks_data->GetMean();
182
183 //Scaling reconstr.
184
185 GammaScalingHistogramm(ESD_ConvGamma_P_dEdxP_data,normFac_data);
186 GammaScalingHistogramm(ESD_ConvGamma_E_dEdxP_data,normFac_data);
187 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_data,normFac_data);
188 GammaScalingHistogramm(ESD_ConvGamma_Pt_data,normFac_data);
189 GammaScalingHistogramm(ESD_ConvGamma_Eta_data,normFac_data);
190 GammaScalingHistogramm(ESD_ConvGamma_Mass_data,normFac_data);
191 GammaScalingHistogramm(ESD_ConvGamma_Chi2_data,normFac_data);
192 GammaScalingHistogramm(ESD_E_Pt_data,normFac_data);
193 GammaScalingHistogramm(ESD_P_Pt_data,normFac_data);
194 GammaScalingHistogramm(ESD_E_nITSClusters_data,normFac_data);
195 GammaScalingHistogramm(ESD_P_nITSClusters_data,normFac_data);
196 GammaScalingHistogramm(ESD_E_nTPCClusters_data,normFac_data);
197 GammaScalingHistogramm(ESD_P_nTPCClusters_data,normFac_data);
198 GammaScalingHistogramm(ESD_Mother_InvMass_data,normFac_data);
199 GammaScalingHistogramm(ESD_ConvGamma_DcaDaughters_data,normFac_data);
200 GammaScalingHistogramm(ESD_ConvGamma_CosPointingAngle_data,normFac_data);
201 GammaScalingHistogramm(ESD_ConvGamma_NormDcaDistDaughters_data,normFac_data);
202 GammaScalingHistogramm(ESD_ConvGamma_LikeLihood_data,normFac_data);
203 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y1_data,normFac_data);
204 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y2_data,normFac_data);
205 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y3_data,normFac_data);
206 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y4_data,normFac_data);
207 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_Y1_data,normFac_data);
208 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_Y2_data,normFac_data);
209 GammaScalingHistogramm(ESD_NumberOfGoodESDTracks_data,normFac_data);
210 GammaScalingHistogramm(ESD_NumberOfGoodESDTrackswith0_data,normFac_data);
211 ESD_Mother_InvMass_data->Rebin(rebin);
212 MultoutData = new TFile("Multout1.root","RECREATE");
213 ESD_NumberOfGoodESDTracks_data->Write();
214 MultoutData->Write();
215 MultoutData->Close();
216 //------------------------------- SECOND FILE ------------------------------
217 TFile *montecarlo = 0x0;
218
219
220 if(MCfile != ""){
221 montecarlo = new TFile(Form("%s%s",path, MCfile));
222
223
224 // for new versions
5fdef45d 225 TDirectory *fPWGGAGammaConversion_montecarlo = new TDirectory(); // definition of first folder / list
dab7b5d6 226 TList *fHistosGammaConversion_montecarlo = new TList(); // definition of first folder / list
227 TList *fESDContainer_montecarlo = new TList(); // definition of following folder / list
228 TList *fMappingContainer_montecarlo = new TList(); // definition of following folder / list
229 TList *fMCtruth_montecarlo = new TList();
5fdef45d 230 if(!(fPWGGAGammaConversion_montecarlo = (TDirectory*)montecarlo->Get(GammaDirectory))) cout <<"PWGGAGammConversion TList NOT loaded correctly"<<endl;
231 if(!(fHistosGammaConversion_montecarlo = (TList*)fPWGGAGammaConversion_montecarlo->Get(GammaList))) cout<<"histogramsAliGammaConversion NOT loaded correctly!"<<endl;
dab7b5d6 232 if(!(fESDContainer_montecarlo = (TList*)fHistosGammaConversion_montecarlo->FindObject("ESD histograms"))) cout<<"ESD histograms NOT loaded correctly!"<<endl;
233 fMappingContainer_montecarlo = (TList*)fHistosGammaConversion_montecarlo->FindObject("Mapping histograms");
234 fMCtruth_montecarlo = (TList*)fHistosGammaConversion_montecarlo->FindObject("MC histograms");
235
236 TH2F * ESD_AllV0CurrentFinder_alfa_qt_montecarlo = fESDContainer_montecarlo->FindObject("ESD_AllV0sCurrentFinder_alfa_qt");
237 TH2F * ESD_ConvGamma_alfa_qt_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_alfa_qt");
238 TH2F * ESD_ConvGamma_P_dEdxP_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_P_dEdxP");
239 TH2F * ESD_ConvGamma_E_dEdxP_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_E_dEdxP");
240 TH2F * ESD_ConvGamma_P_AsymmetryP_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_P_AsymmetryP");
241 TH2F * MC_ConvGamma_P_AsymmetryP_montecarlo = fMCtruth_montecarlo->FindObject("MC_ConvGamma_P_AsymmetryP");
242 TH1F * ESD_ConvGamma_DcaDaughters_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_DcaDaughters");
243 TH1F * ESD_ConvGamma_CosPointingAngle_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_CosPointingAngle");
244 TH1F * ESD_ConvGamma_NormDcaDistDaughters_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_NormDcaDistDaughters");
245 TH1F * ESD_ConvGamma_LikeLihood_montecarlo = fESDContainer_montecarlo->FindObject("ESD_ConvGamma_LikelihoodAP");
246 TH1F * ESD_ConvGamma_Pt_montecarlo=fESDContainer_montecarlo->FindObject("ESD_ConvGamma_Pt");
247 TH1F * ESD_ConvGamma_Eta_montecarlo=fESDContainer_montecarlo->FindObject("ESD_ConvGamma_Eta");
248 TH1F * ESD_ConvGamma_Mass_montecarlo=fESDContainer_montecarlo->FindObject("ESD_ConvGamma_Mass");
249 TH1F * ESD_ConvGamma_Chi2_montecarlo=fESDContainer_montecarlo->FindObject("ESD_ConvGamma_Chi2");
250 TH1F * ESD_E_Pt_montecarlo=fESDContainer_montecarlo->FindObject("ESD_E_Pt");
251 TH1F * ESD_P_Pt_montecarlo=fESDContainer_montecarlo->FindObject("ESD_P_Pt");
252 TH1F * ESD_E_nITSClusters_montecarlo=fESDContainer_montecarlo->FindObject("ESD_E_nITSClusters");
253 TH1F * ESD_E_nTPCClusters_montecarlo=fESDContainer_montecarlo->FindObject("ESD_E_nTPCClusters");
254 TH1F * ESD_P_nITSClusters_montecarlo=fESDContainer_montecarlo->FindObject("ESD_P_nITSClusters");
255 TH1F * ESD_P_nTPCClusters_montecarlo=fESDContainer_montecarlo->FindObject("ESD_P_nTPCClusters");
256 TH1F * ESD_Mother_InvMass_montecarlo=fESDContainer_montecarlo->FindObject("ESD_Mother_InvMass");
257 TH1F * ESD_NumberOfGoodESDTracks_montecarlo=fESDContainer_montecarlo->FindObject("ESD_NumberOfGoodESDTracksVtx");
258 TH1F * ESD_NumberOfGoodESDTrackswith0_montecarlo=fESDContainer_montecarlo->FindObject("ESD_NumberOfGoodESDTracks");
259 TH1D *ESD_ConvGamma_P_dEdx_Y1_montecarlo=ESD_ConvGamma_P_dEdxP_montecarlo->ProjectionY("ESD_ConvGamma_dEdx_Y1_montecarlo",1,10);
260 TH1D *ESD_ConvGamma_P_dEdx_Y2_montecarlo=ESD_ConvGamma_P_dEdxP_montecarlo->ProjectionY("ESD_ConvGamma_dEdx_Y2_montecarlo",10,20);
261 TH1D *ESD_ConvGamma_P_dEdx_Y3_montecarlo=ESD_ConvGamma_P_dEdxP_montecarlo->ProjectionY("ESD_ConvGamma_dEdx_Y3_montecarlo",20,50);
262 TH1D *ESD_ConvGamma_P_dEdx_Y4_montecarlo=ESD_ConvGamma_P_dEdxP_montecarlo->ProjectionY("ESD_ConvGamma_dEdx_Y4_montecarlo",50,100);
263 TH1D *ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo=ESD_ConvGamma_P_AsymmetryP_montecarlo->ProjectionY("ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo",2,2);
264 TH1D *ESD_ConvGamma_P_AsymmetryP_Y2_montecarlo=ESD_ConvGamma_P_AsymmetryP_montecarlo->ProjectionY("ESD_ConvGamma_P_AsymmetryP_Y2_montecarlo",5,19);
265 TH1D *MC_ConvGamma_P_AsymmetryP_Y1_montecarlo=MC_ConvGamma_P_AsymmetryP_montecarlo->ProjectionY("MC_ConvGamma_P_AsymmetryP_Y1_montecarlo",2,2);
266 TH1D *MC_ConvGamma_P_AsymmetryP_Y2_montecarlo=MC_ConvGamma_P_AsymmetryP_montecarlo->ProjectionY("MC_ConvGamma_P_AsymmetryP_Y2_montecarlo",5,19);
267
268 TH1F * ESD_NumberOfContributorsVtx_montecarlo=fESDContainer_montecarlo->FindObject("ESD_NumberOfContributorsVtx");
269 TH1F *ScalingDiagramm_montecarlo= fMappingContainer_montecarlo->FindObject("ESD_Conversion_Mapping_Phi_in_R_11");
270
271 ESD_NumberOfContributorsVtx_montecarlo->SetAxisRange(1.,100.);
272 ESD_NumberOfGoodESDTrackswith0_montecarlo->SetAxisRange(1.,100.);
273
274 Float_t Scaling_montecarlo = ScalingDiagramm_montecarlo->Integral();
275 Float_t nGoodEvents_montecarlo = ESD_NumberOfContributorsVtx_montecarlo->Integral();
276 Float_t nGoodTrig_montecarlo = ESD_NumberOfContributorsVtx_montecarlo->GetEntries();
277 cout<< MCfile << " Number of events:: " << nGoodEvents_montecarlo << " Number of triggers:: " << nGoodTrig_montecarlo << endl;
278
279 Double_t mean_montecarlo = ESD_NumberOfGoodESDTracks_montecarlo->GetMean();
280 Float_t normFac_montecarlo=1./nGoodEvents_montecarlo * mean_data/mean_montecarlo;
281 // Float_t normFac_montecarlo=1./Scaling_montecarlo;
282 Float_t nGoodEvents_MCtruth =
283 Float_t normFac_MCtruth = 1./
284
285 //Scaling reconstr.
286
287 GammaScalingHistogramm(ESD_ConvGamma_P_dEdxP_montecarlo,normFac_montecarlo);
288 GammaScalingHistogramm(ESD_ConvGamma_E_dEdxP_montecarlo,normFac_montecarlo);
289 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_montecarlo,normFac_montecarlo);
290 GammaScalingHistogramm(ESD_ConvGamma_Pt_montecarlo,normFac_montecarlo);
291 GammaScalingHistogramm(ESD_ConvGamma_Eta_montecarlo,normFac_montecarlo);
292 GammaScalingHistogramm(ESD_ConvGamma_Mass_montecarlo,normFac_montecarlo);
293 GammaScalingHistogramm(ESD_ConvGamma_Chi2_montecarlo,normFac_montecarlo);
294 GammaScalingHistogramm(ESD_E_Pt_montecarlo,normFac_montecarlo);
295 GammaScalingHistogramm(ESD_P_Pt_montecarlo,normFac_montecarlo);
296 GammaScalingHistogramm(ESD_E_nITSClusters_montecarlo,normFac_montecarlo);
297 GammaScalingHistogramm(ESD_P_nITSClusters_montecarlo,normFac_montecarlo);
298 GammaScalingHistogramm(ESD_E_nTPCClusters_montecarlo,normFac_montecarlo);
299 GammaScalingHistogramm(ESD_P_nTPCClusters_montecarlo,normFac_montecarlo);
300 GammaScalingHistogramm(ESD_Mother_InvMass_montecarlo,normFac_montecarlo);
301 GammaScalingHistogramm(ESD_ConvGamma_DcaDaughters_montecarlo,normFac_montecarlo);
302 GammaScalingHistogramm(ESD_ConvGamma_CosPointingAngle_montecarlo,normFac_montecarlo);
303 GammaScalingHistogramm(ESD_ConvGamma_NormDcaDistDaughters_montecarlo,normFac_montecarlo);
304 GammaScalingHistogramm(ESD_ConvGamma_LikeLihood_montecarlo,normFac_montecarlo);
305 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y1_montecarlo,normFac_montecarlo);
306 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y2_montecarlo,normFac_montecarlo);
307 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y3_montecarlo,normFac_montecarlo);
308 GammaScalingHistogramm(ESD_ConvGamma_P_dEdx_Y4_montecarlo,normFac_montecarlo);
309 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo,normFac_montecarlo);
310 GammaScalingHistogramm(MC_ConvGamma_P_AsymmetryP_Y1_montecarlo,normFac_montecarlo);
311 GammaScalingHistogramm(MC_ConvGamma_P_AsymmetryP_Y2_montecarlo,normFac_montecarlo);
312 GammaScalingHistogramm(ESD_ConvGamma_P_AsymmetryP_Y2_montecarlo,normFac_montecarlo);
313 GammaScalingHistogramm(ESD_NumberOfGoodESDTracks_montecarlo,normFac_montecarlo);
314 GammaScalingHistogramm(ESD_NumberOfGoodESDTrackswith0_montecarlo,normFac_montecarlo);
315 ESD_Mother_InvMass_montecarlo->Rebin(rebin);
316
317 MultoutMC = new TFile("Multout2.root","RECREATE");
318 ESD_NumberOfGoodESDTracks_montecarlo->Write();
319 MultoutMC->Write();
320 MultoutMC->Close();
321
322 }
323 //-----------------------------------------------------------------------------------------
324 TF1* myGaus = new TF1("myGaus","gaus",50.,70.);
325 myGaus->SetParameters(0.010,65.,20);
326 myGaus->SetParLimits(0,1e-3, 100e-3);
327 myGaus->SetParLimits(1,60,90);
328 ESD_ConvGamma_P_dEdx_Y1_data->Fit("myGaus","RME");
329 Float_t mean_P_dEdx_Y1_data = myGaus->GetParameter(1);
330 delete myGaus;
331
332 TF1* myGaus = new TF1("myGaus","gaus",50.,70.);
333 myGaus->SetParameters(0.010,65.,20);
334 myGaus->SetParLimits(0,1e-3, 100e-3);
335 myGaus->SetParLimits(1,60,90);
336 ESD_ConvGamma_P_dEdx_Y2_data->Fit("myGaus","RME");
337 Float_t mean_P_dEdx_Y2_data = myGaus->GetParameter(1);
338 delete myGaus;
339
340 TF1* myGaus = new TF1("myGaus","gaus",60.,75.);
341 myGaus->SetParameters(0.010,65.,20);
342 myGaus->SetParLimits(0,1e-3, 100e-3);
343 myGaus->SetParLimits(1,60,90);
344 ESD_ConvGamma_P_dEdx_Y3_data->Fit("myGaus","RME");
345 Float_t mean_P_dEdx_Y3_data = myGaus->GetParameter(1);
346 delete myGaus;
347
348 TF1* myGaus = new TF1("myGaus","gaus",60.,79.);
349 myGaus->SetParameters(0.010,65.,20);
350 myGaus->SetParLimits(0,1e-3, 100e-3);
351 myGaus->SetParLimits(1,60,90);
352 ESD_ConvGamma_P_dEdx_Y4_data->Fit("myGaus","RME");
353 Float_t mean_P_dEdx_Y4_data = myGaus->GetParameter(1);
354 delete myGaus;
355
356
357 if(MCfile != ""){
358 TF1* myGaus2 = new TF1("myGaus2","gaus",60.,79.);
359 myGaus2->SetParameters(0.010,80.,20);
360 myGaus2->SetParLimits(0,1e-3, 100e-3);
361 myGaus2->SetParLimits(1,60,100);
362 ESD_ConvGamma_P_dEdx_Y1_montecarlo->Fit("myGaus2","RME");
363 Float_t mean_P_dEdx_Y1_montecarlo = myGaus2->GetParameter(1);
364 delete myGaus2;
365 TH1F* ESD_ConvGamma_P_dEdx_Y1_montecarlo_2 = (TH1F*) ESD_ConvGamma_P_dEdx_Y1_montecarlo->Clone();
366 Float_t nBins = ESD_ConvGamma_P_dEdx_Y1_montecarlo_2->GetNbinsX();
367 for ( int i=1; i<nBins;i++) { ESD_ConvGamma_P_dEdx_Y1_montecarlo_2->SetBinContent(i,0); }
368 for ( int i=1; i<nBins;i++) {
369 Float_t binwidth = ESD_ConvGamma_P_dEdx_Y1_montecarlo->GetBinWidth(i);
370 Float_t yvalue=ESD_ConvGamma_P_dEdx_Y1_montecarlo->GetBinContent(i);
371 Float_t xvalue=ESD_ConvGamma_P_dEdx_Y1_montecarlo->GetBinCenter(i);
372 Float_t newX= xvalue*mean_P_dEdx_Y1_data/mean_P_dEdx_Y1_montecarlo;
373 Int_t j = (newX+0.5*binwidth)/binwidth;
374 ESD_ConvGamma_P_dEdx_Y1_montecarlo_2->AddBinContent(j,yvalue);
375 }
376
377 TF1* myGaus2 = new TF1("myGaus2","gaus",60.,79.);
378 myGaus2->SetParameters(0.010,80.,20);
379 myGaus2->SetParLimits(0,1e-3, 100e-3);
380 myGaus2->SetParLimits(1,60,100);
381 ESD_ConvGamma_P_dEdx_Y2_montecarlo->Fit("myGaus2","RME");
382 Float_t mean_P_dEdx_Y2_montecarlo = myGaus2->GetParameter(1);
383 delete myGaus2;
384 TH1F* ESD_ConvGamma_P_dEdx_Y2_montecarlo_2 = (TH1F*) ESD_ConvGamma_P_dEdx_Y2_montecarlo->Clone();
385 Float_t nBins = ESD_ConvGamma_P_dEdx_Y2_montecarlo_2->GetNbinsX();
386 for ( int i=1; i<nBins;i++) { ESD_ConvGamma_P_dEdx_Y2_montecarlo_2->SetBinContent(i,0);}
387 for ( int i=1; i<nBins;i++) {
388 Float_t binwidth = ESD_ConvGamma_P_dEdx_Y2_montecarlo->GetBinWidth(i);
389 Float_t yvalue=ESD_ConvGamma_P_dEdx_Y2_montecarlo->GetBinContent(i);
390 Float_t xvalue=ESD_ConvGamma_P_dEdx_Y2_montecarlo->GetBinCenter(i);
391 Float_t newX= xvalue*mean_P_dEdx_Y2_data/mean_P_dEdx_Y2_montecarlo;
392 Int_t j = (newX+0.5*binwidth)/binwidth;
393 ESD_ConvGamma_P_dEdx_Y2_montecarlo_2->AddBinContent(newX,yvalue);
394 }
395
396
397 TF1* myGaus2 = new TF1("myGaus2","gaus",60.,79.);
398 myGaus2->SetParameters(0.010,81.,20);
399 myGaus2->SetParLimits(0,1e-3, 100e-3);
400 myGaus2->SetParLimits(1,60,100);
401 ESD_ConvGamma_P_dEdx_Y3_montecarlo->Fit("myGaus2","RME");
402 Float_t mean_P_dEdx_Y3_montecarlo = myGaus2->GetParameter(1);
403 delete myGaus2;
404 TH1F* ESD_ConvGamma_P_dEdx_Y3_montecarlo_2 = (TH1F*) ESD_ConvGamma_P_dEdx_Y3_montecarlo->Clone();
405 Float_t nBins = ESD_ConvGamma_P_dEdx_Y3_montecarlo_2->GetNbinsX();
406 for ( int i=1; i<nBins;i++) { ESD_ConvGamma_P_dEdx_Y3_montecarlo_2->SetBinContent(i,0); }
407 for ( int i=1; i<nBins;i++) {
408 Float_t binwidth = ESD_ConvGamma_P_dEdx_Y3_montecarlo->GetBinWidth(i);
409 Float_t yvalue=ESD_ConvGamma_P_dEdx_Y3_montecarlo->GetBinContent(i);
410 Float_t xvalue=ESD_ConvGamma_P_dEdx_Y3_montecarlo->GetBinCenter(i);
411 Float_t newX= xvalue*mean_P_dEdx_Y3_data/mean_P_dEdx_Y3_montecarlo;
412 Int_t j = (newX+0.5*binwidth)/binwidth;
413 ESD_ConvGamma_P_dEdx_Y3_montecarlo_2->AddBinContent(j,yvalue);
414 }
415
416 TF1* myGaus2 = new TF1("myGaus2","gaus",60.,79.);
417 myGaus2->SetParameters(0.010,81.,20);
418 myGaus2->SetParLimits(0,1e-4, 100e-3);
419 myGaus2->SetParLimits(1,60,100);
420 ESD_ConvGamma_P_dEdx_Y4_montecarlo->Fit("myGaus2","RME");
421 Float_t mean_P_dEdx_Y4_montecarlo = myGaus2->GetParameter(1);
422 delete myGaus2;
423 TH1F* ESD_ConvGamma_P_dEdx_Y4_montecarlo_2 = (TH1F*) ESD_ConvGamma_P_dEdx_Y4_montecarlo->Clone();
424 Float_t nBins = ESD_ConvGamma_P_dEdx_Y4_montecarlo_2->GetNbinsX();
425 for ( int i=1; i<nBins;i++) { ESD_ConvGamma_P_dEdx_Y4_montecarlo_2->SetBinContent(i,0); }
426 for ( int i=1; i<nBins;i++) {
427 Float_t binwidth = ESD_ConvGamma_P_dEdx_Y4_montecarlo->GetBinWidth(i);
428 Float_t yvalue=ESD_ConvGamma_P_dEdx_Y4_montecarlo->GetBinContent(i);
429 Float_t xvalue=ESD_ConvGamma_P_dEdx_Y4_montecarlo->GetBinCenter(i);
430 Float_t newX= xvalue*mean_P_dEdx_Y4_data/mean_P_dEdx_Y4_montecarlo;
431 Int_t j = (newX+0.5*binwidth)/binwidth;
432 ESD_ConvGamma_P_dEdx_Y4_montecarlo_2->AddBinContent(j,yvalue);
433 }
434 }
435
436
437 // ----------------------------------------------------------------------------------------
438
439 // ----------------------- Start ps file -----------------------------------------------------
440
441 TPostScript *ps_characteristics;
442 if(!SinglePlots)ps_characteristics = new TPostScript(Form("%s%s.ps",path,output),111);
443
444
445 // ----------------------- dE/dx of pion/electron -----------------------------------------
446
447 // --------------------------- page 1 -------------------------------------------------------
448 if(!SinglePlots) {
449ps_characteristics->NewPage();
450
451 TCanvas * c0 = new TCanvas("c0","",10,10,700,1000); // gives the page size
452 c0->Divide(2,2);
453
454 title0 = new TPaveLabel(0.05,0.92,0.95,0.96,(Form("data: %s",data)));
455 title0->SetFillColor(16);
456 title0->SetTextSize(0.25);
457 title0->Draw();
458
459 if(MCfile != ""){
460 title1 = new TPaveLabel(0.05,0.87,0.95,0.91,(Form("montecarlo: %s",MCfile)));
461 title1->SetFillColor(16);
462 title1->SetTextSize(0.25);
463 title1->Draw();
464 }
465
466
467 c0->Update();
468
469 //-------------------------- page 2 - dE/dx distribution-----------------------------------------------------------
470
471 ps_characteristics->NewPage();
472
473 TCanvas * c1 = new TCanvas("c1","",10,10,700,1000); // gives the page size
474 pad_c1 = new TPad("pad_c1","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
475 pad_c1->SetFillColor(0);
476 pad_c1->GetFrame()->SetFillColor(0);
477 pad_c1->SetBorderMode(0);
478 pad_c1->Divide(2,3);
479 pad_c1->Draw();
480
481 title0->Draw();
482 if(MCfile != ""){
483 title1->Draw();
484 }
485
486 pad_c1->cd(1)->SetLogx(1);
487 pad_c1->cd(1)->SetLogz(1);
488 pad_c1->cd(2)->SetLogx(1);
489 pad_c1->cd(2)->SetLogz(1);
490 pad_c1->cd(3)->SetLogx(1);
491 pad_c1->cd(4)->SetLogx(1);
492 pad_c1->cd(3)->SetLogz(1);
493 pad_c1->cd(4)->SetLogz(1);
494
495
496 pad_c1->cd(1)->SetRightMargin(0.17);
497 pad_c1->cd(1);
498 DrawAutoGammaHisto2D( ESD_ConvGamma_P_dEdxP_data,
499 "", "p [GeV/c]", "dE/dx Positron", "Data",
500 kTRUE, 10., 140.,
501 kTRUE, 0., 20.);
502 foElec.Draw("e,hist,same");
503 foPion.Draw("e,hist,same");
504 foProton.Draw("e,hist,same");
505 foKaon.Draw("e,hist,same");
506
507 pad_c1->cd(2)->SetRightMargin(0.17);
508 if(MCfile != ""){
509 pad_c1->cd(2);
510 DrawAutoGammaHisto2D( ESD_ConvGamma_P_dEdxP_montecarlo,
511 "", "p [GeV/c]", "dE/dx Positron", "MC",
512 kTRUE, 20., 150.,
513 kTRUE, 0., 20.);
514 foElecMC.Draw("e,hist,same");
515 foPionMC.Draw("e,hist,same");
516 foProtonMC.Draw("e,hist,same");
517 foKaonMC.Draw("e,hist,same");
518
519 }
520
521 pad_c1->cd(3)->SetRightMargin(0.17);
522 pad_c1->cd(3);
523 DrawAutoGammaHisto2D( ESD_ConvGamma_E_dEdxP_data,
524 "", "p [GeV/c]", "dE/dx Electron", "Data",
525 kTRUE, 10., 140.,
526 kTRUE, 0., 20.);
527 foElec.Draw("e,hist,same");
528 foPion.Draw("e,hist,same");
529 foProton.Draw("e,hist,same");
530 foKaon.Draw("e,hist,same");
531
532 pad_c1->cd(4)->SetRightMargin(0.17);
533 if(MCfile != ""){
534 pad_c1->cd(4);
535 DrawAutoGammaHisto2D( ESD_ConvGamma_E_dEdxP_montecarlo,
536 "", "p [GeV/c]", "dE/dx Electron", "MC",
537 kTRUE, 20., 150.,
538 kTRUE, 0., 20.);
539 foElecMC.Draw("e,hist,same");
540 foPionMC.Draw("e,hist,same");
541 foProtonMC.Draw("e,hist,same");
542 foKaonMC.Draw("e,hist,same");
543
544 }
545
546 pad_c1->cd(5);
547 if(MCfile == ""){
548 ESD_ConvGamma_P_dEdx_Y3_data->Rebin(2);
549 DrawAutoGammaHisto( ESD_ConvGamma_P_dEdx_Y3_data,
550 "Projection of dE/dx 20th-50th pt-bins","dE/dx ",StandardYAxis,
551 kTRUE, 1.2,0,
552 kFALSE,0. ,0.,
553 kTRUE, 50.,100.);
554 }else{
555 ESD_ConvGamma_P_dEdx_Y3_data->Rebin(2);
556 ESD_ConvGamma_P_dEdx_Y3_montecarlo_2->Rebin(2);
557 DrawAutoGammaHistos( ESD_ConvGamma_P_dEdx_Y3_data,
558 ESD_ConvGamma_P_dEdx_Y3_montecarlo_2,
559 "Projection of dE/dx 20th-50th pt-bins","dE/dx ",StandardYAxis,
560 kTRUE, 1.2,0,
561 kFALSE,0. ,0.,
562 kTRUE, 50.,100.);
563 }
564 Scaling->Draw();
565
566 pad_c1->cd(6);
567 if(MCfile == ""){
568 ESD_ConvGamma_P_dEdx_Y4_data->Rebin(2);
569 DrawAutoGammaHisto( ESD_ConvGamma_P_dEdx_Y4_data,
570 "Projection of dE/dx in other pt-bins","dE/dx ",StandardYAxis,
571 kTRUE, 1.2,0,
572 kFALSE,0. ,0.,
573 kTRUE, 50.,100.);
574 }else{
575 ESD_ConvGamma_P_dEdx_Y4_data->Rebin(2);
576 ESD_ConvGamma_P_dEdx_Y4_montecarlo_2->Rebin(2);
577 DrawAutoGammaHistos( ESD_ConvGamma_P_dEdx_Y4_data,
578 ESD_ConvGamma_P_dEdx_Y4_montecarlo_2,
579 "Projection of dE/dx in other pt-bins","dE/dx ",StandardYAxis,
580 kTRUE, 1.2,0,
581 kFALSE,0. ,0.,
582 kTRUE, 50.,100.);
583 }
584 Scaling->Draw();
585
586 c1->Update();
587
588 //----------------------------- page 3 - Asymmetry distribution ---------------------------------------------------------------
589 ps_characteristics->NewPage();
590
591 TCanvas * c2 = new TCanvas("c2","",10,10,700,1000); // gives the page size
592 pad_c2 = new TPad("pad_c2","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
593 pad_c2->SetFillColor(0);
594 pad_c2->GetFrame()->SetFillColor(0);
595 pad_c2->SetBorderMode(0);
596 pad_c2->Divide(2,2);
597 pad_c2->Draw();
598
599 title0->Draw();
600 if(MCfile != ""){
601 title1->Draw();
602 }
603
604 pad_c2->cd(1)->SetLogz(1);
605 pad_c2->cd(2)->SetLogz(1);
606
607 pad_c2->cd(1);
608 pad_c2->cd(1)->SetRightMargin(0.17);
609 DrawAutoGammaHisto2D( ESD_ConvGamma_P_AsymmetryP_data,
610 "", "p [GeV/c]", "Asymmetry", "Data",
611 kFALSE, 30., 100.,
612 kTRUE, 0., 20.);
613
614 if(MCfile != ""){
615 pad_c2->cd(2);
616 pad_c2->cd(2)->SetRightMargin(0.17);
617 DrawAutoGammaHisto2D( ESD_ConvGamma_P_AsymmetryP_montecarlo,
618 "", "p [GeV/c]", "Asymmetry", "MC",
619 kFALSE, 30., 100.,
620 kTRUE, 0., 20.);
621 }
622
623 pad_c2->cd(3);
624 if(MCfile == ""){
625 DrawAutoGammaHisto( ESD_ConvGamma_P_AsymmetryP_Y1_data,
626 "Projection of Asymmetry in 1st -3rd bin pt-bin", "Asymmetry",StandardYAxis,
627 kTRUE, 1.2,0,
628 kFALSE,0. ,0.,
629 kFALSE, 0.,0.9);
630
631 }else{
632 DrawAutoGammaHistos( ESD_ConvGamma_P_AsymmetryP_Y1_data,
633 ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo,
634 "Projection of Asymmetry in 1st -3rd bin pt-bin", "Asymmetry",StandardYAxis,
635 kTRUE, 1.2,0,
636 kFALSE,0. ,0.,
637 kFALSE, 0.1,0.9);
638 }
639
640 pad_c2->cd(4);
641 if(MCfile == ""){
642 DrawAutoGammaHisto( ESD_ConvGamma_P_AsymmetryP_Y2_data,
643 "Projection of Asymmetry in other pt-bins", "Asymmetry",StandardYAxis,
644 kTRUE, 1.2,0,
645 kFALSE,0. ,0.,
646 kFALSE, 0.,1.);
647 }else{
648 DrawAutoGammaHistos( ESD_ConvGamma_P_AsymmetryP_Y2_data,
649 ESD_ConvGamma_P_AsymmetryP_Y2_montecarlo,
650 "Projection of Asymmetry in other pt-bins", "Asymmetry",StandardYAxis,
651 kTRUE, 1.2,0,
652 kFALSE,0. ,0.,
653 kFALSE, 0.,1.);
654 }
655 c2->Update();
656
657
658 //----------------------------- page 4 - Armenteros-plots ---------------------------------------------------------------
659 ps_characteristics->NewPage();
660
661 TCanvas * c20 = new TCanvas("c20","",10,10,700,1000); // gives the page size
662 pad_c20 = new TPad("pad_c20","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
663 pad_c20->SetFillColor(0);
664 pad_c20->GetFrame()->SetFillColor(0);
665 pad_c20->SetBorderMode(0);
666 pad_c20->Divide(2,2);
667 pad_c20->Draw();
668
669 pad_c20->cd(1)->SetLogz(1);
670 pad_c20->cd(2)->SetLogz(1);
671 pad_c20->cd(3)->SetLogz(1);
672 pad_c20->cd(4)->SetLogz(1);
673
674 title0->Draw();
675 if(MCfile != ""){
676 title1->Draw();
677 }
678
679 pad_c20->cd(1);
680 pad_c20->cd(1)->SetRightMargin(0.17);
681 DrawAutoGammaHisto2D( ESD_AllV0CurrentFinder_alfa_qt_data,
682 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "Data",
683 kFALSE, 30., 100.,
684 kTRUE, -1., 1.);
685
686 if(MCfile != ""){
687 pad_c20->cd(2);
688 pad_c20->cd(2)->SetRightMargin(0.17);
689 DrawAutoGammaHisto2D( ESD_AllV0CurrentFinder_alfa_qt_montecarlo,
690 "","#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "MC",
691 kFALSE, 30., 100.,
692 kTRUE, -1., 1.);
693 }
694
695 pad_c20->cd(3);
696 pad_c20->cd(3)->SetRightMargin(0.17);
697 DrawAutoGammaHisto2D( ESD_ConvGamma_alfa_qt_data,
698 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "Data",
699 kFALSE, 30., 100.,
700 kTRUE, -1., 1.);
701
702 if(MCfile != ""){
703 pad_c20->cd(4);
704 pad_c20->cd(4)->SetRightMargin(0.17);
705 DrawAutoGammaHisto2D( ESD_ConvGamma_alfa_qt_montecarlo,
706 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "MC",
707 kFALSE, 30., 100.,
708 kTRUE, -1., 1.);
709 }
710
711
712 c20->Update();
713
714 // -----------------------------Page 5 ------------------------------------------------
715
716 ps_characteristics->NewPage();
717
718 TCanvas * c3 = new TCanvas("c3","",10,10,700,1000); // gives the page size
719 pad_c3 = new TPad("pad_c3","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
720 pad_c3->SetFillColor(0);
721 pad_c3->GetFrame()->SetFillColor(0);
722 pad_c3->SetBorderMode(0);
723 pad_c3->Divide(2,2);
724 pad_c3->Draw();
725
726 title0->Draw();
727 if(MCfile != ""){
728 title1->Draw();
729 }
730
731 pad_c3->cd(1)->SetLogy(1);
732 pad_c3->cd(2)->SetLogy(1);
733 pad_c3->cd(3)->SetLogy(1);
734 pad_c3->cd(4)->SetLogy(1);
735
736 pad_c3->cd(1);
737 if(MCfile == ""){
738 DrawAutoGammaHisto( ESD_ConvGamma_DcaDaughters_data,
739 "", "DCA [cm]",StandardYAxis,
740 kTRUE, 3,0.000001, kFALSE,0 ,0,
741 kFALSE, 0,1);
742 }else{
743 DrawAutoGammaHistos( ESD_ConvGamma_DcaDaughters_data,
744 ESD_ConvGamma_DcaDaughters_montecarlo,
745 "", "DCA [cm]",StandardYAxis,
746 kTRUE, 3,0.000001,
747 kFALSE,0. ,0.,
748 kFALSE, 0.,1);
749 }
750
751 pad_c3->cd(2);
752 if(MCfile == ""){
753 DrawAutoGammaHisto( ESD_ConvGamma_NormDcaDistDaughters_data,
754 "", "Normalized distance [cm]",StandardYAxis,
755 kTRUE, 3,0.000001,
756 kFALSE,0 ,0,
757 kFALSE, 0,1);
758 }else{
759 DrawAutoGammaHistos( ESD_ConvGamma_NormDcaDistDaughters_data,
760 ESD_ConvGamma_NormDcaDistDaughters_montecarlo,
761 "", "Normalized distance [cm]",StandardYAxis,
762 kTRUE, 3,0.000001,
763 kFALSE,0. ,0.,
764 kFALSE, 0.,1);
765 }
766
767 pad_c3->cd(3);
768 if(MCfile == ""){
769 DrawAutoGammaHisto( ESD_ConvGamma_CosPointingAngle_data,
770 "", "Cos Pointing Angle",StandardYAxis,
771 kTRUE, 3,0.000001,
772 kFALSE,0 ,0,
773 kTRUE, 0,1);
774 }else{
775 DrawAutoGammaHistos( ESD_ConvGamma_CosPointingAngle_data,
776 ESD_ConvGamma_CosPointingAngle_montecarlo,
777 "", "Cos Pointing Angle",StandardYAxis,
778 kTRUE, 3,0.000001,
779 kFALSE,0. ,0.,
780 kTRUE, 0.,1);
781 }
782
783 pad_c3->cd(4);
784 if(MCfile == ""){
785 DrawAutoGammaHisto( ESD_ConvGamma_LikeLihood_data,
786 "", "Likelihood",StandardYAxis,
787 kTRUE, 3,0.000001,
788 kFALSE,0 ,0,
789 kTRUE, 0,1);
790 }else{
791 DrawAutoGammaHistos( ESD_ConvGamma_LikeLihood_data,
792 ESD_ConvGamma_LikeLihood_montecarlo,
793 "", "Likelihood",StandardYAxis,
794 kTRUE, 3,0.000001,
795 kFALSE,0. ,0.,
796 kTRUE, 0.,1);
797 }
798
799
800 c3->Update();
801 //-----------------------------Page 6 - Clusters---------------------------------
802 ps_characteristics->NewPage();
803
804 TCanvas * c6 = new TCanvas("c6","",10,10,700,1000); // gives the page size
805
806 pad_c6 = new TPad("pad_c6","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
807 pad_c6->SetFillColor(0);
808 pad_c6->GetFrame()->SetFillColor(0);
809 pad_c6->SetBorderMode(0);
810 pad_c6->Divide(2,3);
811 pad_c6->Draw();
812
813 title0->Draw();
814 if(MCfile != ""){
815 title1->Draw();
816 }
817
818 pad_c6->cd(1)->SetLogy(1);
819 pad_c6->cd(2)->SetLogy(1);
820 TText *l = new TText();
821
822 pad_c6->cd(1);
823 if(MCfile == ""){
824 DrawAutoGammaHisto( ESD_NumberOfGoodESDTracks_data,
825 "","Number good ESDTracks ","",
826 kTRUE, 3.,0.000001,
827 kFALSE,0. ,0.,
828 kFALSE, 0.,100.);
829 Double_t mean_data = ESD_NumberOfGoodESDTracks_data->GetMean();
830 l->SetTextAlign(11);
831 l->SetTextColor(1);
832 l->SetTextSize(0.03);
833 l->DrawText(60,0.0002, "Mean Data:");
834 l->DrawText(80,0.0002, Form("%lg", mean_data));
835
836 }else{
837 DrawAutoGammaHistos( ESD_NumberOfGoodESDTracks_data,
838 ESD_NumberOfGoodESDTracks_montecarlo,
839 "","Number good ESDTracks","",
840 kTRUE, 3.,0.000001,
841 kFALSE,0. ,0.,
842 kFALSE, 0.,100.);
843 Double_t mean_data = ESD_NumberOfGoodESDTracks_data->GetMean();
844 l->SetTextAlign(11);
845 l->SetTextColor(1);
846 l->SetTextSize(0.03);
847 l->DrawText(60,0.0002, "Mean Data:");
848 l->DrawText(80,0.0002, Form("%lg", mean_data));
849
850 Double_t mean_montecarlo = ESD_NumberOfGoodESDTracks_montecarlo->GetMean();
851 l->SetTextAlign(11);
852 l->SetTextColor(2);
853 l->SetTextSize(0.03);
854 l->DrawText(60,0.0001, "Mean MC:");
855 l->DrawText(80,0.0001, Form("%lg", mean_montecarlo));
856
857 }
858
859 pad_c6->cd(2);
860 if(MCfile == ""){
861 DrawAutoGammaHisto( ESD_NumberOfGoodESDTrackswith0_data,
862 "","Number good ESDTracks with 0 ","",
863 kTRUE, 3.,0.000001,
864 kFALSE,0. ,0.,
865 kFALSE, 0.,100.);
866 Double_t mean_data = ESD_NumberOfGoodESDTrackswith0_data->GetMean();
867 l->SetTextAlign(11);
868 l->SetTextColor(1);
869 l->SetTextSize(0.03);
870 l->DrawText(60,0.0002, "Mean Data:");
871 l->DrawText(80,0.0002, Form("%lg", mean_data));
872
873 }else{
874 DrawAutoGammaHistos( ESD_NumberOfGoodESDTrackswith0_data,
875 ESD_NumberOfGoodESDTrackswith0_montecarlo,
876 "","Number good ESDTracks with 0","",
877 kTRUE, 3.,0.000001,
878 kFALSE,0. ,0.,
879 kFALSE, 0.,100.);
880 Double_t mean_data = ESD_NumberOfGoodESDTrackswith0_data->GetMean();
881 l->SetTextAlign(11);
882 l->SetTextColor(1);
883 l->SetTextSize(0.03);
884 l->DrawText(60,0.0002, "Mean Data:");
885 l->DrawText(80,0.0002, Form("%lg", mean_data));
886
887 Double_t mean_montecarlo = ESD_NumberOfGoodESDTrackswith0_montecarlo->GetMean();
888 l->SetTextAlign(11);
889 l->SetTextColor(2);
890 l->SetTextSize(0.03);
891 l->DrawText(60,0.0001, "Mean MC:");
892 l->DrawText(80,0.0001, Form("%lg", mean_montecarlo));
893
894 }
895
896 pad_c6->cd(3);
897 if(MCfile == ""){
898 DrawAutoGammaHisto( ESD_E_nITSClusters_data,
899 "", "Number of ITS Clusters for Electron ","Hits/event scaled by multiplicity ",
900 kTRUE, 1.5,0,
901 kFALSE,0 ,0,
902 kFALSE, 0,0);
903 }else{
904 DrawAutoGammaHistos( ESD_E_nITSClusters_data,
905 ESD_E_nITSClusters_montecarlo,
906 "","Number of ITS Clusters for Electron ","Hits/event scaled by multiplicity",
907 kTRUE, 1.5,0,
908 kFALSE,0. ,0.,
909 kFALSE, 0.,0.);
910 }
911
912 pad_c6->cd(4);
913 if(MCfile == ""){
914 DrawAutoGammaHisto( ESD_E_nTPCClusters_data,
915 "", "Number of TPC Clusters for Electron","Hits/event scaled by multiplicity",
916 kTRUE, 1.5,0,
917 kFALSE,0. ,0.,
918 kFALSE, 0.,0.);
919 }else{
920 DrawAutoGammaHistos( ESD_E_nTPCClusters_data,
921 ESD_E_nTPCClusters_montecarlo,
922 "","Number of TPC Clusters for Electron ","Hits/event scaled by multiplicity",
923 kTRUE, 1.5,0,
924 kFALSE,0. ,0.,
925 kFALSE, 0.,0.);
926 }
927
928 pad_c6->cd(5);
929 if(MCfile == ""){
930 DrawAutoGammaHisto( ESD_P_nITSClusters_data,
931 "", "Number of ITS Clusters for PositronS","Hits/event scaled by multiplicity",
932 kTRUE, 1.5, 0,
933 kFALSE,0. ,0.,
934 kFALSE, 0.,0.);
935 }else{
936 DrawAutoGammaHistos( ESD_P_nITSClusters_data,
937 ESD_P_nITSClusters_montecarlo,
938 "","Number of ITS Clusters for Positron","Hits/event scaled by multiplicity",
939 kTRUE, 1.5, 0,
940 kFALSE,0. ,0.,
941 kFALSE, 0.,0.);
942 }
943
944 pad_c6->cd(6);
945 if(MCfile != ""){
946 DrawAutoGammaHistos( ESD_P_nTPCClusters_data,
947 ESD_P_nTPCClusters_montecarlo,
948 "","Number of TPC Clusters for Positron","Hits/event scaled by multiplicity",
949 kTRUE, 1.5, 0,
950 kFALSE,0. ,0.,
951 kFALSE, 0.,0.);
952
953 }else{
954 DrawAutoGammaHisto( ESD_P_nTPCClusters_data,
955 "", "Number of TPC Clusters for PositronS","Hits/event scaled by multiplicity",
956 kTRUE, 1.5, 0,
957 kFALSE,0. ,0.,
958 kFALSE, 0.,0.);
959 }
960
961 c6->Update();
962
963 // --------------------------Page 7-------------------------------------
964
965 ps_characteristics->NewPage();
966
967 TCanvas * c4 = new TCanvas("c4","",10,10,700,1000); // gives the page size
968 pad_c4 = new TPad("pad_c4","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
969 pad_c4->SetFillColor(0);
970 pad_c4->GetFrame()->SetFillColor(0);
971 pad_c4->SetBorderMode(0);
972 pad_c4->Divide(2,3);
973 pad_c4->Draw();
974
975 title0->Draw();
976 if(MCfile != ""){
977 title1->Draw();
978 }
979
980 pad_c4->cd(1)->SetLogy(1);
981 pad_c4->cd(2)->SetLogy(1);
982 pad_c4->cd(3)->SetLogy(1);
983 pad_c4->cd(4)->SetLogy(1);
984 pad_c4->cd(5)->SetLogy(1);
985 pad_c4->cd(6)->SetLogy(1);
986
987
988 pad_c4->cd(1);
989 if(MCfile == ""){
990 DrawAutoGammaHisto( ESD_ConvGamma_Pt_data,
991 "", "p_{t} Conv #gamma [GeV]",StandardYAxis,
992 kTRUE, 3,0.00000001,
993 kFALSE,0 ,0,
994 kTRUE, 0,20.);
995 }else{
996 DrawAutoGammaHistos( ESD_ConvGamma_Pt_data,
997 ESD_ConvGamma_Pt_montecarlo,
998 "", "p_{t} Conv #gamma [GeV]",StandardYAxis,
999 kTRUE, 3,0.00000001,
1000 kFALSE,0. ,0.,
1001 kTRUE, 0.,20.);
1002 }
1003
1004 pad_c4->cd(2);
1005 if(MCfile == ""){
1006 DrawAutoGammaHisto( ESD_ConvGamma_Eta_data,
1007 "", "#eta Conv #gamma",StandardYAxis,
1008 kTRUE, 3,0.001,
1009 kFALSE,0 ,0,
1010 kFALSE, 0,0.7);
1011 }else{
1012 DrawAutoGammaHistos( ESD_ConvGamma_Eta_data,
1013 ESD_ConvGamma_Eta_montecarlo,
1014 "", "#eta Conv #gamma",StandardYAxis,
1015 kTRUE, 3,0.001,
1016 kFALSE,0. ,0.,
1017 kFALSE, 0.,0.7);
1018 }
1019
1020 pad_c4->cd(3);
1021 if(MCfile == ""){
1022 DrawAutoGammaHisto( ESD_ConvGamma_Mass_data,
1023 "", "InvMass e^{+}e^{-} [GeV]",StandardYAxis,
1024 kTRUE, 3,0.000001,
1025 kFALSE,0 ,0,
1026 kTRUE, 0,0.1);
1027 }else{
1028 DrawAutoGammaHistos( ESD_ConvGamma_Mass_data,
1029 ESD_ConvGamma_Mass_montecarlo,
1030 "", "InvMass e^{+}e^{-} [GeV]",StandardYAxis,
1031 kFALSE, 3,0.000001,
1032 kFALSE,0. ,0.,
1033 kTRUE, 0.,0.1);
1034 }
1035
1036 pad_c4->cd(4);
1037 if(MCfile == ""){
1038 DrawAutoGammaHisto( ESD_ConvGamma_Chi2_data,
1039 "", "#chi^{2} Conv #gamma",StandardYAxis,
1040 kTRUE, 3,0.000001,
1041 kFALSE,0 ,0,
1042 kFALSE, 0,8.);
1043 }else{
1044 DrawAutoGammaHistos( ESD_ConvGamma_Chi2_data,
1045 ESD_ConvGamma_Chi2_montecarlo,
1046 "", "#chi^{2} Conv #gamma",StandardYAxis,
1047 kTRUE, 3,0.000001,
1048 kFALSE,0. ,0.,
1049 kFALSE, 0.,8.);
1050 }
1051
1052 pad_c4->cd(5);
1053 if(MCfile == ""){
1054 DrawAutoGammaHisto( ESD_E_Pt_data,
1055 "", "p_{t} electron [GeV]",StandardYAxis,
1056 kTRUE, 3,0.00000001,
1057 kFALSE,0 ,0,
1058 kTRUE, 0,20.);
1059 }else{
1060 DrawAutoGammaHistos( ESD_E_Pt_data,
1061 ESD_E_Pt_montecarlo,
1062 "", "p_{t} electron [GeV]",StandardYAxis,
1063 kTRUE, 3,0.00000001,
1064 kFALSE,0. ,0.,
1065 kTRUE, 0.,20.);
1066 }
1067
1068 pad_c4->cd(6);
1069 if(MCfile == ""){
1070 DrawAutoGammaHisto( ESD_P_Pt_data,
1071 "", "p_{t} positron [GeV]",StandardYAxis,
1072 kTRUE, 3,0.00000001,
1073 kFALSE,0 ,0,
1074 kTRUE, 0,20.);
1075 }else{
1076 DrawAutoGammaHistos( ESD_P_Pt_data,
1077 ESD_P_Pt_montecarlo,
1078 "", "p_{t} positron [GeV]",StandardYAxis,
1079 kTRUE, 3,0.00000001,
1080 kFALSE,0. ,0.,
1081 kTRUE, 0.,20.);
1082 }
1083
1084 c4->Update();
1085
1086 // --------------------------------Page 8 - Mother mass---------------------------------------------
1087
1088 ps_characteristics->NewPage();
1089
1090 TCanvas * c5 = new TCanvas("c5","",10,10,700,1000); // gives the page size
1091 pad_c5 = new TPad("pad_c5","",0.05,0.05,0.95,0.85,0); // gives the size of the histo areas
1092 pad_c5->SetFillColor(0);
1093 pad_c5->GetFrame()->SetFillColor(0);
1094 pad_c5->SetBorderMode(0);
1095 pad_c5->Divide(2,2);
1096 pad_c5->Draw();
1097
1098 title0->Draw();
1099 if(MCfile != ""){
1100 title1->Draw();
1101 }
1102
1103 pad_c5->cd(1);
1104 if(MCfile == ""){
1105 DrawAutoGammaHisto( ESD_Mother_InvMass_data,
1106 "", "InvMass #gamma#gamma [GeV]","Counts/event scaled by multiplicity",
1107 kTRUE, 1.5,0,
1108 kFALSE,0 ,0,
1109 kFALSE, 0,0);
1110 }else{
1111 DrawAutoGammaHistos( ESD_Mother_InvMass_data,
1112 ESD_Mother_InvMass_montecarlo,
1113 "","InvMass #gamma#gamma [GeV]","Counts/event scaled by multiplicity",
1114 kTRUE, 1.5,0,
1115 kFALSE,0. ,0.,
1116 kFALSE, 0.,0.);
1117 }
1118
1119 c5->Update();
1120 ps_characteristics->Close();
1121
1122
1123 }
1124
1125
1126
1127 // ----------------------- Start Single Plots -----------------------------------------------------
1128
1129
1130 // ----------------------- dE/dx of pion/electron -----------------------------------------
1131 if(SinglePlots){
1132 //------------
1133
1134
1135 TCanvas * c1_1 = new TCanvas("c1_1","",10,10,500,500); // gives the page size
1136 c1_1->SetLogx(1);
1137 c1_1->SetLogz(1);
1138
1139 c1_1->SetRightMargin(0.14);
1140 c1_1->cd();
1141 DrawAutoGammaHisto2D( ESD_ConvGamma_P_dEdxP_data,
1142 "", "p [GeV/c]", "dE/dx", "",
1143 kTRUE, 10., 140.,
1144 kTRUE, 0., 20.);
1145 foElec.Draw("e,hist,same");
1146 foPion.Draw("e,hist,same");
1147 foProton.Draw("e,hist,same");
1148 foKaon.Draw("e,hist,same");
1149 DrawdEdxLabel();
1150 DrawAliceLogoPerformance(right_up2D[0],right_up2D[1],right_up2D[2],right_up2D[3],0.03, Date);
1151
1152
1153 c1_1->Update();
1154 c1_1->SaveAs(Form("%s%s/dEdx_P_data.%s",path,suffix,suffix));
1155 delete c1_1;
1156
1157 if(MCfile != ""){
1158 TCanvas * c1_2 = new TCanvas("c1_2","",10,10,500,500); // gives the page size
1159
1160 c1_2->SetLogx(1);
1161 c1_2->SetLogz(1);
1162 c1_2->SetRightMargin(0.14);
1163 c1_2->cd();
1164 DrawAutoGammaHisto2D( ESD_ConvGamma_P_dEdxP_montecarlo,
1165 "", "p [GeV/c]", "dE/dx", "",
1166 kTRUE, 20., 150.,
1167 kTRUE, 0., 20.);
1168 foElecMC.Draw("e,hist,same");
1169 foPionMC.Draw("e,hist,same");
1170 foProtonMC.Draw("e,hist,same");
1171 foKaonMC.Draw("e,hist,same");
1172 DrawdEdxLabel();
1173 DrawAliceLogo(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3]);
1174 c1_2->Update();
1175 c1_2->SaveAs(Form("%s%s/dEdx_P_montecarlo.%s",path,suffix,suffix));
1176 delete c1_1;
1177 }
1178
1179 TCanvas * c1_1 = new TCanvas("c1_1","",10,10,500,500); // gives the page size
1180 c1_1->SetLogx(1);
1181 c1_1->SetLogz(1);
1182
1183 c1_1->SetRightMargin(0.14);
1184 c1_1->cd();
1185 DrawAutoGammaHisto2D( ESD_ConvGamma_E_dEdxP_data,
1186 "", "p [GeV/c]", "dE/dx", "",
1187 kTRUE, 10., 140.,
1188 kTRUE, 0., 20.);
1189 foElec.Draw("e,hist,same");
1190 foPion.Draw("e,hist,same");
1191 foProton.Draw("e,hist,same");
1192 foKaon.Draw("e,hist,same");
1193 DrawdEdxLabel();
1194 DrawAliceLogoPerformance(right_up2D[0],right_up2D[1],right_up2D[2],right_up2D[3],0.03, Date);
1195
1196
1197 c1_1->Update();
1198 c1_1->SaveAs(Form("%s%s/dEdx_E_data.%s",path,suffix,suffix));
1199 delete c1_1;
1200
1201 if(MCfile != ""){
1202 TCanvas * c1_2 = new TCanvas("c1_2","",10,10,500,500); // gives the page size
1203
1204 c1_2->SetLogx(1);
1205 c1_2->SetLogz(1);
1206 c1_2->SetRightMargin(0.14);
1207 c1_2->cd();
1208 DrawAutoGammaHisto2D( ESD_ConvGamma_E_dEdxP_montecarlo,
1209 "", "p [GeV/c]", "dE/dx", "",
1210 kTRUE, 20., 150.,
1211 kTRUE, 0., 20.);
1212 foElecMC.Draw("e,hist,same");
1213 foPionMC.Draw("e,hist,same");
1214 foProtonMC.Draw("e,hist,same");
1215 foKaonMC.Draw("e,hist,same");
1216 DrawdEdxLabel();
1217 DrawAliceLogo(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3]);
1218 c1_2->Update();
1219 c1_2->SaveAs(Form("%s%s/dEdx_E_montecarlo.%s",path,suffix,suffix));
1220 delete c1_1;
1221 }
1222
1223
1224 // ------------------------ asymetry ----------------------------------------------------
1225
1226
1227
1228 TCanvas * c2_1 = new TCanvas("c2_1","",10,10,500,500); // gives the page size
1229 c2_1->SetLogx(0);
1230 c2_1->SetLogz(1);
1231 c2_1->SetRightMargin(0.17);
1232 c2_1->cd();
1233 DrawAutoGammaHisto2D( ESD_ConvGamma_P_AsymmetryP_data,
1234 "", "p [GeV/c]", "Asymmetry", "",
1235 kFALSE, 30., 100.,
1236 kTRUE, 0., 6.);
1237 DrawAliceLogo(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3]);
1238 c2_1->Update();
1239 c2_1->SaveAs(Form("%s%s/Asymetry_data.%s",path,suffix,suffix));
1240 delete c2_1;
1241
1242 if(MCfile != ""){
1243 TCanvas * c2_2 = new TCanvas("c2_2","",10,10,500,500); // gives the page size
1244 c2_2->SetLogx(0);
1245 c2_2->SetLogz(1);
1246 c2_2->SetRightMargin(0.17);
1247 c2_2->cd();
1248 DrawAutoGammaHisto2D( ESD_ConvGamma_P_AsymmetryP_montecarlo,
1249 "", "p [GeV/c]", "Asymmetry", "",
1250 kFALSE, 30., 100.,
1251 kTRUE, 0., 6.);
1252
1253 DrawAliceLogo(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3]);
1254 c2_2->Update();
1255 c2_2->SaveAs(Form("%s%s/Asymetry_montecarlo.%s",path,suffix,suffix));
1256 delete c2_2;
1257 }
1258// ---------------------------- Armenteros single plots ------------------------------------------------------------------
1259
1260 TCanvas * c20_1 = new TCanvas("c20_1","",10,10,500,450); // gives the page size
1261 c20_1->SetLogx(0);
1262 c20_1->SetLogz(1);
1263 c20_1->SetRightMargin(0.17);
1264 c20_1->cd();
1265 ESD_AllV0CurrentFinder_alfa_qt_data->SetMinimum(20);
1266 DrawAutoGammaHisto2D( ESD_AllV0CurrentFinder_alfa_qt_data,
1267 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "",
1268 kFALSE, 30., 100.,
1269 kTRUE, -1., 1.);
1270 DrawArmenteros();
1271 DrawAliceLogoPerformance(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3],0.03,Date);
1272 c20_1->Update();
1273 c20_1->SaveAs(Form("%s%s/Armenterosfull_data.%s",path,suffix,suffix));
1274 delete c20_1;
1275
1276 if(MCfile != ""){
1277 TCanvas * c20_2 = new TCanvas("c20_2","",10,10,500,450); // gives the page size
1278 c20_2->SetLogx(0);
1279 c20_2->SetLogz(1);
1280 c20_2->SetRightMargin(0.17);
1281 c20_2->cd();
1282 DrawAutoGammaHisto2D( ESD_AllV0CurrentFinder_alfa_qt_montecarlo,
1283 "","#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "",
1284 kFALSE, 30., 100.,
1285 kTRUE, -1., 1.);
1286 DrawArmenteros();
1287 DrawAliceLogoPerformance(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3],0.03, Date);
1288 c20_2->Update();
1289 c20_2->SaveAs(Form("%s%s/Armenterosfull_montecarlo.%s",path,suffix,suffix));
1290 delete c20_2;
1291 }
1292
1293 TCanvas * c20_1 = new TCanvas("c20_1","",10,10,500,450); // gives the page size
1294 c20_1->SetLogx(0);
1295 c20_1->SetLogz(1);
1296 c20_1->SetRightMargin(0.17);
1297 c20_1->cd();
1298 DrawAutoGammaHisto2D( ESD_ConvGamma_alfa_qt_data,
1299 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "",
1300 kFALSE, 30., 100.,
1301 kTRUE, -1., 1.);
1302 DrawAliceLogoPerformance(right_up2D[0],right_up2D[1],right_up2D[2],right_up2D[3],0.03,Date);
1303 c20_1->Update();
1304 c20_1->SaveAs(Form("%s%s/ArmenterosAftCuts_data.%s",path,suffix,suffix));
1305 delete c20_1;
1306
1307 if(MCfile != ""){
1308 TCanvas * c20_2 = new TCanvas("c20_2","",10,10,500,450); // gives the page size
1309 c20_2->SetLogx(0);
1310 c20_2->SetLogz(1);
1311 c20_2->SetRightMargin(0.17);
1312 c20_2->cd();
1313 DrawAutoGammaHisto2D( ESD_ConvGamma_alfa_qt_montecarlo,
1314 "", "#alpha = (p^{+}_{L}-p^{-}_{L})/(p^{+}_{L}+p^{-}_{L})", "q_{T} [GeV/c]", "",
1315 kFALSE, 30., 100.,
1316 kTRUE, -1., 1.);
1317 DrawAliceLogoPerformance(right_up2D [0],right_up2D[1],right_up2D[2],right_up2D[3],0.03,Date);
1318 c20_2->Update();
1319 c20_2->SaveAs(Form("%s%s/ArmenterosAftCuts_montecarlo.%s",path,suffix,suffix));
1320 delete c20_2;
1321 }
1322
1323
1324
1325 // -----------------------------------------------------------------------------
1326
1327
1328 TCanvas * c3_1 = new TCanvas("c3_1","",10,10,500,500); // gives the page size
1329 TCanvas * c3_2 = new TCanvas("c3_2","",10,10,500,500); // gives the page size
1330 TCanvas * c3_3 = new TCanvas("c3_3","",10,10,500,500); // gives the page size
1331 TCanvas * c3_4 = new TCanvas("c3_4","",10,10,500,500); // gives the page size
1332
1333
1334 c3_1->SetLogy(1);
1335 c3_2->SetLogy(1);
1336 c3_3->SetLogy(1);
1337 c3_4->SetLogy(1);
1338
1339//--------------------------------------- DCA -------------------------------------------------------------
1340 c3_1->cd();
1341 if(MCfile == ""){
1342 DrawAutoGammaHisto( ESD_ConvGamma_DcaDaughters_data,
1343 "", "DCA [cm]",StandardYAxis,
1344 kTRUE, 3,0.000001,
1345 kFALSE,0 ,0,
1346 kFALSE, 0,1);
1347 }else{
1348 DrawAutoGammaHistos( ESD_ConvGamma_DcaDaughters_data,
1349 ESD_ConvGamma_DcaDaughters_montecarlo,
1350 "", "DCA [cm]",StandardYAxis,
1351 kTRUE, 3,0.000001,
1352 kFALSE,0. ,0.,
1353 kFALSE, 0.,1);
1354 }
1355 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03, Date);
1356
1357 c3_1->Update();
1358 c3_1->SaveAs(Form("%s%s/Photon_DcaDaughters.%s",path,suffix,suffix));
1359 delete c3_1;
1360
1361
1362//-------------------------------- Normalised Distance ----------------------------------------
1363 c3_2->cd();
1364 if(MCfile == ""){
1365 DrawAutoGammaHisto( ESD_ConvGamma_NormDcaDistDaughters_data,
1366 "", "Normalized distance [cm]",StandardYAxis,
1367 kTRUE, 3,0.000001,
1368 kFALSE,0 ,0,
1369 kFALSE, 0,1);
1370 }else{
1371 DrawAutoGammaHistos( ESD_ConvGamma_NormDcaDistDaughters_data,
1372 ESD_ConvGamma_NormDcaDistDaughters_montecarlo,
1373 "", "Normalized distance [cm]",StandardYAxis,
1374 kTRUE, 3,0.000001,
1375 kFALSE,0. ,0.,
1376 kFALSE, 0.,1);
1377 }
1378 DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1379
1380 c3_2->Update();
1381 c3_2->SaveAs(Form("%s%s/Photon_NormDcaDaughters.%s",path,suffix,suffix));
1382 delete c3_2;
1383//------------------------------------- Cos Pointing Angle -----------------------------------------
1384 c3_3->cd();
1385 if(MCfile == ""){
1386 DrawAutoGammaHisto( ESD_ConvGamma_CosPointingAngle_data,
1387 "", "Cos Pointing Angle",StandardYAxis,
1388 kTRUE, 3,0.000001,
1389 kFALSE,0 ,0,
1390 kTRUE, 0,1);
1391 }else{
1392 DrawAutoGammaHistos( ESD_ConvGamma_CosPointingAngle_data,
1393 ESD_ConvGamma_CosPointingAngle_montecarlo,
1394 "", "Cos Pointing Angle",StandardYAxis,
1395 kTRUE, 3,0.000001,
1396 kFALSE,0. ,0.,
1397 kTRUE, 0.,1);
1398 }
1399 DrawAliceLogoPerformance(left_up [0],left_up[1],left_up[2],left_up[3],0.03,Date);
1400
1401 c3_3->Update();
1402 c3_3->SaveAs(Form("%s%s/Photon_CosPointingAngle.%s",path,suffix,suffix));
1403 delete c3_3;
1404
1405//-------------------------------------- Likelihood -----------------------------------------------------
1406 c3_4->cd();
1407 if(MCfile == ""){
1408 DrawAutoGammaHisto( ESD_ConvGamma_LikeLihood_data,
1409 "", "Likelihood",StandardYAxis,
1410 kTRUE, 3,0.000001,
1411 kFALSE,0 ,0,
1412 kTRUE, 0,1);
1413 }else{
1414 DrawAutoGammaHistos( ESD_ConvGamma_LikeLihood_data,
1415 ESD_ConvGamma_LikeLihood_montecarlo,
1416 "", "Likelihood",StandardYAxis,
1417 kTRUE, 3,0.000001,
1418 kFALSE,0. ,0.,
1419 kTRUE, 0.,1);
1420 }
1421 DrawAliceLogoPerformance(left_up [0],left_up[1],left_up[2],left_up[3],0.03,Date);
1422
1423 c3_4->Update();
1424 c3_4->SaveAs(Form("%s%s/Photon_Likelihood.%s",path,suffix,suffix));
1425 delete c3_4;
1426
1427// -------------------------------------------------------------------------------------------------
1428 TCanvas * c4_1 = new TCanvas("c4_1","",10,10,500,500); // gives the page size
1429 TCanvas * c4_2 = new TCanvas("c4_2","",10,10,500,500); // gives the page size
1430 TCanvas * c4_3 = new TCanvas("c4_3","",10,10,500,500); // gives the page size
1431 TCanvas * c4_4 = new TCanvas("c4_4","",10,10,500,500); // gives the page size
1432 TCanvas * c4_5 = new TCanvas("c4_5","",10,10,500,500); // gives the page size
1433 TCanvas * c4_6 = new TCanvas("c4_6","",10,10,500,500); // gives the page size
1434
1435
1436 c4_1->SetLogy(1);
1437 c4_2->SetLogy(1);
1438 c4_3->SetLogy(1);
1439 c4_4->SetLogy(1);
1440 c4_5->SetLogy(1);
1441 c4_6->SetLogy(1);
1442
1443//------------------------------------ Photon Momentum -----------------------------------------
1444 c4_1->cd();
1445 if(MCfile == ""){
1446 DrawAutoGammaHisto( ESD_ConvGamma_Pt_data,
1447 "", "p_{t} Conv #gamma [GeV]",StandardYAxis,
1448 kTRUE, 3,0.00000001,
1449 kFALSE,0 ,0,
1450 kTRUE, 0,40.);
1451 }else{
1452 DrawAutoGammaHistos( ESD_ConvGamma_Pt_data,
1453 ESD_ConvGamma_Pt_montecarlo,
1454 "", "p_{t} Conv #gamma [GeV]",StandardYAxis,
1455 kTRUE, 3,0.0000000001,
1456 kFALSE,0. ,0.,
1457 kTRUE, 0.,40.);
1458 }
1459 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1460
1461 c4_1->Update();
1462 c4_1->SaveAs(Form("%s%s/Photon_Pt.%s",path,suffix,suffix));
1463 delete c4_1;
1464
1465//----------------------------------- Photon eta ---------------------------------------------
1466 c4_2->cd();
1467 if(MCfile == ""){
1468 DrawAutoGammaHisto( ESD_ConvGamma_Eta_data,
1469 "", "#eta Conv #gamma",StandardYAxis,
1470 kTRUE, 3,0.001,
1471 kFALSE,0 ,0,
1472 kFALSE, 0,0.7);
1473 }else{
1474 DrawAutoGammaHistos( ESD_ConvGamma_Eta_data,
1475 ESD_ConvGamma_Eta_montecarlo,
1476 "", "#eta Conv #gamma",StandardYAxis,
1477 kTRUE, 3,0.001,
1478 kFALSE,0. ,0.,
1479 kFALSE, 0.,0.7);
1480 }
1481 DrawAliceLogoPerformance(left_up [0],left_up[1],left_up[2],left_up[3],0.03,Date);
1482 c4_2->Update();
1483 c4_2->SaveAs(Form("%s%s/Photon_Eta.%s",path,suffix,suffix));
1484 delete c4_2;
1485
1486//------------------------------------- Photon Mass ----------------------------------------
1487 c4_3->cd();
1488 if(MCfile == ""){
1489 DrawAutoGammaHisto( ESD_ConvGamma_Mass_data,
1490 "", "InvMass e^{+}e^{-} [GeV]",StandardYAxis,
1491 kTRUE, 3,0.000001,
1492 kFALSE,0 ,0,
1493 kTRUE, 0,0.1);
1494 }else{
1495 DrawAutoGammaHistos( ESD_ConvGamma_Mass_data,
1496 ESD_ConvGamma_Mass_montecarlo,
1497 "", "InvMass e^{+}e^{-} [GeV]",StandardYAxis,
1498 kTRUE, 3,0.00000001,
1499 kFALSE,0. ,0.,
1500 kTRUE, 0.,0.15);
1501 }
1502 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1503 c4_3->Update();
1504 c4_3->SaveAs(Form("%s%s/Photon_Mass.%s",path,suffix,suffix));
1505 delete c4_3;
1506
1507//-------------------------------------- Photon Chi2 ----------------------------------------------
1508 c4_4->cd();
1509 if(MCfile == ""){
1510 DrawAutoGammaHisto( ESD_ConvGamma_Chi2_data,
1511 "", "#chi^{2} Conv #gamma",StandardYAxis,
1512 kTRUE, 3,0.000001,
1513 kFALSE,0 ,0,
1514 kFALSE, 0,10.);
1515 }else{
1516 DrawAutoGammaHistos( ESD_ConvGamma_Chi2_data,
1517 ESD_ConvGamma_Chi2_montecarlo,
1518 "", "#chi^{2} Conv #gamma",StandardYAxis,
1519 kTRUE, 3,0.000001,
1520 kFALSE,0. ,0.,
1521 kFALSE, 0.,10.);
1522 }
1523
1524 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1525
1526 c4_4->Update();
1527 c4_4->SaveAs(Form("%s%s/Photon_Chi2.%s",path,suffix,suffix));
1528 delete c4_4;
1529
1530
1531//---------------------------------- Electron Momentum -------------------------------------------
1532 c4_5->cd();
1533 if(MCfile == ""){
1534 DrawAutoGammaHisto( ESD_E_Pt_data,
1535 "", "p_{t} electron [GeV]",StandardYAxis,
1536 kTRUE, 3,0.00000001,
1537 kFALSE,0 ,0,
1538 kTRUE, 0,20.);
1539 }else{
1540 DrawAutoGammaHistos( ESD_E_Pt_data,
1541 ESD_E_Pt_montecarlo,
1542 "", "p_{t} electron [GeV]",StandardYAxis,
1543 kTRUE, 3,0.00000001,
1544 kFALSE,0. ,0.,
1545 kTRUE, 0.,20.);
1546 }
1547 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1548
1549 c4_5->Update();
1550 c4_5->SaveAs(Form("%s%s/Electron_Pt.%s",path,suffix,suffix));
1551 delete c4_5;
1552//---------------------------------- Positron Momentum -------------------------------------------
1553 c4_6->cd();
1554 if(MCfile == ""){
1555 DrawAutoGammaHisto( ESD_P_Pt_data,
1556 "", "p_{t} positron [GeV]",StandardYAxis,
1557 kTRUE, 3,0.00000001,
1558 kFALSE,0 ,0,
1559 kTRUE, 0,20.);
1560 }else{
1561 DrawAutoGammaHistos( ESD_P_Pt_data,
1562 ESD_P_Pt_montecarlo,
1563 "", "p_{t} positron [GeV]",StandardYAxis,
1564 kTRUE, 3,0.00000001,
1565 kFALSE,0. ,0.,
1566 kTRUE, 0.,20.);
1567 }
1568 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1569
1570 c4_6->Update();
1571 c4_6->SaveAs(Form("%s%s/Positron_Pt.%s",path,suffix,suffix));
1572 delete c4_6;
1573
1574
1575 // -----------------------------------------------------------------------------
1576
1577
1578 TCanvas *c5_1 = new TCanvas("c5","",10,10,500,500); // gives the page size
1579
1580
1581 c5_1->cd();
1582 if(MCfile == ""){
1583 DrawAutoGammaHisto( ESD_Mother_InvMass_data,
1584 "", "InvMass #gamma#gamma [GeV]","counts/event scaled by multiplicity",
1585 kTRUE, 1.5,0,
1586 kFALSE,0 ,0,
1587 kFALSE, 0,0);
1588 }else{
1589 DrawAutoGammaHistos( ESD_Mother_InvMass_data,
1590 ESD_Mother_InvMass_montecarlo,
1591 "","InvMass #gamma#gamma [GeV]","counts/event scaled by multiplicity",
1592 kTRUE, 1.5,0,
1593 kFALSE,0. ,0.,
1594 kFALSE, 0.,0.);
1595 }
1596
1597 DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1598 c5_1->Update();
1599 c5_1->SaveAs(Form("%s%s/Mother_InvMass.%s",path,suffix,suffix));
1600 delete c5_1;
1601
1602// ---------------------------------------- Multiplicity Plot ---------------------------------------------------
1603 TCanvas * c6_1 = new TCanvas("c6_1","",10,10,500,500); // gives the page size
1604 c6_1->SetLogy(1);
1605 TText *l = new TText();
1606
1607 c6_1->cd(1);
1608 if(MCfile == ""){
1609 DrawAutoGammaHisto( ESD_NumberOfGoodESDTracks_data,
1610 "","Number good ESDTracks ","",
1611 kTRUE, 3.,0.000001,
1612 kFALSE,0. ,0.,
1613 kFALSE, 0.,100.);
1614 Double_t mean_data = ESD_NumberOfGoodESDTracks_data->GetMean();
1615 l->SetTextAlign(11);
1616 l->SetTextSize(0.03);
1617 l->DrawText(60,0.0002, "Mean Data:");
1618 l->DrawText(80,0.0002, Form("%lg", mean_data));
1619
1620 }else{
1621 DrawAutoGammaHistos( ESD_NumberOfGoodESDTracks_data,
1622 ESD_NumberOfGoodESDTracks_montecarlo,
1623 "","Number good ESDTracks","",
1624 kTRUE, 3.,0.000001,
1625 kFALSE,0. ,0.,
1626 kFALSE, 0.,100.);
1627 Double_t mean_data = ESD_NumberOfGoodESDTracks_data->GetMean();
1628 l->SetTextAlign(11);
1629 l->SetTextSize(0.03);
1630 l->DrawText(60,0.0002, "Mean Data:");
1631 l->DrawText(80,0.0002, Form("%lg", mean_data));
1632
1633 Double_t mean_montecarlo = ESD_NumberOfGoodESDTracks_montecarlo->GetMean();
1634 l->SetTextAlign(11);
1635 l->SetTextColor(2);
1636 l->SetTextSize(0.03);
1637 l->DrawText(60,0.0001, "Mean MC:");
1638 l->DrawText(80,0.0001, Form("%lg", mean_montecarlo));
1639
1640 }
1641 DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1642
1643 c6_1->Update();
1644 c6_1->SaveAs(Form("%s%s/NumberOfGoodESDTracks.%s",path,suffix,suffix));
1645 delete c6_1;
1646
1647//------------------------------------ Projections dEdx -----------------------------------------------------------------
1648 TCanvas * c9 = new TCanvas("c9","",10,10,1400,700); // gives the page size
1649 pad_c9 = new TPad("pad_c9","",0.05,0.05,0.95,0.95,0); // gives the size of the histo areas
1650 pad_c9->SetFillColor(0);
1651 pad_c9->GetFrame()->SetFillColor(0);
1652 pad_c9->SetBorderMode(0);
1653 pad_c9->Divide(2,1);
1654 pad_c9->Draw();
1655
1656 pad_c9->cd(1)->SetLogx(1);
1657 pad_c9->cd(1)->SetLogz(1);
1658 pad_c9->cd(2)->SetLogx(1);
1659 pad_c9->cd(2)->SetLogz(1);
1660
1661 pad_c9->cd(1);
1662 if(MCfile == ""){
1663 ESD_ConvGamma_P_dEdx_Y1_data->Rebin(2);
1664 DrawAutoGammaHisto( ESD_ConvGamma_P_dEdx_Y1_data,
1665 "","dE/dx ",StandardYAxis,
1666 kTRUE, 1.2,0,
1667 kFALSE,0. ,0.,
1668 kTRUE, 50.,100.);
1669 }else{
1670 ESD_ConvGamma_P_dEdx_Y1_data->Rebin(2);
1671 ESD_ConvGamma_P_dEdx_Y1_montecarlo_2->Rebin(2);
1672 DrawAutoGammaHistos( ESD_ConvGamma_P_dEdx_Y1_data,
1673 ESD_ConvGamma_P_dEdx_Y1_montecarlo_2,
1674 "","dE/dx ",StandardYAxis,
1675 kTRUE, 1.2,0,
1676 kFALSE,0. ,0.,
1677 kTRUE, 50.,100.);
1678
1679 }
1680 Scaling->Draw();
1681 DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1682
1683 pad_c9->cd(2);
1684 if(MCfile == ""){
1685 ESD_ConvGamma_P_dEdx_Y2_data->Rebin(2);
1686 DrawAutoGammaHisto( ESD_ConvGamma_P_dEdx_Y2_data,
1687 "","dE/dx ",StandardYAxis,
1688 kTRUE, 1.2,0,
1689 kFALSE,0. ,0.,
1690 kTRUE, 50.,100.);
1691 }else{
1692 ESD_ConvGamma_P_dEdx_Y2_data->Rebin(2);
1693 ESD_ConvGamma_P_dEdx_Y2_montecarlo_2->Rebin(2);
1694 DrawAutoGammaHistos( ESD_ConvGamma_P_dEdx_Y2_data,
1695 ESD_ConvGamma_P_dEdx_Y2_montecarlo_2,
1696 "","dE/dx ",StandardYAxis,
1697 kTRUE, 1.2,0,
1698 kFALSE,0. ,0.,
1699 kTRUE, 50.,100.);
1700 }
1701 Scaling->Draw();
1702 DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1703
1704
1705 c9->Update();
1706 c9->SaveAs(Form("%s%s/ProjectiondEdx.%s",path,suffix,suffix));
1707 delete pad_c9;
1708 delete c9;
1709
1710
1711// ------------------------------- Asymmetry Projections -------------------------------------------------------------
1712 TCanvas * c10 = new TCanvas("c10","",10,10,1400,700); // gives the page size
1713 pad_c10 = new TPad("pad_c2","",0.0,0.0,1,1,0); // gives the size of the histo areas
1714 pad_c10->SetFillColor(0);
1715 pad_c10->GetFrame()->SetFillColor(0);
1716 pad_c10->SetBorderMode(0);
1717 pad_c10->Divide(2,1);
1718 pad_c10->Draw();
1719
1720 leg1 = new TLegend( 0.65,0.87,0.98,0.97);
1721 leg1->SetTextSize(0.025);
1722 leg1->SetFillColor(0);
1723 leg1->AddEntry(ESD_ConvGamma_P_AsymmetryP_Y1_data,("Data"));
1724 leg1->AddEntry(ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo,("MC reconstructed"));
1725 leg1->AddEntry(MC_ConvGamma_P_AsymmetryP_Y1_montecarlo,("MC truth"));
1726
1727 //Asymmetrie in 1st and 3rd bin
1728 pad_c10->cd(1);
1729 pad_c10->cd(1)->SetTopMargin(0.03);
1730 pad_c10->cd(1)->SetBottomMargin(1);
1731 pad_c10->cd(1)->SetRightMargin(0.02);
1732 pad_c10->cd(1)->SetLeftMargin(0.16);
1733 if(MCfile == ""){
1734 DrawAutoGammaHisto( ESD_ConvGamma_P_AsymmetryP_Y1_data,
1735 "", "x = E/k","(X_{0}N_{A}/A)d#sigma_{LPM}/dx",
1736 kTRUE, 2,0,
1737 kFALSE,0. ,0.,
1738 kFALSE, 0.,0.9);
1739
1740 }else{
1741 DrawAutoGammaHistos( ESD_ConvGamma_P_AsymmetryP_Y1_data,
1742 ESD_ConvGamma_P_AsymmetryP_Y1_montecarlo,
1743 "", "x = E/k","(X_{0}N_{A}/A)d#sigma_{LPM}/dx",
1744 kTRUE, 2,0,
1745 kFALSE,0. ,0.,
1746 kFALSE, 0.1,0.9);
1747 MC_ConvGamma_P_AsymmetryP_Y1_montecarlo->SetLineColor(kBlue+1);
1748 MC_ConvGamma_P_AsymmetryP_Y1_montecarlo->Draw("same,hist");
1749// leg1->Draw("same");
1750 }
1751 DrawAliceLogoPerformance(right_up[0]+0.1,right_up[1]+0.17,right_up[2],right_up[3],0.03, Date);
1752
1753 //Asymmetry in other bins
1754 pad_c10->cd(2);
1755 pad_c10->cd(2)->SetTopMargin(0.03);
1756 pad_c10->cd(2)->SetBottomMargin(1);
1757 pad_c10->cd(2)->SetRightMargin(0.02);
1758 pad_c10->cd(2)->SetLeftMargin(0.16);
1759 if(MCfile == ""){
1760 DrawAutoGammaHisto( ESD_ConvGamma_P_AsymmetryP_Y2_data,
1761 "", "x = E/k","(X_{0}N_{A}/A)d#sigma_{LPM}/dx",
1762 kTRUE, 2,0,
1763 kFALSE,0. ,0.,
1764 kFALSE, 0.,1.);
1765 }else{
1766
1767 DrawAutoGammaHistos( ESD_ConvGamma_P_AsymmetryP_Y2_data,
1768 ESD_ConvGamma_P_AsymmetryP_Y2_montecarlo,
1769 "", "x = E/k","(X_{0}N_{A}/A)d#sigma_{LPM}/dx",
1770 kTRUE, 2,0,
1771 kFALSE,0. ,0.,
1772 kFALSE, 0.,1.);
1773 MC_ConvGamma_P_AsymmetryP_Y2_montecarlo->SetLineColor(kBlue+1);
1774 MC_ConvGamma_P_AsymmetryP_Y2_montecarlo->Draw("same,hist");
1775 leg1->Draw("same");
1776 }
1777// DrawAliceLogo(right_up [0],right_up[1],right_up[2],right_up[3]);
1778 c10->Update();
1779 c10->SaveAs(Form("%s%s/ProjectionAsymmetry.%s",path,suffix,suffix));
1780 delete pad_c10;
1781 delete c10;
1782
1783
1784// ---------------------------------------------- Clusters ---------------------------------------------------------
1785 TCanvas * c11 = new TCanvas("c11","",10,10,2000,1400); // gives the page size
1786 pad_c11 = new TPad("pad_c11","",0.0,0.0,1,1,0); // gives the size of the histo areas
1787 pad_c11->SetFillColor(0);
1788 pad_c11->GetFrame()->SetFillColor(0);
1789 pad_c11->SetBorderMode(0);
1790
1791 pad_c11->Divide(2,2);
1792 pad_c11->Draw();
1793
1794 // ITS Clusters Electron
1795 pad_c11->cd(1);
1796 if(MCfile == ""){
1797 DrawAutoGammaHisto( ESD_E_nITSClusters_data,
1798 "", "Number of ITS Clusters for Electron ","Hits/event scaled by multiplicity",
1799 kTRUE, 1.5,0,
1800 kFALSE,0 ,0,
1801 kFALSE, 0,0);
1802 }else{
1803 DrawAutoGammaHistos( ESD_E_nITSClusters_data,
1804 ESD_E_nITSClusters_montecarlo,
1805 "","Number of ITS Clusters for Electron ","Hits/event scaled by multiplicity",
1806 kTRUE, 1.5,0,
1807 kFALSE,0. ,0.,
1808 kFALSE, 0.,0.);
1809 }
1810 DrawAliceLogoPerformance(right_up [0],right_up[1],right_up[2],right_up[3],0.03,Date);
1811 //TPC Clusters Electron
1812 pad_c11->cd(2);
1813 if(MCfile == ""){
1814 DrawAutoGammaHisto( ESD_E_nTPCClusters_data,
1815 "", "Number of TPC Clusters for Electron","Hits/event scaled by multiplicity",
1816 kTRUE, 1.5,0,
1817 kFALSE,0. ,0.,
1818 kFALSE, 0.,0.);
1819 }else{
1820 DrawAutoGammaHistos( ESD_E_nTPCClusters_data,
1821 ESD_E_nTPCClusters_montecarlo,
1822 "","Number of TPC Clusters for Electron ","Hits/event scaled by multiplicity",
1823 kTRUE, 1.5,0,
1824 kFALSE,0. ,0.,
1825 kFALSE, 0.,0.);
1826 }
1827 //ITS Clusters Positron
1828 pad_c11->cd(3);
1829 if(MCfile == ""){
1830 DrawAutoGammaHisto( ESD_P_nITSClusters_data,
1831 "", "Number of ITS Clusters for PositronS","Hits/event scaled by multiplicity",
1832 kTRUE, 1.5, 0,
1833 kFALSE,0. ,0.,
1834 kFALSE, 0.,0.);
1835 }else{
1836 DrawAutoGammaHistos( ESD_P_nITSClusters_data,
1837 ESD_P_nITSClusters_montecarlo,
1838 "","Number of ITS Clusters for Positron","Hits/event scaled by multiplicity",
1839 kTRUE, 1.5, 0,
1840 kFALSE,0. ,0.,
1841 kFALSE, 0.,0.);
1842 }
1843 //TPC Clusters Positron
1844 pad_c11->cd(4);
1845 if(MCfile != ""){
1846 DrawAutoGammaHistos( ESD_P_nTPCClusters_data,
1847 ESD_P_nTPCClusters_montecarlo,
1848 "","Number of TPC Clusters for Positron","Hits/event scaled by multiplicity",
1849 kTRUE, 1.5, 0,
1850 kFALSE,0. ,0.,
1851 kFALSE, 0.,0.);
1852
1853 }else{
1854 DrawAutoGammaHisto( ESD_P_nTPCClusters_data,
1855 "", "Number of TPC Clusters for PositronS","Hits/event scaled by multiplicity",
1856 kTRUE, 1.5, 0,
1857 kFALSE,0. ,0.,
1858 kFALSE, 0.,0.);
1859 }
1860
1861 c11->Update();
1862 c11->SaveAs(Form("%s%s/Clusters.%s",path,suffix,suffix));
1863 delete pad_c11;
1864 delete c11;
1865 //end drawing single Plots
1866 }
1867
1868}
1869