]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Nuclei/B2/macros/CreateHistograms.C
add mult. priors and histograms
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / B2 / macros / CreateHistograms.C
CommitLineData
6b91e8c0 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16// macro for creating histograms
17// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>
18
19AliLnHistoMap* CreateHistograms(const TString& species, Bool_t simulation, Double_t maxDCAxy, Double_t maxEta, Double_t maxY, Bool_t heavyIons)
20{
21//
22// Define an create the histograms for the analysis
23//
24 AliLnHistoMap* hMap = new AliLnHistoMap();
25
26 Int_t A = 1;
27 if(species == "Deuteron") A = 2;
28 else if(species == "Triton") A = 3;
29 else if(species == "He3") A = 3;
30 else if(species == "Alpha") A = 4;
31
ec499c6d 32 TString particle[] = { Form("Anti%s",species.Data()), species };
33
6b91e8c0 34 // pt
35 Int_t ptBins = 100;
36 Double_t ptMin = 0.*A;
37 Double_t ptMax = 10.*A;
38
39 // eta and rapidity
40 Int_t etaBins = 300;
41 Double_t etaMin = -1.5;
42 Double_t etaMax = 1.5;
43
44 // phi
45 Int_t phiBins = 180;
46 Double_t phiMin = 0.;
47 Double_t phiMax = 2.*TMath::Pi();
48
49 // DCA distribution bin width = 0.001 cm
50 Int_t dcaxyBins = 2.*maxDCAxy/0.001;
51 Double_t dcaxyMin = -maxDCAxy;
52 Double_t dcaxyMax = maxDCAxy;
53
54 Int_t dcazBins = 1300;
55 Double_t dcazMin = -3.25;
56 Double_t dcazMax = 3.25;
57
58 // m2 bins
77dac0a6 59 Int_t m2Bins = 400;
6b91e8c0 60 Double_t m2Min = 0;
77dac0a6 61 Double_t m2Max = 20;
6b91e8c0 62
63 // track multiplicity
64 Int_t ntrkBins = 200;
65 Double_t ntrkMin = 0;
66 Double_t ntrkMax = 200;
67
68 if(heavyIons)
69 {
70 ntrkBins = 2000;
71 ntrkMin = 0;
72 ntrkMax = 2000;
73 }
74
ec499c6d 75 // ITS and TPC dE/dx
76 Int_t dEdxBins = 3000;
77 Double_t mindEdx = 0.001;
78 Double_t maxdEdx = 3000.001;
79
6b91e8c0 80 // stats
81
82 TH1D* hStats = new TH1D(species + "_Stats", "Stats", 8, 0, 8);
83
84 hStats->GetXaxis()->SetBinLabel(1,"Events");
85 hStats->GetXaxis()->SetBinLabel(2,"Trig");
86 hStats->GetXaxis()->SetBinLabel(3,"Ana");
87 hStats->GetXaxis()->SetBinLabel(4,"Vtx");
88 hStats->GetXaxis()->SetBinLabel(5,"Vz");
89 hStats->GetXaxis()->SetBinLabel(6,"Vxy");
90 hStats->GetXaxis()->SetBinLabel(7,"VertexerZ");
91 hStats->GetXaxis()->SetBinLabel(8,"NoPileUp");
92
93 hStats->SetStats(0);
94 hMap->Add( species + "_Stats", (TObject*)hStats);
95
96 if(simulation)
97 {
98 // PID table
99
100 TH2D* hPidTable = new TH2D(species + "_Stats_PID_Table", "Particle table (Row: PID, Col: MC)", 10,0,10,10,0,10);
101
102 hPidTable->GetXaxis()->SetBinLabel(1,"e");
103 hPidTable->GetXaxis()->SetBinLabel(2,"#mu");
104 hPidTable->GetXaxis()->SetBinLabel(3,"#pi");
105 hPidTable->GetXaxis()->SetBinLabel(4,"K");
106 hPidTable->GetXaxis()->SetBinLabel(5,"p");
107 hPidTable->GetXaxis()->SetBinLabel(6,"d");
108 hPidTable->GetXaxis()->SetBinLabel(7,"t");
109 hPidTable->GetXaxis()->SetBinLabel(8,"h");
110 hPidTable->GetXaxis()->SetBinLabel(9,"#alpha");
111 hPidTable->GetXaxis()->SetBinLabel(10,"sum");
112
113 hPidTable->GetYaxis()->SetBinLabel(1,"e");
114 hPidTable->GetYaxis()->SetBinLabel(2,"#mu");
115 hPidTable->GetYaxis()->SetBinLabel(3,"#pi");
116 hPidTable->GetYaxis()->SetBinLabel(4,"K");
117 hPidTable->GetYaxis()->SetBinLabel(5,"p");
118 hPidTable->GetYaxis()->SetBinLabel(6,"d");
119 hPidTable->GetYaxis()->SetBinLabel(7,"t");
120 hPidTable->GetYaxis()->SetBinLabel(8,"h");
121 hPidTable->GetYaxis()->SetBinLabel(9,"#alpha");
122 hPidTable->GetYaxis()->SetBinLabel(10,"sum");
123
124 hPidTable->SetStats(0);
125 hMap->Add( species + "_Stats_PID_Table", (TObject*)hPidTable);
126 }
127
128 TH1D* hStatsPid = new TH1D(species + "_Stats_PID", "Stats PID", 9, 0, 9);
129 hStatsPid->GetXaxis()->SetBinLabel(1,"e");
130 hStatsPid->GetXaxis()->SetBinLabel(2,"\\mu");
131 hStatsPid->GetXaxis()->SetBinLabel(3,"\\pi");
132 hStatsPid->GetXaxis()->SetBinLabel(4,"K");
133 hStatsPid->GetXaxis()->SetBinLabel(5,"p");
134 hStatsPid->GetXaxis()->SetBinLabel(6,"d");
135 hStatsPid->GetXaxis()->SetBinLabel(7,"t");
136 hStatsPid->GetXaxis()->SetBinLabel(8,"h");
137 hStatsPid->GetXaxis()->SetBinLabel(9,"\\alpha");
138 hStatsPid->SetStats(0);
139 hMap->Add( species + "_Stats_PID", (TObject*)hStatsPid);
140
6b91e8c0 141 // multiplicity
142
68a84436 143 hMap->Add( species + "_Event_Ntrk", ntrkBins, ntrkMin, ntrkMax, Form("Track multiplicity (all events, |#eta|< %.1f)",maxEta), "N_{trk}", "Events");
144 hMap->Add( species + "_Ana_Event_Ntrk", ntrkBins, ntrkMin, ntrkMax, Form("Track multiplicity (|#eta|< %.1f)", maxEta), "N_{trk}", "Events");
6b91e8c0 145
ec499c6d 146 for(Int_t i=0; i<2; ++i)
147 {
68a84436 148 hMap->Add( particle[i] + "_PID_Ntrk_pTPC", ptBins, ptMin, ptMax, ntrkBins, ntrkMin, ntrkMax, particle[i] + " candidates " + Form("(|#eta|< %.1f)", maxEta), "p_{TPC}/Z (GeV/c)", "N_{trk}");
ec499c6d 149
68a84436 150 hMap->Add( particle[i] + "_PID_Zmult_pTPC", ptBins, ptMin, ptMax, 400, 0, 20, particle[i] + " candidates " + Form("(|#eta|< %.1f)", maxEta), "p_{TPC}/Z (GeV/c)", "z_{mult}");
ec499c6d 151
152 if(simulation)
153 {
68a84436 154 hMap->Add( particle[i] + "_Gen_Nch", ntrkBins, ntrkMin, ntrkMax, Form("Primary %ss (|#eta|< %.1f)", particle[i].Data(), maxEta), "N_{ch}");
ec499c6d 155
68a84436 156 hMap->Add( particle[i] + "_Sim_Ntrk", ntrkBins, ntrkMin, ntrkMax, particle[i] + Form("s (|#eta|< %.1f)", maxEta), "N_{trk}");
ec499c6d 157 }
158 }
159
6b91e8c0 160 if(simulation)
161 {
68a84436 162 hMap->Add( species + "_Ana_Event_Nch_Ntrk", 200, 0., 200., 200, 0., 200., Form("Track multiplicity (|#eta|< %.1f)", maxEta), "N_{trk}", "N_{ch}");
6b91e8c0 163 }
164
165 hMap->Add( species + "_Vertex_XZ", 500, -50., 50., 800, -1., 1., "Primary Vertex", "Z (cm)", "X (cm)");
166 hMap->Add( species + "_Vertex_YZ", 500, -50., 50., 800, -1., 1., "Primary Vertex", "Z (cm)", "Y (cm)");
167 hMap->Add( species + "_Vertex_YX", 800, -1., 1., 800, -1., 1., "Primary Vertex", "X (cm)", "Y (cm)");
168
169 hMap->Add( species + "_Ana_Vertex_XZ", 500, -50., 50., 800, -1., 1., "Primary Vertex", "Z (cm)", "X (cm)");
170 hMap->Add( species + "_Ana_Vertex_YZ", 500, -50., 50., 800, -1., 1., "Primary Vertex", "Z (cm)", "Y (cm)");
171 hMap->Add( species + "_Ana_Vertex_YX", 800, -1., 1., 800, -1., 1., "Primary Vertex", "X (cm)", "Y (cm)");
172
173 if(heavyIons)
174 {
175 hMap->Add( species + "_V0_Mult", 1000, 0, 100000., "Corrected V0 Multiplicity", "V0M", "Events");
176 hMap->Add( species + "_V0_Scaled_Mult", 1000, 0, 10000., "Corrected Scaled V0 Multiplicity", "V0SM", "Events");
177
178 hMap->Add( species + "_Ana_V0_Mult", 1000, 0, 100000., "Corrected V0 Multiplicity (after centrality sel.)", "V0M", "Events");
179 hMap->Add( species + "_Ana_V0_Scaled_Mult", 1000, 0, 10000., "Corrected Scaled V0 Multiplicity (after centrality sel.)", "V0SM", "Events");
180 }
181
182 // positive and negative
183
ec499c6d 184 Bool_t logx = 1;
185 Bool_t logy = 1;
6b91e8c0 186
187 for(Int_t i=0; i<2; ++i)
188 {
ec499c6d 189 // detector signals
190
191 hMap->Add( particle[i] + "_ITS_dEdx_P", 1000, 0.001, 10.001, dEdxBins, mindEdx, maxdEdx, "", "p/Z (GeV/c)", "dE/dx",logx,logy);
192 hMap->Add( particle[i] + "_TPC_dEdx_P", 1000, 0.001, 10.001, dEdxBins, mindEdx, maxdEdx, "", "p_{TPC}/Z (GeV/c)", "dE/dx",logx,logy);
193 hMap->Add( particle[i] + "_TOF_Beta_P", 1000, 0.001, 10.001, 1200, 0.001, 1.2, "", "p_{TOF}/Z (GeV/c)", "#beta",logx,logy);
194
195 hMap->Add( particle[i] + "_TOF_Mass_P", 1000, 0.001, 10.001, 500, 0.01, 5., "", "p_{TOF}/Z (GeV/c)", "Mass (GeV/c^{2})");
196
197 // TrackCuts
198
199 hMap->Add( particle[i] + "_TrackCuts_DCAxy", 200, -4, 4, "Track cuts", "DCA_{xy} (cm)");
200 hMap->Add( particle[i] + "_TrackCuts_DCAz", 200, -6, 6, "Track cuts", "DCA_{z} (cm)");
201 hMap->Add( particle[i] + "_TrackCuts_NSigma", 200, 0, 10, "Track cuts", "N_{#sigma}");
202
203 hMap->Add( particle[i] + "_TrackCuts_ITSchi2PerCls", 200, 0, 40, "Track cuts", "ITS #chi^{2} / Cluster");
204
205 hMap->Add( particle[i] + "_TrackCuts_TPCncls", 200, 0, 200, "Track cuts", "TPC clusters");
206 hMap->Add( particle[i] + "_TrackCuts_TPCclsOverF", 200, 0, 2, "Track cuts", "TPC clusters/Findable");
207 hMap->Add( particle[i] + "_TrackCuts_TPCxRows", 200, 0, 200, "Track cuts", "TPC crossed rows");
208 hMap->Add( particle[i] + "_TrackCuts_TPCchi2PerCls", 200, 0, 20, "Track cuts", "TPC #chi^{2} / Cluster");
209 hMap->Add( particle[i] + "_TrackCuts_TPCchi2Global", 200, -2, 38, "Track cuts", "#chi^{2} of constrained TPC vs global track");
210
052278a6 211 hMap->Add( particle[i] + "_Before_Phi_Eta", 400, -2, 2, 360, 0, 2.*TMath::Pi(), "Global tracks (before track cuts)", "#eta", "#phi (rad)");
ec499c6d 212
052278a6 213 hMap->Add( particle[i] + "_After_Phi_Eta", 400, -2, 2, 360, 0, 2.*TMath::Pi(), "Global tracks (after track cuts)", "#eta", "#phi (rad)");
ec499c6d 214
7421dabb 215 // TRD and TOF absorption
216
217 hMap->Add( particle[i] + "_PID_TRDin_Pt", ptBins, ptMin, ptMax, Form("%s candidates (TRDin)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
218
219 hMap->Add( particle[i] + "_PID_TOFin_Pt", ptBins, ptMin, ptMax, Form("%s candidates (TOFin)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
220
221 hMap->Add( particle[i] + "_PID_TRDin_TRDout_Pt", ptBins, ptMin, ptMax, Form("%s candidates (TRDin-TRDout)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
222
223 hMap->Add( particle[i] + "_PID_TRDin_TOFout_Pt", ptBins, ptMin, ptMax, Form("%s candidates (TRDin-TOFout)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
224
225 hMap->Add( particle[i] + "_PID_TOFin_TOFout_Pt", ptBins, ptMin, ptMax, Form("%s candidates (TOFin-TOFout)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
226
227
6b91e8c0 228 // pid with TOF
229
ec499c6d 230 hMap->Add( particle[i] + "_PID_M2_Pt", ptBins, ptMin, ptMax, m2Bins, m2Min, m2Max, particle[i] + " candidates", "p_{T} (GeV/c)", "m^{2} (GeV^{2}/c^{4})");
6b91e8c0 231
232 // as a function of momentum
ec499c6d 233 hMap->Add( particle[i] + "_PID_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, particle[i] + " candidates", "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
6b91e8c0 234
ec499c6d 235 hMap->Add( particle[i] + "_PID_DCAz_Pt", ptBins, ptMin, ptMax, dcazBins, dcazMin, dcazMax, particle[i] + " candidates", "p_{T} (GeV/c)", "sign #times DCA_{z} (cm)");
6b91e8c0 236
ec499c6d 237 hMap->Add( particle[i] + "_PID_NSigma_Pt", ptBins, ptMin, ptMax, 200, 0., 10., particle[i] + " candidates", "p_{T} (GeV/c)", "N\\sigma");
6b91e8c0 238
239 if(simulation)
240 {
241 hMap->Add( particle[i] + "_Sim_PID_M2_Pt", ptBins, ptMin, ptMax, m2Bins, m2Min, m2Max, Form("%s after PID", particle[i].Data()), "p_{T} (GeV/c)", "m^{2} (GeV^{2}/c^{4})");
242
243 hMap->Add( particle[i] + "_Sim_Prim_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Primary %s", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
244
245 hMap->Add( particle[i] + "_Sim_Fdwn_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Feed-down %s", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
246
247 hMap->Add( particle[i] + "_Sim_Mat_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("%s from materials", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
248
249 // primaries
250 hMap->Add( particle[i] + "_Sim_PID_Prim_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Primary %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
251
252 hMap->Add( particle[i] + "_Sim_PID_Prim_DCAz_Pt", ptBins, ptMin, ptMax, dcazBins, dcazMin, dcazMax, Form("Primary %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{z} (cm)");
253
254 hMap->Add( particle[i] + "_Sim_PID_Prim_NSigma_Pt", ptBins, ptMin, ptMax, 200, 0., 10., Form("Primary %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "N\\sigma");
255
256 // feed-down
257 hMap->Add( particle[i] + "_Sim_PID_Fdwn_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Feed-down %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
258
259 hMap->Add( particle[i] + "_Sim_PID_Fdwn_DCAz_Pt", ptBins, ptMin, ptMax, dcazBins, dcazMin, dcazMax, Form("Feed-down %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{z} (cm)");
260
261 hMap->Add( particle[i] + "_Sim_PID_Fdwn_NSigma_Pt", ptBins, ptMin, ptMax, 200, 0., 10., Form("Feed-down %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "N\\sigma");
262
263 // secondaries from materials
264 hMap->Add( particle[i] + "_Sim_PID_Mat_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("%s from materials after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
265
266 hMap->Add( particle[i] + "_Sim_PID_Mat_DCAz_Pt", ptBins, ptMin, ptMax, dcazBins, dcazMin, dcazMax, Form("%s from materials after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{z} (cm)");
267
268 hMap->Add( particle[i] + "_Sim_PID_Mat_NSigma_Pt", ptBins, ptMin, ptMax, 200, 0., 10., Form("%s from materials after PID", particle[i].Data()), "p_{T} (GeV/c)", "N\\sigma");
269
270 // fake tracks
271 hMap->Add( particle[i] + "_Sim_PID_Fake_Prim_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Fake Primary %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
272
273 hMap->Add( particle[i] + "_Sim_PID_Fake_Fdwn_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Fake feed-down %s after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
274
275 hMap->Add( particle[i] + "_Sim_PID_Fake_Mat_DCAxy_Pt", ptBins, ptMin, ptMax, dcaxyBins, dcaxyMin, dcaxyMax, Form("Fake %s from materials after PID", particle[i].Data()), "p_{T} (GeV/c)", "sign #times DCA_{xy} (cm)");
276 }
277
278 // identification
279
ec499c6d 280 hMap->Add( particle[i] + "_PID_ITSdEdx_P", 1000, 0.001, 10.001, 1500, mindEdx, maxdEdx, particle[i] + " candidates", "p/Z (GeV/c)", "dE/dx",logx,logy);
6b91e8c0 281
ec499c6d 282 hMap->Add( particle[i] + "_PID_TPCdEdx_P", 1000, 0.001, 10.001, 1500, mindEdx, maxdEdx, particle[i] + " candidates", "p_{TPC}/Z (GeV/c)", "dE/dx",logx,logy);
6b91e8c0 283
ec499c6d 284 hMap->Add( particle[i] + "_PID_Beta_P", 1000, 0.001, 10.001, 1200, 1.e-3, 1.2, particle[i] + " candidates", "p_{TOF}/Z (GeV/c)", "\\beta",logx,logy);
6b91e8c0 285
ec499c6d 286 hMap->Add( particle[i] + "_PID_Mass_P", 1000, 0.001, 10.001, 500, 0.01, 5., particle[i] + " candidates", "p_{TOF}/Z (GeV/c)", "m (GeV/c^{2})");
6b91e8c0 287
288 if(simulation)
289 {
290 hMap->Add( particle[i] + "_Sim_PID_Mass", 500, 0.01, 5., Form("%s after PID", particle[i].Data()), "m (GeV/c^{2})");
291 }
292
293 // results
294
ec499c6d 295 hMap->Add( particle[i] + "_PID_Pt_Y", etaBins, etaMin, etaMax, ptBins, ptMin, ptMax, particle[i] + " candidates", "y", "p_{T} (GeV/c)");
6b91e8c0 296
ec499c6d 297 hMap->Add( particle[i] + "_PID_Pt", ptBins, ptMin, ptMax, Form("%s candidates (|y| < %0.1f, 0 < \\phi < 2\\pi)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
6b91e8c0 298
7421dabb 299 hMap->Add( particle[i] + "_PID_TOFmatch_Pt", ptBins, ptMin, ptMax, Form("%s candidates (|y| < %0.1f, TOFmatch)", particle[i].Data(),maxY), "p_{T} (GeV/c)");
300
ec499c6d 301 hMap->Add( Form("%s_PID_Y",particle[i].Data()), etaBins, etaMin, etaMax, Form("%s candidates (p_{T} > 0, 0 < \\phi < 2\\pi)",particle[i].Data()), "y");
6b91e8c0 302
ec499c6d 303 hMap->Add( particle[i] + "_PID_Phi", phiBins, phiMin, phiMax, Form("%s candidates (p_{T} > 0, |y| < %0.1f)",particle[i].Data(),maxY), "\\phi (rad)");
6b91e8c0 304
305 if(simulation)
306 {
307 hMap->Add( particle[i] + "_Sim_Pt", ptBins, ptMin, ptMax, Form("%s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
308
309 hMap->Add( particle[i] + "_Sim_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
052278a6 310
311 hMap->Add( particle[i] + "_Sim_Prim_Rec_Pt", ptBins, ptMin, ptMax, Form("Primary %s (|y| < %0.1f, 0 < \\phi < 2\\pi, rec. pt)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
6b91e8c0 312
313 hMap->Add( particle[i] + "_Sim_Prim_Phi", phiBins, phiMin, phiMax, Form("Primary %s (p_{T} > 0, |y| < %0.1f)",particle[i].Data(),maxY), "\\phi (rad)");
314
315 hMap->Add( particle[i] + "_Sim_Prim_Y", etaBins, etaMin, etaMax, Form("Primary %s (p_{T} > 0, 0 < \\phi < 2\\pi)",particle[i].Data()), "y");
316
317 hMap->Add( particle[i] + "_Sim_Fdwn_Pt", ptBins, ptMin, ptMax, Form("Feed-down %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
318
319 hMap->Add( particle[i] + "_Sim_Mat_Pt", ptBins, ptMin, ptMax, Form("%s from materials (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
320
321 hMap->Add( particle[i] + "_Sim_PID_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s after PID (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
322
323 hMap->Add( particle[i] + "_Sim_PID_Pt", ptBins, ptMin, ptMax, Form("%s after PID (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
324
325 hMap->Add( particle[i] + "_Sim_PID_Prim_R", 200, 0., 200., Form("%s after PID (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "R_{xyz} (cm)");
326
327 hMap->Add( particle[i] + "_Sim_PtY", etaBins, etaMin, etaMax, ptBins, ptMin, ptMax, particle[i].Data(), "y", "p_{T} (GeV/c)");
328
329 hMap->Add( particle[i] + "_Sim_Prim_M2_P", ptBins, ptMin, ptMax, m2Bins, m2Min, m2Max, Form("Primary %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p (GeV/c)", "m^{2} (GeV^{2}/c^{4})");
330
77dac0a6 331 hMap->Add( particle[i] + "_Sim_Prim_M2_Pt", ptBins, ptMin, ptMax, m2Bins, m2Min, m2Max, Form("Primary %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)", "m^{2} (GeV^{2}/c^{4})");
6b91e8c0 332
333 // unfolding
334
335 hMap->Add( particle[i] + "_Response_Matrix", ptBins, ptMin, ptMax, ptBins, ptMin, ptMax, particle[i].Data(), "Measured p_{T} (GeV/c)", "True p_{T} (GeV/c)");
336
337 hMap->Add( particle[i] + "_Prim_Response_Matrix", ptBins, ptMin, ptMax, ptBins, ptMin, ptMax, Form("Primary %s",particle[i].Data()), "Measured p_{T} (GeV/c)", "True p_{T} (GeV/c)");
338
339 hMap->Add( particle[i] + "_Prim_DiffPt_RecPt", ptBins, ptMin, ptMax, 1000, -0.5, 0.5, Form("Primary %s",particle[i].Data()), "p_{T}^{rec} (GeV/c)", "p_{T}^{gen}-p_{T}^{rec} (GeV/c)");
340
341 // fake tracks
342 hMap->Add( particle[i] + "_Sim_Fake_Pt", ptBins, ptMin, ptMax, Form("Fake %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
343
344 hMap->Add( particle[i] + "_Sim_Fake_Prim_Pt", ptBins, ptMin, ptMax, Form("Fake Primary %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
345
346 hMap->Add( particle[i] + "_Sim_Fake_Fdwn_Pt", ptBins, ptMin, ptMax, Form("Fake Feed-down %s (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
347
348 hMap->Add( particle[i] + "_Sim_Fake_Mat_Pt", ptBins, ptMin, ptMax, Form("Fake %s from materials (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
349
350 hMap->Add( particle[i] + "_Sim_PID_Fake_Pt", ptBins, ptMin, ptMax, Form("Fake %s after PID (|y| < %0.1f, 0 < \\phi < 2\\pi)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
351 }
352 }
353
354 // generation
355
356 if(simulation)
357 {
77dac0a6 358 for(Int_t i=0; i<2; ++i)
6b91e8c0 359 {
360 hMap->Add( particle[i] + "_Gen_Prim_P", ptBins, ptMin, ptMax, Form("Primary %s", particle[i].Data()), "p (GeV/c)");
361
362 hMap->Add( particle[i] + "_Gen_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s", particle[i].Data()), "p_{T} (GeV/c)");
363
364 hMap->Add( particle[i] + "_Gen_Prim_Y", 600, -12, 12, Form("Primary %s", particle[i].Data()), "y");
365
366 hMap->Add( particle[i] + "_Gen_Prim_Eta", 600, -12, 12, Form("Primary %s", particle[i].Data()), "#eta");
367
368 hMap->Add( particle[i] + "_Gen_Prim_Phi", phiBins, phiMin, phiMax, Form("Primary %s", particle[i].Data()), "\\phi (rad)");
369
370 hMap->Add( particle[i] + "_Gen_Prim_PtY", etaBins, etaMin, etaMax, ptBins, ptMin, ptMax, Form("Primary %s", particle[i].Data()), "y", "p_{T} (GeV/c)");
371
372 hMap->Add( particle[i] + "_Gen_Prim_EtaY", etaBins, etaMin, etaMax, etaBins, etaMin, etaMax, Form("Primary %s", particle[i].Data()), "y", "#eta");
373
6b91e8c0 374 // in the phase space within the acceptance
375
ec499c6d 376 hMap->Add( particle[i] + "_Gen_PhS_Prim_P", ptBins, ptMin, ptMax, Form("Primary %s (mult. events, |y| < %0.1f)",particle[i].Data(),maxY), "p (GeV/c)");
377
378 hMap->Add( particle[i] + "_Gen_PhS_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (mult. events, |y| < %0.1f)",particle[i].Data(),maxY), "p_{T} (GeV/c)");
6b91e8c0 379
f4d6dd11 380 hMap->Add( particle[i] + "_Gen_Trig_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (triggering events, |y| < %0.1f)", particle[i].Data(), maxY), "p_{T} (GeV/c)");
6b91e8c0 381
382 hMap->Add( particle[i] + "_Gen_Vtx_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (good vertex, |y| < %0.1f)", particle[i].Data(), maxY), "p_{T} (GeV/c)");
383
f4d6dd11 384 hMap->Add( particle[i] + "_Gen_NoTrig_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (non-triggering events, |y| < %0.1f)", particle[i].Data(), maxY), "p_{T} (GeV/c)");
6b91e8c0 385
386 hMap->Add( particle[i] + "_Gen_NoVtx_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (no reconstructed vertex, |y| < %0.1f)", particle[i].Data(), maxY), "p_{T} (GeV/c)");
387
388 // within the acceptance
389
390 hMap->Add( particle[i] + "_Gen_Acc_Prim_P", ptBins, ptMin, ptMax, Form("Primary %s (|y| < %0.1f and |\\eta| < %0.1f)",particle[i].Data(),maxY,maxEta), "p (GeV/c)");
391
392 hMap->Add( particle[i] + "_Gen_Acc_Prim_Pt", ptBins, ptMin, ptMax, Form("Primary %s (|y| < %0.1f and |\\eta| < %0.1f)",particle[i].Data(),maxY,maxEta), "p_{T} (GeV/c)");
393
394 hMap->Add( particle[i] + "_Gen_Acc_Prim_Y", etaBins, etaMin, etaMax, Form("Primary %s (|\\eta| < %0.1f)",particle[i].Data(),maxEta), "y");
395
396 hMap->Add( particle[i] + "_Gen_Acc_Prim_Phi", phiBins, phiMin, phiMax, Form("Primary %s (|y|< %0.1f and |\\eta| < %0.1f)",particle[i].Data(),maxY,maxEta), "\\phi (rad)");
397
398 hMap->Add( particle[i] + "_Gen_Acc_Prim_PtY", etaBins, etaMin, etaMax, ptBins, ptMin, ptMax, Form("Primary %s",particle[i].Data()), "y", "p_{T} (GeV/c)");
399 }
400 }
401
402 return hMap;
403}