]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
some cleanup+ add diagnostic histograms
authorarcelli <arcelli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Jan 2008 14:31:35 +0000 (14:31 +0000)
committerarcelli <arcelli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Jan 2008 14:31:35 +0000 (14:31 +0000)
CORRFW/AliCFEventRecCuts.h

index bc3364ac8e01265f48f52bedb85404db7d21b342..3327ec7e9d70e61d8d6395af76a35b6b34a617c8 100644 (file)
@@ -25,6 +25,7 @@
 
 
 #include "AliCFCutBase.h"
+class TH1F;
 class TBits;
 //_____________________________________________________________________________
 class AliCFEventRecCuts: public AliCFCutBase 
@@ -37,9 +38,8 @@ class AliCFEventRecCuts: public AliCFCutBase
   ~AliCFEventRecCuts();
   void GetBitMap(TObject *obj, TBits*bitmap);
   Bool_t IsSelected(TObject* obj);
-  void Init(){;};
-
-  enum{kNCuts=7};
+  void Init();
+  void AddQAHistograms(TList *list) const;
 
   void SetNTracksCut(Int_t xMin=-1, Int_t xMax=1000000) {fNTracksMin=xMin; fNTracksMax=xMax;} // cut values setter
 
@@ -64,9 +64,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 histograms
+  void FillHistogramsBeforeCuts(TObject* obj) {return FillHistograms(obj,kFALSE);}
+  void FillHistogramsAfterCuts(TObject* obj)  {return FillHistograms(obj,kTRUE);}
+  // 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,
+        kNCuts=7,
+        kNStepQA=2
+        };
   
  private:
   TBits *SelectionBitMap(TObject* obj);
+  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
@@ -83,7 +104,25 @@ class AliCFEventRecCuts: public AliCFCutBase
 
   TBits *fBitMap ; //cut mask
 
-  ClassDef(AliCFEventRecCuts,1);
+
+  TH1F* fhQA[kNCuts][kNStepQA];                // QA Histograms
+  //QA Histogram parameters
+  Int_t fhNBinsNTracks;//size of array of bin limits, N Tracks ESD
+  Double_t *fhBinLimNTracks;//[fhNBinsNTracks] bin limits, N Tracks ESD
+  Int_t fhNBinsVtxPosX;//size of array of bin limits, Vtx Pos X
+  Double_t *fhBinLimVtxPosX;//[fhNBinsVtxPosX] bin limits, Vtx Pos X
+  Int_t fhNBinsVtxPosY;//size of array of bin limits, Vtx Pos Y
+  Double_t *fhBinLimVtxPosY;//[fhNBinsVtxPosY] bin limits, Vtx Pos Y
+  Int_t fhNBinsVtxPosZ;//size of array of bin limits, Vtx Pos Z
+  Double_t *fhBinLimVtxPosZ;//[fhNBinsVtxPosZ] bin limits, Vtx Pos Z
+  Int_t fhNBinsVtxResX;//size of array of bin limits, Vtx Res X
+  Double_t *fhBinLimVtxResX;//[fhNBinsVtxResX] bin limits, Vtx Res X
+  Int_t fhNBinsVtxResY;//size of array of bin limits, Vtx Res Y
+  Double_t *fhBinLimVtxResY;//[fhNBinsVtxResY] bin limits, Vtx Res Y
+  Int_t fhNBinsVtxResZ;//size of array of bin limits, Vtx Res Z
+  Double_t *fhBinLimVtxResZ;//[fhNBinsVtxResZ] bin limits, Vtx Res Z
+
+  ClassDef(AliCFEventRecCuts,2);
 };
 
 #endif