1 //#include "PWGDQ/dielectron/macrosLMEE/LMEECutLib.C"
3 void InitHistograms(AliDielectron *die, Int_t cutDefinition);
4 void InitCF(AliDielectron* die, Int_t cutDefinition);
7 TString names=("noPairing;TPCTOFCentwidenoRej;TPCTOFSemiCent1noRej;TPCTOFSemiCent2noRej;TPCTOFPerinoRej;TPCTOFCentRP;TPCTOFSemiCent1RP;TPCTOFSemiCent2RP;TPCTOFPeriRP;TPCTOFCentMag;TPCTOFSemiCent1Mag;TPCTOFSemiCent2Mag;TPCTOFPeriMag;TPCTOFCentnoTOF;NoPIDNoPairing;TPCTOFCentnoRej");
8 TObjArray *arrNames=names.Tokenize(";");
9 const Int_t nDie=arrNames->GetEntries();
11 Bool_t MCenabled=kFALSE;
14 AliDielectron* ConfigAsakoLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, Bool_t ESDanalysis=kFALSE)
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();
26 // Setup the instance of AliDielectron
30 // create the actual framework object
32 TString name=Form("%02d",cutDefinition);
33 if ((cutDefinition)<arrNames->GetEntriesFast()){
34 name=arrNames->At((cutDefinition))->GetName();
37 //thisCut only relevant for MC:
39 new AliDielectron(Form
41 Form("Track cuts: %s",name.Data()));
44 //Setup AnalysisSelection:
45 if (cutDefinition==0) {
48 else if (cutDefinition==1) {
49 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
50 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
51 rejectionStep = kFALSE;
55 else if (cutDefinition==2) {
56 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
57 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
58 rejectionStep = kFALSE;
61 else if (cutDefinition==3) {
62 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
63 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
64 rejectionStep = kFALSE;
68 else if (cutDefinition==4) {
69 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
70 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
71 rejectionStep = kFALSE;
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;
84 else if (cutDefinition==6) {
85 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
86 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
87 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
88 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
89 rejectionStep = kFALSE;
92 else if (cutDefinition==7) {
93 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
94 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
95 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
96 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
97 rejectionStep = kFALSE;
100 else if (cutDefinition==8) {
101 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
102 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
103 selectedPairCut = LMEECutLibAsako::kPbPb2011RP;
104 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
105 rejectionStep = kFALSE;
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;
119 else if (cutDefinition==10) {
120 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
121 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral1;
122 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
123 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
124 rejectionStep = kFALSE;
127 else if (cutDefinition==11) {
128 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
129 selectedCentrality = LMEECutLibAsako::kPbPb2011SemiCentral2;
130 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
131 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
132 rejectionStep = kFALSE;
135 else if (cutDefinition==12) {
136 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOFwide;
137 selectedCentrality = LMEECutLibAsako::kPbPb2011Peripheral;
138 selectedPairCut = LMEECutLibAsako::kPbPb2011Mag;
139 // selectedPairMCut = LMEECutLibAsako::kPbPb2011MassMiddle;
140 rejectionStep = kFALSE;
146 ///////////////////////////////////////////////////////
147 else if (cutDefinition==13) {
148 //selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
149 selectedPID = LMEECutLibAsako::kPbPb2011TPC;
150 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
151 rejectionStep = kFALSE;
154 else if (cutDefinition==14) {
155 selectedPID = LMEECutLibAsako::kPbPb2011NoPID;
156 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
157 rejectionStep = kFALSE;
161 else if (cutDefinition==15) {
162 selectedPID = LMEECutLibAsako::kPbPb2011TPCandTOF;
163 selectedCentrality = LMEECutLibAsako::kPbPb2011Central;
164 rejectionStep = kFALSE;
170 cout << " =============================== " << endl;
171 cout << " ==== INVALID CONFIGURATION ==== " << endl;
172 cout << " =============================== " << endl;
178 //Apply correct Pre-Filter Scheme, if necessary
179 die->SetPreFilterAllSigns();
181 //switch off KF PArticle:
182 die->SetUseKF(kFALSE);
184 if (selectedPID == LMEECutLibAsako::kPbPb2011NoPID) {
188 // if (ESDanalysis) {
189 //die->GetTrackFilter().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) );
192 die->GetEventFilter().AddCuts(LMCL->GetCentralityCuts(selectedCentrality));
193 die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) );
194 die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) );
198 die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) );
199 die->GetPairPreFilter().AddCuts( LMCL->GetPairPreFilterCuts(selectedPairCut));
200 die->GetPairFilter().AddCuts( LMCL->GetPairCuts(selectedPairCut));
203 die->GetPairFilter().AddCuts( LMCL->GetPairCutsInOut(selectedPairCut));
204 // die->GetPairFilter().AddCuts( LMCL->GetPairCuts4(selectedPairMCut));
211 AliDielectronTrackRotator *rot= 0x0;
212 /*AliDielectronTrackRotator *rot= LMCL->GetTrackRotator(selectedPID);
213 die->SetTrackRotator(rot);
215 AliDielectronMixingHandler *mix=LMCL->GetMixingHandler(selectedPID);
216 die->SetMixingHandler(mix);
219 // only if an AliDielectronHistos object is attached to the
220 // dielectron framework histograms will be filled
222 InitHistograms(die,cutDefinition);
224 // the last definition uses no cuts and only the QA histograms should be filled!
225 // InitCF(die,cutDefinition);
230 //______________________________________________________________________________________
232 void InitHistograms(AliDielectron *die, Int_t cutDefinition)
235 // Initialise the histograms
238 //Setup histogram Manager
239 AliDielectronHistos *histos=
240 new AliDielectronHistos(die->GetName(),
242 //Initialise histogram classes
243 histos->SetReservedWords("Track;Pair;Pre;RejTrack;RejPair");
246 // if (cutDefinition==nDie-1)
247 histos->AddClass("Event");
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)));
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)));
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)));
268 if (die->GetTrackRotator()) {
269 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));
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)));
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)));
283 for (Int_t i=0; i<3; ++i){
284 histos->AddClass(Form("RejPair_%s",AliDielectron::PairClassName(i)));
290 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
291 histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
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","Centrality","Centrality;Centrality [%]",100, 0, 100,
299 AliDielectronVarManager::kCentrality);
301 histos->UserHistogram("Event","v0ACrpH2","VZERO-AC;v0ACrpH2",
303 AliDielectronVarManager::kv0ACrpH2);
304 histos->UserHistogram("Event","v0ArpH2","VZERO-A;v0ArpH2",
306 AliDielectronVarManager::kv0ArpH2);
307 histos->UserHistogram("Event","v0CrpH2","VZERO-C;v0CrpH2",
309 AliDielectronVarManager::kv0CrpH2);
311 histos->UserHistogram("Event","Corr_v0ACrpH2","CORR VZERO-AC RP;#Psi_{2}^{V0A} (rad.);#Psi_{2}^{V0C} (rad.)",
312 100,-2.0,2.0.,100,-2.0,2.0,
313 AliDielectronVarManager::kv0ArpH2,AliDielectronVarManager::kv0CrpH2);
315 //add histograms to Track classes
316 /* histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
317 histos->UserHistogram("Track","Px","Px;Px [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPx);
318 histos->UserHistogram("Track","Py","Py;Py [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPy);
319 histos->UserHistogram("Track","Pz","Pz;Pz [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPz);
321 histos->UserHistogram("Track","NclsSFracTPC","NclsSFracTPC; NclsSFracTPC;#tracks",200,0,10.,AliDielectronVarManager::kNclsSFracTPC);
322 histos->UserHistogram("Track","TPCclsDiff","TPCclsDiff; TPCclsDiff;#tracks",200,0,10.,AliDielectronVarManager::kTPCclsDiff);
324 histos->UserHistogram("Track","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
325 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
327 histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
328 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
330 histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
331 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
332 histos->UserHistogram("Track","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
333 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
334 histos->UserHistogram("Track","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
335 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
337 histos->UserHistogram("Track","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
338 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
339 histos->UserHistogram("Track","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
340 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
342 histos->UserHistogram("Track","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
343 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
344 histos->UserHistogram("Track","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
345 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
347 histos->UserHistogram("Track","TOFbeta","TOF beta;P [GeV];TOF beta;#tracks",
348 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta,kTRUE);
351 histos->UserHistogram("Track","Eta","Eta; Eta;#tracks",
352 200,-2,2,AliDielectronVarManager::kEta);
353 histos->UserHistogram("Track","Phi","Phi; Phi;#tracks",
354 200,0.,3.15,AliDielectronVarManager::kPhi);
356 histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
357 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
359 histos->UserHistogram("Track","dXY_dZ","dXY dZ Map; dXY; dZ;#tracks",
360 200,-2,2,200,-2,2.,AliDielectronVarManager::kImpactParXY,AliDielectronVarManager::kImpactParZ);
363 histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
364 histos->UserHistogram("Track","dZ","dZ;dZ [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParZ);
366 histos->UserHistogram("Track","TPCcrossedRowsOverFindable","Number of Crossed Rows TPC over Findable;TPC crossed rows over findable;#tracks",100,0.,1.,AliDielectronVarManager::kNFclsTPCfCross);
367 histos->UserHistogram("Track","TPCcrossedRows","Number of Crossed Rows TPC;TPC crossed rows;#tracks",159,0.,159.,AliDielectronVarManager::kNFclsTPCr);
370 histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
371 histos->UserHistogram("Track","ITSnCls","Number of Clusters ITS;ITS number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsITS);
373 histos->UserHistogram("Track","TPCchi2","TPC Chi2 value;TPC chi2;#tracks",100,0.,10.,AliDielectronVarManager::kTPCchi2Cl);
374 histos->UserHistogram("Track","ITSchi2","ITS Chi2 value;ITS chi2;#tracks",100,0.,10.,AliDielectronVarManager::kITSchi2Cl);
376 histos->UserHistogram("Track","TPCnCls_kNFclsTPCr","nTPC vs nTPCr;nTPC vs nTPCr;#tracks",159,0.,159.,159,0.,159.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);
378 histos->UserHistogram("Track","kNFclsTPCr_pT","nTPCr vs pt;nTPCr vs pt;#tracks",159,0.,159.,200,0.,20.,AliDielectronVarManager::kNFclsTPCr,AliDielectronVarManager::kPt);
382 //add histograms to Pair classes
383 histos->UserHistogram("Pair","InvMassAll","Inv.Mass;Inv. Mass [GeV];#pairs",
384 500,0.0,5.00,AliDielectronVarManager::kM);
385 histos->UserHistogram("Pair","InvMassLow","Inv.Mass;Inv. Mass [GeV];#pairs",
386 300,0.0,0.03,AliDielectronVarManager::kM);
387 histos->UserHistogram("Pair","InvMassMiddle","Inv.Mass;Inv. Mass [GeV];#pairs",
388 180,0.12,0.3,AliDielectronVarManager::kM);
389 histos->UserHistogram("Pair","InvMassHigh","Inv.Mass;Inv. Mass [GeV];#pairs",
390 200,0.3,0.5,AliDielectronVarManager::kM);
393 histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
394 100,-2.,2.,AliDielectronVarManager::kY);
395 histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
396 100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
397 histos->UserHistogram("Pair","PhivPair","PhiV ;#",
398 100,0.,3.15,AliDielectronVarManager::kPhivPair );
400 histos->UserHistogram("Pair","Pt","Pt;Pt [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPt);
401 histos->UserHistogram("Pair","Px","Px;Px [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPx);
402 histos->UserHistogram("Pair","Py","Py;Py [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPy);
403 histos->UserHistogram("Pair","Pz","Pz;Pz [GeV];#tracks",300,0,30.,AliDielectronVarManager::kPz);
404 histos->UserHistogram("Pair","Phi","Phi;Phi[rad];#counts",100,-3.15,3.15,AliDielectronVarManager::kPhi );
407 histos->UserHistogram("Pair","DeltaPhiv0ArpH2","Phi;Phi[rad];#counts",
408 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ArpH2);
409 histos->UserHistogram("Pair","DeltaPhiv0CrpH2","Phi;Phi[rad];#counts",
410 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0CrpH2);
411 histos->UserHistogram("Pair","DeltaPhiv0ACrpH2","Phi;Phi[rad];#counts",
412 100,-3.15,3.15,AliDielectronVarManager::kDeltaPhiv0ACrpH2);
415 histos->UserHistogram("Pair","PairPlanev0ACrpH2Angle","Phi;Phi[rad];#counts",
416 100,0,1.6,AliDielectronVarManager::kPairPlanev0rpH2Angle);
417 histos->UserHistogram("Pair","PairPlaneMagAngle","Phi;Phi[rad];#counts",
418 100,0,1.6,AliDielectronVarManager::kPairPlaneMagAngle);
422 histos->UserHistogram("Pair","InvMassALLPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
423 1000,0.0,5.0,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
424 histos->UserHistogram("Pair","InvMassALL2PairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
425 500,0.0,0.5,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
426 histos->UserHistogram("Pair","InvMassLowPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
427 300,0.0,0.03,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
428 histos->UserHistogram("Pair","InvMassMiddlePairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
429 180,0.12,0.3,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
430 histos->UserHistogram("Pair","InvMassHighPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
431 200,0.3,0.5,500,0.,50.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);
435 histos->UserHistogram("Pair","InvMassALLPhivPair","PhivPair vs Inv. Mass;Inv. Mass [GeV]; Phiv",
436 1000,0.0,5.0,200,0.,4,AliDielectronVarManager::kM,AliDielectronVarManager::kPhivPair);
437 histos->UserHistogram("Pair","InvMassALL2PhivPair","PhivPair vs Inv. Mass;Inv. Mass [GeV]; Phiv",
438 500,0.0,0.50,200,0.,4,AliDielectronVarManager::kM,AliDielectronVarManager::kPhivPair);
439 histos->UserHistogram("Pair","InvMassLowPhivPair","PhivPair vs Inv. Mass;Inv. Mass [GeV]; Phiv",
440 300,0.0,0.03,200,0.,4,AliDielectronVarManager::kM,AliDielectronVarManager::kPhivPair);
441 histos->UserHistogram("Pair","InvMassMiddlePhivPair","PhivPair vs Inv. Mass;Inv. Mass [GeV]; Phiv",
442 180,0.12,0.3,200,0.,4,AliDielectronVarManager::kM,AliDielectronVarManager::kPhivPair);
443 histos->UserHistogram("Pair","InvMassHighPhivPair","PhivPair vs Inv. Mass;Inv. Mass [GeV]; Phiv",
444 200,0.3,0.50,200,0.,4,AliDielectronVarManager::kM,AliDielectronVarManager::kPhivPair);
446 histos->UserHistogram("Pair","InvMassAllOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
447 1000,0.0,5.0,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
448 histos->UserHistogram("Pair","InvMassAll2OpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
449 500,0.0,0.5,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
450 histos->UserHistogram("Pair","InvMassLowOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
451 300,0.0,0.03,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
452 histos->UserHistogram("Pair","InvMassMiddleOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
453 180,0.12,0.3,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
454 histos->UserHistogram("Pair","InvMassHighOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
455 200,0.3,0.5,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);
460 histos->UserHistogram("Pair","InvMassAllPairplaneMagAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
461 1000,0.0,5.0,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagAngle);
462 histos->UserHistogram("Pair","InvMassAll2PairplaneMagAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
463 500,0.0,0.50,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagAngle);
464 histos->UserHistogram("Pair","InvMassLoweeplaneMagAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
465 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagAngle);
466 histos->UserHistogram("Pair","InvMassMiddleeelaneMagAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
467 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagAngle);
468 histos->UserHistogram("Pair","InvMassHighPairplaneMagAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
469 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlaneMagAngle);
471 histos->UserHistogram("Pair","InvMassAllPairplaneRPAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
472 1000,0.0,5.0,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlanev0rpH2Angle);
473 histos->UserHistogram("Pair","InvMassAll2PairplaneRPAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
474 500,0.0,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlanev0rpH2Angle);
475 histos->UserHistogram("Pair","InvMassLoweeplaneRPAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
476 300,0.0,0.03,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlanev0rpH2Angle);
477 histos->UserHistogram("Pair","InvMassMiddleeelaneRPAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
478 180,0.12,0.3,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlanev0rpH2Angle);
479 histos->UserHistogram("Pair","InvMassHighPairplaneRPAngle","ee plane and Mag Vector Angle vs Inv.Mass;Inv. Mass [GeV];Phi [rad]",
480 200,0.3,0.5,100,0.,3.15,AliDielectronVarManager::kM,AliDielectronVarManager::kPairPlanev0rpH2Angle);
485 //add histograms to Track classes
486 /* histos->UserHistogram("Pre","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
488 histos->UserHistogram("Pre","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
489 400,0.0,20.,1000,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);
491 histos->UserHistogram("Pre","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
492 400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
495 histos->UserHistogram("Pre","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
496 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
497 histos->UserHistogram("Pre","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
498 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
499 histos->UserHistogram("Pre","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
500 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
502 histos->UserHistogram("Pre","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
503 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
504 histos->UserHistogram("Pre","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
505 400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);
507 histos->UserHistogram("Pre","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
508 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
509 histos->UserHistogram("Pre","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
510 400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
512 histos->UserHistogram("Pre","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
513 200,-2,2,200,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
515 histos->UserHistogram("Pre","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);
517 histos->UserHistogram("Pre","ZVertex ","ZVertex ;ZVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kZv);
518 histos->UserHistogram("Pre","XVertex ","XVertex ;XVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kXv);
519 histos->UserHistogram("Pre","YVertex ","YVertex ;YVertex[cm];#tracks",20,-20,20,AliDielectronVarManager::kYv);
521 histos->UserHistogram("Pre","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
523 //add histograms to Pair classes For Rejected Pairs:
524 die->SetHistogramManager(histos);
528 void InitCF(AliDielectron* die, Int_t cutDefinition)
531 // Setupd the CF Manager if needed
533 AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
536 cf->AddVariable(AliDielectronVarManager::kP,200,0,20);
537 // cf->AddVariable(AliDielectronVarManager::kPt,200,0,20);// added
538 cf->AddVariable(AliDielectronVarManager::kM,201,-0.01,4.01); //20Mev Steps
539 //cf->AddVariable(AliDielectronVarManager::kM, 1000,0,5.00); //5Mev Steps
540 cf->AddVariable(AliDielectronVarManager::kPairType,10,0,10);
541 //cf->AddVariable(AliDielectronVarManager::kCentrality,100, 0, 100);
544 cf->AddVariable(AliDielectronVarManager::kCentrality,"0.,10.0,30.0,40.0,60.,80.,100.");
547 cf->AddVariable(AliDielectronVarManager::kP,200,0.,20.,kTRUE);
548 cf->AddVariable(AliDielectronVarManager::kITSsignal,1000,0.0.,1000.,kTRUE);
549 cf->AddVariable(AliDielectronVarManager::kTPCsignal,500,0.0.,500.,kTRUE);
550 cf->AddVariable(AliDielectronVarManager::kHaveSameMother,21,-10,10,kTRUE);
552 //only in this case write MC truth info
554 cf->SetStepForMCtruth();
555 cf->SetStepsForMCtruthOnly();
556 cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
557 cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
560 cf->SetStepsForSignal();
561 die->SetCFManagerPair(cf);
564 //--------------------------------------