added new enum that describes the type of analysis, passed to all analysis classes
[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 = 3;
19
20   TString tag("Global tracking");
21
22   // TPC-only cuts
23   if (analysisMode == AliPWG0Helper::kTPC) 
24   {
25     // beta cuts (still under investigation)
26     cov1 = 4;
27     cov2 = 4;
28     nSigma = 4;
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(kTRUE);
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 }