14 : setup_(&
setup), sm_(sm), ttStubRef_(ttStubRef), hybrid_(iConfig.getParameter<
bool>(
"UseHybrid")),
valid_(
true) {
36 d_ = sm->
r() + y * sm->
sin();
46 const double phi0 = sm->
phi() + atan2(x0,
d_);
47 const double phi1 = sm->
phi() + atan2(
x1,
d_);
48 const double c = (phi0 + phi1) / 2.;
49 const double m = (phi1 - phi0) /
setup.dtcNumMergedRows();
62 const double zT =
setup.chosenRofZ() *
z_ /
r_;
64 const double dZT =
setup.beamWindowZ() *
abs(1. -
setup.chosenRofZ() /
r_);
65 double zTMin = zT - dZT;
66 double zTMax = zT + dZT;
67 if (zTMin >=
setup.maxZT() || zTMax < -
setup.maxZT())
86 const double qOverPt =
bend_ *
setup.baseBend() * qOverPtOverBend;
88 const double dQoverPt =
setup.bendCut() * qOverPtOverBend;
90 const double maxQoverPt =
setup.invPtToDphi() /
minPt -
setup.dtcBaseQoverPt() / 2.;
91 double qOverPtMin =
digi(qOverPt - dQoverPt,
setup.dtcBaseQoverPt());
92 double qOverPtMax =
digi(qOverPt + dQoverPt,
setup.dtcBaseQoverPt());
93 if (qOverPtMin >= maxQoverPt || qOverPtMax < -maxQoverPt)
97 qOverPtMin =
max(qOverPtMin, -maxQoverPt);
98 qOverPtMax =
min(qOverPtMax, maxQoverPt);
101 qOverPt_ = {qOverPtMin, qOverPtMax};
112 if (
phiT_.first < 0.)
114 if (
phiT_.second >= 0.)
133 const auto pos =
find(encodingBend.begin(), encodingBend.end(),
abs(
bend_));
134 const int uBend =
distance(encodingBend.begin(),
pos);
160 const TTBV hwValid(1, 1);
162 return TTDTC::BV(hwGap.str() + hwR.str() + hwZ.str() + hwPhi.str() + hwAlpha.str() + hwBend.str() + hwLayer.str() +
173 else if (layerM == 2)
175 else if (layerM == 6 || layerM == 11)
177 else if (layerM == 5 || layerM == 12)
179 else if (layerM == 4 || layerM == 13)
181 else if (layerM == 14)
183 else if (layerM == 3 || layerM == 15)
187 if (
phiT_.first < 0.) {
195 if (
phiT_.second >= 0.) {
207 setcorEta.first =
bin;
210 for (
int bin = setcorEta.first; bin < setup_->numSectorsEta();
bin++)
212 setcorEta.second =
bin;
218 const TTBV hwValid(1, 1);
232 return TTDTC::BV(hwGap.str() + hwValid.
str() + hwR.str() + hwPhi.str() + hwZ.str() + hwQoverPtMin.str() +
233 hwQoverPtMax.str() + hwSectorEtaMin.str() + hwSectorEtaMax.str() + hwSectorPhis.str() +