]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFTrackQualityCuts.h
compilation warning
[u/mrichter/AliRoot.git] / CORRFW / AliCFTrackQualityCuts.h
index 8635575204e28b74c472bc9e94eb19e52c5527f3..05e9ec629ec4e3d37d54bdef0ee29de408b9d1f1 100644 (file)
 // ESD and AOD data.
 // It mainly consists of a IsSelected function that returns a boolean.
 // This function checks whether the considered track passes a set of cuts:
-// - number of clusters in the TPC
 // - number of clusters in the ITS
-// - chi2 / cluster in the TPC
+// - number of clusters in the TPC
+// - number of clusters in the TRD
+// - ratio of found / finable number of clusters in the TPC
+// - number of tracklets in the TRD
+// - number TRD tracklets used for pid
 // - chi2 / cluster in the ITS
+// - chi2 / cluster in the TPC
+// - chi2 / tracklet in the TRD
+// - number of clusters in the TPC used for dEdx calculation
 // - covariance matrix diagonal elements
 // - track status (cf AliESDtrack.h)
 //
 
 #include "AliCFCutBase.h"
 
-class TH2F ;
-class TH1F ;
+class TH2F;
+class TH1F;
 class TBits;
-class AliESDtrack ;
+class AliESDtrack;
+class AliESDtrackCuts;
 
 class AliCFTrackQualityCuts : public AliCFCutBase
 {
@@ -65,10 +72,14 @@ class AliCFTrackQualityCuts : public AliCFCutBase
   void SetMinNClusterTPC(Int_t cluster=-1)             {fMinNClusterTPC = cluster;}
   void SetMinNClusterITS(Int_t cluster=-1)             {fMinNClusterITS = cluster;}
   void SetMinNClusterTRD(Int_t cluster=-1)             {fMinNClusterTRD = cluster;}
-  void SetMaxChi2PerClusterTPC(Double_t chi=1e99)      {fMaxChi2PerClusterTPC = chi;}
-  void SetMaxChi2PerClusterITS(Double_t chi=1e99)      {fMaxChi2PerClusterITS = chi;}
-  void SetMaxChi2PerClusterTRD(Double_t chi=1e99)      {fMaxChi2PerClusterTRD = chi;}
-  void SetMaxCovDiagonalElements(Float_t c1=1e99, Float_t c2=1e99, Float_t c3=1e99, Float_t c4=1e99, Float_t c5=1e99) 
+  void SetMinFoundClusterTPC(Double_t fraction=-1)     {fMinFoundClusterTPC = fraction;}
+  void SetMinNTrackletTRD(Int_t tracklet=-1)           {fMinNTrackletTRD = tracklet;}
+  void SetMinNTrackletTRDpid(Int_t tracklet=-1)                {fMinNTrackletTRDpid = tracklet;}
+  void SetMaxChi2PerClusterTPC(Double_t chi=1.e+09)    {fMaxChi2PerClusterTPC = chi;}
+  void SetMaxChi2PerClusterITS(Double_t chi=1.e+09)    {fMaxChi2PerClusterITS = chi;}
+  void SetMaxChi2PerTrackletTRD(Double_t chi=1.e+09)   {fMaxChi2PerTrackletTRD = chi;}
+  void SetMinNdEdxClusterTPC(UShort_t cluster=0)       {fMinNdEdxClusterTPC = cluster;}
+  void SetMaxCovDiagonalElements(Float_t c1=1.e+09, Float_t c2=1.e+09, Float_t c3=1.e+09, Float_t c4=1.e+09, Float_t c5=1.e+09) 
 {fCovariance11Max=c1;fCovariance22Max=c2;fCovariance33Max=c3;fCovariance44Max=c4;fCovariance55Max=c5;}
   void SetStatus(ULong_t status=0) {fStatus = status ;}
 
@@ -86,9 +97,13 @@ class AliCFTrackQualityCuts : public AliCFCutBase
     kCutClusterTPC=0,  // number of clusters in TPC
     kCutClusterITS,    // number of clusters in ITS
     kCutClusterTRD,    // number of clusters in TRD
+    kCutMinFoundClusterTPC,    // ratio found / findable number of clusters in TPC
+    kCutTrackletTRD,   // number of tracklets in TRD
+    kCutTrackletTRDpid,        // tracklets for TRD pid
     kCutChi2TPC,       // chi2 per cluster in TPC
     kCutChi2ITS,       // chi2 per cluster in ITS
     kCutChi2TRD,       // chi2 per cluster in TRD
+    kCutdEdxClusterTPC,        // number of points used for dEdx
     kCutCovElement11,  // diagonal element 11 of covariance matrix
     kCutCovElement22,  // diagonal element 22 of covariance matrix
     kCutCovElement33,  // diagonal element 33 of covariance matrix
@@ -97,7 +112,7 @@ class AliCFTrackQualityCuts : public AliCFCutBase
     kCutStatus,         // track status
     kNCuts,            // number of single selections
     kNStepQA=2,                // number of QA steps (before/after the cuts)
-    kNHist=11          // number of QA histograms
+    kNHist=15          // number of QA histograms
   };
 
  private:
@@ -106,13 +121,16 @@ class AliCFTrackQualityCuts : public AliCFCutBase
   void Initialise();                   // sets everything to 0
   void FillHistograms(TObject* obj, Bool_t b);
                                        // Fills histograms before and after cuts
-  Double_t fMinNClusterTPC;            // min number of clusters in TPC
-  Double_t fMinNClusterITS;            // min number of clusters in ITS
+  Int_t fMinNClusterTPC;               // min number of clusters in TPC
+  Int_t fMinNClusterITS;               // min number of clusters in ITS
   Double_t fMinNClusterTRD;            // min number of clusters in TRD
+  Double_t fMinFoundClusterTPC;                // min ratio found / findable number of clusters in TPC
+  Double_t fMinNTrackletTRD;           // min number of tracklets in TRD
+  Double_t fMinNTrackletTRDpid;                // min number of tracklets for TRD pid
   Double_t fMaxChi2PerClusterTPC;      // max chi2 per clusters in TPC
   Double_t fMaxChi2PerClusterITS;      // max chi2 per clusters in ITS
-  Double_t fMaxChi2PerClusterTRD;      // max chi2 per clusters in TRD
-
+  Double_t fMaxChi2PerTrackletTRD;     // max chi2 per clusters in TRD
+  UShort_t fMinNdEdxClusterTPC;                // number of points used for dEdx
   Double_t fCovariance11Max ;          // max covariance matrix element 11
   Double_t fCovariance22Max ;          // max covariance matrix element 22
   Double_t fCovariance33Max ;          // max covariance matrix element 33
@@ -126,14 +144,19 @@ class AliCFTrackQualityCuts : public AliCFCutBase
 
   TH1F* fhQA[kNHist][kNStepQA];                // QA Histograms
   TBits *fBitmap ;                     // stores single selection decisions
+  AliESDtrackCuts *fTrackCuts;         // use some functionality from this class
 
   // QA histogram setters
   Int_t fhNBinsClusterTPC;             // number of bins+1: cluster TPC
   Int_t fhNBinsClusterITS;             // number of bins+1: cluster ITS
   Int_t fhNBinsClusterTRD;             // number of bins+1: cluster TRD
+  Int_t fhNBinsFoundClusterTPC;                // number of bins+1: ratio found / findable number of clusters in TPC
+  Int_t fhNBinsTrackletTRD;            // number of bins+1: number of tracklets in TRD
+  Int_t fhNBinsTrackletTRDpid;         // number of bins+1: number of tracklets for TRD pid
   Int_t fhNBinsChi2TPC;                        // number of bins+1: chi2 per cluster TPC
   Int_t fhNBinsChi2ITS;                        // number of bins+1: chi2 per cluster ITS
   Int_t fhNBinsChi2TRD;                        // number of bins+1: chi2 per cluster TRD
+  Int_t fhNBinsdEdxClusterTPC;         // number of bins+1: cluster TPC used for dEdx
   Int_t fhNBinsCovariance11;           // number of bins+1: covariance matrix element 11
   Int_t fhNBinsCovariance22;           // number of bins+1: covariance matrix element 22
   Int_t fhNBinsCovariance33;           // number of bins+1: covariance matrix element 33
@@ -143,9 +166,13 @@ class AliCFTrackQualityCuts : public AliCFCutBase
   Double_t *fhBinLimClusterTPC;        //[fhNBinsClusterTPC] bin limits: cluster TPC
   Double_t *fhBinLimClusterITS;        //[fhNBinsClusterITS] bin limits: cluster ITS
   Double_t *fhBinLimClusterTRD;        //[fhNBinsClusterTRD] bin limits: cluster TRD
+  Double_t *fhBinLimFoundClusterTPC;//[fhNBinsFoundClusterTPC] bin limits: ratio found / findable number of clusters in TPC
+  Double_t *fhBinLimTrackletTRD;    //[fhNBinsTrackletTRD] bin limits: number of tracklets in TRD
+  Double_t *fhBinLimTrackletTRDpid; //[fhNBinsTrackletTRDpid] bin limits: number of tracklets for TRD pid
   Double_t *fhBinLimChi2TPC;   //[fhNBinsChi2TPC] bin limits: chi2 per cluster TPC
   Double_t *fhBinLimChi2ITS;   //[fhNBinsChi2ITS] bin limits: chi2 per cluster ITS
   Double_t *fhBinLimChi2TRD;   //[fhNBinsChi2TRD] bin limits: chi2 per cluster TRD
+  Double_t *fhBinLimdEdxClusterTPC;    //[fhNBinsdEdxClusterTPC] bin limits: cluster TPC used for dEdx
   Double_t *fhBinLimCovariance11;//[fhNBinsCovariance11] bin limits: covariance matrix element 11
   Double_t *fhBinLimCovariance22;//[fhNBinsCovariance22] bin limits: covariance matrix element 22
   Double_t *fhBinLimCovariance33;//[fhNBinsCovariance33] bin limits: covariance matrix element 33