]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C
NcrossedRows cut adjusted
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / LMEECutLibAOD.C
CommitLineData
9f00b65f 1class LMEECutLib {
2
3 public:
4 static enum LMMECutSet {
5 kPbPb2011TPCandTOF,
4118e72c 6 kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC
9f00b65f 7 kPbPb2011TPCorTOF,
8 kpp2010TPCandTOF,
9 kpp2010TPCorTOF,
10 kCUTSETMAX
11 };
12
13 static enum LMMECentSel {
14 kPbPb2011Central,
15 kPbPb2011SemiCentral,
16 kPbPb2011Peripheral,
17 kCENTSELMAX
18 };
19
20 //char* LMEECutNames[kCUTSETMAX] = { "PbPb2011TPCandTOF","PbPb2011TPCorTOF"};
21
22
23 LMEECutLib() {}
24
25 AliDielectronEventCuts* GetEventCuts(Int_t cutSet);
26 AliAnalysisCuts* GetCentralityCuts(Int_t centSel);
27 AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet);
28 AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet);
29
30 AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet);
31 AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet);
32
4118e72c 33 AliAnalysisCuts* GetPairCuts2(Int_t cutSet,Bool_t tooglePC=kFALSE);
9f00b65f 34 AliAnalysisCuts* GetPairCuts(Int_t cutSet);
35
36 AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet);
37 AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet);
38
39
40
41
42 AliDielectronEventCuts* GetEventCuts(Int_t cutSet) {
43 AliDielectronEventCuts* eventCuts = 0x0;
44 switch (cutSet) {
45 case kPbPb2011TPCandTOF :
4118e72c 46 case kPbPb2011TPCandTOFwide :
9f00b65f 47 case kPbPb2011TPCorTOF :
48 case kpp2010TPCandTOF :
49 case kpp2010TPCorTOF :
50 eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
b78825cd 51 eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny); // AOD
52 //eventCuts->SetVertexType(AliDielectronEventCuts::kVtxTPC); // AOD
ee00eb9d 53 // eventCuts->SetCentralityRange(0.0,80.0);
9f00b65f 54 eventCuts->SetRequireVertex();
55 eventCuts->SetMinVtxContributors(1);
56 eventCuts->SetVertexZ(-10.,10.);
57 break;
58 default: cout << "No Event Cut defined" << endl;
59 }
60 return eventCuts;
61 }
62
63 AliAnalysisCuts* GetCentralityCuts(Int_t centSel) {
64 AliDielectronVarCuts* centCuts = 0x0;
65 switch (centSel) {
66 case kPbPb2011Central:
67 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Central");
68 centCuts->AddCut(AliDielectronVarManager::kCentrality,0.,10.);
69 break;
70 case kPbPb2011SemiCentral:
71 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral");
72 //Restrict to 50%, Trigger selction
4118e72c 73 centCuts->AddCut(AliDielectronVarManager::kCentrality,20.,50.);
9f00b65f 74 break;
75 case kPbPb2011Peripheral:
76 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Peripheral");
77 centCuts->AddCut(AliDielectronVarManager::kCentrality,50.,90.);
78 break;
79 default: cout << "No Centrality selected" << endl;
80 }
81 return centCuts;
82 }
83
84
85 AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet) {
86 AliDielectronTrackRotator* trackRotator = 0x0;
87 switch (cutSet) {
88 case kPbPb2011TPCandTOF :
4118e72c 89 case kPbPb2011TPCandTOFwide :
9f00b65f 90 case kPbPb2011TPCorTOF :
91 case kpp2010TPCandTOF :
92 case kpp2010TPCorTOF :
93 trackRotator = new AliDielectronTrackRotator();
94 trackRotator->SetIterations(20);
95 trackRotator->SetConeAnglePhi(TMath::Pi()/180*165);
96 trackRotator->SetStartAnglePhi(TMath::Pi());
97 break;
98 default: cout << "No Rotator defined" << endl;
99 }
100 return trackRotator;
101 }
102
103
104 AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet) {
105 AliDielectronMixingHandler* mixingHandler = 0x0;
106 switch (cutSet) {
107 case kPbPb2011TPCorTOF :
4118e72c 108/*
9f00b65f 109 mixingHandler = new AliDielectronMixingHandler;
110 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
111 mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
112 mixingHandler->SetDepth(25);
113 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
4118e72c 114 break;
115*/
9f00b65f 116 case kPbPb2011TPCandTOF :
4118e72c 117 case kPbPb2011TPCandTOFwide :
9f00b65f 118 mixingHandler = new AliDielectronMixingHandler;
119 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
120 mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
121 mixingHandler->AddVariable(AliDielectronVarManager::kv0ACrpH2,"-6*(TMath::Pi()/6),-5*(TMath::Pi()/6),-4*(TMath::Pi()/6),-3*(TMath::Pi()/6),-2*(TMath::Pi()/6),-1*(TMath::Pi()/6),0,1*(TMath::Pi()/6),2*(TMath::Pi()/6),3*(TMath::Pi()/6),4*(TMath::Pi()/6),5*(TMath::Pi()/6),6*(TMath::Pi()/6)");
122 //mixingHandler->SetDepth(50);
4118e72c 123 mixingHandler->SetDepth(15);
9f00b65f 124 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
125 break;
126 case kpp2010TPCandTOF :
127 case kpp2010TPCorTOF :
128 mixingHandler = new AliDielectronMixingHandler;
129 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
130 mixingHandler->AddVariable(AliDielectronVarManager::kNacc,"0,10000");
131 //might want to add multiplicity?
132 mixingHandler->SetDepth(50);
133 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
134 break;
135 default: cout << "No Rotator defined" << endl;
136 }
137 return mixingHandler;
138 }
139
140
141 AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet) {
142 AliAnalysisCuts* anaCuts=0x0;
143
144 // + [2] added for Dec2010 Cut!
145 TF1 *lowerCut = new TF1("lowerCut", "[0] * TMath::Exp([1]*x) + [2]", 0, 20);
146 /* until Nov2010
147 lowerCut->SetParameter(0, -2.7);
148 lowerCut->SetParameter(1, -0.4357);
149 */
150 /* 18.01.2011 ALiHFEpid.cxx */
151 lowerCut->SetParameter(0,-3.7);
152 lowerCut->SetParameter(1,-0.8);
153 lowerCut->SetParameter(2,-0.35);
154
155 if (MCenabled) { //overwrite parameters
156 lowerCut->SetParameter(0,-2.5);
157 lowerCut->SetParameter(2,-2.2);
158 }
159
160 //---------------------------------------------
161 AliDielectronPID *pidTPCTOFeOnly = new AliDielectronPID("TPC-TOF","TPC-TOF");
162 pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.0,100.,kFALSE);
163 pidTPCTOFeOnly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
164
4118e72c 165
166 AliDielectronPID *pidTPCandTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
167 pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE);
168 pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
169 pidTPCandTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
170
9f00b65f 171 AliDielectronPID *pidTPChardTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
172 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
173 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
174 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
175 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
176 pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
177 //___________________________________________
178 AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF");
179 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,0.4,kFALSE);
180 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.4,100.,kFALSE);
4118e72c 181 pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.2 , 100., kFALSE );
9f00b65f 182
183 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
184 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
185 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
186 //___________________________________________
187 AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal");
4118e72c 188 if (MCenabled) {
189 pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,65.,85.);
190 }
191 else {
9f00b65f 192 pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.);
4118e72c 193 }
9f00b65f 194 //___________________________________________
195
f88c2b26 196 AliDielectronVarCuts *pidTPCsignalWide = new AliDielectronVarCuts("pidTPCsignalWide","cut on the TPC signal");
197 pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,70.,90.);
4118e72c 198
199
9f00b65f 200 AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4");
4118e72c 201 pTPC->AddCut(AliDielectronVarManager::kPt,.4,5.);
9f00b65f 202
203 AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2");
4118e72c 204 pMin->AddCut(AliDielectronVarManager::kPt,.2,5.);
9f00b65f 205
206 switch (cutSet) {
207 case kPbPb2011TPCandTOF :
208 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
209 cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
210 //cgSecondTrackFilterPIDTPC1->AddCut(pidTPChardTOF);
211 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCTOFeOnly);
212 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
213 cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
214 anaCuts = cgSecondTrackFilterPIDTPC1;
215 break;
4118e72c 216 case kPbPb2011TPCandTOFwide :
217 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
218 cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
219 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
220 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignalWide);
221 cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
222 anaCuts = cgSecondTrackFilterPIDTPC1;
223 break;
224
9f00b65f 225 case kPbPb2011TPCorTOF :
226 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
227 cgSecondTrackFilterPIDTPC2->AddCut(pMin);
228 cgSecondTrackFilterPIDTPC2->AddCut(pidTT);
229 cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal);
230 cgSecondTrackFilterPIDTPC2->AddCut(GetTrackCutsAna(cutSet));
231 anaCuts = cgSecondTrackFilterPIDTPC2;
232 break;
233 case kpp2010TPCandTOF :
234 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
235 cgSecondTrackFilterPIDTPC->AddCut(pTPC);
236 //cgSecondTrackFilterPIDTPC->AddCut(pidTPChardTOF);
237 cgSecondTrackFilterPIDTPC->AddCut(pidTPCTOFeOnly);
238 anaCuts = cgSecondTrackFilterPIDTPC;
239 break;
240 case kpp2010TPCorTOF :
241 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
242 cgSecondTrackFilterPIDTPC->AddCut(pMin);
243 cgSecondTrackFilterPIDTPC->AddCut(pidTT);
244 anaCuts = cgSecondTrackFilterPIDTPC;
245 break;
246 default: cout << "No Analysis PID Cut defined " << endl;
247 }
248 return anaCuts;
249 }
250
251 AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) {
252 AliAnalysisCuts* anaCuts=0x0;
253 switch (cutSet) {
254 case kPbPb2011TPCandTOF :
4118e72c 255 case kPbPb2011TPCandTOFwide :
9f00b65f 256 case kPbPb2011TPCorTOF :
257 case kpp2010TPCandTOF :
258 case kpp2010TPCorTOF :
259 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
260 AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND);
261 AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre");
262 pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
263 cgITSTPC->AddCut(pidITSTPC);
f88c2b26 264 cgITSTPC->AddCut(GetTrackCutsAna(cutSet));
265
9f00b65f 266 // cgITSTPC->AddCut(GetTrackCutsAna(cutSet));
267
268 AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND);
269 AliDielectronPID *pidITSSA = new AliDielectronPID("pidITSSA","pidITSSA");
270 pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.);
271 cgITSSA->AddCut(pidITSSA);
f88c2b26 272 cgITSSA->AddCut(GetTrackCutsAna(cutSet));
9f00b65f 273 // cgITSSA->AddCut(GetTrackCutsPre(cutSet));
274
275 AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
276 cgInitialTrackFilter->AddCut(cgITSTPC);
277 cgInitialTrackFilter->AddCut(cgITSSA);
278 anaCuts = cgInitialTrackFilter;
279 break;
280 default: cout << "No Pre-PID Cut defined " << endl;
281 }
282 return anaCuts;
283 }
284
285
4118e72c 286
287 AliAnalysisCuts* GetPairCuts2(Int_t cutSet, Bool_t togglePC /*=kFALSE*/) {
288 AliAnalysisCuts* pairCuts=0x0;
289 switch (cutSet) {
290 case kPbPb2011TPCorTOF :
291 case kpp2010TPCandTOF :
292 AliDielectronVarCuts* pairCutsV= new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
293 pairCutsV->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
294 pairCuts = pairCutsV;
295 break;
296 case kPbPb2011TPCandTOF :
297 case kPbPb2011TPCandTOFwide :
298 case kpp2010TPCorTOF :
299 if (!togglePC) {
300
301 AliDielectronCutGroup* pairCutsCG2 =new AliDielectronCutGroup("pairCutsCG2","pairCutsCG2",AliDielectronCutGroup::kCompOR);
302 AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
303 pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
304 pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0);
305 pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
306 pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.3);
307 pairCutsInvMgood =new AliDielectronVarCuts("InvM Cuts good","InvM>0.3");
308 pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.3, 99999.);
309 pairCutsCG->AddCut(pairCutsPhiv);
310 pairCutsCG->AddCut(pairCutsInvM);
311 pairCutsCG2->AddCut(pairCutsInvMgood);
312 pairCutsCG2->AddCut(pairCutsCG);
313 pairCuts = pairCutsCG2;
314 }
315 else {
316 AliDielectronVarCuts* pairCutsV =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
317 pairCutsV->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035,kTRUE);
318 pairCuts = pairCutsV;
319 }
320 break;
321 default: cout << "No Pair Cuts defined " << endl;
322 }
323 return pairCuts;
324 }
325
326
9f00b65f 327 AliAnalysisCuts* GetPairCuts(Int_t cutSet) {
328 AliDielectronVarCuts* pairCuts=0x0;
329 switch (cutSet) {
330 case kPbPb2011TPCorTOF :
331 case kpp2010TPCandTOF :
332 pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
333 pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
334 break;
335 case kPbPb2011TPCandTOF :
4118e72c 336 case kPbPb2011TPCandTOFwide :
9f00b65f 337 case kpp2010TPCorTOF :
338 pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
339 pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
340 break;
341 default: cout << "No Pair Cuts defined " << endl;
342 }
343 return pairCuts;
344 }
345
346 AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet) {
347 AliDielectronCutGroup* trackCuts=0x0;
348 switch (cutSet) {
349 case kPbPb2011TPCandTOF :
4118e72c 350 case kPbPb2011TPCandTOFwide :
9f00b65f 351 case kPbPb2011TPCorTOF :
352 case kpp2010TPCandTOF :
353 case kpp2010TPCorTOF :
354 trackCuts = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
355
356 trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
9f00b65f 357 //Not necessary for AOD?
358 //-AOD-trackCuts->SetDCAToVertex2D(kTRUE);
5520ccf0 359
f88c2b26 360 //Legacy cut: Use Crossed Rows in ESD, in AOD ASAP
0332d10a 361 //New: See below
362 //trackCutsAOD->AddCut(AliDielectronVarManager::kNclsTPC, 60.0, 160.0);
4118e72c 363
9f00b65f 364 trackCutsAOD->AddCut(AliDielectronVarManager::kPt,0.05,200.);
365 trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84);
4118e72c 366 //DCA Cut
f88c2b26 367
9f00b65f 368 trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0, 1.0);
369 trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ, -3.0, 3.0);
5520ccf0 370
ee00eb9d 371 trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS, 3.0, 100.0);
5520ccf0 372
9f00b65f 373 trackCutsAOD->AddCut(AliDielectronVarManager::kKinkIndex0, 0.0);
f88c2b26 374 trackCutsAOD->AddCut(AliDielectronVarManager::kTPCchi2Cl, 0.0, 3.5);
9f00b65f 375 AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
376 trackCutsDiel->SetRequireITSRefit(kTRUE);
377 trackCutsDiel->SetRequireTPCRefit(kTRUE);
5520ccf0 378 //-AOD-trackCuts->SetMinNClustersITS(3);
f88c2b26 379/* trackCutsDiel->SetITSclusterCut(AliDielectronTrackCuts::kAtLeast,7); //>=3
380 */
0332d10a 381 trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
ee00eb9d 382 // trackCutsAOD->AddCut(AliDielectronVarManager::kITSLayerFirstCls,-0.01,0.5); //ITS(0) = SPDfirst
0332d10a 383 //-AOD-trackCuts->SetMinNCrossedRowsTPC(110);
384 //-AOD-trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.7);
385 trackCutsDiel->SetTPCNclFRobust(110);
b78825cd 386 trackCutsDiel->SetMinNCrossedRowsOverFindable(0.8);
9f00b65f 387 trackCuts->AddCut(trackCutsDiel);
388 trackCuts->AddCut(trackCutsAOD);
9f00b65f 389 break;
390 default: cout << "No Analysis Track Cut defined " << endl;
391 }
392 return trackCuts;
393 }
394
395 AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) {
396 AliESDtrackCuts* trackCuts=0x0;
397 switch (cutSet) {
398 case kPbPb2011TPCandTOF :
399 case kPbPb2011TPCorTOF :
400 case kpp2010TPCandTOF :
401 case kpp2010TPCorTOF :
402/*
403 // trackCuts = new AliESDtrackCuts();
404 // trackCuts->SetDCAToVertex2D(kTRUE);
405 // trackCuts->SetMaxDCAToVertexZ(3.0);
406 // trackCuts->SetMaxDCAToVertexXY(1.0);
407 trackCuts->SetEtaRange( -0.84 , 0.84 );
408 trackCuts->SetPtRange( 0.05 , 0.5);
409 trackCuts->SetAcceptKinkDaughters(kFALSE);
410 trackCuts->SetRequireITSRefit(kTRUE);
411 trackCuts->SetRequireITSStandAlone(kTRUE);
412 trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
413 trackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?!
414*/
415 cout << "No Pre-Track Cut defined for AODs at the moment " << endl;
416 break;
417 default: cout << "No Pre-Track Cut defined " << endl;
418 }
419 return trackCuts;
420 }
421
422};