Go to the documentation of this file.00001 #ifndef CalibCalorimetry_EnergyResolutionVsLumi_H
00002 #define CalibCalorimetry_EnergyResolutionVsLumi_H
00003
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