Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
}
CurvilinearTrajectoryParameters::thelambda
double thelambda
Definition:
CurvilinearTrajectoryParameters.h:78
CurvilinearTrajectoryParameters::thexT
double thexT
Definition:
CurvilinearTrajectoryParameters.h:80
Vector3DBase
Definition:
Vector3DBase.h:8
PV3DBase::y
T y() const
Definition:
PV3DBase.h:60
CurvilinearTrajectoryParameters::theyT
double theyT
Definition:
CurvilinearTrajectoryParameters.h:81
CurvilinearTrajectoryParameters.h
TrackCharge
int TrackCharge
Definition:
TrackCharge.h:4
PV3DBase::mag
T mag() const
Definition:
PV3DBase.h:64
CurvilinearTrajectoryParameters::theQbp
double theQbp
Definition:
CurvilinearTrajectoryParameters.h:77
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
PV3DBase::z
T z() const
Definition:
PV3DBase.h:61
CurvilinearTrajectoryParameters::updateP
bool updateP(double dP)
Definition:
CurvilinearTrajectoryParameters.cc:17
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
HLT_FULL_cff.pT2
tuple pT2
Definition:
HLT_FULL_cff.py:9777
CurvilinearTrajectoryParameters::thephi
double thephi
Definition:
CurvilinearTrajectoryParameters.h:79
AlCaHLTBitMon_ParallelJobs.p
tuple p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
Point3DBase< float, GlobalTag >
PV3DBase::x
T x() const
Definition:
PV3DBase.h:59
CurvilinearTrajectoryParameters::Qbp
double Qbp() const
Definition:
CurvilinearTrajectoryParameters.h:68
PVValHelper::pT
Definition:
PVValidationHelpers.h:71
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters()
default constructor
Definition:
CurvilinearTrajectoryParameters.h:27
Generated for CMSSW Reference Manual by
1.8.5