ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/BasicCluster.h
Revision: 1.20
Committed: Mon Oct 10 20:56:56 2011 UTC (13 years, 6 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025
Branch point for: Mit_025c_branch
Changes since 1.19: +9 -3 lines
Log Message:
add crystal tilt axes to basic cluster

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.20 // $Id: BasicCluster.h,v 1.19 2011/10/09 23:28:47 bendavid Exp $
3 sixie 1.1 //
4 loizides 1.7 // BasicCluster
5 sixie 1.1 //
6 loizides 1.5 // This class holds information of basic reconstructed clusters.
7 sixie 1.1 //
8     // Authors: S.Xie
9     //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.2 #ifndef MITANA_DATATREE_BASICCLUSTER_H
12     #define MITANA_DATATREE_BASICCLUSTER_H
13 sixie 1.1
14     #include <TMath.h>
15 loizides 1.9 #include "MitCommon/DataFormats/interface/Vect3C.h"
16 sixie 1.1 #include "MitAna/DataTree/interface/DataObject.h"
17    
18     namespace mithep
19     {
20     class BasicCluster : public DataObject
21     {
22     public:
23 bendavid 1.17 BasicCluster() : fEnergy(0), fNHits(0),
24     fE1x3(0),
25     fE3x1(0),
26     fE1x5(0),
27     fE2x2(0),
28     fE3x2(0),
29     fE3x3(0),
30     fE4x4(0),
31     fE5x5(0),
32     fSwissCross(0),
33     fE2x5Right(0),
34     fE2x5Left(0),
35     fE2x5Top(0),
36     fE2x5Bottom(0),
37     fE2x5Max(0),
38     fELeft(0),
39     fERight(0),
40     fETop(0),
41     fEBottom(0),
42     fEMax(0),
43     fE2nd(0),
44     fEtaLat(0),
45     fPhiLat(0),
46     fLat(0),
47     fCovEtaEta(0),
48     fCovEtaPhi(0),
49     fCovPhiPhi(0),
50     fCoviEtaiEta(0),
51     fCoviEtaiPhi(0),
52     fCoviPhiiPhi(0),
53     fZernike20(0),
54 bendavid 1.19 fZernike42(0),
55 bendavid 1.20 fEtaCry(-99.), fPhiCry(-99.), fXCry(-99.), fYCry(-99.), fThetaAxis(0.), fPhiAxis(0.), fIEta(-999), fIPhi(-999), fIX(-999), fIY(-999) {}
56 loizides 1.7 BasicCluster(Double_t e, const ThreeVector &p) :
57 bendavid 1.17 fEnergy(e), fPoint(p), fNHits(0),
58     fE1x3(0),
59     fE3x1(0),
60     fE1x5(0),
61     fE2x2(0),
62     fE3x2(0),
63     fE3x3(0),
64     fE4x4(0),
65     fE5x5(0),
66     fSwissCross(0),
67     fE2x5Right(0),
68     fE2x5Left(0),
69     fE2x5Top(0),
70     fE2x5Bottom(0),
71     fE2x5Max(0),
72     fELeft(0),
73     fERight(0),
74     fETop(0),
75     fEBottom(0),
76     fEMax(0),
77     fE2nd(0),
78     fEtaLat(0),
79     fPhiLat(0),
80     fLat(0),
81     fCovEtaEta(0),
82     fCovEtaPhi(0),
83     fCovPhiPhi(0),
84     fCoviEtaiEta(0),
85     fCoviEtaiPhi(0),
86     fCoviPhiiPhi(0),
87     fZernike20(0),
88 bendavid 1.19 fZernike42(0),
89 bendavid 1.20 fEtaCry(-99.), fPhiCry(-99.), fXCry(-99.), fYCry(-99.), fThetaAxis(0.), fPhiAxis(0.), fIEta(-999), fIPhi(-999), fIX(-999), fIY(-999) {}
90 sixie 1.1
91 sixie 1.14 Double_t Energy() const { return fEnergy; }
92     Double_t Et() const;
93     Double_t Eta() const { return fPoint.Eta(); }
94     EObjType ObjType() const { return kBasicCluster; }
95     Double_t Phi() const { return fPoint.Phi(); }
96     ThreeVectorC Pos() const { return fPoint.V(); }
97     void Print(Option_t *opt="") const;
98     Double_t Rho() const { return fPoint.Rho(); }
99 bendavid 1.18 Int_t NHits() const { return fNHits; }
100 sixie 1.14 Double_t E1x3() const { return fE1x3; }
101     Double_t E3x1() const { return fE3x1; }
102     Double_t E1x5() const { return fE1x5; }
103     Double_t E2x2() const { return fE2x2; }
104     Double_t E3x2() const { return fE3x2; }
105     Double_t E3x3() const { return fE3x3; }
106     Double_t E4x4() const { return fE4x4; }
107     Double_t E5x5() const { return fE5x5; }
108 peveraer 1.16 Double_t SwissCross() const { return fSwissCross; }
109 sixie 1.14 Double_t E2x5Right() const { return fE2x5Right; }
110     Double_t E2x5Left() const { return fE2x5Left; }
111     Double_t E2x5Top() const { return fE2x5Top; }
112     Double_t E2x5Bottom() const { return fE2x5Bottom; }
113     Double_t E2x5Max() const { return fE2x5Max; }
114     Double_t ELeft() const { return fELeft; }
115     Double_t ERight() const { return fERight; }
116     Double_t ETop() const { return fETop; }
117     Double_t EBottom() const { return fEBottom; }
118     Double_t EMax() const { return fEMax; }
119     Double_t E2nd() const { return fE2nd; }
120     Double_t EtaLat() const { return fEtaLat; }
121     Double_t PhiLat() const { return fPhiLat; }
122     Double_t Lat() const { return fLat; }
123     Double_t CovEtaEta() const { return fCovEtaEta; }
124     Double_t CovEtaPhi() const { return fCovEtaPhi; }
125     Double_t CovPhiPhi() const { return fCovPhiPhi; }
126     Double_t CoviEtaiEta() const { return fCoviEtaiEta; }
127     Double_t CoviEtaiPhi() const { return fCoviEtaiPhi; }
128     Double_t CoviPhiiPhi() const { return fCoviPhiiPhi; }
129     Double_t Zernike20() const { return fZernike20; }
130     Double_t Zernike42() const { return fZernike42; }
131 bendavid 1.19 Double_t EtaCry() const { return fEtaCry; }
132     Double_t PhiCry() const { return fPhiCry; }
133     Double_t XCry() const { return fXCry; }
134     Double_t YCry() const { return fYCry; }
135 bendavid 1.20 Double_t ThetaAxis() const { return fThetaAxis; }
136     Double_t PhiAxis() const { return fPhiAxis; }
137 bendavid 1.19 Short_t IEta() const { return fIEta; }
138     Short_t IPhi() const { return fIPhi; }
139     Short_t IX() const { return fIX; }
140     Short_t IY() const { return fIY; }
141 sixie 1.14
142     void SetEnergy(Double_t energy) { fEnergy = energy; }
143     void SetXYZ(Double_t x, Double_t y, Double_t z) { fPoint.SetXYZ(x,y,z); }
144     void SetNHits(Int_t x) { fNHits = x; }
145     void SetE1x3(Double_t x) { fE1x3 = x; }
146     void SetE3x1(Double_t x) { fE3x1 = x; }
147     void SetE1x5(Double_t x) { fE1x5 = x; }
148     void SetE2x2(Double_t x) { fE2x2 = x; }
149     void SetE3x2(Double_t x) { fE3x2 = x; }
150     void SetE3x3(Double_t x) { fE3x3 = x; }
151     void SetE4x4(Double_t x) { fE4x4 = x; }
152     void SetE5x5(Double_t x) { fE5x5 = x; }
153 peveraer 1.16 void SetSwissCross(Double_t x) { fSwissCross = x; }
154 sixie 1.14 void SetE2x5Right(Double_t x) { fE2x5Right = x; }
155     void SetE2x5Left(Double_t x) { fE2x5Left = x; }
156     void SetE2x5Top(Double_t x) { fE2x5Top = x; }
157     void SetE2x5Bottom(Double_t x) { fE2x5Bottom = x; }
158     void SetE2x5Max(Double_t x) { fE2x5Max = x; }
159     void SetELeft(Double_t x) { fELeft = x; }
160     void SetERight(Double_t x) { fERight = x; }
161     void SetETop(Double_t x) { fETop = x; }
162     void SetEBottom(Double_t x) { fEBottom = x; }
163     void SetEMax(Double_t x) { fEMax = x; }
164     void SetE2nd(Double_t x) { fE2nd = x; }
165     void SetEtaLat(Double_t x) { fEtaLat = x; }
166     void SetPhiLat(Double_t x) { fPhiLat = x; }
167     void SetLat(Double_t x) { fLat = x; }
168     void SetCovEtaEta(Double_t x) { fCovEtaEta = x; }
169     void SetCovEtaPhi(Double_t x) { fCovEtaPhi = x; }
170     void SetCovPhiPhi(Double_t x) { fCovPhiPhi = x; }
171     void SetCoviEtaiEta(Double_t x) { fCoviEtaiEta = x; }
172     void SetCoviEtaiPhi(Double_t x) { fCoviEtaiPhi = x; }
173     void SetCoviPhiiPhi(Double_t x) { fCoviPhiiPhi = x; }
174     void SetZernike20(Double_t x) { fZernike20 = x; }
175     void SetZernike42(Double_t x) { fZernike42 = x; }
176 bendavid 1.19 void SetEtaCry(Double_t x) { fEtaCry = x; }
177     void SetPhiCry(Double_t x) { fPhiCry = x; }
178     void SetXCry(Double_t x) { fXCry = x; }
179     void SetYCry(Double_t x) { fYCry = x; }
180 bendavid 1.20 void SetThetaAxis(Double_t x) { fThetaAxis = x; }
181     void SetPhiAxis(Double_t x) { fPhiAxis = x; }
182 bendavid 1.19 void SetIEta(Short_t i) { fIEta = i; }
183     void SetIPhi(Short_t i) { fIPhi = i; }
184     void SetIX(Short_t i) { fIX = i; }
185     void SetIY(Short_t i) { fIY = i; }
186 sixie 1.14
187 sixie 1.1
188     protected:
189 bendavid 1.8
190 loizides 1.9 Double32_t fEnergy; //[0,0,14]assigned energy
191     Vect3C fPoint; //centroid Position
192 sixie 1.1
193 sixie 1.14
194     Int_t fNHits;
195     Double32_t fE1x3;
196     Double32_t fE3x1;
197     Double32_t fE1x5;
198     Double32_t fE2x2;
199     Double32_t fE3x2;
200     Double32_t fE3x3;
201     Double32_t fE4x4;
202     Double32_t fE5x5;
203 peveraer 1.16 Double32_t fSwissCross;
204 sixie 1.14 Double32_t fE2x5Right;
205     Double32_t fE2x5Left;
206     Double32_t fE2x5Top;
207     Double32_t fE2x5Bottom;
208     Double32_t fE2x5Max;
209     Double32_t fELeft;
210     Double32_t fERight;
211     Double32_t fETop;
212     Double32_t fEBottom;
213     Double32_t fEMax;
214     Double32_t fE2nd;
215     Double32_t fEtaLat;
216     Double32_t fPhiLat;
217     Double32_t fLat;
218     Double32_t fCovEtaEta;
219     Double32_t fCovEtaPhi;
220     Double32_t fCovPhiPhi;
221     Double32_t fCoviEtaiEta;
222     Double32_t fCoviEtaiPhi;
223     Double32_t fCoviPhiiPhi;
224     Double32_t fZernike20;
225     Double32_t fZernike42;
226 bendavid 1.19 Double32_t fEtaCry; //local coordinates and index of max energy crystal (for local containment corrections)
227     Double32_t fPhiCry;
228     Double32_t fXCry;
229     Double32_t fYCry;
230 bendavid 1.20 Double32_t fThetaAxis;
231     Double32_t fPhiAxis;
232 bendavid 1.19 Short_t fIEta;
233     Short_t fIPhi;
234     Short_t fIX;
235     Short_t fIY;
236    
237     ClassDef(BasicCluster, 4) // Basic cluster class
238 sixie 1.1 };
239     }
240 loizides 1.13
241     //--------------------------------------------------------------------------------------------------
242     inline Double_t mithep::BasicCluster::Et() const
243     {
244     // Return transverse energy.
245    
246     return fEnergy*fPoint.Rho()/fPoint.V().R();
247     }
248 sixie 1.1 #endif