00001 #ifndef ELECTRONCHARGECORRECTION_ELECHARGEALG_H
00002 #define ELECTRONCHARGECORRECTION_ELECHARGEALG_H 1
00003
00004 #include "AthenaBaseComps/AthAlgorithm.h"
00005 #include "GaudiKernel/ToolHandle.h"
00006
00007
00008 #include "TTree.h"
00009 #include "TLorentzVector.h"
00010
00011 #include <vector>
00012
00013
00014 #include "PATInterfaces/SystematicSet.h"
00015
00016 namespace CP{
00017
00018 class IEfficiencyScaleFactorTool;
00019 }
00020
00021 class EleChargeAlg: public ::AthAlgorithm {
00022 public:
00023 EleChargeAlg( const std::string& name, ISvcLocator* pSvcLocator);
00024
00025 virtual ~EleChargeAlg();
00026
00027 virtual StatusCode initialize();
00028 virtual StatusCode execute();
00029 virtual StatusCode finalize();
00030
00031
00032 private:
00034 CP::SystematicSet m_syst;
00035
00037 ToolHandle<CP::IEfficiencyScaleFactorTool> m_eccTool;
00038
00040 StringProperty m_eleContName;
00041 };
00042
00043 #endif //> !ELECTRONCHARGECORRECTION_ELECHARGEALG_H