CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
tmtt::L1track3D Class Reference

#include <L1track3D.h>

Inheritance diagram for tmtt::L1track3D:
tmtt::L1trackBase

Public Types

enum  TrackletSeedType {
  L1L2, L2L3, L3L4, L5L6,
  D1D2, D3D4, L1D1, L2D1,
  L3L4L2, L5L6L4, L2L3D1, D1D2L2,
  NONE
}
 

Public Member Functions

std::unordered_set< const Stub * > bestStubs () const
 
std::pair< unsigned int, unsigned int > cellLocationHT () const override
 
float charge () const
 
bool cheat ()
 
std::vector< float > chiPhi ()
 
std::vector< int > chiPhiDigi ()
 
std::vector< float > chiZ ()
 
std::vector< int > chiZDigi ()
 
float d0 () const
 
float eta () const
 
std::pair< float, float > helixRphi () const
 
std::pair< float, float > helixRz () const
 
unsigned int iEtaReg () const override
 
float invPt () const
 
unsigned int iPhiSec () const override
 
 L1track3D (const Settings *settings, const std::vector< Stub *> &stubs, std::pair< unsigned int, unsigned int > cellLocationHT, std::pair< float, float > helixRphi, std::pair< float, float > helixRz, float helixD0, unsigned int iPhiSec, unsigned int iEtaReg, unsigned int optoLinkID, bool mergedHTcell)
 
 L1track3D (const Settings *settings, const std::vector< Stub *> &stubs, std::pair< unsigned int, unsigned int > cellLocationHT, std::pair< float, float > helixRphi, std::pair< float, float > helixRz, unsigned int iPhiSec, unsigned int iEtaReg, unsigned int optoLinkID, bool mergedHTcell)
 
const std::vector< const Stub * > & matchedStubs () const override
 
const TPmatchedTP () const override
 
bool mergedHTcell () const
 
unsigned int numLayers () const override
 
unsigned int numMatchedLayers () const override
 
unsigned int numMatchedStubs () const override
 
unsigned int numStubs () const override
 
unsigned int optoLinkID () const override
 
float phi0 () const override
 
float phiAtChosenR () const
 
float pt () const
 
float purity () const
 
float qOverPt () const override
 
TrackletSeedType seedLayerType () const
 
unsigned int seedPS () const
 
void setBestStubs (std::unordered_set< const Stub *> bestStubs)
 
void setSeedLayerType (unsigned int seedLayerType)
 
void setSeedPS (unsigned int seedPS)
 
const std::vector< Stub * > & stubs () const override
 
const std::vector< const Stub * > & stubsConst () const override
 
float tanLambda () const
 
float theta () const
 
float z0 () const
 
float zAtChosenR () const
 
 ~L1track3D () override=default
 
- Public Member Functions inherited from tmtt::L1trackBase
 L1trackBase ()
 
virtual ~L1trackBase ()=default
 

Private Attributes

std::unordered_set< const Stub * > bestStubs_
 
std::pair< unsigned int, unsigned int > cellLocationHT_
 
float helixD0_
 
std::pair< float, float > helixRphi_
 
std::pair< float, float > helixRz_
 
unsigned int iEtaReg_
 
unsigned int iPhiSec_
 
std::vector< const Stub * > matchedStubs_
 
const TPmatchedTP_
 
bool mergedHTcell_
 
unsigned int nLayers_
 
unsigned int nMatchedLayers_
 
unsigned int optoLinkID_
 
TrackletSeedType seedLayerType_
 
unsigned int seedPS_
 
const Settingssettings_
 
std::vector< Stub * > stubs_
 
std::vector< const Stub * > stubsConst_
 

Detailed Description

Definition at line 24 of file L1track3D.h.

Member Enumeration Documentation

◆ TrackletSeedType

Constructor & Destructor Documentation

◆ L1track3D() [1/2]

tmtt::L1track3D::L1track3D ( const Settings settings,
const std::vector< Stub *> &  stubs,
std::pair< unsigned int, unsigned int >  cellLocationHT,
std::pair< float, float >  helixRphi,
std::pair< float, float >  helixRz,
float  helixD0,
unsigned int  iPhiSec,
unsigned int  iEtaReg,
unsigned int  optoLinkID,
bool  mergedHTcell 
)
inline

Definition at line 30 of file L1track3D.h.

References tmtt::Utility::countLayers(), matchedStubs_, matchedTP_, tmtt::Utility::matchingTP(), nLayers_, nMatchedLayers_, and stubs_.

40  : L1trackBase(),
41  settings_(settings),
42  stubs_(stubs),
43  stubsConst_(stubs_.begin(), stubs_.end()),
47  helixD0_(helixD0),
53  seedPS_(999) {
54  nLayers_ = Utility::countLayers(settings, stubs_); // Count tracker layers these stubs are in
56  stubs_,
58  matchedStubs_); // Find associated truth particle & calculate info about match.
59  }
std::pair< unsigned int, unsigned int > cellLocationHT_
Definition: L1track3D.h:262
unsigned int iEtaReg() const override
Definition: L1track3D.h:175
TrackletSeedType seedLayerType_
Definition: L1track3D.h:272
bool mergedHTcell_
Definition: L1track3D.h:269
unsigned int optoLinkID_
Definition: L1track3D.h:268
std::pair< float, float > helixRz() const
Definition: L1track3D.h:105
const Settings * settings_
Definition: L1track3D.h:255
unsigned int nMatchedLayers_
Definition: L1track3D.h:278
const std::vector< Stub * > & stubs() const override
Definition: L1track3D.h:95
std::pair< unsigned int, unsigned int > cellLocationHT() const override
Definition: L1track3D.h:101
std::pair< float, float > helixRphi() const
Definition: L1track3D.h:103
bool mergedHTcell() const
Definition: L1track3D.h:181
unsigned int iPhiSec() const override
Definition: L1track3D.h:174
const TP * matchingTP(const Settings *settings, const std::vector< const Stub *> &vstubs, unsigned int &nMatchedLayersBest, std::vector< const Stub *> &matchedStubsBest)
Definition: Utility.cc:63
unsigned int iPhiSec_
Definition: L1track3D.h:266
const TP * matchedTP_
Definition: L1track3D.h:276
std::vector< Stub * > stubs_
Definition: L1track3D.h:258
std::vector< const Stub * > matchedStubs_
Definition: L1track3D.h:277
unsigned int iEtaReg_
Definition: L1track3D.h:267
unsigned int optoLinkID() const override
Definition: L1track3D.h:178
std::pair< float, float > helixRphi_
Definition: L1track3D.h:263
std::vector< const Stub * > stubsConst_
Definition: L1track3D.h:259
unsigned int nLayers_
Definition: L1track3D.h:261
Definition: TkAlStyle.h:43
unsigned int countLayers(const Settings *settings, const std::vector< const Stub *> &stubs, bool disableReducedLayerID=false, bool onlyPS=false)
Definition: Utility.cc:25
unsigned int seedPS_
Definition: L1track3D.h:273
std::pair< float, float > helixRz_
Definition: L1track3D.h:264

◆ L1track3D() [2/2]

tmtt::L1track3D::L1track3D ( const Settings settings,
const std::vector< Stub *> &  stubs,
std::pair< unsigned int, unsigned int >  cellLocationHT,
std::pair< float, float >  helixRphi,
std::pair< float, float >  helixRz,
unsigned int  iPhiSec,
unsigned int  iEtaReg,
unsigned int  optoLinkID,
bool  mergedHTcell 
)
inline

Definition at line 63 of file L1track3D.h.

72  : L1track3D(
unsigned int iEtaReg() const override
Definition: L1track3D.h:175
std::pair< float, float > helixRz() const
Definition: L1track3D.h:105
const std::vector< Stub * > & stubs() const override
Definition: L1track3D.h:95
std::pair< unsigned int, unsigned int > cellLocationHT() const override
Definition: L1track3D.h:101
std::pair< float, float > helixRphi() const
Definition: L1track3D.h:103
bool mergedHTcell() const
Definition: L1track3D.h:181
unsigned int iPhiSec() const override
Definition: L1track3D.h:174
unsigned int optoLinkID() const override
Definition: L1track3D.h:178
L1track3D(const Settings *settings, const std::vector< Stub *> &stubs, std::pair< unsigned int, unsigned int > cellLocationHT, std::pair< float, float > helixRphi, std::pair< float, float > helixRz, float helixD0, unsigned int iPhiSec, unsigned int iEtaReg, unsigned int optoLinkID, bool mergedHTcell)
Definition: L1track3D.h:30

◆ ~L1track3D()

tmtt::L1track3D::~L1track3D ( )
overridedefault

Member Function Documentation

◆ bestStubs()

std::unordered_set<const Stub*> tmtt::L1track3D::bestStubs ( ) const
inline

Definition at line 89 of file L1track3D.h.

References bestStubs_.

Referenced by setBestStubs().

89 { return bestStubs_; }
std::unordered_set< const Stub * > bestStubs_
Definition: L1track3D.h:260

◆ cellLocationHT()

std::pair<unsigned int, unsigned int> tmtt::L1track3D::cellLocationHT ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 101 of file L1track3D.h.

References cellLocationHT_.

Referenced by tmtt::L1fittedTrack::cellLocationHT(), cheat(), tmtt::KFbase::doKF(), tmtt::SimpleLR4::fit(), and tmtt::KFbase::fit().

101 { return cellLocationHT_; }
std::pair< unsigned int, unsigned int > cellLocationHT_
Definition: L1track3D.h:262

◆ charge()

float tmtt::L1track3D::charge ( void  ) const
inline

Definition at line 150 of file L1track3D.h.

References qOverPt().

150 { return (this->qOverPt() > 0 ? 1 : -1); }
float qOverPt() const override
Definition: L1track3D.h:149

◆ cheat()

bool tmtt::L1track3D::cheat ( )
inline

Definition at line 202 of file L1track3D.h.

References cellLocationHT(), tmtt::Utility::countLayers(), tmtt::Sector::etaMax(), tmtt::Sector::etaMin(), iEtaReg_, tmtt::TP::index(), iPhiSec_, runTheMatrix::keep, matchedStubs_, matchedTP_, tmtt::Utility::matchingTP(), mergedHTcell_, nLayers_, nMatchedLayers_, tmtt::Sector::phiCentre(), alignCSCRings::s, settings_, stubs_, stubsConst_, cmsswSequenceInfo::tp, tmtt::HTrphi::trueCell(), and tmtt::TP::useForAlgEff().

Referenced by tmtt::Make3Dtracks::makeRZfilteredTrks(), and tmtt::Make3Dtracks::makeUnfilteredTrks().

202  {
203  bool keep = false;
204 
205  std::vector<Stub*> stubsSel;
206  if (matchedTP_ != nullptr) { // Genuine track
207  for (Stub* s : stubs_) {
208  const TP* tp = s->assocTP();
209  if (tp != nullptr) {
210  if (matchedTP_->index() == tp->index()) {
211  stubsSel.push_back(s); // This stub was produced by same truth particle as rest of track, so keep it.
212  }
213  }
214  }
215  }
216  stubs_ = stubsSel;
217  stubsConst_ = std::vector<const Stub*>(stubs_.begin(), stubs_.end());
218 
219  nLayers_ = Utility::countLayers(settings_, stubs_); // Count tracker layers these stubs are in
221  stubs_,
223  matchedStubs_); // Find associated truth particle & calculate info about match.
224 
225  bool genuine = (matchedTP_ != nullptr);
226 
227  if (genuine && matchedTP_->useForAlgEff()) {
228  Sector secTmp(settings_, iPhiSec_, iEtaReg_);
229  HTrphi htRphiTmp(settings_, iPhiSec_, iEtaReg_, secTmp.etaMin(), secTmp.etaMax(), secTmp.phiCentre());
230  std::pair<unsigned int, unsigned int> trueCell = htRphiTmp.trueCell(matchedTP_);
231 
232  std::pair<unsigned int, unsigned int> htCell = this->cellLocationHT();
233  bool consistent = (htCell == trueCell); // If true, track is probably not a duplicate.
234  if (mergedHTcell_) {
235  // If this is a merged cell, check other elements of merged cell.
236  std::pair<unsigned int, unsigned int> htCell10(htCell.first + 1, htCell.second);
237  std::pair<unsigned int, unsigned int> htCell01(htCell.first, htCell.second + 1);
238  std::pair<unsigned int, unsigned int> htCell11(htCell.first + 1, htCell.second + 1);
239  if (htCell10 == trueCell)
240  consistent = true;
241  if (htCell01 == trueCell)
242  consistent = true;
243  if (htCell11 == trueCell)
244  consistent = true;
245  }
246  if (consistent)
247  keep = true;
248  }
249 
250  return keep; // Indicate if track should be kept.
251  }
bool useForAlgEff() const
Definition: TP.h:89
bool mergedHTcell_
Definition: L1track3D.h:269
const Settings * settings_
Definition: L1track3D.h:255
unsigned int nMatchedLayers_
Definition: L1track3D.h:278
std::pair< unsigned int, unsigned int > cellLocationHT() const override
Definition: L1track3D.h:101
unsigned int index() const
Definition: TP.h:39
const TP * matchingTP(const Settings *settings, const std::vector< const Stub *> &vstubs, unsigned int &nMatchedLayersBest, std::vector< const Stub *> &matchedStubsBest)
Definition: Utility.cc:63
unsigned int iPhiSec_
Definition: L1track3D.h:266
const TP * matchedTP_
Definition: L1track3D.h:276
std::vector< Stub * > stubs_
Definition: L1track3D.h:258
std::vector< const Stub * > matchedStubs_
Definition: L1track3D.h:277
unsigned int iEtaReg_
Definition: L1track3D.h:267
std::vector< const Stub * > stubsConst_
Definition: L1track3D.h:259
unsigned int nLayers_
Definition: L1track3D.h:261
unsigned int countLayers(const Settings *settings, const std::vector< const Stub *> &stubs, bool disableReducedLayerID=false, bool onlyPS=false)
Definition: Utility.cc:25

◆ chiPhi()

std::vector<float> tmtt::L1track3D::chiPhi ( )
inline

Definition at line 109 of file L1track3D.h.

References reco::deltaPhi(), tmtt::Settings::invPtToDphi(), phi0(), qOverPt(), mps_fire::result, alignCSCRings::s, settings_, and stubs_.

Referenced by chiPhiDigi().

109  {
110  std::vector<float> result;
111  for (const Stub* s : stubs_) {
112  float chi_phi = reco::deltaPhi(s->phi(), this->phi0() - s->r() * this->qOverPt() * settings_->invPtToDphi());
113  result.push_back(chi_phi);
114  }
115  return result;
116  }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
float phi0() const override
Definition: L1track3D.h:158
double invPtToDphi() const
Definition: Settings.h:397
float qOverPt() const override
Definition: L1track3D.h:149
const Settings * settings_
Definition: L1track3D.h:255
std::vector< Stub * > stubs_
Definition: L1track3D.h:258

◆ chiPhiDigi()

std::vector<int> tmtt::L1track3D::chiPhiDigi ( )
inline

Definition at line 118 of file L1track3D.h.

References chiPhi(), tmtt::Settings::phiSBits(), tmtt::Settings::phiSRange(), funct::pow(), mps_fire::result, and settings_.

118  {
119  std::vector<int> result;
120  const float phiMult = pow(2, settings_->phiSBits()) / settings_->phiSRange();
121  for (const float& chi_phi : this->chiPhi()) {
122  int iDigi_chi_phi = floor(chi_phi * phiMult);
123  result.push_back(iDigi_chi_phi);
124  }
125  return result;
126  }
const Settings * settings_
Definition: L1track3D.h:255
double phiSRange() const
Definition: Settings.h:84
unsigned int phiSBits() const
Definition: Settings.h:83
std::vector< float > chiPhi()
Definition: L1track3D.h:109
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ chiZ()

std::vector<float> tmtt::L1track3D::chiZ ( )
inline

Definition at line 128 of file L1track3D.h.

References mps_fire::result, alignCSCRings::s, stubs_, tanLambda(), and z0().

Referenced by chiZDigi().

128  {
129  std::vector<float> result;
130  for (const Stub* s : stubs_) {
131  float chi_z = s->z() - (this->z0() + s->r() * this->tanLambda());
132  result.push_back(chi_z);
133  }
134  return result;
135  }
float z0() const
Definition: L1track3D.h:159
float tanLambda() const
Definition: L1track3D.h:160
std::vector< Stub * > stubs_
Definition: L1track3D.h:258

◆ chiZDigi()

std::vector<int> tmtt::L1track3D::chiZDigi ( )
inline

Definition at line 137 of file L1track3D.h.

References chiZ(), funct::pow(), mps_fire::result, settings_, tmtt::Settings::zBits(), and tmtt::Settings::zRange().

137  {
138  std::vector<int> result;
139  const float zMult = pow(2, settings_->zBits()) / settings_->zRange();
140  for (const float& chi_z : this->chiZ()) {
141  int iDigi_chi_z = floor(chi_z * zMult);
142  result.push_back(iDigi_chi_z);
143  }
144  return result;
145  }
const Settings * settings_
Definition: L1track3D.h:255
double zRange() const
Definition: Settings.h:88
unsigned int zBits() const
Definition: Settings.h:87
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
std::vector< float > chiZ()
Definition: L1track3D.h:128

◆ d0()

float tmtt::L1track3D::d0 ( ) const
inline

Definition at line 157 of file L1track3D.h.

References helixD0_.

Referenced by tmtt::KFbase::fit(), and tmtt::KFParamsComb::seedX().

157 { return helixD0_; } // Hough transform assumes d0 = 0.

◆ eta()

float tmtt::L1track3D::eta ( void  ) const
inline

Definition at line 162 of file L1track3D.h.

References dqm-mbProfile::log, funct::tan(), and theta().

Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), tmtt::SimpleLR4::fit(), tmtt::ChiSquaredFitBase::fit(), Jet.Jet::jetID(), datamodel.Object::p4(), and Jet.Jet::puJetId().

162 { return -log(tan(0.5 * this->theta())); }
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
float theta() const
Definition: L1track3D.h:161

◆ helixRphi()

std::pair<float, float> tmtt::L1track3D::helixRphi ( ) const
inline

Definition at line 103 of file L1track3D.h.

References helixRphi_.

103 { return helixRphi_; }
std::pair< float, float > helixRphi_
Definition: L1track3D.h:263

◆ helixRz()

std::pair<float, float> tmtt::L1track3D::helixRz ( ) const
inline

Definition at line 105 of file L1track3D.h.

References helixRz_.

105 { return helixRz_; }
std::pair< float, float > helixRz_
Definition: L1track3D.h:264

◆ iEtaReg()

unsigned int tmtt::L1track3D::iEtaReg ( ) const
inlineoverridevirtual

◆ invPt()

float tmtt::L1track3D::invPt ( ) const
inline

Definition at line 151 of file L1track3D.h.

References funct::abs(), and qOverPt().

Referenced by pt().

151 { return std::abs(this->qOverPt()); }
float qOverPt() const override
Definition: L1track3D.h:149
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ iPhiSec()

unsigned int tmtt::L1track3D::iPhiSec ( ) const
inlineoverridevirtual

◆ matchedStubs()

const std::vector<const Stub*>& tmtt::L1track3D::matchedStubs ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 188 of file L1track3D.h.

References matchedStubs_.

188 { return matchedStubs_; }
std::vector< const Stub * > matchedStubs_
Definition: L1track3D.h:277

◆ matchedTP()

const TP* tmtt::L1track3D::matchedTP ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 186 of file L1track3D.h.

References matchedTP_.

Referenced by tmtt::KFbase::fit(), and tmtt::L1fittedTrack::numKilledMatchedStubs().

186 { return matchedTP_; }
const TP * matchedTP_
Definition: L1track3D.h:276

◆ mergedHTcell()

bool tmtt::L1track3D::mergedHTcell ( ) const
inline

Definition at line 181 of file L1track3D.h.

References mergedHTcell_.

Referenced by tmtt::L1fittedTrack::setConsistentHTcell().

181 { return mergedHTcell_; }
bool mergedHTcell_
Definition: L1track3D.h:269

◆ numLayers()

unsigned int tmtt::L1track3D::numLayers ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 99 of file L1track3D.h.

References nLayers_.

99 { return nLayers_; }
unsigned int nLayers_
Definition: L1track3D.h:261

◆ numMatchedLayers()

unsigned int tmtt::L1track3D::numMatchedLayers ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 192 of file L1track3D.h.

References nMatchedLayers_.

192 { return nMatchedLayers_; }
unsigned int nMatchedLayers_
Definition: L1track3D.h:278

◆ numMatchedStubs()

unsigned int tmtt::L1track3D::numMatchedStubs ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 190 of file L1track3D.h.

References matchedStubs_.

Referenced by tmtt::L1fittedTrack::numKilledMatchedStubs(), and purity().

190 { return matchedStubs_.size(); }
std::vector< const Stub * > matchedStubs_
Definition: L1track3D.h:277

◆ numStubs()

unsigned int tmtt::L1track3D::numStubs ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 97 of file L1track3D.h.

References stubs_.

Referenced by tmtt::KFbase::doKF(), tmtt::KFbase::fit(), tmtt::KFTrackletTrack::numKilledStubs(), tmtt::L1fittedTrack::numKilledStubs(), and purity().

97 { return stubs_.size(); }
std::vector< Stub * > stubs_
Definition: L1track3D.h:258

◆ optoLinkID()

unsigned int tmtt::L1track3D::optoLinkID ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 178 of file L1track3D.h.

References optoLinkID_.

Referenced by tmtt::L1fittedTrack::L1fittedTrack().

178 { return optoLinkID_; }
unsigned int optoLinkID_
Definition: L1track3D.h:268

◆ phi0()

float tmtt::L1track3D::phi0 ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 158 of file L1track3D.h.

References helixRphi_.

Referenced by chiPhi(), tmtt::KFbase::fit(), phiAtChosenR(), tmtt::ChiSquaredFit4::seed(), and tmtt::KFParamsComb::seedX().

158 { return helixRphi_.second; }
std::pair< float, float > helixRphi_
Definition: L1track3D.h:263

◆ phiAtChosenR()

float tmtt::L1track3D::phiAtChosenR ( ) const
inline

Definition at line 165 of file L1track3D.h.

References tmtt::Settings::chosenRofPhi(), reco::deltaPhi(), tmtt::Settings::invPtToDphi(), phi0(), qOverPt(), and settings_.

165  {
166  return reco::deltaPhi(this->phi0() - (settings_->invPtToDphi() * settings_->chosenRofPhi()) * this->qOverPt(),
167  0.);
168  }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
float phi0() const override
Definition: L1track3D.h:158
double invPtToDphi() const
Definition: Settings.h:397
float qOverPt() const override
Definition: L1track3D.h:149
const Settings * settings_
Definition: L1track3D.h:255
double chosenRofPhi() const
Definition: Settings.h:112

◆ pt()

float tmtt::L1track3D::pt ( ) const
inline

◆ purity()

float tmtt::L1track3D::purity ( ) const
inline

Definition at line 194 of file L1track3D.h.

References nano_mu_digi_cff::float, numMatchedStubs(), and numStubs().

194 { return numMatchedStubs() / float(numStubs()); }
unsigned int numMatchedStubs() const override
Definition: L1track3D.h:190
unsigned int numStubs() const override
Definition: L1track3D.h:97

◆ qOverPt()

float tmtt::L1track3D::qOverPt ( ) const
inlineoverridevirtual

◆ seedLayerType()

TrackletSeedType tmtt::L1track3D::seedLayerType ( ) const
inline

Definition at line 81 of file L1track3D.h.

References seedLayerType_.

Referenced by setSeedLayerType().

81 { return seedLayerType_; }
TrackletSeedType seedLayerType_
Definition: L1track3D.h:272

◆ seedPS()

unsigned int tmtt::L1track3D::seedPS ( ) const
inline

Definition at line 85 of file L1track3D.h.

References seedPS_.

Referenced by setSeedPS().

85 { return seedPS_; }
unsigned int seedPS_
Definition: L1track3D.h:273

◆ setBestStubs()

void tmtt::L1track3D::setBestStubs ( std::unordered_set< const Stub *>  bestStubs)
inline

Definition at line 88 of file L1track3D.h.

References bestStubs(), and bestStubs_.

88 { bestStubs_ = bestStubs; }
std::unordered_set< const Stub * > bestStubs_
Definition: L1track3D.h:260
std::unordered_set< const Stub * > bestStubs() const
Definition: L1track3D.h:89

◆ setSeedLayerType()

void tmtt::L1track3D::setSeedLayerType ( unsigned int  seedLayerType)
inline

Definition at line 80 of file L1track3D.h.

References seedLayerType(), and seedLayerType_.

TrackletSeedType seedLayerType() const
Definition: L1track3D.h:81
TrackletSeedType seedLayerType_
Definition: L1track3D.h:272

◆ setSeedPS()

void tmtt::L1track3D::setSeedPS ( unsigned int  seedPS)
inline

Definition at line 84 of file L1track3D.h.

References seedPS(), and seedPS_.

84 { seedPS_ = seedPS; }
unsigned int seedPS() const
Definition: L1track3D.h:85
unsigned int seedPS_
Definition: L1track3D.h:273

◆ stubs()

const std::vector<Stub*>& tmtt::L1track3D::stubs ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 95 of file L1track3D.h.

References stubs_.

Referenced by tmtt::SimpleLR4::fit(), tmtt::ChiSquaredFitBase::fit(), and tmtt::KFbase::fit().

95 { return stubs_; }
std::vector< Stub * > stubs_
Definition: L1track3D.h:258

◆ stubsConst()

const std::vector<const Stub*>& tmtt::L1track3D::stubsConst ( ) const
inlineoverridevirtual

Implements tmtt::L1trackBase.

Definition at line 94 of file L1track3D.h.

References stubsConst_.

94 { return stubsConst_; }
std::vector< const Stub * > stubsConst_
Definition: L1track3D.h:259

◆ tanLambda()

float tmtt::L1track3D::tanLambda ( ) const
inline

Definition at line 160 of file L1track3D.h.

References helixRz_.

Referenced by chiZ(), tmtt::KFbase::fit(), tmtt::ChiSquaredFit4::seed(), tmtt::KFParamsComb::seedX(), theta(), and zAtChosenR().

160 { return helixRz_.second; }
std::pair< float, float > helixRz_
Definition: L1track3D.h:264

◆ theta()

float tmtt::L1track3D::theta ( void  ) const
inline

Definition at line 161 of file L1track3D.h.

References tanLambda().

Referenced by eta(), and Tau.Tau::zImpact().

161 { return atan2(1., this->tanLambda()); } // Use atan2 to ensure 0 < theta < pi.
float tanLambda() const
Definition: L1track3D.h:160

◆ z0()

float tmtt::L1track3D::z0 ( ) const
inline

Definition at line 159 of file L1track3D.h.

References helixRz_.

Referenced by chiZ(), tmtt::KFbase::fit(), tmtt::ChiSquaredFit4::seed(), tmtt::KFParamsComb::seedX(), and zAtChosenR().

159 { return helixRz_.first; }
std::pair< float, float > helixRz_
Definition: L1track3D.h:264

◆ zAtChosenR()

float tmtt::L1track3D::zAtChosenR ( ) const
inline

Definition at line 169 of file L1track3D.h.

References tmtt::Settings::chosenRofZ(), settings_, tanLambda(), and z0().

169  {
170  return (this->z0() + (settings_->chosenRofZ()) * this->tanLambda());
171  } // neglects transverse impact parameter & track curvature.
const Settings * settings_
Definition: L1track3D.h:255
float z0() const
Definition: L1track3D.h:159
float tanLambda() const
Definition: L1track3D.h:160
double chosenRofZ() const
Definition: Settings.h:127

Member Data Documentation

◆ bestStubs_

std::unordered_set<const Stub*> tmtt::L1track3D::bestStubs_
private

Definition at line 260 of file L1track3D.h.

Referenced by bestStubs(), and setBestStubs().

◆ cellLocationHT_

std::pair<unsigned int, unsigned int> tmtt::L1track3D::cellLocationHT_
private

Definition at line 262 of file L1track3D.h.

Referenced by cellLocationHT().

◆ helixD0_

float tmtt::L1track3D::helixD0_
private

Definition at line 265 of file L1track3D.h.

Referenced by d0().

◆ helixRphi_

std::pair<float, float> tmtt::L1track3D::helixRphi_
private

Definition at line 263 of file L1track3D.h.

Referenced by helixRphi(), phi0(), and qOverPt().

◆ helixRz_

std::pair<float, float> tmtt::L1track3D::helixRz_
private

Definition at line 264 of file L1track3D.h.

Referenced by helixRz(), tanLambda(), and z0().

◆ iEtaReg_

unsigned int tmtt::L1track3D::iEtaReg_
private

Definition at line 267 of file L1track3D.h.

Referenced by cheat(), and iEtaReg().

◆ iPhiSec_

unsigned int tmtt::L1track3D::iPhiSec_
private

Definition at line 266 of file L1track3D.h.

Referenced by cheat(), and iPhiSec().

◆ matchedStubs_

std::vector<const Stub*> tmtt::L1track3D::matchedStubs_
private

Definition at line 277 of file L1track3D.h.

Referenced by cheat(), L1track3D(), matchedStubs(), and numMatchedStubs().

◆ matchedTP_

const TP* tmtt::L1track3D::matchedTP_
private

Definition at line 276 of file L1track3D.h.

Referenced by cheat(), L1track3D(), and matchedTP().

◆ mergedHTcell_

bool tmtt::L1track3D::mergedHTcell_
private

Definition at line 269 of file L1track3D.h.

Referenced by cheat(), and mergedHTcell().

◆ nLayers_

unsigned int tmtt::L1track3D::nLayers_
private

Definition at line 261 of file L1track3D.h.

Referenced by cheat(), L1track3D(), and numLayers().

◆ nMatchedLayers_

unsigned int tmtt::L1track3D::nMatchedLayers_
private

Definition at line 278 of file L1track3D.h.

Referenced by cheat(), L1track3D(), and numMatchedLayers().

◆ optoLinkID_

unsigned int tmtt::L1track3D::optoLinkID_
private

Definition at line 268 of file L1track3D.h.

Referenced by optoLinkID().

◆ seedLayerType_

TrackletSeedType tmtt::L1track3D::seedLayerType_
private

Definition at line 272 of file L1track3D.h.

Referenced by seedLayerType(), and setSeedLayerType().

◆ seedPS_

unsigned int tmtt::L1track3D::seedPS_
private

Definition at line 273 of file L1track3D.h.

Referenced by seedPS(), and setSeedPS().

◆ settings_

const Settings* tmtt::L1track3D::settings_
private

Definition at line 255 of file L1track3D.h.

Referenced by cheat(), chiPhi(), chiPhiDigi(), chiZDigi(), phiAtChosenR(), and zAtChosenR().

◆ stubs_

std::vector<Stub*> tmtt::L1track3D::stubs_
private

Definition at line 258 of file L1track3D.h.

Referenced by cheat(), chiPhi(), chiZ(), L1track3D(), numStubs(), and stubs().

◆ stubsConst_

std::vector<const Stub*> tmtt::L1track3D::stubsConst_
private

Definition at line 259 of file L1track3D.h.

Referenced by cheat(), and stubsConst().