// - require that the dca calculation doesn't fail
// - accept or not accept daughter tracks of kink decays
//
+// By default, the distance to 'vertex calculated from tracks' is used.
+// Optionally the SPD (tracklet based) or TPC (TPC only tracks based) vertex
+// can be used.
+// Note: the distance to the TPC-vertex is already stored in the ESD,
+// the distance to the SPD-vertex has to be re-calculated by propagating each
+// track while executing this cut.
+//
// The cut values for these cuts are set with the corresponding set functions.
// All cut classes provided by the correction framework are supposed to be
// added in the Analysis Framwork's class AliAnalysisFilter and applied by
#include <TH2.h>
#include "AliESDtrackCuts.h"
class TBits;
-class AliESDtrack ;
+class AliESDtrack;
+class AliAODTrack;
+class AliVEvent;
class AliCFTrackIsPrimaryCuts : public AliCFCutBase
{
Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
// cut value setter
+ void UseSPDvertex(Bool_t b=kFALSE);
+ void UseTPCvertex(Bool_t b=kFALSE);
void SetMinDCAToVertexXY(Float_t dist=0.) {fMinDCAToVertexXY = dist;}
void SetMinDCAToVertexZ(Float_t dist=0.) {fMinDCAToVertexZ = dist;}
void SetMaxDCAToVertexXY(Float_t dist=1e10) {fMaxDCAToVertexXY = dist;}
// please use indices from the enumeration below
void SetHistogramBins(Int_t index, Int_t nbins, Double_t *bins);
void SetHistogramBins(Int_t index, Int_t nbins, Double_t xmin, Double_t xmax);
+ virtual void SetRecEventInfo(const TObject* esd);
// indeces/counters for single selections
enum {
private:
void SelectionBitMap(TObject* obj);
+ void GetDCA(AliESDtrack* esdTrack);
+ void GetDCA(AliAODTrack* aodTrack);
void DefineHistograms(); // books histograms and TList
void Initialise(); // sets everything to 0
void FillHistograms(TObject* obj, Bool_t b);
// Fills histograms before and after cuts
-
+ AliVEvent* fEvt; // pointer to event, needed for SPD vertex and DCA in AODs
+ Bool_t fUseSPDvertex; // flag: calculate dca to SPD-vertex, off by default
+ Bool_t fUseTPCvertex; // flag: calculate dca to TPC-vertex, off by default
Double_t fMinDCAToVertexXY; // cut value: min distance to main vertex in transverse plane
Double_t fMinDCAToVertexZ; // cut value: min longitudinal distance to main vertex
Double_t fMaxDCAToVertexXY; // cut value: max distance to main vertex in transverse plane
Double_t fNSigmaToVertexMax; // cut value: max distance to main vertex in units of sigma
Double_t fSigmaDCAxy; // cut value: impact parameter resolution in xy plane
Double_t fSigmaDCAz; // cut value: impact parameter resolution in z direction
+ Double_t fDCA[6]; // impact parameters
Bool_t fRequireSigmaToVertex; // require calculable distance to main vertex
Char_t fAODType; // type of AOD track (undef, primary, secondary, orphan)
// applicable at AOD level only !
TH2F* fhDcaXYvsDcaZ[2]; // Histogram: dca xy vs. z
- TH2F* fhDcaXYvsDcaZnorm[2]; // Histogram: (dca xy / sigma xy) vs. (dca z / simga z)
- Bool_t fAcceptKinkDaughters; // accepting kink daughters
+ Bool_t fAcceptKinkDaughters; // accepting kink daughters
TH1F* fhCutStatistics; // Histogram: statistics of what cuts the tracks did not survive
TH2F* fhCutCorrelation; // Histogram: 2d statistics plot