ATLAS Offline Software
Sherpa_i/share/common/Base_Fragment.py
Go to the documentation of this file.
1 
2 from Sherpa_i.Sherpa_iConf import Sherpa_i
3 genSeq += Sherpa_i()
4 evgenConfig.generators = ["Sherpa"]
5 genSeq.Sherpa_i.PluginCode = ""
6 
7 import os
8 if os.environ["SHERPAVER"].startswith('3.'):
9 
10  genSeq.Sherpa_i.BaseFragment = """
11 BEAMS: 2212
12 BEAM_ENERGIES: $(EBEAMSETBYATHENA)
13 
14 MAX_PROPER_LIFETIME: 10.0
15 HEPMC_TREE_LIKE: 1
16 PRETTY_PRINT: Off
17 EXTERNAL_RNG: Atlas_RNG
18  """
19 
20 
22  genSeq.Sherpa_i.BaseFragment += """
23 OVERWEIGHT_THRESHOLD: 10
24 MC@NLO:
25  HPSMODE: 0
26 """
27 
28 
29  genSeq.Sherpa_i.BaseFragment += """
30 SCALE_VARIATIONS:
31 - 4.0*
32 """
33 
34  particledata = {
35  '5': {'mass': '4.95', 'width': '0.'}, # mb consistent with McProductionCommonParametersMC15 and https://cds.cern.ch/record/2047636
36  '6': {'mass': '1.725E+02', 'width': '1.32E+00'},
37  '15': {'mass': '1.777', 'width': '2.26735e-12'},
38  '23': {'mass': '91.1876', 'width': '2.4952'},
39  '24': {'mass': '80.399', 'width': '2.085'},
40  }
41  sin2thetaw='0.23113'
42  try:
43  USE_PDG_VALUES
44  except NameError:
45  USE_PDG_VALUES = False
46  if USE_PDG_VALUES:
47  from EvgenProdTools.offline_dict import parameters
48  for id, values in particledata:
49  particledata[i] = parameters['particles'][id]
50  sin2thetaw = parameters['EW_parameters']['SIN2THETHAW']
51  genSeq.Sherpa_i.BaseFragment += """
52 PARTICLE_DATA:
53 """
54  for id, values in particledata.items():
55  genSeq.Sherpa_i.BaseFragment += """
56  {id}:
57  Mass: {mass}
58  Width: {width}
59 """.format(id=id, mass=values['mass'], width=values['width'])
60 
61 
62 
63  genSeq.Sherpa_i.BaseFragment += """
64 EW_SCHEME: Gmu
65 GF: 1.166397e-5
66 """
67 
68 
69 
70  genSeq.Sherpa_i.BaseFragment += """
71 HARD_DECAYS:
72  Enabled: true
73  Channels:
74  "6 -> 24 5": { Width: 1.32 }
75  "-6 -> -24 -5": { Width: 1.32 }
76  "25 -> 5 -5": { Width: 2.35e-3 }
77  "25 -> 15 -15": { Width: 2.57e-4 }
78  "25 -> 13 -13": { Width: 8.91e-7 }
79  "25 -> 4 -4": { Width: 1.18e-4 }
80  "25 -> 3 -3": { Width: 1.00e-6 }
81  "25 -> 21 21": { Width: 3.49e-4 }
82  "25 -> 22 22": { Width: 9.28e-6 }
83  "24 -> 2 -1": { Width: 0.7041 }
84  "24 -> 4 -3": { Width: 0.7041 }
85  "24 -> 12 -11": { Width: 0.2256 }
86  "24 -> 14 -13": { Width: 0.2256 }
87  "24 -> 16 -15": { Width: 0.2256 }
88  "-24 -> -2 1": { Width: 0.7041 }
89  "-24 -> -4 3": { Width: 0.7041 }
90  "-24 -> -12 11": { Width: 0.2256 }
91  "-24 -> -14 13": { Width: 0.2256 }
92  "-24 -> -16 15": { Width: 0.2256 }
93  "23 -> 1 -1": { Width: 0.3828 }
94  "23 -> 2 -2": { Width: 0.2980 }
95  "23 -> 3 -3": { Width: 0.3828 }
96  "23 -> 4 -4": { Width: 0.2980 }
97  "23 -> 5 -5": { Width: 0.3828 }
98  "23 -> 11 -11": { Width: 0.0840 }
99  "23 -> 12 -12": { Width: 0.1663 }
100  "23 -> 13 -13": { Width: 0.0840 }
101  "23 -> 14 -14": { Width: 0.1663 }
102  "23 -> 15 -15": { Width: 0.0840 }
103  "23 -> 16 -16": { Width: 0.1663 }
104 """
105 
106 
107  import os
108  genSeq.Sherpa_i.BaseFragment += """
109 OL_PARAMETERS:
110  preset: 2
111  write_parameters: 1
112 OL_PREFIX: {}
113 """.format(str(os.environ['OPENLOOPSPATH']))
114 else:
115 
118  genSeq.Sherpa_i.Parameters += [ 'RUNDATA=%s' % runArgs.jobConfig[0] ]
119 
120 
122  genSeq.Sherpa_i.Parameters += [ 'LOG_FILE=sherpa.log' ]
123 
124 
125  genSeq.Sherpa_i.Parameters += [
126  "BEAM_1=2212",
127  "BEAM_2=2212",
128  "MAX_PROPER_LIFETIME=10.0",
129  "HEPMC_TREE_LIKE=1",
130  "PRETTY_PRINT=Off",
131  ]
132 
133 
135  genSeq.Sherpa_i.Parameters += [
136  "OVERWEIGHT_THRESHOLD=10",
137  "PP_HPSMODE=0"
138  ]
139 
140 
141  genSeq.Sherpa_i.Parameters += [
142  "HEPMC_USE_NAMED_WEIGHTS=1",
143  "CSS_REWEIGHT=1",
144  "REWEIGHT_SPLITTING_PDF_SCALES=1",
145  "REWEIGHT_SPLITTING_ALPHAS_SCALES=1",
146  "CSS_REWEIGHT_SCALE_CUTOFF=5.0",
147  "HEPMC_INCLUDE_ME_ONLY_VARIATIONS=1",
148  "SCALE_VARIATIONS=0.25,0.25 0.25,1. 1.,0.25 1.,1. 1.,4. 4.,1. 4.,4.",
149  ]
150 
151 
152  genSeq.Sherpa_i.Parameters += [ "EW_SCHEME=0" ]
153 
154  try:
155  USE_PDG_VALUES
156  except NameError:
157  USE_PDG_VALUES = False
158 
163  recorded = []
164  if USE_PDG_VALUES:
165  from EvgenProdTools.offline_dict import parameters
166  for k,v in parameters.items():
167  if k == 'particles':
168  for key,value in v.items():
169  if 5 < int(key) and int(key) < 26:
170 
172  genSeq.Sherpa_i.Parameters += [
173  'MASS['+key+']='+ value['mass'],
174  'WIDTH['+key+']='+ value['width'],
175  ]
176  recorded.append(key)
177  elif k == 'EW_parameters':
178  for key,value in v.items():
179  if key[0] == 'SIN2THETAW':
180  genSeq.Sherpa_i.Parameters += [
181  str(key[0])+'='+str(value),
182  ]
183  recorded.append(str(key[0]))
184  break
185 
186  # Fall-back to the MC15 default values if need be
187  defaults = {
188  '6' : [ "MASS[6]=172.5", "WIDTH[6]=1.32" ],
189  '15' : [ "MASS[15]=1.777", "WIDTH[15]=2.26735e-12" ],
190  '23' : [ "MASS[23]=91.1876", "WIDTH[23]=2.4952" ],
191  '24' : [ "MASS[24]=80.399", "WIDTH[24]=2.085" ],
192  'SIN2THETAW' : [ "SIN2THETAW=0.23113" ],
193  }
194  for key, value in defaults.items():
195  if key not in recorded:
196  genSeq.Sherpa_i.Parameters += value
197 
198 
199 
200 
202  genSeq.Sherpa_i.Parameters += [
203  "HDH_WIDTH[6,24,5]=1.32", #updated to comply latest updated top results
204  "HDH_WIDTH[-6,-24,-5]=1.32", #updated to comply latest updated top results
205  "HDH_WIDTH[25,5,-5]=2.35e-3",
206  "HDH_WIDTH[25,15,-15]=2.57e-4",
207  "HDH_WIDTH[25,13,-13]=8.91e-7",
208  "HDH_WIDTH[25,4,-4]=1.18e-4",
209  "HDH_WIDTH[25,3,-3]=1.00e-6",
210  "HDH_WIDTH[25,21,21]=3.49e-4",
211  "HDH_WIDTH[25,22,22]=9.28e-6",
212  "HDH_WIDTH[24,2,-1]=0.7041",
213  "HDH_WIDTH[24,4,-3]=0.7041",
214  "HDH_WIDTH[24,12,-11]=0.2256",
215  "HDH_WIDTH[24,14,-13]=0.2256",
216  "HDH_WIDTH[24,16,-15]=0.2256",
217  "HDH_WIDTH[-24,-2,1]=0.7041",
218  "HDH_WIDTH[-24,-4,3]=0.7041",
219  "HDH_WIDTH[-24,-12,11]=0.2256",
220  "HDH_WIDTH[-24,-14,13]=0.2256",
221  "HDH_WIDTH[-24,-16,15]=0.2256",
222  "HDH_WIDTH[23,1,-1]=0.3828",
223  "HDH_WIDTH[23,2,-2]=0.2980",
224  "HDH_WIDTH[23,3,-3]=0.3828",
225  "HDH_WIDTH[23,4,-4]=0.2980",
226  "HDH_WIDTH[23,5,-5]=0.3828",
227  "HDH_WIDTH[23,11,-11]=0.0840",
228  "HDH_WIDTH[23,12,-12]=0.1663",
229  "HDH_WIDTH[23,13,-13]=0.0840",
230  "HDH_WIDTH[23,14,-14]=0.1663",
231  "HDH_WIDTH[23,15,-15]=0.0840",
232  "HDH_WIDTH[23,16,-16]=0.1663",
233  ]
234 
235 
236  _sh_par="OL_PREFIX="+str(os.environ['OPENLOOPSPATH'])
237  genSeq.Sherpa_i.Parameters += [
238  "OL_PARAMETERS=preset=2 write_parameters=1",
239  ]
240  genSeq.Sherpa_i.Parameters.append(_sh_par)
241 
242  if hasattr(runArgs,'ecmEnergy') and runArgs.ecmEnergy > 13001.:
243  genSeq.Sherpa_i.Parameters += [
244  "STRANGE_FRACTION=0.535",
245  "BARYON_FRACTION=1.48",
246  "DECAY_OFFSET=1.29",
247  "DECAY_EXPONENT=3.03",
248  "P_qs_by_P_qq=0.26",
249  "P_ss_by_P_qq=0.012",
250  "P_di_1_by_P_di_0=0.93",
251  "G2QQ_EXPONENT=0.60",
252  "PT_MAX=1.48",
253  "PT_MAX_FACTOR=1.34",
254  "SPLIT_EXPONENT=0.24",
255  "SPLIT_LEADEXPONENT=1.49",
256  "SPECT_EXPONENT=1.49",
257  "SPECT_LEADEXPONENT=10.32",
258  "MASS[413]=2.01022",
259  "WIDTH[413]=0.000083", # cf. https://gitlab.com/sherpa-team/sherpa/-/issues/349
260  "DECAYPATH=/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/common/Sherpa_i/Decaydata/2.2.12-fix-D_Kstar_K", # cf. https://gitlab.com/sherpa-team/decaydata/-/commit/af49fe3b
261  ]
vtune_athena.format
format
Definition: vtune_athena.py:14
readCCLHist.int
int
Definition: readCCLHist.py:84
str
Definition: BTagTrackIpAccessor.cxx:11
Sherpa_i
Definition: Sherpa_i.h:18