ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Muon.hh
Revision: 1.3
Committed: Tue Oct 13 12:14:04 2009 UTC (15 years, 6 months ago) by amagnan
Content type: text/plain
Branch: MAIN
CVS Tags: HbbAnaFor35X, v00-04-02, v00-04-01, v00-04-00
Changes since 1.2: +15 -0 lines
Log Message:
add innerTrack IPd0, IPdz and nHits info for muons.

File Contents

# Content
1 #ifndef HbbAnalysis_Muon_hh
2 #define HbbAnalysis_Muon_hh
3
4 #include <vector>
5 #include <string>
6
7 #include "UserCode/HbbAnalysis/interface/Objects.hh"
8
9 namespace HbbAnalysis {
10
11 class Muon {
12
13 public:
14
15 /** Constructors */
16
17 Muon(){
18 //Clear();
19 };
20
21 ~Muon(){};
22
23 Muon(const HbbAnalysis::GenVars & aGen,
24 const HbbAnalysis::BaseVars & aReco,
25 const HbbAnalysis::MuTrkVars & aTrk,
26 const HbbAnalysis::MuIsoVars & aIsoR03,
27 const HbbAnalysis::MuIsoVars & aIsoR05,
28 const HbbAnalysis::MuIDVars & aID
29 ){
30 Clear();
31 genVars(aGen);
32 recoVars(aReco);
33 trkVars(aTrk);
34 isoR03Vars(aIsoR03);
35 isoR05Vars(aIsoR05);
36 idVars(aID);
37
38 };
39
40 inline const HbbAnalysis::GenVars & genVars() const {
41 return gen_;
42 };
43
44 inline const HbbAnalysis::BaseVars & recoVars() const {
45 return reco_;
46 };
47
48 inline const HbbAnalysis::MuTrkVars & trkVars() const {
49 return trk_;
50 };
51
52 inline const HbbAnalysis::MuIsoVars & isoR03Vars() const {
53 return isoR03_;
54 };
55
56 inline const HbbAnalysis::MuIsoVars & isoR05Vars() const {
57 return isoR05_;
58 };
59
60 inline const HbbAnalysis::MuIDVars & idVars() const {
61 return id_;
62 };
63
64 inline void genVars(const HbbAnalysis::GenVars & aGen) {
65 gen_ = aGen;
66 };
67
68 inline void recoVars(const HbbAnalysis::BaseVars & aReco) {
69 reco_ = aReco;
70 };
71
72 inline void trkVars(const HbbAnalysis::MuTrkVars & aTrk) {
73 trk_ = aTrk;
74 };
75
76 inline void isoR03Vars(const HbbAnalysis::MuIsoVars & aIso) {
77 isoR03_ = aIso;
78 };
79
80 inline void isoR05Vars(const HbbAnalysis::MuIsoVars & aIso) {
81 isoR05_ = aIso;
82 };
83
84 inline void idVars(const HbbAnalysis::MuIDVars & aID) {
85 id_ = aID;
86 };
87
88 inline void Clear(){
89 gen_.valid = false;
90 gen_.E = 0;
91 gen_.pT = 0;
92 gen_.eta = 0;
93 gen_.phi = 0;
94 gen_.charge = 0;
95 gen_.pdgId = 0;
96 gen_.status = 0;
97 gen_.mass = 0;
98 gen_.vx = 0;
99 gen_.vy = 0;
100 gen_.vz = 0;
101
102 reco_.E = 0;
103 reco_.pT = 0;
104 reco_.eta = 0;
105 reco_.phi = 0;
106 reco_.charge = 0;
107 reco_.vx = 0;
108 reco_.vy = 0;
109 reco_.vz = 0;
110
111 trk_.IPd0 = 0;
112 trk_.IPdz = 0;
113 trk_.nHits = 0;
114
115 isoR03_.sumPt = 0;
116 isoR03_.emEt = 0;
117 isoR03_.hadEt = 0;
118 isoR03_.nTracks = 0;
119 isoR03_.nJets = 0;
120
121 isoR05_.sumPt = 0;
122 isoR05_.emEt = 0;
123 isoR05_.hadEt = 0;
124 isoR05_.nTracks = 0;
125 isoR05_.nJets = 0;
126
127 id_.type = 0;
128 id_.ids.clear();
129 id_.caloCompat = 0;
130 id_.segCompat = 0;
131 id_.nChambers = 0;
132 id_.nMatchesLoose = 0;
133 id_.nMatchesMedium = 0;
134 id_.nMatchesTight = 0;
135 };
136
137 private:
138
139 HbbAnalysis::GenVars gen_;
140 HbbAnalysis::BaseVars reco_;
141 HbbAnalysis::MuTrkVars trk_;
142 HbbAnalysis::MuIsoVars isoR03_;
143 HbbAnalysis::MuIsoVars isoR05_;
144 HbbAnalysis::MuIDVars id_;
145
146 };
147
148 inline bool operator < (const Muon & one, const Muon & two)
149 {
150 return one.recoVars().pT < two.recoVars().pT;
151 }
152
153
154 }//namespace
155 #endif