File indexing completed on 2024-04-06 12:02:43
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003
0004 process = cms.Process("READ")
0005
0006 options = VarParsing.VarParsing()
0007 options.register('unitTest',
0008 False,
0009 VarParsing.VarParsing.multiplicity.singleton,
0010 VarParsing.VarParsing.varType.bool,
0011 "are we running the unit test?")
0012 options.register('inputTag',
0013 "myInputTagName",
0014 VarParsing.VarParsing.multiplicity.singleton,
0015 VarParsing.VarParsing.varType.string,
0016 "input tag name")
0017 options.register('inputFile',
0018 "",
0019 VarParsing.VarParsing.multiplicity.singleton,
0020 VarParsing.VarParsing.varType.string,
0021 "input sqlite (.db) file")
0022 options.register('outputTag',
0023 "myOutputTagName",
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.string,
0026 "output tag name")
0027 options.register('outputRecord',
0028 "BeamSpotOnlineLegacyObjectsRcd",
0029 VarParsing.VarParsing.multiplicity.singleton,
0030 VarParsing.VarParsing.varType.string,
0031 "type of output record")
0032 options.register('startRun',
0033 1,
0034 VarParsing.VarParsing.multiplicity.singleton,
0035 VarParsing.VarParsing.varType.int,
0036 "location of the input data")
0037 options.register('startLumi',
0038 1,
0039 VarParsing.VarParsing.multiplicity.singleton,
0040 VarParsing.VarParsing.varType.int,
0041 "IOV Start Lumi")
0042 options.parseArguments()
0043
0044 process.load("FWCore.MessageService.MessageLogger_cfi")
0045 process.MessageLogger.cerr.FwkReport.reportEvery = 100000
0046
0047 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(999))
0048
0049
0050
0051
0052 process.source = cms.Source("EmptySource",
0053 firstRun = cms.untracked.uint32(options.startRun),
0054 firstLuminosityBlock = cms.untracked.uint32(options.startLumi),
0055 numberEventsInLuminosityBlock = cms.untracked.uint32(1),
0056 numberEventsInRun = cms.untracked.uint32(999))
0057
0058
0059
0060
0061 if options.inputFile != "":
0062 from CondCore.CondDB.CondDB_cfi import *
0063
0064 CondDBBeamSpotObjects = CondDB.clone(connect = cms.string('sqlite_file:'+options.inputFile))
0065
0066
0067
0068
0069 process.dbInput = cms.ESSource("PoolDBESSource",
0070 CondDBBeamSpotObjects,
0071 toGet = cms.VPSet(cms.PSet(record = cms.string('BeamSpotObjectsRcd'),
0072 tag = cms.string(options.inputTag)
0073 )
0074 )
0075 )
0076 else:
0077
0078 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0079 from Configuration.AlCa.GlobalTag import GlobalTag
0080 process.GlobalTag = GlobalTag(process.GlobalTag,"auto:run2_data")
0081
0082
0083
0084
0085 if options.unitTest :
0086 if options.outputRecord == "BeamSpotOnlineLegacyObjectsRcd" :
0087 tag_name = 'BSLegacy_tag'
0088 else:
0089 tag_name = 'BSHLT_tag'
0090 else:
0091 tag_name = options.outputTag
0092
0093 from CondCore.CondDB.CondDB_cfi import *
0094 CondDBBeamSpotObjects = CondDB.clone(connect = cms.string('sqlite_file:test_%s.db' % tag_name))
0095 process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0096 CondDBBeamSpotObjects,
0097 timetype = cms.untracked.string('lumiid'),
0098 toPut = cms.VPSet(cms.PSet(record = cms.string(options.outputRecord),
0099 tag = cms.string(tag_name))),
0100 loadBlobStreamer = cms.untracked.bool(False)
0101 )
0102
0103 isForHLT = (options.outputRecord == "BeamSpotOnlineHLTObjectsRcd")
0104 print("isForHLT: ",isForHLT)
0105
0106
0107
0108
0109 from CondTools.BeamSpot.beamSpotOnlineFromOfflineConverter_cfi import beamSpotOnlineFromOfflineConverter
0110 process.BeamSpotOnlineFromOfflineConverter = beamSpotOnlineFromOfflineConverter.clone(isHLT = isForHLT)
0111 process.BeamSpotOnlineFromOfflineConverter.IOVStartRun = options.startRun
0112 process.BeamSpotOnlineFromOfflineConverter.IOVStartLumi = options.startLumi
0113
0114
0115 process.p = cms.Path(process.BeamSpotOnlineFromOfflineConverter)