Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Properties
_
a
c
d
e
f
l
m
o
p
s
t
u
v
+
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
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
PV3DBase::z
T z() const
Definition:
PV3DBase.h:61
Vector3DBase
Definition:
Vector3DBase.h:8
CurvilinearTrajectoryParameters::theyT
double theyT
Definition:
CurvilinearTrajectoryParameters.h:81
CurvilinearTrajectoryParameters.h
TrackCharge
int TrackCharge
Definition:
TrackCharge.h:4
PV3DBase::x
T x() const
Definition:
PV3DBase.h:59
PV3DBase::y
T y() const
Definition:
PV3DBase.h:60
HLT_2022v12_cff.pT2
pT2
Definition:
HLT_2022v12_cff.py:13066
CurvilinearTrajectoryParameters::theQbp
double theQbp
Definition:
CurvilinearTrajectoryParameters.h:77
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
CurvilinearTrajectoryParameters::Qbp
double Qbp() const
Definition:
CurvilinearTrajectoryParameters.h:68
CurvilinearTrajectoryParameters::updateP
bool updateP(double dP)
Definition:
CurvilinearTrajectoryParameters.cc:17
PV3DBase::mag
T mag() const
Definition:
PV3DBase.h:64
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
CurvilinearTrajectoryParameters::thephi
double thephi
Definition:
CurvilinearTrajectoryParameters.h:79
Point3DBase< float, GlobalTag >
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
PVValHelper::pT
Definition:
PVValidationHelpers.h:71
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters()
default constructor
Definition:
CurvilinearTrajectoryParameters.h:27
Generated for CMSSW Reference Manual by
1.8.14