]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/macrosLMEE/ConfigRemiLMEEPbPb2011AOD.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / ConfigRemiLMEEPbPb2011AOD.C
1 //#include "PWGDQ/dielectron/macrosLMEE/LMEECutLib.C"
2 void InitHistograms(AliDielectron *die, Int_t cutDefinition);
3 void InitCF(AliDielectron* die, Int_t cutDefinition);
4 void EnableMC();
5
6 TString names=("noPairing;ITSTPCTOFCentnoRej;ITSTPCTOFSemiCent1noRej;ITSTPCTOFSemiCent2noRej;ITSTPCTOFPerinoRej;ITSTPCTOFCentInvMLowRP;ITSTPCTOFSemiCent1InvMLowRP;ITSTPCTOFSemiCent2InvMLowRP;ITSTPCTOFPeriInvMLowRP;ITSTPCTOFCentInvMMiddleRP;ITSTPCTOFSemiCent1InvMMiddleRP;ITSTPCTOFSemiCent2InvMMiddleRP;ITSTPCTOFPeriInvMMiddleRP;ITSTPCTOFCentInvMHighRP;ITSTPCTOFSemiCent1InvMHighRP;ITSTPCTOFSemiCent2InvMHighRP;ITSTPCTOFPeriInvMHighRP;ITSTPCTOFCentInvMLowMag;ITSTPCTOFSemiCent1InvMLowMag;ITSTPCTOFSemiCent2InvMLowMag;ITSTPCTOFPeriInvMLowMag;ITSTPCTOFCentInvMMiddleMag;ITSTPCTOFSemiCent1InvMMiddleMag;ITSTPCTOFSemiCent2InvMMiddleMag;ITSTPCTOFPeriInvMMiddleMag;ITSTPCTOFCentInvMHighMag;ITSTPCTOFSemiCent1InvMHighMag;ITSTPCTOFSemiCent2InvMHighMag;ITSTPCTOFPeriInvMHighMag");
7 TObjArray *arrNames=names.Tokenize(";");
8 const Int_t nDie=arrNames->GetEntries();
9
10 Bool_t MCenabled=kFALSE;
11
12
13 AliDielectron* ConfigRemiLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, Bool_t ESDanalysis=kFALSE)
14 {
15
16   Int_t selectedPID=-1;
17   Int_t selectedCentrality=-1;
18     Int_t selectedPairInvMassCut=-1;
19     Int_t selectedPairInOutCut = -1;
20   Bool_t rejectionStep=kFALSE;
21   Bool_t PairInvMassCut=kFALSE;
22   Bool_t PairInOutCut=kFALSE;
23   LMEECutLibRemi*  LMCL = new LMEECutLibRemi();
24
25   //
26   // Setup the instance of AliDielectron
27   //
28
29   MCenabled=hasMC;
30
31   // create the actual framework object
32
33   TString name=Form("%02d",cutDefinition);
34   if ((cutDefinition)<arrNames->GetEntriesFast()){
35         name=arrNames->At((cutDefinition))->GetName();
36   }
37
38   //thisCut only relevant for MC:
39   AliDielectron *die =
40         new AliDielectron(Form
41                 ("%s",name.Data()),
42                 Form("Track cuts: %s",name.Data()));
43
44   //  TString ZDCRecenteringfile = "alien:///alice/cern.ch/user/r/rtanizak/ZDCrpH1/ZDCRecentProf/ZDCRecenteringProfile.root";
45     TString ZDCRecenteringfile = "/home/tanizaki/nfs/ZDCrpH1Recentering/ZDCRecenteringProfile.root";
46
47   die->SetZDCRecenteringFilename(ZDCRecenteringfile);
48
49
50   //Setup AnalysisSelection:
51   if (cutDefinition==0) {
52         //not yet implemented
53   }
54   else if (cutDefinition==1) {
55     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
56     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
57     rejectionStep = kFALSE;
58     PairInvMassCut = kFALSE;
59
60   }
61   else if (cutDefinition==2) {
62     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
63     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
64     rejectionStep = kFALSE;
65     PairInvMassCut = kFALSE;
66
67   }
68   else if (cutDefinition==3) {
69     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
70     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
71     rejectionStep = kFALSE;
72     PairInvMassCut = kFALSE;
73
74   }
75   else if (cutDefinition==4) {
76     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
77     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
78     rejectionStep = kFALSE;
79     PairInvMassCut = kFALSE;
80
81   }
82
83   //////////////////////////////////////////////////////////
84
85   else if (cutDefinition==5) {
86     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
87     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
88     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
89     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
90     rejectionStep = kFALSE;
91     PairInvMassCut = kTRUE;
92     PairInOutCut = kTRUE;
93       }
94
95   else if (cutDefinition==6) {
96     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
97     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
98     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
99     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
100     rejectionStep = kFALSE;
101     PairInvMassCut = kTRUE;
102     PairInOutCut = kTRUE;
103   }
104
105   else if (cutDefinition==7) {
106     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
107     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
108     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
109     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
110     rejectionStep = kFALSE;
111     PairInvMassCut = kTRUE;
112     PairInOutCut = kTRUE;
113   }
114
115   else if (cutDefinition==8) {
116     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
117     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
118     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
119     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
120     rejectionStep = kFALSE;
121     PairInvMassCut = kTRUE;
122     PairInOutCut = kTRUE;
123   }
124
125   else if (cutDefinition==9) {
126     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
127     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
128     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
129     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
130     rejectionStep = kFALSE;
131     PairInvMassCut = kTRUE;
132     PairInOutCut = kTRUE;
133   }
134
135   else if (cutDefinition==10) {
136     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
137     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
138     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
139     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
140     rejectionStep = kFALSE;
141     PairInvMassCut = kTRUE;
142     PairInOutCut = kTRUE;
143   }
144
145   else if (cutDefinition==11) {
146     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
147     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
148     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
149     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
150     rejectionStep = kFALSE;
151     PairInvMassCut = kTRUE;
152     PairInOutCut = kTRUE;
153   }
154
155   else if (cutDefinition==12) {
156     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
157     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
158     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
159     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
160     rejectionStep = kFALSE;
161     PairInvMassCut = kTRUE;
162     PairInOutCut = kTRUE;
163   }
164
165   else if (cutDefinition==13) {
166     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
167     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
168     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
169     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
170     rejectionStep = kFALSE;
171     PairInvMassCut = kTRUE;
172     PairInOutCut = kTRUE;
173   }
174
175   else if (cutDefinition==14) {
176     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
177     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
178     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
179     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
180     rejectionStep = kFALSE;
181     PairInvMassCut = kTRUE;
182     PairInOutCut = kTRUE;
183   }
184
185   else if (cutDefinition==15) {
186     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
187     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
188     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
189     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
190     rejectionStep = kFALSE;
191     PairInvMassCut = kTRUE;
192     PairInOutCut = kTRUE;
193   }
194
195   else if (cutDefinition==16) {
196     selectedPID = LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
197     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
198     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
199     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011RP;
200     rejectionStep = kFALSE;
201     PairInvMassCut = kTRUE;
202     PairInOutCut = kTRUE;
203
204   }
205
206   //////////////////////////////////////////////////////////
207
208   else if (cutDefinition==17) {
209     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
210     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
211     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
212     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
213     rejectionStep = kFALSE;
214     PairInvMassCut = kTRUE;
215     PairInOutCut = kTRUE;
216   }
217
218   else if (cutDefinition==18) {
219     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
220     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
221     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
222     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
223     rejectionStep = kFALSE;
224     PairInvMassCut = kTRUE;
225     PairInOutCut = kTRUE;
226   }
227   else if (cutDefinition==19) {
228     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
229     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
230     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
231     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
232     rejectionStep = kFALSE;
233     PairInvMassCut = kTRUE;
234     PairInOutCut = kTRUE;
235   }
236
237   else if (cutDefinition==20) {
238     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
239     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
240     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassLow;
241     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
242     rejectionStep = kFALSE;
243     PairInvMassCut = kTRUE;
244     PairInOutCut = kTRUE;
245   }
246
247   else if (cutDefinition==21) {
248     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
249     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
250     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
251     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
252     rejectionStep = kFALSE;
253     PairInvMassCut = kTRUE;
254     PairInOutCut = kTRUE;
255   }
256
257   else if (cutDefinition==22) {
258     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
259     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
260     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
261     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
262     rejectionStep = kFALSE;
263     PairInvMassCut = kTRUE;
264     PairInOutCut = kTRUE;
265   }
266   else if (cutDefinition==23) {
267     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
268     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
269     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
270     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
271     rejectionStep = kFALSE;
272     PairInvMassCut = kTRUE;
273     PairInOutCut = kTRUE;
274   }
275   else if (cutDefinition==24) {
276     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
277     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
278     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassMiddle;
279     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
280     rejectionStep = kFALSE;
281     PairInvMassCut = kTRUE;
282     PairInOutCut = kTRUE;
283   }
284
285   else if (cutDefinition==25) {
286     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
287     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
288     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
289     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
290     rejectionStep = kFALSE;
291     PairInvMassCut = kTRUE;
292     PairInOutCut = kTRUE;
293   }
294   else if (cutDefinition==26) {
295     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
296     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
297     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
298     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
299     rejectionStep = kFALSE;
300     PairInvMassCut = kTRUE;
301     PairInOutCut = kTRUE;
302   }
303   else if (cutDefinition==27) {
304     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
305     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
306     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
307     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
308     rejectionStep = kFALSE;
309     PairInvMassCut = kTRUE;
310     PairInOutCut = kTRUE;
311   }
312   else if (cutDefinition==28) {
313     selectedPID =  LMEECutLibRemi::kPbPb2011pidITSTPCTOF;
314     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
315     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011MassHigh;
316     selectedPairInOutCut = LMEECutLibRemi::kPbPb2011Mag;
317     rejectionStep = kFALSE;
318     PairInvMassCut = kTRUE;
319     PairInOutCut = kTRUE;
320   }
321
322
323
324
325
326     /*
327     ///////////////////////////////////////////////////////////
328   else if (cutDefinition==21) {
329     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide
330     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
331     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011RP;
332     //selectedPairMCut = LMEECutLibRemi::kPbPb2011MassAll;
333     rejectionStep = kFALSE;
334     PairCut=kTRUE;
335     PolaCut=kTRUE;
336   }
337   else if (cutDefinition==22) {
338     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
339     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
340     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011RP;
341     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
342     rejectionStep = kFALSE;
343     PairCut=kTRUE;
344     PolaCut=kTRUE;
345   }
346   else if (cutDefinition==23) {
347     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
348     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
349     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
350     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011RP;
351     rejectionStep = kFALSE;
352     PairCut=kTRUE;
353     PolaCut=kTRUE;
354
355   }
356   else if (cutDefinition==24) {
357     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
358     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
359     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011RP;
360     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
361     rejectionStep = kFALSE;
362     PairCut=kTRUE;
363     PolaCut=kTRUE;
364
365   }
366
367     /////////////////////////////////////////////////////////
368   else if (cutDefinition==25) {
369     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
370     selectedCentrality = LMEECutLibRemi::kPbPb2011Central;
371     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011Mag;
372     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassAll;
373     rejectionStep = kFALSE;
374     PairCut=kTRUE;
375     PolaCut=kTRUE;
376
377   }
378
379   else if (cutDefinition==26) {
380     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
381     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral1;
382     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011Mag;
383     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
384     rejectionStep = kFALSE;
385     PairCut=kTRUE;
386     PolaCut=kTRUE;
387
388   }
389   else if (cutDefinition==27) {
390     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
391     selectedCentrality = LMEECutLibRemi::kPbPb2011SemiCentral2;
392     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
393     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011Mag;
394     rejectionStep = kFALSE;
395     PairCut=kTRUE;
396     PolaCut=kTRUE;
397
398   }
399   else if (cutDefinition==28) {
400     selectedPID = LMEECutLibRemi::kPbPb2011TPCandTOFwide;
401     selectedCentrality = LMEECutLibRemi::kPbPb2011Peripheral;
402     selectedPairInvMassCut = LMEECutLibRemi::kPbPb2011Mag;
403     // selectedPairMCut = LMEECutLibRemi::kPbPb2011MassMiddle;
404     rejectionStep = kFALSE;
405     PairCut=kTRUE;
406     PolaCut=kTRUE;
407
408   }
409
410     */
411
412   else {
413         cout << " =============================== " << endl;
414         cout << " ==== INVALID CONFIGURATION ==== " << endl;
415         cout << " =============================== " << endl;
416   }
417
418
419   //Now configure task
420
421   //Apply correct Pre-Filter Scheme, if necessary
422   die->SetPreFilterAllSigns();
423
424   //switch off KF PArticle:
425   die->SetUseKF(kFALSE);
426   /*
427   if (selectedPID == LMEECutLibRemi::kPbPb2011NoPID) {
428           die->SetNoPairing();
429    }
430   */
431
432
433
434   die->GetEventFilter().AddCuts( LMCL->GetCentralityCuts(selectedCentrality));
435   
436   //  die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) );
437   die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
438   //  die->GetPairFilter().AddCuts( LMCL->GetPairCutsAna(selectedPID,kFALSE) );
439
440     
441   if (PairInvMassCut)
442     die->GetPairFilter().AddCuts( LMCL->GetPairCutsInvMass(selectedPairInvMassCut));
443   
444   
445       
446   if(PairInOutCut)
447         die->GetPairFilter().AddCuts( LMCL->GetPairCutsInOut(selectedPairInOutCut));
448   
449   
450
451   /*
452
453   if(PairCut){
454     if (rejectionStep) {
455       die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
456       die->GetPairPreFilter().AddCuts( LMCL->GetPairPreFilterCuts(selectedPairCut));
457       die->GetPairFilter().AddCuts( LMCL->GetPairCuts(selectedPairCut));
458     }
459     else {
460       //      die->GetPairFilter().AddCuts( LMCL->GetPairCutsInvMass(selectedPairCut));
461       die->GetPairFilter().AddCuts( LMCL->GetPairCuts(selectedPID));
462
463
464       //  die->GetPairFilter().AddCuts( LMCL->GetPairCuts4(selectedPairMCut));
465     }
466   }
467   */
468
469   /*
470   if (rejectionStep) {
471     if (ESDanalysis) {
472       die->GetTrackFilter().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) );
473       die->GetPairPreFilterLegs().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) );
474     }
475
476     //die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsPre(selectedPID) );
477     die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
478     die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
479     die->GetPairPreFilter().AddCuts(LMCL->GetPairCuts(selectedPID) );
480
481     //    if(PairCut){
482     //      die->GetPairFilter().AddCuts( LMCL->GetPairCutsInvMass(selectedPairCut));
483     //    }
484   }
485   else { //No Prefilter, no Pairfilter
486     
487     if (ESDanalysis) {
488       die->GetTrackFilter().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) );
489     }
490     
491     die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) );
492     die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
493     die->GetEventFilter().AddCuts(LMCL->GetCentralityCuts(selectedCentrality));
494     
495     //    if(PairCut){
496     //      die->GetPairFilter().AddCuts( LMCL->GetPairCutsInvMass(selectedPairCut));
497     //    }
498     die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kFALSE));
499     
500   }
501   //Introduce NULL-check for pp?
502   die->GetEventFilter().AddCuts(LMCL->GetCentralityCuts(selectedCentrality));
503   */
504
505
506
507   AliDielectronTrackRotator *rot= 0x0;
508   /*AliDielectronTrackRotator *rot= LMCL->GetTrackRotator(selectedPID);
509   die->SetTrackRotator(rot);
510    */
511   AliDielectronMixingHandler *mix=LMCL->GetMixingHandler(selectedPID);
512   die->SetMixingHandler(mix);
513
514   // histogram setup
515   // only if an AliDielectronHistos object is attached to the
516   // dielectron framework histograms will be filled
517   //
518   InitHistograms(die,cutDefinition);
519
520   // the last definition uses no cuts and only the QA histograms should be filled!
521 //  InitCF(die,cutDefinition);
522
523   return die;
524 }
525
526 //______________________________________________________________________________________
527
528 void InitHistograms(AliDielectron *die, Int_t cutDefinition)
529 {
530   //
531   // Initialise the histograms
532   //
533
534   //Setup histogram Manager
535   AliDielectronHistos *histos=
536         new AliDielectronHistos(die->GetName(),
537                 die->GetTitle());
538   //Initialise histogram classes
539   histos->SetReservedWords("Track;Pair;Pre;RejTrack;RejPair");
540
541   //Event class
542 //  if (cutDefinition==nDie-1) 
543                 histos->AddClass("Event");
544
545   //Track classes
546   //to fill also track info from 2nd event loop until 2
547   for (Int_t i=0; i<2; ++i){
548         histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
549   }
550
551   //Pair classes
552   // to fill also mixed event histograms loop until 10
553   for (Int_t i=0; i<3; ++i){
554         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
555   }
556
557   //ME and track rot
558   if (die->GetMixingHandler()) {
559         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3)));
560         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));
561         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));
562         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7)));
563   }
564   if (die->GetTrackRotator()) {
565         histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));
566   }
567
568   //PreFilter Classes
569   //to fill also track info from 2nd event loop until 2
570   for (Int_t i=0; i<2; ++i){
571         histos->AddClass(Form("Pre_%s",AliDielectron::TrackClassName(i)));
572   }
573
574
575   //Create Classes for Rejected Tracks/Pairs:
576   for (Int_t i=0; i<2; ++i){
577         histos->AddClass(Form("RejTrack_%s",AliDielectron::TrackClassName(i)));
578   }
579   for (Int_t i=0; i<3; ++i){
580         histos->AddClass(Form("RejPair_%s",AliDielectron::PairClassName(i)));
581   }
582
583   /*
584   //track rotation
585
586   histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
587   histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
588   */
589         //add histograms to event class
590         histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",
591                 1,0.,1.,AliDielectronVarManager::kNevents);
592         histos->UserHistogram("Event","Centrality","Centrality;Centrality [%]","0,10,20,40,80,100,101",
593                 AliDielectronVarManager::kCentrality);
594
595
596         histos->UserHistogram("Event","v0ACrpH2","VZERO-AC;v0ACrpH2",
597                               100,-2.0,2.0,
598                               AliDielectronVarManager::kv0ACrpH2);
599         histos->UserHistogram("Event","v0ArpH2","VZERO-A;v0ArpH2",
600                               100,-2.0,2.0,
601                               AliDielectronVarManager::kv0ArpH2);
602         histos->UserHistogram("Event","v0CrpH2","VZERO-C;v0CrpH2",
603                               100,-2.0,2.0,
604                               AliDielectronVarManager::kv0CrpH2);
605         histos->UserHistogram("Event","RadomRP","RandomRP;RandomRP",
606                               100,-2.0,2.0,
607                               AliDielectronVarManager::kRandomRP);
608
609
610         histos->UserHistogram("Event","ZDCArpH1","ZDC-ZN-A;ZDCrpH1",
611                               100,-3.5,3.5,
612                               AliDielectronVarManager::kZDCACrpH1);
613
614         histos->UserProfile("Event","ZDCrpResH1Prof","ZDC;ZDCrpResH1",
615                             AliDielectronVarManager::kZDCrpResH1, 
616                             10, 0, 100,
617                               AliDielectronVarManager::kCentrality);
618     
619         histos->UserProfile("Event","v0ZDCrpResProf","ZDC;v0ZDCrpRes",
620                              AliDielectronVarManager::kv0ZDCrpRes,
621                              10, 0, 100,
622                             AliDielectronVarManager::kCentrality);
623         
624         
625         histos->UserHistogram("Event","RefMult","RefMultiplicity;Multiplixity",
626                               100,-3.5,3.5,
627                               AliDielectronVarManager::kRefMult);
628         histos->UserHistogram("Event","kXvPrim","VertexX;vertex_x",
629                               100,0.03,0.1,
630                               AliDielectronVarManager::kXvPrim);
631         histos->UserHistogram("Event","kYvPrim","VartexY;vertex_y",
632                               100,0.2,0.3,
633                               AliDielectronVarManager::kYvPrim);
634
635
636         
637
638
639   //add histograms to Track classes
640
641         histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
642         histos->UserHistogram("Track","Px","Px;Px [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPx);
643         histos->UserHistogram("Track","Py","Py;Py [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPy);
644         histos->UserHistogram("Track","Pz","Pz;Pz [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPz);
645
646
647         histos->UserHistogram("Track","Eta","Eta; Eta;#tracks",
648                               200,-2,2,AliDielectronVarManager::kEta);
649         histos->UserHistogram("Track","Phi","Phi; Phi;#tracks",
650                               200,0.,3.15,AliDielectronVarManager::kPhi);
651
652
653   /*
654   histos->UserHistogram("Track","NclsSFracTPC","NclsSFracTPC; NclsSFracTPC;#tracks",200,0,10.,AliDielectronVarManager::kNclsSFracTPC);
655   histos->UserHistogram("Track","TPCclsDiff","TPCclsDiff; TPCclsDiff;#tracks",200,0,10.,AliDielectronVarManager::kTPCclsDiff);
656
657   histos->UserHistogram("Track","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
658           400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
659
660   histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
661           400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
662
663   histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
664           400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
665   histos->UserHistogram("Track","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
666           400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
667   histos->UserHistogram("Track","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
668           400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
669
670   histos->UserHistogram("Track","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
671           400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
672   histos->UserHistogram("Track","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
673           400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
674
675   histos->UserHistogram("Track","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
676           400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
677   histos->UserHistogram("Track","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
678           400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
679
680   histos->UserHistogram("Track","TOFbeta","TOF beta;P [GeV];TOF beta;#tracks",
681           400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
682
683
684   histos->UserHistogram("Track","Eta","Eta; Eta;#tracks",
685           200,-2,2,AliDielectronVarManager::kEta);
686   histos->UserHistogram("Track","Phi","Phi; Phi;#tracks",
687           200,0.,3.15,AliDielectronVarManager::kPhi);
688
689   histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
690           200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
691
692   histos->UserHistogram("Track","dXY_dZ","dXY dZ Map; dXY; dZ;#tracks",
693           200,-2,2,200,-2,2.,AliDielectronVarManager::kImpactParXY,AliDielectronVarManager::kImpactParZ);
694
695
696   histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
697   histos->UserHistogram("Track","dZ","dZ;dZ [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParZ);
698
699           histos->UserHistogram("Track","TPCcrossedRowsOverFindable","Number of Crossed Rows TPC over Findable;TPC crossed rows over findable;#tracks",100,0.,1.,AliDielectronVarManager::kNFclsTPCfCross);
700           histos->UserHistogram("Track","TPCcrossedRows","Number of Crossed Rows TPC;TPC crossed rows;#tracks",159,0.,159.,AliDielectronVarManager::kNFclsTPCr);
701           histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
702           histos->UserHistogram("Track","ITSnCls","Number of Clusters ITS;ITS number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsITS);
703
704           histos->UserHistogram("Track","TPCchi2","TPC Chi2 value;TPC chi2;#tracks",100,0.,10.,AliDielectronVarManager::kTPCchi2Cl);
705           histos->UserHistogram("Track","ITSchi2","ITS Chi2 value;ITS chi2;#tracks",100,0.,10.,AliDielectronVarManager::kITSchi2Cl);
706
707           histos->UserHistogram("Track","TPCnCls_kNFclsTPCr","nTPC vs nTPCr;nTPC vs nTPCr;#tracks",159,0.,159.,159,0.,159.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
708
709           histos->UserHistogram("Track","kNFclsTPCr_pT","nTPCr vs pt;nTPCr vs pt;#tracks",159,0.,159.,200,0.,20.,AliDielectronVarManager::kNFclsTPCr,AliDielectronVarManager::kPt);
710
711   */
712           //add histograms to Pair classes
713           histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
714                   500,0.0,5.00,AliDielectronVarManager::kM);
715           histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
716                   100,-2.,2.,AliDielectronVarManager::kY);
717           histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
718                   100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
719           //2D Histo Plot
720           histos->UserHistogram("Pair","InvMassPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
721                   500,0.0,5.0,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
722
723           histos->UserHistogram("Pair","InvMassOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
724                   500,0.0,5.0,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
725
726
727           histos->UserHistogram("Pair","Pt","Pt;Pt [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPt);
728           histos->UserHistogram("Pair","Px","Px;Px [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPx);
729           histos->UserHistogram("Pair","Py","Py;Py [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPy);
730           histos->UserHistogram("Pair","Pz","Pz;Pz [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPz);
731           histos->UserHistogram("Pair","Phi","Phi;Phi[rad];#counts",100,-3.15,3.15,AliDielectronVarManager::kPhi );
732
733
734           histos->UserHistogram("Pair","DeltaPhiv0ArpH2","Phi;Phi[rad];#counts",
735                                 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ArpH2);
736           histos->UserHistogram("Pair","DeltaPhiv0CrpH2","Phi;Phi[rad];#counts",
737                                 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0CrpH2);
738           histos->UserHistogram("Pair","DeltaPhiv0ACrpH2","Phi;Phi[rad];#counts",
739                                 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ACrpH2);
740           histos->UserHistogram("Pair","DeltaPhiRandomRP","Phi;Phi[rad];#counts",
741                                 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiRandomRP);
742
743
744           histos->UserHistogram("Pair","PairPlaneAngle2C","Phi;Phi[rad];#counts",
745                                 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle2C);
746           histos->UserHistogram("Pair","PairPlaneAngle3C","Phi;Phi[rad];#counts",
747                                 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle3C);
748           histos->UserHistogram("Pair","PairPlaneAngle4C","Phi;Phi[rad];#counts",
749                                 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle4C);
750           histos->UserHistogram("Pair","PairPlaneAngleRan","Phi;Phi[rad];#counts",
751                                 100,0,1.6,AliDielectronVarManager::kPairPlaneAngle3Ran);
752
753
754           //2D Histo Plot
755
756           histos->UserHistogram("Pair","InvMAllPP1C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle1C);
757
758           histos->UserHistogram("Pair","InvMAllPP2C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle2C);
759
760           histos->UserHistogram("Pair","InvMAllPP3C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle3C);
761
762           histos->UserHistogram("Pair","InvMAllPP4C","Inv.Mass vs PairPlaneAngle;Inv. Mass [GeV];Phi [rad]",500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneAngle4C);
763
764
765           histos->UserHistogram("Pair","PtAllPP1C","Pair Pt vs PairPlaneAngle;Pt [GeV];Phi [rad]",
766                                  500,0.,10.0,100,0.,3.15,AliDielectronVarManager::kPt, AliDielectronVarManager::kPairPlaneAngle1C);
767
768           histos->UserHistogram("Pair","PtAllPP2C","Pair Pt vs PairPlaneAngle;Pt [GeV];Phi [rad]",
769                                  500,0.,10.0,100,0.,3.15,AliDielectronVarManager::kPt, AliDielectronVarManager::kPairPlaneAngle2C);
770
771           histos->UserHistogram("Pair","PtAllPP3C","Pair Pt vs PairPlaneAngle;Pt [GeV];Phi [rad]",
772                                  500,0.,10.0,100,0.,3.15,AliDielectronVarManager::kPt, AliDielectronVarManager::kPairPlaneAngle3C);
773
774           histos->UserHistogram("Pair","PtAllPP4C","Pair Pt vs PairPlaneAngle;Pt [GeV];Phi [rad]",
775                                  500,0.,10.0,100,0.,3.15,AliDielectronVarManager::kPt, AliDielectronVarManager::kPairPlaneAngle4C);
776
777           /*
778         histos->UserHistogram("Pair","InvMassAllPairplaneMagInPro","Inner Product of Mag and ee plane vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
779                               1000, 0.0,1.0,100,-2.0,2.0,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagInPro);
780         histos->UserHistogram("Pair","InvMassLowPairplaneMagInPro","ee plane Mag component vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
781                               300, 0.0,0.03,100,-2.0,2.0,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagInPro);
782         histos->UserHistogram("Pair","InvMassMiddlePairplaneMagInPro","ee plane Mag component vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
783                                180,0.12, 0.3,100,-2.0,2.0,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagInPro);
784         histos->UserHistogram("Pair","InvMassHighPairplaneMagInPro","ee plane Mag component vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
785                                200, 0.3, 0.5,100,-2.0,2.0,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagInPro);
786           */
787
788           histos->UserHistogram("Pair","DeltaPhiv0CrpH2","Phi;Phi[rad];#counts",
789                                 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0CrpH2);
790
791           histos->UserHistogram("Pair","PtAllPairplaneMagInPro","ee plane Mag component vs Pt;Pt [GeV];Phi [rad]",
792                                 500,0.0,10.0,100,-2.0,2.0,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
793           histos->UserHistogram("Pair","PtLowPairplaneMagInPro","ee plane Mag component vs Pt;Pt [GeV];Phi [rad]",
794                                 100,0.0,1.0,100,-2.0,2.0,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
795           histos->UserHistogram("Pair","PtMiddlePairplaneMagInPro","ee plane Mag component vs Pt;Pt [GeV];Phi [rad]",
796                                 100,1.0,2.0,100,-2.0,2.0,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
797           histos->UserHistogram("Pair","PtHighPairplaneMagInPro","ee plane Mag component vs Pt;Pt [GeV];Phi [rad]",
798                                 200,2.0,10.0,100,-2.0,2.0,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
799           
800
801           /*
802                         histos->UserHistogram("Pair","AllInvMassPtPairplaneMagInPro","ee plane Mag component;Inv.Mass[GeV];Pt[GeV];Phi[red]",
803                               1000,0.0 ,0.5,500,0.0,10.0,100,-2.0,2.0,
804                                               AliDielectronVarManager::kM,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
805           */
806
807
808           //              histos->UserHistogram("Pair","AllInvMassPtPairplaneMagInPro","ee plane Mag component vs Pt;Inv.Mass[GeV];Pt [GeV];Phi [rad]",
809           //                                    1000,0.0,0.5,500,0.0,10.0,100,-2.0,2.0,
810           //                                    AliDielectronVarManager::kM,AliDielectronVarManager::kPt,AliDielectronVarManager::kPairPlaneMagInPro);
811
812
813           /*
814
815
816           //add histograms to Track classes
817           histos->UserHistogram("Pre","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
818
819           histos->UserHistogram("Pre","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
820                   400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
821
822           histos->UserHistogram("Pre","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
823                   400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
824
825
826           histos->UserHistogram("Pre","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
827                   400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
828           histos->UserHistogram("Pre","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
829                   400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
830           histos->UserHistogram("Pre","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
831                   400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
832
833           histos->UserHistogram("Pre","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
834                   400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
835           histos->UserHistogram("Pre","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
836                   400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
837
838           histos->UserHistogram("Pre","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
839                   400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
840           histos->UserHistogram("Pre","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
841                   400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
842
843           histos->UserHistogram("Pre","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
844                   200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
845
846           histos->UserHistogram("Pre","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
847
848   histos->UserHistogram("Pre","ZVertex ","ZVertex ;ZVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kZv);
849   histos->UserHistogram("Pre","XVertex ","XVertex ;XVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kXv);
850   histos->UserHistogram("Pre","YVertex ","YVertex ;YVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kYv);
851
852   histos->UserHistogram("Pre","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
853           */
854   //add histograms to Pair classes For Rejected Pairs:
855   die->SetHistogramManager(histos);
856 }
857
858
859 void InitCF(AliDielectron* die, Int_t cutDefinition)
860 {
861   //
862   // Setupd the CF Manager if needed
863   //
864   AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
865
866   //pair variables
867   cf->AddVariable(AliDielectronVarManager::kP,200,0,20);
868   cf->AddVariable(AliDielectronVarManager::kM,201,-0.01,4.01); //20Mev Steps
869   cf->AddVariable(AliDielectronVarManager::kPairType,10,0,10);
870
871   cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,10.0,30.0,40.0,60.,80.,100.");
872
873   //leg variables
874   cf->AddVariable(AliDielectronVarManager::kP,200,0.,20.,kTRUE);
875     cf->AddVariable(AliDielectronVarManager::kITSsignal,1000,0.0.,1000.,kTRUE);
876   cf->AddVariable(AliDielectronVarManager::kTPCsignal,500,0.0.,500.,kTRUE);
877   cf->AddVariable(AliDielectronVarManager::kHaveSameMother,21,-10,10,kTRUE);
878
879   //only in this case write MC truth info
880   if (MCenabled) {
881         cf->SetStepForMCtruth();
882         cf->SetStepsForMCtruthOnly();
883         cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
884         cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
885   }
886
887   cf->SetStepsForSignal();
888   die->SetCFManagerPair(cf);
889 }
890
891 //--------------------------------------
892 void EnableMC() {
893   MCenabled=kTRUE;
894 }
895
896
897 //  LocalWords:  cutDefinition