ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Electron.hh
Revision: 1.6
Committed: Mon Jan 24 09:21:53 2011 UTC (14 years, 3 months ago) by amagnan
Content type: text/plain
Branch: MAIN
CVS Tags: v00-05-03, v00-05-02
Changes since 1.5: +39 -1 lines
Log Message:
add all electron WP

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     sc_.sigmaEtaEta = 0;
143     sc_.sigmaIEtaIEta = 0;
144     sc_.e1x5 = 0;
145     sc_.e2x5Max = 0;
146     sc_.e5x5 = 0;
147     sc_.eOverP = 0;
148    
149     iso_.calo = 0;
150     iso_.track = 0;
151     iso_.ecal = 0;
152     iso_.hcal = 0;
153    
154 amagnan 1.6 id_.idAndIso = 0;
155 amagnan 1.1 id_.electronIDs.clear();
156     id_.hOverE = 0;
157     id_.deltaPhiIn = 0;
158     id_.deltaEtaIn = 0;
159 amagnan 1.3 id_.ecalDrivenSeed = false;
160     id_.trackerDrivenSeed = false;
161 amagnan 1.1 };
162    
163     private:
164    
165     HbbAnalysis::GenVars gen_;
166     HbbAnalysis::BaseVars reco_;
167     HbbAnalysis::SCVars sc_;
168     HbbAnalysis::EleIsoVars iso_;
169     HbbAnalysis::EleIDVars id_;
170    
171     };
172    
173     inline bool operator < (const Electron & one, const Electron & two)
174     {
175     return one.recoVars().pT < two.recoVars().pT;
176     }
177    
178    
179     }//namespace
180     #endif