def get_data_settings(self, datafile, explicitTags = False, datatype = None, diracversion = 'latest') : diracenv = EnvUtils.get_lhcb_env('LHCbDirac', version = diracversion) opts = '''from GaudiScriptBuilder.LFNUtils import LFNSet, get_lfns_from_bk_file lfns = LFNSet(get_lfns_from_bk_file({datafile!r})[0]) InputType = lfns.get_input_type() Simulation, DataType = lfns.get_data_type() '''.format(datafile = datafile) attrs = 'InputType', 'Simulation', 'DataType' returnvals = diracenv.eval_python(opts, attrs, raiseerror = True) if datatype : returnvals['objects']['DataType'] = datatype if returnvals['objects']['Simulation'] or explicitTags : opts = '''from GaudiScriptBuilder.LFNUtils import LFNSet, get_lfns_from_bk_file lfns = LFNSet(get_lfns_from_bk_file({datafile!r}, 1)[0]) tags = lfns.get_tags() if 'SIMCOND' in tags : CondDBtag = tags['SIMCOND'] else : CondDBtag = tags['LHCBCOND'] DDDBtag = tags['DDDB'] '''.format(datafile = datafile) tagvals = diracenv.eval_python(opts, ('CondDBtag', 'DDDBtag'), raiseerror = True) returnvals['objects'].update(tagvals['objects']) return returnvals['objects']
def get_data_settings(self, datafile, explicitTags = False, datatype = None, diracversion = 'prod') : diracenv = EnvUtils.get_lhcb_env('LHCbDirac', version = diracversion) opts = '''from GaudiScriptBuilder.LFNUtils import LFNSet, get_lfns_from_bk_file lfns = LFNSet(get_lfns_from_bk_file({datafile!r})[0]) InputType = lfns.get_input_type() Simulation, DataType = lfns.get_data_type() '''.format(datafile = datafile) attrs = 'InputType', 'Simulation', 'DataType' returnvals = diracenv.eval_python(opts, attrs, raiseerror = True) if datatype : returnvals['objects']['DataType'] = datatype if returnvals['objects']['Simulation'] or explicitTags : opts = '''from GaudiScriptBuilder.LFNUtils import LFNSet, get_lfns_from_bk_file lfns = LFNSet(get_lfns_from_bk_file({datafile!r}, 1)[0]) tags = lfns.get_tags() if 'SIMCOND' in tags : CondDBtag = tags['SIMCOND'] else : CondDBtag = tags['LHCBCOND'] DDDBtag = tags['DDDB'] '''.format(datafile = datafile) tagvals = diracenv.eval_python(opts, ('CondDBtag', 'DDDBtag'), raiseerror = True) returnvals['objects'].update(tagvals['objects']) return returnvals['objects']
def get_line_settings(self, linename, version) : isTrigger = is_trigger(version) opts = '''version = {0!r} linename = {1!r} '''.format(version, linename) if isTrigger : opts += '''from GaudiScriptBuilder.Trigger import TriggerConfig config = TriggerConfig(version) ''' else : opts += '''from GaudiScriptBuilder.Stripping import StrippingConfig config = StrippingConfig(version) ''' opts += '''line = config.find_lines(linename)[0] rootInTES, inputLocation = line.root_in_tes_and_output_location({0!r}, {1!r}) decayDescs = line.full_decay_descriptors() '''.format(self.getProp('InputType') == 'MDST', self.getProp('Simulation')) if isTrigger : env = EnvUtils.get_lhcb_env('Moore') else : env = EnvUtils.get_stripping_env(version) returnVals = env.eval_python(opts, ('rootInTES', 'inputLocation', 'decayDescs'), raiseerror = True) objs = returnVals['objects'] objs['decayDescs'] = list(objs['decayDescs']) objs['linename'] = linename objs['version'] = version for i, desc in enumerate(objs['decayDescs']) : objs['decayDescs'][i] = parse_decay_descriptor(desc) return objs
def get_line_settings(self, linename, version, mooreversion = 'latest') : isTrigger = is_trigger(version) opts = '''version = {0!r} linename = {1!r} '''.format(version, linename) if isTrigger : opts += '''from GaudiScriptBuilder.Trigger import TriggerConfig config = TriggerConfig(version) ''' else : opts += '''from GaudiScriptBuilder.Stripping import StrippingConfig config = StrippingConfig(version) ''' opts += '''line = config.find_lines(linename)[0] rootInTES, inputLocation = line.root_in_tes_and_output_location({0!r}, {1!r}) decayDescs = line.full_decay_descriptors() '''.format(self.getProp('InputType') == 'MDST', self.getProp('Simulation')) if isTrigger : env = EnvUtils.get_lhcb_env('Moore', mooreversion) else : env = EnvUtils.get_stripping_env(version) returnVals = env.eval_python(opts, ('rootInTES', 'inputLocation', 'decayDescs'), raiseerror = True) objs = returnVals['objects'] objs['decayDescs'] = list(objs['decayDescs']) objs['linename'] = linename objs['version'] = version for i, desc in enumerate(objs['decayDescs']) : objs['decayDescs'][i] = parse_decay_descriptor(desc) return objs