ATLAS Offline Software
Loading...
Searching...
No Matches
GeneratePythiaCommands_RHadrons Namespace Reference

Functions

 determineLegacyGeneratorJobOptions (mcChannelNumber)
 addProcessCardsToDATAPATH ()
 create_rhadron_particles_file (input_param_card='SLHA_INPUT.DAT', spectrum=1)
 create_rhadron_pdgtable (input_param_card='SLHA_INPUT.DAT', spectrum=1)
 addLineToPhysicsConfiguration (KEY, VALUE)
 load_files_for_rhadrons_scenario (input_param_card='SLHA_INPUT.DAT', spectrum=1)
 buildRunArgs (flags)
 configureAndRunMadGraph (flags)
 generatePythia8Commands (flags)

Variables

 rhlog = Logging.logging.getLogger('RHadronConfig')

Function Documentation

◆ addLineToPhysicsConfiguration()

GeneratePythiaCommands_RHadrons.addLineToPhysicsConfiguration ( KEY,
VALUE )
Add lines to the physics configuration

Definition at line 83 of file GeneratePythiaCommands_RHadrons.py.

83def addLineToPhysicsConfiguration(KEY, VALUE):
84 """Add lines to the physics configuration"""
85 import os
86 os.system('touch PhysicsConfiguration.txt')
87 newphysconfig = "{key} = {value}".format(key=KEY, value=VALUE)
88 os.system('echo "%s" >> PhysicsConfiguration.txt' % newphysconfig)
89
90
91@AccumulatorCache

◆ addProcessCardsToDATAPATH()

GeneratePythiaCommands_RHadrons.addProcessCardsToDATAPATH ( )

Definition at line 54 of file GeneratePythiaCommands_RHadrons.py.

54def addProcessCardsToDATAPATH():
55 import os
56 cwd_path = os.getcwd()
57 from glob import glob
58 cwd_sub = glob(cwd_path + "/PROC*/Cards")
59 cwd_sub_str = ' '.join(str(e)+":" for e in cwd_sub)
60 os.environ["DATAPATH"] = cwd_sub_str +":"+os.environ["DATAPATH"]
61
62

◆ buildRunArgs()

GeneratePythiaCommands_RHadrons.buildRunArgs ( flags)

Definition at line 109 of file GeneratePythiaCommands_RHadrons.py.

109def buildRunArgs(flags):
110 from PyJobTransforms.trfJobOptions import RunArguments
111 runArgs = RunArguments()
112 # add any necessary elements to the runArgs here!
113 JO = determineLegacyGeneratorJobOptions(flags.Input.MCChannelNumber) # Everything flows from the MCChannelNumber!
114 runArgs.jobConfig = [JO.split('/')[-2] if '/' in JO else JO]
115 runArgs.runNumber = flags.Input.MCChannelNumber
116 runArgs.ecmEnergy = 13000.
117 runArgs.randomSeed = 1234
118 runArgs.generatorJobNumber = 0 # Workaround for ATLASSIM-6687 - FIXME is this needed anywhere other than one print statment?
119 return runArgs
120
121
Contains functions related Athena Job Options files.

◆ configureAndRunMadGraph()

GeneratePythiaCommands_RHadrons.configureAndRunMadGraph ( flags)

Definition at line 122 of file GeneratePythiaCommands_RHadrons.py.

122def configureAndRunMadGraph(flags):
123 # Based on Generators/MadGraphControl/share/common/SUSY_SimplifiedModel_PreInclude.py
124 runArgs = buildRunArgs(flags)
125 # Gets us ready for on-the-fly SUSY SM generation
126
127 # Simple variable setups
128 MadGraph_param_blocks = {} # For general params
129 decoupled_mass = '4.5E9'
130 masses = {}
131 for p in ['1000001','1000002','1000003','1000004','1000005','1000006','2000001','2000002','2000003','2000004','2000005','2000006','1000021',\
132 '1000023','1000024','1000025','1000011','1000013','1000015','2000011','2000013','2000015','1000012','1000014','1000016','1000022',\
133 '1000035','1000037','35','36','37']: # Note that gravitino is non-standard
134 masses[p]=decoupled_mass
135 decays = {}
136
137 # Useful definitions
138 squarks = []
139 squarksl = []
140 for anum in [1,2,3,4]:
141 squarks += [str(1000000+anum),str(-1000000-anum),str(2000000+anum),str(-2000000-anum)]
142 squarksl += [str(1000000+anum),str(-1000000-anum)]
143 dict_index_syst = {0:'scalefactup',
144 1:'scalefactdown',
145 2:'alpsfactup',
146 3:'alpsfactdown',
147 4:'moreFSR',
148 5:'lessFSR',
149 6:'qup',
150 7:'qdown'}
151
152 # Basic settings for production and filters
153 MadGraph_syst_mod = None
154 ktdurham = None # Only set if you want a non-standard setting (1/4 heavy mass)
155 madspin_card = None
156 MadGraph_param_card = None # Only set if you *can't* just modify the default param card to get your settings (e.g. pMSSM)
157
158 # Default run settings
159 MadGraph_run_settings = {'event_norm':'average',
160 'drjj':0.0,
161 'lhe_version':'3.0',
162 'cut_decays':'F',
163 'ickkw':0,
164 'xqcut':0} # use CKKW-L merging (yes, this is a weird setting)
165
166 # Setting for writing out a gridpack
167 MadGraph_writeGridpack = False
168
169 # In case someone needs to be able to keep the output directory
170 # for testing. Turn on for debugging param cards. Should only
171 # ever be true for testing!
172 keepMadGraphOutput = False
173
174 # fixing LHE files after madspin? do that here.
175 fixEventWeightsForBridgeMode=False
176
177 # In case you want to keep lifetimes in the LHE files
178 MadGraph_add_lifetimes_lhe = True
179
180 # Do we want to use PDG defaults?
181 MadGraph_usePMGSettings = True
182
183 # Do we need to use a custom plugin?
184 customMadGraphPlugin = None
185
186 # Do we want 4FS or 5FS? 5 is now default
187 # * 5-flavor scheme always should use nQuarksMerge=5 [5FS -> nQuarksMerge=5]
188 # * 4-flavor scheme with light-flavor MEs (p p > go go j , with j = g d u s c)
189 # should use nQuarksMerge=4 [4FS -> nQuarksMerge=4]
190 # * 4-flavor scheme with HF MEs (p p > go go j, with j = g d u s c b) should
191 # use nQuarksMerge=5 [4FS + final state b -> nQuarksMerge=5]
192 flavourScheme = 5 # FIXME NB This is set to 4 again later, before it is used!!!
193 define_pj_5FS = True # Defines p and j to include b in MadGraph_process string with 5FS
194 force_nobmass_5FS = True # Forces massless b with 5FS
195 finalStateB = False # Used with 4FS
196
197 """
198 This JO is long-lived stop RHadrons decaying to b+mu
199 Migrated from r19 JO: https://gitlab.cern.ch/atlas-physics/pmg/infrastructure/mc15joboptions/-/blob/master/common/MadGraph/MadGraphControl_SimplifiedModel_TT_RPVdirectBL_LongLived_RHadron.py
200 JIRA: https://its.cern.ch/jira/browse/ATLMCPROD-5979
201 """
202
203 from MCJobOptionUtils.JOsupport import get_physics_short
204 phys_short = get_physics_short() # FIXME There must be a more robust way of doing this!?
205 infoStrings = phys_short.split("_")
206 rhlog.info( " jobConfig: %s ", phys_short[0] )
207 rhlog.info( " stop mass: %s ", infoStrings[4] )
208 rhlog.info( " stop ctau: %s ", infoStrings[6].replace('p','.') )
209
210
211 masses['1000006'] = float(infoStrings[4])
212 masses['1000005'] = 3.00000000E+05
213 masses['1000022'] = 100000.
214
215
216 lifetimeString = str(infoStrings[6])
217 stopLifetime = lifetimeString.replace("ns","").replace(".py","").replace("p",".")
218 hbar = 6.582119514e-16
219 stopWidth = hbar/float(stopLifetime)
220 rhlog.info( " stop lifetime, width: %f, %f ", float(stopLifetime), stopWidth )
221
222
223 flavourScheme = 4
224
225
226
227 if len(infoStrings)>7:
228 gluinoBallProbabilityString = str(infoStrings[7])
229 else:
230 gluinoBallProbabilityString = "gball10"
231
232 gluinoBallProbability = float(gluinoBallProbabilityString.replace("gball",""))/100.
233 rhlog.info( " gluino-ball probability: %f ", gluinoBallProbability )
234
235
236 decays['1000006'] = """DECAY 1000006 %s # stop1 decays
237 # BR NDA ID1 ID2 ID3 ID4
238 1.00000000000 2 -13 5 # stop1 to b mu
239 """%(stopWidth)
240
241
242 # Specify the MadGraph_process here, use MSSM_SLHA2 since its used in MC15 JO
243 MadGraph_process = '''
244 import model MSSM_SLHA2-full
245 define susylq = ul ur dl dr cl cr sl sr
246 define susylq~ = ul~ ur~ dl~ dr~ cl~ cr~ sl~ sr~
247 generate p p > t1 t1~ $ go susylq susylq~ b2 t1 t2 b2~ t1~ t2~ @1
248 add process p p > t1 t1~ j $ go susylq susylq~ b2 t1 t2 b2~ t1~ t2~ @2
249 add process p p > t1 t1~ j j $ go susylq susylq~ b2 t1 t2 b2~ t1~ t2~ @3
250 output -f
251 '''
252
253 # Register generation
254 rhlog.info('Registered generation of stop pair production to b+mu; grid point '+str(runArgs.generatorJobNumber))
255
256 MadGraph_run_settings.update({'time_of_flight':'1E-2', 'event_norm':'sum'})
257
258 # This comes after all Simplified Model setup files
259 if 'rpv' in phys_short.lower() and 'import ' not in MadGraph_process:
260 raise RuntimeError('Please import a model when using an RPV decay; these are not handled by the standard MSSM model in MadGraph')
261
262 # Set maximum number of events if the event multiplier has been modified
263 # Sensible default
264 nevts = flags.Exec.MaxEvents * 2. # Workaround for ATLASSIM-6687
265
266 MadGraph_run_settings.update({'nevents':int(nevts)})
267
268 # Only needed for something non-standard (not 1/4 heavy mass)
269 if ktdurham is not None:
270 MadGraph_run_settings.update({'ktdurham':ktdurham})
271
272 if flavourScheme not in [4,5]:
273 raise RuntimeError('flavourScheme must be 4 or 5.')
274
275 if flavourScheme == 4:
276 MadGraph_run_settings.update({
277 'pdgs_for_merging_cut': '1, 2, 3, 4, 21' # Terrible default in MG
278 })
279 _nQuarksMerge = 5 if finalStateB else 4
280 else:
281 MadGraph_run_settings.update({
282 'pdgs_for_merging_cut': '1, 2, 3, 4, 5, 21',
283 'asrwgtflavor': 5,
284 'maxjetflavor': 5
285 })
286 _nQuarksMerge = 5
287 if define_pj_5FS:
288 # Add the 5FS p and j definition to the beginning of the MadGraph_process string
289 MadGraph_process = "define p = g u c d s b u~ c~ d~ s~ b~\ndefine j = g u c d s b u~ c~ d~ s~ b~\n" + MadGraph_process
290 # Check that if p and j get redefined that it is consistent with 5FS otherwise raise error
291 for l in MadGraph_process.split('\n'):
292 l_nocomment = l.split('#')[0]
293 if ("define p" in l_nocomment or "define j" in l_nocomment) and l_nocomment.count("=") == 1:
294 l_equals = (l_nocomment.split("=")[-1]).split(" ")
295 if not set(['g', 'u', 'c', 'd', 's', 'b', 'u~', 'c~', 'd~', 's~', 'b~']) <= set(l_equals):
296 raise RuntimeError('Invalid definition found for p or j in MadGraph_process string while using 5FS')
297 if force_nobmass_5FS:
298 if masses.get('5',0.0) != 0.0:
299 raise RuntimeError('Non-zero mass found for b while using 5FS')
300 masses['5'] = 0.0
301
302 # systematic variation
303 if 'scup' in phys_short:
304 MadGraph_syst_mod=dict_index_syst[0]
305 elif 'scdw' in phys_short:
306 MadGraph_syst_mod=dict_index_syst[1]
307 elif 'alup' in phys_short:
308 MadGraph_syst_mod=dict_index_syst[2]
309 elif 'aldw' in phys_short:
310 MadGraph_syst_mod=dict_index_syst[3]
311 elif 'qcup' in phys_short:
312 MadGraph_syst_mod=dict_index_syst[6]
313 elif 'qcdw' in phys_short:
314 MadGraph_syst_mod=dict_index_syst[7]
315
316 # Pass arguments as a dictionary: the "decays" argument is not accepted in older versions of MadGraphControl
317 if 'mass' in [x.lower() for x in MadGraph_param_blocks]:
318 raise RuntimeError('Do not provide masses in MadGraph_param_blocks; use the masses variable instead')
319 MadGraph_param_blocks['MASS'] = masses
320
321 # Add decays in if needed
322 if len(decays)>0:
323 MadGraph_param_blocks['DECAY'] = decays
324
325 argdict = {'runArgs' : runArgs,
326 'process' : MadGraph_process,
327 'params' : MadGraph_param_blocks,
328 'fixEventWeightsForBridgeMode': fixEventWeightsForBridgeMode,
329 'madspin_card' : madspin_card,
330 'keepOutput' : keepMadGraphOutput,
331 'run_settings' : MadGraph_run_settings, # All goes into the run card
332 'writeGridpack' : MadGraph_writeGridpack,
333 'syst_mod' : MadGraph_syst_mod,
334 'param_card' : MadGraph_param_card, # Only set if you *can't* modify the default param card to get your settings
335 'add_lifetimes_lhe' : MadGraph_add_lifetimes_lhe,
336 'usePMGSettings' : MadGraph_usePMGSettings,
337 'plugin' : customMadGraphPlugin,
338 }
339
340 rhlog.info("Calling SUSY_Generation")
341 # Note that for gridpack generation (i.e. MadGraph_writeGridpack=True), the job will exit after this command
342 from MadGraphControl.SUSY_Helpers import SUSY_Generation
343 ktdurham = SUSY_Generation(**argdict)
344
345 addProcessCardsToDATAPATH()
346
347 # Build the param card, aka SLHA file
348 from MadGraphControl.MadGraphUtils import modify_param_card
349 modify_param_card(param_card_input='param_card.dat', params={'MASS': masses,'DECAY':decays}, output_location='SLHA_INPUT.DAT')
350
351 return ktdurham, MadGraph_process, _nQuarksMerge, gluinoBallProbability
352
353
STL class.
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition hcg.cxx:310
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177

◆ create_rhadron_particles_file()

GeneratePythiaCommands_RHadrons.create_rhadron_particles_file ( input_param_card = 'SLHA_INPUT.DAT',
spectrum = 1 )
Create a list of particles for custom particle creation

Definition at line 63 of file GeneratePythiaCommands_RHadrons.py.

63def create_rhadron_particles_file(input_param_card='SLHA_INPUT.DAT',spectrum=1):
64 """Create a list of particles for custom particle creation"""
65 # Just use our helper function
66 from RHadrons.RHadronMasses import update_particle_table
67 update_particle_table(input_param_card, 'particles.txt', mass_spectrum=spectrum)
68 import os
69 if not os.path.isfile('particles.txt'):
70 raise RuntimeError('Failed to create particles.txt file - will abort')
71
72

◆ create_rhadron_pdgtable()

GeneratePythiaCommands_RHadrons.create_rhadron_pdgtable ( input_param_card = 'SLHA_INPUT.DAT',
spectrum = 1 )
Add lines to the PDG table

Definition at line 73 of file GeneratePythiaCommands_RHadrons.py.

73def create_rhadron_pdgtable(input_param_card='SLHA_INPUT.DAT',spectrum=1):
74 """Add lines to the PDG table"""
75
76 from ExtraParticles.PDGHelpers import getPDGTABLE
77 if getPDGTABLE('PDGTABLE.MeV'): # FIXME make configurable
78 # Update the PDG table using our helper function
79 from RHadrons.RHadronMasses import update_PDG_table
80 update_PDG_table(input_param_card,'PDGTABLE.MeV',spectrum)
81
82

◆ determineLegacyGeneratorJobOptions()

GeneratePythiaCommands_RHadrons.determineLegacyGeneratorJobOptions ( mcChannelNumber)

Definition at line 9 of file GeneratePythiaCommands_RHadrons.py.

9def determineLegacyGeneratorJobOptions(mcChannelNumber):
10 # Load up the configuration using the MC Channel number (DSID).
11 # Not the most beautiful thing, but this works.
12 from glob import glob
13 # Default position: look in cvmfs for job options
14 if(mcChannelNumber == 449497 ):
15 mcChannelNumber = 421442
16 rhlog.info('MC channel number changed from 449497 to %d', mcChannelNumber)
17
18 cvmfs_mc16 = '/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/'
19
20 JO = glob(cvmfs_mc16+str(int(mcChannelNumber/1000))+'xxx/'+str(mcChannelNumber)+'/mc.'+'*.py')
21
22 JO_path = cvmfs_mc16+str(int(mcChannelNumber/1000))+'xxx/'+str(mcChannelNumber)
23 import os
24 os.environ["JOBOPTSEARCHPATH"] = JO_path +":"+os.environ["JOBOPTSEARCHPATH"]
25 os.environ["DATAPATH"] = JO_path +":"+os.environ["DATAPATH"]
26 if len(JO)>0:
27 JO = JO[0]
28 else:
29 # Miss. Try local in dir=DSID
30 JO = glob(str(mcChannelNumber)+'/mc.'+'*.py')
31 if len(JO)>0:
32 JO=JO[0]
33 else:
34 # Miss. Try one directory deeper (any name)
35 JO = glob('*/mc.'+str(mcChannelNumber)+'*.py')
36 if len(JO)>0: JO=JO[0]
37 else:
38 # Miss. Try local
39 JO = glob('mc.'+'*.py')
40 if len(JO)>0:
41 JO=JO[0]
42 else:
43 # Miss. Fall back to datapath
44 for adir in os.environ['DATAPATH'].split(":"):
45 JO = glob(adir+'/mc.'+'*.py')
46 if len(JO)>0:
47 JO=JO[0]
48 break
49 if not JO:
50 raise RuntimeError('Could not locate job options for DSID '+str(mcChannelNumber))
51 return JO
52
53
if(febId1==febId2)

◆ generatePythia8Commands()

GeneratePythiaCommands_RHadrons.generatePythia8Commands ( flags)

Definition at line 354 of file GeneratePythiaCommands_RHadrons.py.

354def generatePythia8Commands(flags):
355
356 # Standard list of commands stolen from the Pythia8 base fragment
357 Pythia8CommandList = [
358 "6:m0 = 172.5",
359 "23:m0 = 91.1876",
360 "23:mWidth = 2.4952",
361 "24:m0 = 80.399",
362 "24:mWidth = 2.085",
363 "StandardModel:sin2thetaW = 0.23113",
364 "StandardModel:sin2thetaWbar = 0.23146",
365 "ParticleDecays:limitTau0 = on",
366 "ParticleDecays:tau0Max = 10.0"]
367
368 Pythia8CommandList += [
369 "Tune:ee = 7",
370 "Tune:pp = 14",
371 "SpaceShower:rapidityOrder = on",
372 "SigmaProcess:alphaSvalue = 0.140",
373 "SpaceShower:pT0Ref = 1.56",
374 "SpaceShower:pTmaxFudge = 0.91",
375 "SpaceShower:pTdampFudge = 1.05",
376 "SpaceShower:alphaSvalue = 0.127",
377 "TimeShower:alphaSvalue = 0.127",
378 "BeamRemnants:primordialKThard = 1.88",
379 "MultipartonInteractions:pT0Ref = 2.09",
380 "MultipartonInteractions:alphaSvalue = 0.126",
381 "PDF:pSet=LHAPDF6:NNPDF23_lo_as_0130_qed",
382 "ColourReconnection:range = 1.71"
383 ]
384
385
389 addRapidityOrderMPI = True
390 rapidityOrderMPICommand = []
391 for cmd in Pythia8CommandList:
392 if "SpaceShower:rapidityOrderMPI = " in cmd:
393 addRapidityOrderMPI = False
394 if "SpaceShower:rapidityOrder" in cmd and "SpaceShower:rapidityOrderMPI" not in cmd and addRapidityOrderMPI:
395 val = cmd.split("=")[-1]
396 rapidityOrderMPICommand = ["SpaceShower:rapidityOrderMPI = " + val]
397 if addRapidityOrderMPI and len(rapidityOrderMPICommand) != 0:
398 Pythia8CommandList += rapidityOrderMPICommand
399
400 # Configure and Run MadGraph, then pass back any information needed to consistently configure Pythia8
401 ktdurham, MadGraph_process, _nQuarksMerge, gluinoBallProbability = configureAndRunMadGraph(flags)
402
403 njets = 2
404 # Pythia8 setup for matching if necessary
405 njets = max([l.count('j') for l in MadGraph_process.split('\n')])
406 njets_min = min([l.count('j') for l in MadGraph_process.split('\n') if 'generate ' in l or 'add process' in l])
407 if njets > 0 and njets != njets_min:
408 Pythia8CommandList += ["Merging:mayRemoveDecayProducts = on",
409 "Merging:nJetMax = "+str(njets),
410 "Merging:doKTMerging = on",
411 "Merging:TMS = "+str(ktdurham),
412 "Merging:ktType = 1",
413 "Merging:Dparameter = 0.4",
414 "Merging:nQuarksMerge = {0:d}".format(_nQuarksMerge)]
415
416 # Pythia8 R-Hadron Module Config
417 Pythia8CommandList += ["Init:showChangedSettings = on"]
418 Pythia8CommandList += ["Rhadrons:allow = on"]
419 Pythia8CommandList += ["RHadrons:allowDecay = off"]
420 #Pythia8CommandList += ["RHadrons:allowDecay = on"] ## Setting toggled to validate against MC15 JO
421 Pythia8CommandList += ["RHadrons:probGluinoball = %f"%gluinoBallProbability]
422 Pythia8CommandList += ["Next:showScaleAndVertex = on"]
423 Pythia8CommandList += ["Check:nErrList = 2"]
424
425 # Merging configuration in case of extra jets in ME
426 if njets > 0:
427 Pythia8CommandList += ["Merging:Process = pp>{t1,1000006}{t1~,-1000006}"]
428
429 simdict = flags.Input.SpecialConfiguration
430 # Get the spectrum number if it's in the metadata
431 spectrum = 1 if 'SPECTRUM' not in simdict else simdict['SPECTRUM']
432
433 # Last step, load up the files
434 load_files_for_rhadrons_scenario('SLHA_INPUT.DAT',spectrum)
435
436 # Add any lines that were missing
437 # In case we want to use Pythia8 for decays during simulation
438 lifetime = float(simdict['LIFETIME']) if "LIFETIME" in simdict else -1.
439 if lifetime>0.:
440 addLineToPhysicsConfiguration("DoDecays","1")
441 addLineToPhysicsConfiguration("HadronLifeTime", str(lifetime))
442 else:
443 # Stable case. Can be unset lifetime or lifetime=0 or lifetime=-1
444 addLineToPhysicsConfiguration("DoDecays","0")
445 addLineToPhysicsConfiguration("HadronLifeTime", -1)
446
447 # Set up R-hadron masses in Pythia8
448 from RHadrons.RHadronMasses import get_Pythia8_commands
449 Pythia8CommandList += get_Pythia8_commands('SLHA_INPUT.DAT',spectrum)
450 f = open('PYTHIA8_COMMANDS.TXT','w')
451 f.write('\n'.join(Pythia8CommandList))
452 f.close()
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41

◆ load_files_for_rhadrons_scenario()

GeneratePythiaCommands_RHadrons.load_files_for_rhadrons_scenario ( input_param_card = 'SLHA_INPUT.DAT',
spectrum = 1 )
Load all the files needed for a given scenario

Definition at line 92 of file GeneratePythiaCommands_RHadrons.py.

92def load_files_for_rhadrons_scenario(input_param_card='SLHA_INPUT.DAT',spectrum=1):
93 """ Load all the files needed for a given scenario"""
94 import os
95 if not os.path.isfile(input_param_card):
96 raise RuntimeError('input_param_card file is missing - will abort')
97 # Create custom PDGTABLE.MeV file
98 create_rhadron_pdgtable(input_param_card,spectrum)
99 # Create particles.txt file
100 create_rhadron_particles_file(input_param_card,spectrum)
101 from RHadrons.RHadronMasses import get_interaction_list
102 get_interaction_list(input_param_card, interaction_file='ProcessList.txt', mass_spectrum=spectrum)
103 # Remove existing physics configuration file ([MDJ]: FIXME: Is this happening earlier, or is it needed?)
104 if os.path.isfile('PhysicsConfiguration.txt'):
105 rhlog.warning("load_files_for_rhadrons_scenario() Found pre-existing PhysicsConfiguration.txt file - deleting.")
106 os.remove('PhysicsConfiguration.txt')
107
108

Variable Documentation

◆ rhlog

GeneratePythiaCommands_RHadrons.rhlog = Logging.logging.getLogger('RHadronConfig')

Definition at line 7 of file GeneratePythiaCommands_RHadrons.py.