CMS 3D CMS Logo

EcalEBFenixLinearizer.h
Go to the documentation of this file.
1 #ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixLinearizer_h
2 #define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixLinearizer_h
3 
8 
9 #include <vector>
10 
20 private:
21  bool famos_;
23  int gainID_;
24  int base_;
25  int mult_;
26  int shift_;
27  int strip_;
28  bool init_;
29 
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