]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG0/CreateStandardCuts.C
- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / PWG0 / CreateStandardCuts.C
index fb6c760593298992566e416d342471b328429d76..ce115da5d29eec40aa7078be7038298fea49d49d 100644 (file)
@@ -1,70 +1,54 @@
 /* $Id: CreateCuts.C,v 1.5 2008/01/11 08:28:52 jgrosseo Exp $ */
 
-// this macro creates the track and event cuts used in this analysis
+// this macro creates the track cuts used in this analysis
 
-AliESDtrackCuts* CreateTrackCuts(AliPWG0Helper::AnalysisMode analysisMode, Bool_t fieldOn = kTRUE, Bool_t hists = kTRUE)
+AliESDtrackCuts* CreateTrackCuts(AliPWG0Helper::AnalysisMode analysisMode,  Bool_t hists = kTRUE,  Float_t ptMin = 0,  Float_t etacut =1e10)
 {
-  AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts");
-
-  if (hists)
-    esdTrackCuts->DefineHistograms(1);
-
-  // default cuts for ITS+TPC
-  Double_t cov1 = 2;
-  Double_t cov2 = 2;
-  Double_t cov3 = 0.5;
-  Double_t cov4 = 0.5;
-  Double_t cov5 = 2;
-  Double_t nSigma = 4;
-
-  Bool_t tpcRefit = kTRUE;
-  Bool_t sigmaToVertex = kTRUE;
+  AliESDtrackCuts* esdTrackCuts = 0;
+  
+  // see https://twiki.cern.ch/twiki/bin/view/ALICE/SelectionOfPrimaryTracksForPp2009DataAnalysis
+  
+  if (analysisMode & AliPWG0Helper::kTPC)
+  {
+    esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts");
 
-  TString tag("Global tracking");
+    TString tag("TPC-only tracking");
 
-  // TPC-only cuts
-  if (analysisMode == AliPWG0Helper::kTPC)
-  {
-    cov1 = 9;
-    cov2 = 9;
-    cov3 = 1e10;
-    cov4 = 1e10;
-    cov5 = 1e10;
-    
-    tpcRefit = kFALSE;
-    sigmaToVertex = kFALSE;
-    
-    tag = "TPC-only tracking";
+    esdTrackCuts->SetMaxDCAToVertexZ(3.2);
+    esdTrackCuts->SetMaxDCAToVertexXY(2.4);
+    esdTrackCuts->SetDCAToVertex2D(kTRUE);
+  
+    esdTrackCuts->SetRequireTPCRefit(kTRUE);
+    esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+    esdTrackCuts->SetMinNClustersTPC(70);
+    esdTrackCuts->SetMaxChi2PerClusterTPC(4);
   }
 
-  // cuts for data without field
-  if (!fieldOn)
+  if (analysisMode & AliPWG0Helper::kTPCITS)
   {
-    cov5 = 1e10;
-    tag += " without field";
+    esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(kTRUE);
+    esdTrackCuts->SetPtRange(ptMin);  // adding pt cut
+    esdTrackCuts->SetEtaRange(-etacut,etacut);  
+    TString tag("Global tracking");
   }
+  if ( analysisMode & AliPWG0Helper::kTPCSPD) {
 
-  esdTrackCuts->SetMaxCovDiagonalElements(cov1, cov2, cov3, cov4, cov5);
+    esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(kFALSE);
+    TString tag("Global tracking+tracklets");
 
-  esdTrackCuts->SetRequireSigmaToVertex(sigmaToVertex);
-
-  if (sigmaToVertex) {
-    esdTrackCuts->SetMaxNsigmaToVertex(nSigma);
-  }
-  else{
-    
-    esdTrackCuts->SetMaxDCAToVertexZ(3.2);
-    esdTrackCuts->SetMaxDCAToVertexXY(2.4);
-    esdTrackCuts->SetDCAToVertex2D(kTRUE);
   }
 
-  esdTrackCuts->SetRequireTPCRefit(tpcRefit);
-  esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+  if (hists)
+    esdTrackCuts->DefineHistograms(1);
 
-  esdTrackCuts->SetMinNClustersTPC(50);
-  esdTrackCuts->SetMaxChi2PerClusterTPC(3.5);
+  // cuts for data without field
+  if (!(analysisMode & AliPWG0Helper::kFieldOn))
+  {
+    tag += " without field";
+  }
 
   Printf("Created track cuts for: %s", tag.Data());
 
   return esdTrackCuts;
 }
+