CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
gen::Pythia6Gun Class Referenceabstract

#include <Pythia6Gun.h>

Inheritance diagram for gen::Pythia6Gun:
edm::one::EDProducer< edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper gen::Pythia6ParticleGun gen::Pythia6PartonGun gen::Pythia6EGun gen::Pythia6JetGun gen::Pythia6PtGun gen::Pythia6PtYDistGun gen::Pythia6PartonEGun gen::Pythia6PartonPtGun

Public Member Functions

void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 Pythia6Gun (const edm::ParameterSet &)
 
 ~Pythia6Gun () override
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

HepMC::GenParticle * addAntiParticle (int &, int &, double &, double &, double &)
 
void attachPy6DecaysToGenEvent ()
 
virtual void generateEvent (CLHEP::HepRandomEngine *)=0
 
void loadEvent (edm::Event &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Protected Attributes

HepMC::GenEventfEvt
 
bool fHepMCVerbosity
 
int fMaxEventsToPrint
 
double fMaxPhi
 
double fMinPhi
 
std::vector< int > fPartIDs
 
Pythia6ServicefPy6Service
 
int fPylistVerbosity
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 40 of file Pythia6Gun.h.

Constructor & Destructor Documentation

◆ Pythia6Gun()

Pythia6Gun::Pythia6Gun ( const edm::ParameterSet pset)

Definition at line 24 of file Pythia6Gun.cc.

References gen::call_pygive(), edm::errors::Configuration, Exception, fHepMCVerbosity, fMaxEventsToPrint, fMaxPhi, fMinPhi, fPylistVerbosity, edm::ParameterSet::getParameter(), edm::SharedResourceNames::kPythia6, and muonDTDigis_cfi::pset.

26  fEvt(nullptr)
27 // fPDGTable( new DefaultConfig::ParticleDataTable("PDG Table") )
28 {
29  ParameterSet pgun_params = pset.getParameter<ParameterSet>("PGunParameters");
30 
31  // although there's the method ParameterSet::empty(),
32  // it looks like it's NOT even necessary to check if it is,
33  // before trying to extract parameters - if it is empty,
34  // the default values seem to be taken
35  //
36  fMinPhi = pgun_params.getParameter<double>("MinPhi"); // ,-3.14159265358979323846);
37  fMaxPhi = pgun_params.getParameter<double>("MaxPhi"); // , 3.14159265358979323846);
38 
39  fHepMCVerbosity = pset.getUntrackedParameter<bool>("pythiaHepMCVerbosity", false);
40  fPylistVerbosity = pset.getUntrackedParameter<int>("pythiaPylistVerbosity", 0);
41  fMaxEventsToPrint = pset.getUntrackedParameter<int>("maxEventsToPrint", 0);
42 
43  // Turn off banner printout
44  if (!call_pygive("MSTU(12)=12345")) {
45  throw edm::Exception(edm::errors::Configuration, "PythiaError") << " pythia did not accept MSTU(12)=12345";
46  }
47 
49  produces<HepMCProduct>("unsmeared");
50 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
bool call_pygive(const std::string &line)
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:68
bool fHepMCVerbosity
Definition: Pythia6Gun.h:75
int fPylistVerbosity
Definition: Pythia6Gun.h:76
static const std::string kPythia6
double fMinPhi
Definition: Pythia6Gun.h:63
int fMaxEventsToPrint
Definition: Pythia6Gun.h:77
double fMaxPhi
Definition: Pythia6Gun.h:64
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:58

◆ ~Pythia6Gun()

Pythia6Gun::~Pythia6Gun ( )
override

Definition at line 52 of file Pythia6Gun.cc.

References fPy6Service.

52  {
53  if (fPy6Service)
54  delete fPy6Service;
55  //
56  // note that GenEvent or any undelaying (GenVertex, GenParticle) do NOT
57  // need to be cleaned, as it'll be done automatically by HepMCProduct
58  //
59 }
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:58

Member Function Documentation

◆ addAntiParticle()

HepMC::GenParticle * Pythia6Gun::addAntiParticle ( int &  ip,
int &  particleID,
double &  ee,
double &  eta,
double &  phi 
)
protected

Definition at line 200 of file Pythia6Gun.cc.

References PVValHelper::eta, JetChargeProducer_cfi::exp, GenParticle::GenParticle, M_PI, EgammaObjectsElectrons_cfi::particleID, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, gen::py1ent_(), and gen::pycomp_().

Referenced by gen::Pythia6PartonEGun::generateEvent(), gen::Pythia6PartonPtGun::generateEvent(), gen::Pythia6PtGun::generateEvent(), and gen::Pythia6EGun::generateEvent().

200  {
201  if (ip < 2)
202  return nullptr;
203 
204  // translate PDG to Py6
205  int py6PID = HepPID::translatePDTtoPythia(particleID);
206  // Check if particle is its own anti-particle.
207  int pythiaCode = pycomp_(py6PID); // this is py6 internal validity check, it takes Pythia6 pid
208  // so actually I'll need to convert
209  int has_antipart = pydat2.kchg[3 - 1][pythiaCode - 1];
210  int particleID2 = has_antipart ? -1 * particleID : particleID; // this is PDG, for HepMC::GenEvent
211  int py6PID2 = has_antipart ? -1 * py6PID : py6PID; // this py6 id, for py1ent
212  double the = 2. * atan(exp(eta));
213  phi = phi + M_PI;
214  if (phi > 2. * M_PI) {
215  phi = phi - 2. * M_PI;
216  }
217 
218  // copy over mass of the previous one, because then py6 will pick it up
219  pyjets.p[4][ip - 1] = pyjets.p[4][ip - 2];
220 
221  py1ent_(ip, py6PID2, ee, the, phi);
222 
223  double px = pyjets.p[0][ip - 1]; // pt*cos(phi) ;
224  double py = pyjets.p[1][ip - 1]; // pt*sin(phi) ;
225  double pz = pyjets.p[2][ip - 1]; // mom*cos(the) ;
226  HepMC::FourVector ap(px, py, pz, ee);
227  HepMC::GenParticle* APart = new HepMC::GenParticle(ap, particleID2, 1);
228  APart->suggest_barcode(ip);
229 
230  return APart;
231 }
#define M_PI
int pycomp_(int &)
void py1ent_(int &ip, int &kf, double &pe, double &the, double &phi)

◆ attachPy6DecaysToGenEvent()

void Pythia6Gun::attachPy6DecaysToGenEvent ( )
protected

Definition at line 96 of file Pythia6Gun.cc.

References fEvt, fPartIDs, GenParticle::GenParticle, and class-composition::parent.

Referenced by produce().

96  {
97  for (int iprt = fPartIDs.size(); iprt < pyjets.n; iprt++) // the pointer is shifted by -1, c++ style
98  {
99  int parent = pyjets.k[2][iprt];
100  if (parent != 0) {
101  // pull up parent particle
102  //
103  HepMC::GenParticle* parentPart = fEvt->barcode_to_particle(parent);
104  parentPart->set_status(2); // reset status, to mark that it's decayed
105 
106  HepMC::GenVertex* DecVtx = new HepMC::GenVertex(
107  HepMC::FourVector(pyjets.v[0][iprt], pyjets.v[1][iprt], pyjets.v[2][iprt], pyjets.v[3][iprt]));
108  DecVtx->add_particle_in(parentPart); // this will cleanup end_vertex if exists,
109  // and replace with the new one
110  // I presume barcode will be given automatically
111 
112  HepMC::FourVector pmom(pyjets.p[0][iprt], pyjets.p[1][iprt], pyjets.p[2][iprt], pyjets.p[3][iprt]);
113 
114  int dstatus = 0;
115  if (pyjets.k[0][iprt] >= 1 && pyjets.k[0][iprt] <= 10) {
116  dstatus = 1;
117  } else if (pyjets.k[0][iprt] >= 11 && pyjets.k[0][iprt] <= 20) {
118  dstatus = 2;
119  } else if (pyjets.k[0][iprt] >= 21 && pyjets.k[0][iprt] <= 30) {
120  dstatus = 3;
121  } else if (pyjets.k[0][iprt] >= 31 && pyjets.k[0][iprt] <= 100) {
122  dstatus = pyjets.k[0][iprt];
123  }
124  HepMC::GenParticle* daughter =
125  new HepMC::GenParticle(pmom, HepPID::translatePythiatoPDT(pyjets.k[1][iprt]), dstatus);
126  daughter->suggest_barcode(iprt + 1);
127  DecVtx->add_particle_out(daughter);
128  // give particle barcode as well !
129 
130  int iprt1;
131  for (iprt1 = iprt + 1; iprt1 < pyjets.n; iprt1++) // the pointer is shifted by -1, c++ style
132  {
133  if (pyjets.k[2][iprt1] != parent)
134  break; // another parent particle, break the loop
135 
136  HepMC::FourVector pmomN(pyjets.p[0][iprt1], pyjets.p[1][iprt1], pyjets.p[2][iprt1], pyjets.p[3][iprt1]);
137 
138  dstatus = 0;
139  if (pyjets.k[0][iprt1] >= 1 && pyjets.k[0][iprt1] <= 10) {
140  dstatus = 1;
141  } else if (pyjets.k[0][iprt1] >= 11 && pyjets.k[0][iprt1] <= 20) {
142  dstatus = 2;
143  } else if (pyjets.k[0][iprt1] >= 21 && pyjets.k[0][iprt1] <= 30) {
144  dstatus = 3;
145  } else if (pyjets.k[0][iprt1] >= 31 && pyjets.k[0][iprt1] <= 100) {
146  dstatus = pyjets.k[0][iprt1];
147  }
148  HepMC::GenParticle* daughterN =
149  new HepMC::GenParticle(pmomN, HepPID::translatePythiatoPDT(pyjets.k[1][iprt1]), dstatus);
150  daughterN->suggest_barcode(iprt1 + 1);
151  DecVtx->add_particle_out(daughterN);
152  }
153 
154  iprt = iprt1 - 1; // reset counter such that it doesn't go over the same child more than once
155  // don't forget to offset back into c++ counting, as it's already +1 forward
156 
157  fEvt->add_vertex(DecVtx);
158  }
159  }
160 
161  return;
162 }
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:68
std::vector< int > fPartIDs
Definition: Pythia6Gun.h:62

◆ beginJob()

void Pythia6Gun::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 61 of file Pythia6Gun.cc.

61  {
62  // es.getData( fPDGTable ) ;
63  return;
64 }

◆ beginLuminosityBlock()

void Pythia6Gun::beginLuminosityBlock ( edm::LuminosityBlock const &  lumi,
edm::EventSetup const &   
)
override

Definition at line 71 of file Pythia6Gun.cc.

References cms::cuda::assert(), gen::call_pygive(), fPy6Service, gen::Pythia6Service::setCSAParams(), gen::Pythia6Service::setGeneralParams(), and gen::Pythia6Service::setSLHAParams().

71  {
73 
75 
76  Pythia6Service::InstanceWrapper guard(fPy6Service); // grab Py6 instance
77 
81 
82  call_pygive("MSTU(10)=1");
83 
84  call_pyinit("NONE", "", "", 0.0);
85 }
bool call_pygive(const std::string &line)
assert(be >=bs)
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:58

◆ beginRun()

void Pythia6Gun::beginRun ( edm::Run const &  ,
edm::EventSetup const &  es 
)
override

Definition at line 66 of file Pythia6Gun.cc.

References gather_cfg::cout.

66  {
67  std::cout << " FYI: MSTU(10)=1 is ENFORCED in Py6-PGuns, for technical reasons" << std::endl;
68  return;
69 }

◆ endLuminosityBlock()

void Pythia6Gun::endLuminosityBlock ( edm::LuminosityBlock const &  lumi,
edm::EventSetup const &   
)
final

Definition at line 87 of file Pythia6Gun.cc.

87 {}

◆ endRun()

void Pythia6Gun::endRun ( edm::Run const &  ,
edm::EventSetup const &  es 
)
override

Definition at line 88 of file Pythia6Gun.cc.

88  {
89  // here put in GenRunInfoProduct
90 
91  call_pystat(1);
92 
93  return;
94 }

◆ generateEvent()

virtual void gen::Pythia6Gun::generateEvent ( CLHEP::HepRandomEngine *  )
protectedpure virtual

◆ loadEvent()

void Pythia6Gun::loadEvent ( edm::Event evt)
protected

Definition at line 189 of file Pythia6Gun.cc.

References fEvt, ZgammaFilter_cfi::HepMCProduct, eostools::move(), and edm::Event::put().

Referenced by produce().

189  {
190  std::unique_ptr<HepMCProduct> bare_product(new HepMCProduct());
191 
192  if (fEvt)
193  bare_product->addHepMCData(fEvt);
194 
195  evt.put(std::move(bare_product), "unsmeared");
196 
197  return;
198 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:68
def move(src, dest)
Definition: eostools.py:511

◆ produce()

void Pythia6Gun::produce ( edm::Event evt,
const edm::EventSetup  
)
overridevirtual

Implements edm::one::EDProducerBase.

Definition at line 164 of file Pythia6Gun.cc.

References attachPy6DecaysToGenEvent(), gen::call_pylist(), edm::EventID::event(), fEvt, fHepMCVerbosity, fMaxEventsToPrint, fPy6Service, fPylistVerbosity, generateEvent(), edm::EventBase::id(), loadEvent(), pypars, gen::Pythia6Service::randomEngine(), and edm::Event::streamID().

164  {
166 
168 
169  fEvt->set_beam_particles(nullptr, nullptr);
170  fEvt->set_event_number(evt.id().event());
171  fEvt->set_signal_process_id(pypars.msti[0]);
172 
174 
175  int evtN = evt.id().event();
176  if (evtN <= fMaxEventsToPrint) {
177  if (fPylistVerbosity) {
179  }
180  if (fHepMCVerbosity) {
181  if (fEvt)
182  fEvt->print();
183  }
184  }
185 
186  loadEvent(evt);
187 }
HepMC::GenEvent * fEvt
Definition: Pythia6Gun.h:68
bool fHepMCVerbosity
Definition: Pythia6Gun.h:75
int fPylistVerbosity
Definition: Pythia6Gun.h:76
virtual void generateEvent(CLHEP::HepRandomEngine *)=0
void call_pylist(int mode)
void attachPy6DecaysToGenEvent()
Definition: Pythia6Gun.cc:96
int fMaxEventsToPrint
Definition: Pythia6Gun.h:77
edm::EventID id() const
Definition: EventBase.h:63
StreamID streamID() const
Definition: Event.h:98
void loadEvent(edm::Event &)
Definition: Pythia6Gun.cc:189
CLHEP::HepRandomEngine * randomEngine() const
#define pypars
Pythia6Service * fPy6Service
Definition: Pythia6Gun.h:58
EventNumber_t event() const
Definition: EventID.h:40

Member Data Documentation

◆ fEvt

HepMC::GenEvent* gen::Pythia6Gun::fEvt
protected

◆ fHepMCVerbosity

bool gen::Pythia6Gun::fHepMCVerbosity
protected

Definition at line 75 of file Pythia6Gun.h.

Referenced by produce(), and Pythia6Gun().

◆ fMaxEventsToPrint

int gen::Pythia6Gun::fMaxEventsToPrint
protected

Definition at line 77 of file Pythia6Gun.h.

Referenced by produce(), and Pythia6Gun().

◆ fMaxPhi

double gen::Pythia6Gun::fMaxPhi
protected

◆ fMinPhi

double gen::Pythia6Gun::fMinPhi
protected

◆ fPartIDs

std::vector<int> gen::Pythia6Gun::fPartIDs
protected

Definition at line 62 of file Pythia6Gun.h.

Referenced by attachPy6DecaysToGenEvent().

◆ fPy6Service

Pythia6Service* gen::Pythia6Gun::fPy6Service
protected

◆ fPylistVerbosity

int gen::Pythia6Gun::fPylistVerbosity
protected

Definition at line 76 of file Pythia6Gun.h.

Referenced by produce(), and Pythia6Gun().