]>
Commit | Line | Data |
---|---|---|
ff45398a | 1 | #ifndef ALIFIDUCIALCUT_H |
2 | #define ALIFIDUCIALCUT_H | |
1c5acb87 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | // Class for track/cluster acceptance selection | |
9 | // Selection in Central barrel, EMCAL and PHOS | |
5efec477 | 10 | // |
11 | // Several selection regions possible for the different | |
12 | // detectors | |
1c5acb87 | 13 | // |
14 | //*-- Author: Gustavo Conesa (INFN-LNF) | |
15 | ||
16 | // --- ROOT system --- | |
17 | #include <TObject.h> | |
18 | #include <TArrayF.h> | |
19 | ||
20 | class TString ; | |
21 | class TLorentzVector ; | |
22 | ||
23 | //--- AliRoot system --- | |
24 | ||
1c5acb87 | 25 | |
ff45398a | 26 | class AliFiducialCut : public TObject { |
1c5acb87 | 27 | |
78219bac | 28 | public: |
ff45398a | 29 | AliFiducialCut() ; // ctor |
78219bac | 30 | virtual ~AliFiducialCut() ;//virtual dtor |
31 | ||
32 | private: | |
ff45398a | 33 | AliFiducialCut(const AliFiducialCut & g) ; // cpy ctor |
34 | AliFiducialCut & operator = (const AliFiducialCut & g) ;//cpy assignment | |
78219bac | 35 | |
36 | public: | |
1c5acb87 | 37 | |
38 | void InitParameters(); | |
39 | ||
40 | void Print(const Option_t * opt)const; | |
ff45398a | 41 | Bool_t CheckFiducialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ; |
42 | Bool_t IsInFiducialCut (const TLorentzVector lv, const TString det) const ; | |
1c5acb87 | 43 | |
ff45398a | 44 | void DoCTSFiducialCut(Bool_t b) {fCTSFiducialCut = b; } |
45 | void DoEMCALFiducialCut(Bool_t b) {fEMCALFiducialCut = b; } | |
46 | void DoPHOSFiducialCut(Bool_t b) {fPHOSFiducialCut = b; } | |
1c5acb87 | 47 | |
ff45398a | 48 | Bool_t GetCTSFiducialCutStatus() const {return fCTSFiducialCut ; } |
49 | Bool_t GetEMCALFiducialCut() const {return fEMCALFiducialCut ; } | |
50 | Bool_t GetPHOSFiducialCutStatus() const {return fPHOSFiducialCut ; } | |
1c5acb87 | 51 | |
ff45398a | 52 | void SetSimpleCTSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; |
53 | void SetSimpleEMCALFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; | |
54 | void SetSimplePHOSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; | |
1c5acb87 | 55 | |
7ac2407a | 56 | void AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array) |
57 | { fCTSFidCutMaxEta->Set(size,array); } | |
1c5acb87 | 58 | TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;} |
59 | ||
7ac2407a | 60 | void AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array) |
61 | { fCTSFidCutMaxPhi->Set(size,array); } | |
1c5acb87 | 62 | TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;} |
63 | ||
7ac2407a | 64 | void AddCTSFidCutMinEtaArray(Int_t size, Float_t* array) |
65 | { fCTSFidCutMinEta->Set(size,array); } | |
1c5acb87 | 66 | TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;} |
67 | ||
7ac2407a | 68 | void AddCTSFidCutMinPhiArray(Int_t size, Float_t* array) |
69 | { fCTSFidCutMinPhi->Set(size,array); } | |
1c5acb87 | 70 | TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;} |
71 | ||
7ac2407a | 72 | void AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array) |
73 | { fEMCALFidCutMaxEta->Set(size,array); } | |
1c5acb87 | 74 | TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;} |
75 | ||
7ac2407a | 76 | void AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array) |
77 | { fEMCALFidCutMaxPhi->Set(size,array); } | |
1c5acb87 | 78 | TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;} |
79 | ||
7ac2407a | 80 | void AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array) |
81 | { fEMCALFidCutMinEta->Set(size,array); } | |
1c5acb87 | 82 | TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;} |
83 | ||
7ac2407a | 84 | void AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array) |
85 | { fEMCALFidCutMinPhi->Set(size,array); } | |
1c5acb87 | 86 | TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;} |
87 | ||
7ac2407a | 88 | void AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array) |
89 | { fPHOSFidCutMaxEta->Set(size,array); } | |
1c5acb87 | 90 | TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;} |
91 | ||
7ac2407a | 92 | void AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array) |
93 | { fPHOSFidCutMaxPhi->Set(size,array); } | |
1c5acb87 | 94 | TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;} |
95 | ||
7ac2407a | 96 | void AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array) |
97 | { fPHOSFidCutMinEta->Set(size,array); } | |
1c5acb87 | 98 | TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;} |
99 | ||
7ac2407a | 100 | void AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array) |
101 | { fPHOSFidCutMinPhi->Set(size,array); } | |
1c5acb87 | 102 | TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;} |
103 | ||
104 | ||
105 | ||
106 | protected: | |
107 | ||
108 | //Detector acceptance cuts | |
ff45398a | 109 | Bool_t fEMCALFiducialCut ; // Apply fiducial cuts to EMCAL clusters |
110 | Bool_t fPHOSFiducialCut ;// Apply fiducial cuts to PHOS clusters | |
111 | Bool_t fCTSFiducialCut ;//Apply fiducial cuts to CTS tracks | |
477d6cee | 112 | |
113 | TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta | |
114 | TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi | |
115 | TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta | |
116 | TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi | |
117 | ||
118 | TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta | |
119 | TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi | |
120 | TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta | |
121 | TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi | |
122 | ||
123 | TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta | |
124 | TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi | |
125 | TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta | |
126 | TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi | |
1c5acb87 | 127 | |
ff45398a | 128 | ClassDef(AliFiducialCut,1) |
477d6cee | 129 | } ; |
1c5acb87 | 130 | |
131 | ||
ff45398a | 132 | #endif //ALIFIDUCIALCUT_H |
1c5acb87 | 133 | |
134 | ||
135 |