CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/CalibCalorimetry/HcalPlugins/src/HERecalibration.h

Go to the documentation of this file.
00001 #ifndef CalibCalorimetry_HERecalibration_h
00002 #define CalibCalorimetry_HERecalibration_h
00003 //
00004 // Simple class with tabulated/parameterized function 
00005 // to compansate for darkening attenuation of HE scintillators   
00006 // in Upgrade conditions
00007 // Evaluated on the basis of   SimG4CMS/Calo/ HEDarkening by K.Pedro (Maryland)
00008 // correction = f (integrated lumi, depth, ieta)
00009 //
00010 
00011 #include <cmath>
00012 #include <vector>
00013 #include <iostream>
00014 
00015 #define maxLumi   21   // integrated Lumi points 0-10000fb-1 (step = 500fb-1)  
00016 #define maxEta    14   // ieta rings for HE 
00017 #define maxLay    19   // max.number of layers 
00018 #define maxDepth  7    // with some safety margin (wrt 5)
00019 
00020 class HERecalibration {
00021 
00022 public:
00023   HERecalibration(double integrated_lumi);
00024   ~HERecalibration();
00025 
00026   double getCorr(int ieta, int idepth);
00027   void  setDsegm(std::vector<std::vector<int> > m_segmentation);
00028 
00029 private:
00030 
00031   void initialize();
00032   double iLumi;
00033 
00034  // Tabulated mean energy values per layer and per depth
00035   double dsegm[maxEta][maxLay];
00036   double corr[maxLumi][maxEta][maxDepth];
00037 
00038 };
00039 
00040 
00041 #endif // HERecalibration_h