CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::TransientTrackFromFTS Class Reference

#include <TransientTrackFromFTS.h>

Inheritance diagram for reco::TransientTrackFromFTS:
reco::BasicTransientTrack

Public Member Functions

TrackCharge charge () const override
 
double dtErrorExt () const override
 
const MagneticFieldfield () const override
 
TrajectoryStateOnSurface impactPointState () const override
 
bool impactPointStateAvailable () const override
 
TrajectoryStateClosestToPoint impactPointTSCP () const override
 
FreeTrajectoryState initialFreeState () const override
 
TrajectoryStateOnSurface innermostMeasurementState () const override
 
TransientTrackFromFTSoperator= (const TransientTrackFromFTS &tt)
 
TrajectoryStateOnSurface outermostMeasurementState () const override
 
void setBeamSpot (const reco::BeamSpot &beamSpot) override
 
void setTrackingGeometry (const edm::ESHandle< GlobalTrackingGeometry > &) override
 
TrajectoryStateClosestToBeamLine stateAtBeamLine () const override
 
TrajectoryStateOnSurface stateOnSurface (const GlobalPoint &point) const override
 
double timeExt () const override
 
const Tracktrack () const override
 
TrackBaseRef trackBaseRef () const override
 
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint (const GlobalPoint &point) const override
 
 TransientTrackFromFTS ()
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const double time, const double dtime)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const double time, const double dtime, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 TransientTrackFromFTS (const TransientTrackFromFTS &tt)
 
- Public Member Functions inherited from reco::BasicTransientTrack
virtual CandidatePtr candidate () const
 
virtual ~BasicTransientTrack ()
 

Private Member Functions

void calculateTSOSAtVertex () const
 

Private Attributes

bool blStateAvailable
 
TSCPBuilderNoMaterial builder
 
double dtErrorExt_
 
bool hasTime
 
FreeTrajectoryState initialFTS
 
TrajectoryStateClosestToPoint initialTSCP
 
bool initialTSCPAvailable
 
TrajectoryStateOnSurface initialTSOS
 
bool initialTSOSAvailable
 
reco::BeamSpot theBeamSpot
 
const MagneticFieldtheField
 
Track theTrack
 
edm::ESHandle< GlobalTrackingGeometrytheTrackingGeometry
 
double timeExt_
 
bool trackAvailable
 
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
 

Additional Inherited Members

- Public Types inherited from reco::BasicTransientTrack
using BTT = BasicTransientTrack
 
using Proxy = ProxyBase11< BTT >
 

Detailed Description

Definition at line 16 of file TransientTrackFromFTS.h.

Constructor & Destructor Documentation

◆ TransientTrackFromFTS() [1/6]

TransientTrackFromFTS::TransientTrackFromFTS ( )

◆ TransientTrackFromFTS() [2/6]

TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts)

◆ TransientTrackFromFTS() [3/6]

TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const double  time,
const double  dtime 
)

Definition at line 33 of file TransientTrackFromFTS.cc.

34  : initialFTS(fts),
35  hasTime(true),
36  timeExt_(time),
39  initialTSOSAvailable(false),
40  initialTSCPAvailable(false),
41  trackAvailable(false),
42  blStateAvailable(false) {}
const GlobalTrajectoryParameters & parameters() const
const MagneticField * theField
const MagneticField & magneticField() const
double dtime()

◆ TransientTrackFromFTS() [4/6]

TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 44 of file TransientTrackFromFTS.cc.

46  : initialFTS(fts),
47  hasTime(false),
48  timeExt_(0.),
49  dtErrorExt_(0.),
51  initialTSOSAvailable(false),
52  initialTSCPAvailable(false),
53  trackAvailable(false),
54  blStateAvailable(false),
55  theTrackingGeometry(tg) {}
const GlobalTrajectoryParameters & parameters() const
const MagneticField * theField
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
const MagneticField & magneticField() const

◆ TransientTrackFromFTS() [5/6]

TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const double  time,
const double  dtime,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 57 of file TransientTrackFromFTS.cc.

61  : initialFTS(fts),
62  hasTime(true),
63  timeExt_(time),
66  initialTSOSAvailable(false),
67  initialTSCPAvailable(false),
68  trackAvailable(false),
69  blStateAvailable(false),
70  theTrackingGeometry(tg) {}
const GlobalTrajectoryParameters & parameters() const
const MagneticField * theField
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
const MagneticField & magneticField() const
double dtime()

◆ TransientTrackFromFTS() [6/6]

TransientTrackFromFTS::TransientTrackFromFTS ( const TransientTrackFromFTS tt)

Definition at line 72 of file TransientTrackFromFTS.cc.

References initialTSCP, initialTSCPAvailable, initialTSOS, and initialTSOSAvailable.

73  : initialFTS(tt.initialFreeState()),
74  hasTime(tt.hasTime),
75  timeExt_(tt.timeExt_),
76  dtErrorExt_(tt.dtErrorExt_),
77  theField(tt.field()),
78  initialTSOSAvailable(false),
79  initialTSCPAvailable(false),
80  trackAvailable(false) {
81  if (tt.initialTSOSAvailable) {
82  initialTSOS = tt.impactPointState();
83  initialTSOSAvailable = true;
84  }
85  if (tt.initialTSCPAvailable) {
86  initialTSCP = tt.impactPointTSCP();
87  initialTSCPAvailable = true;
88  }
89 }
TrajectoryStateOnSurface initialTSOS
const MagneticField * theField
Definition: TTTypes.h:54
TrajectoryStateClosestToPoint initialTSCP

Member Function Documentation

◆ calculateTSOSAtVertex()

void TransientTrackFromFTS::calculateTSOSAtVertex ( ) const
private

◆ charge()

TrackCharge reco::TransientTrackFromFTS::charge ( void  ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 59 of file TransientTrackFromFTS.h.

References FreeTrajectoryState::charge(), and initialFTS.

59 { return initialFTS.charge(); }
TrackCharge charge() const

◆ dtErrorExt()

double reco::TransientTrackFromFTS::dtErrorExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 70 of file TransientTrackFromFTS.h.

References dtErrorExt_, and hasTime.

70 { return (hasTime ? dtErrorExt_ : std::numeric_limits<double>::quiet_NaN()); }

◆ field()

const MagneticField* reco::TransientTrackFromFTS::field ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 61 of file TransientTrackFromFTS.h.

References theField.

61 { return theField; }
const MagneticField * theField

◆ impactPointState()

TrajectoryStateOnSurface TransientTrackFromFTS::impactPointState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 100 of file TransientTrackFromFTS.cc.

References calculateTSOSAtVertex(), initialTSOS, initialTSOSAvailable, and UNLIKELY.

100  {
103  return initialTSOS;
104 }
TrajectoryStateOnSurface initialTSOS
#define UNLIKELY(x)
Definition: Likely.h:21

◆ impactPointStateAvailable()

bool reco::TransientTrackFromFTS::impactPointStateAvailable ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 57 of file TransientTrackFromFTS.h.

References initialTSOSAvailable.

◆ impactPointTSCP()

TrajectoryStateClosestToPoint TransientTrackFromFTS::impactPointTSCP ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 106 of file TransientTrackFromFTS.cc.

References builder, initialFTS, initialTSCP, initialTSCPAvailable, FreeTrajectoryState::position(), and UNLIKELY.

106  {
109  initialTSCPAvailable = true;
110  }
111  return initialTSCP;
112 }
GlobalPoint position() const
TrajectoryStateClosestToPoint initialTSCP
#define UNLIKELY(x)
Definition: Likely.h:21

◆ initialFreeState()

FreeTrajectoryState reco::TransientTrackFromFTS::initialFreeState ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 38 of file TransientTrackFromFTS.h.

References initialFTS.

38 { return initialFTS; }

◆ innermostMeasurementState()

TrajectoryStateOnSurface TransientTrackFromFTS::innermostMeasurementState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 119 of file TransientTrackFromFTS.cc.

References Exception.

119  {
120  throw cms::Exception("LogicError") << "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can "
121  "not have an innermostMeasurementState";
122 }

◆ operator=()

TransientTrackFromFTS& reco::TransientTrackFromFTS::operator= ( const TransientTrackFromFTS tt)

◆ outermostMeasurementState()

TrajectoryStateOnSurface TransientTrackFromFTS::outermostMeasurementState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 114 of file TransientTrackFromFTS.cc.

References Exception.

114  {
115  throw cms::Exception("LogicError") << "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can "
116  "not have an outermostMeasurementState";
117 }

◆ setBeamSpot()

void TransientTrackFromFTS::setBeamSpot ( const reco::BeamSpot beamSpot)
overridevirtual

◆ setTrackingGeometry()

void TransientTrackFromFTS::setTrackingGeometry ( const edm::ESHandle< GlobalTrackingGeometry > &  tg)
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 91 of file TransientTrackFromFTS.cc.

References theTrackingGeometry.

91  {
93 }
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry

◆ stateAtBeamLine()

TrajectoryStateClosestToBeamLine TransientTrackFromFTS::stateAtBeamLine ( ) const
overridevirtual

◆ stateOnSurface()

TrajectoryStateOnSurface TransientTrackFromFTS::stateOnSurface ( const GlobalPoint point) const
overridevirtual

The TSOS at any point. The initial state will be used for the propagation.

Implements reco::BasicTransientTrack.

Definition at line 130 of file TransientTrackFromFTS.cc.

References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, point, and theField.

130  {
132  return tipe.extrapolate(initialFTS, point);
133 }
const MagneticField * theField
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

◆ timeExt()

double reco::TransientTrackFromFTS::timeExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 69 of file TransientTrackFromFTS.h.

References hasTime, and timeExt_.

69 { return (hasTime ? timeExt_ : std::numeric_limits<double>::quiet_NaN()); }

◆ track()

const Track & TransientTrackFromFTS::track ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 135 of file TransientTrackFromFTS.cc.

References FreeTrajectoryState::charge(), FreeTrajectoryState::curvilinearError(), initialFTS, FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::position(), theTrack, trackAvailable, UNLIKELY, and findQualityFiles::v.

135  {
136  if UNLIKELY (!trackAvailable) {
138  math::XYZPoint pos(v.x(), v.y(), v.z());
140  math::XYZVector mom(p.x(), p.y(), p.z());
141 
143  trackAvailable = true;
144  }
145  return theTrack;
146 }
const CurvilinearTrajectoryError & curvilinearError() const
GlobalPoint position() const
TrackCharge charge() const
GlobalVector momentum() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
#define UNLIKELY(x)
Definition: Likely.h:21

◆ trackBaseRef()

TrackBaseRef reco::TransientTrackFromFTS::trackBaseRef ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 65 of file TransientTrackFromFTS.h.

65 { return TrackBaseRef(); }
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:35

◆ trajectoryStateClosestToPoint()

TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::trajectoryStateClosestToPoint ( const GlobalPoint point) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 44 of file TransientTrackFromFTS.h.

References builder, initialFTS, and point.

44  {
45  return builder(initialFTS, point);
46  }
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

Member Data Documentation

◆ blStateAvailable

bool reco::TransientTrackFromFTS::blStateAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

◆ builder

TSCPBuilderNoMaterial reco::TransientTrackFromFTS::builder
private

Definition at line 84 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

◆ dtErrorExt_

double reco::TransientTrackFromFTS::dtErrorExt_
private

Definition at line 78 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt().

◆ hasTime

bool reco::TransientTrackFromFTS::hasTime
private

Definition at line 76 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt(), and timeExt().

◆ initialFTS

FreeTrajectoryState reco::TransientTrackFromFTS::initialFTS
private

◆ initialTSCP

TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::initialTSCP
mutableprivate

Definition at line 82 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

◆ initialTSCPAvailable

bool reco::TransientTrackFromFTS::initialTSCPAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

◆ initialTSOS

TrajectoryStateOnSurface reco::TransientTrackFromFTS::initialTSOS
mutableprivate

◆ initialTSOSAvailable

bool reco::TransientTrackFromFTS::initialTSOSAvailable
mutableprivate

◆ theBeamSpot

reco::BeamSpot reco::TransientTrackFromFTS::theBeamSpot
private

Definition at line 86 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

◆ theField

const MagneticField* reco::TransientTrackFromFTS::theField
private

Definition at line 79 of file TransientTrackFromFTS.h.

Referenced by calculateTSOSAtVertex(), field(), and stateOnSurface().

◆ theTrack

Track reco::TransientTrackFromFTS::theTrack
mutableprivate

Definition at line 83 of file TransientTrackFromFTS.h.

Referenced by track().

◆ theTrackingGeometry

edm::ESHandle<GlobalTrackingGeometry> reco::TransientTrackFromFTS::theTrackingGeometry
private

Definition at line 85 of file TransientTrackFromFTS.h.

Referenced by setTrackingGeometry().

◆ timeExt_

double reco::TransientTrackFromFTS::timeExt_
private

Definition at line 77 of file TransientTrackFromFTS.h.

Referenced by timeExt().

◆ trackAvailable

bool reco::TransientTrackFromFTS::trackAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by track().

◆ trajectoryStateClosestToBeamLine

TrajectoryStateClosestToBeamLine reco::TransientTrackFromFTS::trajectoryStateClosestToBeamLine
mutableprivate

Definition at line 87 of file TransientTrackFromFTS.h.

Referenced by stateAtBeamLine().