187def getConfigurationFiles(campaign=None, dsid=None, data_type=None, files=None, useDefaultConfig=False, GRLSuffixDict={}):
188
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
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
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?)