]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFEventRecCuts.h
corrected warnings
[u/mrichter/AliRoot.git] / CORRFW / AliCFEventRecCuts.h
index bc3364ac8e01265f48f52bedb85404db7d21b342..6c696e37c5629398c2fbee962feed81060cf3ada 100644 (file)
@@ -25,6 +25,7 @@
 
 
 #include "AliCFCutBase.h"
+class TH1F;
 class TBits;
 //_____________________________________________________________________________
 class AliCFEventRecCuts: public AliCFCutBase 
@@ -35,11 +36,8 @@ class AliCFEventRecCuts: public AliCFCutBase
   AliCFEventRecCuts(const AliCFEventRecCuts& c) ;
   AliCFEventRecCuts& operator=(const AliCFEventRecCuts& c) ;
   ~AliCFEventRecCuts();
-  void GetBitMap(TObject *obj, TBits*bitmap);
   Bool_t IsSelected(TObject* obj);
-  void Init(){;};
-
-  enum{kNCuts=7};
+  Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
 
   void SetNTracksCut(Int_t xMin=-1, Int_t xMax=1000000) {fNTracksMin=xMin; fNTracksMax=xMax;} // cut values setter
 
@@ -52,6 +50,10 @@ class AliCFEventRecCuts: public AliCFCutBase
   void SetVertexYResCut(Double_t yMax=1.e99){fVtxYResMax=yMax;} // cut values setter
   void SetVertexZResCut(Double_t zMax=1.e99){fVtxZResMax=zMax;} // cut values setter
 
+  void SetVertexNContributors(Int_t min, Int_t max) {fVtxNCtrbMin=min; fVtxNCtrbMax=max;}
+  void SetUseTPCVertex() {fVtxTPC=kTRUE ; fVtxSPD=kFALSE;} //default is vertex from tracks
+  void SetUseSPDVertex() {fVtxTPC=kFALSE; fVtxSPD=kTRUE ;} //default is vertex from tracks
+
   Int_t    GetNTracksMin() const {return fNTracksMin;} // cut values getter
   Int_t    GetNTracksMax() const {return fNTracksMax;} // cut values getter
   Bool_t   GetRequireVtxCuts() const {return fRequireVtxCuts;} // cut value getter
@@ -64,9 +66,30 @@ class AliCFEventRecCuts: public AliCFCutBase
   Double_t GetVertexXResMax() const {return fVtxXResMax;} // cut values getter
   Double_t GetVertexYResMax() const {return fVtxYResMax;} // cut values getter
   Double_t GetVertexZResMax() const {return fVtxZResMax;} // cut values getter
+
+  // QA histogram setter
+  // 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);
+  enum{kNTracks=0,
+       kVtxPosX,
+       kVtxPosY,
+       kVtxPosZ,
+       kVtxResX,
+       kVtxResY,
+       kVtxResZ,
+       kVtxNCtrb,
+       kNCuts,
+       kNStepQA=2
+  };
   
- private:
-  TBits *SelectionBitMap(TObject* obj);
+ protected:
+  void SelectionBitMap(TObject* obj);
+  void AddQAHistograms(TList *qaList) ;
+  void DefineHistograms();             // books histograms 
+  void Initialise();                   // sets everything to 0
+  void FillHistograms(TObject* obj, Bool_t b);
+
   Int_t fNTracksMin; //minimum number of esd tracks
   Int_t fNTracksMax; //maximum number of esd tracks
   Bool_t fRequireVtxCuts ; //The type of trigger to be checked
@@ -79,11 +102,16 @@ class AliCFEventRecCuts: public AliCFCutBase
   Double_t fVtxXResMax ;//Maximum value of sigma_vtx in X
   Double_t fVtxYResMax ;//Maximum value of sigma_vtx in X
   Double_t fVtxZResMax ;//Maximum value of sigma_vtx in X
-
+  Int_t    fVtxNCtrbMin; //Min number of contributors to vertex
+  Int_t    fVtxNCtrbMax; //Max number of contributors to vertex
+  Bool_t   fVtxTPC;  //Flag for use of TPC vertex
+  Bool_t   fVtxSPD;  //Flag for use of SPD vertex
 
   TBits *fBitMap ; //cut mask
 
-  ClassDef(AliCFEventRecCuts,1);
+  TH1F* fhQA[kNCuts][kNStepQA];                // QA Histograms
+
+  ClassDef(AliCFEventRecCuts,3);
 };
 
 #endif