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
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
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
TrackPropagation
SteppingHelixPropagator
src
SteppingHelixStateInfo.cc
Go to the documentation of this file.
1
7
//
8
// Original Author: Vyacheslav Krutelyov
9
// Created: Wed Jan 3 16:01:24 CST 2007
10
//
11
//
12
13
#include "
DataFormats/GeometryVector/interface/GlobalVector.h
"
14
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
15
#include "
TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h
"
16
17
#include "
TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h
"
18
#include "
TrackingTools/AnalyticalJacobians/interface/JacobianCartesianToCurvilinear.h
"
19
20
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
21
22
#include "
DataFormats/GeometrySurface/interface/TangentPlane.h
"
23
24
const
std::string
SteppingHelixStateInfo::ResultName
[MAX_RESULT] = {
25
"RESULT_OK"
,
"RESULT_FAULT"
,
"RESULT_RANGEOUT"
,
"RESULT_INACC"
,
"RESULT_NOT_IMPLEMENTED"
,
"RESULT_UNDEFINED"
};
26
27
SteppingHelixStateInfo::SteppingHelixStateInfo
(
const
FreeTrajectoryState
& fts)
28
:
path_
(0),
29
radPath_(0),
30
dir
(0),
31
magVol(nullptr),
32
isYokeVol(
false
),
33
field(nullptr),
34
dEdx
(0),
35
dEdXPrime(0),
36
radX0(1e12),
37
status_(
UNDEFINED
) {
38
p3
.set(fts.
momentum
().
x
(), fts.
momentum
().
y
(), fts.
momentum
().
z
());
39
r3
.set(fts.
position
().
x
(), fts.
position
().
y
(), fts.
position
().
z
());
40
q
= fts.
charge
();
41
42
if
(fts.
hasError
()) {
43
covCurv
= fts.
curvilinearError
().
matrix
();
44
hasErrorPropagated_
=
true
;
45
}
else
{
46
covCurv
=
AlgebraicSymMatrix55
();
47
hasErrorPropagated_
=
false
;
48
}
49
static
const
std::string
metname
=
"SteppingHelixPropagator"
;
50
if
(fts.
hasError
()) {
51
LogTrace
(
metname
) <<
"Created SHPStateInfo from FTS\n"
<< fts;
52
// LogTrace(metname)<<"and cartesian error of\n"<<fts.cartesianError().matrix();
53
}
else
54
LogTrace
(
metname
) <<
"Created SHPStateInfo from FTS without errors"
;
55
56
isComplete
=
false
;
57
isValid_
=
true
;
58
}
59
60
TrajectoryStateOnSurface
SteppingHelixStateInfo::getStateOnSurface
(
const
Surface
& surf,
bool
returnTangentPlane
)
const
{
61
static
const
std::string
metname
=
"SteppingHelixPropagator"
;
62
if
(!
isValid
())
63
LogTrace
(
metname
) <<
"Return TSOS is invalid"
;
64
else
65
LogTrace
(
metname
) <<
"Return TSOS is valid"
;
66
if
(!
isValid
())
67
return
TrajectoryStateOnSurface
();
68
GlobalVector
p3GV(
p3
.x(),
p3
.y(),
p3
.z());
69
GlobalPoint
r3GP(
r3
.x(),
r3
.y(),
r3
.z());
70
GlobalTrajectoryParameters
tPars(r3GP, p3GV,
q
,
field
);
71
// CartesianTrajectoryError tCov(cov);
72
73
// CurvilinearTrajectoryError tCCov(ROOT::Math::Similarity(JacobianCartesianToCurvilinear(tPars).jacobian(), cov));
74
CurvilinearTrajectoryError
tCCov(
covCurv
);
75
76
FreeTrajectoryState
fts(tPars, tCCov);
77
if
(!
hasErrorPropagated_
)
78
fts =
FreeTrajectoryState
(tPars);
79
80
SurfaceSideDefinition::SurfaceSide
side =
SurfaceSideDefinition::atCenterOfSurface
;
81
if
(
dir
> 0)
82
side =
SurfaceSideDefinition::beforeSurface
;
83
if
(
dir
< 0)
84
side =
SurfaceSideDefinition::afterSurface
;
85
return
TrajectoryStateOnSurface
(fts,
returnTangentPlane
? *surf.
tangentPlane
(fts.
position
()) : surf, side);
86
}
87
88
void
SteppingHelixStateInfo::getFreeState
(
FreeTrajectoryState
& fts)
const
{
89
if
(
isValid
()) {
90
GlobalVector
p3GV(
p3
.x(),
p3
.y(),
p3
.z());
91
GlobalPoint
r3GP(
r3
.x(),
r3
.y(),
r3
.z());
92
GlobalTrajectoryParameters
tPars(r3GP, p3GV,
q
,
field
);
93
// CartesianTrajectoryError tCov(cov);
94
// CurvilinearTrajectoryError tCCov(ROOT::Math::Similarity(JacobianCartesianToCurvilinear(tPars).jacobian(), cov));
95
CurvilinearTrajectoryError
tCCov(
covCurv
);
96
97
fts = (
hasErrorPropagated_
) ?
FreeTrajectoryState
(tPars, tCCov) :
FreeTrajectoryState
(tPars);
98
// ? FreeTrajectoryState(tPars, tCov, tCCov) : FreeTrajectoryState(tPars);
99
// if (fts.hasError()) fts.curvilinearError(); //call it so it gets created
100
}
101
}
JacobianCartesianToCurvilinear.h
Vector3DBase
Definition:
Vector3DBase.h:8
FreeTrajectoryState::momentum
GlobalVector momentum() const
Definition:
FreeTrajectoryState.h:68
SteppingHelixStateInfo::getFreeState
void getFreeState(FreeTrajectoryState &fts) const
convert internal structure into the fts
Definition:
SteppingHelixStateInfo.cc:88
FreeTrajectoryState.h
MessageLogger.h
funct::false
false
Definition:
Factorize.h:29
FreeTrajectoryState::hasError
bool hasError() const
Definition:
FreeTrajectoryState.h:77
PV3DBase::x
T x() const
Definition:
PV3DBase.h:59
SteppingHelixStateInfo::hasErrorPropagated_
bool hasErrorPropagated_
Definition:
SteppingHelixStateInfo.h:105
FreeTrajectoryState::charge
TrackCharge charge() const
Definition:
FreeTrajectoryState.h:69
SteppingHelixStateInfo::ResultName
static const std::string ResultName[MAX_RESULT]
Definition:
SteppingHelixStateInfo.h:36
Surface
Definition:
Surface.h:36
SurfaceSideDefinition::SurfaceSide
SurfaceSide
Definition:
SurfaceSideDefinition.h:8
SteppingHelixStateInfo::p3
Vector p3
Definition:
SteppingHelixStateInfo.h:85
SurfaceSideDefinition::afterSurface
Definition:
SurfaceSideDefinition.h:8
FreeTrajectoryState::position
GlobalPoint position() const
Definition:
FreeTrajectoryState.h:67
SteppingHelixStateInfo::dir
double dir
Definition:
SteppingHelixStateInfo.h:91
SurfaceSideDefinition::atCenterOfSurface
Definition:
SurfaceSideDefinition.h:8
plot_hgcal_utils.dEdx
dEdx
Definition:
plot_hgcal_utils.py:213
SteppingHelixStateInfo::getStateOnSurface
TrajectoryStateOnSurface getStateOnSurface(const Surface &surf, bool returnTangentPlane=false) const
Definition:
SteppingHelixStateInfo.cc:60
PV3DBase::z
T z() const
Definition:
PV3DBase.h:61
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:16
CurvilinearTrajectoryError
Definition:
CurvilinearTrajectoryError.h:27
SteppingHelixStateInfo::isComplete
bool isComplete
Definition:
SteppingHelixStateInfo.h:103
FreeTrajectoryState::curvilinearError
const CurvilinearTrajectoryError & curvilinearError() const
Definition:
FreeTrajectoryState.h:89
SurfaceSideDefinition::beforeSurface
Definition:
SurfaceSideDefinition.h:8
SteppingHelixStateInfo::q
int q
Definition:
SteppingHelixStateInfo.h:84
GlobalTrajectoryParameters
Definition:
GlobalTrajectoryParameters.h:15
Point3DBase< float, GlobalTag >
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
Surface::tangentPlane
virtual ConstReferenceCountingPointer< TangentPlane > tangentPlane(const GlobalPoint &) const =0
SteppingHelixStateInfo::isValid_
bool isValid_
Definition:
SteppingHelixStateInfo.h:104
HTXS::UNDEFINED
Definition:
HiggsTemplateCrossSections.h:12
PV3DBase::y
T y() const
Definition:
PV3DBase.h:60
SteppingHelixStateInfo::r3
Point r3
Definition:
SteppingHelixStateInfo.h:86
SteppingHelixStateInfo::isValid
bool isValid() const
Definition:
SteppingHelixStateInfo.h:65
TangentPlane.h
SteppingHelixStateInfo.h
FreeTrajectoryState
Definition:
FreeTrajectoryState.h:27
HLT_FULL_cff.returnTangentPlane
returnTangentPlane
Definition:
HLT_FULL_cff.py:6568
GlobalVector.h
SteppingHelixStateInfo::covCurv
AlgebraicSymMatrix55 covCurv
Definition:
SteppingHelixStateInfo.h:87
LogTrace
#define LogTrace(id)
Definition:
MessageLogger.h:224
path_
std::string & path_
Definition:
PluginManager.cc:221
AlgebraicSymMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Definition:
AlgebraicROOTObjects.h:23
GlobalPoint.h
CurvilinearTrajectoryError::matrix
const AlgebraicSymMatrix55 & matrix() const
Definition:
CurvilinearTrajectoryError.h:61
SteppingHelixStateInfo::field
const MagneticField * field
Definition:
SteppingHelixStateInfo.h:96
DeadROC_duringRun.dir
dir
Definition:
DeadROC_duringRun.py:23
metname
const std::string metname
Definition:
MuonSeedOrcaPatternRecognition.cc:40
SteppingHelixStateInfo::SteppingHelixStateInfo
SteppingHelixStateInfo()
Definition:
SteppingHelixStateInfo.h:38
Generated for CMSSW Reference Manual by
1.8.16