// this macro creates the track and event 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)
{
AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts");
Double_t nSigma = 4;
Bool_t tpcRefit = kTRUE;
+ Bool_t sigmaToVertex = kTRUE;
TString tag("Global tracking");
// TPC-only cuts
- if (analysisMode == AliPWG0Helper::kTPC)
+ if (analysisMode & AliPWG0Helper::kTPC)
{
- // eventually replace by kTPCin?
+ cov1 = 1e10;
+ cov2 = 1e10;
+ cov3 = 1e10;
+ cov4 = 1e10;
+ cov5 = 1e10;
+
tpcRefit = kFALSE;
+ sigmaToVertex = kFALSE;
tag = "TPC-only tracking";
}
-
+
// cuts for data without field
- if (!fieldOn)
+ if (!(analysisMode & AliPWG0Helper::kFieldOn))
{
cov5 = 1e10;
tag += " without field";
}
-
+
esdTrackCuts->SetMaxCovDiagonalElements(cov1, cov2, cov3, cov4, cov5);
- esdTrackCuts->SetMinNsigmaToVertex(nSigma);
- esdTrackCuts->SetRequireSigmaToVertex(kTRUE);
-
+ esdTrackCuts->SetRequireSigmaToVertex(sigmaToVertex);
+
+ if (sigmaToVertex) {
+ esdTrackCuts->SetMaxNsigmaToVertex(nSigma);
+ }
+ else
+ {
+ esdTrackCuts->SetMaxDCAToVertexZ(3.2);
+ esdTrackCuts->SetMaxDCAToVertexXY(2.4);
+ esdTrackCuts->SetDCAToVertex2D(kTRUE);
+ }
+
esdTrackCuts->SetRequireTPCRefit(tpcRefit);
- esdTrackCuts->SetAcceptKingDaughters(kFALSE);
+ esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
esdTrackCuts->SetMinNClustersTPC(50);
- esdTrackCuts->SetMaxChi2PerClusterTPC(3.5);
+ esdTrackCuts->SetMaxChi2PerClusterTPC(4);
Printf("Created track cuts for: %s", tag.Data());
return esdTrackCuts;
}
+