2 from AthenaConfiguration.Enums
import LHCPeriod
4 DL1dv01_MC20_Generator_dict = {
6 "Powheg+Pythia8":
"default",
7 "aMcAtNlo+Pythia8":
"410464",
10 "Herwig723":
"600666",
11 "aMcAtNlo+Herwig7":
"412116",
12 "Sherpa221":
"410250",
13 "Sherpa2210":
"700122",
14 "Sherpa2211":
"700122",
15 "Sherpa2212":
"700660",
16 "Sherpa2214":
"700660",
19 DL1dv01_MC23_Generator_dict = {
21 "Powheg+Pythia8":
"default",
22 "Herwig721":
"601414",
23 "Herwig723":
"601414",
24 "Sherpa2211":
"700660",
25 "Sherpa2212":
"700660",
26 "Sherpa2214":
"700660",
29 GN2v01_MC20_Generator_dict = {
32 "Herwig713":
"411233",
33 "Herwig721":
"600666",
34 "Herwig723":
"600666",
35 "Sherpa2210":
"700660",
36 "Sherpa2211":
"700660",
37 "Sherpa2212":
"700660",
38 "Sherpa2214":
"700660",
39 "Sherpa2216":
"700660",
42 GN2v01_MC23_Generator_dict = {
45 "Herwig721":
"601414",
46 "Herwig723":
"601414",
47 "Sherpa2212":
"700808",
48 "Sherpa2214":
"700808",
49 "Sherpa2216":
"700808",
51 dict_tagger_generator = {
52 (
'DL1dv01', LHCPeriod.Run2): DL1dv01_MC20_Generator_dict,
53 (
'DL1dv01', LHCPeriod.Run3): DL1dv01_MC23_Generator_dict,
54 (
'GN2v01', LHCPeriod.Run2): GN2v01_MC20_Generator_dict,
55 (
'GN2v01', LHCPeriod.Run3): GN2v01_MC23_Generator_dict,
59 if tagger ==
'DL1dv01':
60 if 'Powheg' in generatorDict
and 'Pythia8' in generatorDict:
61 generator =
'Powheg+Pythia8'
62 elif (
'aMcAtNlo' in generatorDict
or 'MadGraph' in generatorDict)
and 'Pythia8' in generatorDict:
63 generator =
'aMcAtNlo+Pythia8'
64 elif 'aMcAtNlo' in generatorDict
and 'Herwig7' in generatorDict:
65 generator =
'aMcAtNlo+Herwig7'
66 elif 'Herwig7' in generatorDict:
67 generator =
'Herwig'+generatorDict[
'Herwig7'].
replace(
'.',
'')
69 if 'Herwig7' in generatorDict:
70 generator =
'Herwig'+generatorDict[
'Herwig7'].
replace(
'.',
'')[:3]
71 elif 'Pythia8' in generatorDict:
73 if 'Sherpa' in generatorDict:
74 sherpa_versions = [
'Sherpa2210',
'Sherpa2211',
'Sherpa2212',
'Sherpa2214',
'Sherpa2216']
75 generator =
'Sherpa'+generatorDict[
'Sherpa'].
replace(
'.',
'')
76 if any(generator.startswith(version)
for version
in sherpa_versions):
77 generator = generator[:10]
78 elif generator.startswith(
'Sherpa221'):
79 generator =
'Sherpa221'
81 generator =
str(generatorDict)
84 def MCMC_dsid_map(geometry, generatorDict={}, selfDefineGenerator=None, tagger='GN2v01'):
85 """use metadata(generatorDict) or self set generator (selfDefineGenerator)
86 to get the generator setting for MCMC efficiency map"""
88 if (tagger, geometry)
not in dict_tagger_generator:
89 raise ValueError(
"No CDI MCMC map available for " + tagger +
" in " +
str(geometry))
90 mc_dict = dict_tagger_generator[tagger, geometry]
95 if selfDefineGenerator
is not None and selfDefineGenerator !=
"autoconfig":
96 generator = selfDefineGenerator
99 if generator
in mc_dict:
100 dsid = mc_dict[generator]
103 raise ValueError(
"No CDI MCMC map available for generator: " + generator +
" with " + tagger +
" in " +
str(geometry))