CMS 3D CMS Logo

IdealHelixParameters.h
Go to the documentation of this file.
1 #ifndef IDEALHELIXPARAMETERS_H
2 #define IDEALHELIXPARAMETERS_H
3 
8 
9 /*
10 Given a track, evaluates the status of the track finding in the XY plane
11 the point of tangent of the circle to the reference point(in general the PrimaryVertex or the BeamSpot)
12 
13 The approach is the following.
14 Given a track,
15 -extract the innermomentum at the innerpoint
16 -evalaute the radius of curvature and the center of the circle
17 -solving geometrical equation, evaluate the point of tangence to the circle, starting from the PV
18 -evaluate the status at this point of tangence T
19 
20  */
22 public:
24  : _magnField(nullptr),
25  _track(nullptr),
26  _refPoint(math::XYZVector(0, 0, 0)),
27  _tangentPoint(math::XYZVector(0, 0, 0)),
30 
31  inline void setMagnField(const MagneticField* magnField) { _magnField = magnField; }
32  inline void setData(const reco::Track* track, const math::XYZVector& refPoint = math::XYZVector(0, 0, 0));
33  inline void setData(const reco::Track* track, const math::XYZPoint& ref);
34 
35  inline bool isTangentPointDistanceLessThan(float rmax, const reco::Track* track, const math::XYZVector& refPoint);
36 
40  float GetTransverseIPAtTangent() const { return _transverseIP; }
41  float GetRotationAngle() const { return _rotationAngle; }
42 
43 private:
44  inline void calculate();
45  inline void evalCircleCenter();
46  inline void evalTangentPoint();
47  inline void evalMomentumatTangentPoint();
48 
51  float _radius;
58 
59  // std::stringstream ss;
60 };
61 #include "IdealHelixParameters.icc"
62 
63 #endif
IdealHelixParameters::_transverseIP
float _transverseIP
Definition: IdealHelixParameters.h:56
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
GlobalTrajectoryParameters.h
MessageLogger.h
IdealHelixParameters::GetCircleCenter
math::XYZVector GetCircleCenter() const
Definition: IdealHelixParameters.h:37
IdealHelixParameters::setData
void setData(const reco::Track *track, const math::XYZVector &refPoint=math::XYZVector(0, 0, 0))
IdealHelixParameters::~IdealHelixParameters
~IdealHelixParameters()
Definition: IdealHelixParameters.h:29
IdealHelixParameters::evalCircleCenter
void evalCircleCenter()
IdealHelixParameters::_radius
float _radius
Definition: IdealHelixParameters.h:51
XYZVector
math::XYZVector XYZVector
Definition: RawParticle.h:26
IdealHelixParameters::_tangentPoint
math::XYZVector _tangentPoint
Definition: IdealHelixParameters.h:54
IdealHelixParameters::calculate
void calculate()
IdealHelixParameters::evalTangentPoint
void evalTangentPoint()
IdealHelixParameters::_MomentumAtTangentPoint
math::XYZVector _MomentumAtTangentPoint
Definition: IdealHelixParameters.h:55
IdealHelixParameters::GetRotationAngle
float GetRotationAngle() const
Definition: IdealHelixParameters.h:41
Track.h
TrackFwd.h
IdealHelixParameters
Definition: IdealHelixParameters.h:21
IdealHelixParameters::setMagnField
void setMagnField(const MagneticField *magnField)
Definition: IdealHelixParameters.h:31
IdealHelixParameters::_rotationAngle
float _rotationAngle
Definition: IdealHelixParameters.h:57
reco::Track
Definition: Track.h:27
IdealHelixParameters::GetTangentPoint
math::XYZVector GetTangentPoint() const
Definition: IdealHelixParameters.h:38
IdealHelixParameters::GetMomentumAtTangentPoint
math::XYZVector GetMomentumAtTangentPoint() const
Definition: IdealHelixParameters.h:39
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
IdealHelixParameters::IdealHelixParameters
IdealHelixParameters()
Definition: IdealHelixParameters.h:23
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
IdealHelixParameters::evalMomentumatTangentPoint
void evalMomentumatTangentPoint()
IdealHelixParameters::_refPoint
math::XYZVector _refPoint
Definition: IdealHelixParameters.h:53
IdealHelixParameters::_circleCenter
math::XYZVector _circleCenter
Definition: IdealHelixParameters.h:52
math
Definition: choleskyInversion.h:19
IdealHelixParameters::GetTransverseIPAtTangent
float GetTransverseIPAtTangent() const
Definition: IdealHelixParameters.h:40
MagneticField
Definition: MagneticField.h:19
IdealHelixParameters::_track
const reco::Track * _track
Definition: IdealHelixParameters.h:50
IdealHelixParameters::_magnField
const MagneticField * _magnField
Definition: IdealHelixParameters.h:49
IdealHelixParameters::isTangentPointDistanceLessThan
bool isTangentPointDistanceLessThan(float rmax, const reco::Track *track, const math::XYZVector &refPoint)