Go to the documentation of this file.00001 from tools import loadCmsProcess,writeCfg,dqmWorkflowName
00002 from CmsswTask import *
00003 import os
00004
00005 class DTDqm:
00006 def __init__(self, run, dir, dqm_files, result_dir, config=None):
00007 self.runnumber = int(run)
00008 self.dir = dir
00009 self.result_dir = result_dir
00010 self.config = config
00011 self.dqm_files = dqm_files
00012
00013 self.pset_name = 'dtDQMClient_cfg.py'
00014 self.pset_template = 'CalibMuon.DTCalibration.dtDQMClient_cfg'
00015
00016 self.process = None
00017 self.initProcess()
00018 self.configFiles = []
00019 self.configFiles.append(self.pset_name)
00020 self.task = CmsswTask(self.dir,self.configFiles)
00021
00022 def initProcess(self):
00023 self.process = loadCmsProcess(self.pset_template)
00024 self.process.source.fileNames = self.dqm_files
00025 self.process.dqmSaver.dirName = os.path.abspath(self.result_dir)
00026 if self.config:
00027 workflowName = dqmWorkflowName(self.config.datasetpath,'dtCalibration')
00028 self.process.dqmSaver.workflow = workflowName
00029 if self.process.DQMStore.collateHistograms: self.process.dqmSaver.forceRunNumber = self.runnumber
00030
00031 def writeCfg(self):
00032 writeCfg(self.process,self.dir,self.pset_name)
00033
00034
00035 def run(self):
00036 self.task.run()
00037 return
00038
00039 def runDQM(run,castor_dir,result_dir):
00040 from CalibMuon.DTCalibration.Workflow.tools import listFilesInCastor
00041 dqm_files = listFilesInCastor(castor_dir,'DQM')
00042 runDir = '.'
00043
00044 dtDqmFinal = DTDqm(run,runDir,dqm_files,result_dir)
00045 dtDqmFinal.writeCfg()
00046 dtDqmFinal.run()