195def getConfigurationFiles(campaign=None, dsid=None, data_type=None, files=None, useDefaultConfig=False, GRLSuffixDict={}):
196
197 default_directory = 'dev/PileupReweighting/share'
198 configuration_files = []
199
200 if files is not None and (campaign is None or dsid is None or data_type is None):
201 if campaign is None:
202 campaign = getMCCampaign(files)
203
204 if dsid is None or data_type is None:
205 from AthenaConfiguration.AutoConfigFlags import GetFileMD
206 metadata = GetFileMD(files)
207 if dsid is None:
208 dsid = str(metadata.get('mc_channel_number', 0))
209 if data_type is None:
210 simulation_flavour = GetFileMD(files).
get(
'Simulator',
'')
211 if not simulation_flavour:
212 simulation_flavour = GetFileMD(files).
get(
'SimulationFlavour',
'')
213 data_type = DataType.FullSim if (not simulation_flavour or 'FullG4' in simulation_flavour) else DataType.FastSim
214
215
216 if data_type is DataType.Data:
217 raise ValueError('Data is not supported')
218
219 if data_type is DataType.FullSim:
220 simulation_type = 'FS'
221 elif data_type is DataType.FastSim:
222 simulation_type = 'AF3'
223 else:
224 raise ValueError(f'Invalid data_type {data_type}')
225
226 configuration_files = actualMuFiles(campaign, GRLSuffixDict)
227 if useDefaultConfig:
228 configuration_files += defaultConfigFiles(campaign)
229 return configuration_files
230
231 config = f'{default_directory}/DSID{dsid[:3]}xxx/pileup_{campaign.value}_dsid{dsid}_{simulation_type}.root'
232 from PathResolver import PathResolver
234 return []
235 else:
236 configuration_files.append(config)
237 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?)