Go to the documentation of this file.00001 #include <string>
00002 #include <memory>
00003
00004 #include <boost/shared_ptr.hpp>
00005
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00008 #include "FWCore/PluginManager/interface/PluginManager.h"
00009 #include "FWCore/PluginManager/interface/PluginFactory.h"
00010
00011 #include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
00012 #include "GeneratorInterface/LHEInterface/interface/LHEEvent.h"
00013
00014 #include "GeneratorInterface/LHEInterface/interface/JetMatching.h"
00015
00016 EDM_REGISTER_PLUGINFACTORY(lhef::JetMatching::Factory,
00017 "GeneratorInterfaceLHEJetMatching");
00018
00019 namespace lhef {
00020
00021 JetMatching::JetMatching(const edm::ParameterSet ¶ms)
00022 {
00023 }
00024
00025 JetMatching::~JetMatching()
00026 {
00027 }
00028
00029 void JetMatching::init(const boost::shared_ptr<LHERunInfo> &runInfo)
00030 {
00031 }
00032
00033 void JetMatching::beforeHadronisation(
00034 const boost::shared_ptr<LHEEvent> &event)
00035 {
00036 }
00037
00038 std::set<std::string> JetMatching::capabilities() const
00039 {
00040 std::set<std::string> result;
00041 result.insert("psFinalState");
00042 result.insert("hepmc");
00043 return result;
00044 }
00045
00046 std::auto_ptr<JetMatching> JetMatching::create(
00047 const edm::ParameterSet ¶ms)
00048 {
00049 std::string name = params.getParameter<std::string>("scheme");
00050
00051 std::auto_ptr<JetMatching> plugin(
00052 Factory::get()->create("JetMatching" + name, params));
00053
00054 if (!plugin.get())
00055 throw cms::Exception("InvalidJetMatching")
00056 << "Unknown scheme \"" << name << "\""
00057 " specified for jet matching in LHEProducer."
00058 << std::endl;
00059
00060 edm::LogInfo("Generator|LHEInterface")
00061 << "Using " << name << " for ME/PS jet matching." << std::endl;
00062
00063 return plugin;
00064 }
00065
00066 }