CMS 3D CMS Logo

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 
39  bool signedPackingDTEta,
40  int nbinsDTEta,
41  float minDTEta,
42  float maxDTEta,
43  int offsetDTEta,
44 
46  int nbinsCSCEta,
47  float minCSCEta,
48  float maxCSCEta,
49 
50  const std::vector<double>& scaleRPCEta,
53  int nbinsBrlRPCEta,
54  int offsetBrlRPCEta,
57  int nbinsFwdRPCEta,
58  int offsetFwdRPCEta,
59 
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
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 )
void setGMTEtaScale(const L1MuSymmetricBinnedScale &scale)
set the GMT eta scale
L1MuBinnedScale m_RegionalEtaScale[4]
virtual ~L1MuTriggerScales()
destructor
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:38
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