32 std::string module = command[
"MODULE"];
33 std::string param = command[
"PARAM"];
34 std::string value = command[
"VALUE"];
35 std::vector<std::string> commandStrings;
36 if ( module ==
"MSTJ" ) {
37 switch ( atoi( param.c_str() ) ) {
40 switch ( atoi( value.c_str() ) ) {
42 commandStrings.push_back(
"StringZ:usePetersonC = on" );
43 commandStrings.push_back(
"StringZ:usePetersonB = on" );
44 commandStrings.push_back(
"StringZ:usePetersonH = on" );
49 <<
"Pythia6 parameter: MSTJ(11)=" << value
50 <<
" is only implicitly supported." << endl;
52 <<
"Please use MSTJ(11)=5 and ensure PARJ(46) and PARJ(47) are both set appropriately." 56 commandStrings.push_back(
"StringZ:usePetersonC = off" );
57 commandStrings.push_back(
"StringZ:usePetersonB = off" );
58 commandStrings.push_back(
"StringZ:usePetersonH = off" );
62 <<
"Pythia6 parameter: MSTJ(11)=" << value
63 <<
" is not currently supported." << endl;
65 <<
"Please use MSTJ(11)=3 or MSTJ(11)=5." << endl;
70 switch ( atoi( value.c_str() ) ) {
72 commandStrings.push_back(
73 "StringFlav:suppressLeadingB = off" );
76 commandStrings.push_back(
77 "StringFlav:suppressLeadingB = on" );
81 <<
"Pythia6 parameter: MSTJ(12)=" << value
82 <<
" is not currently supported." << endl;
84 <<
"Please use MSTJ(12)=2 or MSTJ(12)=3." << endl;
90 switch ( atoi( value.c_str() ) ) {
92 commandStrings.push_back(
"ParticleDecays:mixB = off" );
96 commandStrings.push_back(
"ParticleDecays:mixB = on" );
103 switch ( atoi( value.c_str() ) ) {
105 commandStrings.push_back(
"BoseEinstein:Eta = on" );
108 commandStrings.push_back(
"BoseEinstein:Kaon = on" );
111 commandStrings.push_back(
"BoseEinstein:Pion = on" );
115 <<
"Pythia6 parameter: MSTJ(52)=" << value
116 <<
" is not allowed." << endl;
118 <<
"Please select 3,7 or 9." << endl;
125 <<
"Pythia6 parameter: " << module <<
"(" << param
126 <<
") is not currently supported and will be ignored." 129 <<
"A similar Pythia8 parameter may be available." << endl;
131 }
else if ( module ==
"PARJ" ) {
132 switch ( atoi( param.c_str() ) ) {
134 commandStrings.push_back(
"StringFlav:probQQtoQ = " + value );
137 commandStrings.push_back(
"StringFlav:probStoUD = " + value );
140 commandStrings.push_back(
"StringFlav:probSQtoQQ = " + value );
143 commandStrings.push_back(
"StringFlav:probQQ1toQQ0 = " + value );
146 commandStrings.push_back(
"StringFlav:popcornRate = " + value );
149 commandStrings.push_back(
"StringFlav:popcornSpair = " + value );
152 commandStrings.push_back(
"StringFlav:popcornSmeson = " + value );
156 commandStrings.push_back(
"StringFlav:mesonUDvector = " + value );
159 commandStrings.push_back(
"StringFlav:mesonSvector = " + value );
162 commandStrings.push_back(
"StringFlav:mesonCvector = " + value );
163 commandStrings.push_back(
"StringFlav:mesonBvector = " + value );
166 commandStrings.push_back(
"StringFlav:mesonUDL1S0J1 = " + value );
167 commandStrings.push_back(
"StringFlav:mesonSL1S0J1 = " + value );
168 commandStrings.push_back(
"StringFlav:mesonCL1S0J1 = " + value );
169 commandStrings.push_back(
"StringFlav:mesonBL1S0J1 = " + value );
172 commandStrings.push_back(
"StringFlav:mesonUDL1S1J0 = " + value );
173 commandStrings.push_back(
"StringFlav:mesonSL1S1J0 = " + value );
174 commandStrings.push_back(
"StringFlav:mesonCL1S1J0 = " + value );
175 commandStrings.push_back(
"StringFlav:mesonBL1S1J0 = " + value );
178 commandStrings.push_back(
"StringFlav:mesonUDL1S1J1 = " + value );
179 commandStrings.push_back(
"StringFlav:mesonSL1S1J1 = " + value );
180 commandStrings.push_back(
"StringFlav:mesonCL1S1J1 = " + value );
181 commandStrings.push_back(
"StringFlav:mesonBL1S1J1 = " + value );
184 commandStrings.push_back(
"StringFlav:mesonUDL1S1J2 = " + value );
185 commandStrings.push_back(
"StringFlav:mesonSL1S1J2 = " + value );
186 commandStrings.push_back(
"StringFlav:mesonCL1S1J2 = " + value );
187 commandStrings.push_back(
"StringFlav:mesonBL1S1J2 = " + value );
190 commandStrings.push_back(
"StringFlav:decupletSup = " + value );
193 commandStrings.push_back(
"StringFlav:lightLeadingBSup = " +
195 commandStrings.push_back(
"StringFlav:heavyLeadingBSup = " +
200 commandStrings.push_back(
"StringFlav:etaSup = " + value );
203 commandStrings.push_back(
"StringFlav:etaPrimeSup = " + value );
207 commandStrings.push_back(
"StringFragmentation:stopMass = " +
213 commandStrings.push_back(
"StringFragmentation:stopSmear = " +
218 commandStrings.push_back(
"StringZ:aLund = " + value );
221 commandStrings.push_back(
"StringZ:bLund = " + value );
225 commandStrings.push_back(
"StringZ:aExtraDiquark = " + value );
228 commandStrings.push_back(
"StringZ:rFactC = " + value );
231 commandStrings.push_back(
"StringZ:rFactB = " + value );
235 commandStrings.push_back(
"ParticleDecays:xBdMix = " + value );
238 commandStrings.push_back(
"ParticleDecays:xBsMix = " + value );
242 commandStrings.push_back(
"BoseEinstein:widthSep = " + value );
245 commandStrings.push_back(
"BoseEinstein:lambda = " + value );
248 commandStrings.push_back(
"BoseEinstein:QRef = " + value );
255 <<
"Pythia6 parameter: " << module <<
"(" << param
256 <<
") is not currently supported and will be ignored." 259 <<
"A similar Pythia8 parameter may be available." << endl;
263 <<
"Pythia6 parameter: " << module <<
"(" << param
264 <<
") is not currently supported and will be ignored." << endl;
266 <<
"A similar Pythia8 parameter may be available." << endl;
268 return commandStrings;
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
std::map< std::string, std::string > Command
std::vector< std::string > convertPythia6Command(Command command)