CMS 3D CMS Logo

AMPTHadronizer.h
Go to the documentation of this file.
1 #ifndef AMPTHadronizer_h
2 #define AMPTHadronizer_h
3 
6 
7 #include <map>
8 #include <string>
9 #include <vector>
10 #include <cmath>
11 
12 namespace HepMC {
13  class GenEvent;
14  class GenParticle;
15  class GenVertex;
16 } // namespace HepMC
17 
18 namespace CLHEP {
19  class HepRandomEngine;
20 }
21 
22 namespace gen {
23 
24  extern "C" {
25  float ranart_(int*);
26  }
27 
28  extern "C" {
29  float ran1_(int*);
30  }
31 
32  class AMPTHadronizer : public BaseHadronizer {
33  public:
35  ~AMPTHadronizer() override;
36 
38  bool hadronize();
39  bool decay();
40  bool residualDecay();
41  bool readSettings(int) { return true; }
44  bool declareStableParticles(const std::vector<int>&);
45  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
46 
47  void finalizeEvent();
48  void statistics();
49  const char* classname() const;
50 
51  private:
52  void doSetRandomEngine(CLHEP::HepRandomEngine* v) override;
53 
55  HepMC::GenParticle* build_ampt(int index, int barcode);
56  HepMC::GenVertex* build_ampt_vertex(int i, int id);
58  bool ampt_init(const edm::ParameterSet& pset);
59  bool call_amptset(
60  double efrm, std::string frame, std::string proj, std::string targ, int iap, int izp, int iat, int izt);
61  // inline double nuclear_radius() const;
62  void rotateEvtPlane();
63 
66  double bmax_; // max impact param;
67  // units of nucl radius
68  double bmin_; // min impact param;
69  // units of nucl radius
70  double efrm_; // collision energy
74  int iap_;
75  int izp_;
76  int iat_;
77  int izt_;
78  int amptmode_;
79  int ntmax_;
80  double dt_;
81  double stringFragA_;
82  double stringFragB_;
84  double popcornpar_;
87  double quenchingpar_;
88  double pthard_;
89  double mu_;
90  int izpc_;
91  double alpha_;
92  double dpcoal_;
93  double drcoal_;
94  bool ks0decay_;
95  bool phidecay_;
99  double minijetpt_;
100  int maxmiss_;
102  int ktkick_;
104  double diquarkpx_;
105  double diquarkpy_;
106  double diquarkx_;
107  double diquarky_;
108  int nsembd_;
109  double psembd_;
110  double tmaxembd_;
113  double phi0_; // Event plane angle
114  double sinphi0_;
115  double cosphi0_;
116  bool rotate_; // Switch to rotate event plane
117  };
118 } // namespace gen
119 
120 #endif
gen::AMPTHadronizer::add_heavy_ion_rec
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Definition: AMPTHadronizer.cc:98
gen::AMPTHadronizer::quenchingpar_
double quenchingpar_
Definition: AMPTHadronizer.h:87
gen::AMPTHadronizer::finalizeEvent
void finalizeEvent()
Definition: AMPTHadronizer.cc:314
amptDefault_cfi.iap
iap
Definition: amptDefault_cfi.py:15
mps_fire.i
i
Definition: mps_fire.py:428
gen::AMPTHadronizer::diquarky_
double diquarky_
Definition: AMPTHadronizer.h:107
gen::AMPTHadronizer::declareStableParticles
bool declareStableParticles(const std::vector< int > &)
Definition: AMPTHadronizer.cc:296
gen::AMPTHadronizer::proj_
std::string proj_
Definition: AMPTHadronizer.h:72
gen::AMPTHadronizer::phi0_
double phi0_
Definition: AMPTHadronizer.h:113
gen::AMPTHadronizer::amptmode_
int amptmode_
Definition: AMPTHadronizer.h:78
gen::AMPTHadronizer::deuteronxsec_
int deuteronxsec_
Definition: AMPTHadronizer.h:98
gen::AMPTHadronizer::frame_
std::string frame_
Definition: AMPTHadronizer.h:71
gen::AMPTHadronizer::doSetRandomEngine
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
Definition: AMPTHadronizer.cc:95
gen::AMPTHadronizer::izpc_
int izpc_
Definition: AMPTHadronizer.h:90
BaseHadronizer.h
gen::AMPTHadronizer::classname
const char * classname() const
Definition: AMPTHadronizer.cc:318
gen::AMPTHadronizer::iap_
int iap_
Definition: AMPTHadronizer.h:74
amptDefault_cfi.izt
izt
Definition: amptDefault_cfi.py:18
gen::AMPTHadronizer::~AMPTHadronizer
~AMPTHadronizer() override
Definition: AMPTHadronizer.cc:92
gen::AMPTHadronizer::AMPTHadronizer
AMPTHadronizer(const edm::ParameterSet &)
Definition: AMPTHadronizer.cc:42
gen::AMPTHadronizer::pthard_
double pthard_
Definition: AMPTHadronizer.h:88
gen::AMPTHadronizer::izp_
int izp_
Definition: AMPTHadronizer.h:75
gen::AMPTHadronizer::shadowingmode_
bool shadowingmode_
Definition: AMPTHadronizer.h:85
gen::AMPTHadronizer::deuteronfactor_
int deuteronfactor_
Definition: AMPTHadronizer.h:97
gen::AMPTHadronizer::nsembd_
int nsembd_
Definition: AMPTHadronizer.h:108
GenParticle
Definition: GenParticle.py:1
gen::AMPTHadronizer::alpha_
double alpha_
Definition: AMPTHadronizer.h:91
gen::BaseHadronizer
Definition: BaseHadronizer.h:46
gen::AMPTHadronizer::diquarkpx_
double diquarkpx_
Definition: AMPTHadronizer.h:104
gen::AMPTHadronizer::cosphi0_
double cosphi0_
Definition: AMPTHadronizer.h:115
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::AMPTHadronizer::rotate_
bool rotate_
Definition: AMPTHadronizer.h:116
gen::AMPTHadronizer::dt_
double dt_
Definition: AMPTHadronizer.h:80
gen::AMPTHadronizer::psembd_
double psembd_
Definition: AMPTHadronizer.h:109
gen::AMPTHadronizer::bmin_
double bmin_
Definition: AMPTHadronizer.h:68
gen::AMPTHadronizer::popcornmode_
bool popcornmode_
Definition: AMPTHadronizer.h:83
gen::AMPTHadronizer::build_ampt_vertex
HepMC::GenVertex * build_ampt_vertex(int i, int id)
Definition: AMPTHadronizer.cc:143
gen::AMPTHadronizer
Definition: AMPTHadronizer.h:32
gen::AMPTHadronizer::ntmax_
int ntmax_
Definition: AMPTHadronizer.h:79
gen::AMPTHadronizer::diquarkx_
double diquarkx_
Definition: AMPTHadronizer.h:106
gen::AMPTHadronizer::rotateEvtPlane
void rotateEvtPlane()
Definition: AMPTHadronizer.cc:299
gen::AMPTHadronizer::diquarkembedding_
int diquarkembedding_
Definition: AMPTHadronizer.h:103
gen::AMPTHadronizer::bmax_
double bmax_
Definition: AMPTHadronizer.h:66
gen::AMPTHadronizer::readSettings
bool readSettings(int)
Definition: AMPTHadronizer.h:41
gen::AMPTHadronizer::targ_
std::string targ_
Definition: AMPTHadronizer.h:73
gen
Definition: PythiaDecays.h:13
gen::AMPTHadronizer::ampt_init
bool ampt_init(const edm::ParameterSet &pset)
Definition: AMPTHadronizer.cc:247
gen::AMPTHadronizer::build_ampt
HepMC::GenParticle * build_ampt(int index, int barcode)
Definition: AMPTHadronizer.cc:119
gen::AMPTHadronizer::residualDecay
bool residualDecay()
Definition: AMPTHadronizer.cc:312
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
amptDefault_cfi.proj
proj
Definition: amptDefault_cfi.py:13
gen::AMPTHadronizer::pset_
edm::ParameterSet pset_
Definition: AMPTHadronizer.h:65
edm::ParameterSet
Definition: ParameterSet.h:47
gen::AMPTHadronizer::quenchingmode_
bool quenchingmode_
Definition: AMPTHadronizer.h:86
gen::AMPTHadronizer::drcoal_
double drcoal_
Definition: AMPTHadronizer.h:93
gen::AMPTHadronizer::diquarkpy_
double diquarkpy_
Definition: AMPTHadronizer.h:105
gen::AMPTHadronizer::initializeForExternalPartons
bool initializeForExternalPartons()
gen::AMPTHadronizer::evt
HepMC::GenEvent * evt
Definition: AMPTHadronizer.h:64
gen::AMPTHadronizer::ktkick_
int ktkick_
Definition: AMPTHadronizer.h:102
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:76
gen::AMPTHadronizer::statistics
void statistics()
Definition: AMPTHadronizer.cc:316
gen::AMPTHadronizer::shadowingfactor_
double shadowingfactor_
Definition: AMPTHadronizer.h:112
gen::AMPTHadronizer::initializeForInternalPartons
bool initializeForInternalPartons()
Definition: AMPTHadronizer.cc:283
gen::AMPTHadronizer::decay
bool decay()
Definition: AMPTHadronizer.cc:310
amptDefault_cfi.iat
iat
Definition: amptDefault_cfi.py:17
gen::AMPTHadronizer::popcornpar_
double popcornpar_
Definition: AMPTHadronizer.h:84
gen::AMPTHadronizer::get_particles
bool get_particles(HepMC::GenEvent *evt)
Definition: AMPTHadronizer.cc:169
gen::AMPTHadronizer::stringFragB_
double stringFragB_
Definition: AMPTHadronizer.h:82
gen::AMPTHadronizer::efrm_
double efrm_
Definition: AMPTHadronizer.h:70
gen::AMPTHadronizer::iat_
int iat_
Definition: AMPTHadronizer.h:76
gen::ran1_
float ran1_(int *)
Definition: AMPTHadronizer.cc:39
gen::AMPTHadronizer::mu_
double mu_
Definition: AMPTHadronizer.h:89
gen::AMPTHadronizer::izt_
int izt_
Definition: AMPTHadronizer.h:77
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
gen::AMPTHadronizer::maxmiss_
int maxmiss_
Definition: AMPTHadronizer.h:100
gen::AMPTHadronizer::hadronize
bool hadronize()
Definition: AMPTHadronizer.cc:308
gen::AMPTHadronizer::tmaxembd_
double tmaxembd_
Definition: AMPTHadronizer.h:110
HepMC
Definition: GenParticle.h:15
amptDefault_cfi.frame
frame
Definition: amptDefault_cfi.py:12
gen::AMPTHadronizer::stringFragA_
double stringFragA_
Definition: AMPTHadronizer.h:81
gen::AMPTHadronizer::generatePartonsAndHadronize
bool generatePartonsAndHadronize()
Definition: AMPTHadronizer.cc:149
gen::AMPTHadronizer::shadowingmodflag_
bool shadowingmodflag_
Definition: AMPTHadronizer.h:111
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
gen::AMPTHadronizer::dpcoal_
double dpcoal_
Definition: AMPTHadronizer.h:92
amptDefault_cfi.izp
izp
Definition: amptDefault_cfi.py:16
gen::ranart_
float ranart_(int *)
Definition: AMPTHadronizer.cc:32
ParameterSet.h
amptDefault_cfi.targ
targ
Definition: amptDefault_cfi.py:14
gen::AMPTHadronizer::ks0decay_
bool ks0decay_
Definition: AMPTHadronizer.h:94
gen::AMPTHadronizer::minijetpt_
double minijetpt_
Definition: AMPTHadronizer.h:99
gen::AMPTHadronizer::doInitialAndFinalRadiation_
int doInitialAndFinalRadiation_
Definition: AMPTHadronizer.h:101
gen::AMPTHadronizer::sinphi0_
double sinphi0_
Definition: AMPTHadronizer.h:114
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
gen::AMPTHadronizer::call_amptset
bool call_amptset(double efrm, std::string frame, std::string proj, std::string targ, int iap, int izp, int iat, int izt)
Definition: AMPTHadronizer.cc:230
gen::AMPTHadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition: AMPTHadronizer.h:45
gen::AMPTHadronizer::deuteronmode_
int deuteronmode_
Definition: AMPTHadronizer.h:96
gen::AMPTHadronizer::phidecay_
bool phidecay_
Definition: AMPTHadronizer.h:95