00001 #ifndef L1Trigger_L1MuonParticle_h
00002 #define L1Trigger_L1MuonParticle_h
00003
00004
00005
00006
00007
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "DataFormats/Candidate/interface/LeafCandidate.h"
00022 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h"
00023
00024
00025
00026 namespace l1extra {
00027
00028 class L1MuonParticle : public reco::LeafCandidate
00029 {
00030
00031 public:
00032 L1MuonParticle();
00033
00034
00035
00036
00037
00038 L1MuonParticle( Charge q,
00039 const LorentzVector& p4,
00040 const L1MuGMTExtendedCand& aCand,
00041 int bx = 0 ) ;
00042
00043 L1MuonParticle( Charge q,
00044 const PolarLorentzVector& p4,
00045 const L1MuGMTExtendedCand& aCand,
00046 int bx = 0 ) ;
00047
00048
00049 L1MuonParticle( Charge q,
00050 const LorentzVector& p4,
00051 bool isolated = false,
00052 bool mip = false,
00053 bool forward = false,
00054 bool rpc = false,
00055 unsigned int detector = 0,
00056 int bx = 0 ) ;
00057
00058 L1MuonParticle( Charge q,
00059 const PolarLorentzVector& p4,
00060 bool isolated = false,
00061 bool mip = false,
00062 bool forward = false,
00063 bool rpc = false,
00064 unsigned int detector = 0,
00065 int bx = 0 ) ;
00066
00067 virtual ~L1MuonParticle() {}
00068
00069
00070 bool isIsolated() const
00071 { return isolated_ ; }
00072
00073 bool isMip() const
00074 { return mip_ ; }
00075
00076 bool isForward() const
00077 { return forward_ ; }
00078
00079 bool isRPC() const
00080 { return rpc_ ; }
00081
00082 const L1MuGMTExtendedCand& gmtMuonCand() const
00083 { return cand_ ; }
00084
00085 virtual L1MuonParticle* clone() const
00086 { return new L1MuonParticle( *this ) ; }
00087
00088 int bx() const
00089 { return bx_ ; }
00090
00091
00092
00093
00094 void setIsolated( bool isIso )
00095 { isolated_ = isIso ; }
00096
00097 void setMip( bool isMip )
00098 { mip_ = isMip ; }
00099
00100 void setForward( bool isForward )
00101 { forward_ = isForward ; }
00102
00103 void setRPC( bool isRPC )
00104 { rpc_ = isRPC ; }
00105
00106 void setBx( int bx )
00107 { bx_ = bx ; }
00108
00109 private:
00110
00111
00112
00113
00114
00115 bool isolated_ ;
00116 bool mip_ ;
00117 bool forward_ ;
00118 bool rpc_ ;
00119 L1MuGMTExtendedCand cand_ ;
00120 int bx_ ;
00121 };
00122 }
00123
00124 #endif