CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 #include "DataFormats/HcalCalibObjects/interface/HEDarkening.h"
00015 
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   HEDarkening darkening;
00034 
00035  // Tabulated mean energy values per layer and per depth
00036   double dsegm[maxEta][maxLay];
00037   double corr[maxEta][maxDepth];
00038 
00039 };
00040 
00041 
00042 #endif // HERecalibration_h