#include <CondFormats/L1TObjects/interface/L1MuGMTScales.h>
Public Member Functions | |
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), 5(fRPC-DT) | |
const L1MuScale * | getDeltaPhiScale () const |
get the delta phi scale ( 3 bits) | |
const L1MuScale * | getOvlEtaScale (int isys) const |
get the overlap eta scale (4 bits); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) | |
const L1MuScale * | getReducedEtaScale (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) | |
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) | |
L1MuGMTScales () | |
constructor | |
virtual | ~L1MuGMTScales () |
destructor | |
Private Attributes | |
L1MuBinnedScale | m_DeltaEtaScale [6] |
L1MuBinnedScale | m_DeltaPhiScale |
L1MuSymmetricBinnedScale | m_OvlEtaScale [4] |
L1MuSymmetricBinnedScale | m_ReducedEtaScale [4] |
An automatic check is done for the calo eta scales.
Definition at line 32 of file L1MuGMTScales.h.
L1MuGMTScales::L1MuGMTScales | ( | ) | [inline] |
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 38 of file L1MuGMTScales.h.
References i, m_DeltaEtaScale, m_DeltaPhiScale, m_OvlEtaScale, and m_ReducedEtaScale.
00075 { 00076 00077 // used as a Singleton, the constructor is run when the GMT is first used. 00078 // 00079 00080 00081 /* const float reducedetabins[4][9] = { */ 00082 /* { 0.00, 0.22, 0.27, 0.58, 0.77, 0.87, 0.92, 1.24, 1.3 }, // DT */ 00083 /* { 0.00, 0.06, 0.25, 0.41, 0.54, 0.70, 0.83, 0.93, 1.04}, // bRPC */ 00084 /* { 0.9, 1.06, 1.26, 1.46, 1.66, 1.86, 2.06, 2.26, 2.5 }, // CSC */ 00085 /* { 1.04, 1.24, 1.36, 1.48, 1.61, 1.73, 1.85, 1.97, 2.10} // fRPC */ 00086 /* }; */ 00087 00088 /* for (int i=0; i<4; i++) */ 00089 /* m_ReducedEtaScale[i] = L1MuSymmetricBinnedScale(4, 8, reducedetabins[i]); */ 00090 00091 m_ReducedEtaScale[0] = L1MuSymmetricBinnedScale( nbitPackingReducedEta, 00092 nbinsReducedEta, 00093 scaleReducedEtaDT ) ; 00094 m_ReducedEtaScale[1] = L1MuSymmetricBinnedScale( nbitPackingReducedEta, 00095 nbinsReducedEta, 00096 scaleReducedEtaBrlRPC ) ; 00097 m_ReducedEtaScale[2] = L1MuSymmetricBinnedScale( nbitPackingReducedEta, 00098 nbinsReducedEta, 00099 scaleReducedEtaCSC ) ; 00100 m_ReducedEtaScale[3] = L1MuSymmetricBinnedScale( nbitPackingReducedEta, 00101 nbinsReducedEta, 00102 scaleReducedEtaFwdRPC ) ; 00103 00104 // 00105 // Scales used in Matching Units 00106 // 00107 /* float deta_unit = 0.04; */ 00108 /* float deta_min = -7.5 * deta_unit; */ 00109 /* float deta_max = 7.5 * deta_unit; */ 00110 /* m_DeltaEtaScale[0] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-RPC */ 00111 /* m_DeltaEtaScale[1] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-RPC */ 00112 /* m_DeltaEtaScale[2] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-CSC */ 00113 /* m_DeltaEtaScale[3] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-DT */ 00114 /* m_DeltaEtaScale[4] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // CSC-bRPC */ 00115 /* m_DeltaEtaScale[5] = L1MuBinnedScale (4, true, 15, deta_min, deta_max, 7); // DT-fRPC */ 00116 00117 for( int i = 0 ; i < 6 ; ++i ) 00118 m_DeltaEtaScale[i] = L1MuBinnedScale( nbitPackingDeltaEta, 00119 signedPackingDeltaEta, 00120 nbinsDeltaEta, 00121 minDeltaEta, 00122 maxDeltaEta, 00123 offsetDeltaEta ) ; 00124 00125 // delta phi scale 00126 // m_DeltaPhiScale = L1MuBinnedScale (3, true, 8, -11.25 * M_PI/180., 8.75 * M_PI/180.0, 4); 00127 m_DeltaPhiScale = L1MuBinnedScale( nbitPackingDeltaPhi, 00128 signedPackingDeltaPhi, 00129 nbinsDeltaPhi, 00130 minDeltaPhi, 00131 maxDeltaPhi, 00132 offsetDeltaPhi ) ; 00133 00134 // 00135 // reduced eta scale for matching in the overlap region 00136 // 00137 // reserve highest code for Out Of Range 00138 // 00139 /* const float RpcOvlEtaBins[8] = { */ 00140 /* 0.72, 0.83, 0.93, 1.04, 1.14, 1.24, 1.36, 1.48 }; */ 00141 00142 /* m_OvlEtaScale[0] = L1MuSymmetricBinnedScale (4, 7, 1.3 * 18./32. , 1.3); // DT */ 00143 /* // FIXME **** dt scale: two original bins in one new bin */ 00144 /* // one-to-one mapping should be possible with new eta scale */ 00145 00146 /* m_OvlEtaScale[1] = L1MuSymmetricBinnedScale (4, 7, RpcOvlEtaBins) ; // bRPC */ 00147 /* m_OvlEtaScale[2] = L1MuSymmetricBinnedScale (4, 7, 0.9, 1.25); // CSC */ 00148 /* m_OvlEtaScale[3] = L1MuSymmetricBinnedScale (4, 7, RpcOvlEtaBins) ; // fRPC */ 00149 00150 m_OvlEtaScale[0] = L1MuSymmetricBinnedScale (nbitPackingOvlEtaDT, 00151 nbinsOvlEtaDT, 00152 minOvlEtaDT, 00153 maxOvlEtaDT); // DT 00154 // FIXME **** dt scale: two original bins in one new bin 00155 // one-to-one mapping should be possible with new eta scale 00156 00157 m_OvlEtaScale[1] = L1MuSymmetricBinnedScale (nbitPackingOvlEtaBrlRPC, 00158 nbinsOvlEtaBrlRPC, 00159 scaleOvlEtaRPC) ; // bRPC 00160 m_OvlEtaScale[2] = L1MuSymmetricBinnedScale (nbitPackingOvlEtaCSC, 00161 nbinsOvlEtaCSC, 00162 minOvlEtaCSC, 00163 maxOvlEtaCSC); // CSC 00164 m_OvlEtaScale[3] = L1MuSymmetricBinnedScale (nbitPackingOvlEtaFwdRPC, 00165 nbinsOvlEtaFwdRPC, 00166 scaleOvlEtaRPC) ; // fRPC 00167 00168 // 00169 /* float caloEtaBounds[15] = { */ 00170 /* -3.000, -2.172, -1.740, -1.392, -1.044, -0.696, -0.348, 0., */ 00171 /* 0.348, 0.696, 1.044, 1.392, 1.740, 2.172, 3.000 }; */ 00172 00173 /* std::vector<double> caloEtaBounds ; */ 00174 /* caloEtaBounds.push_back(-3.000) ; */ 00175 /* caloEtaBounds.push_back(-2.172) ; */ 00176 /* caloEtaBounds.push_back(-1.740) ; */ 00177 /* caloEtaBounds.push_back(-1.392) ; */ 00178 /* caloEtaBounds.push_back(-1.044) ; */ 00179 /* caloEtaBounds.push_back(-0.696) ; */ 00180 /* caloEtaBounds.push_back(-0.348) ; */ 00181 /* caloEtaBounds.push_back(0.) ; */ 00182 /* caloEtaBounds.push_back(0.348) ; */ 00183 /* caloEtaBounds.push_back(0.696) ; */ 00184 /* caloEtaBounds.push_back(1.044) ; */ 00185 /* caloEtaBounds.push_back(1.392) ; */ 00186 /* caloEtaBounds.push_back(1.740) ; */ 00187 /* caloEtaBounds.push_back(2.172) ; */ 00188 /* caloEtaBounds.push_back(3.000) ; */ 00189 00190 /* m_CaloEtaScale = L1MuBinnedScale (4, false, 14, caloEtaBounds); */ 00191 };
virtual L1MuGMTScales::~L1MuGMTScales | ( | ) | [inline, virtual] |
destructor
Definition at line 194 of file L1MuGMTScales.h.
00194 { 00195 // for (int i=0; i<4; i++) { 00196 // delete m_ReducedEtaScale[i]; 00197 // delete m_OvlEtaScale[i]; 00198 // } 00199 // for (int i=0; i<6; i++) { 00200 // delete m_DeltaEtaScale[i]; 00201 // } 00202 00203 // delete m_DeltaPhiScale; 00204 // delete m_CaloEtaScale; 00205 };
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 214 of file L1MuGMTScales.h.
References m_DeltaEtaScale.
Referenced by L1MuGMTLFDeltaEtaLUT::TheLookupFunction(), L1MuGMTLFMatchQualLUT::TheLookupFunction(), and L1MuGMTLFCOUDeltaEtaLUT::TheLookupFunction().
00214 { 00215 if (idx<0 || idx>5) edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << idx; 00216 return &( m_DeltaEtaScale[idx] ); 00217 };
const L1MuScale* L1MuGMTScales::getDeltaPhiScale | ( | ) | const [inline] |
get the delta phi scale ( 3 bits)
Definition at line 220 of file L1MuGMTScales.h.
References m_DeltaPhiScale.
Referenced by L1MuGMTLFMatchQualLUT::TheLookupFunction().
00220 { return &m_DeltaPhiScale; };
get the overlap eta scale (4 bits); isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC)
Definition at line 223 of file L1MuGMTScales.h.
References m_OvlEtaScale.
Referenced by L1MuGMTLFOvlEtaConvLUT::TheLookupFunction(), and L1MuGMTLFCOUDeltaEtaLUT::TheLookupFunction().
00223 { 00224 if (isys<0 || isys>3) edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys; 00225 return &( m_OvlEtaScale[isys] ); 00226 };
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 208 of file L1MuGMTScales.h.
References m_ReducedEtaScale.
Referenced by L1MuGMTLFPhiProEtaConvLUT::TheLookupFunction(), and L1MuGMTMIAUEtaConvLUT::TheLookupFunction().
00208 { 00209 if (isys<0 || isys>3) edm::LogWarning("GMTScaleRangeViolation") << "Error in L1MuGMTScales:: isys out of range: " << isys; 00210 return &( m_ReducedEtaScale[isys] ); 00211 };
L1MuBinnedScale L1MuGMTScales::m_DeltaEtaScale[6] [private] |
Definition at line 235 of file L1MuGMTScales.h.
Referenced by getDeltaEtaScale(), and L1MuGMTScales().
Definition at line 236 of file L1MuGMTScales.h.
Referenced by getDeltaPhiScale(), and L1MuGMTScales().
L1MuSymmetricBinnedScale L1MuGMTScales::m_OvlEtaScale[4] [private] |
Definition at line 237 of file L1MuGMTScales.h.
Referenced by getOvlEtaScale(), and L1MuGMTScales().
L1MuSymmetricBinnedScale L1MuGMTScales::m_ReducedEtaScale[4] [private] |
Definition at line 226 of file L1MuGMTScales.h.
Referenced by getReducedEtaScale(), and L1MuGMTScales().