CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Static Public Member Functions
l1t::MicroGMTConfiguration Class Reference

#include <MicroGMTConfiguration.h>

Public Types

typedef MuonCaloSum CaloInput
 
typedef MuonCaloSumBxCollection CaloInputCollection
 
enum  input_t {
  PT, PT_COARSE, PHI, ETA,
  ETA_COARSE, QUALITY, DELTA_ETA_RED, DELTA_PHI_RED,
  ENERGYSUM, ETA_FINE_BIT
}
 
typedef
RegionalMuonCandBxCollection 
InputCollection
 
typedef GMTInternalMuon InterMuon
 
typedef GMTInternalMuonCollection InterMuonCollection
 
typedef GMTInternalMuonList InterMuonList
 
typedef Muon OutMuon
 
enum  output_t { ETA_OUT, PHI_OUT }
 
typedef MuonBxCollection OutputCollection
 
typedef std::pair< input_t, int > PortType
 

Static Public Member Functions

static int calcGlobalPhi (int locPhi, tftype t, int proc)
 
static double calcMuonEtaExtra (const l1t::Muon &mu)
 
static int calcMuonHwEtaExtra (const l1t::Muon &mu)
 
static int calcMuonHwPhiExtra (const l1t::Muon &mu)
 
static double calcMuonPhiExtra (const l1t::Muon &mu)
 
static unsigned getTwosComp (const int signedInt, const int width)
 
static int setOutputMuonQuality (int muQual, tftype type, int haloBit)
 

Detailed Description

Definition at line 16 of file MicroGMTConfiguration.h.

Member Typedef Documentation

Definition at line 40 of file MicroGMTConfiguration.h.

Definition at line 41 of file MicroGMTConfiguration.h.

Definition at line 34 of file MicroGMTConfiguration.h.

Definition at line 37 of file MicroGMTConfiguration.h.

Definition at line 38 of file MicroGMTConfiguration.h.

Definition at line 39 of file MicroGMTConfiguration.h.

Definition at line 36 of file MicroGMTConfiguration.h.

Definition at line 35 of file MicroGMTConfiguration.h.

Definition at line 33 of file MicroGMTConfiguration.h.

Member Enumeration Documentation

Member Function Documentation

int l1t::MicroGMTConfiguration::calcGlobalPhi ( int  locPhi,
tftype  t,
int  proc 
)
static

Definition at line 11 of file MicroGMTConfiguration.cc.

References l1t::bmtf, and ValidateTausOnZEEFastSim_cff::proc.

Referenced by L1TStage2uGMT::analyze(), HLT2L1TkMuonL1TkMuonMuRefDR::convertEtaPhi(), CandidateSimMuonMatcher::ghostBust(), CandidateSimMuonMatcher::match(), and L1Analysis::L1AnalysisL1UpgradeTfMuon::SetTfMuon().

11  {
12  int globPhi = 0;
13  if (t == bmtf) {
14  // each BMTF processor corresponds to a 30 degree wedge = 48 in int-scale
15  globPhi = (proc)*48 + locPhi;
16  // first processor starts at CMS phi = -15 degrees...
17  globPhi += 576 - 24;
18  // handle wrap-around (since we add the 576-24, the value will never be negative!)
19  globPhi = globPhi % 576;
20  } else {
21  // all others correspond to 60 degree sectors = 96 in int-scale
22  globPhi = (proc)*96 + locPhi;
23  // first processor starts at CMS phi = 15 degrees (24 in int)... Handle wrap-around with %. Add 576 to make sure the number is positive
24  globPhi = (globPhi + 600) % 576;
25  }
26  return globPhi;
27 }
double l1t::MicroGMTConfiguration::calcMuonEtaExtra ( const l1t::Muon mu)
static

Definition at line 52 of file MicroGMTConfiguration.cc.

52 { return calcMuonHwEtaExtra(mu) * 0.010875; }
static int calcMuonHwEtaExtra(const l1t::Muon &mu)
int l1t::MicroGMTConfiguration::calcMuonHwEtaExtra ( const l1t::Muon mu)
static

Definition at line 39 of file MicroGMTConfiguration.cc.

References l1t::Muon::hwDEtaExtra(), and l1t::L1Candidate::hwEta().

39 { return mu.hwEta() + mu.hwDEtaExtra(); }
int hwDEtaExtra() const
Definition: Muon.h:108
int hwEta() const
Definition: L1Candidate.h:36
int l1t::MicroGMTConfiguration::calcMuonHwPhiExtra ( const l1t::Muon mu)
static

Definition at line 41 of file MicroGMTConfiguration.cc.

References l1t::Muon::hwDPhiExtra(), and l1t::L1Candidate::hwPhi().

41  {
42  auto hwPhiExtra = mu.hwPhi() + mu.hwDPhiExtra();
43  while (hwPhiExtra < 0) {
44  hwPhiExtra += 576;
45  }
46  while (hwPhiExtra > 575) {
47  hwPhiExtra -= 576;
48  }
49  return hwPhiExtra;
50 }
int hwDPhiExtra() const
Definition: Muon.h:107
int hwPhi() const
Definition: L1Candidate.h:37
double l1t::MicroGMTConfiguration::calcMuonPhiExtra ( const l1t::Muon mu)
static

Definition at line 54 of file MicroGMTConfiguration.cc.

54  {
55  //use the LorentzVector to get phi in the range -pi to +pi exactly as in the emulator
56  math::PtEtaPhiMLorentzVector vec{0., 0., calcMuonHwPhiExtra(mu) * 0.010908, 0.};
57  return vec.phi();
58 }
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:25
static int calcMuonHwPhiExtra(const l1t::Muon &mu)
unsigned l1t::MicroGMTConfiguration::getTwosComp ( const int  signedInt,
const int  width 
)
static

Definition at line 3 of file MicroGMTConfiguration.cc.

Referenced by l1t::MicroGMTIsolationUnit::getCaloIndex().

3  {
4  if (signed_int >= 0) {
5  return (unsigned)signed_int;
6  }
7  int all_one = (1 << width) - 1;
8  return ((-signed_int) ^ all_one) + 1;
9 }
int l1t::MicroGMTConfiguration::setOutputMuonQuality ( int  muQual,
tftype  type,
int  haloBit 
)
static

Definition at line 29 of file MicroGMTConfiguration.cc.

References l1t::emtf_neg, and l1t::emtf_pos.

29  {
30  // use only the two MSBs for the muon to the uGT
31  int outQual = muQual & 0xC;
32  if (haloBit == 1 && (type == tftype::emtf_neg || type == tftype::emtf_pos)) {
33  // set quality to 0xF if the halo bit is set
34  outQual = 0xF;
35  }
36  return outQual;
37 }