Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:51

0001 #ifndef GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_h
0002 #define GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_h
0003 
0004 #include "GeneratorInterface/PartonShowerVeto/interface/JetMatching.h"
0005 
0006 namespace gen {
0007 
0008   class JetMatchingMadgraph : public JetMatching {
0009   public:
0010     JetMatchingMadgraph(const edm::ParameterSet &params);
0011     ~JetMatchingMadgraph() override;
0012 
0013   protected:
0014     void init(const lhef::LHERunInfo *runInfo) override;
0015     void beforeHadronisation(const lhef::LHEEvent *event) override;
0016     void beforeHadronisationExec() override;
0017 
0018     int match(const lhef::LHEEvent *partonLevel, const std::vector<fastjet::PseudoJet> *jetInput) override;
0019 
0020     double getJetEtaMax() const override;
0021 
0022     /*
0023     int match(const HepMC::GenEvent *partonLevel,
0024               const HepMC::GenEvent *finalState,
0025               bool showeredFinalState);
0026 */
0027     std::set<std::string> capabilities() const override;
0028 
0029     template <typename T>
0030     static T parseParameter(const std::string &value);
0031     template <typename T>
0032     static T getParameter(const std::map<std::string, std::string> &params,
0033                           const std::string &var,
0034                           const T &defValue = T());
0035     template <typename T>
0036     T getParameter(const std::string &var, const T &defValue = T()) const;
0037 
0038     template <typename T>
0039     static void updateOrDie(const std::map<std::string, std::string> &params, T &param, const std::string &name);
0040 
0041     std::map<std::string, std::string> mgParams;
0042 
0043     bool runInitialized;
0044     bool eventInitialized;
0045     bool soup;
0046     bool exclusive;
0047   };
0048 
0049 }  // namespace gen
0050 
0051 #endif  // GeneratorInterface_PartonShowerVeto_JetMatchingMadgraph_h