CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1MuTriggerScales.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // \class L1MuTriggerScales
4 //
10 //
11 // $Date: 2008/11/24 10:26:31 $
12 // $Revision: 1.5 $
13 //
14 // Original Author :
15 // Hannes Sakulin HEPHY / Vienna
16 //
17 // Migrated to CMSSW:
18 // I. Mikulec
19 //
20 //--------------------------------------------------
21 #ifndef CondFormatsL1TObjects_L1MuTriggerScales_h
22 #define CondFormatsL1TObjects_L1MuTriggerScales_h
23 
25 
26 #include <cmath>
27 #include <iostream>
28 #include <vector>
29 
32 
34 public:
37 
38  L1MuTriggerScales(int nbitPackingDTEta,
39  bool signedPackingDTEta,
40  int nbinsDTEta,
41  float minDTEta,
42  float maxDTEta,
43  int offsetDTEta,
44 
45  int nbitPackingCSCEta,
46  int nbinsCSCEta,
47  float minCSCEta,
48  float maxCSCEta,
49 
50  const std::vector<double>& scaleRPCEta,
51  int nbitPackingBrlRPCEta,
52  bool signedPackingBrlRPCEta,
53  int nbinsBrlRPCEta,
54  int offsetBrlRPCEta,
55  int nbitPackingFwdRPCEta,
56  bool signedPackingFwdRPCEta,
57  int nbinsFwdRPCEta,
58  int offsetFwdRPCEta,
59 
60  int nbitPackingGMTEta,
61  int nbinsGMTEta,
62  const std::vector<double>& scaleGMTEta,
63 
64  int nbitPackingPhi,
65  bool signedPackingPhi,
66  int nbinsPhi,
67  float minPhi,
68  float maxPhi
69 
70  /* int nbitPackingPt, */
71  /* bool signedPackingPt, */
72  /* int nbinsPt, */
73  /* const std::vector<double>& scalePt */
74 
75  ) {
76  //
77  // Regional Muon Trigger Eta Scales
78  //
79  /* const float rpcetabins[34]= { */
80  /* -2.10, -1.97, -1.85, -1.73, -1.61, -1.48, */
81  /* -1.36, -1.24, -1.14, -1.04, -0.93, -0.83, */
82  /* -0.72, -0.58, -0.44, -0.27, -0.07, */
83  /* 0.07, 0.27, 0.44, 0.58, 0.72, */
84  /* 0.83, 0.93, 1.04, 1.14, 1.24, 1.36, */
85  /* 1.48, 1.61, 1.73, 1.85, 1.97, 2.10}; */
86 
87  // DT
88  //m_RegionalEtaScale[0] = L1MuBinnedScale( 6, true, 64, -1.2, 1.2, 32);
90  L1MuBinnedScale(nbitPackingDTEta, signedPackingDTEta, nbinsDTEta, minDTEta, maxDTEta, offsetDTEta);
91 
92  // RPC index -16 .. 16, brl RPC
93  // m_RegionalEtaScale[1] = L1MuBinnedScale (6, true, 33, rpcetabins, 16);
95  L1MuBinnedScale(nbitPackingBrlRPCEta, signedPackingBrlRPCEta, nbinsBrlRPCEta, scaleRPCEta, offsetBrlRPCEta);
96 
97  // CSC
99  // // m_RegionalEtaScale[2] = L1MuSymmetricBinnedScale ( 6, 32, 0.9, 2.5);
100  // m_RegionalEtaScaleCSC = L1MuSymmetricBinnedScale ( 6, 32, 0.9, 2.5);
101  m_RegionalEtaScaleCSC = L1MuSymmetricBinnedScale(nbitPackingCSCEta, nbinsCSCEta, minCSCEta, maxCSCEta);
102 
103  // RPC index -16 .. 16, fwd RPC
104  // m_RegionalEtaScale[3] = L1MuBinnedScale (6, true, 33, rpcetabins, 16);
105  m_RegionalEtaScale[3] =
106  L1MuBinnedScale(nbitPackingFwdRPCEta, signedPackingFwdRPCEta, nbinsFwdRPCEta, scaleRPCEta, offsetFwdRPCEta);
107 
108  //
109  // Eta scale at GMT output
110  //
111 
112  /* const float gmt_outputetascale[32] = { 0.00, */
113  /* 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, */
114  /* 0.90, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60, */
115  /* 1.70, 1.75, 1.80, 1.85, 1.90, 1.95, 2.00, 2.05, */
116  /* 2.10, 2.15, 2.20, 2.25, 2.30, 2.35, 2.40 }; */
117 
118  // m_GMTEtaScale = L1MuSymmetricBinnedScale (6, 31, gmt_outputetascale);
119  m_GMTEtaScale = L1MuSymmetricBinnedScale(nbitPackingGMTEta, nbinsGMTEta, scaleGMTEta);
120 
121  //
122  // Phi Scale. Common to all Regioanl Muon Triggers and GMT
123  //
124 
125  // m_PhiScale = L1MuBinnedScale (8, false, 144, 0., 2. * M_PI);
126  m_PhiScale = L1MuBinnedScale(nbitPackingPhi, signedPackingPhi, nbinsPhi, minPhi, maxPhi);
127 
128  //
129  // Pt Scale. Common to all Regioanl Muon Triggers and GMT
130  //
131 
132  // pt scale in GeV
133  // low edges of pt bins
134  /* const float ptscale[33] = { */
135  /* -1., 0.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, */
136  /* 4.5, 5.0, 6.0, 7.0, 8.0, 10.0, 12.0, 14.0, */
137  /* 16.0, 18.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, */
138  /* 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 140.0, 1.E6 }; */
139 
140  // m_PtScale = L1MuBinnedScale ( 5, false, 32, ptscale) ;
141  /* m_PtScale = L1MuBinnedScale ( nbitPackingPt, */
142  /* signedPackingPt, */
143  /* nbinsPt, */
144  /* scalePt ) ; */
145  };
146 
149  // for (int i=0; i<4; i++)
150  // delete m_RegionalEtaScale[i];
151 
152  // delete m_GMTEtaScale;
153  // delete m_PhiScale;
154  // delete m_PtScale;
155  };
156 
158  const L1MuScale* getRegionalEtaScale(int isys) const {
159  if (isys < 0 || isys > 3)
160  edm::LogWarning("ScaleRangeViolation") << "Error in L1MuTriggerScales:: isys out of range: " << isys;
161  if (isys == 2) {
162  return &m_RegionalEtaScaleCSC;
163  } else {
164  return &(m_RegionalEtaScale[isys]);
165  }
166  };
167 
169  const L1MuScale* getGMTEtaScale() const { return &m_GMTEtaScale; };
170 
173 
175  const L1MuScale* getPhiScale() const { return &m_PhiScale; };
176 
179 
180  /* /// get the Pt scale */
181  /* const L1MuScale* getPtScale() const { return &m_PtScale;}; */
182 
183 private:
184  L1MuBinnedScale m_RegionalEtaScale[4]; // 2=csc will be empty
188  // L1MuBinnedScale m_PtScale;
189 
191 };
192 
193 #endif
L1MuBinnedScale m_PhiScale
void setGMTEtaScale(const L1MuSymmetricBinnedScale &scale)
set the GMT eta scale
L1MuBinnedScale m_RegionalEtaScale[4]
virtual ~L1MuTriggerScales()
destructor
L1MuTriggerScales(int nbitPackingDTEta, bool signedPackingDTEta, int nbinsDTEta, float minDTEta, float maxDTEta, int offsetDTEta, int nbitPackingCSCEta, int nbinsCSCEta, float minCSCEta, float maxCSCEta, const std::vector< double > &scaleRPCEta, int nbitPackingBrlRPCEta, bool signedPackingBrlRPCEta, int nbinsBrlRPCEta, int offsetBrlRPCEta, int nbitPackingFwdRPCEta, bool signedPackingFwdRPCEta, int nbinsFwdRPCEta, int offsetFwdRPCEta, int nbitPackingGMTEta, int nbinsGMTEta, const std::vector< double > &scaleGMTEta, int nbitPackingPhi, bool signedPackingPhi, int nbinsPhi, float minPhi, float maxPhi)
const L1MuScale * getPhiScale() const
get the phi scale
void setPhiScale(const L1MuBinnedScale &scale)
set the phi scale
L1MuTriggerScales()
constructor
#define COND_SERIALIZABLE
Definition: Serializable.h:39
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
L1MuSymmetricBinnedScale m_GMTEtaScale
L1MuSymmetricBinnedScale m_RegionalEtaScaleCSC
const L1MuScale * getGMTEtaScale() const
get the GMT eta scale
Log< level::Warning, false > LogWarning