CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Pythia6Hadronizer.h
Go to the documentation of this file.
1 #ifndef gen_Pythia6Hadronizer_h
2 #define gen_Pythia6Hadronizer_h
3 
4 // -*- C++ -*-
5 
6 // class Pythia6Hadronizer is an example of a class that models the
7 // Hadronizer concept.
8 
9 #include <memory>
10 
11 #include <boost/shared_ptr.hpp>
12 
14 
16 
17 namespace lhef
18 {
19 class LHERunInfo;
20 class LHEEvent;
21 }
22 
23 class LHEEventProduct;
24 
25 namespace HepMC
26 {
27 class GenEvent;
28 }
29 
30 
31 namespace gen
32 {
33 
34 class Pythia6Service;
35 class JetMatching;
36 
38  {
39 
40  public:
43 
44  // bool generatePartons();
46  bool hadronize();
47  bool decay();
48  bool residualDecay();
49  bool readSettings( int );
52  bool declareStableParticles( const std::vector<int>& );
53  bool declareSpecialSettings( const std::vector<std::string>& );
54 
55  static JetMatching* getJetMatching() { return fJetMatching; }
56 
57  void finalizeEvent();
58 
59  void statistics();
60 
61  const char* classname() const;
62 
63  private:
64  // methods
65  //
66  void flushTmpStorage();
67  void fillTmpStorage();
68 
69  void imposeProperTime();
70 
71  // data members
72  //
73 
75 
76  // some of the following params are common for all generators(interfaces)
77  // probably better to wrap them up in a class and reuse ?
78  // (the event/run pointers are already moved to BaseHadronizer)
79  //
81 
82  int fInitialState ; // pp, ppbar, e-e+, or e-p
83  double fCOMEnergy ; // this one is irrelevant for setting py6 as hadronizer
84  // or if anything, it should be picked up from LHERunInfoProduct !
85  double fBeam1PZ;
86  double fBeam2PZ;
87 
89 
91  unsigned int fMaxEventsToPrint ;
92 
93  // this is the only one specific to Pythia6
94  //
95  unsigned int fPythiaListVerbosity ;
98 
99  // these two params control stop- and r-handron features,
100  // that are "custom" add-ons to Py6;
101  // I doubt they should drag along Py6Int main library...
102  //
105 
106  // this is a "trick" to generate enriched mu-samples and the likes
108 
109  // and final touch - conversion of Py6 PID's into PDG convension
111 
112  // tmp stuff, to deal with EvtGen corrupting pyjets
113  // int NPartsBeforeDecays;
114 
115  };
116 }
117 
118 #endif
unsigned int fPythiaListVerbosity
unsigned int fMaxEventsToPrint
static JetMatching * getJetMatching()
const char * classname() const
bool declareStableParticles(const std::vector< int > &)
Pythia6Hadronizer(edm::ParameterSet const &ps)
Pythia6Service * fPy6Service
bool declareSpecialSettings(const std::vector< std::string > &)
static JetMatching * fJetMatching