8 #define m_pi 3.14159265358979
16 std::ostringstream ostr;
23 while (pt <
m_pts[ipt]) {
33 std::ostringstream ostr;
43 int iabsitow = (atower >= 0) ? atower : -atower;
49 std::string msg =
"[RPCConst::etaFromTowerNum] iabsitow>ITOW_MAX for m_tower:";
50 std::ostringstream ostr;
57 return (atower >= 0) ? eta : -
eta;
62 double abseta = (eta >= 0.) ? eta : -
eta;
64 if (
m_etas[m_tower] <= abseta && abseta <
m_etas[m_tower + 1])
70 return (eta >= 0) ? m_tower : -m_tower;
75 return (phi < 2. *
m_pi) ? phi : phi - 2. *
m_pi;
79 int iseg = logSegment * 12 + logSector;
81 return (phi < 2. *
m_pi) ? phi : phi - 2. *
m_pi;
110 const double lum = 2.0e33;
111 const double dabseta = 1.0;
112 const double dpt = 1.0;
113 const double afactor = 1.0e-34 * lum * dabseta * dpt;
114 const double a = 2 * 1.3084E6;
115 const double mu = -0.725;
116 const double sigma = 0.4333;
117 const double s2 = 2 * sigma * sigma;
120 ptlog10 = log10(pt_ev);
121 double ex = (ptlog10 -
mu) * (ptlog10 - mu) / s2;
122 double rate = (a *
exp(-ex) * afactor);
135 rate = rate * (etaTo - etaFrom);
161 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5., 6., 7., 8., 10., 12., 14., 16.,
162 18., 20., 25., 30., 35., 40., 45., 50., 60., 70., 80., 90., 100., 120., 140.};
167 0.00, 0.07, 0.27, 0.44, 0.58, 0.72, 0.83, 0.93, 1.04, 1.14, 1.24, 1.36, 1.48, 1.61, 1.73, 1.85, 1.97, 2.10};
172 "m_LOGPLANE1",
"m_LOGPLANE2",
"m_LOGPLANE3",
"m_LOGPLANE4",
"m_LOGPLANE5",
"m_LOGPLANE6"};
176 {72, 56, 8, 40, 40, 24},
177 {72, 56, 8, 40, 40, 24},
178 {72, 56, 8, 40, 40, 24},
179 {72, 56, 8, 40, 40, 24},
180 {72, 56, 8, 40, 40, 24},
181 {72, 56, 40, 8, 40, 24},
182 {56, 72, 40, 8, 24, 0},
183 {72, 56, 40, 8, 24, 0},
184 {72, 24, 40, 8, 0, 0},
185 {72, 8, 40, 0, 0, 0},
186 {72, 8, 40, 24, 0, 0},
187 {72, 8, 40, 24, 0, 0},
188 {72, 8, 40, 24, 0, 0},
189 {72, 8, 40, 24, 0, 0},
190 {72, 8, 40, 24, 0, 0},
191 {72, 8, 40, 24, 0, 0},
192 {72, 8, 40, 24, 0, 0}
195 const int RPCConst::m_VLPT_PLANES_COUNT[m_TOWER_COUNT] = {4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3};
256 for (
unsigned int i = 0;
i < str.size();
i++)
257 if (str[
i] <
'0' || str[
i] >
'9')
258 throw RPCException(
"Error in stringToInt(): the string cannot be converted to a number");
260 return atoi(str.c_str());
274 sprintf(tmp,
"%d", number);
static const int m_USED_PLANES_COUNT[m_TOWER_COUNT]
m_Number of Logic Planes existing in each m_Tower.
static const int m_VLPT_PLANES_COUNT[m_TOWER_COUNT]
m_Number of Logic Planes used for Very Low Pt patterns.
Offset of the first trigger phi sector [deg].
The coordinates of Logic Cone: m_Tower, m_LogSector, m_LogSegment.
bool operator<(const l1RpcConeCrdnts &cone) const
static const int m_REF_PLANE[m_TOWER_COUNT]
Definition of Referenece Plane for each m_Tower.
bool operator==(const l1RpcConeCrdnts &cone) const
Exp< T >::type exp(const T &t)
static double vxMuRate(int ptCode)
static const std::string m_LOGPLANE_STR[]
Log Planes names.
static double phiFromLogSegSec(const int logSegment, const int logSector)
std::string intToString(int number)
Converts inteager number to string.
Maximal number of abs(m_tower_number)
Abs< T >::type abs(const T &t)
static const double m_etas[RPCConst::ITOW_MAX+2]
static const unsigned int m_LOGPLANE_SIZE[m_TOWER_COUNT][m_LOGPLANES_COUNT]
Definition of Logic Cone Sizes - number of Logic m_Strips in each plane.
static double phiFromSegmentNum(const int iseg)
static double ptFromIpt(const int ipt)
static const int m_LOGPLANES_COUNT
Max Logic Planes Count in trigger towers.
static double etaFromTowerNum(const int atower)
static int segmentNumFromPhi(const double phi)
static double vxIntegMuRate(int ptCode, double etaFrom, double etaTo)
static const double m_pts[RPCConst::IPT_MAX+1]
static int towerNumFromEta(const double eta)
static int iptFromPt(const double pt)
int stringToInt(std::string str)
Converts string to inteager number. If string contains chars, that are not digits, throws RPCException.