src
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
IdealHelixParameters::setData
void setData(const reco::Track *track, const math::XYZVector &refPoint=math::XYZVector(0, 0, 0))
IdealHelixParameters::GetCircleCenter
math::XYZVector GetCircleCenter() const
Definition:
IdealHelixParameters.h:37
IdealHelixParameters::~IdealHelixParameters
~IdealHelixParameters()
Definition:
IdealHelixParameters.h:29
IdealHelixParameters::calculate
void calculate()
MessageLogger.h
IdealHelixParameters::_track
const reco::Track * _track
Definition:
IdealHelixParameters.h:50
IdealHelixParameters::setMagnField
void setMagnField(const MagneticField *magnField)
Definition:
IdealHelixParameters.h:31
IdealHelixParameters::evalTangentPoint
void evalTangentPoint()
IdealHelixParameters::evalCircleCenter
void evalCircleCenter()
IdealHelixParameters::GetTangentPoint
math::XYZVector GetTangentPoint() const
Definition:
IdealHelixParameters.h:38
MagneticField
Definition:
MagneticField.h:19
TrackFwd.h
IdealHelixParameters::_rotationAngle
float _rotationAngle
Definition:
IdealHelixParameters.h:57
HLT_2024v12_cff.track
track
Definition:
HLT_2024v12_cff.py:9556
IdealHelixParameters::_MomentumAtTangentPoint
math::XYZVector _MomentumAtTangentPoint
Definition:
IdealHelixParameters.h:55
IdealHelixParameters::IdealHelixParameters
IdealHelixParameters()
Definition:
IdealHelixParameters.h:23
IdealHelixParameters::_refPoint
math::XYZVector _refPoint
Definition:
IdealHelixParameters.h:53
IdealHelixParameters::GetRotationAngle
float GetRotationAngle() const
Definition:
IdealHelixParameters.h:41
GlobalTrajectoryParameters.h
IdealHelixParameters::GetMomentumAtTangentPoint
math::XYZVector GetMomentumAtTangentPoint() const
Definition:
IdealHelixParameters.h:39
math
Definition:
choleskyInversion.h:8
IdealHelixParameters::_circleCenter
math::XYZVector _circleCenter
Definition:
IdealHelixParameters.h:52
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition:
Vector3D.h:31
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition:
Point3D.h:12
reco::Track
Definition:
Track.h:27
IdealHelixParameters
Definition:
IdealHelixParameters.h:21
IdealHelixParameters::_magnField
const MagneticField * _magnField
Definition:
IdealHelixParameters.h:49
IdealHelixParameters::isTangentPointDistanceLessThan
bool isTangentPointDistanceLessThan(float rmax, const reco::Track *track, const math::XYZVector &refPoint)
Track.h
XYZVector
math::XYZVector XYZVector
Definition:
RawParticle.h:26
IdealHelixParameters::evalMomentumatTangentPoint
void evalMomentumatTangentPoint()
IdealHelixParameters::GetTransverseIPAtTangent
float GetTransverseIPAtTangent() const
Definition:
IdealHelixParameters.h:40
IdealHelixParameters::_radius
float _radius
Definition:
IdealHelixParameters.h:51
IdealHelixParameters::_tangentPoint
math::XYZVector _tangentPoint
Definition:
IdealHelixParameters.h:54
Generated for CMSSW Reference Manual by
1.8.14