CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Pythia6Gun.h
Go to the documentation of this file.
1 #ifndef gen_Pythia6Gun_h
2 #define gen_Pythia6Gun_h
3 
10 #include <string>
11 #include <vector>
12 
13 //#include "HepPDT/defs.h"
14 //#include "HepPDT/TableBuilder.hh"
15 //#include "HepPDT/ParticleDataTable.hh"
16 
17 #include "HepMC/GenEvent.h"
18 
19 // #include "FWCore/Framework/interface/ESHandle.h"
21 
24 
25 #include "HepPID/ParticleIDTranslations.hh"
26 
27 namespace gen
28 {
29 
30 // class Pythia6Service;
31 
32  class Pythia6Gun : public edm::EDProducer
33  {
34 
35  public:
36 
37  Pythia6Gun( const edm::ParameterSet& );
38  virtual ~Pythia6Gun();
39  void beginJob() ;
40  void endJob();
41  void beginRun( edm::Run &, edm::EventSetup const& );
42  void endRun( edm::Run &, edm::EventSetup const& );
43  void produce( edm::Event&, const edm::EventSetup& ) ;
44 
45  protected:
46 
48  void loadEvent( edm::Event& );
49  virtual void generateEvent() = 0;
50  HepMC::GenParticle* addAntiParticle( int&, int&, double&, double&, double& );
51 
53 
54  // gun particle(s) characteristics
55  //
56  std::vector<int> fPartIDs ;
57  double fMinPhi ;
58  double fMaxPhi ;
59 
60  // the event format itself
61  //
62  HepMC::GenEvent* fEvt;
63 
64  // HepMC/HepPDT related things
65  // (for particle/event construction)
66  //
67  // edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ;
68 
72 
73  };
74 
75 } // end namespace
76 
77 #endif
HepMC::GenParticle * addAntiParticle(int &, int &, double &, double &, double &)
Definition: Pythia6Gun.cc:242
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:62
void produce(edm::Event &, const edm::EventSetup &)
Definition: Pythia6Gun.cc:201
bool fHepMCVerbosity
Definition: Pythia6Gun.h:69
int fPylistVerbosity
Definition: Pythia6Gun.h:70
virtual void generateEvent()=0
virtual ~Pythia6Gun()
Definition: Pythia6Gun.cc:57
void attachPy6DecaysToGenEvent()
Definition: Pythia6Gun.cc:107
double fMinPhi
Definition: Pythia6Gun.h:57
int fMaxEventsToPrint
Definition: Pythia6Gun.h:71
void loadEvent(edm::Event &)
Definition: Pythia6Gun.cc:228
void beginRun(edm::Run &, edm::EventSetup const &)
Definition: Pythia6Gun.cc:78
double fMaxPhi
Definition: Pythia6Gun.h:58
Pythia6Gun(const edm::ParameterSet &)
Definition: Pythia6Gun.cc:25
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:52
void endRun(edm::Run &, edm::EventSetup const &)
Definition: Pythia6Gun.cc:97
std::vector< int > fPartIDs
Definition: Pythia6Gun.h:56
Definition: Run.h:33