]>
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 */ | |
1c5acb87 | 5 | |
6 | //_________________________________________________________________________ | |
7 | // Class for track/cluster acceptance selection | |
87fae7e8 | 8 | // Selection in Central barrel, DCAL and PHOS |
5efec477 | 9 | // |
10 | // Several selection regions possible for the different | |
11 | // detectors | |
1c5acb87 | 12 | // |
13 | //*-- Author: Gustavo Conesa (INFN-LNF) | |
14 | ||
15 | // --- ROOT system --- | |
16 | #include <TObject.h> | |
17 | #include <TArrayF.h> | |
18 | ||
19 | class TString ; | |
05f778ab | 20 | //class TLorentzVector ; |
1c5acb87 | 21 | |
1c5acb87 | 22 | |
ff45398a | 23 | class AliFiducialCut : public TObject { |
c5693f62 | 24 | |
25 | public: | |
ff45398a | 26 | AliFiducialCut() ; // ctor |
c5693f62 | 27 | virtual ~AliFiducialCut() ;//virtual dtor |
78219bac | 28 | |
c5693f62 | 29 | void InitParameters(); |
87fae7e8 | 30 | |
31 | Bool_t CheckFiducialRegion(Float_t eta, Float_t phi, | |
32 | const TArrayF* minphi, const TArrayF* maxphi, | |
c5693f62 | 33 | const TArrayF* mineta, const TArrayF* maxeta) const ; |
87fae7e8 | 34 | |
02e3ce0c | 35 | //Bool_t IsInFiducialCut (TLorentzVector lv, TString det) const ; |
87fae7e8 | 36 | Bool_t IsInFiducialCut (Float_t eta, Float_t phi, Int_t det) const ; |
1c5acb87 | 37 | |
b960c7eb | 38 | void DoCTSFiducialCut (Bool_t b) { fCTSFiducialCut = b ; } |
39 | void DoEMCALFiducialCut(Bool_t b) { fEMCALFiducialCut = b ; } | |
40 | void DoPHOSFiducialCut (Bool_t b) { fPHOSFiducialCut = b ; } | |
87fae7e8 | 41 | void DoDCALFiducialCut (Bool_t b) { fDCALFiducialCut = b ; } |
c5693f62 | 42 | |
b960c7eb | 43 | Bool_t GetCTSFiducialCutStatus() const { return fCTSFiducialCut ; } |
44 | Bool_t GetEMCALFiducialCut() const { return fEMCALFiducialCut ; } | |
45 | Bool_t GetPHOSFiducialCutStatus() const { return fPHOSFiducialCut ; } | |
87fae7e8 | 46 | Bool_t GetDCALFiducialCut() const { return fDCALFiducialCut ; } |
47 | ||
8a2dbbff | 48 | void SetSimpleCTSFiducialCut (Float_t abseta, Float_t phimin, Float_t phimax) ; |
49 | void SetSimpleEMCALFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax) ; | |
50 | void SetSimplePHOSFiducialCut (Float_t abseta, Float_t phimin, Float_t phimax) ; | |
87fae7e8 | 51 | void SetSimpleDCALFiducialCut (Float_t abseta, Float_t phimin, Float_t phimax) ; |
c5693f62 | 52 | |
53 | void Print(const Option_t * opt)const; | |
c5693f62 | 54 | |
55 | void AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array) | |
56 | { fCTSFidCutMaxEta->Set(size,array) ; } | |
57 | TArrayF * GetCTSFidCutMaxEtaArray() const { return fCTSFidCutMaxEta ; } | |
58 | ||
59 | void AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array) | |
60 | { fCTSFidCutMaxPhi->Set(size,array) ; } | |
61 | TArrayF * GetCTSFidCutMaxPhiArray() const { return fCTSFidCutMaxPhi ; } | |
62 | ||
63 | void AddCTSFidCutMinEtaArray(Int_t size, Float_t* array) | |
64 | { fCTSFidCutMinEta->Set(size,array) ; } | |
65 | TArrayF * GetCTSFidCutMinEtaArray() const { return fCTSFidCutMinEta ; } | |
66 | ||
67 | void AddCTSFidCutMinPhiArray(Int_t size, Float_t* array) | |
68 | { fCTSFidCutMinPhi->Set(size,array) ; } | |
69 | TArrayF * GetCTSFidCutMinPhiArray() const { return fCTSFidCutMinPhi ; } | |
70 | ||
71 | void AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array) | |
72 | { fEMCALFidCutMaxEta->Set(size,array) ; } | |
73 | TArrayF * GetEMCALFidCutMaxEtaArray() const { return fEMCALFidCutMaxEta ; } | |
74 | ||
75 | void AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array) | |
76 | { fEMCALFidCutMaxPhi->Set(size,array) ; } | |
77 | TArrayF * GetEMCALFidCutMaxPhiArray() const { return fEMCALFidCutMaxPhi ; } | |
78 | ||
79 | void AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array) | |
80 | { fEMCALFidCutMinEta->Set(size,array) ; } | |
81 | TArrayF * GetEMCALFidCutMinEtaArray() const { return fEMCALFidCutMinEta ; } | |
82 | ||
83 | void AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array) | |
84 | { fEMCALFidCutMinPhi->Set(size,array) ; } | |
85 | TArrayF * GetEMCALFidCutMinPhiArray() const { return fEMCALFidCutMinPhi ; } | |
86 | ||
87 | void AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array) | |
88 | { fPHOSFidCutMaxEta->Set(size,array) ; } | |
89 | TArrayF * GetPHOSFidCutMaxEtaArray() const { return fPHOSFidCutMaxEta ; } | |
90 | ||
91 | void AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array) | |
92 | { fPHOSFidCutMaxPhi->Set(size,array) ; } | |
93 | TArrayF * GetPHOSFidCutMaxPhiArray() const { return fPHOSFidCutMaxPhi ; } | |
94 | ||
95 | void AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array) | |
96 | { fPHOSFidCutMinEta->Set(size,array) ; } | |
97 | TArrayF * GetPHOSFidCutMinEtaArray() const { return fPHOSFidCutMinEta ; } | |
1c5acb87 | 98 | |
c5693f62 | 99 | void AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array) |
100 | { fPHOSFidCutMinPhi->Set(size,array) ; } | |
101 | TArrayF * GetPHOSFidCutMinPhiArray() const { return fPHOSFidCutMinPhi ; } | |
102 | ||
87fae7e8 | 103 | void AddDCALFidCutMaxEtaArray(Int_t size, Float_t* array) |
104 | { fDCALFidCutMaxEta->Set(size,array) ; } | |
105 | TArrayF * GetDCALFidCutMaxEtaArray() const { return fDCALFidCutMaxEta ; } | |
106 | ||
107 | void AddDCALFidCutMaxPhiArray(Int_t size, Float_t* array) | |
108 | { fDCALFidCutMaxPhi->Set(size,array) ; } | |
109 | TArrayF * GetDCALFidCutMaxPhiArray() const { return fDCALFidCutMaxPhi ; } | |
110 | ||
111 | void AddDCALFidCutMinEtaArray(Int_t size, Float_t* array) | |
112 | { fDCALFidCutMinEta->Set(size,array) ; } | |
113 | TArrayF * GetDCALFidCutMinEtaArray() const { return fDCALFidCutMinEta ; } | |
114 | ||
115 | void AddDCALFidCutMinPhiArray(Int_t size, Float_t* array) | |
116 | { fDCALFidCutMinPhi->Set(size,array) ; } | |
117 | TArrayF * GetDCALFidCutMinPhiArray() const { return fDCALFidCutMinPhi ; } | |
118 | ||
119 | enum detector {kEMCAL = 0, kPHOS = 1, kCTS = 2, kDCAL = 3, kDCALPHOS = 4 }; | |
120 | ||
b960c7eb | 121 | private: |
c5693f62 | 122 | |
123 | //Detector acceptance cuts | |
124 | Bool_t fEMCALFiducialCut ; // Apply fiducial cuts to EMCAL clusters | |
87fae7e8 | 125 | Bool_t fDCALFiducialCut ; // Apply fiducial cuts to DCAL clusters |
b960c7eb | 126 | Bool_t fPHOSFiducialCut ; // Apply fiducial cuts to PHOS clusters |
127 | Bool_t fCTSFiducialCut ; // Apply fiducial cuts to CTS tracks | |
c5693f62 | 128 | |
129 | TArrayF * fCTSFidCutMinEta ; // Take particles in CTS with eta > fCTSFidCutMinEta | |
130 | TArrayF * fCTSFidCutMinPhi ; // Take particles in CTS with phi > fCTSFidCutMinPhi | |
131 | TArrayF * fCTSFidCutMaxEta ; // Take particles in CTS with eta < fCTSFidCutMaxEta | |
132 | TArrayF * fCTSFidCutMaxPhi ; // Take particles in CTS with phi > fCTSFidCutMaxPhi | |
133 | ||
134 | TArrayF * fEMCALFidCutMinEta ; // Take particles in EMCAL with eta > fEMCALFidCutMinEta | |
135 | TArrayF * fEMCALFidCutMinPhi ; // Take particles in EMCAL with phi > fEMCALFidCutMinPhi | |
136 | TArrayF * fEMCALFidCutMaxEta ; // Take particles in EMCAL with eta < fEMCALFidCutMaxEta | |
137 | TArrayF * fEMCALFidCutMaxPhi ; // Take particles in EMCAL with phi > fEMCALFidCutMaxPhi | |
138 | ||
139 | TArrayF * fPHOSFidCutMinEta ; // Take particles in PHOS with eta > fPHOSFidCutMinEta | |
140 | TArrayF * fPHOSFidCutMinPhi ; // Take particles in PHOS with phi > fPHOSFidCutMinPhi | |
141 | TArrayF * fPHOSFidCutMaxEta ; // Take particles in PHOS with eta < fPHOSFidCutMaxEta | |
142 | TArrayF * fPHOSFidCutMaxPhi ; // Take particles in PHOS with phi > fPHOSFidCutMaxPhi | |
143 | ||
87fae7e8 | 144 | TArrayF * fDCALFidCutMinEta ; // Take particles in DCAL with eta > fDCALFidCutMinEta |
145 | TArrayF * fDCALFidCutMinPhi ; // Take particles in DCAL with phi > fDCALFidCutMinPhi | |
146 | TArrayF * fDCALFidCutMaxEta ; // Take particles in DCAL with eta < fDCALFidCutMaxEta | |
147 | TArrayF * fDCALFidCutMaxPhi ; // Take particles in DCAL with phi > fDCALFidCutMaxPhi | |
148 | ||
b960c7eb | 149 | AliFiducialCut( const AliFiducialCut & g) ; // cpy ctor |
150 | AliFiducialCut & operator = (const AliFiducialCut & g) ; // cpy assignment | |
1c5acb87 | 151 | |
87fae7e8 | 152 | ClassDef(AliFiducialCut,2) |
c5693f62 | 153 | |
154 | } ; | |
1c5acb87 | 155 | |
156 | ||
ff45398a | 157 | #endif //ALIFIDUCIALCUT_H |
1c5acb87 | 158 | |
159 | ||
160 |