CMS 3D CMS Logo

L1fittedTrack.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_L1fittedTrack_h
2 #define L1Trigger_TrackFindingTMTT_L1fittedTrack_h
3 
16 
17 #include <vector>
18 #include <set>
19 #include <utility>
20 #include <string>
21 #include <memory>
22 
23 //=== This represents a fitted L1 track candidate found in 3 dimensions.
24 //=== It gives access to the fitted helix parameters & chi2 etc.
25 //=== It also calculates & gives access to associated truth particle (Tracking Particle) if any.
26 //=== It also gives access to the 3D hough-transform track candidate (L1track3D) on which the fit was run.
27 
28 namespace tmtt {
29 
30  class L1fittedTrack : public L1trackBase {
31  public:
32  // Store a new fitted track, specifying the input Hough transform track, the stubs used for the fit,
33  // bit-encoded hit layer pattern (numbered by increasing distance from origin),
34  // the fitted helix parameters & chi2,
35  // and the number of helix parameters being fitted (=5 if d0 is fitted, or =4 if d0 is not fitted).
36  // And if track fit declared this to be a valid track (enough stubs left on track after fit etc.).
37  L1fittedTrack(const Settings* settings,
38  const L1track3D* l1track3D,
39  const std::vector<Stub*>& stubs,
40  unsigned int hitPattern,
41  float qOverPt,
42  float d0,
43  float phi0,
44  float z0,
45  float tanLambda,
46  float chi2rphi,
47  float chi2rz,
48  unsigned int nHelixParam,
49  bool accepted = true)
50  : L1trackBase(),
51  settings_(settings),
53  stubs_(stubs),
54  stubsConst_(stubs_.begin(), stubs_.end()),
57  d0_(d0),
58  phi0_(phi0),
59  z0_(z0),
62  chi2rz_(chi2rz),
65  d0_bcon_(d0),
69  nSkippedLayers_(0),
70  numUpdateCalls_(0),
71  numIterations_(0),
73  if (l1track3D != nullptr) {
77  } else { // Rejected track
78  iPhiSec_ = 0;
79  iEtaReg_ = 0;
80  optoLinkID_ = 0;
81  }
82  if (settings != nullptr) {
83  // Count tracker layers these stubs are in
85  // Find associated truth particle & calculate info about match.
87  } else { // Rejected track
88  nLayers_ = 0;
89  matchedTP_ = nullptr;
90  }
91  // Set d0 = 0 for 4 param fit, in case fitter didn't do it.
92  if (nHelixParam == 4) {
93  d0_ = 0.;
94  d0_bcon_ = 0.;
95  }
96  if (settings != nullptr && not settings->hybrid()) {
97  //Sector class used to check if fitted track trajectory is in expected sector.
98  secTmp_ = std::make_shared<Sector>(settings, iPhiSec_, iEtaReg_);
99  // HT class used to identify HT cell that corresponds to fitted helix parameters.
100  htRphiTmp_ = std::make_shared<HTrphi>(
101  settings, iPhiSec_, iEtaReg_, secTmp_->etaMin(), secTmp_->etaMax(), secTmp_->phiCentre());
102  this->setConsistentHTcell();
103  } else {
104  consistentCell_ = false;
105  }
106  }
107 
108  // Creates track rejected by fitter.
109  L1fittedTrack() : L1fittedTrack(nullptr, nullptr, noStubs_, 0, 0., 0., 0., 0., 0., 0., 0., 0, false) {}
110 
111  ~L1fittedTrack() override = default;
112 
113  //--- Optionally std::set track helix params & chi2 if beam-spot constraint is used (for 5-parameter fit).
114  void setBeamConstr(float qOverPt_bcon, float phi0_bcon, float chi2rphi_bcon) {
115  done_bcon_ = true;
117  d0_bcon_ = 0.0, phi0_bcon_ = phi0_bcon;
119  }
120 
121  //--- Set/get additional info about fitted track that is specific to individual track fit algorithms (KF, LR, chi2)
122  //--- and is used for debugging/histogramming purposes.
123 
124  void setInfoKF(unsigned int nSkippedLayers, unsigned int numUpdateCalls) {
125  nSkippedLayers_ = nSkippedLayers;
126  numUpdateCalls_ = numUpdateCalls;
127  }
128  void setInfoLR(int numIterations, std::string lostMatchingState, std::unordered_map<std::string, int> stateCalls) {
129  numIterations_ = numIterations;
130  lostMatchingState_ = lostMatchingState;
131  stateCalls_ = stateCalls;
132  }
133  void setInfoCHI2() {}
134 
135  void infoKF(unsigned int& nSkippedLayers, unsigned int& numUpdateCalls) const {
136  nSkippedLayers = nSkippedLayers_;
137  numUpdateCalls = numUpdateCalls_;
138  }
139  void infoLR(int& numIterations,
140  std::string& lostMatchingState,
141  std::unordered_map<std::string, int>& stateCalls) const {
142  numIterations = numIterations_;
143  lostMatchingState = lostMatchingState_;
144  stateCalls = stateCalls_;
145  }
146  void infoCHI2() const {}
147 
148  //--- Convert fitted track to KFTrackletTrack format, for use with HYBRID.
149 
151  KFTrackletTrack trk_(l1track3D(),
152  stubsConst(),
153  hitPattern(),
154  qOverPt(),
155  d0(),
156  phi0(),
157  z0(),
158  tanLambda(),
159  chi2rphi(),
160  chi2rz(),
161  nHelixParam(),
162  iPhiSec(),
163  iEtaReg(),
164  accepted());
165  return trk_;
166  }
167 
168  //--- Get the 3D Hough transform track candididate corresponding to the fitted track,
169  //--- Provide direct access to some of the info it contains.
170 
171  // Get track candidate from HT (before fit).
172  const L1track3D* l1track3D() const { return l1track3D_; }
173 
174  // Get stubs on fitted track (can differ from those on HT track if track fit kicked out stubs with bad residuals)
175  const std::vector<const Stub*>& stubsConst() const override { return stubsConst_; }
176  const std::vector<Stub*>& stubs() const override { return stubs_; }
177  // Get number of stubs on fitted track.
178  unsigned int numStubs() const override { return stubs_.size(); }
179  // Get number of tracker layers these stubs are in.
180  unsigned int numLayers() const override { return nLayers_; }
181  // Get number of stubs deleted from track candidate by fitter (because they had large residuals)
182  unsigned int numKilledStubs() const { return l1track3D_->numStubs() - this->numStubs(); }
183  // Get bit-encoded hit pattern (where layer number assigned by increasing distance from origin, according to layers track expected to cross).
184  unsigned int hitPattern() const { return hitPattern_; }
185 
186  // Get Hough transform cell locations in units of bin number, corresponding to the fitted helix parameters of the track.
187  // Always uses the beam-spot constrained helix params if they are available.
188  // (If fitted track is outside HT array, it it put in the closest bin inside it).
189  std::pair<unsigned int, unsigned int> cellLocationFit() const { return htRphiTmp_->cell(this); }
190  // Also get HT cell determined by Hough transform.
191  std::pair<unsigned int, unsigned int> cellLocationHT() const override { return l1track3D_->cellLocationHT(); }
192 
193  //--- Get information about its association (if any) to a truth Tracking Particle.
194  //--- Can differ from that of corresponding HT track, if track fit kicked out stubs with bad residuals.
195 
196  // Get best matching tracking particle (=nullptr if none).
197  const TP* matchedTP() const override { return matchedTP_; }
198  // Get the matched stubs with this Tracking Particle
199  const std::vector<const Stub*>& matchedStubs() const override { return matchedStubs_; }
200  // Get number of matched stubs with this Tracking Particle
201  unsigned int numMatchedStubs() const override { return matchedStubs_.size(); }
202  // Get number of tracker layers with matched stubs with this Tracking Particle
203  unsigned int numMatchedLayers() const override { return nMatchedLayers_; }
204  // Get purity of stubs on track (i.e. fraction matching best Tracking Particle)
205  float purity() const { return numMatchedStubs() / float(numStubs()); }
206  // Get number of stubs matched to correct TP that were deleted from track candidate by fitter.
207  unsigned int numKilledMatchedStubs() const {
208  unsigned int nStubCount = l1track3D_->numMatchedStubs();
209  if (nStubCount > 0) { // Original HT track candidate did match a truth particle
210  const TP* tp = l1track3D_->matchedTP();
211  for (const Stub* s : stubs_) {
212  std::set<const TP*> assTPs = s->assocTPs();
213  if (assTPs.find(tp) != assTPs.end())
214  nStubCount--; // We found a stub matched to original truth particle that survived fit.
215  }
216  }
217  return nStubCount;
218  }
219 
220  //--- Get the fitted track helix parameters.
221 
222  float qOverPt() const override { return qOverPt_; }
223  float charge() const { return (qOverPt_ > 0 ? 1 : -1); }
224  float invPt() const { return std::abs(qOverPt_); }
225  // Protect pt against 1/pt = 0.
226  float pt() const {
227  constexpr float small = 1.0e-6;
228  return 1. / (small + this->invPt());
229  }
230  float d0() const { return d0_; }
231  float phi0() const override { return phi0_; }
232  float z0() const { return z0_; }
233  float tanLambda() const { return tanLambda_; }
234  float theta() const { return atan2(1., tanLambda_); } // Use atan2 to ensure 0 < theta < pi.
235  float eta() const { return -log(tan(0.5 * this->theta())); }
236 
237  //--- Get the fitted helix parameters with beam-spot constraint.
238  //--- If constraint not applied (e.g. 4 param fit) then these are identical to unconstrained values.
239 
240  bool done_bcon() const { return done_bcon_; } // Was beam-spot constraint aplied?
241  float qOverPt_bcon() const { return qOverPt_bcon_; }
242  float charge_bcon() const { return (qOverPt_bcon_ > 0 ? 1 : -1); }
243  float invPt_bcon() const { return std::abs(qOverPt_bcon_); }
244  // Protect pt against 1/pt = 0.
245  float pt_bcon() const {
246  constexpr float small = 1.0e-6;
247  return 1. / (small + this->invPt_bcon());
248  }
249  float phi0_bcon() const { return phi0_bcon_; }
250 
251  // Phi and z coordinates at which track crosses "chosenR" values used by r-phi HT and rapidity sectors respectively.
252  // (Optionally with beam-spot constraint applied).
253  float phiAtChosenR(bool beamConstraint) const {
254  if (beamConstraint) {
257  0.);
258  } else {
260  d0_ / (settings_->chosenRofPhi()),
261  0.);
262  }
263  }
264  float zAtChosenR() const {
265  return (z0_ + (settings_->chosenRofZ()) * tanLambda_);
266  } // neglects transverse impact parameter & track curvature.
267 
268  // Get the number of helix parameters being fitted (=5 if d0 is fitted or =4 if d0 is not fitted).
269  float nHelixParam() const { return nHelixParam_; }
270 
271  // Get the fit degrees of freedom, chi2 & chi2/DOF (also in r-phi & r-z planes).
272  unsigned int numDOF() const { return 2 * this->numStubs() - nHelixParam_; }
273  unsigned int numDOFrphi() const { return this->numStubs() - (nHelixParam_ - 2); }
274  unsigned int numDOFrz() const { return this->numStubs() - 2; }
275  float chi2rphi() const { return chi2rphi_; }
276  float chi2rz() const { return chi2rz_; }
277  float chi2() const { return chi2rphi_ + chi2rz_; }
278  float chi2dof() const { return (this->chi2()) / this->numDOF(); }
279 
280  //--- Ditto, but if beam-spot constraint is applied.
281  //--- If constraint not applied (e.g. 4 param fit) then these are identical to unconstrained values.
282  unsigned int numDOF_bcon() const { return (this->numDOF() - 1); }
283  unsigned int numDOFrphi_bcon() const { return (this->numDOFrphi() - 1); }
284  float chi2rphi_bcon() const { return chi2rphi_bcon_; }
285  float chi2_bcon() const { return chi2rphi_bcon_ + chi2rz_; }
286  float chi2dof_bcon() const { return (this->chi2_bcon()) / this->numDOF_bcon(); }
287 
288  //--- Get phi sector and eta region used by track finding code that this track is in.
289  unsigned int iPhiSec() const override { return iPhiSec_; }
290  unsigned int iEtaReg() const override { return iEtaReg_; }
291 
292  //--- Opto-link ID used to send this track from HT to Track Fitter
293  unsigned int optoLinkID() const override { return optoLinkID_; }
294 
295  //--- Get whether the track has been rejected or accepted by the fit
296 
297  bool accepted() const { return accepted_; }
298 
299  //--- Functions to help eliminate duplicate tracks.
300 
301  // Is the fitted track trajectory should lie within the same HT cell in which the track was originally found?
302  bool consistentHTcell() const { return consistentCell_; }
303 
304  // Determine if the fitted track trajectory should lie within the same HT cell in which the track was originally found?
306  // Use helix params with beam-spot constaint if done in case of 5 param fit.
307 
308  std::pair<unsigned int, unsigned int> htCell = this->cellLocationHT();
309  bool consistent = (htCell == this->cellLocationFit());
310 
311  if (l1track3D_->mergedHTcell()) {
312  // If this is a merged cell, check other elements of merged cell.
313  std::pair<unsigned int, unsigned int> htCell10(htCell.first + 1, htCell.second);
314  std::pair<unsigned int, unsigned int> htCell01(htCell.first, htCell.second + 1);
315  std::pair<unsigned int, unsigned int> htCell11(htCell.first + 1, htCell.second + 1);
316  if (htCell10 == this->cellLocationFit())
317  consistent = true;
318  if (htCell01 == this->cellLocationFit())
319  consistent = true;
320  if (htCell11 == this->cellLocationFit())
321  consistent = true;
322  }
323 
324  consistentCell_ = consistent;
325  }
326 
327  // Is the fitted track trajectory within the same (eta,phi) sector of the HT used to find it?
328  bool consistentSector() const {
329  bool insidePhi =
330  (std::abs(reco::deltaPhi(this->phiAtChosenR(done_bcon_), secTmp_->phiCentre())) < secTmp_->sectorHalfWidth());
331  bool insideEta =
332  (this->zAtChosenR() > secTmp_->zAtChosenR_Min() && this->zAtChosenR() < secTmp_->zAtChosenR_Max());
333  return (insidePhi && insideEta);
334  }
335 
336  // Digitize track and degrade helix parameter resolution according to effect of digitisation.
337  void digitizeTrack(const std::string& fitterName);
338 
339  // Access to detailed info about digitized track. (Gets nullptr if trk not digitized)
340  const DigitalTrack* digitaltrack() const { return digitalTrack_.get(); }
341 
342  private:
343  //--- Configuration parameters
345 
346  //--- The 3D hough-transform track candidate which was fitted.
348 
349  //--- The stubs on the fitted track (can differ from those on HT track if fit kicked off stubs with bad residuals)
350  std::vector<Stub*> stubs_;
351  std::vector<const Stub*> stubsConst_;
352  unsigned int nLayers_;
353 
354  //--- Bit-encoded hit pattern (where layer number assigned by increasing distance from origin, according to layers track expected to cross).
355  unsigned int hitPattern_;
356 
357  //--- The fitted helix parameters and fit chi-squared.
358  float qOverPt_;
359  float d0_;
360  float phi0_;
361  float z0_;
362  float tanLambda_;
363  float chi2rphi_;
364  float chi2rz_;
365 
366  //--- Ditto with beam-spot constraint applied in case of 5-parameter fit, plus boolean to indicate
369  float d0_bcon_;
370  float phi0_bcon_;
372 
373  //--- The number of helix parameters being fitted (=5 if d0 is fitted or =4 if d0 is not fitted).
374  unsigned int nHelixParam_;
375 
376  //--- Phi sector and eta region used track finding code that this track was in.
377  unsigned int iPhiSec_;
378  unsigned int iEtaReg_;
379  //--- Opto-link ID from HT to Track Fitter.
380  unsigned int optoLinkID_;
381 
382  //--- Information about its association (if any) to a truth Tracking Particle.
383  const TP* matchedTP_;
384  std::vector<const Stub*> matchedStubs_;
385  unsigned int nMatchedLayers_;
386 
387  //--- Sector class used to check if fitted track trajectory is in same sector as HT used to find it.
388  std::shared_ptr<Sector> secTmp_; // shared so as to allow copy of L1fittedTrack.
389  //--- r-phi HT class used to determine HT cell location that corresponds to fitted track helix parameters.
390  std::shared_ptr<HTrphi> htRphiTmp_;
391 
392  //--- Info specific to KF fitter.
393  unsigned int nSkippedLayers_;
394  unsigned int numUpdateCalls_;
395  //--- Info specific to LR fitter.
398  std::unordered_map<std::string, int> stateCalls_;
399 
400  std::shared_ptr<DigitalTrack> digitalTrack_; // Class used to digitize track if required.
401 
402  static const std::vector<Stub*> noStubs_; // Empty vector used to initialize rejected tracks.
403 
405 
406  //--- Has the track fit declared this to be a valid track?
407  bool accepted_;
408  };
409 
410 } // namespace tmtt
411 
412 #endif
tmtt::L1fittedTrack::iPhiSec
unsigned int iPhiSec() const override
Definition: L1fittedTrack.h:289
tmtt::Settings::invPtToDphi
double invPtToDphi() const
Definition: Settings.h:395
Sector.h
tmtt::L1fittedTrack::matchedTP
const TP * matchedTP() const override
Definition: L1fittedTrack.h:197
tmtt::L1fittedTrack::nLayers_
unsigned int nLayers_
Definition: L1fittedTrack.h:352
tmtt::L1fittedTrack::digitizeTrack
void digitizeTrack(const std::string &fitterName)
Definition: L1fittedTrack.cc:12
tmtt::L1fittedTrack::z0
float z0() const
Definition: L1fittedTrack.h:232
tmtt::L1fittedTrack::setConsistentHTcell
void setConsistentHTcell()
Definition: L1fittedTrack.h:305
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
funct::false
false
Definition: Factorize.h:29
DigitalTrack.h
tmtt::L1fittedTrack::tanLambda
float tanLambda() const
Definition: L1fittedTrack.h:233
tmtt::Utility::countLayers
unsigned int countLayers(const Settings *settings, const std::vector< const Stub * > &stubs, bool disableReducedLayerID=false, bool onlyPS=false)
Definition: Utility.cc:25
tmtt::L1fittedTrack::consistentSector
bool consistentSector() const
Definition: L1fittedTrack.h:328
tmtt::L1fittedTrack::secTmp_
std::shared_ptr< Sector > secTmp_
Definition: L1fittedTrack.h:388
tmtt::L1fittedTrack::iEtaReg
unsigned int iEtaReg() const override
Definition: L1fittedTrack.h:290
tmtt::L1fittedTrack::stubs_
std::vector< Stub * > stubs_
Definition: L1fittedTrack.h:350
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
Stub.h
deltaPhi.h
tmtt::L1fittedTrack::chi2dof_bcon
float chi2dof_bcon() const
Definition: L1fittedTrack.h:286
tmtt::L1fittedTrack::chi2
float chi2() const
Definition: L1fittedTrack.h:277
tmtt::L1fittedTrack::setInfoLR
void setInfoLR(int numIterations, std::string lostMatchingState, std::unordered_map< std::string, int > stateCalls)
Definition: L1fittedTrack.h:128
tmtt::L1track3D::iEtaReg
unsigned int iEtaReg() const override
Definition: L1track3D.h:175
tmtt::L1fittedTrack::numDOFrphi
unsigned int numDOFrphi() const
Definition: L1fittedTrack.h:273
tmtt::L1fittedTrack::numKilledStubs
unsigned int numKilledStubs() const
Definition: L1fittedTrack.h:182
tmtt::L1fittedTrack::numDOFrz
unsigned int numDOFrz() const
Definition: L1fittedTrack.h:274
tmtt::L1fittedTrack::qOverPt_bcon_
float qOverPt_bcon_
Definition: L1fittedTrack.h:368
tmtt::L1fittedTrack::accepted
bool accepted() const
Definition: L1fittedTrack.h:297
KFTrackletTrack.h
tmtt::L1fittedTrack::cellLocationFit
std::pair< unsigned int, unsigned int > cellLocationFit() const
Definition: L1fittedTrack.h:189
tmtt::L1fittedTrack::done_bcon
bool done_bcon() const
Definition: L1fittedTrack.h:240
tmtt::L1track3D::cellLocationHT
std::pair< unsigned int, unsigned int > cellLocationHT() const override
Definition: L1track3D.h:101
tmtt::L1fittedTrack::numDOF_bcon
unsigned int numDOF_bcon() const
Definition: L1fittedTrack.h:282
tmtt::L1track3D::numMatchedStubs
unsigned int numMatchedStubs() const override
Definition: L1track3D.h:190
tmtt::TP
Definition: TP.h:23
tmtt::L1fittedTrack::stateCalls_
std::unordered_map< std::string, int > stateCalls_
Definition: L1fittedTrack.h:398
L1track3D.h
tmtt::Settings::chosenRofPhi
double chosenRofPhi() const
Definition: Settings.h:112
tmtt::L1fittedTrack::chi2rphi
float chi2rphi() const
Definition: L1fittedTrack.h:275
tmtt::L1fittedTrack::~L1fittedTrack
~L1fittedTrack() override=default
tmtt::L1fittedTrack::nHelixParam
float nHelixParam() const
Definition: L1fittedTrack.h:269
tmtt::L1fittedTrack::charge_bcon
float charge_bcon() const
Definition: L1fittedTrack.h:242
tmtt::L1fittedTrack::noStubs_
static const std::vector< Stub * > noStubs_
Definition: L1fittedTrack.h:402
Utility.h
tmtt::L1fittedTrack::hitPattern_
unsigned int hitPattern_
Definition: L1fittedTrack.h:355
tmtt::L1track3D::iPhiSec
unsigned int iPhiSec() const override
Definition: L1track3D.h:174
alignCSCRings.s
s
Definition: alignCSCRings.py:92
tmtt::L1fittedTrack::pt
float pt() const
Definition: L1fittedTrack.h:226
tmtt::L1fittedTrack::digitaltrack
const DigitalTrack * digitaltrack() const
Definition: L1fittedTrack.h:340
tmtt::L1track3D::matchedTP
const TP * matchedTP() const override
Definition: L1track3D.h:186
tmtt::L1fittedTrack::htRphiTmp_
std::shared_ptr< HTrphi > htRphiTmp_
Definition: L1fittedTrack.h:390
tmtt::L1fittedTrack::qOverPt
float qOverPt() const override
Definition: L1fittedTrack.h:222
HTrphi.h
tmtt::L1fittedTrack::phi0_bcon
float phi0_bcon() const
Definition: L1fittedTrack.h:249
tmtt::L1fittedTrack::consistentHTcell
bool consistentHTcell() const
Definition: L1fittedTrack.h:302
tmtt::L1fittedTrack::numLayers
unsigned int numLayers() const override
Definition: L1fittedTrack.h:180
tmtt::L1track3D::mergedHTcell
bool mergedHTcell() const
Definition: L1track3D.h:181
mps_fire.end
end
Definition: mps_fire.py:242
tmtt::L1fittedTrack::stubs
const std::vector< Stub * > & stubs() const override
Definition: L1fittedTrack.h:176
tmtt::L1fittedTrack::L1fittedTrack
L1fittedTrack(const Settings *settings, const L1track3D *l1track3D, const std::vector< Stub * > &stubs, unsigned int hitPattern, float qOverPt, float d0, float phi0, float z0, float tanLambda, float chi2rphi, float chi2rz, unsigned int nHelixParam, bool accepted=true)
Definition: L1fittedTrack.h:37
tmtt::L1fittedTrack::tanLambda_
float tanLambda_
Definition: L1fittedTrack.h:362
tmtt::L1fittedTrack::setInfoKF
void setInfoKF(unsigned int nSkippedLayers, unsigned int numUpdateCalls)
Definition: L1fittedTrack.h:124
tmtt::L1fittedTrack::phi0
float phi0() const override
Definition: L1fittedTrack.h:231
tmtt::L1fittedTrack::chi2_bcon
float chi2_bcon() const
Definition: L1fittedTrack.h:285
tmtt::L1fittedTrack::chi2rphi_bcon
float chi2rphi_bcon() const
Definition: L1fittedTrack.h:284
tmtt::L1fittedTrack::matchedStubs
const std::vector< const Stub * > & matchedStubs() const override
Definition: L1fittedTrack.h:199
tmtt::L1fittedTrack::nSkippedLayers_
unsigned int nSkippedLayers_
Definition: L1fittedTrack.h:393
tmtt::L1fittedTrack::invPt_bcon
float invPt_bcon() const
Definition: L1fittedTrack.h:243
tmtt::L1fittedTrack::optoLinkID_
unsigned int optoLinkID_
Definition: L1fittedTrack.h:380
cmsswSequenceInfo.tp
tp
Definition: cmsswSequenceInfo.py:17
tmtt::L1fittedTrack::eta
float eta() const
Definition: L1fittedTrack.h:235
tmtt::L1fittedTrack::settings_
const Settings * settings_
Definition: L1fittedTrack.h:344
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
tmtt::L1fittedTrack::hitPattern
unsigned int hitPattern() const
Definition: L1fittedTrack.h:184
tmtt::L1fittedTrack::chi2rphi_
float chi2rphi_
Definition: L1fittedTrack.h:363
tmtt::L1fittedTrack::numIterations_
int numIterations_
Definition: L1fittedTrack.h:396
tmtt::L1fittedTrack::chi2dof
float chi2dof() const
Definition: L1fittedTrack.h:278
tmtt::L1fittedTrack::L1fittedTrack
L1fittedTrack()
Definition: L1fittedTrack.h:109
tmtt::L1fittedTrack::iPhiSec_
unsigned int iPhiSec_
Definition: L1fittedTrack.h:377
tmtt::L1fittedTrack::numDOFrphi_bcon
unsigned int numDOFrphi_bcon() const
Definition: L1fittedTrack.h:283
TP.h
tmtt::L1fittedTrack
Definition: L1fittedTrack.h:30
tmtt::L1fittedTrack::d0_bcon_
float d0_bcon_
Definition: L1fittedTrack.h:369
tmtt::L1fittedTrack::done_bcon_
bool done_bcon_
Definition: L1fittedTrack.h:367
tmtt::L1fittedTrack::purity
float purity() const
Definition: L1fittedTrack.h:205
tmtt::L1trackBase
Definition: L1trackBase.h:17
tmtt::L1fittedTrack::numStubs
unsigned int numStubs() const override
Definition: L1fittedTrack.h:178
tmtt::Settings
Definition: Settings.h:17
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
tmtt::Settings::chosenRofZ
double chosenRofZ() const
Definition: Settings.h:127
tmtt::L1fittedTrack::optoLinkID
unsigned int optoLinkID() const override
Definition: L1fittedTrack.h:293
tmtt::L1fittedTrack::accepted_
bool accepted_
Definition: L1fittedTrack.h:407
tmtt::L1fittedTrack::numUpdateCalls_
unsigned int numUpdateCalls_
Definition: L1fittedTrack.h:394
tmtt::L1fittedTrack::l1track3D_
const L1track3D * l1track3D_
Definition: L1fittedTrack.h:347
tmtt::KFTrackletTrack
Definition: KFTrackletTrack.h:27
tmtt::L1fittedTrack::chi2rphi_bcon_
float chi2rphi_bcon_
Definition: L1fittedTrack.h:371
tmtt::L1fittedTrack::stubsConst
const std::vector< const Stub * > & stubsConst() const override
Definition: L1fittedTrack.h:175
tmtt::DigitalTrack
Definition: DigitalTrack.h:22
tmtt::L1fittedTrack::invPt
float invPt() const
Definition: L1fittedTrack.h:224
tmtt::L1fittedTrack::digitalTrack_
std::shared_ptr< DigitalTrack > digitalTrack_
Definition: L1fittedTrack.h:400
tmtt::L1fittedTrack::zAtChosenR
float zAtChosenR() const
Definition: L1fittedTrack.h:264
tmtt::L1fittedTrack::matchedStubs_
std::vector< const Stub * > matchedStubs_
Definition: L1fittedTrack.h:384
tmtt::L1fittedTrack::l1track3D
const L1track3D * l1track3D() const
Definition: L1fittedTrack.h:172
tmtt::L1fittedTrack::numKilledMatchedStubs
unsigned int numKilledMatchedStubs() const
Definition: L1fittedTrack.h:207
tmtt::L1fittedTrack::cellLocationHT
std::pair< unsigned int, unsigned int > cellLocationHT() const override
Definition: L1fittedTrack.h:191
tmtt::L1fittedTrack::nMatchedLayers_
unsigned int nMatchedLayers_
Definition: L1fittedTrack.h:385
tmtt::L1fittedTrack::lostMatchingState_
std::string lostMatchingState_
Definition: L1fittedTrack.h:397
tmtt::L1fittedTrack::qOverPt_bcon
float qOverPt_bcon() const
Definition: L1fittedTrack.h:241
tmtt::L1fittedTrack::phi0_
float phi0_
Definition: L1fittedTrack.h:360
tmtt::L1fittedTrack::charge
float charge() const
Definition: L1fittedTrack.h:223
tmtt::L1fittedTrack::phi0_bcon_
float phi0_bcon_
Definition: L1fittedTrack.h:370
tmtt::L1fittedTrack::setBeamConstr
void setBeamConstr(float qOverPt_bcon, float phi0_bcon, float chi2rphi_bcon)
Definition: L1fittedTrack.h:114
tmtt::L1fittedTrack::numMatchedLayers
unsigned int numMatchedLayers() const override
Definition: L1fittedTrack.h:203
tmtt::L1fittedTrack::returnKFTrackletTrack
KFTrackletTrack returnKFTrackletTrack()
Definition: L1fittedTrack.h:150
tmtt::L1fittedTrack::nHelixParam_
unsigned int nHelixParam_
Definition: L1fittedTrack.h:374
Settings.h
tmtt::L1fittedTrack::z0_
float z0_
Definition: L1fittedTrack.h:361
tmtt::Utility::matchingTP
const TP * matchingTP(const Settings *settings, const std::vector< const Stub * > &vstubs, unsigned int &nMatchedLayersBest, std::vector< const Stub * > &matchedStubsBest)
Definition: Utility.cc:63
tmtt::L1fittedTrack::consistentCell_
bool consistentCell_
Definition: L1fittedTrack.h:404
tmtt::L1fittedTrack::infoLR
void infoLR(int &numIterations, std::string &lostMatchingState, std::unordered_map< std::string, int > &stateCalls) const
Definition: L1fittedTrack.h:139
tmtt::L1fittedTrack::pt_bcon
float pt_bcon() const
Definition: L1fittedTrack.h:245
Exception.h
tmtt::Settings::hybrid
bool hybrid() const
Definition: Settings.h:407
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
tmtt::L1fittedTrack::stubsConst_
std::vector< const Stub * > stubsConst_
Definition: L1fittedTrack.h:351
tmtt::L1fittedTrack::chi2rz_
float chi2rz_
Definition: L1fittedTrack.h:364
tmtt::L1fittedTrack::d0_
float d0_
Definition: L1fittedTrack.h:359
tmtt::L1fittedTrack::numMatchedStubs
unsigned int numMatchedStubs() const override
Definition: L1fittedTrack.h:201
L1trackBase.h
tmtt::L1track3D::optoLinkID
unsigned int optoLinkID() const override
Definition: L1track3D.h:178
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
tmtt::L1fittedTrack::infoCHI2
void infoCHI2() const
Definition: L1fittedTrack.h:146
tmtt::L1fittedTrack::setInfoCHI2
void setInfoCHI2()
Definition: L1fittedTrack.h:133
tmtt::L1fittedTrack::qOverPt_
float qOverPt_
Definition: L1fittedTrack.h:358
tmtt::L1fittedTrack::d0
float d0() const
Definition: L1fittedTrack.h:230
tmtt::Stub
Definition: Stub.h:43
tmtt::L1fittedTrack::theta
float theta() const
Definition: L1fittedTrack.h:234
tmtt::L1fittedTrack::phiAtChosenR
float phiAtChosenR(bool beamConstraint) const
Definition: L1fittedTrack.h:253
tmtt::L1track3D
Definition: L1track3D.h:24
tmtt::L1fittedTrack::chi2rz
float chi2rz() const
Definition: L1fittedTrack.h:276
tmtt
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: ChiSquaredFit4.h:6
tmtt::L1fittedTrack::iEtaReg_
unsigned int iEtaReg_
Definition: L1fittedTrack.h:378
tmtt::L1fittedTrack::matchedTP_
const TP * matchedTP_
Definition: L1fittedTrack.h:383
tmtt::L1track3D::numStubs
unsigned int numStubs() const override
Definition: L1track3D.h:97
tmtt::L1fittedTrack::numDOF
unsigned int numDOF() const
Definition: L1fittedTrack.h:272
tmtt::L1fittedTrack::infoKF
void infoKF(unsigned int &nSkippedLayers, unsigned int &numUpdateCalls) const
Definition: L1fittedTrack.h:135