CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/CondTools/Ecal/interface/EnergyResolutionVsLumi.h

Go to the documentation of this file.
00001 #ifndef CalibCalorimetry_EnergyResolutionVsLumi_H
00002 #define CalibCalorimetry_EnergyResolutionVsLumi_H
00003 // system include files
00004 
00005 #include <vector>
00006 #include <typeinfo>
00007 #include <string>
00008 #include <map>
00009 
00010 #include <time.h>
00011 #include <stdio.h>
00012 
00013 #include <math.h>
00014 
00015 #include "CondTools/Ecal/interface/EvolutionECAL.h"
00016 #include "DataFormats/DetId/interface/DetId.h"
00017 
00018 class EnergyResolutionVsLumi {
00019 
00020  public:
00021   
00022   EnergyResolutionVsLumi();
00023 
00024   EnergyResolutionVsLumi(double lumi, double instlumi){
00025     m_lumi=lumi;
00026     m_instlumi=instlumi;
00027     calcmuTot();
00028   };
00029 
00030 
00031   virtual ~EnergyResolutionVsLumi();
00032   
00033           
00034   struct DegradationAtEta{
00035     double eta;
00036     double muEM;
00037     double muHD;
00038     double ampDropTransparency;
00039     double ampDropPhotoDetector;
00040     double ampDropTotal;
00041     double noiseIncreaseADC;
00042     double resolutitonConstantTerm;
00043   };
00044   
00045 
00046   
00047 
00048   DegradationAtEta CalculateDegradation(double eta);
00049   double  Resolution(double eta, double ene);
00050   void Decomposition();
00051 
00052   void setLumi(double x){m_lumi=x;};
00053   void setInstLumi(double x){m_instlumi=x;};
00054   void setLumies(double x, double y){m_lumi=x, m_instlumi=y, calcmuTot();};
00055  
00056   double calcmuEM(double eta);
00057   double calcmuHD(double eta);
00058   double calcampDropTransparency(double eta);
00059   double calcampDropPhotoDetector(double eta);
00060   double calcampDropTotal(double eta);
00061   double calcnoiseIncreaseADC(double eta);
00062   double calcnoiseADC(double eta);
00063   double calcresolutitonConstantTerm(double eta);
00064   
00065   double calcLightCollectionEfficiencyWeighted(DetId id, double z);
00066 
00067   double calcLightCollectionEfficiencyWeighted2(double eta, double z, double mu_ind=-1.0);
00068   double calcmuTot(double eta);
00069   void   calcmuTot();
00070   double getmuTot(double eta, int ix, int iy);
00071 
00072 
00073  private:
00074   double m_lumi;
00075   double m_instlumi;
00076   double mu_eta[10085];
00077 
00078 
00079 };
00080 
00081 #endif