CMS 3D CMS Logo

List of all members | Public Member Functions
trackerTFP::TrackKF Class Reference

#include <DataFormats.h>

Inheritance diagram for trackerTFP::TrackKF:
trackerTFP::Track< int, int, int, double, double, double, double >

Public Member Functions

double cot () const
 
double cotGlobal () const
 
double inv2R () const
 
bool match () const
 
double phiT () const
 
int sectorEta () const
 
int sectorPhi () const
 
 TrackKF (const tt::FrameTrack &frame, const DataFormats *dataFormats)
 
 TrackKF (const TrackKFin &track, double phiT, double inv2R, double zT, double cot)
 
TTTrack< Ref_Phase2TrackerDigi_ttTrack (const std::vector< StubKF > &stubs) const
 
double zT () const
 
 ~TrackKF ()
 
- Public Member Functions inherited from trackerTFP::Track< int, int, int, double, double, double, double >
tt::Frame bv () const
 
std::tuple< Ts... > data () const
 
const DataFormatsdataFormats () const
 
tt::FrameTrack frame () const
 
 operator bool () const
 
Process p () const
 
 Track (const tt::FrameTrack &frame, const DataFormats *dataFormats, Process p)
 
 Track (const Track< Others... > &track, Ts... data)
 
 Track (const Stub< Others... > &stub, const TTTrackRef &ttTrackRef, Ts... data)
 
 Track (const TTTrackRef &ttTrackRef, const DataFormats *dataFormats, Process p, Ts... data)
 
TTTrackRef ttTrackRef () const
 
 ~Track ()
 

Additional Inherited Members

- Protected Member Functions inherited from trackerTFP::Track< int, int, int, double, double, double, double >
double base (Variable v) const
 
DataFormat format (Variable v) const
 
DataFormat format (Variable v, Process p) const
 
const tt::Setupsetup () const
 
int width (Variable v) const
 
- Protected Attributes inherited from trackerTFP::Track< int, int, int, double, double, double, double >
std::tuple< Ts... > data_
 
const DataFormatsdataFormats_
 
tt::FrameTrack frame_
 
Process p_
 

Detailed Description

Definition at line 950 of file DataFormats.h.

Constructor & Destructor Documentation

◆ TrackKF() [1/2]

trackerTFP::TrackKF::TrackKF ( const tt::FrameTrack frame,
const DataFormats dataFormats 
)

Definition at line 463 of file DataFormats.cc.

References trackerTFP::kf.

◆ TrackKF() [2/2]

trackerTFP::TrackKF::TrackKF ( const TrackKFin track,
double  phiT,
double  inv2R,
double  zT,
double  cot 
)

Definition at line 466 of file DataFormats.cc.

References funct::abs(), trackerTFP::DataFormat::base(), trackerTFP::DataFormats::convertTrack(), trackerTFP::cot, cot(), trackerTFP::Track< int, int, int, double, double, double, double >::data_, trackerTFP::Track< int, int, int, double, double, double, double >::dataFormats_, trackerTFP::DataFormats::format(), trackerTFP::Track< int, int, int, double, double, double, double >::frame_, trackerTFP::inv2R, inv2R(), trackerTFP::Track< int, int, int, double, double, double, double >::p_, trackerTFP::phiT, phiT(), trackerTFP::sectorEta, trackerTFP::sectorPhi, trackerTFP::zht, trackerTFP::zT, and zT().

467  : Track(
468  track, false, track.sectorPhi(), track.sectorEta(), track.phiT(), track.inv2R(), track.cot(), track.zT()) {
471  get<3>(data_) += phiT;
472  get<4>(data_) += inv2R;
473  get<5>(data_) += cot;
474  get<6>(data_) += zT;
476  }
double cot() const
Definition: DataFormats.h:968
double zT() const
Definition: DataFormats.h:970
double phiT() const
Definition: DataFormats.h:964
double base() const
Definition: DataFormats.h:117
Track(const tt::FrameTrack &frame, const DataFormats *dataFormats, Process p)
Definition: DataFormats.cc:388
double inv2R() const
Definition: DataFormats.h:966
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void convertTrack(Process p, const tt::Frame &bv, std::tuple< Ts... > &data) const
const DataFormat & format(Variable v, Process p) const
Definition: DataFormats.h:506

◆ ~TrackKF()

trackerTFP::TrackKF::~TrackKF ( )
inline

Definition at line 956 of file DataFormats.h.

956 {}

Member Function Documentation

◆ cot()

double trackerTFP::TrackKF::cot ( ) const
inline

◆ cotGlobal()

double trackerTFP::TrackKF::cotGlobal ( ) const
inline

◆ inv2R()

double trackerTFP::TrackKF::inv2R ( ) const
inline

◆ match()

bool trackerTFP::TrackKF::match ( ) const
inline

◆ phiT()

double trackerTFP::TrackKF::phiT ( ) const
inline

◆ sectorEta()

int trackerTFP::TrackKF::sectorEta ( ) const
inline

◆ sectorPhi()

int trackerTFP::TrackKF::sectorPhi ( ) const
inline

◆ ttTrack()

TTTrack< Ref_Phase2TrackerDigi_ > trackerTFP::TrackKF::ttTrack ( const std::vector< StubKF > &  stubs) const

Definition at line 479 of file DataFormats.cc.

References tt::Setup::baseRegion(), tt::Setup::baseSector(), tt::Setup::bField(), Calorimetry_cff::bField, trackerTFP::DataFormats::chosenRofPhi(), tt::Setup::chosenRofZ(), cot(), d0, trackerTFP::Track< int, int, int, double, double, double, double >::dataFormats_, SiPixelRawToDigiRegional_cfi::deltaPhi, trackerTFP::Track< int, int, int, double, double, double, double >::frame_, StubPtConsistency::getConsistency(), trackerTFP::hitPattern, inv2R(), HcalResponse_cfi::nPar, trackerTFP::phi0, phiT(), funct::pow(), tt::Setup::sectorCot(), sectorEta(), sectorPhi(), TTBV::set(), TTTrack< T >::setTrackSeedType(), trackerTFP::Track< int, int, int, double, double, double, double >::setup(), tt::Setup::v0(), tt::Setup::v1(), TTBV::val(), trackerTFP::z0, and zT().

479  {
480  const double invR = -this->inv2R() * 2.;
481  const double phi0 =
482  deltaPhi(this->phiT() - this->inv2R() * dataFormats_->chosenRofPhi() +
483  setup()->baseSector() * (this->sectorPhi() - .5) + setup()->baseRegion() * frame_.first->phiSector());
484  const double cot = this->cot() + setup()->sectorCot(this->sectorEta());
485  const double z0 = this->zT() - this->cot() * setup()->chosenRofZ();
486  TTBV hitVector(0, setup()->numLayers());
487  double chi2phi(0.);
488  double chi2z(0.);
489  vector<TTStubRef> ttStubRefs;
490  const int nLayer = stubs.size();
491  ttStubRefs.reserve(nLayer);
492  for (const StubKF& stub : stubs) {
493  hitVector.set(stub.layer());
494  const TTStubRef& ttStubRef = stub.ttStubRef();
495  chi2phi += pow(stub.phi(), 2) / setup()->v0(ttStubRef, this->inv2R());
496  chi2z += pow(stub.z(), 2) / setup()->v1(ttStubRef, cot);
497  ttStubRefs.push_back(ttStubRef);
498  }
499  static constexpr int nPar = 4;
500  static constexpr double d0 = 0.;
501  static constexpr double trkMVA1 = 0.;
502  static constexpr double trkMVA2 = 0.;
503  static constexpr double trkMVA3 = 0.;
504  const int hitPattern = hitVector.val();
505  const double bField = setup()->bField();
507  invR, phi0, cot, z0, d0, chi2phi, chi2z, trkMVA1, trkMVA2, trkMVA3, hitPattern, nPar, bField);
508  ttTrack.setStubRefs(ttStubRefs);
509  ttTrack.setPhiSector(frame_.first->phiSector());
510  ttTrack.setEtaSector(this->sectorEta());
511  ttTrack.setTrackSeedType(frame_.first->trackSeedType());
512  ttTrack.setStubPtConsistency(StubPtConsistency::getConsistency(
513  ttTrack, setup()->trackerGeometry(), setup()->trackerTopology(), bField, nPar));
514  return ttTrack;
515  }
double cot() const
Definition: DataFormats.h:968
double zT() const
Definition: DataFormats.h:970
double phiT() const
Definition: DataFormats.h:964
TTTrack< Ref_Phase2TrackerDigi_ > ttTrack(const std::vector< StubKF > &stubs) const
Definition: DataFormats.cc:479
double chosenRofZ() const
Definition: Setup.h:413
Bit vector used by Track Trigger emulators. Mainly used to convert integers into arbitrary (within ma...
Definition: TTBV.h:20
double v1(const TTStubRef &ttStubRef, double cot) const
Definition: Setup.cc:625
double chosenRofPhi() const
Definition: DataFormats.h:508
double v0(const TTStubRef &ttStubRef, double inv2R) const
Definition: Setup.cc:613
int sectorPhi() const
Definition: DataFormats.h:960
double inv2R() const
Definition: DataFormats.h:966
double baseSector() const
Definition: Setup.h:420
int sectorEta() const
Definition: DataFormats.h:962
double bField() const
Definition: Setup.h:204
static constexpr float d0
Class to store the L1 Track Trigger tracks.
Definition: TTTrack.h:29
double baseRegion() const
Definition: Setup.h:184
double sectorCot(int eta) const
Definition: Setup.h:428
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
float getConsistency(TTTrack< Ref_Phase2TrackerDigi_ > aTrack, const TrackerGeometry *theTrackerGeom, const TrackerTopology *tTopo, double mMagneticFieldStrength, int nPar)

◆ zT()

double trackerTFP::TrackKF::zT ( ) const
inline