CMS 3D CMS Logo

ThePEGInterface.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_ThePEGInterface_ThePEGInterface_h
2 #define GeneratorInterface_ThePEGInterface_ThePEGInterface_h
3 
10 #include <memory>
11 #include <string>
12 
13 #include <boost/shared_ptr.hpp>
14 
15 #include <HepMC/GenEvent.h>
16 #include <HepMC/PdfInfo.h>
17 #include <HepMC/IO_BaseClass.h>
18 
19 #include <ThePEG/Repository/EventGenerator.h>
20 #include <ThePEG/EventRecord/Event.h>
21 
23 
26 
27 namespace CLHEP {
28  class HepRandomEngine;
29 }
30 
32  public:
33  ThePEGInterface(const edm::ParameterSet &params);
34  virtual ~ThePEGInterface();
35 
36  void setPEGRandomEngine(CLHEP::HepRandomEngine*);
37 
38  protected:
39  void initRepository(const edm::ParameterSet &params) const;
40  void initGenerator();
41  void flushRandomNumberGenerator();
42 
43  static std::auto_ptr<HepMC::GenEvent>
44  convert(const ThePEG::EventPtr &event);
45  static void clearAuxiliary(HepMC::GenEvent *hepmc,
46  HepMC::PdfInfo *pdf);
47  static void fillAuxiliary(HepMC::GenEvent *hepmc,
48  HepMC::PdfInfo *pdf,
49  const ThePEG::EventPtr &event);
50 
51  static double pthat(const ThePEG::EventPtr &event);
52 
53  std::string dataFile(const std::string &fileName) const;
54  std::string dataFile(const edm::ParameterSet &pset,
55  const std::string &paramName) const;
56 
57  ThePEG::EGPtr eg_;
58  std::auto_ptr<HepMC::IO_BaseClass> iobc_;
59 
60  private:
61  boost::shared_ptr<ThePEG::RandomEngineGlue::Proxy>
63 
68  const unsigned int skipEvents_;
69 };
70 
71 
72 
73 
74 
75 
76 
77 #endif // GeneratorInterface_ThePEGInterface_ThePEGInterface_h
const std::string run_
std::auto_ptr< HepMC::IO_BaseClass > iobc_
ThePEG::EGPtr eg_
const std::string dumpConfig_
def convert(infile, ofile)
const std::string generator_
const unsigned int skipEvents_
const std::string dataLocation_
boost::shared_ptr< ThePEG::RandomEngineGlue::Proxy > randomEngineGlueProxy_
Definition: event.py:1