00001 #include "FastShowerUtils/ElectronEcSelConfig.h" 00002 #include "FastShowerUtils/ElectronEcConfigurer.h" 00003 #include "FastShowerUtils/IShowerer.h" 00004 #include "FastShowerUtils/IFnOfParticleParameters.h" 00005 #include "FastShowerUtils/IFnOfParticleParameters2.h" 00006 #include "FastShowerUtils/IAcceptor.h" 00007 #include "FastShowerUtils/Acceptors/ElectronEcAcceptor.h" 00008 #include "FastShowerUtils/Normalisers/EmHcalLeakageEc.h" 00009 #include "FastShowerUtils/Normalisers/SmearElectron.h" 00010 #include "FastShowerUtils/IConfigurer.h" 00011 00012 namespace FastShower{ 00013 ElectronEcSelConfig::ElectronEcSelConfig(Moni& m): 00014 m_configurer(new ElectronEcConfigurer(m) ){ 00015 } 00017 ElectronEcSelConfig::ElectronEcSelConfig(NoMoni& m): 00018 m_configurer(new ElectronEcConfigurer(m) ){ 00019 } 00021 ElectronEcSelConfig::~ElectronEcSelConfig(){ 00022 delete m_configurer; 00023 } 00024 IAcceptor* ElectronEcSelConfig::acceptor() const { 00025 return new ElectronEcAcceptor(); 00026 } 00027 IFnOfParticleParameters2* ElectronEcSelConfig::ehSharer() const { 00028 return new EmHcalLeakageEc(); 00029 } 00030 IFnOfParticleParameters* ElectronEcSelConfig::resolution() const { 00031 return new SmearElectron(); 00032 } 00033 00034 IShowerer* ElectronEcSelConfig::showerer() const { 00035 return m_configurer->makeShowerer("ElectronEcShowerer"); 00036 } 00037 //**************************************************************** 00038 // dummy implementation (used only by soft photons) 00039 //**************************************************************** 00040 std::map<double,std::string> ElectronEcSelConfig::histograms() const { 00041 std::map<double,std::string> hists; 00042 return hists; 00043 } 00044 } 00045 00046 00047