redoing of TPC vertex when flag is set
[u/mrichter/AliRoot.git] / PWG0 / CreateStandardCuts.C
1 /* $Id: CreateCuts.C,v 1.5 2008/01/11 08:28:52 jgrosseo Exp $ */
2
3 // this macro creates the track and event cuts used in this analysis
4
5 AliESDtrackCuts* CreateTrackCuts(AliPWG0Helper::AnalysisMode analysisMode, Bool_t fieldOn = kTRUE, Bool_t hists = kTRUE)
6 {
7   AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts");
8
9   if (hists)
10     esdTrackCuts->DefineHistograms(1);
11
12   // default cuts for ITS+TPC
13   Double_t cov1 = 2;
14   Double_t cov2 = 2;
15   Double_t cov3 = 0.5;
16   Double_t cov4 = 0.5;
17   Double_t cov5 = 2;
18   Double_t nSigma = 4;
19
20   Bool_t tpcRefit = kTRUE;
21
22   TString tag("Global tracking");
23
24   // TPC-only cuts
25   if (analysisMode == AliPWG0Helper::kTPC)
26   {
27     // eventually replace by kTPCin?
28     tpcRefit = kFALSE;
29     
30     tag = "TPC-only tracking";
31   }
32
33   // cuts for data without field
34   if (!fieldOn)
35   {
36     cov5 = 1e10;
37     tag += " without field";
38   }
39   
40   esdTrackCuts->SetMaxCovDiagonalElements(cov1, cov2, cov3, cov4, cov5);
41
42   esdTrackCuts->SetMinNsigmaToVertex(nSigma);
43   esdTrackCuts->SetRequireSigmaToVertex(kTRUE);
44   
45   esdTrackCuts->SetRequireTPCRefit(tpcRefit);
46   esdTrackCuts->SetAcceptKingDaughters(kFALSE);
47
48   esdTrackCuts->SetMinNClustersTPC(50);
49   esdTrackCuts->SetMaxChi2PerClusterTPC(3.5);
50
51   Printf("Created track cuts for: %s", tag.Data());
52
53   return esdTrackCuts;
54 }