1 #ifndef ALIFIDUTIALCUT_H
2 #define ALIFIDUTIALCUT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //_________________________________________________________________________
8 // Class for track/cluster acceptance selection
9 // Selection in Central barrel, EMCAL and PHOS
11 //*-- Author: Gustavo Conesa (INFN-LNF)
13 // --- ROOT system ---
18 class TLorentzVector ;
20 //--- AliRoot system ---
23 class AliFidutialCut : public TObject {
27 AliFidutialCut() ; // ctor
28 AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor
29 AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment
30 virtual ~AliFidutialCut() ;//virtual dtor
32 void InitParameters();
34 void Print(const Option_t * opt)const;
36 Bool_t IsInFidutialCut(TLorentzVector l, TString det) const ;
38 void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; }
39 void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; }
40 void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; }
42 Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; }
43 Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; }
44 Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; }
46 void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
47 void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
48 void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
50 void AddCTSFidCutMaxEtaArray(TArrayF & array)
51 { fCTSFidCutMaxEta = new TArrayF(array) ; }
52 TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;}
54 void AddCTSFidCutMaxPhiArray(TArrayF & array)
55 { fCTSFidCutMaxPhi = new TArrayF(array) ; }
56 TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;}
58 void AddCTSFidCutMinEtaArray(TArrayF & array)
59 { fCTSFidCutMinEta = new TArrayF(array) ; }
60 TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;}
62 void AddCTSFidCutMinPhiArray(TArrayF & array)
63 { fCTSFidCutMinPhi = new TArrayF(array) ; }
64 TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;}
66 void AddEMCALFidCutMaxEtaArray(TArrayF & array)
67 { fEMCALFidCutMaxEta = new TArrayF(array) ; }
68 TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;}
70 void AddEMCALFidCutMaxPhiArray(TArrayF & array)
71 { fEMCALFidCutMaxPhi = new TArrayF(array) ; }
72 TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;}
74 void AddEMCALFidCutMinEtaArray(TArrayF & array)
75 { fEMCALFidCutMinEta = new TArrayF(array) ; }
76 TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;}
78 void AddEMCALFidCutMinPhiArray(TArrayF & array)
79 { fEMCALFidCutMinPhi = new TArrayF(array) ; }
80 TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;}
82 void AddPHOSFidCutMaxEtaArray(TArrayF & array)
83 { fPHOSFidCutMaxEta = new TArrayF(array) ; }
84 TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;}
86 void AddPHOSFidCutMaxPhiArray(TArrayF & array)
87 { fPHOSFidCutMaxPhi = new TArrayF(array) ; }
88 TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;}
90 void AddPHOSFidCutMinEtaArray(TArrayF & array)
91 { fPHOSFidCutMinEta = new TArrayF(array) ; }
92 TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;}
94 void AddPHOSFidCutMinPhiArray(TArrayF & array)
95 { fPHOSFidCutMinPhi = new TArrayF(array) ; }
96 TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;}
102 //Detector acceptance cuts
103 Bool_t fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters
104 Bool_t fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters
105 Bool_t fCTSFidutialCut ;//Apply fidutial cuts to CTS tracks
107 TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
108 TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
109 TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
110 TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
112 TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
113 TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
114 TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
115 TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
117 TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
118 TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
119 TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
120 TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
122 ClassDef(AliFidutialCut,1)
126 #endif //ALIFIDUTIALCUT_H