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 469 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 472 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().

473  : Track(
474  track, false, track.sectorPhi(), track.sectorEta(), track.phiT(), track.inv2R(), track.cot(), track.zT()) {
477  get<3>(data_) += phiT;
478  get<4>(data_) += inv2R;
479  get<5>(data_) += cot;
480  get<6>(data_) += zT;
482  }
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:394
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 485 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().

485  {
486  const double invR = -this->inv2R() * 2.;
487  const double phi0 =
488  deltaPhi(this->phiT() - this->inv2R() * dataFormats_->chosenRofPhi() +
489  setup()->baseSector() * (this->sectorPhi() - .5) + setup()->baseRegion() * frame_.first->phiSector());
490  const double cot = this->cot() + setup()->sectorCot(this->sectorEta());
491  const double z0 = this->zT() - this->cot() * setup()->chosenRofZ();
492  TTBV hitVector(0, setup()->numLayers());
493  double chi2phi(0.);
494  double chi2z(0.);
495  vector<TTStubRef> ttStubRefs;
496  const int nLayer = stubs.size();
497  ttStubRefs.reserve(nLayer);
498  for (const StubKF& stub : stubs) {
499  hitVector.set(stub.layer());
500  const TTStubRef& ttStubRef = stub.ttStubRef();
501  chi2phi += pow(stub.phi(), 2) / setup()->v0(ttStubRef, this->inv2R());
502  chi2z += pow(stub.z(), 2) / setup()->v1(ttStubRef, cot);
503  ttStubRefs.push_back(ttStubRef);
504  }
505  static constexpr int nPar = 4;
506  static constexpr double d0 = 0.;
507  static constexpr double trkMVA1 = 0.;
508  static constexpr double trkMVA2 = 0.;
509  static constexpr double trkMVA3 = 0.;
510  const int hitPattern = hitVector.val();
511  const double bField = setup()->bField();
513  invR, phi0, cot, z0, d0, chi2phi, chi2z, trkMVA1, trkMVA2, trkMVA3, hitPattern, nPar, bField);
514  ttTrack.setStubRefs(ttStubRefs);
515  ttTrack.setPhiSector(frame_.first->phiSector());
516  ttTrack.setEtaSector(this->sectorEta());
517  ttTrack.setTrackSeedType(frame_.first->trackSeedType());
518  ttTrack.setStubPtConsistency(StubPtConsistency::getConsistency(
519  ttTrack, setup()->trackerGeometry(), setup()->trackerTopology(), bField, nPar));
520  return ttTrack;
521  }
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:485
double chosenRofZ() const
Definition: Setup.h:417
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:629
double chosenRofPhi() const
Definition: DataFormats.h:508
double v0(const TTStubRef &ttStubRef, double inv2R) const
Definition: Setup.cc:617
int sectorPhi() const
Definition: DataFormats.h:960
double inv2R() const
Definition: DataFormats.h:966
double baseSector() const
Definition: Setup.h:424
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:432
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