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

# User Rev Content
1 amagnan 1.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 amagnan 1.6 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 amagnan 1.1 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 amagnan 1.2 gen_.E = 0;
120 amagnan 1.1 gen_.pT = 0;
121     gen_.eta = 0;
122 amagnan 1.4 gen_.y = 0;
123 amagnan 1.1 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 amagnan 1.2 reco_.E = 0;
133 amagnan 1.1 reco_.pT = 0;
134     reco_.eta = 0;
135 amagnan 1.4 reco_.y = 0;
136 amagnan 1.1 reco_.phi = 0;
137     reco_.charge = 0;
138     reco_.vx = 0;
139     reco_.vy = 0;
140     reco_.vz = 0;
141    
142 amagnan 1.7 sc_.eta = 0;
143 amagnan 1.1 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 amagnan 1.6 id_.idAndIso = 0;
156 amagnan 1.1 id_.electronIDs.clear();
157     id_.hOverE = 0;
158     id_.deltaPhiIn = 0;
159     id_.deltaEtaIn = 0;
160 amagnan 1.3 id_.ecalDrivenSeed = false;
161     id_.trackerDrivenSeed = false;
162 amagnan 1.1 };
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