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
00009 #include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
00010 #include "GeneratorInterface/LHEInterface/interface/LHEEvent.h"
00011
00012 #include "GeneratorInterface/PartonShowerVeto/interface/JetMatchingMadgraph.h"
00013 #include "GeneratorInterface/PartonShowerVeto/interface/JetMatchingAlpgen.h"
00014
00015
00016 namespace gen {
00017
00018 JetMatching::JetMatching(const edm::ParameterSet ¶ms)
00019 {
00020 fMatchingStatus=false;
00021 }
00022
00023 JetMatching::~JetMatching()
00024 {
00025 }
00026
00027 void JetMatching::init(const lhef::LHERunInfo* runInfo)
00028 {
00029 }
00030
00031 void JetMatching::beforeHadronisation(const lhef::LHEEvent* event)
00032 {
00033 }
00034
00035 void JetMatching::beforeHadronisationExec()
00036 {
00037 }
00038
00039 std::set<std::string> JetMatching::capabilities() const
00040 {
00041 std::set<std::string> result;
00042 result.insert("psFinalState");
00043 result.insert("hepmc");
00044 return result;
00045 }
00046
00047 std::auto_ptr<JetMatching> JetMatching::create(const edm::ParameterSet ¶ms)
00048 {
00049 std::string scheme = params.getParameter<std::string>("scheme");
00050
00051 std::auto_ptr<JetMatching> matching;
00052
00053 if (scheme == "Madgraph")
00054 {
00055 matching.reset(new JetMatchingMadgraph(params));
00056 }
00057 else if (scheme == "Alpgen")
00058 {
00059 matching.reset(new JetMatchingAlpgen(params));
00060 }
00061 else if (scheme == "MLM")
00062 {
00063 matching.reset();
00064 }
00065 else
00066 throw cms::Exception("InvalidJetMatching")
00067 << "Unknown scheme \"" << scheme << "\""
00068 " specified for parton-shower matching."
00069 << std::endl;
00070
00071 if (!matching.get())
00072 throw cms::Exception("InvalidJetMatching")
00073 << "Port of " << scheme << "scheme \"" << "\""
00074 " for parton-shower matching is still in progress."
00075 << std::endl;
00076
00077 return matching;
00078 }
00079
00080 }