ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
JetTagPerformanceCalibration
CalibrationDataInterface
python
MCMCGeneratorHelper.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
from
AthenaConfiguration.Enums
import
LHCPeriod
3
4
DL1dv01_MC20_Generator_dict = {
5
"default"
:
"default"
,
6
"Powheg+Pythia8"
:
"default"
,
7
"aMcAtNlo+Pythia8"
:
"410464"
,
8
"Herwig713"
:
"411233"
,
9
"Herwig721"
:
"600666"
,
10
"Herwig723"
:
"600666"
,
11
"aMcAtNlo+Herwig7"
:
"412116"
,
12
"Sherpa221"
:
"410250"
,
13
"Sherpa2210"
:
"700122"
,
14
"Sherpa2211"
:
"700122"
,
15
"Sherpa2212"
:
"700660"
,
16
"Sherpa2214"
:
"700660"
,
17
}
18
19
DL1dv01_MC23_Generator_dict = {
20
"default"
:
"default"
,
21
"Powheg+Pythia8"
:
"default"
,
22
"Herwig721"
:
"601414"
,
23
"Herwig723"
:
"601414"
,
24
"Sherpa2211"
:
"700660"
,
25
"Sherpa2212"
:
"700660"
,
26
"Sherpa2214"
:
"700660"
,
27
}
28
29
GN2v01_MC20_Generator_dict = {
30
"default"
:
"default"
,
31
"Pythia8"
:
"default"
,
32
"Herwig713"
:
"411233"
,
33
"Herwig721"
:
"600666"
,
34
"Herwig723"
:
"600666"
,
35
"Sherpa2210"
:
"700660"
,
36
"Sherpa2211"
:
"700660"
,
37
"Sherpa2212"
:
"700660"
,
38
"Sherpa2214"
:
"700660"
,
39
"Sherpa2216"
:
"700660"
,
40
}
41
42
GN2v01_MC23_Generator_dict = {
43
"default"
:
"default"
,
44
"Pythia8"
:
"default"
,
45
"Herwig721"
:
"601414"
,
46
"Herwig723"
:
"601414"
,
47
"Sherpa2212"
:
"700808"
,
48
"Sherpa2214"
:
"700808"
,
49
"Sherpa2216"
:
"700808"
,
50
}
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,
56
}
57
def
MCMC_generator_map
(generatorDict, tagger='GN2v01'):
58
generator =
None
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
(
'.'
,
''
)
68
else
:
69
if
'Herwig7'
in
generatorDict:
70
generator =
'Herwig'
+generatorDict[
'Herwig7'
].
replace
(
'.'
,
''
)[:3]
71
elif
'Pythia8'
in
generatorDict:
72
generator =
'Pythia8'
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'
80
if
generator
is
None
:
81
generator = str(generatorDict)
82
return
generator
83
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"""
87
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]
91
92
dsid =
None
93
generator =
None
94
95
if
selfDefineGenerator
is
not
None
and
selfDefineGenerator !=
"autoconfig"
:
96
generator = selfDefineGenerator
97
else
:
98
generator =
MCMC_generator_map
(generatorDict, tagger)
99
if
generator
in
mc_dict:
100
dsid = mc_dict[generator]
101
102
if
dsid
is
None
:
103
raise
ValueError(
"No CDI MCMC map available for generator: "
+ generator +
" with "
+ tagger +
" in "
+ str(geometry))
104
else
:
105
return
dsid
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition
hcg.cxx:312
MCMCGeneratorHelper.MCMC_dsid_map
MCMC_dsid_map(geometry, generatorDict={}, selfDefineGenerator=None, tagger='GN2v01')
Definition
MCMCGeneratorHelper.py:84
MCMCGeneratorHelper.MCMC_generator_map
MCMC_generator_map(generatorDict, tagger='GN2v01')
Definition
MCMCGeneratorHelper.py:57
Generated on
for ATLAS Offline Software by
1.17.0