13 HybridFit::HybridFit(
unsigned int iSector,
Settings const& settings,
Globals* globals) : settings_(settings) {
20 vector<const L1TStub*> l1stubsFromFitTrack;
21 for (
unsigned int k = 0;
k < trackstublist.size();
k++) {
22 const L1TStub* L1stub = trackstublist[
k]->l1tstub();
23 l1stubsFromFitTrack.push_back(L1stub);
51 std::vector<tmtt::Stub*> TMTTstubs;
52 std::map<unsigned int, const L1TStub*> L1StubIndices;
53 unsigned int L1stubID = 0;
55 if (
globals_->tmttSettings() ==
nullptr) {
58 globals_->tmttSettings() = make_unique<tmtt::Settings>();
66 for (
unsigned int k = 0;
k < trackstublist.size();
k++) {
67 const L1TStub* L1stubptr = trackstublist[
k]->l1tstub();
69 double kfphi = L1stubptr->
phi();
70 double kfr = L1stubptr->
r();
71 double kfz = L1stubptr->
z();
72 double kfbend = L1stubptr->
bend();
74 unsigned int iphi = L1stubptr->
iphi();
76 bool isTilted = L1stubptr->
isTilted();
82 kflayer = L1stubptr->
layer() + 1;
86 kflayer =
abs(L1stubptr->
disk());
101 edm::LogVerbatim(
"L1track") << kfphi <<
" " << kfr <<
" " << kfz <<
" " << kfbend <<
" " << kflayer <<
" "
102 <<
isBarrel <<
" " << psmodule <<
" " << isTilted <<
" \n"
103 << stripPitch <<
" " << stripLength <<
" " <<
nStrips;
106 unsigned int uniqueStubIndex = 1000 * L1stubID + L1stubptr->
allStubIndex();
123 TMTTstubs.push_back(TMTTstubptr);
124 L1StubIndices[uniqueStubIndex] = L1stubptr;
129 edm::LogVerbatim(
"L1track") <<
"Made TMTTstubs: trackstublist.size() = " << trackstublist.size();
135 double kft = tracklet->
tapprox();
148 std::pair<float, float> helixrz(kfz0, kft);
151 double chargeOverPt = helixrphi.first;
152 int mBin = std::floor(TMTTsettings.
houghNbinsPt() / 2) +
155 std::pair<unsigned int, unsigned int> celllocation(mBin, 1);
159 const float chosenRofZ = TMTTsettings.
chosenRofZ();
161 float kfzRef = kfz0 + chosenRofZ * kft;
163 unsigned int kf_eta_reg = 0;
164 for (
unsigned int iEtaSec = 1; iEtaSec <
etaRegions.size() - 1; iEtaSec++) {
166 const float zRefMax = chosenRofZ /
tan(2. * atan(
exp(-
etaMax)));
167 if (kfzRef > zRefMax)
168 kf_eta_reg = iEtaSec;
172 &TMTTsettings, TMTTstubs, celllocation, helixrphi, helixrz, kfd0, kf_phi_sec, kf_eta_reg, 1,
false);
173 unsigned int seedType = tracklet->
getISeed();
174 unsigned int numPS = tracklet->
PSseed();
175 l1track3d.setSeedLayerType(seedType);
176 l1track3d.setSeedPS(numPS);
178 if (
globals_->tmttKFParamsComb() ==
nullptr) {
195 <<
", phi0 = " << trk.
phi0() <<
", eta = " << trk.
eta() <<
", z0 = " << trk.
z0()
196 <<
", chi2 = " << trk.
chi2() <<
", accepted = " << trk.
accepted();
198 double d0, chi2rphi, phi0, qoverpt = -999;
220 int ichi2rphifit = chi2rphi / 16;
221 int ichi2rzfit = trk.
chi2rz() / 16;
223 const vector<const tmtt::Stub*>& stubsFromFit = trk.
stubs();
224 vector<const L1TStub*> l1stubsFromFit;
226 unsigned int IDf =
s->index();
228 l1stubsFromFit.push_back(
l1s);