ATLAS Offline Software
Functions | Variables
GeneratePythiaCommands_RHadrons Namespace Reference

Functions

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

Variables

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

Function Documentation

◆ addLineToPhysicsConfiguration()

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

Definition at line 83 of file GeneratePythiaCommands_RHadrons.py.

83 def 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()

def GeneratePythiaCommands_RHadrons.addProcessCardsToDATAPATH ( )

Definition at line 54 of file GeneratePythiaCommands_RHadrons.py.

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()

def GeneratePythiaCommands_RHadrons.buildRunArgs (   flags)

Definition at line 109 of file GeneratePythiaCommands_RHadrons.py.

109 def 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 

◆ configureAndRunMadGraph()

def GeneratePythiaCommands_RHadrons.configureAndRunMadGraph (   flags)

Definition at line 122 of file GeneratePythiaCommands_RHadrons.py.

122 def 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 MadGraphControl.MadGraphUtilsHelpers 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.MadGraphUtils import SUSY_Generation
343  ktdurham = SUSY_Generation(**argdict)
344 
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 

◆ create_rhadron_particles_file()

def 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.

63 def 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()

def 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.

73 def 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()

def GeneratePythiaCommands_RHadrons.determineLegacyGeneratorJobOptions (   mcChannelNumber)

Definition at line 9 of file GeneratePythiaCommands_RHadrons.py.

9 def 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 ', str(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 

◆ generatePythia8Commands()

def GeneratePythiaCommands_RHadrons.generatePythia8Commands (   flags)

Definition at line 354 of file GeneratePythiaCommands_RHadrons.py.

354 def 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()

◆ load_files_for_rhadrons_scenario()

def 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.

92 def 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.

replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
max
#define max(a, b)
Definition: cfImp.cxx:41
MadGraphUtils
vtune_athena.format
format
Definition: vtune_athena.py:14
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
PyJobTransforms.trfJobOptions
Contains functions related Athena Job Options files.
PDGHelpers.getPDGTABLE
def getPDGTABLE(table)
Definition: PDGHelpers.py:37
python.MadGraphUtils.modify_param_card
def modify_param_card(param_card_input=None, param_card_backup=None, process_dir=MADGRAPH_GRIDPACK_LOCATION, params={}, output_location=None)
Definition: MadGraphUtils.py:2019
GeneratePythiaCommands_RHadrons.configureAndRunMadGraph
def configureAndRunMadGraph(flags)
Definition: GeneratePythiaCommands_RHadrons.py:122
RHadronMasses.update_particle_table
def update_particle_table(input_file, particle_table='particles.txt', mass_spectrum=1)
Definition: RHadronMasses.py:290
GeneratePythiaCommands_RHadrons.determineLegacyGeneratorJobOptions
def determineLegacyGeneratorJobOptions(mcChannelNumber)
Definition: GeneratePythiaCommands_RHadrons.py:9
GeneratePythiaCommands_RHadrons.addProcessCardsToDATAPATH
def addProcessCardsToDATAPATH()
Definition: GeneratePythiaCommands_RHadrons.py:54
RHadronMasses.get_interaction_list
def get_interaction_list(input_file, interaction_file='ProcessList.txt', mass_spectrum=1)
Definition: RHadronMasses.py:366
GeneratePythiaCommands_RHadrons.create_rhadron_pdgtable
def create_rhadron_pdgtable(input_param_card='SLHA_INPUT.DAT', spectrum=1)
Definition: GeneratePythiaCommands_RHadrons.py:73
python.MadGraphUtils.SUSY_Generation
def SUSY_Generation(runArgs=None, process=None, plugin=None, syst_mod=None, keepOutput=False, param_card=None, writeGridpack=False, madspin_card=None, run_settings={}, params={}, fixEventWeightsForBridgeMode=False, add_lifetimes_lhe=False, usePMGSettings=True)
Definition: MadGraphUtils.py:1776
GeneratePythiaCommands_RHadrons.generatePythia8Commands
def generatePythia8Commands(flags)
Definition: GeneratePythiaCommands_RHadrons.py:354
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
min
#define min(a, b)
Definition: cfImp.cxx:40
GeneratePythiaCommands_RHadrons.buildRunArgs
def buildRunArgs(flags)
Definition: GeneratePythiaCommands_RHadrons.py:109
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
GeneratePythiaCommands_RHadrons.addLineToPhysicsConfiguration
def addLineToPhysicsConfiguration(KEY, VALUE)
Definition: GeneratePythiaCommands_RHadrons.py:83
Trk::open
@ open
Definition: BinningType.h:40
GeneratePythiaCommands_RHadrons.load_files_for_rhadrons_scenario
def load_files_for_rhadrons_scenario(input_param_card='SLHA_INPUT.DAT', spectrum=1)
Definition: GeneratePythiaCommands_RHadrons.py:92
RHadronMasses.get_Pythia8_commands
def get_Pythia8_commands(input_file, mass_spectrum=1)
Definition: RHadronMasses.py:345
GeneratePythiaCommands_RHadrons.create_rhadron_particles_file
def create_rhadron_particles_file(input_param_card='SLHA_INPUT.DAT', spectrum=1)
Definition: GeneratePythiaCommands_RHadrons.py:63
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
RHadronMasses.update_PDG_table
def update_PDG_table(input_file, pdg_table, mass_spectrum=1)
Definition: RHadronMasses.py:252
str
Definition: BTagTrackIpAccessor.cxx:11
readCCLHist.float
float
Definition: readCCLHist.py:83
Trk::split
@ split
Definition: LayerMaterialProperties.h:38
python.MadGraphUtilsHelpers.get_physics_short
def get_physics_short()
Definition: MadGraphUtilsHelpers.py:109