]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011.C
change analysis macros
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / ConfigLMEEPbPb2011.C
CommitLineData
6be5eb30 1void InitHistograms(AliDielectron *die, Int_t cutDefinition);
2void InitCF(AliDielectron* die, Int_t cutDefinition);
3void EnableMC();
4
1350e718 5TString names=("noPairing;TPCTOFCentnoRej;TPCTOFSemiCentnoRej;TPCTOFPerinoRej;TPCTOFCent;TPCTOFSemiCent;TPCTOFPeri;TPCTOFCentnoRejTight;TPCTOFCentTight;TPCTOFCentPhiV;TPCTOFSemiCentPhiV;TPCTOFPeriPhiV;TPCTOFCentOA;TPCTOFSemiCentOA;TPCTOFPeriOA");
6be5eb30 6TObjArray *arrNames=names.Tokenize(";");
7const Int_t nDie=arrNames->GetEntries();
8
9Bool_t MCenabled=kFALSE;
10
11
52d0fcc6 12AliDielectron* ConfigLMEEPbPb2011(Int_t cutDefinition, Bool_t withMC=kFALSE, Bool_t CFenable=kFALSE)
6be5eb30 13{
14
15 Int_t selectedPID=-1;
16 Int_t selectedCentrality=-1;
17 Bool_t rejectionStep=kFALSE;
18 LMEECutLib* LMCL = new LMEECutLib();
19
20 //
21 // Setup the instance of AliDielectron
22 //
23
52d0fcc6 24 MCenabled=withMC;
6be5eb30 25 // create the actual framework object
26
27 TString name=Form("%02d",cutDefinition);
28 if ((cutDefinition)<arrNames->GetEntriesFast()){
29 name=arrNames->At((cutDefinition))->GetName();
30 }
31
32 //thisCut only relevant for MC:
33 AliDielectron *die =
34 new AliDielectron(Form
35 ("%s",name.Data()),
36 Form("Track cuts: %s",name.Data()));
37
38
44f488b6 39 if (MCenabled)
40 die->SetHasMC(kTRUE);
41
42
6be5eb30 43 //Setup AnalysisSelection:
44 if (cutDefinition==0) {
45 //not yet implemented
46 }
47 else if (cutDefinition==1) {
8d5670a6 48 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 49 selectedCentrality = LMEECutLib::kPbPb2011Central;
50 rejectionStep = kFALSE;
51 }
52 else if (cutDefinition==2) {
8d5670a6 53 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 54 selectedCentrality = LMEECutLib::kPbPb2011SemiCentral;
55 rejectionStep = kFALSE;
56 }
57 else if (cutDefinition==3) {
8d5670a6 58 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 59 selectedCentrality = LMEECutLib::kPbPb2011Peripheral;
60 rejectionStep = kFALSE;
61 }
62 else if (cutDefinition==4) {
8d5670a6 63 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 64 selectedCentrality = LMEECutLib::kPbPb2011Central;
65 rejectionStep = kTRUE;
66 }
67 else if (cutDefinition==5) {
8d5670a6 68 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 69 selectedCentrality = LMEECutLib::kPbPb2011SemiCentral;
70 rejectionStep = kTRUE;
71 }
72 else if (cutDefinition==6) {
8d5670a6 73 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
6be5eb30 74 selectedCentrality = LMEECutLib::kPbPb2011Peripheral;
75 rejectionStep = kTRUE;
76 }
8d5670a6 77
78//Legacy cuts, check consistence w/ 1 & 4, then remove
79 else if (cutDefinition==7) {
52d0fcc6 80 selectedPID = LMEECutLib::kPbPb2011TPCandTOF;
8d5670a6 81 selectedCentrality = LMEECutLib::kPbPb2011Central;
82 rejectionStep = kFALSE;
83 }
84 else if (cutDefinition==8) {
52d0fcc6 85 selectedPID = LMEECutLib::kPbPb2011TPCandTOF;
8d5670a6 86 selectedCentrality = LMEECutLib::kPbPb2011Central;
87 rejectionStep = kTRUE;
88 }
89
54beba6b 90 else if (cutDefinition==9) {
91 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
92 selectedCentrality = LMEECutLib::kPbPb2011Central;
93 rejectionStep = kFALSE;
94 }
95 else if (cutDefinition==10) {
96 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
97 selectedCentrality = LMEECutLib::kPbPb2011SemiCentral;
98 rejectionStep = kFALSE;
99 }
100 else if (cutDefinition==11) {
101 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
102 selectedCentrality = LMEECutLib::kPbPb2011Peripheral;
103 rejectionStep = kFALSE;
104 }
1350e718 105//OA:
106 else if (cutDefinition==12) {
107 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
108 selectedCentrality = LMEECutLib::kPbPb2011Central;
109 rejectionStep = kFALSE;
110 }
111 else if (cutDefinition==13) {
112 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
113 selectedCentrality = LMEECutLib::kPbPb2011SemiCentral;
114 rejectionStep = kFALSE;
115 }
116 else if (cutDefinition==14) {
117 selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
118 selectedCentrality = LMEECutLib::kPbPb2011Peripheral;
119 rejectionStep = kFALSE;
120 }
54beba6b 121
6be5eb30 122 else Semi{
123 cout << " =============================== " << endl;
124 cout << " ==== INVALID CONFIGURATION ==== " << endl;
125 cout << " =============================== " << endl;
126 }
127
128
129 //Now configure task
130
131 //Apply correct Pre-Filter Scheme, if necessary
132 die->SetPreFilterAllSigns();
133
134 if (rejectionStep) {
9a476b26 135 //for Pb-Pb, only use tight PID (combinatorics) for rejection
136 die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
137 //die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsPre(selectedPID) );
6be5eb30 138 die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
139 die->GetPairPreFilter().AddCuts(LMCL->GetPairCuts(selectedPID) );
140 }
141 else { //No Prefilter, no Pairfilter
142 die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
54beba6b 143 if ((cutDefinition >=9) && (cutDefinition <=11)) {
1350e718 144 die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kFALSE));
145 }
146 if ((cutDefinition >=12) && (cutDefinition <=14)) {
147 die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kTRUE));
54beba6b 148 }
6be5eb30 149 }
150 //Introduce NULL-check for pp?
151 die->GetEventFilter().AddCuts(LMCL->GetCentralityCuts(selectedCentrality));
152
153
154
155
156 AliDielectronTrackRotator *rot= 0x0;
157 /*AliDielectronTrackRotator *rot= LMCL->GetTrackRotator(selectedPID);
158 die->SetTrackRotator(rot);
159 */
160 AliDielectronMixingHandler *mix=LMCL->GetMixingHandler(selectedPID);
161 die->SetMixingHandler(mix);
162
163 // histogram setup
164 // only if an AliDielectronHistos object is attached to the
165 // dielectron framework histograms will be filled
166 //
167 InitHistograms(die,cutDefinition);
168
169 // the last definition uses no cuts and only the QA histograms should be filled!
44f488b6 170 if (CFenable) {
10f27616 171 InitCF(die,cutDefinition);
172 }
6be5eb30 173 return die;
174}
175
176//______________________________________________________________________________________
177
178void InitHistograms(AliDielectron *die, Int_t cutDefinition)
179{
180 //
181 // Initialise the histograms
182 //
183
184 //Setup histogram Manager
185 AliDielectronHistos *histos=
186 new AliDielectronHistos(die->GetName(),
187 die->GetTitle());
188 //Initialise histogram classes
189 histos->SetReservedWords("Track;Pair;Pre;RejTrack;RejPair");
190
191 //Event class
192// if (cutDefinition==nDie-1)
7f5f1ec3 193 histos->AddClass("Event");
6be5eb30 194
195 //Track classes
196 //to fill also track info from 2nd event loop until 2
197 for (Int_t i=0; i<2; ++i){
198 histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
199 }
200
201 //Pair classes
202 // to fill also mixed event histograms loop until 10
203 for (Int_t i=0; i<3; ++i){
204 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
205 }
206
207 //ME and track rot
208 if (die->GetMixingHandler()) {
209 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3)));
210 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));
211 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));
212 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7)));
213 }
214 if (die->GetTrackRotator()) {
215 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));
216 }
217
218 //PreFilter Classes
219 //to fill also track info from 2nd event loop until 2
220 for (Int_t i=0; i<2; ++i){
221 histos->AddClass(Form("Pre_%s",AliDielectron::TrackClassName(i)));
222 }
223
224
225 //Create Classes for Rejected Tracks/Pairs:
7f5f1ec3 226 for (Int_t i=0; i<2; ++i){
227 histos->AddClass(Form("RejTrack_%s",AliDielectron::TrackClassName(i)));
6be5eb30 228 }
229 for (Int_t i=0; i<3; ++i){
230 histos->AddClass(Form("RejPair_%s",AliDielectron::PairClassName(i)));
231 }
232
233 /*
234 //track rotation
235
236 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
237 histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
238 */
239 //add histograms to event class
240 histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",
241 1,0.,1.,AliDielectronVarManager::kNevents);
242 histos->UserHistogram("Event","Centrality","Centrality;Centrality [%]","0,10,20,40,80,100,101",
243 AliDielectronVarManager::kCentrality);
244
245
7f5f1ec3 246 //add histograms to Track classes, also fills RejTrack
6be5eb30 247 histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
248 histos->UserHistogram("Track","NclsSFracTPC","NclsSFracTPC; NclsSFracTPC;#tracks",200,0,10.,AliDielectronVarManager::kNclsSFracTPC);
249 histos->UserHistogram("Track","TPCclsDiff","TPCclsDiff; TPCclsDiff;#tracks",200,0,10.,AliDielectronVarManager::kTPCclsDiff);
250
251 histos->UserHistogram("Track","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
252 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
253
254 histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
255 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
256
257 histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
258 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
259 histos->UserHistogram("Track","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
260 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
261 histos->UserHistogram("Track","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
262 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
263
264 histos->UserHistogram("Track","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
265 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
266 histos->UserHistogram("Track","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
267 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
268
269 histos->UserHistogram("Track","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
270 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
271 histos->UserHistogram("Track","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
272 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
273
274 histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
275 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
276
277 histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
278
279 histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
280
281 histos->UserHistogram("Track","TPCnCls_kNFclsTPCr","nTPC vs nTPCr;nTPC vs nTPCr;#tracks",159,0.,159.,159,0.,159.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
282
283 histos->UserHistogram("Track","kNFclsTPCr_pT","nTPCr vs pt;nTPCr vs pt;#tracks",159,0.,159.,200,0.,20.,AliDielectronVarManager::kNFclsTPCr,AliDielectronVarManager::kPt);
284
7f5f1ec3 285 //add histograms to Pair classes, also fills RejPair
6be5eb30 286 histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
287 500,0.0,5.00,AliDielectronVarManager::kM);
288 histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
289 100,-2.,2.,AliDielectronVarManager::kY);
024191fd 290 histos->UserHistogram("Pair","DeltaEta","DeltaEta;DeltaEta",
291 100,0.,3.15,AliDielectronVarManager::kDeltaEta);
292 histos->UserHistogram("Pair","DeltaPhi","DeltaPhi;DeltaPhi",
293 100,0.,3.15,AliDielectronVarManager::kDeltaPhi);
54beba6b 294 histos->UserHistogram("Pair","PhivPair","PhivPair;angle",
295 100,0.,3.15,AliDielectronVarManager::kPhivPair);
296 histos->UserHistogram("Pair","PsiPair","PsiPair;angle",
297 100,0.,3.15,AliDielectronVarManager::kPsiPair);
6be5eb30 298 histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
299 100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
300 //2D Histo Plot
301 histos->UserHistogram("Pair","InvMassPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
302 500,0.0,5.0,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
303
54beba6b 304
305 histos->UserHistogram("Pair","PsiPairPhivPair","PhivPair vs PsiPair;PsiPair ;#pairs",
306 200,0.0,6.3,200,0.,6.3,AliDielectronVarManager::kPsiPair,AliDielectronVarManager::kPhivPair);
307
308 histos->UserHistogram("Pair","PhivPairOpeningAngle","Opening Angle vs PhivPair;PhivPair [GeV];#pairs",
309 200,0.0,6.3,200,0.,6.3,AliDielectronVarManager::kPhivPair,AliDielectronVarManager::kOpeningAngle);
310
311 histos->UserHistogram("Pair","PsiPairOpeningAngle","Opening Angle vs PsiPair;PsiPair [GeV];#pairs",
312 200,0.0,6.3,200,0.,6.3,AliDielectronVarManager::kPsiPair,AliDielectronVarManager::kOpeningAngle);
313
6be5eb30 314 histos->UserHistogram("Pair","InvMassOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
315 500,0.0,5.0,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
316
317 //add histograms to Track classes
318 histos->UserHistogram("Pre","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
319
320 histos->UserHistogram("Pre","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
321 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
322
323 histos->UserHistogram("Pre","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
324 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
325
6be5eb30 326 histos->UserHistogram("Pre","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
327 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
328
329 histos->UserHistogram("Pre","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
330
331 histos->UserHistogram("Pre","ZVertex ","ZVertex ;ZVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kZv);
332 histos->UserHistogram("Pre","XVertex ","XVertex ;XVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kXv);
333 histos->UserHistogram("Pre","YVertex ","YVertex ;YVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kYv);
334
7f5f1ec3 335// histos->UserHistogram("Pre","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
6be5eb30 336
6be5eb30 337
338 die->SetHistogramManager(histos);
339}
340
341
342void InitCF(AliDielectron* die, Int_t cutDefinition)
343{
344 //
345 // Setupd the CF Manager if needed
346 //
347 AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
348
349 //pair variables
350 cf->AddVariable(AliDielectronVarManager::kP,200,0,20);
44f488b6 351 cf->AddVariable(AliDielectronVarManager::kPt,200,0,20);
6be5eb30 352 cf->AddVariable(AliDielectronVarManager::kM,201,-0.01,4.01); //20Mev Steps
09f4a504 353 cf->AddVariable(AliDielectronVarManager::kY,100,-2.,2.);
024191fd 354 cf->AddVariable(AliDielectronVarManager::kDeltaEta,200,-2.,2.);
355 cf->AddVariable(AliDielectronVarManager::kDeltaPhi,100,0.,3.2);
6be5eb30 356 cf->AddVariable(AliDielectronVarManager::kPairType,10,0,10);
357
358 cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,10.0,30.0,40.0,60.,80.,100.");
09f4a504 359 cf->AddVariable(AliDielectronVarManager::kOpeningAngle,320,0.,3.2);
f67d7c09 360 cf->AddVariable(AliDielectronVarManager::kPsiPair,320,0.,3.2);
6be5eb30 361 //leg variables
362 cf->AddVariable(AliDielectronVarManager::kP,200,0.,20.,kTRUE);
44f488b6 363 cf->AddVariable(AliDielectronVarManager::kPt,200,0.,20.,kTRUE);
364 cf->AddVariable(AliDielectronVarManager::kITSsignal,1000,0.0.,1000.,kTRUE);
6be5eb30 365 cf->AddVariable(AliDielectronVarManager::kTPCsignal,500,0.0.,500.,kTRUE);
09f4a504 366 cf->AddVariable(AliDielectronVarManager::kY,100,-2.,2.,kTRUE);
6be5eb30 367 //only in this case write MC truth info
368 if (MCenabled) {
369 cf->SetStepForMCtruth();
370 cf->SetStepsForMCtruthOnly();
09f4a504 371 cf->AddVariable(AliDielectronVarManager::kHaveSameMother,5,-2,2);
6be5eb30 372 cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
373 cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
374 }
375
f67d7c09 376//Added after train commit
377 cf->SetStepsForEachCut();
378 cf->SetStepForAfterAllCuts();
379
380
6be5eb30 381 cf->SetStepsForSignal();
382 die->SetCFManagerPair(cf);
10f27616 383
9a476b26 384/*
10f27616 385 AliDielectronSignalMC* lowMassDiele=new
386 AliDielectronSignalMC("lowMassDiele","low mass dielectron pairs");
387 lowMassDiele->SetLegPDGs(11,-11);
388 lowMassDiele->SetCheckBothChargesLegs(kTRUE,kTRUE);
389 lowMassDiele->SetLegSources(AliDielectronSignalMC::kPrimary,
390 AliDielectronSignalMC::kPrimary);
391 lowMassDiele->SetFillPureMCStep(kTRUE);
392 die->AddSignalMC(lowMassDiele);
393
394 AliDielectronSignalMC* secondary=new
395 AliDielectronSignalMC("secondary","secondary electrons pairs");
396 secondary->SetLegPDGs(11,-11);
397 secondary->SetCheckBothChargesLegs(kTRUE,kTRUE);
398 secondary->SetLegSources(AliDielectronSignalMC::kSecondary,
399 AliDielectronSignalMC::kSecondary);
400 die->AddSignalMC(secondary);
401
402
403 AliDielectronSignalMC* finalState=new
404 AliDielectronSignalMC("finalState","finalState electrons pairs");
405 finalState->SetLegPDGs(11,-11);
406 finalState->SetCheckBothChargesLegs(kTRUE,kTRUE);
407 finalState->SetLegSources(AliDielectronSignalMC::kFinalState,
408 AliDielectronSignalMC::kFinalState);
409 die->AddSignalMC(finalState);
9a476b26 410*/
10f27616 411
f67d7c09 412 AliDielectronSignalMC* eleFromConversions=new
413 AliDielectronSignalMC("eleFromConversions","conversion electrons");
414 eleFromConversions->SetLegPDGs(11,-11);
415 eleFromConversions->SetCheckBothChargesLegs(kTRUE,kTRUE);
416 eleFromConversions->SetLegSources(AliDielectronSignalMC::kSecondary,
417 AliDielectronSignalMC::kSecondary);
418 eleFromConversions->SetMotherPDGs(22,22); // 22- photon
419 die->AddSignalMC(eleFromConversions);
420
421
422 AliDielectronSignalMC* dalitzDecays=new
423 AliDielectronSignalMC("dalitzDecays","dalitz Pairs");
424 dalitzDecays->SetLegPDGs(11,-11);
425 dalitzDecays->SetCheckBothChargesLegs(kTRUE,kTRUE);
426 dalitzDecays->SetLegSources(AliDielectronSignalMC::kSecondary,
427 AliDielectronSignalMC::kSecondary);
428 dalitzDecays->SetMotherPDGs(111,111);
429 dalitzDecays->SetFillPureMCStep(kTRUE);
430 die->AddSignalMC(dalitzDecays);
431
9a476b26 432
433 AliDielectronSignalMC* PhiDecays=new
434 AliDielectronSignalMC("PhiDecays","Phi Pairs");
435 PhiDecays->SetLegPDGs(11,-11);
436 PhiDecays->SetCheckBothChargesLegs(kTRUE,kTRUE);
437 PhiDecays->SetLegSources(AliDielectronSignalMC::kFinalState,
438 AliDielectronSignalMC::kFinalState);
439 PhiDecays->SetMotherPDGs(333,333);
440 PhiDecays->SetMothersRelation(AliDielectronSignalMC::kSame);
441 PhiDecays->SetFillPureMCStep(kTRUE);
442 die->AddSignalMC(PhiDecays);
443
444 AliDielectronSignalMC* OmegaDecays=new
445 AliDielectronSignalMC("OmegaDecays","Omega Pairs");
446 OmegaDecays->SetLegPDGs(11,-11);
447 OmegaDecays->SetCheckBothChargesLegs(kTRUE,kTRUE);
448 OmegaDecays->SetLegSources(AliDielectronSignalMC::kFinalState,
449 AliDielectronSignalMC::kFinalState);
450 OmegaDecays->SetMotherPDGs(223,223);
451 OmegaDecays->SetMothersRelation(AliDielectronSignalMC::kSame);
452 OmegaDecays->SetFillPureMCStep(kTRUE);
453 die->AddSignalMC(OmegaDecays);
454
f67d7c09 455
456
6be5eb30 457}
458
459//--------------------------------------
460void EnableMC() {
461 MCenabled=kTRUE;
462}
463