CMS 3D CMS Logo

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 CLHEP {
28  class HepRandomEngine;
29 }
30 
31 namespace edm {
32  class EventSetup;
33  class LuminosityBlock;
34 } // namespace edm
35 
36 namespace gen {
37 
38  // class Pythia6Service;
39 
40  class Pythia6Gun : public edm::EDProducer {
41  public:
43  ~Pythia6Gun() override;
44  void beginJob() override;
45  void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
46  void beginRun(edm::Run const&, edm::EventSetup const&) override;
47  void endRun(edm::Run const&, edm::EventSetup const&) override;
48  void produce(edm::Event&, const edm::EventSetup&) override;
49 
50  protected:
52  void loadEvent(edm::Event&);
53  virtual void generateEvent(CLHEP::HepRandomEngine*) = 0;
54  HepMC::GenParticle* addAntiParticle(int&, int&, double&, double&, double&);
55 
57 
58  // gun particle(s) characteristics
59  //
60  std::vector<int> fPartIDs;
61  double fMinPhi;
62  double fMaxPhi;
63 
64  // the event format itself
65  //
67 
68  // HepMC/HepPDT related things
69  // (for particle/event construction)
70  //
71  // edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ;
72 
76  };
77 
78 } // namespace gen
79 
80 #endif
gen::Pythia6Gun::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: Pythia6Gun.cc:162
EDProducer.h
gen::Pythia6Gun::beginRun
void beginRun(edm::Run const &, edm::EventSetup const &) override
Definition: Pythia6Gun.cc:65
gen::Pythia6Gun::fPylistVerbosity
int fPylistVerbosity
Definition: Pythia6Gun.h:74
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
gen::Pythia6Gun::beginLuminosityBlock
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: Pythia6Gun.cc:70
edm
HLT enums.
Definition: AlignableModifier.h:19
gen::Pythia6Gun::fEvt
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:66
Pythia6Declarations.h
gen::Pythia6Gun::endRun
void endRun(edm::Run const &, edm::EventSetup const &) override
Definition: Pythia6Gun.cc:86
gen::Pythia6Gun
Definition: Pythia6Gun.h:40
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::Pythia6Gun::fMaxEventsToPrint
int fMaxEventsToPrint
Definition: Pythia6Gun.h:75
gen::Pythia6Gun::generateEvent
virtual void generateEvent(CLHEP::HepRandomEngine *)=0
gen::Pythia6Gun::addAntiParticle
HepMC::GenParticle * addAntiParticle(int &, int &, double &, double &, double &)
Definition: Pythia6Gun.cc:198
gen::Pythia6Gun::~Pythia6Gun
~Pythia6Gun() override
Definition: Pythia6Gun.cc:51
gen::Pythia6Gun::fHepMCVerbosity
bool fHepMCVerbosity
Definition: Pythia6Gun.h:73
gen::Pythia6Gun::attachPy6DecaysToGenEvent
void attachPy6DecaysToGenEvent()
Definition: Pythia6Gun.cc:94
LuminosityBlock
gen
Definition: PythiaDecays.h:13
CLHEP
Definition: CocoaGlobals.h:27
gen::Pythia6Gun::fMaxPhi
double fMaxPhi
Definition: Pythia6Gun.h:62
edm::ParameterSet
Definition: ParameterSet.h:47
gen::Pythia6Gun::fMinPhi
double fMinPhi
Definition: Pythia6Gun.h:61
gen::Pythia6Gun::Pythia6Gun
Pythia6Gun(const edm::ParameterSet &)
Definition: Pythia6Gun.cc:24
edm::EventSetup
Definition: EventSetup.h:58
gen::Pythia6Gun::loadEvent
void loadEvent(edm::Event &)
Definition: Pythia6Gun.cc:187
gen::Pythia6Gun::fPy6Service
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:56
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
Pythia6Service.h
gen::Pythia6Gun::fPartIDs
std::vector< int > fPartIDs
Definition: Pythia6Gun.h:60
edm::EDProducer
Definition: EDProducer.h:35
gen::Pythia6Service
Definition: Pythia6Service.h:24
EventSetup
edm::Event
Definition: Event.h:73
gen::Pythia6Gun::beginJob
void beginJob() override
Definition: Pythia6Gun.cc:60