CMS 3D CMS Logo

HBHERecalibration.h
Go to the documentation of this file.
1 #ifndef CalibCalorimetry_HBHERecalibration_h
2 #define CalibCalorimetry_HBHERecalibration_h
3 
5 
6 #include <vector>
7 #include <string>
8 
9 // Simple recalibration algorithm for radiation damage to HB and HE
10 // produces response correction for a depth based on average of darkening per layer, weighted by mean energy per layer
11 // (a depth can contain several layers)
12 // (mean energy per layer derived from 50 GeV single pion scan in MC)
13 
15 public:
16  HBHERecalibration(float intlumi, float cutoff, std::string meanenergies);
18 
19  //accessors
20  float getCorr(int ieta, int depth) const;
21  void setup(const std::vector<std::vector<int>>& m_segmentation, const HBHEDarkening* darkening);
22  int maxDepth() const { return max_depth_; }
23 
24 private:
25  //helper
26  void initialize();
27 
28  //members
29  float intlumi_;
30  float cutoff_;
33  std::vector<std::vector<float>> meanenergies_;
35  std::vector<std::vector<int>> dsegm_;
36  std::vector<std::vector<float>> corr_;
37 };
38 
39 #endif // HBHERecalibration_h
std::vector< std::vector< int > > dsegm_
std::vector< std::vector< float > > meanenergies_
std::vector< std::vector< float > > corr_
void setup(const std::vector< std::vector< int >> &m_segmentation, const HBHEDarkening *darkening)
float getCorr(int ieta, int depth) const
HBHERecalibration(float intlumi, float cutoff, std::string meanenergies)
const HBHEDarkening * darkening_