#include <TTree.h>
#include <TCanvas.h>
#include <TDirectory.h>
+#include <TH2F.h>
+#include <TF1.h>
//____________________________________________________________________
ClassImp(AliESDtrackCuts)
"trk-to-vtx min dca z absolute",
"SPD cluster requirement",
"SDD cluster requirement",
- "SSD cluster requirement"
+ "SSD cluster requirement",
+ "require ITS stand-alone"
};
//____________________________________________________________________
fCutAcceptKinkDaughters(0),
fCutRequireTPCRefit(0),
fCutRequireITSRefit(0),
+ fCutRequireITSStandAlone(0),
fCutNsigmaToVertex(0),
fCutSigmaToVertexRequired(0),
fCutMaxDCAToVertexXY(0),
SetMaxCovDiagonalElements();
SetRequireTPCRefit();
SetRequireITSRefit();
- SetAcceptKingDaughters();
+ SetRequireITSStandAlone(kFALSE);
+ SetAcceptKinkDaughters();
SetMaxNsigmaToVertex();
SetMaxDCAToVertexXY();
SetMaxDCAToVertexZ();
fCutAcceptKinkDaughters(0),
fCutRequireTPCRefit(0),
fCutRequireITSRefit(0),
+ fCutRequireITSStandAlone(0),
fCutNsigmaToVertex(0),
fCutSigmaToVertexRequired(0),
fCutMaxDCAToVertexXY(0),
fCutAcceptKinkDaughters = 0;
fCutRequireTPCRefit = 0;
fCutRequireITSRefit = 0;
+ fCutRequireITSStandAlone = 0;
fCutNsigmaToVertex = 0;
fCutSigmaToVertexRequired = 0;
target.fCutAcceptKinkDaughters = fCutAcceptKinkDaughters;
target.fCutRequireTPCRefit = fCutRequireTPCRefit;
target.fCutRequireITSRefit = fCutRequireITSRefit;
+ target.fCutRequireITSStandAlone = fCutRequireITSStandAlone;
target.fCutNsigmaToVertex = fCutNsigmaToVertex;
target.fCutSigmaToVertexRequired = fCutSigmaToVertexRequired;
}
//____________________________________________________________________
-Bool_t
-AliESDtrackCuts::AcceptTrack(AliESDtrack* esdTrack) {
+Bool_t AliESDtrackCuts::AcceptTrack(AliESDtrack* esdTrack)
+{
//
// figure out if the tracks survives all the track cuts defined
//
for (Int_t i = 0; i < 3; i++)
cuts[27+i] = !CheckITSClusterRequirement(fCutClusterRequirementITS[i], esdTrack->HasPointOnITSLayer(i*2), esdTrack->HasPointOnITSLayer(i*2+1));
-
+
+ if (fCutRequireITSStandAlone && (status & AliESDtrack::kITSin == 0 || status & AliESDtrack::kTPCin))
+ cuts[30]=kTRUE;
+
Bool_t cut=kFALSE;
for (Int_t i=0; i<kNCuts; i++)
if (cuts[i]) {cut = kTRUE;}
SetMaxNsigmaToVertex(sigma);
}
-void AliESDtrackCuts::SetDCAToVertex(Float_t dist)
+void AliESDtrackCuts::SetAcceptKingDaughters(Bool_t b)
{
// deprecated, will be removed in next release
- SetMaxDCAToVertex(dist);
-}
-
-void AliESDtrackCuts::SetMaxDCAToVertex(Float_t dist)
-{
- // deprecated, will be removed in next release
+ Printf("WARNING: AliESDtrackCuts::SetAcceptKingDaughters is DEPRECATED and will be removed in the next release. Please use SetAcceptKinkDaughters instead. Renaming was done to improve code readability.");
- Printf("WARNING: AliESDtrackCuts::SetMaxDCAToVertex is DEPRECATED and will be removed in the next release. Please use SetDCAToVertexXY(dist) and SetDCAToVertexZ(dist) and SetDCAToVertex2D(kTRUE)");
-
- SetDCAToVertexXY(dist);
- SetDCAToVertexZ(dist);
- SetDCAToVertex2D(kTRUE);
+ SetAcceptKinkDaughters(b);
}
-void AliESDtrackCuts::SetDCAToVertexXY(Float_t dist)
-{
- // deprecated, will be removed in next release
-
- Printf("WARNING: AliESDtrackCuts::SetDCAToVertexXY is DEPRECATED and will be removed in the next release. Please use SetMaxDCAToVertexXY instead. Renaming was done to improve code readability.");
-
- SetMaxDCAToVertexXY(dist);
-}
-
-void AliESDtrackCuts::SetDCAToVertexZ(Float_t dist)
+Bool_t AliESDtrackCuts::GetAcceptKingDaughters() const
{
// deprecated, will be removed in next release
- Printf("WARNING: AliESDtrackCuts::SetDCAToVertexZ is DEPRECATED and will be removed in the next release. Please use SetMaxDCAToVertexZ instead. Renaming was done to improve code readability.");
+ Printf("WARNING: AliESDtrackCuts::GetAcceptKingDaughters is DEPRECATED and will be removed in the next release. Please use GetAcceptKinkDaughters instead. Renaming was done to improve code readability.");
- SetMaxDCAToVertexZ(dist);
+ return GetAcceptKinkDaughters();
}