CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1MuGMTMerger Class Reference

#include <L1MuGMTMerger.h>

Public Member Functions

const std::vector
< L1MuGMTExtendedCand * > & 
Cands () const
 return std::vector with all muon candidates More...
 
int id () const
 return identifier More...
 
 L1MuGMTMerger (const L1MuGlobalMuonTrigger &gmt, int id)
 constructor More...
 
void print () const
 print results after selection More...
 
void reset ()
 clear Merger More...
 
void run ()
 run GMT Merger More...
 
virtual ~L1MuGMTMerger ()
 destructor More...
 

Private Member Functions

unsigned convertedEta (const L1MuRegionalCand *mu) const
 
void createDTCSCCand (int idx_dtcsc)
 
void createMergedCand (int idx_dtcsc, int idx_rpc)
 
void createRPCCand (int idx_rpc)
 
int doANDMerge (unsigned MMconfig) const
 
int doSpecialMerge (unsigned MMconfig) const
 
void load ()
 
void merge ()
 
int merge_rank (const L1MuRegionalCand *) const
 Merge Rank Table. More...
 
unsigned projectedPhi (const L1MuRegionalCand *mu) const
 
int selectDTCSC (unsigned MMconfig, int by_rank, int by_pt, int by_combi) const
 
unsigned sysign (const L1MuRegionalCand *mu) const
 

Private Attributes

std::vector< const
L1MuRegionalCand * > 
dtcsc_mu
 
const L1MuGlobalMuonTriggerm_gmt
 
int m_id
 
std::vector
< L1MuGMTExtendedCand * > 
m_MuonCands
 
std::vector< const
L1MuRegionalCand * > 
rpc_mu
 
std::vector< int > singleRank
 

Detailed Description

L1 Global Muon Trigger Merger.

There are two GMT Mergers. One for the barrel (id=0) and one for the forward (id=1) part.

The merger receives four DT(CSC) muons and four RPC muons. Each DT(CSC) muon is either merged with an RPC one or passed through.

To simplify the C++ model, the merger conatians also the conversion units and sort rank units as well as the MergeMethodSelection unit which are separate units in the hardware.

Definition at line 61 of file L1MuGMTMerger.h.

Constructor & Destructor Documentation

L1MuGMTMerger::L1MuGMTMerger ( const L1MuGlobalMuonTrigger gmt,
int  id 
)

constructor

Definition at line 71 of file L1MuGMTMerger.cc.

L1MuGMTMerger::~L1MuGMTMerger ( )
virtual

destructor

Definition at line 82 of file L1MuGMTMerger.cc.

Member Function Documentation

const std::vector<L1MuGMTExtendedCand*>& L1MuGMTMerger::Cands ( ) const
inline

return std::vector with all muon candidates

Definition at line 84 of file L1MuGMTMerger.h.

References m_MuonCands.

Referenced by L1MuGMTSorter::run().

84 { return m_MuonCands; }
std::vector< L1MuGMTExtendedCand * > m_MuonCands
unsigned L1MuGMTMerger::convertedEta ( const L1MuRegionalCand mu) const
private

Definition at line 319 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::createDTCSCCand ( int  idx_dtcsc)
private

Definition at line 240 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::createMergedCand ( int  idx_dtcsc,
int  idx_rpc 
)
private

Definition at line 357 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::createRPCCand ( int  idx_rpc)
private

Definition at line 273 of file L1MuGMTMerger.cc.

int L1MuGMTMerger::doANDMerge ( unsigned  MMconfig) const
private

Definition at line 315 of file L1MuGMTMerger.cc.

int L1MuGMTMerger::doSpecialMerge ( unsigned  MMconfig) const
private

Definition at line 311 of file L1MuGMTMerger.cc.

int L1MuGMTMerger::id ( void  ) const
inline

return identifier

Definition at line 81 of file L1MuGMTMerger.h.

References m_id.

81 { return m_id; }
void L1MuGMTMerger::load ( )
private

Definition at line 140 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::merge ( )
private

Definition at line 165 of file L1MuGMTMerger.cc.

int L1MuGMTMerger::merge_rank ( const L1MuRegionalCand muon) const
private

Merge Rank Table.

Definition at line 530 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::print ( void  ) const

print results after selection

Definition at line 123 of file L1MuGMTMerger.cc.

unsigned L1MuGMTMerger::projectedPhi ( const L1MuRegionalCand mu) const
private

Definition at line 324 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::reset ( void  )

clear Merger

Definition at line 102 of file L1MuGMTMerger.cc.

void L1MuGMTMerger::run ( void  )

run GMT Merger

Definition at line 93 of file L1MuGMTMerger.cc.

int L1MuGMTMerger::selectDTCSC ( unsigned  MMconfig,
int  by_rank,
int  by_pt,
int  by_combi 
) const
private

Definition at line 302 of file L1MuGMTMerger.cc.

unsigned L1MuGMTMerger::sysign ( const L1MuRegionalCand mu) const
private

Definition at line 347 of file L1MuGMTMerger.cc.

Member Data Documentation

std::vector<const L1MuRegionalCand*> L1MuGMTMerger::dtcsc_mu
private

Definition at line 111 of file L1MuGMTMerger.h.

const L1MuGlobalMuonTrigger& L1MuGMTMerger::m_gmt
private

Definition at line 108 of file L1MuGMTMerger.h.

int L1MuGMTMerger::m_id
private

Definition at line 109 of file L1MuGMTMerger.h.

Referenced by id().

std::vector<L1MuGMTExtendedCand*> L1MuGMTMerger::m_MuonCands
private

Definition at line 114 of file L1MuGMTMerger.h.

Referenced by Cands().

std::vector<const L1MuRegionalCand*> L1MuGMTMerger::rpc_mu
private

Definition at line 112 of file L1MuGMTMerger.h.

std::vector<int> L1MuGMTMerger::singleRank
private

Definition at line 116 of file L1MuGMTMerger.h.