SimCalorimetry
EcalEBTrigPrimAlgos
interface
EcalEBFenixLinearizer.h
Go to the documentation of this file.
1
#ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixLinearizer_h
2
#define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixLinearizer_h
3
4
#include <
DataFormats/EcalDigi/interface/EcalMGPASample.h
>
5
#include <
CondFormats/EcalObjects/interface/EcalTPGPedestals.h
>
6
#include <
CondFormats/EcalObjects/interface/EcalTPGLinearizationConst.h
>
7
#include <
CondFormats/EcalObjects/interface/EcalTPGCrystalStatus.h
>
8
9
#include <vector>
10
19
class
EcalEBFenixLinearizer
{
20
private
:
21
bool
famos_
;
22
int
uncorrectedSample_
;
23
int
gainID_
;
24
int
base_
;
25
int
mult_
;
26
int
shift_
;
27
int
strip_
;
28
bool
init_
;
29
30
const
EcalTPGLinearizationConstant
*
linConsts_
;
31
const
EcalTPGPedestal
*
peds_
;
32
const
EcalTPGCrystalStatusCode
*
badXStatus_
;
33
34
std::vector<const EcalTPGCrystalStatusCode *>
vectorbadXStatus_
;
35
36
int
setInput
(
const
EcalMGPASample
&RawSam);
37
int
process
();
38
39
public
:
40
EcalEBFenixLinearizer
(
bool
famos);
41
virtual
~EcalEBFenixLinearizer
();
42
43
template
<
class
T>
44
void
process
(
const
T
&, std::vector<int> &);
45
void
setParameters
(uint32_t raw,
46
const
EcalTPGPedestals
*ecaltpPed,
47
const
EcalTPGLinearizationConst
*ecaltpLin,
48
const
EcalTPGCrystalStatus
*ecaltpBadX);
49
};
50
51
template
<
class
T>
52
void
EcalEBFenixLinearizer::process
(
const
T
&
df
, std::vector<int> &output_percry) {
53
//We know a tower numbering is:
54
// S1 S2 S3 S4 S5
55
//
56
// 4 5 14 15 24
57
// 3 6 13 16 23
58
// 2 7 12 17 22
59
// 1 8 11 18 21
60
// 0 9 10 19 20
61
62
for
(
int
i
= 0;
i
<
df
.size();
i
++) {
63
setInput
(
df
[
i
]);
64
output_percry[
i
] =
process
();
65
}
66
67
return
;
68
}
69
70
#endif
mps_fire.i
i
Definition:
mps_fire.py:428
EcalEBFenixLinearizer::strip_
int strip_
Definition:
EcalEBFenixLinearizer.h:27
EcalEBFenixLinearizer::peds_
const EcalTPGPedestal * peds_
Definition:
EcalEBFenixLinearizer.h:31
EcalEBFenixLinearizer::setInput
int setInput(const EcalMGPASample &RawSam)
Definition:
EcalEBFenixLinearizer.cc:67
EcalEBFenixLinearizer
Linearisation for Fenix strip input: 16 bits corresponding to input EBDataFrame output: 18 bits.
Definition:
EcalEBFenixLinearizer.h:19
EcalEBFenixLinearizer::linConsts_
const EcalTPGLinearizationConstant * linConsts_
Definition:
EcalEBFenixLinearizer.h:30
EcalTPGPedestal
Definition:
EcalTPGPedestals.h:8
EcalTPGLinearizationConstant
Definition:
EcalTPGLinearizationConst.h:8
EcalCondObjectContainer
Definition:
EcalCondObjectContainer.h:13
EcalEBFenixLinearizer::EcalEBFenixLinearizer
EcalEBFenixLinearizer(bool famos)
Definition:
EcalEBFenixLinearizer.cc:9
EcalEBFenixLinearizer::setParameters
void setParameters(uint32_t raw, const EcalTPGPedestals *ecaltpPed, const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGCrystalStatus *ecaltpBadX)
Definition:
EcalEBFenixLinearizer.cc:20
EcalEBFenixLinearizer::shift_
int shift_
Definition:
EcalEBFenixLinearizer.h:26
EcalEBFenixLinearizer::vectorbadXStatus_
std::vector< const EcalTPGCrystalStatusCode * > vectorbadXStatus_
Definition:
EcalEBFenixLinearizer.h:34
EcalEBFenixLinearizer::famos_
bool famos_
Definition:
EcalEBFenixLinearizer.h:21
EcalEBFenixLinearizer::badXStatus_
const EcalTPGCrystalStatusCode * badXStatus_
Definition:
EcalEBFenixLinearizer.h:32
EcalTPGLinearizationConst.h
EcalTPGPedestals.h
EcalEBFenixLinearizer::base_
int base_
Definition:
EcalEBFenixLinearizer.h:24
EcalMGPASample.h
EcalMGPASample
Definition:
EcalMGPASample.h:22
EcalEBFenixLinearizer::gainID_
int gainID_
Definition:
EcalEBFenixLinearizer.h:23
hgcalPerformanceValidation.df
df
Definition:
hgcalPerformanceValidation.py:733
T
long double T
Definition:
Basic3DVectorLD.h:48
EcalTPGCrystalStatusCode
Definition:
EcalTPGCrystalStatusCode.h:14
EcalEBFenixLinearizer::process
int process()
Definition:
EcalEBFenixLinearizer.cc:51
EcalTPGCrystalStatus.h
EcalEBFenixLinearizer::uncorrectedSample_
int uncorrectedSample_
Definition:
EcalEBFenixLinearizer.h:22
EcalEBFenixLinearizer::init_
bool init_
Definition:
EcalEBFenixLinearizer.h:28
EcalEBFenixLinearizer::~EcalEBFenixLinearizer
virtual ~EcalEBFenixLinearizer()
Definition:
EcalEBFenixLinearizer.cc:12
EcalEBFenixLinearizer::mult_
int mult_
Definition:
EcalEBFenixLinearizer.h:25
Generated for CMSSW Reference Manual by
1.8.16