SimCalorimetry
HcalTrigPrimAlgos
src
HcalFeatureHFEMBit.cc
Go to the documentation of this file.
1
2
//HcalFeatureHFEMBit
3
//version 2.0
4
5
#include "
SimCalorimetry/HcalTrigPrimAlgos/interface/HcalFeatureHFEMBit.h
"
6
#include "
CondFormats/HcalObjects/interface/HcalQIECoder.h
"
7
8
HcalFeatureHFEMBit::HcalFeatureHFEMBit
(
double
ShortMinE,
9
double
LongMinE,
10
double
ShortLongCutSlope,
11
double
ShortLongCutOffset,
12
const
HcalDbService
& conditions)
13
: conditions_(conditions) {
14
ShortMinE_
= ShortMinE;
//minimum energy deposited
15
LongMinE_
= LongMinE;
16
ShortLongCutSlope_
=
17
ShortLongCutSlope;
// this is a the slope of the cut line related to energy deposited in short fibers vrs long fibers
18
ShortLongCutOffset_
= ShortLongCutOffset;
// this is the offset of said line.
19
}
20
21
HcalFeatureHFEMBit::~HcalFeatureHFEMBit
() {}
22
23
bool
HcalFeatureHFEMBit::fineGrainbit
(
const
HFDataFrame
& shortDigi,
const
HFDataFrame
& longDigi,
int
idx
)
const
{
24
float
shortE =
getE
(shortDigi,
idx
);
25
float
longE =
getE
(longDigi,
idx
);
26
27
if
(shortE <
ShortMinE_
)
28
return
false
;
29
if
(longE <
LongMinE_
)
30
return
false
;
31
32
return
(shortE < (longE -
ShortLongCutOffset_
) *
ShortLongCutSlope_
);
33
}
34
35
bool
HcalFeatureHFEMBit::fineGrainbit
(
const
QIE10DataFrame
& short1,
36
const
QIE10DataFrame
& short2,
37
const
QIE10DataFrame
& long1,
38
const
QIE10DataFrame
& long2,
39
bool
validShort1,
40
bool
validShort2,
41
bool
validLong1,
42
bool
validLong2,
43
int
idx
)
const
{
44
float
shortE = 0;
45
if
(validShort1)
46
shortE +=
getE
(short1,
idx
);
47
if
(validShort2)
48
shortE +=
getE
(short2,
idx
);
49
if
(validShort1 and validShort2)
50
shortE *= .5;
51
52
float
longE = 0;
53
if
(validLong1)
54
longE +=
getE
(long1,
idx
);
55
if
(validLong2)
56
longE +=
getE
(long2,
idx
);
57
if
(validLong1 and validLong2)
58
longE *= .5;
59
60
if
(shortE <
ShortMinE_
)
61
return
false
;
62
if
(longE <
LongMinE_
)
63
return
false
;
64
65
return
(shortE < (longE -
ShortLongCutOffset_
) *
ShortLongCutSlope_
);
66
}
training_settings.idx
idx
Definition:
training_settings.py:16
HcalQIECoder.h
HcalFeatureHFEMBit::ShortMinE_
double ShortMinE_
Definition:
HcalFeatureHFEMBit.h:33
HcalFeatureHFEMBit.h
HcalFeatureHFEMBit::fineGrainbit
bool fineGrainbit(const QIE10DataFrame &short1, const QIE10DataFrame &short2, const QIE10DataFrame &long1, const QIE10DataFrame &long2, bool validShort1, bool validShort2, bool validLong1, bool validLong2, int idx) const override
Definition:
HcalFeatureHFEMBit.cc:35
HcalFeatureHFEMBit::LongMinE_
double LongMinE_
Definition:
HcalFeatureHFEMBit.h:33
HFDataFrame
Definition:
HFDataFrame.h:14
HcalFeatureHFEMBit::ShortLongCutSlope_
double ShortLongCutSlope_
Definition:
HcalFeatureHFEMBit.h:33
HcalFeatureHFEMBit::ShortLongCutOffset_
double ShortLongCutOffset_
Definition:
HcalFeatureHFEMBit.h:33
HcalDbService
Definition:
HcalDbService.h:26
QIE10DataFrame
Definition:
QIE10DataFrame.h:11
HcalFeatureHFEMBit::HcalFeatureHFEMBit
HcalFeatureHFEMBit(double ShortMinE, double LongMinE, double ShortLongCutSlope, double ShortLongCutOffset, const HcalDbService &conditions)
Definition:
HcalFeatureHFEMBit.cc:8
HcalFeatureHFEMBit::~HcalFeatureHFEMBit
~HcalFeatureHFEMBit() override
Definition:
HcalFeatureHFEMBit.cc:21
HcalFeatureHFEMBit::getE
float getE(const T &f, int idx) const
Definition:
HcalFeatureHFEMBit.h:38
Generated for CMSSW Reference Manual by
1.8.16