added CountAcceptedTracks function
[u/mrichter/AliRoot.git] / PWG0 / esdTrackCuts / AliESDtrackCuts.h
index a0d5a01aa2fc6490886cdb29f06479b7c4c93317..47dc842affbd40f73cc8ccfde64185008f3629e7 100644 (file)
 //
 //  TODO: 
 //  - add functionality to save and load cuts
-//  - fix the n sigma cut so it is really a n sigma cut
 //  - add different ways to make track to vertex cut
 //  - add histograms for kinematic cut variables?
 //  - upper and lower cuts for all (non-boolean) cuts
 //  - update print method
 //  - is there a smarter way to manage the cuts?
-//  - put comment to each variable
+//  - put comments to each variable
 //  - implement destructor !!!
 //
-//  NOTE: 
-//  - 
-//
 
 #ifndef ALIESDTRACKCUTS_H
 #define ALIESDTRACKCUTS_H
 
+#include <TObject.h>
+#include <TH2.h>
 
-#include "TObject.h"
-
-#include "TH1.h"
-#include "TH2.h"
-
-#include "AliESDtrack.h"
-#include "AliESD.h"
-#include "AliLog.h"
+class AliESD;
+class AliESDtrack;
+class AliLog;
 
 class AliESDtrackCuts : public TObject 
 {
 
 public:
   AliESDtrackCuts();
-  virtual ~AliESDtrackCuts();
   AliESDtrackCuts(const AliESDtrackCuts& pd);  // Copy Constructor
+  virtual ~AliESDtrackCuts();
 
   Bool_t AcceptTrack(AliESDtrack* esdTrack);
-
   TObjArray* GetAcceptedTracks(AliESD* esd);
+  Int_t CountAcceptedTracks(AliESD* esd);
 
   AliESDtrackCuts &operator=(const AliESDtrackCuts &c);
   virtual void Copy(TObject &c) const;
@@ -95,7 +88,7 @@ protected:
 
   //######################################################
   // esd track quality cuts
-  static const Char_t* fgkCutNames[kNCuts]; // names of cuts (for internal use)
+  static const Char_t* fgkCutNames[kNCuts]; //! names of cuts (for internal use)
 
   Int_t   fCutMinNClusterTPC;         // min number of tpc clusters
   Int_t   fCutMinNClusterITS;         // min number of its clusters  
@@ -130,30 +123,30 @@ protected:
   // diagnostics histograms
   Bool_t fHistogramsOn;               // histograms on/off
 
-  TH1F* fhNClustersITS[2];            //[2]
-  TH1F* fhNClustersTPC[2];            //[2]
-  
-  TH1F* fhChi2PerClusterITS[2];       //[2]
-  TH1F* fhChi2PerClusterTPC[2];       //[2]
+  TH1F* fhNClustersITS[2];            //->
+  TH1F* fhNClustersTPC[2];            //->
+
+  TH1F* fhChi2PerClusterITS[2];       //->
+  TH1F* fhChi2PerClusterTPC[2];       //->
 
-  TH1F* fhC11[2];                     //[2]
-  TH1F* fhC22[2];                     //[2]
-  TH1F* fhC33[2];                     //[2]
-  TH1F* fhC44[2];                     //[2]
-  TH1F* fhC55[2];                     //[2]
+  TH1F* fhC11[2];                     //->
+  TH1F* fhC22[2];                     //->
+  TH1F* fhC33[2];                     //->
+  TH1F* fhC44[2];                     //->
+  TH1F* fhC55[2];                     //->
 
-  TH1F* fhDXY[2];                     //[2]
-  TH1F* fhDZ[2];                      //[2]
-  TH2F* fhDXYvsDZ[2];                 //[2]
+  TH1F* fhDXY[2];                     //->
+  TH1F* fhDZ[2];                      //->
+  TH2F* fhDXYvsDZ[2];                 //->
 
-  TH1F* fhDXYNormalized[2];           //[2]
-  TH1F* fhDZNormalized[2];            //[2]
-  TH2F* fhDXYvsDZNormalized[2];       //[2]
+  TH1F* fhDXYNormalized[2];           //->
+  TH1F* fhDZNormalized[2];            //->
+  TH2F* fhDXYvsDZNormalized[2];       //->
 
-  TH1F*  fhCutStatistics;             // statistics of what cuts the tracks did not survive
-  TH2F*  fhCutCorrelation;            // 2d statistics plot
+  TH1F*  fhCutStatistics;             //-> statistics of what cuts the tracks did not survive
+  TH2F*  fhCutCorrelation;            //-> 2d statistics plot
   
-  ClassDef(AliESDtrackCuts,0)
+  ClassDef(AliESDtrackCuts, 1)
 };