File indexing completed on 2023-03-17 10:44:21
0001 from __future__ import print_function
0002
0003
0004 import warnings
0005 import FWCore.ParameterSet.Config as cms
0006 from FWCore.ParameterSet.VarParsing import VarParsing
0007
0008 options = VarParsing('analysis')
0009 options.register('era',"A", VarParsing.multiplicity.singleton, VarParsing.varType.string, "input era")
0010 options.parseArguments()
0011
0012 import os
0013
0014 import Utilities.General.cmssw_das_client as das_client
0015
0016
0017 def getFileNames_das_client(era_name):
0018
0019 """Return files for given DAS query via das_client"""
0020 files = []
0021
0022 query = "dataset dataset=/ZeroBias/Run2*"+era_name+"*SiStripCalMinBias-*/ALCARECO site=T2_CH_CERN"
0023 jsondict = das_client.get_data(query)
0024 status = jsondict['status']
0025 if status != 'ok':
0026 warnings.warn("DAS query status: %s"%(status))
0027 return files
0028
0029 data = jsondict['data']
0030 viableDS = []
0031 for element in data:
0032 viableDS.append(element['dataset'][0]['name'])
0033
0034 print("Using Dataset:",viableDS[-1])
0035
0036 query = "file dataset=%s site=T2_CH_CERN | grep file.name" % viableDS[-1]
0037 jsondict = das_client.get_data(query)
0038 status = jsondict['status']
0039 if status != 'ok':
0040 warnings.warn("DAS query status: %s"%(status))
0041 return files
0042
0043 mongo_query = jsondict['mongo_query']
0044 filters = mongo_query['filters']
0045 data = jsondict['data']
0046
0047 files = []
0048 for row in data:
0049 the_file = [r for r in das_client.get_value(row, filters['grep'])][0]
0050 if len(the_file) > 0 and not the_file in files:
0051 files.append(the_file)
0052
0053 return files
0054
0055
0056 process = cms.Process('testFromALCARECO')
0057
0058
0059 process.load('Configuration.StandardSequences.Services_cff')
0060
0061
0062
0063
0064 process.load('FWCore.MessageService.MessageLogger_cfi')
0065 process.MessageLogger.cerr.enable = False
0066 process.MessageLogger.SiStripGainsPCLWorker=dict()
0067 process.MessageLogger.cout = cms.untracked.PSet(
0068 enable = cms.untracked.bool(True),
0069 threshold = cms.untracked.string("DEBUG"),
0070 enableStatistics = cms.untracked.bool(True),
0071 default = cms.untracked.PSet(limit = cms.untracked.int32(0)),
0072 FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1),
0073 reportEvery = cms.untracked.int32(1000)
0074 ),
0075 SiStripGainsPCLWorker = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0076 )
0077
0078 process.load('Configuration.EventContent.EventContent_cff')
0079 process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
0080 process.load('Configuration.StandardSequences.MagneticField_cff')
0081 process.load('Configuration.StandardSequences.AlCaRecoStreams_cff')
0082 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0083 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0084
0085 process.maxEvents = cms.untracked.PSet(
0086 input = cms.untracked.int32(10)
0087 )
0088
0089
0090 INPUTFILES=getFileNames_das_client(options.era)
0091
0092 if len(INPUTFILES)==0:
0093 warnings.warn("** WARNING: ** According to a DAS query no suitable data for test is available. Skipping test!")
0094
0095 os._exit(1)
0096
0097 myFiles = cms.untracked.vstring()
0098 myFiles.extend([INPUTFILES[0][0].replace("\"","")])
0099
0100 process.source = cms.Source("PoolSource",
0101 fileNames = myFiles,
0102 secondaryFileNames = cms.untracked.vstring()
0103 )
0104
0105 process.options = cms.untracked.PSet()
0106
0107
0108 process.ALCARECOStreamPromptCalibProdSiStripGains = cms.OutputModule("PoolOutputModule",
0109 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring('pathALCARECOPromptCalibProdSiStripGains')),
0110 dataset = cms.untracked.PSet(dataTier = cms.untracked.string('ALCARECO'),
0111 filterName = cms.untracked.string('PromptCalibProdSiStripGains')),
0112 eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0113 fileName = cms.untracked.string('PromptCalibProdSiStripGains_'+options.era+'.root'),
0114 outputCommands = cms.untracked.vstring('drop *',
0115 'keep *_MEtoEDMConvertSiStripGains_*_*'
0116 )
0117 )
0118
0119
0120 process.ALCARECOEventContent.outputCommands.extend(process.OutALCARECOPromptCalibProdSiStripGains_noDrop.outputCommands)
0121 from Configuration.AlCa.GlobalTag import GlobalTag
0122 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data', '')
0123
0124
0125 process.endjob_step = cms.EndPath(process.endOfProcess)
0126 process.ALCARECOStreamPromptCalibProdSiStripGainsOutPath = cms.EndPath(process.ALCARECOStreamPromptCalibProdSiStripGains)
0127
0128
0129 process.schedule = cms.Schedule(process.pathALCARECOPromptCalibProdSiStripGains,process.endjob_step,process.ALCARECOStreamPromptCalibProdSiStripGainsOutPath)
0130 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
0131 associatePatAlgosToolsTask(process)
0132
0133
0134
0135
0136 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0137 process = customiseEarlyDelete(process)
0138
0139