TrackingTools
TrajectoryParametrization
src
CurvilinearTrajectoryParameters.cc
Go to the documentation of this file.
1
#include "
TrackingTools/TrajectoryParametrization/interface/CurvilinearTrajectoryParameters.h
"
2
#include <cmath>
3
4
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
(
const
GlobalPoint
& aX,
5
const
GlobalVector
& aP,
6
TrackCharge
aCharge) {
7
theQbp
= aCharge / aP.
mag
();
8
9
double
pT2
= aP.
x
() * aP.
x
() + aP.
y
() * aP.
y
();
10
double
pT
=
sqrt
(
pT2
);
11
thelambda
= atan(aP.
z
() /
pT
);
12
thephi
= atan2(aP.
y
(), aP.
x
());
13
thexT
= (-aP.
y
() * aX.
x
() + aP.
x
() * aX.
y
()) /
pT
;
14
theyT
= (-aX.
x
() * aP.
x
() * aP.
z
() - aX.
y
() * aP.
z
() * aP.
y
() + aX.
z
() * (
pT2
)) / (aP.
mag
() *
pT
);
15
}
16
17
bool
CurvilinearTrajectoryParameters::updateP
(
double
dP) {
18
//FIXME. something is very likely to be missing here
19
double
p
= 1. /
std::abs
(
Qbp
());
20
if
((
p
+= dP) <= 0.)
21
return
false
;
22
double
newQbp =
Qbp
() > 0 ? 1. /
p
: -1. /
p
;
23
theQbp
= newQbp;
24
return
true
;
25
}
Vector3DBase
Definition:
Vector3DBase.h:8
CurvilinearTrajectoryParameters::thephi
double thephi
Definition:
CurvilinearTrajectoryParameters.h:79
TrackCharge
int TrackCharge
Definition:
TrackCharge.h:4
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters()
default constructor
Definition:
CurvilinearTrajectoryParameters.h:27
PV3DBase::x
T x() const
Definition:
PV3DBase.h:59
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
CurvilinearTrajectoryParameters::Qbp
double Qbp() const
Definition:
CurvilinearTrajectoryParameters.h:68
HLT_FULL_cff.pT2
pT2
Definition:
HLT_FULL_cff.py:9529
PV3DBase::z
T z() const
Definition:
PV3DBase.h:61
CurvilinearTrajectoryParameters::updateP
bool updateP(double dP)
Definition:
CurvilinearTrajectoryParameters.cc:17
PVValHelper::pT
Definition:
PVValidationHelpers.h:70
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
Point3DBase< float, GlobalTag >
CurvilinearTrajectoryParameters.h
CurvilinearTrajectoryParameters::thexT
double thexT
Definition:
CurvilinearTrajectoryParameters.h:80
PV3DBase::y
T y() const
Definition:
PV3DBase.h:60
PV3DBase::mag
T mag() const
Definition:
PV3DBase.h:64
CurvilinearTrajectoryParameters::theQbp
double theQbp
Definition:
CurvilinearTrajectoryParameters.h:77
CurvilinearTrajectoryParameters::theyT
double theyT
Definition:
CurvilinearTrajectoryParameters.h:81
CurvilinearTrajectoryParameters::thelambda
double thelambda
Definition:
CurvilinearTrajectoryParameters.h:78
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
Generated for CMSSW Reference Manual by
1.8.16