]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/ConfigLowMassDiEOezdemir.C
Merge remote-tracking branch 'origin/master' into flatdev
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / ConfigLowMassDiEOezdemir.C
Content-type: text/html ]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/ConfigLowMassDiEOezdemir.C


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 5) line 1, <$fd> line 936.
CommitLineData
7cab7ab5 1
2 void InitHistograms(AliDielectron *die, Int_t cutDefinition);
3 void InitCF(AliDielectron* die, Int_t cutDefinition);
4
5 void InitMCCuts(Bool_t mcStatus, Int_t nPDGC, TArrayI* pdgC);
6
7 void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
8
9 void SetupPairCuts(AliDielectron *die, Int_t cutDefinition);
10
11 void EnableMC();
12 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
13 AliESDtrackCuts *SetupESDtrackCutsITSSA(Int_t cutDefinition);
14
0034d0a6 15 TString names=("Base");
7cab7ab5 16 TObjArray *arrNames=names.Tokenize(";");
17 const Int_t nDie=arrNames->GetEntries();
18 Bool_t MCenabled=kFALSE;
19
ddf338d8 20 Bool_t kMix = 0; //Event mixing (M.Koehler)
7cab7ab5 21
22 AliDielectron* ConfigLowMassDiEOezdemir(Int_t cutDefinition,Bool_t hasMC=kFALSE)
23 {
24 //
25 // Setup the instance of AliDielectron
26 //
27
28 MCenabled=hasMC;
29
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 //Event mixing (M.Koehler)
43 if(kMix){
44 AliDielectronMixingHandler *mix = new AliDielectronMixingHandler;
45 mix->SetMixType(AliDielectronMixingHandler::kAll);
46 mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10., -7.5, -5., -2.5 , 0., 2.5, 5., 7.5 , 10.");
47 mix->AddVariable(AliDielectronVarManager::kNacc,"0,10000");
48 mix->SetDepth(10);
49 die->SetMixingHandler(mix);
50 }
51
52 // cut setup
53 SetupTrackCuts(die,cutDefinition);
54 SetupPairCuts(die,cutDefinition);
55
56 // histogram setup
57 // only if an AliDielectronHistos object is attached to the
58 // dielectron framework histograms will be filled
59 //
60 InitHistograms(die,cutDefinition);
61
62 // the last definition uses no cuts and only the QA histograms should be filled!
0034d0a6 63 //InitCF(die,cutDefinition);
7cab7ab5 64/*
65 AliDielectronTrackRotator *rot=new AliDielectronTrackRotator;
66 rot->SetIterations(1);
67 rot->SetConeAnglePhi(TMath::Pi());
68 die->SetTrackRotator(rot);
69*/
70 return die;
71 }
72
73 //______________________________________________________________________________________
74 void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
75 {
76 //
77 // Setup the track cuts
78 //
79 //
80
81
82 //
83 // ============ DALITZ REJECTION CUTS ====================
84 //
85 AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND);
86 AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND);
87
88 cgITSTPC->AddCut(SetupESDtrackCuts(cutDefinition));
89
90 AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre");
91 pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
92 cgITSTPC->AddCut(pidITSTPC);
93
94 //---
95
96 cgITSSA->AddCut(SetupESDtrackCutsITSSA(cutDefinition));
97
98 AliDielectronPID *pidITSSA = new AliDielectronPID("pidITSSA","pidITSSA");
99 //pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kPion,-999999.,-2.5,0.0,0.15,kFALSE ); //18.01.11: electron ID@lowpT
100 //pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.);
101 cgITSSA->AddCut(pidITSSA);
102
103 //
104 // ================Setup PID-Cuts (for final acceptance)===============
105 //
106 AliDielectronVarCuts *pt = new AliDielectronVarCuts("P>.2","P>.2");
107 pt->AddCut(AliDielectronVarManager::kP,.2,1e30);
108
109 // + [2] added for Dec2010 Cut!
110 TF1 *lowerCut = new TF1("lowerCut", "[0] * TMath::Exp([1]*x) + [2]", 0, 20);
111 /* until Nov2010
112 lowerCut->SetParameter(0, -2.7);
113 lowerCut->SetParameter(1, -0.4357);
114 */
115 /* 18.01.2011 ALiHFEpid.cxx */
116 lowerCut->SetParameter(0,-3.7);
117 lowerCut->SetParameter(1,-0.8);
118 lowerCut->SetParameter(2,-0.35);
119/*
120 if (MCenabled) { //overwrite parameters
121 lowerCut->SetParameter(0,-2.5);
122 lowerCut->SetParameter(2,-2.2);
123 }
124*/
125 //___________________________________________
126
127 AliDielectronPID *pidTPChardTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
128 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
129 pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
130
131 //___________________________________________
0034d0a6 132 AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF");
133 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,100.,kFALSE);
134 pidTT->AddCut( AliDielectronPID::kTOF ,AliPID::kElectron , -2. , 2. , 0.4 , 5., kFALSE );
135 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.,0.2,100.,kTRUE);
7cab7ab5 136
137 //___________________________________________
138 AliDielectronPID *pidTTnew = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
139 pidTTnew->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,100.,kFALSE);
140 pidTTnew->AddCut( AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 5., kFALSE );
141 pidTTnew->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.,0.2,100.,kTRUE);
7cab7ab5 142
143 //___________________________________________
144 AliDielectronPID *pidTTonlyKP = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
145 pidTTonlyKP->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
146 pidTTonlyKP->AddCut( AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE );
147 pidTTonlyKP->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3,3.,0.,0.4,kTRUE);
148 pidTTonlyKP->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3,3.,0.,0.4,kTRUE);
149
150 //___________________________________________
151
152 AliDielectronPID *pidTTupp = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
153 pidTTupp->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.,3.,0.0,100.,kFALSE);
154 pidTTupp->AddCut( AliDielectronPID::kTOF ,AliPID::kElectron , -1. , 3. , 0.4 , 100., kFALSE );
155 pidTTupp->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-1,3.,0.,0.4,kTRUE);
156 pidTTupp->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-1,3.,0.,0.4,kTRUE);
157 pidTTupp->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-1,3.,0.,0.4,kTRUE);
158 //___________________________________________
159
160 AliDielectronPID *pidITS = new AliDielectronPID("ITS PID","ITS PID");
161 //pidITS->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-1.,1.,0.0,100.,kFALSE );
162 pidITS->AddCut(AliDielectronPID::kITS,AliPID::kPion,-999999.,-2.5,0.0,0.15,kFALSE ); //18.01.11: electron ID@lowpT
163 pidITS->AddCut(AliDielectronPID::kITS,AliPID::kPion,-2.,2.,0.15,0.3,kTRUE ); //18.01.11: electron ID@lowpT
164 //move to config section, to give additional point in CF
165 pidITS->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
166 pidITS->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.0,100.,kTRUE);
167 pidITS->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.3 , 100., kFALSE );
168
169 AliDielectronVarCuts *ptITS = new AliDielectronVarCuts("Pt>.05","Pt>.05");
170 ptITS->AddCut(AliDielectronVarManager::kPt,.05,1e30);
171 //___________________________________________
172
173 AliDielectronPID *pidJpsi = new AliDielectronPID("TPC Jpsi-like","TPC Jpsi-like");
174 pidJpsi->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,kFALSE);
175 pidJpsi->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3,3.,kTRUE); //Difference: HFE-like inclusion
176 pidJpsi->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,kTRUE); //Difference: HFE-like inclusion
177 pidJpsi->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3,3.,kTRUE); //Difference: HFE-like inclusion
178
179 //___________________________________________
180 AliDielectronPID *pidTPConlyE = new AliDielectronPID("TPC PID","TPC PID");
181 pidTPConlyE->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.,100.,kFALSE);
182
183 //___________________________________________
184 AliDielectronPID *pidTPC = new AliDielectronPID("TPC PID","TPC PID");
185 pidTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.,100.,kFALSE);
186 pidTPC->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-1.5,1.5,0.,100.,kTRUE);
187 pidTPC->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-1.5,1.5,0.,100.,kTRUE);
188 pidTPC->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-1.5,1.5,0.,100.,kTRUE);
189
190 //
191 // =============CREATE GROUPS FOR ==============
192 //
193
194 //Soft cut conditions for initial single-track analysis
195 AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
196 cgInitialTrackFilter->AddCut(cgITSTPC);
197 cgInitialTrackFilter->AddCut(cgITSSA);
198
199
200 //Setup possible CutGroups for Step2
201 //HFE-Like:
202 //
203 //ITS-TPC-TOF
204 AliDielectronCutGroup* cgSecondTrackFilterITS = new AliDielectronCutGroup("cgSecondTrackFilterITS","cgSecondTrackFilterITS",AliDielectronCutGroup::kCompAND);
205 cgSecondTrackFilterITS->AddCut(cgITSTPC);
206 cgSecondTrackFilterITS->AddCut(pidITS);
207 cgSecondTrackFilterITS->AddCut(ptITS);
208
209
210 //Config 6: TPC-TOF classic rej. only kaon & proton
211 AliDielectronCutGroup* cgSecondTrackFilterPIDTPConlyKP = new AliDielectronCutGroup("cgPIDTPConlyKP","cgPIDTPConlyKP",AliDielectronCutGroup::kCompAND);
212 cgSecondTrackFilterPIDTPConlyKP->AddCut(pt);
213 cgSecondTrackFilterPIDTPConlyKP->AddCut(SetupESDtrackCuts(cutDefinition));
214 cgSecondTrackFilterPIDTPConlyKP->AddCut(pidTTonlyKP);
215
216
217 //Config 0: TPC-TOF classic
218 AliDielectronCutGroup* cgSecondTrackFilterPIDTPCclassic = new AliDielectronCutGroup("cgPIDTPCclassic","cgPIDTPCclassic",AliDielectronCutGroup::kCompAND);
7cab7ab5 219 cgSecondTrackFilterPIDTPCclassic->AddCut(SetupESDtrackCuts(cutDefinition));
0034d0a6 220 //cgSecondTrackFilterPIDTPCclassic->AddCut(pidTT);
7cab7ab5 221
222 //Config 1: TPC-TOF Classic with -1.5/3 sigma (soft TOF, TPC exclusion)
223 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
7cab7ab5 224 cgSecondTrackFilterPIDTPC->AddCut(SetupESDtrackCuts(cutDefinition));
225 cgSecondTrackFilterPIDTPC->AddCut(pidTTnew);
226
227 //Config 2: TPC only electrons
228 AliDielectronCutGroup* cgSecondTrackFilterPIDTPConlyE = new AliDielectronCutGroup("cgPIDTPConlyE","cgPIDTPConlyE",AliDielectronCutGroup::kCompAND);
229 cgSecondTrackFilterPIDTPConlyE->AddCut(SetupESDtrackCuts(cutDefinition));
230 cgSecondTrackFilterPIDTPConlyE->AddCut(pidTPConlyE);
231
232 //TPC (kaon, proton, pion exclusion)
233 AliDielectronCutGroup* cgSecondTrackFilterPIDTPCSA = new AliDielectronCutGroup("cgPIDTPCSA","cgPIDTPCSA",AliDielectronCutGroup::kCompAND);
234 cgSecondTrackFilterPIDTPCSA->AddCut(SetupESDtrackCuts(cutDefinition));
235 cgSecondTrackFilterPIDTPCSA->AddCut(pidTPC);
236
237 //Not in use
238 AliDielectronCutGroup* cgSecondTrackFilterJpsi = new AliDielectronCutGroup("cgSecondTrackFilterJpsi","cgSecondTrackFilterJpsi",AliDielectronCutGroup::kCompAND);
239 cgSecondTrackFilterJpsi->AddCut(pt);
240 cgSecondTrackFilterJpsi->AddCut(pidJpsi);
241 cgSecondTrackFilterJpsi->AddCut(cgITSTPC);
242
243 AliDielectronCutGroup* cgSecondTrackFilterCombinedTPC= new AliDielectronCutGroup("cgSecondTrackFilterCombinedTPC","cgSecondTrackFilterCombinedTPC",AliDielectronCutGroup::kCompOR);
244 cgSecondTrackFilterCombinedTPC->AddCut(cgSecondTrackFilterPIDTPC);
245 cgSecondTrackFilterCombinedTPC->AddCut(cgSecondTrackFilterJpsi);
246
247
248
249 //Correct BG scheme for Combinatorial BG
250 //die->SetPreFilterUnlikeOnly();
251 die->SetPreFilterAllSigns();
252 die->SetUseKF(kFALSE);
253
254 //New Cut-scheme
255 //
256 //
7cab7ab5 257
0034d0a6 258// if ( cutDefinition ==0 ) {
259// //Step1: TrackFilter, nur grob
260// die->GetTrackFilter().AddCuts(cgInitialTrackFilter);
261// //Step2: "Final" PID
262// die->GetPairPreFilterLegs().AddCuts(cgSecondTrackFilterPIDTPC);
263// }
264
7cab7ab5 265
7cab7ab5 266 if ( cutDefinition ==0 ) {
0034d0a6 267 die->GetTrackFilter().AddCuts(cgSecondTrackFilterPIDTPC);
7cab7ab5 268 }
7cab7ab5 269
270 }
271 //______________________________________________________________________________________
272
273 void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
274 {
275 //
276 // Setup the pair cuts
277 //
278
7cab7ab5 279
280 if(cutDefinition == 0){
281
282 AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","conversion tagging");
283 noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
284 die->GetTrackFilter().AddCuts(noconv);
285
0034d0a6 286 //pair rapidity
287// AliDielectronVarCuts *RapidityCut=new AliDielectronVarCuts("RapidityCut","RapidityCut");
288// RapidityCut->AddCut(AliDielectronVarManager::kY, -0.8 , 0.8);
289// die->GetPairFilter().AddCuts(RapidityCut);
7cab7ab5 290
291 AliDielectronVarCuts *PhiV = new AliDielectronVarCuts("PhiV","PhiV");//mass and Phiv together
292 PhiV->AddCut(AliDielectronVarManager::kM, 0.0 , 0.05);
293 PhiV->AddCut(AliDielectronVarManager::kPhivPair, 2.5 , 3.2 );
294 die->GetPairPreFilter().AddCuts(PhiV);
295 /*
296 AliDielectronVarCuts *PhiV2 = new AliDielectronVarCuts("PhiV2","PhiV2");//mass and Phiv together
297 PhiV2->AddCut(AliDielectronVarManager::kM, 0.05 , 1000.);
298
299 AliDielectronCutGroup* pairCutsCG2 =new AliDielectronCutGroup("pairCutsCG2","pairCutsCG2",AliDielectronCutGroup::kCompOR);
300 pairCutsCG2->AddCut(PhiV);
301 pairCutsCG2->AddCut(PhiV2);
302 die->GetPairFilter().AddCuts(pairCutsCG2);
303 */
0034d0a6 304 /*
305 if (MCenabled) {
306 AliDielectronVarCuts *mcpid =new AliDielectronVarCuts("mcpid","mcpid");
307 mcpid->SetCutType(AliDielectronVarCuts::kAny);
308 mcpid->AddCut(AliDielectronVarManager::kPdgCode, 11);
309 mcpid->AddCut(AliDielectronVarManager::kPdgCode, -11);
310 die->GetTrackFilter().AddCuts(mcpid);
311
312 AliDielectronVarCuts *MCnoConv =new AliDielectronVarCuts("MCnoConv","MCnoConv");
313 MCnoConv->AddCut(AliDielectronVarManager::kPdgCodeMother, 22,kTRUE);
314 die->GetTrackFilter().AddCuts(MCnoConv);
7cab7ab5 315 }
0034d0a6 316 */
317 }
7cab7ab5 318
319 }
320
321 //______________________________________________________________________________________
322 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition)
323 {
324 //
325 // Setup default AliESDtrackCuts
326 //
327 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts;
328 //esdTrackCuts->SetDCAToVertex2D(kTRUE);
329
330 esdTrackCuts->SetMaxDCAToVertexZ(3.0);
331 esdTrackCuts->SetMaxDCAToVertexXY(1.0);
332 //esdTrackCuts->SetMaxNsigmaToVertex(3.0);
333
334 esdTrackCuts->SetPtRange( 0.2 , 100.0);
335 esdTrackCuts->SetEtaRange( -0.8 , 0.8 );
336 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
337 esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
338 esdTrackCuts->SetDCAToVertex2D(kFALSE);
339
340 esdTrackCuts->SetRequireITSRefit(kTRUE);
0034d0a6 341 //esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth); //SPDboth
342 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); //Base
343 //esdTrackCuts->SetMinNClustersITS(4); // ITSCls4
344 esdTrackCuts->SetMinNClustersITS(3); //Base
345
7cab7ab5 346 esdTrackCuts->SetRequireTPCRefit(kTRUE);
0034d0a6 347 //esdTrackCuts->SetMinNClustersTPC(100); //TPCCls100
348 esdTrackCuts->SetMinNClustersTPC(80); //Base
349
350
351 //esdTrackCuts->SetMinNCrossedRowsTPC(120); //TPCCrsR120
352 esdTrackCuts->SetMinNCrossedRowsTPC(100); //Base
353
7cab7ab5 354 esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.5);
355 esdTrackCuts->SetMaxChi2PerClusterTPC(4);
356
357 return esdTrackCuts;
358 }
359
360 //______________________________________________________________________________________
361
362 AliESDtrackCuts *SetupESDtrackCutsITSSA(Int_t cutDefinition)
363 {
364 //
365 // Setup default AliESDtrackCuts
366 //
367 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts;
368 esdTrackCuts->SetDCAToVertex2D(kTRUE);
369
370 esdTrackCuts->SetMaxDCAToVertexZ(3.0);
371 esdTrackCuts->SetMaxDCAToVertexXY(1.0);
372
373 esdTrackCuts->SetEtaRange( -0.84 , 0.84 );
374
375 esdTrackCuts->SetPtRange( 0.0, 200.);
376
377 esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
378 esdTrackCuts->SetRequireITSRefit(kTRUE);
379 esdTrackCuts->SetRequireITSStandAlone(kTRUE);
380
381 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
382 esdTrackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?!
383
384
385 return esdTrackCuts;
386 }
387
388 //______________________________________________________________________________________
389
390void InitHistograms(AliDielectron *die, Int_t cutDefinition)
391 {
7cab7ab5 392 //
393 // Initialise the histograms
394 //
395
396 //Setup histogram classes
397 AliDielectronHistos *histos=
398 new AliDielectronHistos(die->GetName(),
399 die->GetTitle());
400
401
402
403 //Initialise histogram classes
404 histos->SetReservedWords("Track;Pair");
0034d0a6 405 //histos->SetReservedWords("Track");
406
7cab7ab5 407 //Event class
408 histos->AddClass("Event");
409
410
411 //Track classes
412 //to fill also track info from 2nd event loop until 2
413 for (Int_t i=0; i<2; ++i){
414 histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
415 }
416
417 //Pair classes
418 // to fill also mixed event histograms loop until 10
419
420 for (Int_t i=0; i<3; ++i){
421 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
422
423 }
424
425 if(kMix){
426 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3))); //ME ++
427 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));//ME -+
428 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));//ME +-
429 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7))); // ME --
430 }
431
432 //if(kRot)histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));//Rot
433
434
435 //add histograms to event class
436 histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",1,0,1,AliDielectronVarManager::kNevents);
437 histos->UserHistogram("Event","ZVertex","ZVertex;ZVertex/cm",480,-12.,12.,AliDielectronVarManager::kZvPrim);
438 histos->UserHistogram("Event","nESDTracks","ESD tracks;ESD tracks;Number events",100,0,200,AliDielectronVarManager::kTracks);
439 histos->UserHistogram("Event","Nacc","Number of accepted tracks;Number events",100,0,200,AliDielectronVarManager::kNacc);
440 histos->UserHistogram("Event","NVtxContrib","Number of Vertex Contributor;NVtx;Number events",100,0,100,AliDielectronVarManager::kNVtxContrib);
441
442
443 //add histograms to Track classes
444 histos->UserHistogram("Track","P","P;P [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPIn);
445 histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPt);
446 histos->UserHistogram("Track","Eta","Eta; Eta ;#tracks",100,-1.,1.,AliDielectronVarManager::kEta);
447 histos->UserHistogram("Track","Phi","Phi; Phi ;#tracks",640,0.,6.4,AliDielectronVarManager::kPhi);
448
449
450 histos->UserHistogram("Track","Eta_phi","Eta vs Phi;Eta;Phi",100,-1.,1.,320,0.,6.4,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
451 histos->UserHistogram("Track","Eta_pt","Eta vs Pt;Eta;Pt",100,-1.,1.,500,0.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kPt);
452