Go to the documentation of this file.00001 #ifndef GeneratorInterface_PartonShowerVeto_JetMatchingMadggraph_h
00002 #define GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_h
00003
00004 #include "GeneratorInterface/PartonShowerVeto/interface/JetMatching.h"
00005
00006 namespace gen
00007 {
00008
00009 class JetMatchingMadgraph : public JetMatching {
00010 public:
00011 JetMatchingMadgraph(const edm::ParameterSet ¶ms);
00012 ~JetMatchingMadgraph();
00013
00014 private:
00015 void init(const lhef::LHERunInfo* runInfo);
00016 void beforeHadronisation(const lhef::LHEEvent* event);
00017 void beforeHadronisationExec();
00018
00019 int match(const HepMC::GenEvent *partonLevel,
00020 const HepMC::GenEvent *finalState,
00021 bool showeredFinalState);
00022
00023 std::set<std::string> capabilities() const;
00024
00025 template<typename T>
00026 static T parseParameter(const std::string &value);
00027 template<typename T>
00028 static T getParameter(const std::map<std::string, std::string> ¶ms,
00029 const std::string &var, const T &defValue = T());
00030 template<typename T>
00031 T getParameter(const std::string &var, const T &defValue = T()) const;
00032
00033 template<typename T>
00034 static void updateOrDie(
00035 const std::map<std::string, std::string> ¶ms,
00036 T ¶m, const std::string &name);
00037
00038 std::map<std::string, std::string> mgParams;
00039
00040 bool runInitialized;
00041 bool eventInitialized;
00042 bool soup;
00043 bool exclusive;
00044 };
00045
00046 }
00047
00048
00049 #endif // GeneratorCommon_PartonShowerVeto_JetMatchingMadgraph_h