RecoTracker
ConversionSeedGenerators
interface
IdealHelixParameters.h
Go to the documentation of this file.
1
#ifndef IDEALHELIXPARAMETERS_H
2
#define IDEALHELIXPARAMETERS_H
3
4
#include "
DataFormats/TrackReco/interface/Track.h
"
5
#include "
DataFormats/TrackReco/interface/TrackFwd.h
"
6
#include "
TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h
"
7
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
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
*/
21
class
IdealHelixParameters
{
22
public
:
23
IdealHelixParameters
()
24
:
_magnField
(nullptr),
25
_track
(nullptr),
26
_refPoint
(
math
::
XYZVector
(0, 0, 0)),
27
_tangentPoint
(
math
::
XYZVector
(0, 0, 0)),
28
_MomentumAtTangentPoint
(
math
::
XYZVector
(0, 0, 0)){};
29
~IdealHelixParameters
(){};
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
37
math::XYZVector
GetCircleCenter
()
const
{
return
_circleCenter
; }
38
math::XYZVector
GetTangentPoint
()
const
{
return
_tangentPoint
; }
39
math::XYZVector
GetMomentumAtTangentPoint
()
const
{
return
_MomentumAtTangentPoint
; }
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
49
const
MagneticField
*
_magnField
;
50
const
reco::Track
*
_track
;
51
float
_radius
;
52
math::XYZVector
_circleCenter
;
53
math::XYZVector
_refPoint
;
54
math::XYZVector
_tangentPoint
;
55
math::XYZVector
_MomentumAtTangentPoint
;
56
float
_transverseIP
;
57
float
_rotationAngle
;
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:11779
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)
Generated for CMSSW Reference Manual by
1.8.16