Go to the documentation of this file.00001 from tools import loadCmsProcess,loadCrabCfg,loadCrabDefault,addCrabInputFile,writeCfg,prependPaths
00002 from addPoolDBESSource import addPoolDBESSource
00003 from CrabTask import *
00004 import os
00005
00006 class DTNoiseCalibration:
00007 def __init__(self, run, dir, config):
00008 self.pset_name = 'dtNoiseCalibration_cfg.py'
00009 self.outputROOT = 'dtNoiseCalib.root'
00010 self.outputDB = 'noise.db'
00011 self.config = config
00012 self.dir = dir
00013
00014 self.pset_template = 'CalibMuon.DTCalibration.dtNoiseCalibration_cfg'
00015
00016
00017
00018 self.process = None
00019 self.crab_cfg = None
00020 self.initProcess()
00021 self.initCrab()
00022 self.task = CrabTask(self.dir,self.crab_cfg)
00023
00024 def initProcess(self):
00025 self.process = loadCmsProcess(self.pset_template)
00026 self.process.GlobalTag.globaltag = self.config.globaltag
00027 self.process.dtNoiseCalibration.rootFileName = self.outputROOT
00028
00029 if hasattr(self.config,'runOnRAW') and self.config.runOnRAW:
00030 prependPaths(self.process,self.config.digilabel)
00031
00032 if hasattr(self.config,'preselection') and self.config.preselection:
00033 pathsequence = self.config.preselection.split(':')[0]
00034 seqname = self.config.preselection.split(':')[1]
00035 self.process.load(pathsequence)
00036 prependPaths(self.process,seqname)
00037
00038 def initCrab(self):
00039 crab_cfg_parser = loadCrabCfg()
00040 loadCrabDefault(crab_cfg_parser,self.config)
00041 crab_cfg_parser.set('CMSSW','pset',self.pset_name)
00042 crab_cfg_parser.set('CMSSW','output_file','%s,%s' % (self.outputDB,self.outputROOT))
00043 crab_cfg_parser.remove_option('USER','additional_input_files')
00044
00045 self.crab_cfg = crab_cfg_parser
00046
00047 def writeCfg(self):
00048 writeCfg(self.process,self.dir,self.pset_name)
00049
00050
00051 def run(self):
00052 self.project = self.task.run()
00053 return self.project