CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
l1t::RegionalMuonCand Class Reference

#include <RegionalMuonCand.h>

Inheritance diagram for l1t::RegionalMuonCand:
L1MuBMTrack

Public Types

enum  bmtfAddress {
  kWheelSide = 0, kWheelNum = 1, kStat1 = 2, kStat2 = 3,
  kStat3 = 4, kStat4 = 5, kSegSelStat1 = 6, kSegSelStat2 = 7,
  kSegSelStat3 = 8, kSegSelStat4 = 9, kNumBmtfSubAddr = 10
}
 
enum  emtfAddress {
  kME1Seg = 0, kME1Ch = 1, kME2Seg = 2, kME2Ch = 3,
  kME3Seg = 4, kME3Ch = 5, kME4Seg = 6, kME4Ch = 7,
  kTrkNum = 8, kBX = 9, kNumEmtfSubAddr = 10
}
 
enum  omtfAddress { kLayers = 0, kZero = 1, kWeight = 2, kNumOmtfSubAddr = 3 }
 

Public Member Functions

const uint64_t dataword () const
 Get 64 bit data word. More...
 
const uint32_t dataword32Lsb () const
 Get 32 LSBs of data word. More...
 
const uint32_t dataword32Msb () const
 Get 32 MSBs of data word. More...
 
const int hwDXY () const
 Get compressed impact parameter (4 bits) 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 hwPt2 () const
 Get second compressed pT (returned int * 1.0 = 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 link () const
 Get link on which the MicroGMT receives the candidate. More...
 
bool operator!= (const RegionalMuonCand &rhs) const
 
bool operator== (const RegionalMuonCand &rhs) const
 
const int processor () const
 Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 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)
 
 RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder, std::map< int, int > trackAddress)
 
void setDataword (uint32_t msbs, uint32_t lsbs)
 
void setDataword (uint64_t bits)
 
void setHwDXY (int bits)
 Set compressed impact parameter with respect to beamspot (4 bits) More...
 
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 setHwPt2 (int bits)
 Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 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 setLink (int link)
 
void setTFIdentifiers (int processor, tftype trackFinder)
 Set the processor ID, track-finder type. From these two, the link is set. More...
 
void setTrackAddress (const std::map< int, int > &address)
 Set the whole track address. More...
 
void setTrackSubAddress (bmtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for BMTF. More...
 
void setTrackSubAddress (omtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for OMTF. More...
 
void setTrackSubAddress (emtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for EMTF. More...
 
const std::map< int, int > & trackAddress () const
 Get the track address (identifies track primitives used for reconstruction) More...
 
const tftype trackFinderType () const
 Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg) More...
 
int trackSubAddress (bmtfAddress subAddress) const
 Get part of track address (identifies track primitives used for reconstruction) More...
 
int trackSubAddress (omtfAddress subAddress) const
 Get part of track address (identifies track primitives used for reconstruction) More...
 
int trackSubAddress (emtfAddress subAddress) const
 Get part of track address (identifies track primitives used for reconstruction) More...
 
virtual ~RegionalMuonCand ()
 

Private Attributes

uint64_t m_dataword
 This is the 64 bit word as transmitted in HW. More...
 
int m_hwDXY
 
int m_hwEta
 
bool m_hwHF
 
int m_hwPhi
 
int m_hwPt
 
int m_hwPt2
 
int m_hwQuality
 
int m_hwSign
 
int m_hwSignValid
 
int m_link
 
int m_processor
 
std::map< int, int > m_trackAddress
 
tftype m_trackFinder
 

Detailed Description

Definition at line 8 of file RegionalMuonCand.h.

Member Enumeration Documentation

Enum to identify the individual parts of the BMTF track address Update kNumBmtfSubAddr if you add additional enums

Enumerator
kWheelSide 
kWheelNum 
kStat1 
kStat2 
kStat3 
kStat4 
kSegSelStat1 
kSegSelStat2 
kSegSelStat3 
kSegSelStat4 
kNumBmtfSubAddr 

Definition at line 12 of file RegionalMuonCand.h.

Enum to identify the individual parts of the EMTF track address Update kNumEmtfSubAddr if you add additional enums

Enumerator
kME1Seg 
kME1Ch 
kME2Seg 
kME2Ch 
kME3Seg 
kME3Ch 
kME4Seg 
kME4Ch 
kTrkNum 
kBX 
kNumEmtfSubAddr 

Definition at line 30 of file RegionalMuonCand.h.

Enum to identify the individual parts of the OMTF track address Update kNumOmtfSubAddr if you add additional enums

Enumerator
kLayers 
kZero 
kWeight 
kNumOmtfSubAddr 

Definition at line 27 of file RegionalMuonCand.h.

Constructor & Destructor Documentation

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

Definition at line 46 of file RegionalMuonCand.h.

References l1t::bmtf, and setTFIdentifiers().

47  : m_hwPt(0),
48  m_hwPt2(0),
49  m_hwDXY(0),
50  m_hwPhi(0),
51  m_hwEta(0),
52  m_hwHF(false),
53  m_hwSign(0),
54  m_hwSignValid(0),
55  m_hwQuality(0),
56  m_dataword(0) {
58  };
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
l1t::RegionalMuonCand::RegionalMuonCand ( int  pt,
int  phi,
int  eta,
int  sign,
int  signvalid,
int  quality,
int  processor,
tftype  trackFinder 
)
inline

Definition at line 60 of file RegionalMuonCand.h.

References l1t::bmtf, l1t::emtf_neg, l1t::emtf_pos, kBX, kLayers, kME1Ch, kME1Seg, kME2Ch, kME2Seg, kME3Ch, kME3Seg, kME4Ch, kME4Seg, kSegSelStat1, kSegSelStat2, kSegSelStat3, kSegSelStat4, kStat1, kStat2, kStat3, kStat4, kTrkNum, kWeight, kWheelNum, kWheelSide, kZero, m_trackAddress, l1t::omtf_neg, l1t::omtf_pos, and setTFIdentifiers().

61  : m_hwPt(pt),
62  m_hwPt2(0),
63  m_hwDXY(0),
64  m_hwPhi(phi),
65  m_hwEta(eta),
66  m_hwHF(false),
67  m_hwSign(sign),
68  m_hwSignValid(signvalid),
70  m_dataword(0) {
71  setTFIdentifiers(processor, trackFinder);
72  // set default track addresses
73  if (trackFinder == tftype::bmtf) {
74  m_trackAddress = {{kWheelSide, 0},
75  {kWheelNum, 0},
76  {kStat1, 0},
77  {kStat2, 0},
78  {kStat3, 0},
79  {kStat4, 0},
80  {kSegSelStat1, 0},
81  {kSegSelStat2, 0},
82  {kSegSelStat3, 0},
83  {kSegSelStat4, 0}};
84  } else if (trackFinder == tftype::omtf_pos || trackFinder == tftype::omtf_neg) {
85  m_trackAddress = {{kLayers, 0}, {kZero, 0}, {kWeight, 0}};
86  } else if (trackFinder == tftype::emtf_pos || trackFinder == tftype::emtf_neg) {
87  m_trackAddress = {{kME1Seg, 0},
88  {kME1Ch, 0},
89  {kME2Seg, 0},
90  {kME2Ch, 0},
91  {kME3Seg, 0},
92  {kME3Ch, 0},
93  {kME4Seg, 0},
94  {kME4Ch, 0},
95  {kTrkNum, 0},
96  {kBX, 0}};
97  }
98  };
std::map< int, int > m_trackAddress
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 (0..5 for OMTF/EMTF; 0..11 for BMTF) ...
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
l1t::RegionalMuonCand::RegionalMuonCand ( int  pt,
int  phi,
int  eta,
int  sign,
int  signvalid,
int  quality,
int  processor,
tftype  trackFinder,
std::map< int, int >  trackAddress 
)
inline

Definition at line 100 of file RegionalMuonCand.h.

References setTFIdentifiers().

109  : m_hwPt(pt),
110  m_hwPt2(0),
111  m_hwDXY(0),
112  m_hwPhi(phi),
113  m_hwEta(eta),
114  m_hwHF(false),
115  m_hwSign(sign),
116  m_hwSignValid(signvalid),
119  m_dataword(0) {
120  setTFIdentifiers(processor, trackFinder);
121  };
std::map< int, int > m_trackAddress
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
const std::map< int, int > & trackAddress() const
Get the track address (identifies track primitives used for reconstruction)
const int processor() const
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF) ...
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
virtual l1t::RegionalMuonCand::~RegionalMuonCand ( )
inlinevirtual

Definition at line 123 of file RegionalMuonCand.h.

123 {};

Member Function Documentation

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

Get 64 bit data word.

Definition at line 185 of file RegionalMuonCand.h.

References m_dataword.

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

Get 32 LSBs of data word.

Definition at line 189 of file RegionalMuonCand.h.

References m_dataword.

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

Get 32 MSBs of data word.

Definition at line 187 of file RegionalMuonCand.h.

References m_dataword.

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

Get compressed impact parameter (4 bits)

Definition at line 165 of file RegionalMuonCand.h.

References m_hwDXY.

Referenced by L1TMuonBarrelKalmanSectorProcessor::makeWord().

165 { return m_hwDXY; };
const int l1t::RegionalMuonCand::hwEta ( ) const
inline
const int l1t::RegionalMuonCand::hwHF ( ) const
inline
const int l1t::RegionalMuonCand::hwPhi ( ) const
inline
const int l1t::RegionalMuonCand::hwPt ( ) const
inline
const int l1t::RegionalMuonCand::hwPt2 ( ) const
inline

Get second compressed pT (returned int * 1.0 = pT (GeV))

Definition at line 163 of file RegionalMuonCand.h.

References m_hwPt2.

Referenced by L1TMuonBarrelKalmanSectorProcessor::makeWord(), and l1t::stage2::BMTFUnpackerOutput::unpack().

163 { return m_hwPt2; };
const int l1t::RegionalMuonCand::hwQual ( ) const
inline
const int l1t::RegionalMuonCand::hwSign ( ) const
inline
const int l1t::RegionalMuonCand::hwSignValid ( ) const
inline
const int l1t::RegionalMuonCand::link ( ) const
inline
bool l1t::RegionalMuonCand::operator!= ( const RegionalMuonCand rhs) const
inline

Definition at line 200 of file RegionalMuonCand.h.

References m_hwPt, and operator==().

200 { return !(operator==(rhs)); };
bool operator==(const RegionalMuonCand &rhs) const
bool l1t::RegionalMuonCand::operator== ( const RegionalMuonCand rhs) const

Definition at line 27 of file RegionalMuonCand.cc.

References electrons_cff::bool, hwEta(), hwHF(), hwPhi(), hwPt(), hwQual(), hwSign(), hwSignValid(), link(), m_hwEta, m_hwHF, m_hwPhi, m_hwPt, m_hwQuality, m_hwSign, m_hwSignValid, m_link, m_processor, m_trackAddress, m_trackFinder, processor(), trackAddress(), and trackFinderType().

Referenced by operator!=(), and trackSubAddress().

27  {
28  return m_hwPt == rhs.hwPt() && m_hwPhi == rhs.hwPhi() && m_hwEta == rhs.hwEta() && m_hwHF == (bool)rhs.hwHF() &&
29  m_hwSign == rhs.hwSign() && m_hwSignValid == rhs.hwSignValid() && m_hwQuality == rhs.hwQual() &&
30  m_link == rhs.link() && m_processor == rhs.processor() && m_trackFinder == rhs.trackFinderType() &&
31  m_trackAddress == rhs.trackAddress();
32  }
std::map< int, int > m_trackAddress
const int l1t::RegionalMuonCand::processor ( ) const
inline
void l1t::RegionalMuonCand::setDataword ( uint32_t  msbs,
uint32_t  lsbs 
)
inline

Definition at line 148 of file RegionalMuonCand.h.

References m_dataword.

Referenced by L1TMuonBarrelKalmanAlgo::convertToBMTF(), and l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand().

148 { m_dataword = (((uint64_t)msbs) << 32) + lsbs; };
unsigned long long uint64_t
Definition: Time.h:13
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 150 of file RegionalMuonCand.h.

References bits, and m_dataword.

150 { 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::setHwDXY ( int  bits)
inline

Set compressed impact parameter with respect to beamspot (4 bits)

Definition at line 130 of file RegionalMuonCand.h.

References bits, and m_hwDXY.

Referenced by L1TMuonBarrelKalmanAlgo::convertToBMTF(), and l1t::stage2::BMTFUnpackerOutput::unpack().

130 { m_hwDXY = 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::setHwEta ( int  bits)
inline

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

Definition at line 134 of file RegionalMuonCand.h.

References bits, and m_hwEta.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TBMTFConverter::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setEta(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

134 { 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
void l1t::RegionalMuonCand::setHwPhi ( int  bits)
inline

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

Definition at line 132 of file RegionalMuonCand.h.

References bits, and m_hwPhi.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPhi(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

132 { 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 126 of file RegionalMuonCand.h.

References bits, and m_hwPt.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPt(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

126 { 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::setHwPt2 ( int  bits)
inline

Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 bits)

Definition at line 128 of file RegionalMuonCand.h.

References bits, and m_hwPt2.

Referenced by L1TMuonBarrelKalmanAlgo::convertToBMTF(), and l1t::stage2::BMTFUnpackerOutput::unpack().

128 { m_hwPt2 = 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 140 of file RegionalMuonCand.h.

References bits, and m_hwQuality.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMuonQualityAdjuster::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setQuality(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

140 { 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 136 of file RegionalMuonCand.h.

References bits, and m_hwSign.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setCharge(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

136 { 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 138 of file RegionalMuonCand.h.

References bits, and m_hwSignValid.

Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1MuBMTrack::L1MuBMTrack(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

138 { 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::setLink ( int  link)
inline

Definition at line 146 of file RegionalMuonCand.h.

References link(), and m_link.

Referenced by l1t::stage2::BMTFUnpackerOutput::unpack().

146 { m_link = link; };
const int link() const
Get link on which the MicroGMT receives the candidate.
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 5 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 OMTFSorter::candidates(), MicroGMTConverter::convert(), L1MuBMTrack::enable(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), RegionalMuonCand(), L1MuBMTrackFinder::run(), setHwHF(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().

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

Set the whole track address.

Definition at line 158 of file RegionalMuonCand.h.

References m_trackAddress.

Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), and omtf::MuonUnpacker::unpack().

158 { m_trackAddress = address; }
std::map< int, int > m_trackAddress
void l1t::RegionalMuonCand::setTrackSubAddress ( bmtfAddress  subAddress,
int  value 
)
inline

Set a part of the muon candidates track address; specialised for BMTF.

Definition at line 152 of file RegionalMuonCand.h.

References m_trackAddress, and relativeConstraints::value.

Referenced by MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1MuBMTrackFinder::run(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().

152 { m_trackAddress[subAddress] = value; }
std::map< int, int > m_trackAddress
void l1t::RegionalMuonCand::setTrackSubAddress ( omtfAddress  subAddress,
int  value 
)
inline

Set a part of the muon candidates track address; specialised for OMTF.

Definition at line 154 of file RegionalMuonCand.h.

References m_trackAddress, and relativeConstraints::value.

154 { m_trackAddress[subAddress] = value; }
std::map< int, int > m_trackAddress
void l1t::RegionalMuonCand::setTrackSubAddress ( emtfAddress  subAddress,
int  value 
)
inline

Set a part of the muon candidates track address; specialised for EMTF.

Definition at line 156 of file RegionalMuonCand.h.

References m_trackAddress, and relativeConstraints::value.

156 { m_trackAddress[subAddress] = value; }
std::map< int, int > m_trackAddress
const std::map<int, int>& l1t::RegionalMuonCand::trackAddress ( ) const
inline

Get the track address (identifies track primitives used for reconstruction)

Definition at line 191 of file RegionalMuonCand.h.

References m_trackAddress.

Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), operator==(), and XMLConfigWriter::writeCandMuon().

191 { return m_trackAddress; }
std::map< int, int > m_trackAddress
const tftype l1t::RegionalMuonCand::trackFinderType ( ) const
inline
int l1t::RegionalMuonCand::trackSubAddress ( bmtfAddress  subAddress) const
inline

Get part of track address (identifies track primitives used for reconstruction)

Definition at line 193 of file RegionalMuonCand.h.

References m_trackAddress.

Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), and L1TMuonBarrelKalmanSectorProcessor::makeWord().

193 { return m_trackAddress.at(subAddress); }
std::map< int, int > m_trackAddress
int l1t::RegionalMuonCand::trackSubAddress ( omtfAddress  subAddress) const
inline

Get part of track address (identifies track primitives used for reconstruction)

Definition at line 195 of file RegionalMuonCand.h.

References m_trackAddress.

195 { return m_trackAddress.at(subAddress); }
std::map< int, int > m_trackAddress
int l1t::RegionalMuonCand::trackSubAddress ( emtfAddress  subAddress) const
inline

Get part of track address (identifies track primitives used for reconstruction)

Definition at line 197 of file RegionalMuonCand.h.

References m_trackAddress, and operator==().

197 { return m_trackAddress.at(subAddress); }
std::map< int, int > m_trackAddress

Member Data Documentation

uint64_t l1t::RegionalMuonCand::m_dataword
private

This is the 64 bit word as transmitted in HW.

Definition at line 218 of file RegionalMuonCand.h.

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

int l1t::RegionalMuonCand::m_hwDXY
private

Definition at line 205 of file RegionalMuonCand.h.

Referenced by hwDXY(), and setHwDXY().

int l1t::RegionalMuonCand::m_hwEta
private

Definition at line 207 of file RegionalMuonCand.h.

Referenced by hwEta(), operator==(), and setHwEta().

bool l1t::RegionalMuonCand::m_hwHF
private

Definition at line 208 of file RegionalMuonCand.h.

Referenced by hwHF(), operator==(), and setHwHF().

int l1t::RegionalMuonCand::m_hwPhi
private

Definition at line 206 of file RegionalMuonCand.h.

Referenced by hwPhi(), operator==(), and setHwPhi().

int l1t::RegionalMuonCand::m_hwPt
private

Definition at line 200 of file RegionalMuonCand.h.

Referenced by hwPt(), operator!=(), operator==(), and setHwPt().

int l1t::RegionalMuonCand::m_hwPt2
private

Definition at line 204 of file RegionalMuonCand.h.

Referenced by hwPt2(), and setHwPt2().

int l1t::RegionalMuonCand::m_hwQuality
private

Definition at line 211 of file RegionalMuonCand.h.

Referenced by hwQual(), operator==(), and setHwQual().

int l1t::RegionalMuonCand::m_hwSign
private

Definition at line 209 of file RegionalMuonCand.h.

Referenced by hwSign(), operator==(), and setHwSign().

int l1t::RegionalMuonCand::m_hwSignValid
private

Definition at line 210 of file RegionalMuonCand.h.

Referenced by hwSignValid(), operator==(), and setHwSignValid().

int l1t::RegionalMuonCand::m_link
private

Definition at line 212 of file RegionalMuonCand.h.

Referenced by link(), operator==(), setLink(), and setTFIdentifiers().

int l1t::RegionalMuonCand::m_processor
private

Definition at line 213 of file RegionalMuonCand.h.

Referenced by operator==(), processor(), and setTFIdentifiers().

std::map<int, int> l1t::RegionalMuonCand::m_trackAddress
private
tftype l1t::RegionalMuonCand::m_trackFinder
private

Definition at line 214 of file RegionalMuonCand.h.

Referenced by operator==(), setTFIdentifiers(), and trackFinderType().