Go to the documentation of this file.00001 from tools import loadCmsProcess,writeCfg
00002 from addPoolDBESSource import addPoolDBESSource
00003 from CmsswTask import CmsswTask
00004 import os
00005
00006 class DTTTrigTimeBoxesWriter:
00007 def __init__(self, run, dir, result_dir, config):
00008 self.runnumber = int(run)
00009 self.config = config
00010 self.dir = dir
00011 self.result_dir = result_dir
00012
00013 """
00014 self.configs = ['dtTTrigWriter_cfg.py',
00015 'dumpDBToFile_first_cfg.py',
00016 'dtTTrigCorrection_cfg.py',
00017 'dumpDBToFile_second_cfg.py']
00018
00019 self.pset_templates = {'dtTTrigWriter_cfg.py':'CalibMuon.DTCalibration.dtTTrigWriter_cfg',
00020 'dumpDBToFile_first_cfg.py':'CalibMuon.DTCalibration.dumpDBToFile_ttrig_cfg',
00021 'dtTTrigCorrection_cfg.py':'CalibMuon.DTCalibration.dtTTrigCorrection_cfg',
00022 'dumpDBToFile_second_cfg.py':'CalibMuon.DTCalibration.dumpDBToFile_ttrig_cfg'}
00023 """
00024 self.configs = ['dtTTrigWriter_cfg.py',
00025 'dtTTrigCorrection_cfg.py',
00026 'dumpDBToFile_ttrig_cfg.py']
00027
00028 self.pset_templates = {'dtTTrigWriter_cfg.py':'CalibMuon.DTCalibration.dtTTrigWriter_cfg',
00029 'dtTTrigCorrection_cfg.py':'CalibMuon.DTCalibration.dtTTrigCorrection_cfg',
00030 'dumpDBToFile_ttrig_cfg.py':'CalibMuon.DTCalibration.dumpDBToFile_ttrig_cfg'}
00031
00032
00033 self.initProcess()
00034 self.task = CmsswTask(self.dir,self.configs)
00035
00036 def initProcess(self):
00037 timeBoxes = os.path.abspath( self.result_dir + '/' + 'DTTimeBoxes_' + str(self.runnumber) + '.root' )
00038 ttrig_uncorrected_db = os.path.abspath( self.result_dir + '/' + 'ttrig_uncorrected_' + str(self.runnumber) + '.db' )
00039 ttrig_timeboxes_db = os.path.abspath( self.result_dir + '/' + 'ttrig_timeboxes_' + str(self.runnumber) + '.db' )
00040 ttrig_timeboxes_txt = os.path.abspath( self.result_dir + '/' + 'ttrig_timeboxes_' + str(self.runnumber) + '.txt' )
00041
00042 self.process = {}
00043
00044 self.process['dtTTrigWriter_cfg.py'] = loadCmsProcess(self.pset_templates['dtTTrigWriter_cfg.py'])
00045 self.process['dtTTrigWriter_cfg.py'].dtTTrigWriter.rootFileName = timeBoxes
00046 self.process['dtTTrigWriter_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_uncorrected_db
00047
00048
00049 self.process['dtTTrigCorrection_cfg.py'] = loadCmsProcess(self.pset_templates['dtTTrigCorrection_cfg.py'])
00050 self.process['dtTTrigCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag
00051 self.process['dtTTrigCorrection_cfg.py'].source.firstRun = self.runnumber
00052 addPoolDBESSource(process = self.process['dtTTrigCorrection_cfg.py'],
00053 moduleName = 'calibDB',record = 'DTTtrigRcd',tag = 'ttrig',
00054 connect = 'sqlite_file:%s' % ttrig_uncorrected_db)
00055
00056 self.process['dtTTrigCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_timeboxes_db
00057
00058
00059 self.process['dumpDBToFile_ttrig_cfg.py'] = loadCmsProcess(self.pset_templates['dumpDBToFile_ttrig_cfg.py'])
00060 self.process['dumpDBToFile_ttrig_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_timeboxes_db
00061 self.process['dumpDBToFile_ttrig_cfg.py'].dumpToFile.outputFileName = ttrig_timeboxes_txt
00062
00063 def writeCfg(self):
00064 for cfg in self.configs:
00065 writeCfg(self.process[cfg],self.dir,cfg)
00066
00067
00068 def run(self):
00069 self.task.run()
00070 return