]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | extern TRandom *gRandom; | |
16 | extern TBenchmark *gBenchmark; | |
17 | extern TSystem *gSystem; | |
18 | ||
19 | void 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) { | |
449 | ps_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 |