ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Muon.hh
Revision: 1.9
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.8: +22 -101 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

# 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 agilbert 1.9 #include "UserCode/HbbAnalysis/interface/Lepton.hh"
9 amagnan 1.1
10     namespace HbbAnalysis {
11    
12 agilbert 1.9 class Muon : public Lepton{
13 amagnan 1.1
14     public:
15 agilbert 1.9 //Constructors
16     Muon();
17     Muon(const HbbAnalysis::FourMomentum & aFourVec,
18     const HbbAnalysis::LeptonVars & aLeptonVars,
19 amagnan 1.3 const HbbAnalysis::MuTrkVars & aTrk,
20 amagnan 1.1 const HbbAnalysis::MuIsoVars & aIsoR03,
21     const HbbAnalysis::MuIsoVars & aIsoR05,
22     const HbbAnalysis::MuIDVars & aID
23 agilbert 1.9 ) : Lepton(aFourVec, aLeptonVars) {
24 amagnan 1.3 trkVars(aTrk);
25 amagnan 1.1 isoR03Vars(aIsoR03);
26     isoR05Vars(aIsoR05);
27     idVars(aID);
28     };
29 agilbert 1.9
30     //Getters
31 amagnan 1.3 inline const HbbAnalysis::MuTrkVars & trkVars() const {
32     return trk_;
33     };
34    
35 amagnan 1.1 inline const HbbAnalysis::MuIsoVars & isoR03Vars() const {
36     return isoR03_;
37     };
38    
39     inline const HbbAnalysis::MuIsoVars & isoR05Vars() const {
40     return isoR05_;
41     };
42    
43     inline const HbbAnalysis::MuIDVars & idVars() const {
44     return id_;
45     };
46    
47 agilbert 1.9 //Setters
48 amagnan 1.3 inline void trkVars(const HbbAnalysis::MuTrkVars & aTrk) {
49     trk_ = aTrk;
50     };
51    
52 amagnan 1.1 inline void isoR03Vars(const HbbAnalysis::MuIsoVars & aIso) {
53     isoR03_ = aIso;
54     };
55    
56     inline void isoR05Vars(const HbbAnalysis::MuIsoVars & aIso) {
57     isoR05_ = aIso;
58     };
59    
60     inline void idVars(const HbbAnalysis::MuIDVars & aID) {
61     id_ = aID;
62     };
63 agilbert 1.9
64     //Functions
65     inline bool isGlobalMu() {
66 amagnan 1.7 return (id_.type & 0x1);
67     };
68    
69 agilbert 1.9 inline bool isTrackerMu() {
70 amagnan 1.7 return (id_.type & 0x2) >> 1;
71     };
72    
73 agilbert 1.9 inline bool isStandAloneMu(){
74 amagnan 1.7 return (id_.type & 0x4) >> 2;
75     };
76    
77 agilbert 1.9 inline bool isCaloMu(){
78 amagnan 1.7 return (id_.type & 0x8) >> 3;
79     };
80 amagnan 1.1
81 agilbert 1.9 void Clear();
82    
83 amagnan 1.1 private:
84 amagnan 1.3 HbbAnalysis::MuTrkVars trk_;
85 amagnan 1.1 HbbAnalysis::MuIsoVars isoR03_;
86     HbbAnalysis::MuIsoVars isoR05_;
87     HbbAnalysis::MuIDVars id_;
88    
89     };
90    
91 agilbert 1.9 //inline bool operator < (const Muon & one, const Muon & two)
92     //{
93     // return one.recoVars().pT < two.recoVars().pT;
94     //}
95 amagnan 1.1
96    
97     }//namespace
98     #endif