SimCalorimetry
HcalTrigPrimAlgos
src
HcalFinegrainBit.cc
Go to the documentation of this file.
1
#include "
SimCalorimetry/HcalTrigPrimAlgos/interface/HcalFinegrainBit.h
"
2
3
#include <cassert>
4
5
std::bitset<4>
HcalFinegrainBit::compute
(
const
HcalFinegrainBit::Tower
&
tower
)
const
{
6
if
(
version_
== 0) {
7
std::bitset<4>
result
;
8
9
// First layer consistent with a MIP
10
result
[0] =
tower
[
is_mip
][0];
11
12
// First layer consistent with a MIP, at least one layer with more
13
// than MIP energy deposition
14
result
[1] =
result
[0] & (
tower
[
is_above_mip
].count() > 0);
15
16
// There layers consistent with a MIP
17
result
[2] =
tower
[
is_mip
].count() >= 3;
18
19
// Unset
20
result
[3] =
false
;
21
22
return
result
;
23
}
24
if
(
version_
== 1) {
25
std::bitset<4>
result
;
26
27
// All algorithms the same for testing purposes
28
result
[0] =
result
[1] =
result
[2] =
result
[3] =
tower
[
is_mip
][0];
29
30
return
result
;
31
}
32
if
(
version_
== 2) {
33
std::bitset<4>
result
;
34
35
// All algorithms the same for testing purposes
36
result
[0] =
result
[1] =
result
[2] =
result
[3] =
true
;
37
38
return
result
;
39
}
40
return
0;
41
}
HcalFinegrainBit::version_
int version_
Definition:
HcalFinegrainBit.h:22
hgcalTowerProducer_cfi.tower
tower
Definition:
hgcalTowerProducer_cfi.py:4
HcalFinegrainBit.h
HcalFinegrainBit::is_mip
const int is_mip
Definition:
HcalFinegrainBit.h:19
HcalFinegrainBit::Tower
std::array< std::bitset< 6 >, 2 > Tower
Definition:
HcalFinegrainBit.h:11
HcalFinegrainBit::compute
std::bitset< 4 > compute(const Tower &) const
Definition:
HcalFinegrainBit.cc:5
HcalFinegrainBit::is_above_mip
const int is_above_mip
Definition:
HcalFinegrainBit.h:20
mps_fire.result
result
Definition:
mps_fire.py:311
Generated for CMSSW Reference Manual by
1.8.16