#include <DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h>
Public Member Functions | |
unsigned int | detector () const |
get detector bits 1=rpc, 2=dtbx, 4=csc, 3=rpc+dtbx, 5=rpc+csc supported for backward compatibility only | |
unsigned | getDTCSCIndex () const |
get index of contributing DT/CSC muon | |
unsigned | getRPCIndex () const |
get index of contributing RPC muon | |
bool | isFwd () const |
get forward bit (true=forward, false=barrel) | |
bool | isRPC () const |
get RPC bit (true=RPC, false = DT/CSC or matched) | |
L1MuGMTExtendedCand (const L1MuGMTExtendedCand &) | |
copy constructor | |
L1MuGMTExtendedCand (unsigned data, unsigned rank, int bx=0) | |
constructor | |
L1MuGMTExtendedCand () | |
constructor | |
bool | operator!= (const L1MuGMTExtendedCand &) const |
unequal operator | |
bool | operator== (const L1MuGMTExtendedCand &) const |
equal operator | |
void | print () const |
print parameters of muon candidate | |
unsigned int | rank () const |
get rank | |
void | reset () |
reset muon candidate | |
void | setDTCSCIndex (unsigned int idxdtcsc) |
set index of contributing DT/CSC muon | |
void | setFwdBit (unsigned int fwdbit) |
set forward bit (1=forward, 0=barrel) | |
void | setRank (unsigned int rank) |
set rank | |
void | setRPCBit (unsigned int rpcbit) |
set RPC bit (1=RPC, 0=DT/CSC or matched) | |
void | setRPCIndex (unsigned int idxrpc) |
set index of contributing RPC muon | |
virtual | ~L1MuGMTExtendedCand () |
destructor | |
Private Types | |
enum | { IDXDTCSC_START = 26 } |
enum | { IDXDTCSC_LENGTH = 2 } |
enum | { IDXRPC_START = 28 } |
enum | { IDXRPC_LENGTH = 2 } |
enum | { FWDBIT_START = 30 } |
enum | { FWDBIT_LENGTH = 1 } |
enum | { ISRPCBIT_START = 31 } |
enum | { ISRPCBIT_LENGTH = 1 } |
Private Attributes | |
unsigned int | m_rank |
Friends | |
std::ostream & | operator<< (std::ostream &, const L1MuGMTExtendedCand &) |
output stream operator | |
Classes | |
class | Rank |
define a rank for muon candidates More... | |
class | RankRef |
define a rank for muon candidates More... |
This is a GMT candidate with extended information that will be sent to Readout.
This candidates contains extra information such as sort rank and indices of the contributing muons.
Definition at line 49 of file L1MuGMTExtendedCand.h.
anonymous enum [private] |
Definition at line 151 of file L1MuGMTExtendedCand.h.
00151 { IDXDTCSC_START=26}; enum { IDXDTCSC_LENGTH = 2}; // Bit 26:27 DT/CSC muon index
anonymous enum [private] |
Definition at line 151 of file L1MuGMTExtendedCand.h.
00151 { IDXDTCSC_START=26}; enum { IDXDTCSC_LENGTH = 2}; // Bit 26:27 DT/CSC muon index
anonymous enum [private] |
Definition at line 152 of file L1MuGMTExtendedCand.h.
00152 { IDXRPC_START=28}; enum { IDXRPC_LENGTH = 2}; // Bit 28:29 RPC muon index
anonymous enum [private] |
Definition at line 152 of file L1MuGMTExtendedCand.h.
00152 { IDXRPC_START=28}; enum { IDXRPC_LENGTH = 2}; // Bit 28:29 RPC muon index
anonymous enum [private] |
Definition at line 153 of file L1MuGMTExtendedCand.h.
00153 { FWDBIT_START=30}; enum { FWDBIT_LENGTH = 1}; // Bit 30 fwd bit
anonymous enum [private] |
Definition at line 153 of file L1MuGMTExtendedCand.h.
00153 { FWDBIT_START=30}; enum { FWDBIT_LENGTH = 1}; // Bit 30 fwd bit
anonymous enum [private] |
Definition at line 154 of file L1MuGMTExtendedCand.h.
00154 { ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit 31 isRPC bit
anonymous enum [private] |
Definition at line 154 of file L1MuGMTExtendedCand.h.
00154 { ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit 31 isRPC bit
L1MuGMTExtendedCand::L1MuGMTExtendedCand | ( | ) |
constructor
Definition at line 49 of file L1MuGMTExtendedCand.cc.
00049 : L1MuGMTCand(), m_rank(0) { 00050 }
L1MuGMTExtendedCand::L1MuGMTExtendedCand | ( | unsigned | data, | |
unsigned | rank, | |||
int | bx = 0 | |||
) |
constructor
Definition at line 56 of file L1MuGMTExtendedCand.cc.
00056 : L1MuGMTCand (data, bx), m_rank(rank) { 00057 00058 }
L1MuGMTExtendedCand::L1MuGMTExtendedCand | ( | const L1MuGMTExtendedCand & | mu | ) |
copy constructor
Definition at line 52 of file L1MuGMTExtendedCand.cc.
00052 : 00053 L1MuGMTCand(mu), m_rank(mu.m_rank){ 00054 }
L1MuGMTExtendedCand::~L1MuGMTExtendedCand | ( | ) | [virtual] |
destructor
Definition at line 63 of file L1MuGMTExtendedCand.cc.
References reset().
00063 { 00064 00065 reset(); 00066 00067 }
unsigned int L1MuGMTExtendedCand::detector | ( | ) | const |
get detector bits 1=rpc, 2=dtbx, 4=csc, 3=rpc+dtbx, 5=rpc+csc supported for backward compatibility only
Definition at line 91 of file L1MuGMTExtendedCand.cc.
References isFwd(), isRPC(), and L1MuGMTCand::quality().
00091 { 00092 00093 if (quality() == 7) // matched ? 00094 return isFwd() ? 5 : 3; 00095 else 00096 return isRPC() ? 1 : ( isFwd()? 4 : 2); 00097 00098 }
unsigned L1MuGMTExtendedCand::getDTCSCIndex | ( | ) | const [inline] |
get index of contributing DT/CSC muon
Definition at line 75 of file L1MuGMTExtendedCand.h.
References IDXDTCSC_LENGTH, IDXDTCSC_START, and L1MuGMTCand::readDataField().
Referenced by print(), and L2MuonSeedGenerator::produce().
00075 { 00076 return readDataField( IDXDTCSC_START, IDXDTCSC_LENGTH); 00077 }
unsigned L1MuGMTExtendedCand::getRPCIndex | ( | ) | const [inline] |
get index of contributing RPC muon
Definition at line 80 of file L1MuGMTExtendedCand.h.
References IDXRPC_LENGTH, IDXRPC_START, and L1MuGMTCand::readDataField().
Referenced by print(), and L2MuonSeedGenerator::produce().
00080 { 00081 return readDataField( IDXRPC_START, IDXRPC_LENGTH); 00082 }
bool L1MuGMTExtendedCand::isFwd | ( | ) | const [inline] |
get forward bit (true=forward, false=barrel)
Definition at line 85 of file L1MuGMTExtendedCand.h.
References FWDBIT_LENGTH, FWDBIT_START, and L1MuGMTCand::readDataField().
Referenced by detector(), cms::HICFTSfromL1orL2::FTSfromL1(), l1extra::L1MuonParticle::L1MuonParticle(), print(), L2MuonSeedGenerator::produce(), and FastL1MuonProducer::produce().
00085 { return readDataField( FWDBIT_START, FWDBIT_LENGTH) == 1; }
bool L1MuGMTExtendedCand::isRPC | ( | ) | const [inline] |
get RPC bit (true=RPC, false = DT/CSC or matched)
Definition at line 88 of file L1MuGMTExtendedCand.h.
References ISRPCBIT_LENGTH, ISRPCBIT_START, and L1MuGMTCand::readDataField().
Referenced by detector(), l1extra::L1MuonParticle::L1MuonParticle(), print(), and L2MuonSeedGenerator::produce().
00088 { return readDataField( ISRPCBIT_START, ISRPCBIT_LENGTH) == 1; }
bool L1MuGMTExtendedCand::operator!= | ( | const L1MuGMTExtendedCand & | cand | ) | const |
unequal operator
Definition at line 116 of file L1MuGMTExtendedCand.cc.
References m_rank.
00116 { 00117 00118 if ( (L1MuGMTCand const&) *this != cand ) return true; 00119 if ( m_rank != cand.m_rank ) return true; 00120 return false; 00121 00122 }
bool L1MuGMTExtendedCand::operator== | ( | const L1MuGMTExtendedCand & | cand | ) | const |
equal operator
Definition at line 104 of file L1MuGMTExtendedCand.cc.
References m_rank.
00104 { 00105 00106 if ( (L1MuGMTCand const&) *this != cand ) return false; 00107 if ( m_rank != m_rank ) return false; 00108 return true; 00109 00110 }
print parameters of muon candidate
Reimplemented from L1MuGMTCand.
Reimplemented in SimpleL1MuGMTCand.
Definition at line 128 of file L1MuGMTExtendedCand.cc.
References L1MuGMTCand::empty(), lat::endl(), getDTCSCIndex(), getRPCIndex(), isFwd(), isRPC(), L1MuGMTCand::print(), and rank().
00128 { 00129 00130 L1MuGMTCand::print(); 00131 if ( !empty() ) { 00132 edm::LogVerbatim("GMT_Candidate_info") 00133 << setiosflags(ios::right | ios::adjustfield | ios::showpoint | ios::fixed) 00134 << "rank = " << setw(3) << rank() << " " 00135 << "idxdtcsc = " << setw(1) << getDTCSCIndex() << " " 00136 << "idxrpc = " << setw(1) << getRPCIndex() << " " 00137 << "isFwd = " << setw(1) << isFwd() << " " 00138 << "isRPC = " << setw(1) << isRPC() << endl; 00139 } 00140 00141 }
unsigned int L1MuGMTExtendedCand::rank | ( | ) | const [inline] |
get rank
Reimplemented in SimpleL1MuGMTCand.
Definition at line 72 of file L1MuGMTExtendedCand.h.
References m_rank.
Referenced by L1MuGMTExtendedCand::RankRef::operator()(), L1MuGMTExtendedCand::Rank::operator()(), and print().
00072 { return m_rank; }
reset muon candidate
Reimplemented from L1MuGMTCand.
Reimplemented in SimpleL1MuGMTCand.
Definition at line 77 of file L1MuGMTExtendedCand.cc.
References m_rank, and L1MuGMTCand::reset().
Referenced by ~L1MuGMTExtendedCand().
00077 { 00078 00079 L1MuGMTCand::reset(); 00080 m_rank = 0; 00081 00082 }
set index of contributing DT/CSC muon
Definition at line 103 of file L1MuGMTExtendedCand.h.
References IDXDTCSC_LENGTH, IDXDTCSC_START, and L1MuGMTCand::writeDataField().
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), L1MuGMTMerger::createRPCCand(), and FastL1MuonProducer::produce().
00103 { 00104 writeDataField( IDXDTCSC_START, IDXDTCSC_LENGTH, idxdtcsc); 00105 }
set forward bit (1=forward, 0=barrel)
Definition at line 111 of file L1MuGMTExtendedCand.h.
References FWDBIT_LENGTH, FWDBIT_START, and L1MuGMTCand::writeDataField().
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), L1MuGMTMerger::createRPCCand(), and SimpleL1MuGMTCand::SimpleL1MuGMTCand().
00111 { writeDataField( FWDBIT_START, FWDBIT_LENGTH, fwdbit); }
set rank
Reimplemented in SimpleL1MuGMTCand.
Definition at line 91 of file L1MuGMTExtendedCand.h.
References m_rank.
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), and L1MuGMTMerger::createRPCCand().
set RPC bit (1=RPC, 0=DT/CSC or matched)
Definition at line 114 of file L1MuGMTExtendedCand.h.
References ISRPCBIT_LENGTH, ISRPCBIT_START, and L1MuGMTCand::writeDataField().
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), L1MuGMTMerger::createRPCCand(), FastL1MuonProducer::produce(), and SimpleL1MuGMTCand::SimpleL1MuGMTCand().
00114 { writeDataField( ISRPCBIT_START, ISRPCBIT_LENGTH, rpcbit); }
set index of contributing RPC muon
Definition at line 108 of file L1MuGMTExtendedCand.h.
References IDXRPC_LENGTH, IDXRPC_START, and L1MuGMTCand::writeDataField().
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), L1MuGMTMerger::createRPCCand(), and FastL1MuonProducer::produce().
00108 { writeDataField( IDXRPC_START, IDXRPC_LENGTH, idxrpc); }
std::ostream& operator<< | ( | std::ostream & | , | |
const L1MuGMTExtendedCand & | ||||
) | [friend] |
output stream operator
unsigned int L1MuGMTExtendedCand::m_rank [private] |
Reimplemented in SimpleL1MuGMTCand.
Definition at line 149 of file L1MuGMTExtendedCand.h.
Referenced by operator!=(), operator==(), rank(), reset(), and setRank().