]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/ConfigAsakoLMEEPbPb2011AOD.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / ConfigAsakoLMEEPbPb2011AOD.C
CommitLineData
931f8b00 1//#include "PWGDQ/dielectron/macrosLMEE/LMEECutLib.C"
2
3void InitHistograms(AliDielectron *die, Int_t cutDefinition);
4void InitCF(AliDielectron* die, Int_t cutDefinition);
5void EnableMC();
6
7TString names=("noPairing;TPCTOFCentwidenoRej;TPCTOFSemiCent1noRej;TPCTOFSemiCent2noRej;TPCTOFPerinoRej;TPCTOFCentRP;TPCTOFSemiCent1RP;TPCTOFSemiCent2RP;TPCTOFPeriRP;TPCTOFCentMag;TPCTOFSemiCent1Mag;TPCTOFSemiCent2Mag;TPCTOFPeriMag;TPCTOFCentnoTOF;NoPIDNoPairing;TPCTOFCentnoRej");
8TObjArray *arrNames=names.Tokenize(";");
9const Int_t nDie=arrNames->GetEntries();
10
11Bool_t MCenabled=kFALSE;
12
13
14AliDielectron* ConfigAsakoLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, Bool_t ESDanalysis=kFALSE)
15{
16
17 Int_t selectedPID=-1;
18 Int_t selectedCentrality=-1;
19 Int_t selectedPairCut=-1;
20 // Int_t selectedPairMCut=-1;
21 Bool_t rejectionStep=kFALSE;
22 Bool_t PairCut=kFALSE; //add by asako
23 LMEECutLibAsako* LMCL = new LMEECutLibAsako();
24
25 //
26 // Setup the instance of AliDielectron
27 //
28
29 MCenabled=hasMC;
30 // create the actual framework object
31
32 TString name=Form("%02d",cutDefinition);
33 if ((cutDefinition)<arrNames->GetEntriesFast()){
34 name=arrNames->At((cutDefinition))->GetName();
35 }
36
37 //thisCut only relevant for MC:
38 AliDielectron *die =
39 new AliDielectron(Form
40 ("%s",name.Data()),
41 Form("Track cuts: %s",name.Data()));
42
43
44 //Setup AnalysisSelection:
45 if (cutDefinition==0) {
46 //not yet implemented
47 }
48 else if (cutDefinition==1) {
49 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
50 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
51 rejectionStep = kFALSE;
52 PairCut = kFALSE;
53
54 }
55 else if (cutDefinition==2) {
56 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
57 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
58 rejectionStep = kFALSE;
59 PairCut=kFALSE;
60 }
61 else if (cutDefinition==3) {
62 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
63 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
64 rejectionStep = kFALSE;
65 PairCut=kFALSE;
66 }
67
68 else if (cutDefinition==4) {
69 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
70 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
71 rejectionStep = kFALSE;
72 PairCut=kFALSE;
73 }
74
75 ///////////////////////////////////////////////////////////
76 else if (cutDefinition==5) {
77 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
78 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
79 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
80 //selectedPairMCut = LMEECutLibAsako::kPbPb2011MassAll;
81 rejectionStep = kFALSE;
82 PairCut=kTRUE;
83 }
84 else if (cutDefinition==6) {
85 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
86 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
87 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
88 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
89 rejectionStep = kFALSE;
90 PairCut=kTRUE;
91 }
92 else if (cutDefinition==7) {
93 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
94 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
95 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
96 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
97 rejectionStep = kFALSE;
98 PairCut=kTRUE;
99 }
100 else if (cutDefinition==8) {
101 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
102 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
103 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
104 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
105 rejectionStep = kFALSE;
106 PairCut=kTRUE;
107 }
108
109 /////////////////////////////////////////////////////////
110 else if (cutDefinition==9) {
111 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
112 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
113 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
114 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassAll;
115 rejectionStep = kFALSE;
116 PairCut=kTRUE;
117 }
118
119 else if (cutDefinition==10) {
120 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
121 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
122 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
123 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
124 rejectionStep = kFALSE;
125 PairCut=kTRUE;
126 }
127 else if (cutDefinition==11) {
128 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
129 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
130 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
131 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
132 rejectionStep = kFALSE;
133 PairCut=kTRUE;
134 }
135 else if (cutDefinition==12) {
136 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
137 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
138 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
139 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
140 rejectionStep = kFALSE;
141 PairCut=kTRUE;
142 }
143
144
145
146 ///////////////////////////////////////////////////////
147 else if (cutDefinition==13) {
148 //selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
149 selectedPID = LMEECutLibAsako::kPbPb2011TPC;
150 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
151 rejectionStep = kFALSE;
152 PairCut=kFALSE;
153 }
154 else if (cutDefinition==14) {
155 selectedPID = LMEECutLibAsako::kPbPb2011NoPID;
156 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
157 rejectionStep = kFALSE;
158 PairCut=kFALSE;
159 }
160
161 else if (cutDefinition==15) {
162 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOF;
163 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
164 rejectionStep = kFALSE;
165 PairCut = kFALSE;
166 }
167
168
169 else Semi{
170 cout << " =============================== " << endl;
171 cout << " ==== INVALID CONFIGURATION ==== " << endl;
172 cout << " =============================== " << endl;
173 }
174
175
176 //Now configure task
177
178 //Apply correct Pre-Filter Scheme, if necessary
179 die->SetPreFilterAllSigns();
180
181 //switch off KF PArticle:
182 die->SetUseKF(kFALSE);
183
184 if (selectedPID == LMEECutLibAsako::kPbPb2011NoPID) {
185 die->SetNoPairing();
186 }
187
188 // if (ESDanalysis) {
189 //die->GetTrackFilter().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) );
190 // }
191
192 die->GetEventFilter().AddCuts(LMCL->GetCentralityCuts(selectedCentrality));
193 die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) );
194 die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
195
196 if(PairCut){
197 if (rejectionStep) {
198 die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
199 die->GetPairPreFilter().AddCuts( LMCL->GetPairPreFilterCuts(selectedPairCut));
200 die->GetPairFilter().AddCuts( LMCL->GetPairCuts(selectedPairCut));
201 }
202 else {
203 die->GetPairFilter().AddCuts( LMCL->GetPairCutsInOut(selectedPairCut));
204 // die->GetPairFilter().AddCuts( LMCL->GetPairCuts4(selectedPairMCut));
205 }
206 }
207
208
209
210
211 AliDielectronTrackRotator *rot= 0x0;
212 /*AliDielectronTrackRotator *rot= LMCL->GetTrackRotator(selectedPID);
213 die->SetTrackRotator(rot);
214 */
215 AliDielectronMixingHandler *mix=LMCL->GetMixingHandler(selectedPID);
216 die->SetMixingHandler(mix);
217
218 // histogram setup
219 // only if an AliDielectronHistos object is attached to the
220 // dielectron framework histograms will be filled
221 //
222 InitHistograms(die,cutDefinition);
223
224 // the last definition uses no cuts and only the QA histograms should be filled!
225 // InitCF(die,cutDefinition);
226
227 return die;
228}
229
230//______________________________________________________________________________________
231
232void InitHistograms(AliDielectron *die, Int_t cutDefinition)
233{
234 //
235 // Initialise the histograms
236 //
237
238 //Setup histogram Manager
239 AliDielectronHistos *histos=
240 new AliDielectronHistos(die->GetName(),
241 die->GetTitle());
242 //Initialise histogram classes
243 histos->SetReservedWords("Track;Pair;Pre;RejTrack;RejPair");
244
245 //Event class
246 // if (cutDefinition==nDie-1)
247 histos->AddClass("Event");
248
249 //Track classes
250 //to fill also track info from 2nd event loop until 2
251 for (Int_t i=0; i<2; ++i){
252 histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
253 }
254
255 //Pair classes
256 // to fill also mixed event histograms loop until 10
257 for (Int_t i=0; i<3; ++i){
258 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
259 }
260
261 //ME and track rot
262 if (die->GetMixingHandler()) {
263 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3)));
264 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));
265 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));
266 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7)));
267 }
268 if (die->GetTrackRotator()) {
269 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));
270 }
271
272 //PreFilter Classes
273 //to fill also track info from 2nd event loop until 2
274 for (Int_t i=0; i<2; ++i){
275 histos->AddClass(Form("Pre_%s",AliDielectron::TrackClassName(i)));
276 }
277
278
279 //Create Classes for Rejected Tracks/Pairs:
280 for (Int_t i=0; i<2; ++i){
281 histos->AddClass(Form("RejTrack_%s",AliDielectron::TrackClassName(i)));
282 }
283 for (Int_t i=0; i<3; ++i){
284 histos->AddClass(Form("RejPair_%s",AliDielectron::PairClassName(i)));
285 }
286
287 /*
288 //track rotation
289
290 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
291 histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
292 */
293 //add histograms to event class
294 histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",
295 1,0.,1.,AliDielectronVarManager::kNevents);
296 histos->UserHistogram("Event","Centrality","Centrality;Centrality [%]","0,10,20,40,80,100,101",
297 AliDielectronVarManager::kCentrality);
298 histos->UserHistogram("Event","Centrality2","Centrality;Centrality [%]",100, 0, 100,
299 AliDielectronVarManager::kCentrality);
300
301 histos->UserHistogram("Event","v0ACrpH2","VZERO-AC;v0ACrpH2",
302 100,-2.0,2.0,
303 AliDielectronVarManager::kv0ACrpH2);
304 histos->UserHistogram("Event","v0ArpH2","VZERO-A;v0ArpH2",
305 100,-2.0,2.0,
306 AliDielectronVarManager::kv0ArpH2);
307 histos->UserHistogram("Event","v0CrpH2","VZERO-C;v0CrpH2",
308 100,-2.0,2.0,
309 AliDielectronVarManager::kv0CrpH2);
310 histos->UserHistogram("Event","RadomRP","RandomRP;RandomRP",
311 100,-2.0,2.0,
312 AliDielectronVarManager::kRandomRP);
313
314
315 /* histos->UserHistogram("Event","Corr_v0ACrpH2_old","CORR VZERO-AC RP;#Psi_{2}^{V0A} (rad.);#Psi_{2}^{V0C} (rad.)",
316 100,-2.0,2.0.,100,-2.0,2.0,
317 AliDielectronVarManager::kv0ArpH2,AliDielectronVarManager::kv0CrpH2);
318
319 histos->UserHistogram("Event","v0ACrpH2","VZERO-AC;v0ACrpH2",
320 100,0.,3.15,
321 AliDielectronVarManager::kv0ACrpH2);
322
323 histos->UserHistogram("Event","v0ArpH2","VZERO-A;v0ArpH2",
324 100,0.,3.15,
325 AliDielectronVarManager::kv0ArpH2);
326 histos->UserHistogram("Event","v0CrpH2","VZERO-C;v0CrpH2",
327 100,0.,3.15,
328 AliDielectronVarManager::kv0CrpH2);
329
330 histos->UserHistogram("Event","Corr_v0ACrpH2","CORR VZERO-AC RP;#Psi_{2}^{V0A} (rad.);#Psi_{2}^{V0C} (rad.)",
331 100,0.,3.15.,100,0.,3.15,
332 AliDielectronVarManager::kv0ArpH2,AliDielectronVarManager::kv0CrpH2);
333 */
334 //add histograms to Track classes
335 histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
336 histos->UserHistogram("Track","Px","Px;Px [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPx);
337 histos->UserHistogram("Track","Py","Py;Py [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPy);
338 histos->UserHistogram("Track","Pz","Pz;Pz [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPz);
339
340 // histos->UserHistogram("Track","NclsSFracTPC","NclsSFracTPC; NclsSFracTPC;#tracks",200,0,10.,AliDielectronVarManager::kNclsSFracTPC);
341 // histos->UserHistogram("Track","TPCclsDiff","TPCclsDiff; TPCclsDiff;#tracks",200,0,10.,AliDielectronVarManager::kTPCclsDiff);
342
343 // histos->UserHistogram("Track","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
344 // 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
345
346 // histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
347 // 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
348 /*
349 histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
350 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
351 histos->UserHistogram("Track","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
352 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
353 histos->UserHistogram("Track","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
354 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
355
356 histos->UserHistogram("Track","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
357 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
358 histos->UserHistogram("Track","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
359 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
360
361 histos->UserHistogram("Track","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
362 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
363 histos->UserHistogram("Track","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
364 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
365
366 histos->UserHistogram("Track","TOFbeta","TOF beta;P [GeV];TOF beta;#tracks",
367 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
368
369 */
370 histos->UserHistogram("Track","Eta","Eta; Eta;#tracks",
371 200,-2,2,AliDielectronVarManager::kEta);
372 histos->UserHistogram("Track","Phi","Phi; Phi;#tracks",
373 200,0.,3.15,AliDielectronVarManager::kPhi);
374 /*
375 histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
376 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
377
378 histos->UserHistogram("Track","dXY_dZ","dXY dZ Map; dXY; dZ;#tracks",
379 200,-2,2,200,-2,2.,AliDielectronVarManager::kImpactParXY,AliDielectronVarManager::kImpactParZ);
380
381
382 histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
383 histos->UserHistogram("Track","dZ","dZ;dZ [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParZ);
384
385 histos->UserHistogram("Track","TPCcrossedRowsOverFindable","Number of Crossed Rows TPC over Findable;TPC crossed rows over findable;#tracks",100,0.,1.,AliDielectronVarManager::kNFclsTPCfCross);
386 histos->UserHistogram("Track","TPCcrossedRows","Number of Crossed Rows TPC;TPC crossed rows;#tracks",159,0.,159.,AliDielectronVarManager::kNFclsTPCr);
387
388
389 histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
390 histos->UserHistogram("Track","ITSnCls","Number of Clusters ITS;ITS number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsITS);
391
392 histos->UserHistogram("Track","TPCchi2","TPC Chi2 value;TPC chi2;#tracks",100,0.,10.,AliDielectronVarManager::kTPCchi2Cl);
393 histos->UserHistogram("Track","ITSchi2","ITS Chi2 value;ITS chi2;#tracks",100,0.,10.,AliDielectronVarManager::kITSchi2Cl);
394
395 histos->UserHistogram("Track","TPCnCls_kNFclsTPCr","nTPC vs nTPCr;nTPC vs nTPCr;#tracks",159,0.,159.,159,0.,159.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
396
397 histos->UserHistogram("Track","kNFclsTPCr_pT","nTPCr vs pt;nTPCr vs pt;#tracks",159,0.,159.,200,0.,20.,AliDielectronVarManager::kNFclsTPCr,AliDielectronVarManager::kPt);
398
399 */
400
401 //add histograms to Pair classes
402 histos->UserHistogram("Pair","InvMassAll","Inv.Mass;Inv. Mass [GeV];#pairs",
403 500,0.0,5.00,AliDielectronVarManager::kM);
404 /* histos->UserHistogram("Pair","InvMassLow","Inv.Mass;Inv. Mass [GeV];#pairs",
405 300,0.0,0.03,AliDielectronVarManager::kM);
406 histos->UserHistogram("Pair","InvMassMiddle","Inv.Mass;Inv. Mass [GeV];#pairs",
407 180,0.12,0.3,AliDielectronVarManager::kM);
408 histos->UserHistogram("Pair","InvMassHigh","Inv.Mass;Inv. Mass [GeV];#pairs",
409 200,0.3,0.5,AliDielectronVarManager::kM);
410 */
411
412 histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
413 100,-2.,2.,AliDielectronVarManager::kY);
414 histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
415 100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
416 histos->UserHistogram("Pair","PhivPair","PhiV ;#",
417 100,0.,3.15,AliDielectronVarManager::kPhivPair );
418
419 histos->UserHistogram("Pair","Pt","Pt;Pt [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPt);
420 histos->UserHistogram("Pair","Px","Px;Px [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPx);
421 histos->UserHistogram("Pair","Py","Py;Py [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPy);
422 histos->UserHistogram("Pair","Pz","Pz;Pz [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPz);
423 histos->UserHistogram("Pair","Phi","Phi;Phi[rad];#counts",100,-3.15,3.15,AliDielectronVarManager::kPhi );
424
425
426 histos->UserHistogram("Pair","DeltaPhiv0ArpH2","Phi;Phi[rad];#counts",
427 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ArpH2);
428 histos->UserHistogram("Pair","DeltaPhiv0CrpH2","Phi;Phi[rad];#counts",
429 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0CrpH2);
430 histos->UserHistogram("Pair","DeltaPhiv0ACrpH2","Phi;Phi[rad];#counts",
431 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ACrpH2);
432 histos->UserHistogram("Pair","DeltaPhiRandomRP","Phi;Phi[rad];#counts",
433 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiRandomRP);
434
435
436 histos->UserHistogram("Pair","PairPlaneAngle2C","Phi;Phi[rad];#counts",
437 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle2C);
438 histos->UserHistogram("Pair","PairPlaneAngle3C","Phi;Phi[rad];#counts",
439 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle3C);
440 histos->UserHistogram("Pair","PairPlaneAngle4C","Phi;Phi[rad];#counts",
441 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle4C);
442 histos->UserHistogram("Pair","PairPlaneAngleRan","Phi;Phi[rad];#counts",
443 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle3Ran);
444
445
446
447 //2D Histo Plot
448
449 histos->UserHistogram("Pair","InvMAllPP1C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
450 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle1C);
451 histos->UserHistogram("Pair","InvMLowPP1C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
452 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle1C);
453 histos->UserHistogram("Pair","InvMMiddlePP1C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
454 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle1C);
455 histos->UserHistogram("Pair","InvMHighPP1C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
456 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle1C);
457
458 histos->UserHistogram("Pair","InvMAllPP2C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
459 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle2C);
460 histos->UserHistogram("Pair","InvMLowPP2C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
461 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle2C);
462 histos->UserHistogram("Pair","InvMMiddlePP2C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
463 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle2C);
464 histos->UserHistogram("Pair","InvMHighPP2C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
465 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle2C);
466
467 histos->UserHistogram("Pair","InvMAllPP3C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
468 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3C);
469 histos->UserHistogram("Pair","InvMLowPP3C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
470 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3C);
471 histos->UserHistogram("Pair","InvMMiddlePP3C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
472 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3C);
473 histos->UserHistogram("Pair","InvMHighPP3C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
474 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3C);
475
476 histos->UserHistogram("Pair","InvMAllPP4C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
477 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle4C);
478 histos->UserHistogram("Pair","InvMLowPP4C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
479 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle4C);
480 histos->UserHistogram("Pair","InvMMiddlePP4C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
481 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle4C);
482 histos->UserHistogram("Pair","InvMHighPP4C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
483 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle4C);
484 /*
485 histos->UserHistogram("Pair","InvMAllPP3Ran","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
486 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3Ran);
487 histos->UserHistogram("Pair","InvMLowPP3Ran","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
488 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3Ran);
489 histos->UserHistogram("Pair","InvMMiddlePP3Ran","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
490 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3Ran);
491 histos->UserHistogram("Pair","InvMHighPP3Ran","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",
492 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3Ran);
493 */
494
495
496
497 //add histograms to Track classes
498 /* histos->UserHistogram("Pre","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
499
500 histos->UserHistogram("Pre","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
501 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
502
503 histos->UserHistogram("Pre","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
504 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
505
506
507 histos->UserHistogram("Pre","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
508 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
509 histos->UserHistogram("Pre","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
510 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
511 histos->UserHistogram("Pre","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
512 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
513
514 histos->UserHistogram("Pre","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
515 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
516 histos->UserHistogram("Pre","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
517 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
518
519 histos->UserHistogram("Pre","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
520 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
521 histos->UserHistogram("Pre","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
522 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
523
524 histos->UserHistogram("Pre","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
525 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
526
527 histos->UserHistogram("Pre","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
528
529 histos->UserHistogram("Pre","ZVertex ","ZVertex ;ZVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kZv);
530 histos->UserHistogram("Pre","XVertex ","XVertex ;XVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kXv);
531 histos->UserHistogram("Pre","YVertex ","YVertex ;YVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kYv);
532
533 histos->UserHistogram("Pre","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
534 */
535 //add histograms to Pair classes For Rejected Pairs:
536 die->SetHistogramManager(histos);
537}
538
539void InitCF(AliDielectron* die, Int_t cutDefinition)
540{
541 //
542 // Setupd the CF Manager if needed
543 //
544 AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
545
546 //pair variables
547 cf->AddVariable(AliDielectronVarManager::kP,200,0,20);
548 // cf->AddVariable(AliDielectronVarManager::kPt,200,0,20);// added
549 cf->AddVariable(AliDielectronVarManager::kM,201,-0.01,4.01); //20Mev Steps
550 //cf->AddVariable(AliDielectronVarManager::kM, 1000,0,5.00); //5Mev Steps
551 cf->AddVariable(AliDielectronVarManager::kPairType,10,0,10);
552 //cf->AddVariable(AliDielectronVarManager::kCentrality,100, 0, 100);
553
554
555 cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,10.0,30.0,40.0,60.,80.,100.");
556
557 //leg variables
558 cf->AddVariable(AliDielectronVarManager::kP,200,0.,20.,kTRUE);
559 cf->AddVariable(AliDielectronVarManager::kITSsignal,1000,0.0.,1000.,kTRUE);
560 cf->AddVariable(AliDielectronVarManager::kTPCsignal,500,0.0.,500.,kTRUE);
561 cf->AddVariable(AliDielectronVarManager::kHaveSameMother,21,-10,10,kTRUE);
562
563 //only in this case write MC truth info
564 if (MCenabled) {
565 cf->SetStepForMCtruth();
566 cf->SetStepsForMCtruthOnly();
567 cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
568 cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
569 }
570
571 cf->SetStepsForSignal();
572 die->SetCFManagerPair(cf);
573}
574
575//--------------------------------------
576void EnableMC() {
577 MCenabled=kTRUE;
578}
579
580
581