Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:10

0001 # Auto generated configuration file
0002 # with command line options: stepALCA --datatier ALCARECO --conditions auto:run2_data -s ALCA:PromptCalibProdSiStripGains --eventcontent ALCARECO -n 1000 --dasquery=file dataset=/ZeroBias/Run2016C-SiStripCalMinBias-18Apr2017-v1/ALCARECO run=276243 --no_exec
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 # import of standard configurations
0058 process.load('Configuration.StandardSequences.Services_cff')
0059 
0060 ###################################################################
0061 # Messages
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     ### since there are tests depending on this one, if the query fails, let's exit with an error
0094     os._exit(1)
0095 
0096 myFiles = cms.untracked.vstring()
0097 myFiles.extend([INPUTFILES[0][0].replace("\"","")])
0098 # Input source
0099 process.source = cms.Source("PoolSource",
0100                             fileNames = myFiles,
0101                             secondaryFileNames = cms.untracked.vstring()
0102                             )
0103 
0104 process.options = cms.untracked.PSet()
0105 
0106 # Additional output definition
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 # Other statements
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 # Path and EndPath definitions
0124 process.endjob_step = cms.EndPath(process.endOfProcess)
0125 process.ALCARECOStreamPromptCalibProdSiStripGainsOutPath = cms.EndPath(process.ALCARECOStreamPromptCalibProdSiStripGains)
0126 
0127 # Schedule definition
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 # Customisation from command line
0133 
0134 # Add early deletion of temporary data products to reduce peak memory need
0135 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0136 process = customiseEarlyDelete(process)
0137 # End adding early deletion
0138