CMS 3D CMS Logo

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

◆ CaloInput

Definition at line 40 of file MicroGMTConfiguration.h.

◆ CaloInputCollection

Definition at line 41 of file MicroGMTConfiguration.h.

◆ InputCollection

Definition at line 34 of file MicroGMTConfiguration.h.

◆ InterMuon

Definition at line 37 of file MicroGMTConfiguration.h.

◆ InterMuonCollection

Definition at line 38 of file MicroGMTConfiguration.h.

◆ InterMuonList

Definition at line 39 of file MicroGMTConfiguration.h.

◆ OutMuon

Definition at line 36 of file MicroGMTConfiguration.h.

◆ OutputCollection

Definition at line 35 of file MicroGMTConfiguration.h.

◆ PortType

Definition at line 33 of file MicroGMTConfiguration.h.

Member Enumeration Documentation

◆ input_t

Enumerator
PT 
PT_COARSE 
PHI 
ETA 
ETA_COARSE 
QUALITY 
DELTA_ETA_RED 
DELTA_PHI_RED 
ENERGYSUM 
ETA_FINE_BIT 

Definition at line 19 of file MicroGMTConfiguration.h.

19  {
20  PT,
21  PT_COARSE,
22  PHI,
23  ETA,
24  ETA_COARSE,
25  QUALITY,
28  ENERGYSUM,
30  };

◆ output_t

Enumerator
ETA_OUT 
PHI_OUT 

Definition at line 31 of file MicroGMTConfiguration.h.

31 { ETA_OUT, PHI_OUT };

Member Function Documentation

◆ calcGlobalPhi()

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

Definition at line 11 of file MicroGMTConfiguration.cc.

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 }

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

Referenced by L1TStage2uGMT::analyze(), and L1Analysis::L1AnalysisL1UpgradeTfMuon::SetTfMuon().

◆ calcMuonEtaExtra()

double l1t::MicroGMTConfiguration::calcMuonEtaExtra ( const l1t::Muon mu)
static

Definition at line 52 of file MicroGMTConfiguration.cc.

52 { return calcMuonHwEtaExtra(mu) * 0.010875; }

References amptDefaultParameters_cff::mu.

◆ calcMuonHwEtaExtra()

int l1t::MicroGMTConfiguration::calcMuonHwEtaExtra ( const l1t::Muon mu)
static

Definition at line 39 of file MicroGMTConfiguration.cc.

39 { return mu.hwEta() + mu.hwDEtaExtra(); }

References amptDefaultParameters_cff::mu.

◆ calcMuonHwPhiExtra()

int l1t::MicroGMTConfiguration::calcMuonHwPhiExtra ( const l1t::Muon mu)
static

Definition at line 41 of file MicroGMTConfiguration.cc.

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 }

References amptDefaultParameters_cff::mu.

◆ calcMuonPhiExtra()

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 }

References amptDefaultParameters_cff::mu.

◆ getTwosComp()

unsigned l1t::MicroGMTConfiguration::getTwosComp ( const int  signedInt,
const int  width 
)
static

Definition at line 3 of file MicroGMTConfiguration.cc.

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 }

References ApeEstimator_cff::width.

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

◆ setOutputMuonQuality()

int l1t::MicroGMTConfiguration::setOutputMuonQuality ( int  muQual,
tftype  type,
int  haloBit 
)
static

Definition at line 29 of file MicroGMTConfiguration.cc.

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 }

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

l1t::bmtf
Definition: RegionalMuonCandFwd.h:8
l1t::emtf_neg
Definition: RegionalMuonCandFwd.h:8
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
l1t::MicroGMTConfiguration::PHI
Definition: MicroGMTConfiguration.h:22
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
l1t::MicroGMTConfiguration::QUALITY
Definition: MicroGMTConfiguration.h:25
l1t::MicroGMTConfiguration::PT
Definition: MicroGMTConfiguration.h:20
l1t::MicroGMTConfiguration::ENERGYSUM
Definition: MicroGMTConfiguration.h:28
l1t::MicroGMTConfiguration::DELTA_PHI_RED
Definition: MicroGMTConfiguration.h:27
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
l1t::MicroGMTConfiguration::ETA_FINE_BIT
Definition: MicroGMTConfiguration.h:29
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
l1t::MicroGMTConfiguration::ETA_OUT
Definition: MicroGMTConfiguration.h:31
l1t::MicroGMTConfiguration::DELTA_ETA_RED
Definition: MicroGMTConfiguration.h:26
l1t::MicroGMTConfiguration::PT_COARSE
Definition: MicroGMTConfiguration.h:21
l1t::emtf_pos
Definition: RegionalMuonCandFwd.h:8
l1t::MicroGMTConfiguration::calcMuonHwEtaExtra
static int calcMuonHwEtaExtra(const l1t::Muon &mu)
Definition: MicroGMTConfiguration.cc:39
math::PtEtaPhiMLorentzVector
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:25
l1t::MicroGMTConfiguration::ETA_COARSE
Definition: MicroGMTConfiguration.h:24
l1t::MicroGMTConfiguration::calcMuonHwPhiExtra
static int calcMuonHwPhiExtra(const l1t::Muon &mu)
Definition: MicroGMTConfiguration.cc:41
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
l1t::MicroGMTConfiguration::PHI_OUT
Definition: MicroGMTConfiguration.h:31
l1t::MicroGMTConfiguration::ETA
Definition: MicroGMTConfiguration.h:23