def initProcess(self): timeBoxes = os.path.abspath( self.result_dir + '/' + 'DTTimeBoxes_' + str(self.runnumber) + '.root' ) ttrig_uncorrected_db = os.path.abspath( self.result_dir + '/' + 'ttrig_uncorrected_' + str(self.runnumber) + '.db' ) ttrig_timeboxes_db = os.path.abspath( self.result_dir + '/' + 'ttrig_timeboxes_' + str(self.runnumber) + '.db' ) ttrig_timeboxes_txt = os.path.abspath( self.result_dir + '/' + 'ttrig_timeboxes_' + str(self.runnumber) + '.txt' ) self.process = {} # dtTTrigWriter_cfg.py self.process['dtTTrigWriter_cfg.py'] = loadCmsProcess(self.pset_templates['dtTTrigWriter_cfg.py']) self.process['dtTTrigWriter_cfg.py'].dtTTrigWriter.rootFileName = timeBoxes self.process['dtTTrigWriter_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_uncorrected_db # dtTTrigCorrection_cfg.py self.process['dtTTrigCorrection_cfg.py'] = loadCmsProcess(self.pset_templates['dtTTrigCorrection_cfg.py']) self.process['dtTTrigCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag self.process['dtTTrigCorrection_cfg.py'].source.firstRun = self.runnumber addPoolDBESSource(process = self.process['dtTTrigCorrection_cfg.py'], moduleName = 'calibDB',record = 'DTTtrigRcd',tag = 'ttrig', connect = 'sqlite_file:%s' % ttrig_uncorrected_db) self.process['dtTTrigCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_timeboxes_db # dumpDBToFile_ttrig_cfg.py self.process['dumpDBToFile_ttrig_cfg.py'] = loadCmsProcess(self.pset_templates['dumpDBToFile_ttrig_cfg.py']) self.process['dumpDBToFile_ttrig_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_timeboxes_db self.process['dumpDBToFile_ttrig_cfg.py'].dumpToFile.outputFileName = ttrig_timeboxes_txt
def initProcess(self): timeBoxes = os.path.abspath(self.result_dir + '/' + 'DTTimeBoxes_' + str(self.runnumber) + '.root') ttrig_first = self.result_dir + '/' + 'ttrig_first_' + str(self.runnumber) ttrig_first_db = os.path.abspath(ttrig_first + '.db') ttrig_first_txt = os.path.abspath(ttrig_first + '.txt') ttrig_second = self.result_dir + '/' + 'ttrig_second_' + str(self.runnumber) ttrig_second_db = os.path.abspath(ttrig_second + '.db') ttrig_second_txt = os.path.abspath(ttrig_second + '.txt') self.process = {} self.process['DTTTrigWriter_cfg.py'] = loadCmsProcess(self.pset_templates['DTTTrigWriter_cfg.py']) self.process['DTTTrigWriter_cfg.py'].ttrigwriter.rootFileName = timeBoxes self.process['DTTTrigWriter_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_first_db self.process['DumpDBToFile_first_cfg.py'] = loadCmsProcess(self.pset_templates['DumpDBToFile_first_cfg.py']) self.process['DumpDBToFile_first_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_first_db self.process['DumpDBToFile_first_cfg.py'].dumpToFile.outputFileName = ttrig_first_txt self.process['DTTTrigCorrection_cfg.py'] = loadCmsProcess(self.pset_templates['DTTTrigCorrection_cfg.py']) self.process['DTTTrigCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag self.process['DTTTrigCorrection_cfg.py'].source.firstRun = self.runnumber self.process['DTTTrigCorrection_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_first_db self.process['DTTTrigCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_second_db self.process['DumpDBToFile_second_cfg.py'] = loadCmsProcess(self.pset_templates['DumpDBToFile_second_cfg.py']) self.process['DumpDBToFile_second_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_second_db self.process['DumpDBToFile_second_cfg.py'].dumpToFile.outputFileName = ttrig_second_txt
def initProcess(self): import FWCore.ParameterSet.Config as cms ttrig_ResidCorr = self.result_dir + '/' + 'ttrig_ResidCorr_' + str(self.runnumber) ttrig_ResidCorr_db = os.path.abspath(ttrig_ResidCorr + '.db') ttrig_ResidCorr_txt = os.path.abspath(ttrig_ResidCorr + '.txt') #root_file = os.path.abspath(self.result_dir + '/' + 'DTkFactValidation_' + str(self.runnumber) + '.root') root_file = self.residuals self.process = {} # DTTTrigResidualCorrection self.process['DTTTrigResidualCorrection_cfg.py'] = loadCmsProcess(self.pset_templates['DTTTrigResidualCorrection_cfg.py']) self.process['DTTTrigResidualCorrection_cfg.py'].source.firstRun = self.runnumber self.process['DTTTrigResidualCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag if(self.inputdb): condDBSetup = self.process['DTTTrigResidualCorrection_cfg.py'].CondDBSetup self.process['DTTTrigResidualCorrection_cfg.py'].calibDB = cms.ESSource("PoolDBESSource", condDBSetup, timetype = cms.string('runnumber'), toGet = cms.VPSet(cms.PSet( record = cms.string('DTTtrigRcd'), tag = cms.string('ttrig') )), connect = cms.string('sqlite_file:'), authenticationMethod = cms.untracked.uint32(0)) self.process['DTTTrigResidualCorrection_cfg.py'].calibDB.connect = 'sqlite_file:%s' % self.inputdb self.process['DTTTrigResidualCorrection_cfg.py'].es_prefer_calibDB = cms.ESPrefer('PoolDBESSource','calibDB') self.process['DTTTrigResidualCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process['DTTTrigResidualCorrection_cfg.py'].DTTTrigCorrection.correctionAlgoConfig.residualsRootFile = root_file # DumpDBToFile self.process['DumpDBToFile_ResidCorr_cfg.py'] = loadCmsProcess(self.pset_templates['DumpDBToFile_ResidCorr_cfg.py']) self.process['DumpDBToFile_ResidCorr_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process['DumpDBToFile_ResidCorr_cfg.py'].dumpToFile.outputFileName = ttrig_ResidCorr_txt
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag if hasattr(self.config,'inputTTrigDB') and self.config.inputTTrigDB: label = '' if hasattr(self.config,'runOnCosmics') and self.config.runOnCosmics: label = 'cosmics' addPoolDBESSource(process = self.process, moduleName = 'tTrigDB',record = 'DTTtrigRcd',tag = 'ttrig',label = label, connect = 'sqlite_file:%s' % os.path.abspath(self.config.inputTTrigDB)) if hasattr(self.config,'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource(process = self.process, moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:%s' % os.path.abspath(self.config.inputVDriftDB)) if hasattr(self.config,'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource(process = self.process, moduleName = moduleName,record = record,tag = tag, connect = connect) self.process.source.fileNames = self.dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_dir) if self.config: label = 'dtDQMValidation' if hasattr(self.config,'label') and self.config.label: label = self.config.label workflowName = dqmWorkflowName(self.config.datasetpath,label,self.config.trial) self.process.dqmSaver.workflow = workflowName if self.process.DQMStore.collateHistograms == True: self.process.dqmSaver.forceRunNumber = self.runnumber
def initProcess(self): import FWCore.ParameterSet.Config as cms self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag if (self.inputdb): self.process.calibDB = cms.ESSource( "PoolDBESSource", self.process.CondDBSetup, timetype=cms.string('runnumber'), toGet=cms.VPSet( cms.PSet(record=cms.string('DTTtrigRcd'), tag=cms.string('ttrig'))), connect=cms.string('sqlite_file:'), authenticationMethod=cms.untracked.uint32(0)) self.process.calibDB.connect = 'sqlite_file:%s' % os.path.basename( self.inputdb) self.process.es_prefer_calibDB = cms.ESPrefer( 'PoolDBESSource', 'calibDB') if hasattr(self.config, 'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process, seqname)
def prepare_residuals_correction(self): self.pset_name = "dtTTrigResidualCorrection_cfg.py" self.pset_template = 'CalibMuon.DTCalibration.dtTTrigResidualCorrection_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.load_options_command("submit") self.process.source.firstRun = cms.untracked.uint32(self.options.run) self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) tag = self.prepare_common_write() if self.options.inputT0DB: log.warning("Option inputT0DB not supported for residual corrections") if self.options.inputDBTag: self.add_local_custom_db(local=True) if self.options.inputVDriftDB: self.add_local_vdrift_db(local=True) if self.options.inputCalibDB: self.add_local_calib_db(local=True) # Change DB label if running on Cosmics if self.options.datasettype == "Cosmics": self.process.dtTTrigResidualCorrection.dbLabel = 'cosmics' self.process.dtTTrigResidualCorrection.correctionAlgoConfig.dbLabel = 'cosmics' ttrig_ResidCorr_db = os.path.abspath( os.path.join(self.result_path, self.get_output_db("residuals", "write"))) self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db rootfile_path = os.path.abspath( os.path.join(self.result_path, self.output_file)) merged_file = os.path.join(self.result_path, self.output_file) self.process.dtTTrigResidualCorrection.correctionAlgoConfig.residualsRootFile = merged_file self.write_pset_file()
def prepare_residuals_correction(self): self.pset_name = "dtTTrigResidualCorrection_cfg.py" self.pset_template = 'CalibMuon.DTCalibration.dtTTrigResidualCorrection_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.load_options_command("submit") self.process.source.firstRun = cms.untracked.uint32(self.options.run) self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) tag = self.prepare_common_write() if self.options.inputT0DB: log.warning( "Option inputT0DB not supported for residual corrections") if self.options.inputDBTag: self.add_local_custom_db(local=True) if self.options.inputVDriftDB: self.add_local_vdrift_db(local=True) if self.options.inputCalibDB: self.add_local_calib_db(local=True) # Change DB label if running on Cosmics if self.options.datasettype == "Cosmics": self.process.dtTTrigResidualCorrection.dbLabel = 'cosmics' self.process.dtTTrigResidualCorrection.correctionAlgoConfig.dbLabel = 'cosmics' ttrig_ResidCorr_db = os.path.abspath( os.path.join(self.result_path, self.get_output_db("residuals", "write"))) self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db rootfile_path = os.path.abspath( os.path.join(self.result_path, self.output_file)) merged_file = os.path.join(self.result_path, self.output_file) self.process.dtTTrigResidualCorrection.correctionAlgoConfig.residualsRootFile = merged_file self.write_pset_file()
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag self.process.dtTTrigCalibration.rootFileName = self.outputfile self.process.dtTTrigCalibration.digiLabel = self.config.digilabel if hasattr(self.config,'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource(process = self.process, moduleName = moduleName,record = record,tag = tag, connect = connect) if hasattr(self.config,'runOnRAW') and self.config.runOnRAW: if hasattr(self.config,'runOnMC') and self.config.runOnMC: getattr(self.process,self.config.digilabel).inputLabel = 'rawDataCollector' prependPaths(self.process,self.config.digilabel) if hasattr(self.config,'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process,seqname)
def prepare_segment_submit(self): self.pset_name = 'dtVDriftSegmentCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentCalibration_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentCalibration_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.options.globaltag self.process.dtVDriftSegmentCalibration.rootFileName = self.output_file if self.options.inputCalibDB: err = "Option inputCalibDB not available for segment." err += "Maybe you want to use option inputTtrigDB" raise ValueError(err) self.prepare_common_submit() if self.options.inputTtrigDB: label = '' if self.options.datasettype == "Cosmics": label = 'cosmics' connect = os.path.basename(self.options.inputTtrigDB) self.addPoolDBESSource( process = self.process, moduleName = 'tTrigDB', record = 'DTTtrigRcd', tag = 'ttrig', connect = str("sqlite_file:%s" % connect), label = label ) self.input_files.append( os.path.abspath(self.options.inputTtrigDB) ) self.write_pset_file()
def prepare_segment_submit(self): self.pset_name = 'dtVDriftSegmentCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentCalibration_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentCalibration_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.options.globaltag self.process.dtVDriftSegmentCalibration.rootFileName = self.output_file if self.options.inputCalibDB: err = "Option inputCalibDB not available for segment." err += "Maybe you want to use option inputTtrigDB" raise ValueError(err) self.prepare_common_submit() if self.options.inputTtrigDB: label = '' if self.options.datasettype == "Cosmics": label = 'cosmics' connect = os.path.basename(self.options.inputTtrigDB) self.addPoolDBESSource(process=self.process, moduleName='tTrigDB', record='DTTtrigRcd', tag='ttrig', connect=str("sqlite_file:%s" % connect), label=label) self.input_files.append(os.path.abspath(self.options.inputTtrigDB)) self.write_pset_file()
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag self.process.dtTTrigCalibration.rootFileName = self.outputfile self.process.dtTTrigCalibration.digiLabel = self.config.digilabel if hasattr(self.config, 'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource(process=self.process, moduleName=moduleName, record=record, tag=tag, connect=connect) if hasattr(self.config, 'runOnRAW') and self.config.runOnRAW: if hasattr(self.config, 'runOnMC') and self.config.runOnMC: getattr(self.process, self.config.digilabel).inputLabel = 'rawDataCollector' prependPaths(self.process, self.config.digilabel) if hasattr(self.config, 'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process, seqname)
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag if hasattr(self.config,'inputTTrigDB') and self.config.inputTTrigDB: label = '' if hasattr(self.config,'runOnCosmics') and self.config.runOnCosmics: label = 'cosmics' addPoolDBESSource(process = self.process, moduleName = 'tTrigDB',record = 'DTTtrigRcd',tag = 'ttrig',label = label, connect = 'sqlite_file:%s' % os.path.basename(self.config.inputTTrigDB)) if hasattr(self.config,'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource(process = self.process, moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:%s' % os.path.basename(self.config.inputVDriftDB)) if hasattr(self.config,'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource(process = self.process, moduleName = moduleName,record = record,tag = tag, connect = connect) if hasattr(self.config,'runOnRAW') and self.config.runOnRAW: if hasattr(self.config,'runOnMC') and self.config.runOnMC: getattr(self.process,self.config.digilabel).inputLabel = 'rawDataCollector' prependPaths(self.process,self.config.digilabel) if hasattr(self.config,'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process,seqname)
def initProcess(self): ttrig_ResidCorr = self.result_dir + '/' + 'ttrig_residuals_' + str(self.runnumber) ttrig_ResidCorr_db = os.path.abspath(ttrig_ResidCorr + '.db') ttrig_ResidCorr_txt = os.path.abspath(ttrig_ResidCorr + '.txt') root_file = self.residuals self.process = {} # dtTTrigResidualCorrection self.process['dtTTrigResidualCorrection_cfg.py'] = loadCmsProcess(self.pset_templates['dtTTrigResidualCorrection_cfg.py']) self.process['dtTTrigResidualCorrection_cfg.py'].source.firstRun = self.runnumber self.process['dtTTrigResidualCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag if hasattr(self.config,'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource(process = self.process['dtTTrigResidualCorrection_cfg.py'], moduleName = moduleName,record = record,tag = tag, connect = connect) # Input vDrift db if hasattr(self.config,'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource(process = self.process['dtTTrigResidualCorrection_cfg.py'], moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:%s' % self.config.inputVDriftDB) # Input tTrig db if(self.inputdb): label = '' if hasattr(self.config,'runOnCosmics') and self.config.runOnCosmics: label = 'cosmics' addPoolDBESSource(process = self.process['dtTTrigResidualCorrection_cfg.py'], moduleName = 'calibDB',record = 'DTTtrigRcd',tag = 'ttrig',label = label, connect = 'sqlite_file:%s' % self.inputdb) # Change DB label if running on Cosmics if hasattr(self.config,'runOnCosmics') and self.config.runOnCosmics: self.process['dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.dbLabel = 'cosmics' self.process['dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.correctionAlgoConfig.dbLabel = 'cosmics' self.process['dtTTrigResidualCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process['dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.correctionAlgoConfig.residualsRootFile = root_file # dumpDBToFile self.process['dumpDBToFile_ResidCorr_cfg.py'] = loadCmsProcess(self.pset_templates['dumpDBToFile_ResidCorr_cfg.py']) self.process['dumpDBToFile_ResidCorr_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process['dumpDBToFile_ResidCorr_cfg.py'].dumpToFile.outputFileName = ttrig_ResidCorr_txt
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag self.process.ttrigcalib.digiLabel = self.config.digilabel if hasattr(self.config, 'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process, seqname)
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.config.globaltag self.process.ttrigcalib.digiLabel = self.config.digilabel if hasattr(self.config,'preselection') and self.config.preselection: pathsequence = self.config.preselection.split(':')[0] seqname = self.config.preselection.split(':')[1] self.process.load(pathsequence) prependPaths(self.process,seqname)
def prepare_validation_submit(self): self.pset_name = 'dtCalibValidation_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtCalibValidation_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtCalibValidation_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) self.prepare_common_submit() self.add_local_calib_db() self.write_pset_file()
def prepare_all_submit(self): self.pset_name = 'dtT0WireCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtT0WireCalibration_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.options.globaltag self.process.dtT0WireCalibration.rootFileName = self.output_file self.prepare_common_submit() self.write_pset_file()
def prepare_validation_submit(self): self.pset_name = 'dtCalibValidation_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtCalibValidation_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtCalibValidation_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) self.prepare_common_submit() self.add_local_calib_db() self.write_pset_file()
def prepare_common_dump(self, db_path): self.process = tools.loadCmsProcess(self.pset_template) self.process.calibDB.connect = 'sqlite_file:%s' % db_path try: path = self.result_path except: path = os.getcwd() print("path", path) out_path = os.path.abspath(os.path.join(path, os.path.splitext(db_path)[0] + ".txt")) self.process.dumpToFile.outputFileName = out_path
def prepare_common_dump(self, db_path): self.process = tools.loadCmsProcess(self.pset_template) self.process.calibDB.connect = 'sqlite_file:%s' % db_path try: path = self.result_path except: path = os.getcwd() print "path", path out_path = os.path.abspath(os.path.join(path, os.path.splitext(db_path)[0] + ".txt")) self.process.dumpToFile.outputFileName = out_path
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.source.fileNames = self.dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_dir) if self.config: label = "dtCalibration" if hasattr(self.config, "label") and self.config.label: label = self.config.label workflowName = dqmWorkflowName(self.config.datasetpath, label, self.config.trial) self.process.dqmSaver.workflow = workflowName if self.process.DQMStore.collateHistograms == True: self.process.dqmSaver.forceRunNumber = self.runnumber
def initProcess(self): refDBTag = '' if hasattr(self.config, 'refDBTag') and self.config.refDBTag: refDBTag = self.config.refDBTag connect = '' if hasattr(self.config, 'config.connectStrRefDBTag' ) and self.config.config.connectStrRefDBTag: connect = self.config.config.connectStrRefDBTag runNumbersToFiles = [] if hasattr(self.config, 'dbValidRuns') and self.config.dbValidRuns and len( self.config.dbValidRuns) == len(self.input_files): runNumbersToFiles = self.config.dbValidRuns self.process = {} idx_file = 0 for inputFile in self.input_files: file = os.path.abspath(inputFile) fileLabel = os.path.basename(file).split('.')[0] pset_name = 'dtT0DBValidation_%s_Run%d_cfg.py' % (fileLabel, self.runnumber) self.process[pset_name] = loadCmsProcess(self.pset_template) self.process[pset_name].source.firstRun = self.runnumber self.process[pset_name].tzeroRef.toGet = cms.VPSet( cms.PSet(record=cms.string('DTT0Rcd'), tag=cms.string(refDBTag), label=cms.untracked.string('tzeroRef')), cms.PSet(record=cms.string('DTT0Rcd'), tag=cms.string('t0'), connect=cms.untracked.string('sqlite_file:%s' % file), label=cms.untracked.string('tzeroToValidate'))) self.process[pset_name].tzeroRef.connect = connect if self.config: label = 'dtT0DBValidation' if hasattr(self.config, 'label') and self.config.label: label = self.config.label workflowName = dqmWorkflowName(self.config.datasetpath, label, self.config.trial) self.process[pset_name].dqmSaver.workflow = workflowName if runNumbersToFiles: self.process[ pset_name].dqmSaver.forceRunNumber = runNumbersToFiles[ idx_file] self.process[pset_name].dqmSaver.dirName = os.path.abspath( self.output_dir) self.configs.append(pset_name) writeCfg(self.process[pset_name], self.dir, pset_name) idx_file += 1
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.source.fileNames = self.dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_dir) if self.config: label = 'dtCalibration' if hasattr(self.config, 'label') and self.config.label: label = self.config.label workflowName = dqmWorkflowName(self.config.datasetpath, label, self.config.trial) self.process.dqmSaver.workflow = workflowName if self.process.DQMStore.collateHistograms == True: self.process.dqmSaver.forceRunNumber = self.runnumber
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.source.fileNames = self.dqm_files outputFileName = 'DQM.root' if self.config: label = 'dtDQMValidation' if hasattr(self.config,'label') and self.config.label: label = self.config.label #workflowName = dqmWorkflowName(self.config.datasetpath,label,self.config.trial) datasetStr = getDatasetStr(self.config.datasetpath) outputFileName = 'DQM_%s-%s.root' % (datasetStr,label) self.process.output.fileName = '%s/%s' % (os.path.abspath(self.result_dir),outputFileName)
def prepare_validation_write(self): self.pset_name = 'dtDQMClient_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtDQMClient_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.prepare_common_write(do_hadd=False) dqm_files = glob.glob( os.path.join(self.local_path, "unmerged_results", "DQM_*.root")) dqm_files[:] = ["file://" + txt for txt in dqm_files] self.process.source.fileNames = dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_path) self.process.dqmSaver.workflow = str(self.options.datasetpath) if self.process.DQMStore.collateHistograms == True: self.process.dqmSaver.forceRunNumber = self.options.run self.write_pset_file()
def prepare_timeboxes_submit(self): self.pset_name = 'dtTTrigCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtTTrigCalibration_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtTTrigCalibration_cosmics_cfg' log.debug('Using pset template ' + self.pset_template) self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = self.options.globaltag self.process.dtTTrigCalibration.rootFileName = self.output_file self.process.dtTTrigCalibration.digiLabel = self.digilabel if self.options.inputDBTag: self.add_local_custom_db() self.prepare_common_submit() self.write_pset_file()
def prepare_timeboxes_write(self): self.output_db_file = self.output_db_dict[self.options.workflow_mode] if isinstance(self.output_db_dict[self.options.workflow_mode], dict): self.output_db_file = self.output_db_file[self.options.command] self.prepare_common_write() merged_file = os.path.join(self.result_path, self.output_file) ttrig_uncorrected_db = os.path.join(self.result_path, self.get_output_db("timeboxes", "write")) self.pset_name = 'dtTTrigWriter_cfg.py' self.pset_template = "CalibMuon.DTCalibration.dtTTrigWriter_cfg" self.process = tools.loadCmsProcess(self.pset_template) self.process.dtTTrigWriter.rootFileName = "file:///" + merged_file self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_uncorrected_db self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) self.write_pset_file()
def initProcess(self): vDrift_meantimer = self.output_dir + '/' + 'vDrift_meantimer_' + str( self.runnumber) vDrift_meantimer_db = os.path.abspath(vDrift_meantimer + '.db') vDrift_meantimer_txt = os.path.abspath(vDrift_meantimer + '.txt') self.process = {} # dtVDriftMeanTimerWriter self.process['dtVDriftMeanTimerWriter_cfg.py'] = loadCmsProcess( self.pset_templates['dtVDriftMeanTimerWriter_cfg.py']) self.process[ 'dtVDriftMeanTimerWriter_cfg.py'].source.firstRun = self.runnumber self.process[ 'dtVDriftMeanTimerWriter_cfg.py'].GlobalTag.globaltag = self.config.globaltag # Input vDrift db if hasattr(self.config, 'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource( process=self.process['dtVDriftMeanTimerWriter_cfg.py'], moduleName='vDriftDB', record='DTMtimeRcd', tag='vDrift', connect='sqlite_file:%s' % self.config.inputVDriftDB) self.process[ 'dtVDriftMeanTimerWriter_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % vDrift_meantimer_db self.process[ 'dtVDriftMeanTimerWriter_cfg.py'].dtVDriftMeanTimerWriter.vDriftAlgoConfig.rootFileName = self.input_file # dumpDBToFile self.process['dumpDBToFile_vdrift_cfg.py'] = loadCmsProcess( self.pset_templates['dumpDBToFile_vdrift_cfg.py']) self.process[ 'dumpDBToFile_vdrift_cfg.py'].calibDB.connect = 'sqlite_file:%s' % vDrift_meantimer_db self.process[ 'dumpDBToFile_vdrift_cfg.py'].dumpToFile.outputFileName = vDrift_meantimer_txt
def prepare_residuals_submit(self): self.pset_name = 'dtResidualCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtResidualCalibration_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtResidualCalibration_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) #~ self.process.GlobalTag.globaltag = cms.string(self.options.globaltag) self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) self.process.dtResidualCalibration.rootFileName = self.output_file self.prepare_common_submit() if self.options.histoRange: self.process.dtResidualCalibration.histogramRange = cms.double(float(self.options.histoRange)) if self.options.inputCalibDB: self.add_local_calib_db() self.write_pset_file()
def prepare_validation_write(self): self.pset_name = 'dtDQMClient_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtDQMClient_cfg' self.process = tools.loadCmsProcess(self.pset_template) self.prepare_common_write(do_hadd = False) dqm_files = glob.glob(os.path.join( self.local_path, "unmerged_results", "DQM_*.root")) dqm_files[:] = ["file://"+txt for txt in dqm_files] self.process.source.fileNames = dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_path) self.process.dqmSaver.workflow = str(self.options.datasetpath) if self.process.DQMStore.collateHistograms == True: self.process.dqmSaver.forceRunNumber = self.options.run self.write_pset_file()
def initProcess(self): vDrift_meantimer = self.output_dir + '/' + 'vDrift_meantimer_' + str(self.runnumber) vDrift_meantimer_db = os.path.abspath(vDrift_meantimer + '.db') vDrift_meantimer_txt = os.path.abspath(vDrift_meantimer + '.txt') self.process = {} # dtVDriftMeanTimerWriter self.process['dtVDriftMeanTimerWriter_cfg.py'] = loadCmsProcess(self.pset_templates['dtVDriftMeanTimerWriter_cfg.py']) self.process['dtVDriftMeanTimerWriter_cfg.py'].source.firstRun = self.runnumber self.process['dtVDriftMeanTimerWriter_cfg.py'].GlobalTag.globaltag = self.config.globaltag # Input vDrift db if hasattr(self.config,'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource(process = self.process['dtVDriftMeanTimerWriter_cfg.py'], moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:%s' % self.config.inputVDriftDB) self.process['dtVDriftMeanTimerWriter_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % vDrift_meantimer_db self.process['dtVDriftMeanTimerWriter_cfg.py'].dtVDriftMeanTimerWriter.vDriftAlgoConfig.rootFileName = self.input_file # dumpDBToFile self.process['dumpDBToFile_vdrift_cfg.py'] = loadCmsProcess(self.pset_templates['dumpDBToFile_vdrift_cfg.py']) self.process['dumpDBToFile_vdrift_cfg.py'].calibDB.connect = 'sqlite_file:%s' % vDrift_meantimer_db self.process['dumpDBToFile_vdrift_cfg.py'].dumpToFile.outputFileName = vDrift_meantimer_txt
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.source.fileNames = self.dqm_files outputFileName = 'DQM.root' if self.config: label = 'dtDQMValidation' if hasattr(self.config, 'label') and self.config.label: label = self.config.label #workflowName = dqmWorkflowName(self.config.datasetpath,label,self.config.trial) datasetStr = getDatasetStr(self.config.datasetpath) outputFileName = 'DQM_%s-%s.root' % (datasetStr, label) self.process.output.fileName = '%s/%s' % (os.path.abspath( self.result_dir), outputFileName)
def prepare_segment_write(self): self.pset_name = 'dtVDriftSegmentWriter_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentWriter_cfg' tag = self.prepare_common_write() merged_file = os.path.join(self.result_path, self.output_file) self.process = tools.loadCmsProcess(self.pset_template) if self.options.inputVDriftDB: self.add_local_vdrift_db(self) vdrift_db = "vDrift_segment"+ tag + ".db" vdrift_db = os.path.join(self.result_path, vdrift_db) self.process.dtVDriftSegmentWriter.vDriftAlgoConfig.rootFileName = "file:///" + merged_file self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % vdrift_db self.process.source.firstRun = cms.untracked.uint32(self.options.run) self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) self.write_pset_file()
def prepare_timeboxes_write(self): self.output_db_file = self.output_db_dict[self.options.workflow_mode] if type(self.output_db_dict[self.options.workflow_mode]) == dict: self.output_db_file = self.output_db_file[self.options.command] self.prepare_common_write() merged_file = os.path.join(self.result_path, self.output_file) ttrig_uncorrected_db = os.path.join( self.result_path, self.get_output_db("timeboxes", "write")) self.pset_name = 'dtTTrigWriter_cfg.py' self.pset_template = "CalibMuon.DTCalibration.dtTTrigWriter_cfg" self.process = tools.loadCmsProcess(self.pset_template) self.process.dtTTrigWriter.rootFileName = "file:///" + merged_file self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_uncorrected_db self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) self.write_pset_file()
def prepare_segment_write(self): self.pset_name = 'dtVDriftSegmentWriter_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtVDriftSegmentWriter_cfg' tag = self.prepare_common_write() merged_file = os.path.join(self.result_path, self.output_file) self.process = tools.loadCmsProcess(self.pset_template) if self.options.inputVDriftDB: self.add_local_vdrift_db(self) vdrift_db = "vDrift_segment" + tag + ".db" vdrift_db = os.path.join(self.result_path, vdrift_db) self.process.dtVDriftSegmentWriter.vDriftAlgoConfig.rootFileName = "file:///" + merged_file self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % vdrift_db self.process.source.firstRun = cms.untracked.uint32(self.options.run) self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) self.write_pset_file()
def prepare_residuals_submit(self): self.pset_name = 'dtResidualCalibration_cfg.py' self.pset_template = 'CalibMuon.DTCalibration.dtResidualCalibration_cfg' if self.options.datasettype == "Cosmics": self.pset_template = 'CalibMuon.DTCalibration.dtResidualCalibration_cosmics_cfg' self.process = tools.loadCmsProcess(self.pset_template) #~ self.process.GlobalTag.globaltag = cms.string(self.options.globaltag) self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) self.process.dtResidualCalibration.rootFileName = self.output_file self.prepare_common_submit() if self.options.histoRange: self.process.dtResidualCalibration.histogramRange = cms.double( float(self.options.histoRange)) if self.options.inputCalibDB: self.add_local_calib_db() self.write_pset_file()
def initProcess(self): refDBTag = '' if hasattr(self.config,'refDBTag') and self.config.refDBTag: refDBTag = self.config.refDBTag connect = '' if hasattr(self.config,'config.connectStrRefDBTag') and self.config.config.connectStrRefDBTag: connect = self.config.config.connectStrRefDBTag runNumbersToFiles = [] if hasattr(self.config,'dbValidRuns') and self.config.dbValidRuns and len(self.config.dbValidRuns) == len(self.input_files): runNumbersToFiles = self.config.dbValidRuns self.process = {} idx_file = 0 for inputFile in self.input_files: file = os.path.abspath(inputFile) fileLabel = os.path.basename(file).split('.')[0] pset_name = 'dtT0DBValidation_%s_Run%d_cfg.py' % (fileLabel,self.runnumber) self.process[pset_name] = loadCmsProcess(self.pset_template) self.process[pset_name].source.firstRun = self.runnumber self.process[pset_name].tzeroRef.toGet = cms.VPSet( cms.PSet( record = cms.string('DTT0Rcd'), tag = cms.string(refDBTag), label = cms.untracked.string('tzeroRef') ), cms.PSet( record = cms.string('DTT0Rcd'), tag = cms.string('t0'), connect = cms.untracked.string('sqlite_file:%s' % file), label = cms.untracked.string('tzeroToValidate') ) ) self.process[pset_name].tzeroRef.connect = connect if self.config: label = 'dtT0DBValidation' if hasattr(self.config,'label') and self.config.label: label = self.config.label workflowName = dqmWorkflowName(self.config.datasetpath,label,self.config.trial) self.process[pset_name].dqmSaver.workflow = workflowName if runNumbersToFiles: self.process[pset_name].dqmSaver.forceRunNumber = runNumbersToFiles[idx_file] self.process[pset_name].dqmSaver.dirName = os.path.abspath(self.output_dir) self.configs.append(pset_name) writeCfg(self.process[pset_name],self.dir,pset_name) idx_file += 1
def prepare_timeboxes_correction(self): self.load_options_command("submit") self.pset_name = 'dtTTrigCorrection_cfg.py' self.pset_template = "CalibMuon.DTCalibration.dtTTrigCorrection_cfg" ttrig_timeboxes_db = "ttrig_timeboxes_"+ self.tag + ".db" ttrig_timeboxes_db = os.path.join(self.result_path, self.get_output_db("timeboxes", "correction")) self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = cms.string(str(self.options.globaltag)) self.process.source.firstRun = self.options.run self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_timeboxes_db if not self.options.inputCalibDB: self.options.inputCalibDB = os.path.join(self.result_path, self.get_output_db( "timeboxes", "write" ) ) if self.options.inputVDriftDB: log.warning("Options inputVDriftDB has no effect for timeboxes correction") if self.options.inputT0DB: log.warning("Options inputT0DB has no effect for timeboxes correction") self.add_local_calib_db(local=True) self.write_pset_file()
def prepare_timeboxes_correction(self): self.load_options_command("submit") self.pset_name = 'dtTTrigCorrection_cfg.py' self.pset_template = "CalibMuon.DTCalibration.dtTTrigCorrection_cfg" ttrig_timeboxes_db = "ttrig_timeboxes_" + self.tag + ".db" ttrig_timeboxes_db = os.path.join( self.result_path, self.get_output_db("timeboxes", "correction")) self.process = tools.loadCmsProcess(self.pset_template) self.process.GlobalTag.globaltag = cms.string( str(self.options.globaltag)) self.process.source.firstRun = self.options.run self.process.PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_timeboxes_db if not self.options.inputCalibDB: self.options.inputCalibDB = os.path.join( self.result_path, self.get_output_db("timeboxes", "write")) if self.options.inputVDriftDB: log.warning( "Options inputVDriftDB has no effect for timeboxes correction") if self.options.inputT0DB: log.warning( "Options inputT0DB has no effect for timeboxes correction") self.add_local_calib_db(local=True) self.write_pset_file()
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.source.fileNames = self.dqm_files self.process.dqmSaver.dirName = os.path.abspath(self.result_dir) if self.process.DQMStore.collateHistograms: self.process.dqmSaver.forceRunNumber = self.runnumber
def initProcess(self): ttrig_ResidCorr = self.result_dir + '/' + 'ttrig_residuals_' + str( self.runnumber) ttrig_ResidCorr_db = os.path.abspath(ttrig_ResidCorr + '.db') ttrig_ResidCorr_txt = os.path.abspath(ttrig_ResidCorr + '.txt') root_file = self.residuals self.process = {} # dtTTrigResidualCorrection self.process['dtTTrigResidualCorrection_cfg.py'] = loadCmsProcess( self.pset_templates['dtTTrigResidualCorrection_cfg.py']) self.process[ 'dtTTrigResidualCorrection_cfg.py'].source.firstRun = self.runnumber self.process[ 'dtTTrigResidualCorrection_cfg.py'].GlobalTag.globaltag = self.config.globaltag if hasattr(self.config, 'inputDBTag') and self.config.inputDBTag: tag = self.config.inputDBTag record = self.config.inputDBRcd connect = self.config.connectStrDBTag moduleName = 'customDB%s' % record addPoolDBESSource( process=self.process['dtTTrigResidualCorrection_cfg.py'], moduleName=moduleName, record=record, tag=tag, connect=connect) # Input vDrift db if hasattr(self.config, 'inputVDriftDB') and self.config.inputVDriftDB: addPoolDBESSource( process=self.process['dtTTrigResidualCorrection_cfg.py'], moduleName='vDriftDB', record='DTMtimeRcd', tag='vDrift', connect='sqlite_file:%s' % self.config.inputVDriftDB) # Input tTrig db if (self.inputdb): label = '' if hasattr(self.config, 'runOnCosmics') and self.config.runOnCosmics: label = 'cosmics' addPoolDBESSource( process=self.process['dtTTrigResidualCorrection_cfg.py'], moduleName='calibDB', record='DTTtrigRcd', tag='ttrig', label=label, connect='sqlite_file:%s' % self.inputdb) # Change DB label if running on Cosmics if hasattr(self.config, 'runOnCosmics') and self.config.runOnCosmics: self.process[ 'dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.dbLabel = 'cosmics' self.process[ 'dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.correctionAlgoConfig.dbLabel = 'cosmics' self.process[ 'dtTTrigResidualCorrection_cfg.py'].PoolDBOutputService.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process[ 'dtTTrigResidualCorrection_cfg.py'].dtTTrigResidualCorrection.correctionAlgoConfig.residualsRootFile = root_file # dumpDBToFile self.process['dumpDBToFile_ResidCorr_cfg.py'] = loadCmsProcess( self.pset_templates['dumpDBToFile_ResidCorr_cfg.py']) self.process[ 'dumpDBToFile_ResidCorr_cfg.py'].calibDB.connect = 'sqlite_file:%s' % ttrig_ResidCorr_db self.process[ 'dumpDBToFile_ResidCorr_cfg.py'].dumpToFile.outputFileName = ttrig_ResidCorr_txt
def initProcess(self): self.process = loadCmsProcess(self.pset_template) self.process.resolutionTest.inputFile = self.input_file self.process.resolutionTest.OutputFileName = self.output_file