1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15 #ifndef __ALIHFEEXTRACUTS_H__
16 #define __ALIHFEEXTRACUTS_H__
18 // #ifndef ALICFCUTBASE_H
19 #include "AliCFCutBase.h"
27 class AliHFEextraCuts : public AliCFCutBase{
36 AliHFEextraCuts(const Char_t *name, const Char_t *title);
37 AliHFEextraCuts(const AliHFEextraCuts &c);
38 AliHFEextraCuts &operator=(const AliHFEextraCuts &c);
41 virtual Bool_t IsSelected(TObject *o);
42 virtual Bool_t IsSelected(TList *) { return kTRUE; };
44 inline void SetClusterRatioTPC(Double_t ratio);
45 inline void SetRequireITSpixel(ITSPixel_t pixel);
46 inline void SetMinImpactParamR(Double_t impactParam);
47 inline void SetMaxImpactParamR(Double_t impactParam);
48 inline void SetMinImpactParamZ(Double_t impactParam);
49 inline void SetMaxImpactParamZ(Double_t impactParam);
50 inline void SetMinTrackletsTRD(Int_t minTracklets);
53 virtual void AddQAHistograms(TList *qaList);
54 Bool_t CheckESDCuts(AliESDtrack *track);
55 Bool_t CheckMCCuts(AliMCParticle */*track*/);
56 void FillQAhistosESD(AliESDtrack *track, UInt_t when);
57 // void FillQAhistosMC(AliMCParticle *track, UInt_t when);
58 void FillCutCorrelation(ULong64_t survivedCut);
78 ULong64_t fCutCorrelation; // Cut Correlation
79 ULong64_t fRequirements; // Cut Requirements
80 Float_t fImpactParamCut[4]; // Impact Parmameter Cut
81 Float_t fClusterRatioTPC; // Ratio of findable vs. found clusters in TPC
82 UChar_t fMinTrackletsTRD; // Min. Number of Tracklets inside TRD
83 UChar_t fPixelITS; // Cut on ITS Pixels
85 TList *fQAlist; //! Directory for QA histograms
87 ClassDef(AliHFEextraCuts, 1) // Additional cuts implemented by the ALICE HFE group
90 //__________________________________________________________
91 void AliHFEextraCuts::SetClusterRatioTPC(Double_t ratio) {
92 SETBIT(fRequirements, kClusterRatioTPC);
93 fClusterRatioTPC = ratio;
96 //__________________________________________________________
97 void AliHFEextraCuts::SetRequireITSpixel(ITSPixel_t pixel) {
98 SETBIT(fRequirements, kPixelITS);
102 //__________________________________________________________
103 void AliHFEextraCuts::SetMinImpactParamR(Double_t impactParam){
104 SETBIT(fRequirements, kMinImpactParamR);
105 fImpactParamCut[0] = impactParam;
108 //__________________________________________________________
109 void AliHFEextraCuts::SetMaxImpactParamR(Double_t impactParam){
110 SETBIT(fRequirements, kMaxImpactParamR);
111 fImpactParamCut[1] = impactParam;
114 //__________________________________________________________
115 void AliHFEextraCuts::SetMinImpactParamZ(Double_t impactParam){
116 SETBIT(fRequirements, kMinImpactParamZ);
117 fImpactParamCut[2] = impactParam;
120 //__________________________________________________________
121 void AliHFEextraCuts::SetMaxImpactParamZ(Double_t impactParam){
122 SETBIT(fRequirements, kMaxImpactParamZ);
123 fImpactParamCut[3] = impactParam;
126 //__________________________________________________________
127 void AliHFEextraCuts::SetMinTrackletsTRD(Int_t minTracklets){
128 SETBIT(fRequirements, kMinTrackletsTRD);
129 fMinTrackletsTRD = minTracklets;