00001 #ifndef ELECTRONPHOTONFOURMOMENTUMCORRECTION_GAINUNCERTAINTYY_H
00002 #define ELECTRONPHOTONFOURMOMENTUMCORRECTION_GAINUNCERTAINTYY_H
00003
00004 #include <AsgTools/AsgMessaging.h>
00005 #include <PATCore/PATCoreEnums.h>
00006 #include <memory>
00007 #include <string>
00008
00009
00010 class TFile;
00011 class TH1F;
00012 class TH1D;
00013
00014 namespace egGain{
00015
00016 class GainUncertainty : public asg::AsgMessaging {
00017
00018 public:
00019
00020 GainUncertainty();
00021 ~GainUncertainty();
00022
00023
00024
00025
00026
00027
00028 double getUncertainty(double etaCalo_input, double et_input, PATCore::ParticleType::Type ptype=PATCore::ParticleType::Electron) const;
00029
00030 private:
00031
00032 static const int m_NUM_ETA_BINS=5;
00033
00034 std::unique_ptr<TFile> m_gainFile;
00035
00036 TH1F* m_alpha_specialGainRun;
00037 TH1F* m_gain_impact_Zee;
00038 TH1D* m_gain_Impact_elec[5];
00039 TH1D* m_gain_Impact_conv[5];
00040 TH1D* m_gain_Impact_unco[5];
00041
00042 };
00043
00044 }
00045
00046 #endif