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
RecoLocalMuon
RPCRecHit
src
RPCRecHitStandardAlgo.cc
Go to the documentation of this file.
1
/*
2
* See header file for a description of this class.
3
*
4
* \author M. Maggi -- INFN
5
*/
6
7
#include "
RPCCluster.h
"
8
#include "
RecoLocalMuon/RPCRecHit/src/RPCRecHitStandardAlgo.h
"
9
#include "
DataFormats/MuonDetId/interface/RPCDetId.h
"
10
#include "
Geometry/RPCGeometry/interface/RPCRoll.h
"
11
#include "
Geometry/CommonTopologies/interface/StripTopology.h
"
12
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
13
#include "
FWCore/Framework/interface/EventSetup.h
"
14
#include "
FWCore/Utilities/interface/Exception.h
"
15
#include "
Geometry/CommonTopologies/interface/TrapezoidalStripTopology.h
"
16
17
// First Step
18
bool
RPCRecHitStandardAlgo::compute
(
const
RPCRoll
& roll,
19
const
RPCCluster
& cluster,
20
LocalPoint
&
Point
,
21
LocalError
&
error
,
22
float
&
time
,
23
float
& timeErr)
const
{
24
// Get Average Strip position
25
const
float
fstrip = (roll.
centreOfStrip
(cluster.
firstStrip
())).x();
26
const
float
lstrip = (roll.
centreOfStrip
(cluster.
lastStrip
())).x();
27
const
float
centreOfCluster = (fstrip + lstrip) / 2;
28
const
double
y
= cluster.
hasY
() ? cluster.
y
() : 0;
29
Point
=
LocalPoint
(centreOfCluster,
y
, 0);
30
31
if
(!cluster.
hasY
()) {
32
error
=
LocalError
(roll.
localError
((cluster.
firstStrip
() + cluster.
lastStrip
()) / 2.));
33
}
else
{
34
// Use the default one for local x error
35
float
ex2 = roll.
localError
((cluster.
firstStrip
() + cluster.
lastStrip
()) / 2.).
xx
();
36
// Maximum estimate of local y error, (distance to the boundary)/sqrt(3)
37
// which gives consistent error to the default one at y=0
38
const
float
stripLen = roll.
specificTopology
().
stripLength
();
39
const
float
maxDy = stripLen / 2 -
std::abs
(cluster.
y
());
40
41
// Apply x-position correction for the endcap
42
if
(roll.
id
().
region
() != 0) {
43
const
auto
& topo = dynamic_cast<const TrapezoidalStripTopology&>(roll.
topology
());
44
const
double
angle
= topo.stripAngle((cluster.
firstStrip
() + cluster.
lastStrip
()) / 2.);
45
const
double
x
= centreOfCluster -
y
*
std::tan
(
angle
);
46
Point
=
LocalPoint
(
x
,
y
, 0);
47
48
// rescale x-error by the change of local pitch
49
const
double
scale
= topo.localPitch(
Point
) / topo.pitch();
50
ex2 *=
scale
*
scale
;
51
}
52
53
error
=
LocalError
(ex2, 0, maxDy * maxDy / 3.);
54
}
55
56
if
(cluster.
hasTime
()) {
57
time
= cluster.
time
();
58
timeErr = cluster.
timeRMS
();
59
}
else
{
60
time
= 0;
61
timeErr = -1;
62
}
63
64
return
true
;
65
}
66
67
bool
RPCRecHitStandardAlgo::compute
(
const
RPCRoll
& roll,
68
const
RPCCluster
&
cl
,
69
const
float
&
angle
,
70
const
GlobalPoint
& globPos,
71
LocalPoint
&
Point
,
72
LocalError
&
error
,
73
float
&
time
,
74
float
& timeErr)
const
{
75
this->
compute
(roll,
cl
,
Point
,
error
,
time
, timeErr);
76
return
true
;
77
}
RPCCluster::firstStrip
int firstStrip() const
Definition:
RPCCluster.cc:16
RPCRoll
Definition:
RPCRoll.h:12
RPCCluster::y
float y() const
Definition:
RPCCluster.cc:28
DDAxes::y
RPCCluster::hasY
bool hasY() const
Definition:
RPCCluster.cc:27
RPCDetId::region
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition:
RPCDetId.h:53
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition:
L1EGammaCrystalsEmulatorProducer_cfi.py:10
RPCCluster::time
float time() const
Definition:
RPCCluster.cc:22
protons_cff.time
time
Definition:
protons_cff.py:35
RPCRoll.h
DDAxes::x
StripTopology.h
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition:
Definitions.h:30
relativeConstraints.error
error
Definition:
relativeConstraints.py:53
RPCRoll::topology
const Topology & topology() const override
Definition:
RPCRoll.cc:18
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition:
GetRecoTauVFromDQM_MC_cff.py:38
RPCRecHitStandardAlgo.h
RPCRoll::id
RPCDetId id() const
Definition:
RPCRoll.cc:16
LocalError::xx
float xx() const
Definition:
LocalError.h:22
Point3DBase< float, LocalTag >
RPCRoll::specificTopology
const StripTopology & specificTopology() const
Definition:
RPCRoll.cc:49
RPCDetId.h
RPCRoll::centreOfStrip
LocalPoint centreOfStrip(int strip) const
Definition:
RPCRoll.cc:26
RPCRecHitStandardAlgo::compute
bool compute(const RPCRoll &roll, const RPCCluster &cluster, LocalPoint &point, LocalError &error, float &time, float &timeErr) const override
standard local recHit computation
Definition:
RPCRecHitStandardAlgo.cc:18
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition:
DMRtrends.cc:57
StripTopology::stripLength
virtual float stripLength() const =0
RPCCluster::lastStrip
int lastStrip() const
Definition:
RPCCluster.cc:17
LocalError
Definition:
LocalError.h:12
RPCCluster
Definition:
RPCCluster.h:4
funct::tan
Tan< T >::type tan(const T &t)
Definition:
Tan.h:22
RPCCluster::hasTime
bool hasTime() const
Definition:
RPCCluster.cc:21
RPCCluster::timeRMS
float timeRMS() const
Definition:
RPCCluster.cc:23
TrapezoidalStripTopology.h
RPCCluster.h
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition:
angle.h:11
EventSetup.h
Exception.h
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
ParameterSet.h
RPCRoll::localError
LocalError localError(float strip) const
Definition:
RPCRoll.cc:33
Generated for CMSSW Reference Manual by
1.8.16