CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/GeneratorInterface/PartonShowerVeto/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 
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 &params)
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 &params)
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 } // namespace gen