ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Electron.hh
Revision: 1.7
Committed: Mon Sep 5 17:15:15 2011 UTC (13 years, 7 months ago) by amagnan
Content type: text/plain
Branch: MAIN
CVS Tags: beforeMETHacks
Changes since 1.6: +1 -0 lines
Log Message:
add electron SC eta

File Contents

# Content
1 #ifndef HbbAnalysis_Electron_hh
2 #define HbbAnalysis_Electron_hh
3
4 #include <vector>
5 #include <string>
6
7 #include "UserCode/HbbAnalysis/interface/Objects.hh"
8
9 namespace HbbAnalysis {
10
11 class Electron {
12
13 public:
14
15
16 /** Constructors */
17
18 Electron(){
19 //Clear();
20 };
21
22 ~Electron(){};
23
24 Electron(const HbbAnalysis::GenVars & aGen,
25 const HbbAnalysis::BaseVars & aReco,
26 const HbbAnalysis::SCVars & aSC,
27 const HbbAnalysis::EleIsoVars & aIso,
28 const HbbAnalysis::EleIDVars & aID
29 ){
30 Clear();
31 genVars(aGen);
32 recoVars(aReco);
33 scVars(aSC);
34 isoVars(aIso);
35 idVars(aID);
36
37 };
38
39 inline const HbbAnalysis::GenVars & genVars() const {
40 return gen_;
41 };
42
43 inline const HbbAnalysis::BaseVars & recoVars() const {
44 return reco_;
45 };
46
47 inline const HbbAnalysis::SCVars & scVars() const {
48 return sc_;
49 };
50
51 inline const HbbAnalysis::EleIsoVars & isoVars() const {
52 return iso_;
53 };
54
55 inline const HbbAnalysis::EleIDVars & idVars() const {
56 return id_;
57 };
58
59 inline const bool WPc60() {
60 return (id_.idAndIso & 0x1);
61 };
62 inline const bool WPc70() {
63 return (id_.idAndIso & 0x2) >> 1;
64 };
65 inline const bool WPc80() {
66 return (id_.idAndIso & 0x4) >> 2;
67 };
68 inline const bool WPc85() {
69 return (id_.idAndIso & 0x8) >> 3;
70 };
71 inline const bool WPc90() {
72 return (id_.idAndIso & 0x10) >> 4;
73 };
74 inline const bool WPc95() {
75 return (id_.idAndIso & 0x20) >> 5;
76 };
77 inline const bool WPrel60() {
78 return (id_.idAndIso & 0x40) >> 6;
79 };
80 inline const bool WPrel70() {
81 return (id_.idAndIso & 0x80) >> 7;
82 };
83 inline const bool WPrel80() {
84 return (id_.idAndIso & 0x100) >> 8;
85 };
86 inline const bool WPrel85() {
87 return (id_.idAndIso & 0x200) >> 9;
88 };
89 inline const bool WPrel90() {
90 return (id_.idAndIso & 0x400) >> 10;
91 };
92 inline const bool WPrel95() {
93 return (id_.idAndIso & 0x800) >> 11;
94 };
95
96
97 inline void genVars(const HbbAnalysis::GenVars & aGen) {
98 gen_ = aGen;
99 };
100
101 inline void recoVars(const HbbAnalysis::BaseVars & aReco) {
102 reco_ = aReco;
103 };
104
105 inline void scVars(const HbbAnalysis::SCVars & aSC) {
106 sc_ = aSC;
107 };
108
109 inline void isoVars(const HbbAnalysis::EleIsoVars & aIso) {
110 iso_ = aIso;
111 };
112
113 inline void idVars(const HbbAnalysis::EleIDVars & aID) {
114 id_ = aID;
115 };
116
117 inline void Clear(){
118 gen_.valid = false;
119 gen_.E = 0;
120 gen_.pT = 0;
121 gen_.eta = 0;
122 gen_.y = 0;
123 gen_.phi = 0;
124 gen_.charge = 0;
125 gen_.pdgId = 0;
126 gen_.status = 0;
127 gen_.mass = 0;
128 gen_.vx = 0;
129 gen_.vy = 0;
130 gen_.vz = 0;
131
132 reco_.E = 0;
133 reco_.pT = 0;
134 reco_.eta = 0;
135 reco_.y = 0;
136 reco_.phi = 0;
137 reco_.charge = 0;
138 reco_.vx = 0;
139 reco_.vy = 0;
140 reco_.vz = 0;
141
142 sc_.eta = 0;
143 sc_.sigmaEtaEta = 0;
144 sc_.sigmaIEtaIEta = 0;
145 sc_.e1x5 = 0;
146 sc_.e2x5Max = 0;
147 sc_.e5x5 = 0;
148 sc_.eOverP = 0;
149
150 iso_.calo = 0;
151 iso_.track = 0;
152 iso_.ecal = 0;
153 iso_.hcal = 0;
154
155 id_.idAndIso = 0;
156 id_.electronIDs.clear();
157 id_.hOverE = 0;
158 id_.deltaPhiIn = 0;
159 id_.deltaEtaIn = 0;
160 id_.ecalDrivenSeed = false;
161 id_.trackerDrivenSeed = false;
162 };
163
164 private:
165
166 HbbAnalysis::GenVars gen_;
167 HbbAnalysis::BaseVars reco_;
168 HbbAnalysis::SCVars sc_;
169 HbbAnalysis::EleIsoVars iso_;
170 HbbAnalysis::EleIDVars id_;
171
172 };
173
174 inline bool operator < (const Electron & one, const Electron & two)
175 {
176 return one.recoVars().pT < two.recoVars().pT;
177 }
178
179
180 }//namespace
181 #endif