SimCalorimetry
EcalTrigPrimAlgos
interface
EcalFenixLinearizer.h
Go to the documentation of this file.
1
#ifndef ECAL_FENIX_LINEARIZER_H
2
#define ECAL_FENIX_LINEARIZER_H
3
4
#include <
CondFormats/EcalObjects/interface/EcalTPGCrystalStatus.h
>
5
#include <
CondFormats/EcalObjects/interface/EcalTPGLinearizationConst.h
>
6
#include <
CondFormats/EcalObjects/interface/EcalTPGPedestals.h
>
7
#include <
DataFormats/EcalDigi/interface/EcalMGPASample.h
>
8
9
#include <vector>
10
19
class
EcalFenixLinearizer
{
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
EcalFenixLinearizer
(
bool
famos);
41
virtual
~EcalFenixLinearizer
();
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
EcalFenixLinearizer::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
for
(
int
i
= 0;
i
< df.size();
i
++) {
62
setInput
(df[
i
]);
63
output_percry[
i
] =
process
();
64
}
65
66
return
;
67
}
68
69
#endif
mps_fire.i
i
Definition:
mps_fire.py:355
EcalFenixLinearizer::mult_
int mult_
Definition:
EcalFenixLinearizer.h:25
EcalFenixLinearizer::peds_
const EcalTPGPedestal * peds_
Definition:
EcalFenixLinearizer.h:31
EcalTPGPedestal
Definition:
EcalTPGPedestals.h:8
EcalTPGLinearizationConstant
Definition:
EcalTPGLinearizationConst.h:8
EcalFenixLinearizer::base_
int base_
Definition:
EcalFenixLinearizer.h:24
EcalCondObjectContainer< EcalTPGPedestal >
EcalFenixLinearizer::shift_
int shift_
Definition:
EcalFenixLinearizer.h:26
EcalFenixLinearizer::vectorbadXStatus_
std::vector< const EcalTPGCrystalStatusCode * > vectorbadXStatus_
Definition:
EcalFenixLinearizer.h:34
EcalFenixLinearizer::famos_
bool famos_
Definition:
EcalFenixLinearizer.h:21
EcalFenixLinearizer::EcalFenixLinearizer
EcalFenixLinearizer(bool famos)
Definition:
EcalFenixLinearizer.cc:9
EcalFenixLinearizer::setParameters
void setParameters(uint32_t raw, const EcalTPGPedestals *ecaltpPed, const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGCrystalStatus *ecaltpBadX)
Definition:
EcalFenixLinearizer.cc:20
EcalTPGLinearizationConst.h
EcalFenixLinearizer::uncorrectedSample_
int uncorrectedSample_
Definition:
EcalFenixLinearizer.h:22
EcalFenixLinearizer
Linearisation for Fenix strip input: 16 bits corresponding to input EBDataFrame output: 18 bits.
Definition:
EcalFenixLinearizer.h:19
EcalFenixLinearizer::linConsts_
const EcalTPGLinearizationConstant * linConsts_
Definition:
EcalFenixLinearizer.h:30
EcalFenixLinearizer::process
int process()
Definition:
EcalFenixLinearizer.cc:51
EcalTPGPedestals.h
EcalFenixLinearizer::badXStatus_
const EcalTPGCrystalStatusCode * badXStatus_
Definition:
EcalFenixLinearizer.h:32
EcalMGPASample.h
EcalMGPASample
Definition:
EcalMGPASample.h:22
EcalFenixLinearizer::gainID_
int gainID_
Definition:
EcalFenixLinearizer.h:23
EcalFenixLinearizer::setInput
int setInput(const EcalMGPASample &RawSam)
Definition:
EcalFenixLinearizer.cc:67
EcalFenixLinearizer::init_
bool init_
Definition:
EcalFenixLinearizer.h:28
T
long double T
Definition:
Basic3DVectorLD.h:48
EcalTPGCrystalStatusCode
Definition:
EcalTPGCrystalStatusCode.h:14
EcalTPGCrystalStatus.h
EcalFenixLinearizer::~EcalFenixLinearizer
virtual ~EcalFenixLinearizer()
Definition:
EcalFenixLinearizer.cc:12
EcalFenixLinearizer::strip_
int strip_
Definition:
EcalFenixLinearizer.h:27
Generated for CMSSW Reference Manual by
1.8.16