CMS 3D CMS Logo

L1MuGMTExtendedCand Class Reference

L1 Global Muon Trigger Extended Candidate. More...

#include <DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTExtendedCand.h>

Inheritance diagram for L1MuGMTExtendedCand:

L1MuGMTCand SimpleL1MuGMTCand

List of all members.

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...


Detailed Description

L1 Global Muon Trigger Extended Candidate.

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.


Member Enumeration Documentation

anonymous enum [private]

Enumerator:
IDXDTCSC_START 

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]

Enumerator:
IDXDTCSC_LENGTH 

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]

Enumerator:
IDXRPC_START 

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]

Enumerator:
IDXRPC_LENGTH 

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]

Enumerator:
FWDBIT_START 

Definition at line 153 of file L1MuGMTExtendedCand.h.

00153 { FWDBIT_START=30};   enum { FWDBIT_LENGTH = 1};   // Bit  30    fwd bit

anonymous enum [private]

Enumerator:
FWDBIT_LENGTH 

Definition at line 153 of file L1MuGMTExtendedCand.h.

00153 { FWDBIT_START=30};   enum { FWDBIT_LENGTH = 1};   // Bit  30    fwd bit

anonymous enum [private]

Enumerator:
ISRPCBIT_START 

Definition at line 154 of file L1MuGMTExtendedCand.h.

00154 { ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit  31    isRPC bit

anonymous enum [private]

Enumerator:
ISRPCBIT_LENGTH 

Definition at line 154 of file L1MuGMTExtendedCand.h.

00154 { ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit  31    isRPC bit


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }

void L1MuGMTExtendedCand::print ( void   )  const

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; }

void L1MuGMTExtendedCand::reset ( void   ) 

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 }

void L1MuGMTExtendedCand::setDTCSCIndex ( unsigned int  idxdtcsc  )  [inline]

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     }

void L1MuGMTExtendedCand::setFwdBit ( unsigned int  fwdbit  )  [inline]

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().

void L1MuGMTExtendedCand::setRank ( unsigned int  rank  )  [inline]

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().

00091 { m_rank = rank; }

void L1MuGMTExtendedCand::setRPCBit ( unsigned int  rpcbit  )  [inline]

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().

void L1MuGMTExtendedCand::setRPCIndex ( unsigned int  idxrpc  )  [inline]

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().


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const L1MuGMTExtendedCand  
) [friend]

output stream operator


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:54 2009 for CMSSW by  doxygen 1.5.4