DataFormats
SiStripCluster
src
SiStripCluster.cc
Go to the documentation of this file.
1
2
#include "
DataFormats/SiStripCluster/interface/SiStripCluster.h
"
3
4
SiStripCluster::SiStripCluster
(
const
SiStripDigiRange
&
range
) : firstStrip_(
range
.
first
->
strip
()), error_x(-99999.9) {
5
amplitudes_
.reserve(
range
.second -
range
.first);
6
7
uint16_t lastStrip = 0;
8
bool
firstInloop =
true
;
9
for
(
SiStripDigiIter
i
=
range
.first;
i
!=
range
.second;
i
++) {
11
if
(!firstInloop &&
i
->strip() != lastStrip + 1) {
12
for
(
int
j
= 0;
j
<
i
->strip() - (lastStrip + 1);
j
++) {
13
amplitudes_
.push_back(0);
14
}
15
}
16
lastStrip =
i
->strip();
17
firstInloop =
false
;
18
19
amplitudes_
.push_back(
i
->adc());
20
}
21
}
22
23
float
SiStripCluster::barycenter
()
const
{
24
int
sumx = 0;
25
int
suma = 0;
26
auto
asize =
amplitudes_
.size();
27
for
(
auto
i
= 0
U
;
i
< asize; ++
i
) {
28
sumx +=
i
*
amplitudes_
[
i
];
29
suma +=
amplitudes_
[
i
];
30
}
31
32
// strip centers are offcet by half pitch w.r.t. strip numbers,
33
// so one has to add 0.5 to get the correct barycenter position.
34
// Need to mask off the high bit of firstStrip_, which contains the merged status.
35
return
float
((
firstStrip_
&
stripIndexMask
)) +
float
(sumx) /
float
(suma) + 0.5f;
36
}
FastTimerService_cff.range
range
Definition:
FastTimerService_cff.py:34
mps_fire.i
i
Definition:
mps_fire.py:355
SiStripCluster::barycenter
float barycenter() const
Definition:
SiStripCluster.cc:23
dqmMemoryStats.float
float
Definition:
dqmMemoryStats.py:127
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
SiStripCluster::stripIndexMask
static const uint16_t stripIndexMask
Definition:
SiStripCluster.h:14
dqmdumpme.first
first
Definition:
dqmdumpme.py:55
SiStripCluster::amplitudes_
std::vector< uint8_t > amplitudes_
Definition:
SiStripCluster.h:73
mitigatedMETSequence_cff.U
U
Definition:
mitigatedMETSequence_cff.py:36
SiStripCluster::SiStripDigiIter
std::vector< SiStripDigi >::const_iterator SiStripDigiIter
Definition:
SiStripCluster.h:11
SiStripCluster.h
SiStripCluster::SiStripCluster
SiStripCluster()
Definition:
SiStripCluster.h:21
SiStripCluster::SiStripDigiRange
std::pair< SiStripDigiIter, SiStripDigiIter > SiStripDigiRange
Definition:
SiStripCluster.h:12
dqmiolumiharvest.j
j
Definition:
dqmiolumiharvest.py:66
SiStripCluster::firstStrip_
uint16_t firstStrip_
Definition:
SiStripCluster.h:75
Generated for CMSSW Reference Manual by
1.8.16