ATLAS Offline Software
Loading...
Searching...
No Matches
python.AutoconfigurePRW Namespace Reference

Functions

 getYearsForCampaign (campaign)
 getLumicalcDict ()
 getActualMuDict ()
 getLumicalcFiles (campaign, GRLSuffixDict={})
 actualMuFiles (campaign, GRLSuffixDict={})
 defaultConfigFiles (campaign)
 getConfigurationFiles (campaign=None, dsid=None, data_type=None, files=None, useDefaultConfig=False, GRLSuffixDict={})

Function Documentation

◆ actualMuFiles()

python.AutoconfigurePRW.actualMuFiles ( campaign,
GRLSuffixDict = {} )

Definition at line 119 of file AutoconfigurePRW.py.

119def actualMuFiles(campaign, GRLSuffixDict={}):
120 actualMuDict = getActualMuDict()
121 data_years = getYearsForCampaign(campaign)
122
123 file_list = []
124 for data_year in data_years:
125 GRLKey = 'GRL' + str(data_year)
126 if data_year in GRLSuffixDict:
127 GRLKey = GRLKey + '_' + GRLSuffixDict[data_year]
128 elif data_year in [2017, 2018]:
129 GRLKey = GRLKey + '_Triggerno17e33prim'
130 file_list.extend(actualMuDict[GRLKey])
131
132 if campaign in [Campaign.MC16d, Campaign.MC20d, Campaign.MC16e, Campaign.MC20e, Campaign.MC21a, Campaign.MC23a, Campaign.MC23c, Campaign.MC23d, Campaign.MC23e, Campaign.MC23g]:
133 assert(len(file_list) == 1)
134 else:
135 assert(len(file_list) == 0)
136
137 return file_list
138
139

◆ defaultConfigFiles()

python.AutoconfigurePRW.defaultConfigFiles ( campaign)

Definition at line 140 of file AutoconfigurePRW.py.

140def defaultConfigFiles(campaign):
141 list = []
142
143 if campaign in [Campaign.MC20a]:
144 list.append(
145 'PileupReweighting/mc20_common/mc20a.284500.physlite.prw.v1.root'
146 )
147 elif campaign in [Campaign.MC20d]:
148 list.append(
149 'PileupReweighting/mc20_common/mc20d.300000.physlite.prw.v1.root'
150 )
151 elif campaign in [Campaign.MC20e]:
152 list.append(
153 'PileupReweighting/mc20_common/mc20e.310000.physlite.prw.v1.root'
154 )
155 elif campaign in [Campaign.MC21a]:
156 list.append(
157 'PileupReweighting/mc21_common/mc21a.410000.physlite.prw.v1.root'
158 )
159 elif campaign in [Campaign.MC23a]:
160 list.append(
161 'PileupReweighting/mc23_common/mc23a.410000.physlite.prw.v2.root'
162 )
163 elif campaign in [Campaign.MC23c]:
164 list.append(
165 'PileupReweighting/mc23_common/mc23c.450000.physlite.prw.v1.root'
166 )
167 elif campaign in [Campaign.MC23d]:
168 list.append(
169 'PileupReweighting/mc23_common/mc23d.450000.physlite.prw.v1.root'
170 )
171 elif campaign in [Campaign.MC23e]:
172 list.append(
173 'PileupReweighting/mc23_common/mc23e.470000.physlite.prw.v1.root'
174 )
175 elif campaign in [Campaign.MC23g]:
176 list.append(
177 'PileupReweighting/mc23_common/mc23g.495000.physlite.prw.v1.root'
178 )
179 else:
180 raise ValueError(f'Unsupported campaign {campaign}')
181
182 assert(len(list) == 1)
183
184 return list
185
186

◆ getActualMuDict()

python.AutoconfigurePRW.getActualMuDict ( )

Definition at line 64 of file AutoconfigurePRW.py.

64def getActualMuDict():
65 GRLDict={}
66
68 GRLDict['GRL2025'] = ['GoodRunsLists/data25_13p6TeV/20260129/purw.actualMu.root']
69
70 # 2024
71 GRLDict['GRL2024'] = ['GoodRunsLists/data24_13p6TeV/20260127/purw.actualMu.root']
72
73 # 2023
74 GRLDict['GRL2023'] = ['GoodRunsLists/data23_13p6TeV/20250321/purw.actualMu.root']
75 GRLDict['GRL2023_ignoreTRIG_JETCTPIN'] = ['GoodRunsLists/data23_13p6TeV/20250321/purw.actualMu.ignoreTRIGJETCTPIN.root']
76
77 # 2022
78 GRLDict['GRL2022'] = ['GoodRunsLists/data22_13p6TeV/20250321/purw.actualMu.root']
79 GRLDict['GRL2022_ignore_TRIGLAR'] = ['GoodRunsLists/data22_13p6TeV/20250321/purw.actualMu.ignore_TRIGLAR.root']
80
81
83 GRLDict['GRL2018_Triggerno17e33prim'] = ['GoodRunsLists/data18_13TeV/20190318/physics_25ns_Triggerno17e33prim.actualMu.OflLumi-13TeV-010.root']
84 GRLDict['GRL2018_BjetHLT'] = ['GoodRunsLists/data18_13TeV/20200426/purw.actualMu.root']
85
86 # 2017
87 GRLDict['GRL2017_Triggerno17e33prim'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_Triggerno17e33prim.actualMu.OflLumi-13TeV-010.root']
88 GRLDict['GRL2017_BjetHLT_Normal2017'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_BjetHLT_Normal2017.actualMu.OflLumi-13TeV-010.root']
89 GRLDict['GRL2017_JetHLT_Normal2017'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_JetHLT_Normal2017.actualMu.OflLumi-13TeV-010.root']
90
91 # 2016
92 GRLDict['GRL2016'] = []
93 GRLDict['GRL2016_ignore_TOROID_STATUS'] = []
94 GRLDict['GRL2016_BjetHLT'] = []
95 GRLDict['GRL2016_BjetHLT_Tight'] = []
96
97 # 2015
98 GRLDict['GRL2015'] = []
99
100 return GRLDict
101
102

◆ getConfigurationFiles()

python.AutoconfigurePRW.getConfigurationFiles ( campaign = None,
dsid = None,
data_type = None,
files = None,
useDefaultConfig = False,
GRLSuffixDict = {} )

Definition at line 187 of file AutoconfigurePRW.py.

187def getConfigurationFiles(campaign=None, dsid=None, data_type=None, files=None, useDefaultConfig=False, GRLSuffixDict={}):
188 # Attempt auto-configuration
189 default_directory = 'dev/PileupReweighting/share'
190 configuration_files = []
191
192 if files is not None and (campaign is None or dsid is None or data_type is None):
193 if campaign is None:
194 campaign = getMCCampaign(files)
195
196 if dsid is None or data_type is None:
197 from AthenaConfiguration.AutoConfigFlags import GetFileMD
198 metadata = GetFileMD(files)
199 if dsid is None:
200 dsid = str(metadata.get('mc_channel_number', 0))
201 if data_type is None:
202 simulation_flavour = GetFileMD(files).get('Simulator', '')
203 if not simulation_flavour:
204 simulation_flavour = GetFileMD(files).get('SimulationFlavour', '')
205 data_type = DataType.FullSim if (not simulation_flavour or 'FullG4' in simulation_flavour) else DataType.FastSim
206
207 # data_type as in pileup analysis sequence: either 'data' or ('fullsim' or 'af3')
208 if data_type is DataType.Data:
209 raise ValueError('Data is not supported')
210
211 if data_type is DataType.FullSim:
212 simulation_type = 'FS'
213 elif data_type is DataType.FastSim:
214 simulation_type = 'AF3'
215 else:
216 raise ValueError(f'Invalid data_type {data_type}')
217
218 configuration_files = actualMuFiles(campaign, GRLSuffixDict)
219 if useDefaultConfig:
220 configuration_files += defaultConfigFiles(campaign)
221 return configuration_files
222
223 config = f'{default_directory}/DSID{dsid[:3]}xxx/pileup_{campaign.value}_dsid{dsid}_{simulation_type}.root'
224 from PathResolver import PathResolver
225 if not PathResolver.FindCalibFile(config):
226 return []
227 else:
228 configuration_files.append(config)
229 return configuration_files
static std::string FindCalibFile(const std::string &logical_file_name)
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:132

◆ getLumicalcDict()

python.AutoconfigurePRW.getLumicalcDict ( )

Definition at line 25 of file AutoconfigurePRW.py.

25def getLumicalcDict():
26 GRLDict={}
27
29 GRLDict['GRL2025'] = ['GoodRunsLists/data25_13p6TeV/20260129/ilumicalc_histograms_None_497924-509849_OflLumi-Run3-006.root']
30
31 # 2024
32 GRLDict['GRL2024'] = ['GoodRunsLists/data24_13p6TeV/20260127/ilumicalc_histograms_None_473235-486706_OflLumi-Run3-008.root']
33
34 # 2023
35 GRLDict['GRL2023'] = ['GoodRunsLists/data23_13p6TeV/20250321/ilumicalc_histograms_None_451587-456749_OflLumi-Run3-004.root']
36 GRLDict['GRL2023_ignoreTRIG_JETCTPIN'] = ['GoodRunsLists/data23_13p6TeV/20250321/ilumicalc_histograms_None_451587-456749_OflLumi-Run3-004_ignoreTRIGJETCTPIN.root']
37
38 # 2022
39 GRLDict['GRL2022'] = ['GoodRunsLists/data22_13p6TeV/20250321/ilumicalc_histograms_None_431810-440613_OflLumi-Run3-004.root']
40 GRLDict['GRL2022_ignore_TRIGLAR'] = ['GoodRunsLists/data22_13p6TeV/20250321/ilumicalc_histograms_None_430536-440613_OflLumi-Run3-004_ignore_TRIGLAR.root']
41
42
44 GRLDict['GRL2018_Triggerno17e33prim'] = ['GoodRunsLists/data18_13TeV/20190318/ilumicalc_histograms_None_348885-364292_OflLumi-13TeV-010.root']
45 GRLDict['GRL2018_BjetHLT'] = ['GoodRunsLists/data18_13TeV/20200426/ilumicalc_histograms_None_348885-364292_OflLumi-13TeV-010-2.root']
46
47 # 2017
48 GRLDict['GRL2017_Triggerno17e33prim'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_Triggerno17e33prim.lumicalc.OflLumi-13TeV-010.root']
49 GRLDict['GRL2017_BjetHLT_Normal2017'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_BjetHLT_Normal2017.lumicalc.OflLumi-13TeV-010.root']
50 GRLDict['GRL2017_JetHLT_Normal2017'] = ['GoodRunsLists/data17_13TeV/20180619/physics_25ns_JetHLT_Normal2017.lumicalc.OflLumi-13TeV-010.root']
51
52 # 2016
53 GRLDict['GRL2016'] = ['GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_297730-311481_OflLumi-13TeV-009.root']
54 GRLDict['GRL2016_ignore_TOROID_STATUS'] = ['GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_ignore_TOROID_STATUS_297730-311481_OflLumi-13TeV-009.root']
55 GRLDict['GRL2016_BjetHLT'] = ['GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_BjetHLT_297730-311481_OflLumi-13TeV-009.root']
56 GRLDict['GRL2016_BjetHLT_Tight'] = ['GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_BjetHLT_Tight_297730-311481_OflLumi-13TeV-009.root']
57
58 # 2015
59 GRLDict['GRL2015'] = ['GoodRunsLists/data15_13TeV/20170619/PHYS_StandardGRL_All_Good_25ns_276262-284484_OflLumi-13TeV-008.root']
60
61 return GRLDict
62
63

◆ getLumicalcFiles()

python.AutoconfigurePRW.getLumicalcFiles ( campaign,
GRLSuffixDict = {} )
Returns the list of lumicalc files for a given campaign 

Definition at line 103 of file AutoconfigurePRW.py.

103def getLumicalcFiles(campaign, GRLSuffixDict={}):
104 """ Returns the list of lumicalc files for a given campaign """
105 lumicalcDict = getLumicalcDict()
106 data_years = getYearsForCampaign(campaign)
107
108 file_list = []
109 for data_year in data_years:
110 GRLKey = 'GRL' + str(data_year)
111 if data_year in GRLSuffixDict:
112 GRLKey = GRLKey + '_' + GRLSuffixDict[data_year]
113 elif data_year in [2017, 2018]:
114 GRLKey = GRLKey + '_Triggerno17e33prim'
115 file_list.extend(lumicalcDict[GRLKey])
116 return file_list
117
118

◆ getYearsForCampaign()

python.AutoconfigurePRW.getYearsForCampaign ( campaign)

Definition at line 6 of file AutoconfigurePRW.py.

6def getYearsForCampaign(campaign):
7 if campaign in [Campaign.MC16a, Campaign.MC20a]:
8 return [2015, 2016]
9 elif campaign in [Campaign.MC16d, Campaign.MC20d]:
10 return [2017]
11 elif campaign in [Campaign.MC16e, Campaign.MC20e]:
12 return [2018]
13 elif campaign in [Campaign.MC21a, Campaign.MC23a]:
14 return [2022]
15 elif campaign in [Campaign.MC23c, Campaign.MC23d]:
16 return [2023]
17 elif campaign in [Campaign.MC23e]:
18 return [2024]
19 elif campaign in [Campaign.MC23g]:
20 return [2025]
21 else:
22 raise ValueError(f'Unsupported campaign {campaign}')
23
24