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