ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Electron.hh
Revision: 1.8
Committed: Tue Oct 25 13:26:50 2011 UTC (13 years, 6 months ago) by agilbert
Content type: text/plain
Branch: MAIN
CVS Tags: v01-00-00
Changes since 1.7: +39 -113 lines
Log Message:
Significant code re-write.  Compiles under 4_2_4 but may not work as expected.  Files marked as broken may need to be fixed in the future.

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 #include "UserCode/HbbAnalysis/interface/Lepton.hh"
9
10
11 namespace HbbAnalysis {
12
13 class Electron : public Lepton {
14 public:
15 //Constructors
16 Electron();
17 Electron(const HbbAnalysis::FourMomentum & aFourVec,
18 const HbbAnalysis::LeptonVars & aLeptonVars,
19 const HbbAnalysis::SCVars & aSC,
20 const HbbAnalysis::EleIsoVars & aIso,
21 const HbbAnalysis::EleIDVars & aID
22 ) : Lepton(aFourVec, aLeptonVars) {
23 scVars(aSC);
24 isoVars(aIso);
25 idVars(aID);
26 };
27
28 //Setters
29 inline void scVars(HbbAnalysis::SCVars const& aSC) {
30 sc_ = aSC;
31 };
32
33 inline void isoVars(HbbAnalysis::EleIsoVars const& aIso) {
34 iso_ = aIso;
35 };
36
37 inline void idVars(HbbAnalysis::EleIDVars const& aID) {
38 id_ = aID;
39 };
40
41 //Getters
42 inline HbbAnalysis::SCVars const& scVars() const {
43 return sc_;
44 };
45
46 inline HbbAnalysis::EleIsoVars const& isoVars() const {
47 return iso_;
48 };
49
50 inline HbbAnalysis::EleIDVars const& idVars() const {
51 return id_;
52 };
53
54 //Functions
55 inline bool WPc60() {
56 return (id_.idAndIso & 0x1);
57 };
58 inline bool WPc70() {
59 return (id_.idAndIso & 0x2) >> 1;
60 };
61 inline bool WPc80() {
62 return (id_.idAndIso & 0x4) >> 2;
63 };
64 inline bool WPc85() {
65 return (id_.idAndIso & 0x8) >> 3;
66 };
67 inline bool WPc90() {
68 return (id_.idAndIso & 0x10) >> 4;
69 };
70 inline bool WPc95() {
71 return (id_.idAndIso & 0x20) >> 5;
72 };
73 inline bool WPrel60() {
74 return (id_.idAndIso & 0x40) >> 6;
75 };
76 inline bool WPrel70() {
77 return (id_.idAndIso & 0x80) >> 7;
78 };
79 inline bool WPrel80() {
80 return (id_.idAndIso & 0x100) >> 8;
81 };
82 inline bool WPrel85() {
83 return (id_.idAndIso & 0x200) >> 9;
84 };
85 inline bool WPrel90() {
86 return (id_.idAndIso & 0x400) >> 10;
87 };
88 inline bool WPrel95() {
89 return (id_.idAndIso & 0x800) >> 11;
90 };
91
92 void Clear();
93
94 private:
95 HbbAnalysis::SCVars sc_;
96 HbbAnalysis::EleIsoVars iso_;
97 HbbAnalysis::EleIDVars id_;
98 };
99
100 //inline bool operator < (const Electron & one, const Electron & two)
101 //{
102 // return one.recoVars().pT < two.recoVars().pT;
103 //}
104
105
106 }//namespace
107 #endif