Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 
0002 import time
0003 
0004 import FWCore.ParameterSet.Config as cms
0005 import FWCore.ParameterSet.VarParsing as VarParsing
0006 from Configuration.AlCa.autoCond import autoCond
0007 
0008 options = VarParsing.VarParsing()
0009 options.register('processId',
0010                  '0',
0011                  VarParsing.VarParsing.multiplicity.singleton,
0012                  VarParsing.VarParsing.varType.string,
0013                  "Process Id")
0014 options.register('connectionString',
0015                  'frontier://FrontierPrep/CMS_CONDITIONS',
0016                  VarParsing.VarParsing.multiplicity.singleton,
0017                  VarParsing.VarParsing.varType.string,
0018                  "CondDB Connection string")
0019 options.register('tag',
0020                  'BeamSpot_test_updateByLumi_00',
0021                  VarParsing.VarParsing.multiplicity.singleton,
0022                  VarParsing.VarParsing.varType.string,
0023                  "tag for record BeamSpotObjectsRcd")
0024 options.register('snapshotTime',
0025                  '', #default value
0026                  VarParsing.VarParsing.multiplicity.singleton,
0027                  VarParsing.VarParsing.varType.string,
0028                  "GlobalTag snapshot time")
0029 options.register('refresh',
0030                  0, #default value
0031                  VarParsing.VarParsing.multiplicity.singleton,
0032                  VarParsing.VarParsing.varType.int,
0033                  "Refresh type: default no refresh")
0034 options.register('runNumber',
0035                  120013, #default value, int limit -3
0036                  VarParsing.VarParsing.multiplicity.singleton,
0037                  VarParsing.VarParsing.varType.int,
0038                  "Run number; default gives latest IOV")
0039 options.register('eventsPerLumi',
0040                  20, #default value
0041                  VarParsing.VarParsing.multiplicity.singleton,
0042                  VarParsing.VarParsing.varType.int,
0043                  "number of events per lumi")
0044 options.register('numberOfLumis',
0045                  20, #default value
0046                  VarParsing.VarParsing.multiplicity.singleton,
0047                  VarParsing.VarParsing.varType.int,
0048                  "number of lumisections per run")
0049 options.register('numberOfRuns',
0050                  1, #default value
0051                  VarParsing.VarParsing.multiplicity.singleton,
0052                  VarParsing.VarParsing.varType.int,
0053                  "number of runs in the job")
0054 options.register('messageLevel',
0055                  0, #default value
0056                  VarParsing.VarParsing.multiplicity.singleton,
0057                  VarParsing.VarParsing.varType.int,
0058                  "Message level; default to 0")
0059 options.register('security',
0060                  '', #default value
0061                  VarParsing.VarParsing.multiplicity.singleton,
0062                  VarParsing.VarParsing.varType.string,
0063                  "FroNTier connection security: activate it with 'sig'")
0064 
0065 options.parseArguments()
0066 
0067 process = cms.Process("TEST")
0068 
0069 process.MessageLogger = cms.Service("MessageLogger",
0070                                     cout = cms.untracked.PSet(threshold = cms.untracked.string('INFO')),
0071                                     destinations = cms.untracked.vstring('cout')
0072                                     )
0073 
0074 CondDBParameters = cms.PSet( authenticationPath = cms.untracked.string( '' ),
0075                              authenticationSystem = cms.untracked.int32( 0 ),
0076                              messageLevel = cms.untracked.int32( 3 ),
0077                              security = cms.untracked.string( options.security ),
0078                              )
0079 
0080 refreshAlways, refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False, False
0081 if options.refresh == 0:
0082     refreshAlways, refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False, False
0083 elif options.refresh == 1:
0084     refreshAlways = True
0085     refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False
0086 elif options.refresh == 2:
0087     refreshAlways = False
0088     refreshOpenIOVs = True
0089     refreshEachRun, reconnectEachRun = False, False
0090 elif options.refresh == 3:
0091     refreshAlways, refreshOpenIOVs = False, False
0092     refreshEachRun = True
0093     reconnectEachRun = False
0094 elif options.refresh == 4:
0095     refreshAlways, refreshOpenIOVs, refreshEachRun = False, False, False
0096     reconnectEachRun = True
0097 
0098 process.GlobalTag = cms.ESSource( "PoolDBESSource",
0099                                   DBParameters = CondDBParameters,
0100                                   connect = cms.string( options.connectionString ),
0101                                   snapshotTime = cms.string( options.snapshotTime ),
0102                                   frontierKey = cms.untracked.string('abcdefghijklmnopqrstuvwxyz0123456789'),
0103                                   toGet = cms.VPSet(cms.PSet(
0104                                       record = cms.string('BeamSpotObjectsRcd'),
0105                                       tag = cms.string( options.tag ),
0106                                       refreshTime = cms.uint64( 2 )
0107                                   )),
0108                                   RefreshAlways = cms.untracked.bool( refreshAlways ),
0109                                   RefreshOpenIOVs = cms.untracked.bool( refreshOpenIOVs ),
0110                                   RefreshEachRun = cms.untracked.bool( refreshEachRun ),
0111                                   ReconnectEachRun = cms.untracked.bool( reconnectEachRun ),
0112                                   DumpStat = cms.untracked.bool( True ),
0113                                   )
0114 
0115 process.source = cms.Source( "EmptySource",
0116                              firstRun = cms.untracked.uint32( options.runNumber ),
0117                              firstLuminosityBlock = cms.untracked.uint32( 1 ),
0118                              numberEventsInRun = cms.untracked.uint32( options.eventsPerLumi *  options.numberOfLumis ), # options.numberOfLumis lumi sections per run
0119                              numberEventsInLuminosityBlock = cms.untracked.uint32( options.eventsPerLumi )
0120                              )
0121 
0122 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32( options.eventsPerLumi *  options.numberOfLumis * options.numberOfRuns ) ) #options.numberOfRuns runs per job
0123 
0124 process.prod = cms.EDAnalyzer("LumiTestReadAnalyzer",
0125                               processId = cms.untracked.string( options.processId ),
0126                               pathForLastLumiFile = cms.untracked.string("last_lumi.txt"),
0127                               pathForAllLumiFile = cms.untracked.string("./all_time.txt" ),
0128                               pathForErrorFile = cms.untracked.string("./lumi_read_errors")
0129 )
0130 
0131 process.p = cms.Path( process.prod )
0132 
0133 for name, module in process.es_sources_().items():
0134     print("ESModules> provider:%s '%s'" % ( name, module.type_() ))
0135 for name, module in process.es_producers_().items():
0136     print("ESModules> provider:%s '%s'" % ( name, module.type_() ))