1 AliAnalysisFilter *AddESDFilter()
3 // Cuts on primary tracks
4 AliESDtrackCuts* esdTrackCutsL = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
6 // ITS stand-alone tracks
7 AliESDtrackCuts* esdTrackCutsITSsa = new AliESDtrackCuts("ITS stand-alone Track Cuts", "ESD Track Cuts");
8 esdTrackCutsITSsa->SetRequireITSStandAlone(kTRUE);
10 // Pixel OR necessary for the electrons
11 AliESDtrackCuts *itsStrong = new AliESDtrackCuts("ITSorSPD", "pixel requirement for ITS");
12 itsStrong->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
15 // PID for the electrons
16 AliESDpidCuts *electronID = new AliESDpidCuts("Electrons", "Electron PID cuts");
17 electronID->SetTPCnSigmaCut(AliPID::kElectron, 3.);
19 // standard cuts with very loose DCA
20 AliESDtrackCuts* esdTrackCutsH = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE);
21 esdTrackCutsH->SetMaxDCAToVertexXY(2.4);
22 esdTrackCutsH->SetMaxDCAToVertexZ(3.2);
23 esdTrackCutsH->SetDCAToVertex2D(kTRUE);
25 // standard cuts with tight DCA cut
26 AliESDtrackCuts* esdTrackCutsH2 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();
28 // standard cuts with tight DCA but with requiring the first SDD cluster instead of an SPD cluster
29 // tracks selected by this cut are exclusive to those selected by the previous cut
30 AliESDtrackCuts* esdTrackCutsH3 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();
31 esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
32 esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst);
34 // TPC only tracks: Optionally enable the writing of TPConly information
35 // constrained to SPD vertex in the filter below
36 AliESDtrackCuts* esdTrackCutsTPCOnly = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
37 esdTrackCutsTPCOnly->SetMinNClustersTPC(70);
39 // R_AA cut with recent change in AliESDtrackCuts in trunk aliroot (111026)
40 AliESDtrackCuts* esdTrackCutsRaa = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1); // 1,2,3,4,5,6,7
41 esdTrackCutsRaa->SetMinNCrossedRowsTPC(120); // 3 (70 set in above cut)
42 esdTrackCutsRaa->SetMaxChi2PerClusterITS(36.); // 8
43 esdTrackCutsRaa->SetMaxChi2TPCConstrainedGlobal(36.); // 9
44 esdTrackCutsRaa->SetMaxFractionSharedTPCClusters(0.4); // 10
47 AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
49 trackFilter->AddCuts(esdTrackCutsL);
51 trackFilter->AddCuts(esdTrackCutsITSsa);
53 trackFilter->AddCuts(itsStrong);
54 itsStrong->SetFilterMask(1); // AND with Standard track cuts
56 trackFilter->AddCuts(electronID);
57 electronID->SetFilterMask(4); // AND with Pixel Cuts
59 trackFilter->AddCuts(esdTrackCutsH);
61 trackFilter->AddCuts(esdTrackCutsH2);
63 trackFilter->AddCuts(esdTrackCutsH3);
65 trackFilter->AddCuts(esdTrackCutsTPCOnly);
67 //========================================
69 // Add Additional Cuts here
71 //========================================
73 trackFilter->AddCuts(esdTrackCutsRaa);