#include "AliCFCutBase.h"
+class TH1F;
class TBits;
//_____________________________________________________________________________
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
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
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