![]() |
![]() |
#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTEtaProjectionUnit.h>
Public Member Functions | |
int | id () const |
return identifier | |
bool | isSelected (int idx) const |
return eta select bit (idx: 0..13) | |
L1MuGMTEtaProjectionUnit (const L1MuGMTMipIsoAU &miau, int id) | |
constructor | |
void | print () const |
print results after eta projection | |
void | reset () |
clear eta projection unit | |
void | run () |
run eta projection unit | |
virtual | ~L1MuGMTEtaProjectionUnit () |
destructor | |
Private Types | |
typedef std::bitset< 14 > | TEtaBits |
Private Member Functions | |
void | load () |
Private Attributes | |
TEtaBits | m_eta_select |
float | m_feta |
int | m_id |
int | m_ieta |
const L1MuGMTMipIsoAU & | m_MIAU |
const L1MuRegionalCand * | m_mu |
Projects a muon from the muon system to the calorimeter or vertex and selects one or more calorimeter regions in eta to be checked for MIP and Isolation.
Definition at line 54 of file L1MuGMTEtaProjectionUnit.h.
typedef std::bitset<14> L1MuGMTEtaProjectionUnit::TEtaBits [private] |
Definition at line 84 of file L1MuGMTEtaProjectionUnit.h.
L1MuGMTEtaProjectionUnit::L1MuGMTEtaProjectionUnit | ( | const L1MuGMTMipIsoAU & | miau, | |
int | id | |||
) |
L1MuGMTEtaProjectionUnit::~L1MuGMTEtaProjectionUnit | ( | ) | [virtual] |
destructor
Definition at line 60 of file L1MuGMTEtaProjectionUnit.cc.
References reset().
00060 { 00061 00062 reset(); 00063 00064 }
return identifier
Definition at line 74 of file L1MuGMTEtaProjectionUnit.h.
References m_id.
00074 { return m_id; }
return eta select bit (idx: 0..13)
Definition at line 77 of file L1MuGMTEtaProjectionUnit.h.
References m_eta_select.
00077 { return m_eta_select[idx]; }
print results after eta projection
Definition at line 131 of file L1MuGMTEtaProjectionUnit.cc.
References i, and m_eta_select.
00131 { 00132 00133 edm::LogVerbatim("GMT_EtaProjection_info") << "Eta select bits: "; 00134 for ( int i=0; i<14; i++ ) { 00135 edm::LogVerbatim("GMT_EtaProjection_info") << m_eta_select[i] << " "; 00136 } 00137 edm::LogVerbatim("GMT_EtaProjection_info"); 00138 }
clear eta projection unit
Definition at line 119 of file L1MuGMTEtaProjectionUnit.cc.
References int, m_eta_select, m_feta, m_ieta, and m_mu.
Referenced by ~L1MuGMTEtaProjectionUnit().
00119 { 00120 00121 m_mu = 0; 00122 m_ieta = 0; 00123 m_feta = 0.; 00124 m_eta_select = (unsigned int) 0; 00125 }
run eta projection unit
Definition at line 73 of file L1MuGMTEtaProjectionUnit.cc.
References L1MuRegionalCand::charge_packed(), L1MuGlobalMuonTrigger::DebugBlockForFill(), L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getMIAUEtaProLUT(), L1MuGMTMipIsoAU::GMT(), i, load(), m_eta_select, m_id, m_MIAU, m_mu, L1MuRegionalCand::pt_packed(), L1MuGMTDebugBlock::SetEtaSelBits(), and L1MuGMTMIAUEtaProLUT::SpecificLookup_eta_sel().
00073 { 00074 00075 load(); 00076 if ( m_mu && ( !m_mu->empty() ) ) { 00077 00078 int isFwd = m_id / 16; 00079 int lut_id = m_id / 4; 00080 00081 // obtain inputs as coded in HW 00082 unsigned pt = m_mu->pt_packed(); 00083 unsigned charge = m_mu->charge_packed(); 00084 unsigned eta = m_mu->eta_packed(); 00085 00086 // lookup 00087 L1MuGMTMIAUEtaProLUT* ep_lut = L1MuGMTConfig::getMIAUEtaProLUT(); 00088 unsigned eta_sel_bits = ep_lut->SpecificLookup_eta_sel (lut_id, eta, pt, charge); 00089 00090 // convert to bit array 00091 // 00092 // see comments in L1MuGMTMIAUEtaProLUT.cc 00093 // 00094 m_eta_select = (unsigned) 0; 00095 00096 if (isFwd) { // forward 00097 for (int i=0; i<5; i++) 00098 if ( (eta_sel_bits & (1 << i)) == (unsigned) (1<<i)) 00099 m_eta_select[i] = 1; 00100 00101 for (int i=5; i<10; i++) 00102 if ( (eta_sel_bits & (1 << i)) == (unsigned) (1<<i)) 00103 m_eta_select[i+4] = 1; 00104 } else { // barrel 00105 for (int i=0; i<10; i++) 00106 if ( (eta_sel_bits & (1 << i)) == (unsigned) (1<<i)) 00107 m_eta_select[i+2] = 1; 00108 } 00109 00110 // m_MIAU.GMT().DebugBlockForFill()->SetEtaSelBits( m_id, m_eta_select.read(0,14)) ; 00111 m_MIAU.GMT().DebugBlockForFill()->SetEtaSelBits( m_id, m_eta_select.to_ulong()) ; 00112 } 00113 }
Definition at line 96 of file L1MuGMTEtaProjectionUnit.h.
Referenced by isSelected(), print(), reset(), and run().
float L1MuGMTEtaProjectionUnit::m_feta [private] |
int L1MuGMTEtaProjectionUnit::m_id [private] |
int L1MuGMTEtaProjectionUnit::m_ieta [private] |
const L1MuGMTMipIsoAU& L1MuGMTEtaProjectionUnit::m_MIAU [private] |
const L1MuRegionalCand* L1MuGMTEtaProjectionUnit::m_mu [private] |