CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HERecalibration.h
Go to the documentation of this file.
1 #ifndef CalibCalorimetry_HERecalibration_h
2 #define CalibCalorimetry_HERecalibration_h
3 //
4 // Simple class with tabulated/parameterized function
5 // to compansate for darkening attenuation of HE scintillators
6 // in Upgrade conditions
7 // Evaluated on the basis of SimG4CMS/Calo/ HEDarkening by K.Pedro (Maryland)
8 // correction = f (integrated lumi, depth, ieta)
9 //
10 
11 #include <cmath>
12 #include <vector>
13 #include <iostream>
15 
16 #define maxEta 14 // ieta rings for HE
17 #define maxLay 19 // max.number of layers
18 #define maxDepth 7 // with some safety margin (wrt 5)
19 
21 
22 public:
23  HERecalibration(double integrated_lumi);
25 
26  double getCorr(int ieta, int idepth);
27  void setDsegm(std::vector<std::vector<int> > m_segmentation);
28 
29 private:
30 
31  void initialize();
32  double iLumi;
34 
35  // Tabulated mean energy values per layer and per depth
36  double dsegm[maxEta][maxLay];
37  double corr[maxEta][maxDepth];
38 
39 };
40 
41 
42 #endif // HERecalibration_h
double dsegm[maxEta][maxLay]
#define maxDepth
#define maxEta
double getCorr(int ieta, int idepth)
void setDsegm(std::vector< std::vector< int > > m_segmentation)
#define maxLay
HERecalibration(double integrated_lumi)
double corr[maxEta][maxDepth]
HEDarkening darkening