AliCFEventRecCuts(const AliCFEventRecCuts& c) ;
AliCFEventRecCuts& operator=(const AliCFEventRecCuts& c) ;
~AliCFEventRecCuts();
- void GetBitMap(TObject *obj, TBits*bitmap);
Bool_t IsSelected(TObject* obj);
Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
- void Init();
- void AddQAHistograms(TList *list) const;
void SetNTracksCut(Int_t xMin=-1, Int_t xMax=1000000) {fNTracksMin=xMin; fNTracksMax=xMax;} // cut values setter
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
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
- };
+ 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
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
-
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);
+ ClassDef(AliCFEventRecCuts,3);
};
#endif