CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/GeneratorInterface/LHEInterface/src/JetMatching.cc

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 &params)
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 &params)
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 } // namespace lhef