CMS 3D CMS Logo

L1MuGMTScales.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // \class L1MuGMTScales
4 //
10 //
11 // $Date: 2007/03/23 15:22:01 $
12 // $Revision: 1.1 $
13 //
14 //
15 // Original Author :
16 // Hannes Sakulin HEPHY / Vienna
17 //
18 // Migrated to CMSSW:
19 // I. Mikulec
20 //
21 //--------------------------------------------------
22 #ifndef CondFormatsL1TObjects_L1MuGMTScales_h
23 #define CondFormatsL1TObjects_L1MuGMTScales_h
24 
26 
27 #include <cmath>
28 #include <iostream>
29 
31 
33 
35 public:
38 
40  int nbinsReducedEta,
41  const std::vector<double>& scaleReducedEtaDT,
42  const std::vector<double>& scaleReducedEtaBrlRPC,
43  const std::vector<double>& scaleReducedEtaCSC,
44  const std::vector<double>& scaleReducedEtaFwdRPC,
45 
48  int nbinsDeltaEta,
49  float minDeltaEta,
50  float maxDeltaEta,
51  int offsetDeltaEta,
52 
55  int nbinsDeltaPhi,
56  float minDeltaPhi,
57  float maxDeltaPhi,
58  int offsetDeltaPhi,
59 
61  int nbinsOvlEtaDT,
62  float minOvlEtaDT,
63  float maxOvlEtaDT,
64 
66  int nbinsOvlEtaCSC,
67  float minOvlEtaCSC,
68  float maxOvlEtaCSC,
69 
70  const std::vector<double>& scaleOvlEtaRPC,
75 
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  };
171 
173  virtual ~L1MuGMTScales(){
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  };
185 
187  const L1MuScale* getReducedEtaScale(int isys) const {
188  if (isys < 0 || isys > 3)
189  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys;
190  return &(m_ReducedEtaScale[isys]);
191  };
192 
194  const L1MuScale* getDeltaEtaScale(int idx) const {
195  if (idx < 0 || idx > 5)
196  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << idx;
197  return &(m_DeltaEtaScale[idx]);
198  };
199 
201  const L1MuScale* getDeltaPhiScale() const { return &m_DeltaPhiScale; };
202 
204  const L1MuScale* getOvlEtaScale(int isys) const {
205  if (isys < 0 || isys > 3)
206  edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys;
207  return &(m_OvlEtaScale[isys]);
208  };
209 
210  /* /// get the calorimeter eta scale */
211  /* const L1MuScale *getCaloEtaScale() const { return &m_CaloEtaScale;}; */
212 
213 private:
218  /* L1MuBinnedScale m_CaloEtaScale; */
219 
221 };
222 
223 #endif
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
MessageLogger.h
L1MuGMTScales_cfi.maxOvlEtaDT
maxOvlEtaDT
Definition: L1MuGMTScales_cfi.py:6
L1MuGMTScales::L1MuGMTScales
L1MuGMTScales()
constructor
Definition: L1MuGMTScales.h:37
L1MuScale
Definition: L1MuScale.h:38
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition: Serializable.h:39
L1MuGMTScales::m_ReducedEtaScale
L1MuSymmetricBinnedScale m_ReducedEtaScale[4]
Definition: L1MuGMTScales.h:208
L1MuGMTScales::m_OvlEtaScale
L1MuSymmetricBinnedScale m_OvlEtaScale[4]
Definition: L1MuGMTScales.h:217
L1MuGMTScales
Definition: L1MuGMTScales.h:34
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
L1MuScale.h
L1MuGMTScales_cfi.nbitPackingOvlEtaFwdRPC
nbitPackingOvlEtaFwdRPC
Definition: L1MuGMTScales_cfi.py:10
CommPDSkim_cfg.maxDeltaEta
maxDeltaEta
Definition: CommPDSkim_cfg.py:75
L1MuGMTScales::getOvlEtaScale
const L1MuScale * getOvlEtaScale(int isys) const
get the overlap eta scale (4 bits); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC)
Definition: L1MuGMTScales.h:204
L1MuGMTScales::getReducedEtaScale
const L1MuScale * getReducedEtaScale(int isys) const
get the recuced eta scale for matching in the overlap region (4 bit); isys = 0(DT),...
Definition: L1MuGMTScales.h:187
L1MuGMTScales_cfi.minOvlEtaCSC
minOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:12
L1MuGMTScales_cfi.nbinsDeltaEta
nbinsDeltaEta
Definition: L1MuGMTScales_cfi.py:11
L1MuGMTScales::getDeltaEtaScale
const L1MuScale * getDeltaEtaScale(int idx) const
get the delta eta scale; idx = 0(DT=RPC), 1(CSC-RPC), 2(DT-CSC), 3(CSC-DT), 4(bRPC-CSC),...
Definition: L1MuGMTScales.h:194
Serializable.h
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
L1MuGMTScales::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)
Definition: L1MuGMTScales.h:39
L1MuGMTScales::~L1MuGMTScales
virtual ~L1MuGMTScales()
destructor
Definition: L1MuGMTScales.h:173
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
L1MuGMTScales_cfi.nbinsOvlEtaCSC
nbinsOvlEtaCSC
Definition: L1MuGMTScales_cfi.py:30
L1MuGMTScales::getDeltaPhiScale
const L1MuScale * getDeltaPhiScale() const
get the delta phi scale ( 3 bits)
Definition: L1MuGMTScales.h:201
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