DataFormats
CTPPSReco
src
CTPPSTimingLocalTrack.cc
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* This is a part of CTPPS offline software.
4
* Authors:
5
* Laurent Forthomme (laurent.forthomme@cern.ch)
6
* Nicola Minafra (nicola.minafra@cern.ch)
7
* Mateusz Szpyrka (mateusz.szpyrka@cern.ch)
8
*
9
****************************************************************************/
10
11
#include "
DataFormats/CTPPSReco/interface/CTPPSTimingLocalTrack.h
"
12
#include <cmath>
13
14
//----------------------------------------------------------------------------------------------------
15
16
//--- constructors
17
18
CTPPSTimingLocalTrack::CTPPSTimingLocalTrack
() : num_hits_(0), num_planes_(0),
valid_
(
true
), t_(0.), t_sigma_(0.) {}
19
20
CTPPSTimingLocalTrack::CTPPSTimingLocalTrack
(
const
math::XYZPoint
& pos0,
21
const
math::XYZPoint
& pos0_sigma,
22
float
t
,
23
float
t_sigma)
24
: pos0_(pos0), pos0_sigma_(pos0_sigma), num_hits_(0), num_planes_(0),
valid_
(
false
), t_(
t
), t_sigma_(t_sigma) {}
25
26
//--- interface member functions
27
28
bool
CTPPSTimingLocalTrack::containsHit
(
const
CTPPSTimingRecHit
&
recHit
,
float
tolerance
,
CheckDimension
check
)
const
{
29
float
xTolerance =
pos0_sigma_
.x() + (0.5 *
recHit
.xWidth()) +
tolerance
;
30
float
yTolerance =
pos0_sigma_
.y() + (0.5 *
recHit
.yWidth()) +
tolerance
;
31
float
zTolerance =
pos0_sigma_
.z() + (0.5 *
recHit
.zWidth()) +
tolerance
;
32
33
float
xDiff =
std::abs
(
pos0_
.x() -
recHit
.x());
34
float
yDiff =
std::abs
(
pos0_
.y() -
recHit
.y());
35
float
zDiff =
std::abs
(
pos0_
.z() -
recHit
.z());
36
37
switch
(
check
) {
38
case
CheckDimension::x
:
39
return
xDiff < xTolerance;
40
case
CheckDimension::y
:
41
return
yDiff < yTolerance;
42
case
CheckDimension::all
:
43
return
xDiff < xTolerance && yDiff < yTolerance && zDiff < zTolerance;
44
}
45
return
false
;
46
}
47
48
//====================================================================================================
49
// Other methods implementation
50
//====================================================================================================
51
52
bool
operator<
(
const
CTPPSTimingLocalTrack
& lhs,
const
CTPPSTimingLocalTrack
& rhs) {
53
// start to sort by temporal coordinate
54
if
(lhs.
time
() < rhs.
time
())
55
return
true
;
56
if
(lhs.
time
() > rhs.
time
())
57
return
false
;
58
// then sort by x-position
59
if
(lhs.
x0
() < rhs.
x0
())
60
return
true
;
61
if
(lhs.
x0
() > rhs.
x0
())
62
return
false
;
63
// ...and y-position
64
if
(lhs.
y0
() < rhs.
y0
())
65
return
true
;
66
if
(lhs.
y0
() > rhs.
y0
())
67
return
false
;
68
// ...and z-position
69
return
(lhs.
z0
() < rhs.
z0
());
70
}
CTPPSTimingLocalTrack.h
funct::false
false
Definition:
Factorize.h:34
CTPPSTimingLocalTrack::containsHit
bool containsHit(const CTPPSTimingRecHit &recHit, float tolerance=0.1f, CheckDimension check=CheckDimension::all) const
Definition:
CTPPSTimingLocalTrack.cc:27
CTPPSTimingLocalTrack
Definition:
CTPPSTimingLocalTrack.h:18
CTPPSTimingLocalTrack::CTPPSTimingLocalTrack
CTPPSTimingLocalTrack()
Definition:
CTPPSTimingLocalTrack.cc:17
rpcPointValidation_cfi.recHit
recHit
Definition:
rpcPointValidation_cfi.py:7
sistrip::valid_
static const uint16_t valid_
Definition:
Constants.h:17
CTPPSTimingLocalTrack::pos0_sigma_
math::XYZPoint pos0_sigma_
error on the initial track position
Definition:
CTPPSTimingLocalTrack.h:78
CTPPSTimingLocalTrack::z0
float z0() const
Definition:
CTPPSTimingLocalTrack.h:43
RPCNoise_example.check
check
Definition:
RPCNoise_example.py:71
CTPPSTimingLocalTrack::time
float time() const
Definition:
CTPPSTimingLocalTrack.h:64
CTPPSTimingLocalTrack::CheckDimension
CheckDimension
Definition:
CTPPSTimingLocalTrack.h:30
CTPPSTimingLocalTrack::pos0_
math::XYZPoint pos0_
initial track position
Definition:
CTPPSTimingLocalTrack.h:76
OrderedSet.t
t
Definition:
OrderedSet.py:90
operator<
bool operator<(const CTPPSTimingLocalTrack &lhs, const CTPPSTimingLocalTrack &rhs)
Comparison operator.
Definition:
CTPPSTimingLocalTrack.cc:51
CTPPSTimingLocalTrack::CheckDimension::all
funct::true
true
Definition:
Factorize.h:173
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition:
Point3D.h:12
tolerance
const double tolerance
Definition:
HGCalGeomParameters.cc:27
CTPPSTimingLocalTrack::x0
float x0() const
Definition:
CTPPSTimingLocalTrack.h:37
CTPPSTimingLocalTrack::y0
float y0() const
Definition:
CTPPSTimingLocalTrack.h:40
CTPPSTimingLocalTrack::CheckDimension::y
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
CTPPSTimingLocalTrack::CheckDimension::x
CTPPSTimingRecHit
Reconstructed hit in timing detectors.
Definition:
CTPPSTimingRecHit.h:13
Generated for CMSSW Reference Manual by
1.8.16