ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/BasicCluster.h
Revision: 1.22
Committed: Sat May 5 16:49:09 2012 UTC (13 years ago) by paus
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_032, Mit_031, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_028, Mit_027a, Mit_027, HEAD
Changes since 1.21: +211 -222 lines
Log Message:
Version 027 - complete version for ICHEP 2012.

File Contents

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