ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Muon.hh
Revision: 1.5
Committed: Fri Sep 3 12:29:32 2010 UTC (14 years, 8 months ago) by amagnan
Content type: text/plain
Branch: MAIN
Changes since 1.4: +7 -3 lines
Log Message:
update muon variables

File Contents

# User Rev Content
1 amagnan 1.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 amagnan 1.3 const HbbAnalysis::MuTrkVars & aTrk,
26 amagnan 1.1 const HbbAnalysis::MuIsoVars & aIsoR03,
27     const HbbAnalysis::MuIsoVars & aIsoR05,
28     const HbbAnalysis::MuIDVars & aID
29     ){
30     Clear();
31     genVars(aGen);
32     recoVars(aReco);
33 amagnan 1.3 trkVars(aTrk);
34 amagnan 1.1 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 amagnan 1.3 inline const HbbAnalysis::MuTrkVars & trkVars() const {
49     return trk_;
50     };
51    
52 amagnan 1.1 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 amagnan 1.3 inline void trkVars(const HbbAnalysis::MuTrkVars & aTrk) {
73     trk_ = aTrk;
74     };
75    
76 amagnan 1.1 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 amagnan 1.2 gen_.E = 0;
91 amagnan 1.1 gen_.pT = 0;
92     gen_.eta = 0;
93 amagnan 1.4 gen_.y = 0;
94 amagnan 1.1 gen_.phi = 0;
95     gen_.charge = 0;
96     gen_.pdgId = 0;
97     gen_.status = 0;
98     gen_.mass = 0;
99     gen_.vx = 0;
100     gen_.vy = 0;
101     gen_.vz = 0;
102    
103 amagnan 1.2 reco_.E = 0;
104 amagnan 1.1 reco_.pT = 0;
105 amagnan 1.4 reco_.y = 0;
106 amagnan 1.1 reco_.eta = 0;
107     reco_.phi = 0;
108     reco_.charge = 0;
109     reco_.vx = 0;
110     reco_.vy = 0;
111     reco_.vz = 0;
112    
113 amagnan 1.5 trk_.dxy = 0;
114     trk_.dz = 0;
115     trk_.normalizedChi2 = 0;
116     trk_.muonHits = 0;
117     trk_.charge = 0;
118     trk_.trackerHits = 0;
119     trk_.pixelhits = 0;
120 amagnan 1.3
121 amagnan 1.1 isoR03_.sumPt = 0;
122     isoR03_.emEt = 0;
123     isoR03_.hadEt = 0;
124     isoR03_.nTracks = 0;
125     isoR03_.nJets = 0;
126    
127     isoR05_.sumPt = 0;
128     isoR05_.emEt = 0;
129     isoR05_.hadEt = 0;
130     isoR05_.nTracks = 0;
131     isoR05_.nJets = 0;
132    
133     id_.type = 0;
134     id_.ids.clear();
135     id_.caloCompat = 0;
136     id_.segCompat = 0;
137     id_.nChambers = 0;
138     id_.nMatchesLoose = 0;
139     id_.nMatchesMedium = 0;
140     id_.nMatchesTight = 0;
141     };
142    
143     private:
144    
145     HbbAnalysis::GenVars gen_;
146     HbbAnalysis::BaseVars reco_;
147 amagnan 1.3 HbbAnalysis::MuTrkVars trk_;
148 amagnan 1.1 HbbAnalysis::MuIsoVars isoR03_;
149     HbbAnalysis::MuIsoVars isoR05_;
150     HbbAnalysis::MuIDVars id_;
151    
152     };
153    
154     inline bool operator < (const Muon & one, const Muon & two)
155     {
156     return one.recoVars().pT < two.recoVars().pT;
157     }
158    
159    
160     }//namespace
161     #endif