CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
L1MuGMTScales Class Reference

#include <L1MuGMTScales.h>

Public Member Functions

const L1MuScalegetDeltaEtaScale (int idx) const
 get the delta eta scale; idx = 0(DT=RPC), 1(CSC-RPC), 2(DT-CSC), 3(CSC-DT), 4(bRPC-CSC), 5(fRPC-DT) More...
 
const L1MuScalegetDeltaPhiScale () const
 get the delta phi scale ( 3 bits) More...
 
const L1MuScalegetOvlEtaScale (int isys) const
 get the overlap eta scale (4 bits); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) More...
 
const L1MuScalegetReducedEtaScale (int isys) const
 get the recuced eta scale for matching in the overlap region (4 bit); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) More...
 
 L1MuGMTScales ()
 constructor More...
 
 L1MuGMTScales (int nbitPackingReducedEta, int nbinsReducedEta, const std::vector< double > &scaleReducedEtaDT, const std::vector< double > &scaleReducedEtaBrlRPC, const std::vector< double > &scaleReducedEtaCSC, const std::vector< double > &scaleReducedEtaFwdRPC, int nbitPackingDeltaEta, bool signedPackingDeltaEta, int nbinsDeltaEta, float minDeltaEta, float maxDeltaEta, int offsetDeltaEta, int nbitPackingDeltaPhi, bool signedPackingDeltaPhi, int nbinsDeltaPhi, float minDeltaPhi, float maxDeltaPhi, int offsetDeltaPhi, int nbitPackingOvlEtaDT, int nbinsOvlEtaDT, float minOvlEtaDT, float maxOvlEtaDT, int nbitPackingOvlEtaCSC, int nbinsOvlEtaCSC, float minOvlEtaCSC, float maxOvlEtaCSC, const std::vector< double > &scaleOvlEtaRPC, int nbitPackingOvlEtaBrlRPC, int nbinsOvlEtaBrlRPC, int nbitPackingOvlEtaFwdRPC, int nbinsOvlEtaFwdRPC)
 
virtual ~L1MuGMTScales ()
 destructor More...
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

L1MuBinnedScale m_DeltaEtaScale [6]
 
L1MuBinnedScale m_DeltaPhiScale
 
L1MuSymmetricBinnedScale m_OvlEtaScale [4]
 
L1MuSymmetricBinnedScale m_ReducedEtaScale [4]
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Description: Class that creates all scales used inside the GMT

An automatic check is done for the calo eta scales.

Definition at line 34 of file L1MuGMTScales.h.

Constructor & Destructor Documentation

◆ L1MuGMTScales() [1/2]

L1MuGMTScales::L1MuGMTScales ( )
inline

constructor

Definition at line 37 of file L1MuGMTScales.h.

37 {}

◆ L1MuGMTScales() [2/2]

L1MuGMTScales::L1MuGMTScales ( int  nbitPackingReducedEta,
int  nbinsReducedEta,
const std::vector< double > &  scaleReducedEtaDT,
const std::vector< double > &  scaleReducedEtaBrlRPC,
const std::vector< double > &  scaleReducedEtaCSC,
const std::vector< double > &  scaleReducedEtaFwdRPC,
int  nbitPackingDeltaEta,
bool  signedPackingDeltaEta,
int  nbinsDeltaEta,
float  minDeltaEta,
float  maxDeltaEta,
int  offsetDeltaEta,
int  nbitPackingDeltaPhi,
bool  signedPackingDeltaPhi,
int  nbinsDeltaPhi,
float  minDeltaPhi,
float  maxDeltaPhi,
int  offsetDeltaPhi,
int  nbitPackingOvlEtaDT,
int  nbinsOvlEtaDT,
float  minOvlEtaDT,
float  maxOvlEtaDT,
int  nbitPackingOvlEtaCSC,
int  nbinsOvlEtaCSC,
float  minOvlEtaCSC,
float  maxOvlEtaCSC,
const std::vector< double > &  scaleOvlEtaRPC,
int  nbitPackingOvlEtaBrlRPC,
int  nbinsOvlEtaBrlRPC,
int  nbitPackingOvlEtaFwdRPC,
int  nbinsOvlEtaFwdRPC 
)
inline

Definition at line 39 of file L1MuGMTScales.h.

76  {
77  // used as a Singleton, the constructor is run when the GMT is first used.
78  //
79 
80  /* const float reducedetabins[4][9] = { */
81  /* { 0.00, 0.22, 0.27, 0.58, 0.77, 0.87, 0.92, 1.24, 1.3 }, // DT */
82  /* { 0.00, 0.06, 0.25, 0.41, 0.54, 0.70, 0.83, 0.93, 1.04}, // bRPC */
83  /* { 0.9, 1.06, 1.26, 1.46, 1.66, 1.86, 2.06, 2.26, 2.5 }, // CSC */
84  /* { 1.04, 1.24, 1.36, 1.48, 1.61, 1.73, 1.85, 1.97, 2.10} // fRPC */
85  /* }; */
86 
87  /* for (int i=0; i<4; i++) */
88  /* m_ReducedEtaScale[i] = L1MuSymmetricBinnedScale(4, 8, reducedetabins[i]); */
89 
94 
95  //
96  // Scales used in Matching Units
97  //
98  /* float deta_unit = 0.04; */
99  /* float deta_min = -7.5 * deta_unit; */
100  /* float deta_max = 7.5 * deta_unit; */
101  /* m_DeltaEtaScale[0] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-RPC */
102  /* m_DeltaEtaScale[1] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-RPC */
103  /* m_DeltaEtaScale[2] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-CSC */
104  /* m_DeltaEtaScale[3] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-DT */
105  /* m_DeltaEtaScale[4] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-bRPC */
106  /* m_DeltaEtaScale[5] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-fRPC */
107 
108  for (int i = 0; i < 6; ++i)
111 
112  // delta phi scale
113  // m_DeltaPhiScale = L1MuBinnedScale (3, true, 8, -11.25 * M_PI/180., 8.75 * M_PI/180.0, 4);
116 
117  //
118  // reduced eta scale for matching in the overlap region
119  //
120  // reserve highest code for Out Of Range
121  //
122  /* const float RpcOvlEtaBins[8] = { */
123  /* 0.72, 0.83, 0.93, 1.04, 1.14, 1.24, 1.36, 1.48 }; */
124 
125  /* m_OvlEtaScale[0] = L1MuSymmetricBinnedScale (4, 7, 1.3 * 18./32. , 1.3); // DT */
126  /* // FIXME **** dt scale: two original bins in one new bin */
127  /* // one-to-one mapping should be possible with new eta scale */
128 
129  /* m_OvlEtaScale[1] = L1MuSymmetricBinnedScale (4, 7, RpcOvlEtaBins) ; // bRPC */
130  /* m_OvlEtaScale[2] = L1MuSymmetricBinnedScale (4, 7, 0.9, 1.25); // CSC */
131  /* m_OvlEtaScale[3] = L1MuSymmetricBinnedScale (4, 7, RpcOvlEtaBins) ; // fRPC */
132 
134  maxOvlEtaDT); // DT
135  // FIXME **** dt scale: two original bins in one new bin
136  // one-to-one mapping should be possible with new eta scale
137 
139  scaleOvlEtaRPC); // bRPC
142  minOvlEtaCSC,
143  maxOvlEtaCSC); // CSC
145  scaleOvlEtaRPC); // fRPC
146 
147  //
148  /* float caloEtaBounds[15] = { */
149  /* -3.000, -2.172, -1.740, -1.392, -1.044, -0.696, -0.348, 0., */
150  /* 0.348, 0.696, 1.044, 1.392, 1.740, 2.172, 3.000 }; */
151 
152  /* std::vector<double> caloEtaBounds ; */
153  /* caloEtaBounds.push_back(-3.000) ; */
154  /* caloEtaBounds.push_back(-2.172) ; */
155  /* caloEtaBounds.push_back(-1.740) ; */
156  /* caloEtaBounds.push_back(-1.392) ; */
157  /* caloEtaBounds.push_back(-1.044) ; */
158  /* caloEtaBounds.push_back(-0.696) ; */
159  /* caloEtaBounds.push_back(-0.348) ; */
160  /* caloEtaBounds.push_back(0.) ; */
161  /* caloEtaBounds.push_back(0.348) ; */
162  /* caloEtaBounds.push_back(0.696) ; */
163  /* caloEtaBounds.push_back(1.044) ; */
164  /* caloEtaBounds.push_back(1.392) ; */
165  /* caloEtaBounds.push_back(1.740) ; */
166  /* caloEtaBounds.push_back(2.172) ; */
167  /* caloEtaBounds.push_back(3.000) ; */
168 
169  /* m_CaloEtaScale = L1MuBinnedScale (4, false, 14, caloEtaBounds); */
170  };

References mps_fire::i, m_DeltaEtaScale, m_DeltaPhiScale, m_OvlEtaScale, m_ReducedEtaScale, CommPDSkim_cfg::maxDeltaEta, CommPDSkim_cfg::maxDeltaPhi, L1MuGMTScales_cfi::maxOvlEtaCSC, L1MuGMTScales_cfi::maxOvlEtaDT, HLTInclusiveVBFSource_cfi::minDeltaEta, VBFGenJetFilter_cfi::minDeltaPhi, L1MuGMTScales_cfi::minOvlEtaCSC, L1MuGMTScales_cfi::minOvlEtaDT, L1MuGMTScales_cfi::nbinsDeltaEta, L1MuGMTScales_cfi::nbinsDeltaPhi, L1MuGMTScales_cfi::nbinsOvlEtaBrlRPC, L1MuGMTScales_cfi::nbinsOvlEtaCSC, L1MuGMTScales_cfi::nbinsOvlEtaDT, L1MuGMTScales_cfi::nbinsOvlEtaFwdRPC, L1MuGMTScales_cfi::nbinsReducedEta, L1MuGMTScales_cfi::nbitPackingDeltaEta, L1MuGMTScales_cfi::nbitPackingDeltaPhi, L1MuGMTScales_cfi::nbitPackingOvlEtaBrlRPC, L1MuGMTScales_cfi::nbitPackingOvlEtaCSC, L1MuGMTScales_cfi::nbitPackingOvlEtaDT, L1MuGMTScales_cfi::nbitPackingOvlEtaFwdRPC, L1MuGMTScales_cfi::nbitPackingReducedEta, L1MuGMTScales_cfi::offsetDeltaEta, L1MuGMTScales_cfi::offsetDeltaPhi, L1MuGMTScales_cfi::scaleOvlEtaRPC, L1MuGMTScales_cfi::scaleReducedEtaBrlRPC, L1MuGMTScales_cfi::scaleReducedEtaCSC, L1MuGMTScales_cfi::scaleReducedEtaDT, L1MuGMTScales_cfi::scaleReducedEtaFwdRPC, L1MuGMTScales_cfi::signedPackingDeltaEta, and L1MuGMTScales_cfi::signedPackingDeltaPhi.

◆ ~L1MuGMTScales()

virtual L1MuGMTScales::~L1MuGMTScales ( )
inlinevirtual

destructor

Definition at line 173 of file L1MuGMTScales.h.

173  {
174  // for (int i=0; i<4; i++) {
175  // delete m_ReducedEtaScale[i];
176  // delete m_OvlEtaScale[i];
177  // }
178  // for (int i=0; i<6; i++) {
179  // delete m_DeltaEtaScale[i];
180  // }
181 
182  // delete m_DeltaPhiScale;
183  // delete m_CaloEtaScale;
184  };

Member Function Documentation

◆ getDeltaEtaScale()

const L1MuScale* L1MuGMTScales::getDeltaEtaScale ( int  idx) const
inline

get the delta eta scale; idx = 0(DT=RPC), 1(CSC-RPC), 2(DT-CSC), 3(CSC-DT), 4(bRPC-CSC), 5(fRPC-DT)

Definition at line 194 of file L1MuGMTScales.h.

194  {
195  if (idx < 0 || idx > 5)
196  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << idx;
197  return &(m_DeltaEtaScale[idx]);
198  };

References heavyIonCSV_trainingSettings::idx, and m_DeltaEtaScale.

Referenced by L1MuScalesTester::analyze(), L1MuGMTLFDeltaEtaLUT::TheLookupFunction(), L1MuGMTLFCOUDeltaEtaLUT::TheLookupFunction(), and L1MuGMTLFMatchQualLUT::TheLookupFunction().

◆ getDeltaPhiScale()

const L1MuScale* L1MuGMTScales::getDeltaPhiScale ( ) const
inline

get the delta phi scale ( 3 bits)

Definition at line 201 of file L1MuGMTScales.h.

201 { return &m_DeltaPhiScale; };

References m_DeltaPhiScale.

Referenced by L1MuScalesTester::analyze(), and L1MuGMTLFMatchQualLUT::TheLookupFunction().

◆ getOvlEtaScale()

const L1MuScale* L1MuGMTScales::getOvlEtaScale ( int  isys) const
inline

get the overlap eta scale (4 bits); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC)

Definition at line 204 of file L1MuGMTScales.h.

204  {
205  if (isys < 0 || isys > 3)
206  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys;
207  return &(m_OvlEtaScale[isys]);
208  };

References m_OvlEtaScale.

Referenced by L1MuScalesTester::analyze(), L1MuGMTLFOvlEtaConvLUT::TheLookupFunction(), and L1MuGMTLFCOUDeltaEtaLUT::TheLookupFunction().

◆ getReducedEtaScale()

const L1MuScale* L1MuGMTScales::getReducedEtaScale ( int  isys) const
inline

get the recuced eta scale for matching in the overlap region (4 bit); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC)

Definition at line 187 of file L1MuGMTScales.h.

187  {
188  if (isys < 0 || isys > 3)
189  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys;
190  return &(m_ReducedEtaScale[isys]);
191  };

References m_ReducedEtaScale.

Referenced by L1MuScalesTester::analyze(), L1MuGMTLFPhiProEtaConvLUT::TheLookupFunction(), and L1MuGMTMIAUEtaConvLUT::TheLookupFunction().

◆ serialize()

template<class Archive >
void L1MuGMTScales::serialize ( Archive &  ar,
const unsigned int  version 
)
private

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 220 of file L1MuGMTScales.h.

◆ cond::serialization::access

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 220 of file L1MuGMTScales.h.

Member Data Documentation

◆ m_DeltaEtaScale

L1MuBinnedScale L1MuGMTScales::m_DeltaEtaScale[6]
private

Definition at line 215 of file L1MuGMTScales.h.

Referenced by getDeltaEtaScale(), and L1MuGMTScales().

◆ m_DeltaPhiScale

L1MuBinnedScale L1MuGMTScales::m_DeltaPhiScale
private

Definition at line 216 of file L1MuGMTScales.h.

Referenced by getDeltaPhiScale(), and L1MuGMTScales().

◆ m_OvlEtaScale

L1MuSymmetricBinnedScale L1MuGMTScales::m_OvlEtaScale[4]
private

Definition at line 217 of file L1MuGMTScales.h.

Referenced by getOvlEtaScale(), and L1MuGMTScales().

◆ m_ReducedEtaScale

L1MuSymmetricBinnedScale L1MuGMTScales::m_ReducedEtaScale[4]
private

Definition at line 208 of file L1MuGMTScales.h.

Referenced by getReducedEtaScale(), and L1MuGMTScales().

L1MuGMTScales_cfi.nbinsOvlEtaFwdRPC
nbinsOvlEtaFwdRPC
Definition: L1MuGMTScales_cfi.py:14
L1MuGMTScales_cfi.nbitPackingOvlEtaBrlRPC
nbitPackingOvlEtaBrlRPC
Definition: L1MuGMTScales_cfi.py:23
mps_fire.i
i
Definition: mps_fire.py:428
L1MuGMTScales_cfi.maxOvlEtaDT
maxOvlEtaDT
Definition: L1MuGMTScales_cfi.py:6
L1MuGMTScales::m_ReducedEtaScale
L1MuSymmetricBinnedScale m_ReducedEtaScale[4]
Definition: L1MuGMTScales.h:208
L1MuGMTScales::m_OvlEtaScale
L1MuSymmetricBinnedScale m_OvlEtaScale[4]
Definition: L1MuGMTScales.h:217
L1MuGMTScales_cfi.scaleReducedEtaBrlRPC
scaleReducedEtaBrlRPC
Definition: L1MuGMTScales_cfi.py:29
L1MuGMTScales_cfi.nbinsOvlEtaDT
nbinsOvlEtaDT
Definition: L1MuGMTScales_cfi.py:18
L1MuGMTScales::m_DeltaPhiScale
L1MuBinnedScale m_DeltaPhiScale
Definition: L1MuGMTScales.h:216
L1MuGMTScales_cfi.nbitPackingOvlEtaCSC
nbitPackingOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:7
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
L1MuGMTScales_cfi.scaleReducedEtaDT
scaleReducedEtaDT
Definition: L1MuGMTScales_cfi.py:8
L1MuGMTScales_cfi.scaleReducedEtaCSC
scaleReducedEtaCSC
Definition: L1MuGMTScales_cfi.py:13
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
L1MuGMTScales_cfi.nbitPackingOvlEtaFwdRPC
nbitPackingOvlEtaFwdRPC
Definition: L1MuGMTScales_cfi.py:10
CommPDSkim_cfg.maxDeltaEta
maxDeltaEta
Definition: CommPDSkim_cfg.py:75
L1MuGMTScales_cfi.minOvlEtaCSC
minOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:12
L1MuGMTScales_cfi.nbinsDeltaEta
nbinsDeltaEta
Definition: L1MuGMTScales_cfi.py:11
L1MuGMTScales_cfi.signedPackingDeltaPhi
signedPackingDeltaPhi
Definition: L1MuGMTScales_cfi.py:5
L1MuGMTScales_cfi.nbitPackingDeltaPhi
nbitPackingDeltaPhi
Definition: L1MuGMTScales_cfi.py:21
L1MuGMTScales_cfi.nbitPackingDeltaEta
nbitPackingDeltaEta
Definition: L1MuGMTScales_cfi.py:31
L1MuBinnedScale
Definition: L1MuScale.h:93
L1MuGMTScales::m_DeltaEtaScale
L1MuBinnedScale m_DeltaEtaScale[6]
Definition: L1MuGMTScales.h:215
L1MuGMTScales_cfi.nbinsDeltaPhi
nbinsDeltaPhi
Definition: L1MuGMTScales_cfi.py:24
L1MuGMTScales_cfi.minOvlEtaDT
minOvlEtaDT
Definition: L1MuGMTScales_cfi.py:33
HLTInclusiveVBFSource_cfi.minDeltaEta
minDeltaEta
Definition: HLTInclusiveVBFSource_cfi.py:20
L1MuSymmetricBinnedScale
Definition: L1MuScale.h:236
L1MuGMTScales_cfi.scaleReducedEtaFwdRPC
scaleReducedEtaFwdRPC
Definition: L1MuGMTScales_cfi.py:9
L1MuGMTScales_cfi.nbitPackingReducedEta
nbitPackingReducedEta
Definition: L1MuGMTScales_cfi.py:15
L1MuGMTScales_cfi.nbinsOvlEtaBrlRPC
nbinsOvlEtaBrlRPC
Definition: L1MuGMTScales_cfi.py:25
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
L1MuGMTScales_cfi.nbinsOvlEtaCSC
nbinsOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:30
L1MuGMTScales_cfi.nbitPackingOvlEtaDT
nbitPackingOvlEtaDT
Definition: L1MuGMTScales_cfi.py:34
L1MuGMTScales_cfi.offsetDeltaEta
offsetDeltaEta
Definition: L1MuGMTScales_cfi.py:22
L1MuGMTScales_cfi.offsetDeltaPhi
offsetDeltaPhi
Definition: L1MuGMTScales_cfi.py:19
L1MuGMTScales_cfi.nbinsReducedEta
nbinsReducedEta
Definition: L1MuGMTScales_cfi.py:20
L1MuGMTScales_cfi.scaleOvlEtaRPC
scaleOvlEtaRPC
Definition: L1MuGMTScales_cfi.py:16
L1MuGMTScales_cfi.signedPackingDeltaEta
signedPackingDeltaEta
Definition: L1MuGMTScales_cfi.py:17
VBFGenJetFilter_cfi.minDeltaPhi
minDeltaPhi
Definition: VBFGenJetFilter_cfi.py:13
L1MuGMTScales_cfi.maxOvlEtaCSC
maxOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:28