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']
示例#2
0
    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
示例#4
0
    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