1 void InitHistograms(AliDielectron *die, Int_t cutDefinition);
\r
2 void InitCF(AliDielectron* die, Int_t cutDefinition);
\r
4 void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
\r
6 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
\r
7 AliDielectronPID *SetPIDcuts(Int_t cutDefinition);
\r
11 TString names= ("nopid;SPDBoth+ITSNcls2+TPCTOF;SPDFisrt+ITSNcls2+TPCTOF;SPDBoth+ITSNcls3+TPCTOF;SPDFirst+ITSNcls3+TPCTOF;SPDFirst+ITSNcls3+TPCTOF+phiv;SPDFirst+ITSNcls3+TPCTOFloose+phiv");
\r
17 TObjArray *arrNames=names.Tokenize(";");
\r
18 const Int_t nDie=arrNames->GetEntriesFast();
\r
20 AliDielectron* Config_shin_pPb(Int_t cutDefinition=1)
\r
23 // Setup the instance of AliDielectron
\r
26 // create the actual framework object
\r
27 TString name=Form("%02d",cutDefinition);
\r
28 if (cutDefinition<arrNames->GetEntriesFast()){
\r
29 name=arrNames->At(cutDefinition)->GetName();
\r
31 AliDielectron *die =
\r
32 new AliDielectron(Form("%s",name.Data()),
\r
33 Form("Track cuts: %s",name.Data()));
\r
37 AliDielectronTrackRotator *rot = new AliDielectronTrackRotator;
\r
38 rot->SetConeAnglePhi(TMath::Pi());
\r
39 rot->SetIterations(10);
\r
40 die->SetTrackRotator(rot);
\r
45 AliDielectronMixingHandler *mix = new AliDielectronMixingHandler;
\r
46 mix->SetMixType(AliDielectronMixingHandler::kAll);
\r
47 mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10., -7.5, -5., -2.5 , 0., 2.5, 5., 7.5 , 10.");
\r
49 die->SetMixingHandler(mix);
\r
54 SetupTrackCuts(die,cutDefinition);
\r
55 SetupPairCuts(die,cutDefinition);
\r
58 // only if an AliDielectronHistos object is attached to the
\r
59 // dielectron framework histograms will be filled
\r
60 InitHistograms(die,cutDefinition);
\r
61 // InitCF(die,cutDefinition);
\r
68 //______________________________________________________________________________________
\r
69 void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
\r
72 // Setup the track cuts
\r
75 die->SetPreFilterAllSigns();
\r
76 //pairing with TLorentzVector
\r
77 die->SetUseKF(kFALSE);
\r
79 AliDielectronTrackCuts *TrackCuts = new AliDielectronTrackCuts("StandardCuts","StandardCut");
\r
81 TrackCuts->SetRequireTPCRefit(kTRUE);
\r
82 TrackCuts->SetRequireITSRefit(kTRUE);
\r
84 if(cutDefinition == 1|cutDefinition ==3) TrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth);
\r
85 if(cutDefinition == 0|cutDefinition ==2) TrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
\r
86 if(cutDefinition > 3) TrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth);
\r
87 die->GetTrackFilter().AddCuts(TrackCuts);
\r
89 AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("varCuts","varCuts");
\r
90 varCuts->AddCut(AliDielectronVarManager::kPt,0.2,100.);
\r
91 varCuts->AddCut(AliDielectronVarManager::kEta,-0.8,0.8);
\r
92 varCuts->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
\r
93 varCuts->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
\r
94 varCuts->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
\r
97 varCuts->AddCut(AliDielectronVarManager::kNclsTPC,80.,500.);
\r
98 varCuts->AddCut(AliDielectronVarManager::kNFclsTPC,100.,500.); // or NFclsTPCr?
\r
99 varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
\r
100 varCuts->AddCut(AliDielectronVarManager::kNFclsTPCfCross,0.5,500.);
\r
102 if( cutDefinition==1 | cutDefinition ==2 ){
\r
103 varCuts->AddCut(AliDielectronVarManager::kNclsITS,2.,7.);
\r
105 else{varCuts->AddCut(AliDielectronVarManager::kNclsITS,3.,7.);}
\r
107 die->GetTrackFilter().AddCuts(varCuts);
\r
110 if(cutDefinition > 0){
\r
111 AliDielectronPID *pid = new AliDielectronPID("pid","pid");
\r
112 pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,100.,kFALSE);
\r
113 pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,4.,0.2,100.,kTRUE);
\r
114 if(cutDefinition < 6)
\r
115 pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 5., kFALSE);
\r
116 if(cutDefinition==6 )
\r
117 pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 2., kFALSE);
\r
118 die->GetTrackFilter().AddCuts(pid);
\r
122 //----------------------------------Pair Cut-------------------------------------------
\r
123 void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
\r
125 if(cutDefinition > 4){
\r
126 AliDielectronVarCuts *PhiV = new AliDielectronVarCuts("PhiV","PhiV");//mass and Phiv together
\r
127 PhiV->AddCut(AliDielectronVarManager::kM, 0. , 0.05);
\r
128 PhiV->AddCut(AliDielectronVarManager::kPhivPair, 2.5 , 3.2);
\r
129 die->GetPairPreFilter().AddCuts(PhiV);
\r
131 // AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","conversion tagging");
\r
132 // noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
\r
133 // die->GetTrackFilter().AddCuts(noconv);
\r
137 //______________________________________________________________________________________
\r
138 AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition)
\r
141 AliESDtrackCuts *fesdTrackCuts = new AliESDtrackCuts;
\r
146 fesdTrackCuts->SetPtRange( 0.2 , 100. );
\r
147 //if(cutDefinition > 1 ) fesdTrackCuts->SetPtRange( 3. , 4. );
\r
148 fesdTrackCuts->SetAcceptKinkDaughters(kFALSE);
\r
149 fesdTrackCuts->SetRequireSigmaToVertex(kFALSE);
\r
150 fesdTrackCuts->SetDCAToVertex2D(kFALSE);
\r
151 fesdTrackCuts->SetMaxDCAToVertexZ(3.);
\r
152 fesdTrackCuts->SetMaxDCAToVertexXY(1.);
\r
153 fesdTrackCuts->SetEtaRange( -0.8 , 0.8 );
\r
156 fesdTrackCuts->SetRequireITSRefit(kTRUE);
\r
157 fesdTrackCuts->SetMinNClustersITS(3);
\r
158 if(cutDefinition == 6)fesdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth);
\r
159 else fesdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
\r
163 fesdTrackCuts->SetRequireTPCRefit(kTRUE);
\r
164 fesdTrackCuts->SetMinNClustersTPC(80);
\r
165 fesdTrackCuts->SetMinNCrossedRowsTPC(100);
\r
166 fesdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.5);
\r
167 fesdTrackCuts->SetMaxChi2PerClusterTPC(4);
\r
168 return fesdTrackCuts;
\r
173 //______________________________________________________________________________________
\r
174 void InitHistograms(AliDielectron *die, Int_t cutDefinition)
\r
177 // Initialise the histograms
\r
180 //Setup histogram classes
\r
181 AliDielectronHistos *histos=
\r
182 new AliDielectronHistos(die->GetName(),
\r
187 //Initialise histogram classes
\r
188 histos->SetReservedWords("Track;Pair");
\r
191 histos->AddClass("Event");
\r
195 //to fill also track info from 2nd event loop until 2
\r
196 for (Int_t i=0; i<2; ++i){
\r
197 histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
\r
201 // to fill also mixed event histograms loop until 10
\r
203 for (Int_t i=0; i<3; ++i){
\r
204 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
\r
209 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3))); //ME ++
\r
210 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));//ME -+
\r
211 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));//ME +-
\r
212 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7))); // ME --
\r
215 if(kRot)histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));//Rot
\r
218 //add histograms to event class
\r
219 histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",1,0,1,AliDielectronVarManager::kNevents);
\r
220 histos->UserHistogram("Event","ZVertex","ZVertex;ZVertex/cm",480,-12.,12.,AliDielectronVarManager::kZvPrim);
\r
221 histos->UserHistogram("Event","nESDTracks","ESD tracks;ESD tracks;Number events",100,0,200,AliDielectronVarManager::kTracks);
\r
222 histos->UserHistogram("Event","Nacc","Number of accepted tracks;Number events",100,0,200,AliDielectronVarManager::kNacc);
\r
223 histos->UserHistogram("Event","NVtxContrib","Number of Vertex Contributor;NVtx;Number events",100,0,100,AliDielectronVarManager::kNVtxContrib);
\r
226 //add histograms to Track classes
\r
227 histos->UserHistogram("Track","P","P;P [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPIn);
\r
228 histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPt);
\r
229 histos->UserHistogram("Track","Eta","Eta; Eta ;#tracks",100,-1.,1.,AliDielectronVarManager::kEta);
\r
230 histos->UserHistogram("Track","Phi","Phi; Phi ;#tracks",640,0.,6.4,AliDielectronVarManager::kPhi);
\r
233 histos->UserHistogram("Track","Eta_phi","Eta vs Phi;Eta;Phi",500,-1.,1.,320,0.,6.4,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
\r
234 histos->UserHistogram("Track","Eta_pt","Eta vs Pt;Eta;Pt",100,-1.,1.,500,0.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kPt);
\r
235 histos->UserHistogram("Track","Phi_pt","Phi vs Pt;Phi;Pt",640,0,6.4.,500,0.,10.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kPt);
\r
237 // histos->UserHistogram("Track","ImpParXY_Pt","ImpParXY_Pt; Pt; ÍmpParXY",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParXY);
\r
238 // histos->UserHistogram("Track","ImpParZ_Pt","ImpParZ_Pt; Pt; ÍmpParZ",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParZ);
\r
241 //track checks (ITS)
\r
242 // histos->UserHistogram("Track","ITSchi2Cl_Mom","ITS Chi2 vs Momentum;Mom;ITS chi2",500,0.,5.,50,0.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSchi2Cl);
\r
243 // histos->UserHistogram("Track","NclsITS_Mom",";Mom;kNclsITS",500,0.,5.,7,0,7,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsITS);
\r
245 //track checks (TPC)
\r
246 histos->UserHistogram("Track","TPCsignalNfrac_Mom",";fraction TPCSignalN/TPCncls vs Momentum;Mom;TPCSignalN/TPCncls",500,0.,5.,60,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignalNfrac);
\r
247 // histos->UserHistogram("Track","TPCchi2Cl_Mom","TPC Chi2 vs Momentum;Mom;TPC Chi2",500,0.,10.,100,0,5,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCchi2Cl);
\r
248 // histos->UserHistogram("Track","TPCclsDiff_Mom","kTPCclsDiff vs Momentum;Mom;kTPCclsDiff",500,0.,10.,100,-10,10,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCclsDiff);
\r
249 histos->UserHistogram("Track","FindableTPCcls_Mom","kNFclsTPC vs Momentum;Mom;kNFclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPC);
\r
250 // histos->UserHistogram("Track","TPCcls_Mom","kNclsTPC vs Momentum;Mom;kNclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsTPC);
\r
251 // histos->UserHistogram("Track","kNclsSFracTPC_Mom","kNclsSFracTPC vs Momentum;Mom;kTPCclsSFrac",500,0.,10.,1000,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsSFracTPC);
\r
252 histos->UserHistogram("Track","kNFclsTPCrFrac_Mom","kNFclsTPCrFrac vs Momentum;Mom;kNFclsTPCrFrac",500,0.,10.,60,0.,1.2.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPCrFrac);
\r
254 //track checks (TOF)
\r
255 histos->UserHistogram("Track","TOFbeta_Mom","kTOFbeta vs Momentum;Mom;TOFbeta",500,0.,5.,120,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta);
\r
256 // histos->UserHistogram("Track","TOFPIDBit_Mom","kTOFPIDBit vs Momentum;Mom;TOFPIDbit",500,0.,5.,2,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFPIDBit);
\r
258 //track checks (PID)
\r
259 // histos->UserHistogram("Track","ITSnSigma_MomPio","ITS number of sigmas Pion vs Momentum;Mom;ITSsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaPio);
\r
260 // histos->UserHistogram("Track","TPCnSigma_MomPio","TPC number of sigmas Pions vs Momentum;Mom;TPCsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio);
\r
262 // histos->UserHistogram("Track","ITSnSigma_MomEle","ITS number of sigmas Electrons vs Momentum;Mom;ITSsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaEle);
\r
263 histos->UserHistogram("Track","TPCnSigma_MomEle","TPC number of sigmas Electrons vs Momentum;Mom;TPCsigmaEle",1000,0.,10.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle);
\r
264 histos->UserHistogram("Track","TPCnSigma_TOFnSigma","TPC number of sigmas Electrons vs TOF sigma;TOFsigma;TPCsigmaEle",800,-40.,40.,800,-40,40,AliDielectronVarManager::kTOFnSigmaEle,AliDielectronVarManager::kTPCnSigmaEle);
\r
265 histos->UserHistogram("Track","TPCnSigma_Eta","TPC number of sigmas Electrons vs Eta;Eta;TPCsigmaEle",800,-0.8.,0.8.,800,-40,40,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEle);
\r
266 histos->UserHistogram("Track","TPCdEdx_Eta","TPC dEdx vs Eta;Eta;TPCsigmaEle",800,-0.8,0.8,800,0,200,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCsignal);
\r
267 histos->UserHistogram("Track","TPCnSigma_Phi","TPC number of sigmas Electrons vs Phi;Phi;TPCsigmaEle",640,0.,6.4,800,-40,40,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCnSigmaEle);
\r
268 histos->UserHistogram("Track","TPCdEdx_Phi","TPC dEdx vs Phi;Phi;TPCsigmaEle",640,0.,6.4,800,0,200,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCsignal);
\r
272 // histos->UserHistogram("Track","TOFnSigma_MomEle","TOF number of sigmas Electrons vs Momentum;Mom;TOFsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaEle);
\r
274 // histos->UserHistogram("Track","ITSdEdx_P","dEdx;P [GeV];ITS signal (arb units) vs Momentum;Mom;ITSsignal", 500,0,5,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal);
\r
275 histos->UserHistogram("Track","TPCdEdx_P","dEdx;P [GeV];TPC signal (arb units) vs Momentum;Mom;TPCsignal", 500,0,10.,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal);
\r
278 //add histograms to Pair classes
\r
281 histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
\r
282 500,0,4,AliDielectronVarManager::kM);
\r
284 histos->UserHistogram("Pair","InvMass_low","Inv.Mass;Inv. Mass [GeV];#pairs",
\r
285 500,0,0.5,AliDielectronVarManager::kM);
\r
287 // histos->UserHistogram("Pair","InvMass10","Inv.Mass;Inv. Mass [GeV];#pairs",
\r
288 // 500,0.,5.,AliDielectronVarManager::kM);
\r
290 histos->UserHistogram("Pair","kDeltaEta","kDeltaEta;kDeltaEta;#pairs",
\r
291 160,0.,1.6,AliDielectronVarManager::kDeltaEta);
\r
293 histos->UserHistogram("Pair","kDeltaEta_low","kDeltaEta;kDeltaEta;#pairs",
\r
294 500,0.,0.5,AliDielectronVarManager::kDeltaEta);
\r
296 histos->UserHistogram("Pair","kDeltaPhi","kDeltaPhi;kDeltaPhi;#pairs",
\r
297 320,0.,6.4,AliDielectronVarManager::kDeltaPhi);
\r
299 histos->UserHistogram("Pair",
\r
300 "kDeltaEta_kDeltaPhi","kDeltaEta_kDeltaPhi;kDeltaEta;kDeltaPhi",
\r
301 160, 0. , 1.6, 320 , 0., 6.4 ,
\r
302 AliDielectronVarManager::kDeltaEta , AliDielectronVarManager::kDeltaPhi );
\r
304 histos->UserHistogram("Pair",
\r
305 "Phi","Phi;counts;Phi",
\r
306 320, 0. , 6.4, AliDielectronVarManager::kPhi);
\r
308 histos->UserHistogram("Pair",
\r
310 120, -1.2 , 1.2, AliDielectronVarManager::kY);
\r
313 histos->UserHistogram("Pair","PhiV",";PhiV;#pairs",
\r
314 320,0.,6.4,AliDielectronVarManager::kPhivPair);
\r
316 histos->UserHistogram("Pair",
\r
317 "OpAngle","Opening angle;Opening angle;#pairs",
\r
319 AliDielectronVarManager::kOpeningAngle);
\r
322 // histos->UserHistogram("Pair","PhiV_Pt",";Pt;PhiV",
\r
323 // 100,0.,10.,320,0.,6.4,AliDielectronVarManager::kPt,AliDielectronVarManager::kPhivPair);
\r
325 histos->UserHistogram("Pair","InvMass_bin2","Inv.Mass;Inv. Mass [GeV];#pairs",
\r
326 "0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 ,
\r
327 0.4 , 0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
\r
328 0.95, 0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 ,
\r
329 2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 ,
\r
330 3.3 , 3.5, 3.75 , 4.0",AliDielectronVarManager::kM);
\r
332 histos->UserHistogram("Pair",
\r
333 "Eta_Phi","Eta_Phi;Eta;Phi",
\r
334 360, -0.8 , 0.8., 320 , 0., 3.2. ,
\r
335 AliDielectronVarManager::kEta , AliDielectronVarManager::kPhi );
\r
337 histos->UserHistogram("Pair",
\r
338 "InvMass_Pt","InvMass_Pt;InvMass;Pt",
\r
339 500, 0. , 4., 100 , 0., 5. ,
\r
340 AliDielectronVarManager::kM , AliDielectronVarManager::kPt );
\r
342 histos->UserHistogram("Pair",
\r
343 "InvMass_PhivPair","InvMass_PhivPair;InvMass;PhivPair",
\r
344 500, 0. , 4., 320 , 0., 3.2 ,
\r
345 AliDielectronVarManager::kM , AliDielectronVarManager::kPhivPair );
\r
348 histos->UserHistogram("Pair",
\r
349 "OpAngle_InvMass","OpAngle_InvMass;Opening angle;Invariant Mass",
\r
350 320, 0. , 3.2, 500 , 0. , 4. ,
\r
351 AliDielectronVarManager::kOpeningAngle,AliDielectronVarManager::kM);
\r
353 histos->UserHistogram("Pair",
\r
354 "Phi_InvMass","Phi_InvMass;Phi;Invariant Mass",
\r
355 320, 0. , 6.4, 500 , 0. , 4. ,
\r
356 AliDielectronVarManager::kPhi,AliDielectronVarManager::kM);
\r
360 die->SetHistogramManager(histos);
\r
366 void InitCF(AliDielectron* die, Int_t cutDefinition)
\r
369 // Setup the CF Manager if needed
\r
372 AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());
\r
376 // cf->AddVariable(AliDielectronVarManager::kM,500,0.,4.);
\r
377 cf->AddVariable(AliDielectronVarManager::kM,"0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 ,
\r
378 0.4 , 0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
\r
379 0.95, 0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 ,
\r
380 2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 ,
\r
381 3.3 , 3.5, 3.75 , 4.0");//data
\r
382 cf->AddVariable(AliDielectronVarManager::kY,20,-1.,1.);
\r
383 cf->AddVariable(AliDielectronVarManager::kPhi,32, 0., 3.2);
\r
384 cf->AddVariable(AliDielectronVarManager::kPt,100,0.,5.);
\r
387 cf->AddVariable(AliDielectronVarManager::kOpeningAngle,62,0.,6.2);
\r
388 cf->AddVariable(AliDielectronVarManager::kPhivPair,64, 0., 6.4);
\r
389 cf->AddVariable(AliDielectronVarManager::kPairType,4,-0.5,3.5);
\r
394 cf->AddVariable(AliDielectronVarManager::kPt,100,0.,10.,kTRUE);
\r
395 cf->AddVariable(AliDielectronVarManager::kPhi,36,0.,360.,kTRUE);
\r
396 cf->AddVariable(AliDielectronVarManager::kEta,100,-1.,1.,kTRUE);
\r
400 cf->AddVariable(AliDielectronVarManager::kTPCsignal,200,0.,200.,kTRUE);
\r
401 cf->AddVariable(AliDielectronVarManager::kImpactParXY,40,-2.,2.,kTRUE);
\r
402 cf->AddVariable(AliDielectronVarManager::kImpactParZ,40,-2.,2.,kTRUE);
\r
403 cf->AddVariable(AliDielectronVarManager::kNclsITS,10,0.,10.,kTRUE);
\r
404 cf->AddVariable(AliDielectronVarManager::kNFclsTPCrFrac,10,0.,1.,kTRUE);
\r
408 die->SetCFManagerPair(cf);
\r
416 void SetEtaCorrection()
\r
418 if (AliDielectronPID::GetEtaCorrFunction()) return;
\r
420 TString list=gSystem->Getenv("LIST");
\r
422 TFile f("$TRAIN_ROOT/jpsi_JPSI/EtaCorrMaps.root");
\r
423 if (!f.IsOpen()) return;
\r
424 TList *keys=f.GetListOfKeys();
\r
426 for (Int_t i=0; i<keys->GetEntries(); ++i){
\r
427 TString kName=keys->At(i)->GetName();
\r
428 TPRegexp reg(kName);
\r
429 if (reg.MatchB(list)){
\r
430 printf("Using Eta Correction Function: %s\n",kName.Data());
\r
431 AliDielectronPID::SetEtaCorrFunction((TF1*)f.Get(kName.Data()));
\r