CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
< GlobalTrackingGeometry
theTrackingGeometry
 
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::TransientTrackFromFTS ( )
TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts)

Definition at line 22 of file TransientTrackFromFTS.cc.

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

Definition at line 33 of file TransientTrackFromFTS.cc.

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::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),
64  dtErrorExt_(dtime),
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
TransientTrackFromFTS::TransientTrackFromFTS ( const TransientTrackFromFTS tt)

Definition at line 72 of file TransientTrackFromFTS.cc.

References impactPointState(), impactPointTSCP(), initialTSCP, initialTSCPAvailable, initialTSOS, and initialTSOSAvailable.

74  hasTime(tt.hasTime),
75  timeExt_(tt.timeExt_),
77  theField(tt.field()),
78  initialTSOSAvailable(false),
79  initialTSCPAvailable(false),
80  trackAvailable(false) {
81  if (tt.initialTSOSAvailable) {
83  initialTSOSAvailable = true;
84  }
85  if (tt.initialTSCPAvailable) {
87  initialTSCPAvailable = true;
88  }
89 }
TrajectoryStateOnSurface initialTSOS
const MagneticField * theField
TrajectoryStateClosestToPoint impactPointTSCP() const override
TrajectoryStateClosestToPoint initialTSCP
TrajectoryStateOnSurface impactPointState() const override
FreeTrajectoryState initialFreeState() const override
const MagneticField * field() const override

Member Function Documentation

void TransientTrackFromFTS::calculateTSOSAtVertex ( ) const
private
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
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()); }
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
TrajectoryStateOnSurface TransientTrackFromFTS::impactPointState ( ) const
overridevirtual
bool reco::TransientTrackFromFTS::impactPointStateAvailable ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 57 of file TransientTrackFromFTS.h.

References initialTSOSAvailable.

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.

Referenced by TransientTrackFromFTS().

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

Implements reco::BasicTransientTrack.

Definition at line 38 of file TransientTrackFromFTS.h.

References initialFTS.

38 { return initialFTS; }
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 }
TransientTrackFromFTS& reco::TransientTrackFromFTS::operator= ( const TransientTrackFromFTS tt)
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 }
void TransientTrackFromFTS::setBeamSpot ( const reco::BeamSpot beamSpot)
overridevirtual
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
TrajectoryStateClosestToBeamLine TransientTrackFromFTS::stateAtBeamLine ( ) const
overridevirtual
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, and theField.

130  {
132  return tipe.extrapolate(initialFTS, point);
133 }
const MagneticField * theField
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()); }
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 
142  theTrack = Track(0., 0., pos, mom, initialFTS.charge(), initialFTS.curvilinearError());
143  trackAvailable = true;
144  }
145  return theTrack;
146 }
T y() const
Definition: PV3DBase.h:60
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
T z() const
Definition: PV3DBase.h:61
GlobalVector momentum() const
GlobalPoint position() 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
T x() const
Definition: PV3DBase.h:59
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 reco::TransientTrackFromFTS::trajectoryStateClosestToPoint ( const GlobalPoint point) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 44 of file TransientTrackFromFTS.h.

References builder, and initialFTS.

44  {
45  return builder(initialFTS, point);
46  }

Member Data Documentation

bool reco::TransientTrackFromFTS::blStateAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

TSCPBuilderNoMaterial reco::TransientTrackFromFTS::builder
private

Definition at line 84 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

double reco::TransientTrackFromFTS::dtErrorExt_
private

Definition at line 78 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt().

bool reco::TransientTrackFromFTS::hasTime
private

Definition at line 76 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt(), and timeExt().

FreeTrajectoryState reco::TransientTrackFromFTS::initialFTS
private
TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::initialTSCP
mutableprivate

Definition at line 82 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

bool reco::TransientTrackFromFTS::initialTSCPAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

TrajectoryStateOnSurface reco::TransientTrackFromFTS::initialTSOS
mutableprivate
bool reco::TransientTrackFromFTS::initialTSOSAvailable
mutableprivate
reco::BeamSpot reco::TransientTrackFromFTS::theBeamSpot
private

Definition at line 86 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

const MagneticField* reco::TransientTrackFromFTS::theField
private

Definition at line 79 of file TransientTrackFromFTS.h.

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

Track reco::TransientTrackFromFTS::theTrack
mutableprivate

Definition at line 83 of file TransientTrackFromFTS.h.

Referenced by track().

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

Definition at line 85 of file TransientTrackFromFTS.h.

Referenced by setTrackingGeometry().

double reco::TransientTrackFromFTS::timeExt_
private

Definition at line 77 of file TransientTrackFromFTS.h.

Referenced by timeExt().

bool reco::TransientTrackFromFTS::trackAvailable
mutableprivate

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by track().

TrajectoryStateClosestToBeamLine reco::TransientTrackFromFTS::trajectoryStateClosestToBeamLine
mutableprivate

Definition at line 87 of file TransientTrackFromFTS.h.

Referenced by stateAtBeamLine().