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 Attributes
l1t::RegionalMuonCand Class Reference

#include <RegionalMuonCand.h>

Public Member Functions

const uint64_t dataword () const
 Get 64 bit data word. More...
 
const int dataword32Lsb () const
 Get 32 LSBs of data word. More...
 
const int dataword32Msb () const
 Get 32 MSBs of data word. More...
 
const int hwEta () const
 Get compressed eta (returned int * 0.010875 = eta) More...
 
const int hwHF () const
 Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More...
 
const int hwPhi () const
 Get compressed local phi (returned int * 2*pi/576 = local phi in rad) More...
 
const int hwPt () const
 Get compressed pT (returned int * 0.5 = pT (GeV)) More...
 
const int hwQual () const
 Get quality code. More...
 
const int hwSign () const
 Get charge sign bit (charge = (-1)^(sign)) More...
 
const int hwSignValid () const
 Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid) More...
 
const int hwTrackAddress () const
 Get track address identifying trigger primitives. More...
 
const int link () const
 Get link on which the MicroGMT receives the candidate. More...
 
const int processor () const
 Get processor ID on which the candidate was found (1..6 for OMTF/EMTF; 1..12 for BMTF) More...
 
 RegionalMuonCand (uint64_t dataword)
 
 RegionalMuonCand ()
 
 RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder)
 
void setDataword (int msbs, int lsbs)
 
void setDataword (uint64_t bits)
 
void setHwEta (int bits)
 Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits) More...
 
void setHwHF (bool bit)
 Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More...
 
void setHwPhi (int bits)
 Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits) More...
 
void setHwPt (int bits)
 Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits) More...
 
void setHwQual (int bits)
 Set compressed quality code as transmitted by hardware (4 bits) More...
 
void setHwSign (int bits)
 Set charge sign bit (charge = (-1)^(sign)) More...
 
void setHwSignValid (int bits)
 Set whether charge measurement is valid (0 for high pT muons) More...
 
void setHwTrackAddress (int bits)
 Set compressed track address as transmitted by hardware. Identifies trigger primitives. More...
 
void setLink (int link)
 
void setTFIdentifiers (int processor, tftype trackFinder)
 Set the processor ID, track-finder type. From these two, the link is set. More...
 
const tftype trackFinderType () const
 Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg) More...
 
virtual ~RegionalMuonCand ()
 

Private Attributes

uint64_t m_dataword
 This is the 64 bit word as transmitted in HW. More...
 
int m_hwEta
 
bool m_hwHF
 
int m_hwPhi
 
int m_hwPt
 
int m_hwQuality
 
int m_hwSign
 
int m_hwSignValid
 
int m_hwTrackAddress
 
int m_link
 
int m_processor
 
tftype m_trackFinder
 

Detailed Description

Definition at line 16 of file RegionalMuonCand.h.

Constructor & Destructor Documentation

l1t::RegionalMuonCand::RegionalMuonCand ( uint64_t  dataword)
explicit
l1t::RegionalMuonCand::RegionalMuonCand ( )
inline
l1t::RegionalMuonCand::RegionalMuonCand ( int  pt,
int  phi,
int  eta,
int  sign,
int  signvalid,
int  quality,
int  processor,
tftype  trackFinder 
)
inline

Definition at line 25 of file RegionalMuonCand.h.

References setTFIdentifiers().

25  :
28  {
29  setTFIdentifiers(processor, trackFinder);
30  };
double sign(double x)
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
const int processor() const
Get processor ID on which the candidate was found (1..6 for OMTF/EMTF; 1..12 for BMTF) ...
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
virtual l1t::RegionalMuonCand::~RegionalMuonCand ( )
inlinevirtual

Definition at line 32 of file RegionalMuonCand.h.

32 {};

Member Function Documentation

const uint64_t l1t::RegionalMuonCand::dataword ( ) const
inline

Get 64 bit data word.

Definition at line 83 of file RegionalMuonCand.h.

References m_dataword.

83 { return m_dataword; };
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
const int l1t::RegionalMuonCand::dataword32Lsb ( ) const
inline

Get 32 LSBs of data word.

Definition at line 87 of file RegionalMuonCand.h.

87 { return (int)(m_dataword & 0xFFFFFFFF); };
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
const int l1t::RegionalMuonCand::dataword32Msb ( ) const
inline

Get 32 MSBs of data word.

Definition at line 85 of file RegionalMuonCand.h.

References m_dataword.

85 { return (int)((m_dataword >> 32) & 0xFFFFFFFF); };
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
const int l1t::RegionalMuonCand::hwEta ( ) const
inline

Get compressed eta (returned int * 0.010875 = eta)

Definition at line 65 of file RegionalMuonCand.h.

References m_hwEta.

Referenced by l1t::GMTInternalMuon::hwEta().

65 { return m_hwEta; };
const int l1t::RegionalMuonCand::hwHF ( ) const
inline

Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)

Definition at line 81 of file RegionalMuonCand.h.

References m_hwHF.

81 { return m_hwHF; };
const int l1t::RegionalMuonCand::hwPhi ( ) const
inline

Get compressed local phi (returned int * 2*pi/576 = local phi in rad)

Definition at line 63 of file RegionalMuonCand.h.

References m_hwPhi.

Referenced by l1t::GMTInternalMuon::hwLocalPhi().

63 { return m_hwPhi; };
const int l1t::RegionalMuonCand::hwPt ( ) const
inline

Get compressed pT (returned int * 0.5 = pT (GeV))

Definition at line 61 of file RegionalMuonCand.h.

References m_hwPt.

Referenced by l1t::GMTInternalMuon::hwPt().

61 { return m_hwPt; };
const int l1t::RegionalMuonCand::hwQual ( ) const
inline

Get quality code.

Definition at line 71 of file RegionalMuonCand.h.

References m_hwQuality.

Referenced by l1t::GMTInternalMuon::hwQual().

71 { return m_hwQuality; };
const int l1t::RegionalMuonCand::hwSign ( ) const
inline

Get charge sign bit (charge = (-1)^(sign))

Definition at line 67 of file RegionalMuonCand.h.

References m_hwSign.

Referenced by l1t::GMTInternalMuon::hwSign().

67 { return m_hwSign; };
const int l1t::RegionalMuonCand::hwSignValid ( ) const
inline

Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid)

Definition at line 69 of file RegionalMuonCand.h.

References m_hwSignValid.

Referenced by l1t::GMTInternalMuon::hwSignValid().

69 { return m_hwSignValid; };
const int l1t::RegionalMuonCand::hwTrackAddress ( ) const
inline

Get track address identifying trigger primitives.

Definition at line 73 of file RegionalMuonCand.h.

References m_hwTrackAddress.

Referenced by l1t::GMTInternalMuon::hwTrackAddress().

73 { return m_hwTrackAddress; };
const int l1t::RegionalMuonCand::link ( ) const
inline

Get link on which the MicroGMT receives the candidate.

Definition at line 75 of file RegionalMuonCand.h.

References m_link.

Referenced by l1t::GMTInternalMuon::link().

75 { return m_link; };
const int l1t::RegionalMuonCand::processor ( ) const
inline

Get processor ID on which the candidate was found (1..6 for OMTF/EMTF; 1..12 for BMTF)

Definition at line 77 of file RegionalMuonCand.h.

References m_processor.

Referenced by L1TMicroGMTInputProducer::cmpProc(), L1TMicroGMTInputProducerFromGen::compareMuons(), l1t::GMTInternalMuon::processor(), and setTFIdentifiers().

77 { return m_processor; };
void l1t::RegionalMuonCand::setDataword ( int  msbs,
int  lsbs 
)
inline

Definition at line 55 of file RegionalMuonCand.h.

References m_dataword.

55 { m_dataword = (((uint64_t)msbs) << 32) + lsbs; };
unsigned long long uint64_t
Definition: Time.h:15
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
void l1t::RegionalMuonCand::setDataword ( uint64_t  bits)
inline

Definition at line 57 of file RegionalMuonCand.h.

References bits, and m_dataword.

57 { m_dataword = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
void l1t::RegionalMuonCand::setHwEta ( int  bits)
inline

Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)

Definition at line 39 of file RegionalMuonCand.h.

References bits, and m_hwEta.

Referenced by L1TBMTFConverter::produce().

39 { m_hwEta = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwHF ( bool  bit)
inline

Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)

Definition at line 47 of file RegionalMuonCand.h.

References m_hwHF.

47 { m_hwHF = bit; };
void l1t::RegionalMuonCand::setHwPhi ( int  bits)
inline

Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)

Definition at line 37 of file RegionalMuonCand.h.

References bits, and m_hwPhi.

37 { m_hwPhi = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwPt ( int  bits)
inline

Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)

Definition at line 35 of file RegionalMuonCand.h.

References bits, and m_hwPt.

35 { m_hwPt = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwQual ( int  bits)
inline

Set compressed quality code as transmitted by hardware (4 bits)

Definition at line 45 of file RegionalMuonCand.h.

References bits, and m_hwQuality.

45 { m_hwQuality = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwSign ( int  bits)
inline

Set charge sign bit (charge = (-1)^(sign))

Definition at line 41 of file RegionalMuonCand.h.

References bits, and m_hwSign.

41 { m_hwSign = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwSignValid ( int  bits)
inline

Set whether charge measurement is valid (0 for high pT muons)

Definition at line 43 of file RegionalMuonCand.h.

References bits, and m_hwSignValid.

43 { m_hwSignValid = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setHwTrackAddress ( int  bits)
inline

Set compressed track address as transmitted by hardware. Identifies trigger primitives.

Definition at line 49 of file RegionalMuonCand.h.

References bits, and m_hwTrackAddress.

49 { m_hwTrackAddress = bits; };
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void l1t::RegionalMuonCand::setLink ( int  link)
void l1t::RegionalMuonCand::setTFIdentifiers ( int  processor,
tftype  trackFinder 
)

Set the processor ID, track-finder type. From these two, the link is set.

Definition at line 6 of file RegionalMuonCand.cc.

References l1t::bmtf, l1t::emtf_neg, l1t::emtf_pos, m_link, m_processor, m_trackFinder, l1t::omtf_neg, l1t::omtf_pos, and processor().

Referenced by RegionalMuonCand().

6  {
7  m_trackFinder = trackFinder;
9 
10  switch (m_trackFinder) {
11  case tftype::emtf_pos:
12  m_link = m_processor + 36; // range 36...41
13  break;
14  case tftype::omtf_pos:
15  m_link = m_processor + 42; // range 42...47
16  break;
17  case tftype::bmtf:
18  m_link = m_processor + 48; // range 48...59
19  break;
20  case tftype::omtf_neg:
21  m_link = m_processor + 60; // range 60...65
22  break;
23  case tftype::emtf_neg:
24  m_link = m_processor + 66; // range 66...71
25  }
26 }
const int processor() const
Get processor ID on which the candidate was found (1..6 for OMTF/EMTF; 1..12 for BMTF) ...
const tftype l1t::RegionalMuonCand::trackFinderType ( ) const
inline

Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg)

Definition at line 79 of file RegionalMuonCand.h.

References m_trackFinder.

Referenced by l1t::GMTInternalMuon::trackFinderType().

79 { return m_trackFinder; };

Member Data Documentation

uint64_t l1t::RegionalMuonCand::m_dataword
private

This is the 64 bit word as transmitted in HW.

Definition at line 103 of file RegionalMuonCand.h.

Referenced by dataword(), dataword32Msb(), and setDataword().

int l1t::RegionalMuonCand::m_hwEta
private

Definition at line 92 of file RegionalMuonCand.h.

Referenced by hwEta(), and setHwEta().

bool l1t::RegionalMuonCand::m_hwHF
private

Definition at line 93 of file RegionalMuonCand.h.

Referenced by hwHF(), and setHwHF().

int l1t::RegionalMuonCand::m_hwPhi
private

Definition at line 91 of file RegionalMuonCand.h.

Referenced by hwPhi(), and setHwPhi().

int l1t::RegionalMuonCand::m_hwPt
private

Definition at line 87 of file RegionalMuonCand.h.

Referenced by hwPt(), and setHwPt().

int l1t::RegionalMuonCand::m_hwQuality
private

Definition at line 96 of file RegionalMuonCand.h.

Referenced by hwQual(), and setHwQual().

int l1t::RegionalMuonCand::m_hwSign
private

Definition at line 94 of file RegionalMuonCand.h.

Referenced by hwSign(), and setHwSign().

int l1t::RegionalMuonCand::m_hwSignValid
private

Definition at line 95 of file RegionalMuonCand.h.

Referenced by hwSignValid(), and setHwSignValid().

int l1t::RegionalMuonCand::m_hwTrackAddress
private

Definition at line 97 of file RegionalMuonCand.h.

Referenced by hwTrackAddress(), and setHwTrackAddress().

int l1t::RegionalMuonCand::m_link
private

Definition at line 98 of file RegionalMuonCand.h.

Referenced by link(), and setTFIdentifiers().

int l1t::RegionalMuonCand::m_processor
private

Definition at line 99 of file RegionalMuonCand.h.

Referenced by processor(), and setTFIdentifiers().

tftype l1t::RegionalMuonCand::m_trackFinder
private

Definition at line 100 of file RegionalMuonCand.h.

Referenced by setTFIdentifiers(), and trackFinderType().