00001 #ifndef GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_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 protected: 00015 virtual void init(const lhef::LHERunInfo* runInfo); 00016 virtual void beforeHadronisation(const lhef::LHEEvent* event); 00017 virtual void beforeHadronisationExec(); 00018 00019 virtual int match( const lhef::LHEEvent* partonLevel, const std::vector<fastjet::PseudoJet>* jetInput ); 00020 00021 virtual double getJetEtaMax() const; 00022 00023 /* 00024 int match(const HepMC::GenEvent *partonLevel, 00025 const HepMC::GenEvent *finalState, 00026 bool showeredFinalState); 00027 */ 00028 std::set<std::string> capabilities() const; 00029 00030 template<typename T> 00031 static T parseParameter(const std::string &value); 00032 template<typename T> 00033 static T getParameter(const std::map<std::string, std::string> ¶ms, 00034 const std::string &var, const T &defValue = T()); 00035 template<typename T> 00036 T getParameter(const std::string &var, const T &defValue = T()) const; 00037 00038 template<typename T> 00039 static void updateOrDie( 00040 const std::map<std::string, std::string> ¶ms, 00041 T ¶m, const std::string &name); 00042 00043 std::map<std::string, std::string> mgParams; 00044 00045 bool runInitialized; 00046 bool eventInitialized; 00047 bool soup; 00048 bool exclusive; 00049 }; 00050 00051 } // namespace gen 00052 00053 00054 #endif // GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_h