File indexing completed on 2025-02-26 04:25:16
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003 import os
0004
0005 options = VarParsing.VarParsing ('analysis')
0006
0007 options.register ('runNumber',
0008 100101,
0009 VarParsing.VarParsing.multiplicity.singleton,
0010 VarParsing.VarParsing.varType.int,
0011 "Run Number")
0012
0013 options.register ('buBaseDir',
0014 'ramdisk',
0015 VarParsing.VarParsing.multiplicity.singleton,
0016 VarParsing.VarParsing.varType.string,
0017 "BU base directory")
0018
0019 options.register ('fuBaseDir',
0020 'data',
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "BU base directory")
0024
0025 options.register ('fffBaseDir',
0026 '.',
0027 VarParsing.VarParsing.multiplicity.singleton,
0028 VarParsing.VarParsing.varType.string,
0029 "FFF base directory")
0030
0031 options.register ('numThreads',
0032 3,
0033 VarParsing.VarParsing.multiplicity.singleton,
0034 VarParsing.VarParsing.varType.int,
0035 "Number of CMSSW threads")
0036
0037 options.register ('numFwkStreams',
0038 2,
0039 VarParsing.VarParsing.multiplicity.singleton,
0040 VarParsing.VarParsing.varType.int,
0041 "Number of CMSSW streams")
0042
0043 options.register ('numEventsToWrite',
0044 -1,
0045 VarParsing.VarParsing.multiplicity.singleton,
0046 VarParsing.VarParsing.varType.int,
0047 "Number of Events to process. -1 means all.")
0048
0049 options.parseArguments()
0050
0051 cmsswbase = os.path.expandvars("$CMSSW_BASE/")
0052
0053 process = cms.Process("TESTFU")
0054 process.maxEvents = cms.untracked.PSet(
0055 input = cms.untracked.int32(options.numEventsToWrite)
0056 )
0057 if options.numEventsToWrite == 0:
0058 process.maxEvents.input = 1
0059
0060 process.options = cms.untracked.PSet(
0061 numberOfThreads = cms.untracked.uint32(options.numThreads),
0062 numberOfStreams = cms.untracked.uint32(options.numFwkStreams),
0063 numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(2)
0064 )
0065 process.MessageLogger = cms.Service("MessageLogger",
0066 cout = cms.untracked.PSet(threshold = cms.untracked.string( "INFO" )),
0067 destinations = cms.untracked.vstring( 'cout' )
0068 )
0069
0070 process.FastMonitoringService = cms.Service("FastMonitoringService",
0071 sleepTime = cms.untracked.int32(1)
0072 )
0073
0074 process.EvFDaqDirector = cms.Service("EvFDaqDirector",
0075 useFileBroker = cms.untracked.bool(True),
0076 fileBrokerHostFromCfg = cms.untracked.bool(True),
0077 fileBrokerHost = cms.untracked.string("htcp40.cern.ch"),
0078 runNumber = cms.untracked.uint32(options.runNumber),
0079 baseDir = cms.untracked.string(options.fffBaseDir+"/"+options.fuBaseDir),
0080 buBaseDir = cms.untracked.string(options.fffBaseDir+"/"+options.buBaseDir),
0081 directorIsBU = cms.untracked.bool(False)
0082 )
0083
0084 try:
0085 os.makedirs(options.fffBaseDir+"/"+options.fuBaseDir+"/run"+str(options.runNumber).zfill(6))
0086 except Exception as ex:
0087 print(str(ex))
0088 pass
0089
0090 process.source = cms.Source("FedRawDataInputSource",
0091 fileDiscoveryMode = cms.untracked.bool(True),
0092 getLSFromFilename = cms.untracked.bool(True),
0093 verifyChecksum = cms.untracked.bool(True),
0094 useL1EventID = cms.untracked.bool(False),
0095 eventChunkSize = cms.untracked.uint32(8),
0096 eventChunkBlock = cms.untracked.uint32(8),
0097 numBuffers = cms.untracked.uint32(2),
0098 maxBufferedFiles = cms.untracked.uint32(2)
0099 )
0100
0101 process.PrescaleService = cms.Service( "PrescaleService",
0102 forceDefault = cms.bool( False ),
0103 prescaleTable = cms.VPSet(
0104 cms.PSet( pathName = cms.string( "HLT_Physics" ),
0105 prescales = cms.vuint32( 10)
0106 ),
0107 cms.PSet( pathName = cms.string( "HLT_Muon" ),
0108 prescales = cms.vuint32( 100 )
0109 )
0110 ),
0111 lvl1DefaultLabel = cms.string( "Default" ),
0112 lvl1Labels = cms.vstring( 'Default' )
0113 )
0114
0115
0116 process.pre = cms.EDFilter("PrescaleEventFilter", offset = cms.uint32(0), prescale=cms.uint32(1))
0117 if options.numEventsToWrite:
0118 process.pre.offset = 2
0119 process.pre.prescale = 4
0120
0121 process.filter1 = cms.EDFilter("HLTPrescaler",
0122 L1GtReadoutRecordTag = cms.InputTag( "hltGtDigis" )
0123 )
0124 process.filter2 = cms.EDFilter("HLTPrescaler",
0125 L1GtReadoutRecordTag = cms.InputTag( "hltGtDigis" )
0126 )
0127
0128 process.a = cms.EDAnalyzer("ExceptionGenerator",
0129 defaultAction = cms.untracked.int32(0),
0130 defaultQualifier = cms.untracked.int32(58))
0131
0132 process.b = cms.EDAnalyzer("ExceptionGenerator",
0133 defaultAction = cms.untracked.int32(0),
0134 defaultQualifier = cms.untracked.int32(5))
0135
0136
0137 import EventFilter.OnlineMetaDataRawToDigi.tcdsRawToDigi_cfi
0138 process.tcdsRawToDigi = EventFilter.OnlineMetaDataRawToDigi.tcdsRawToDigi_cfi.tcdsRawToDigi.clone()
0139 process.tcdsRawToDigi.InputLabel = cms.InputTag("rawDataCollector")
0140
0141 process.HLT_Physics = cms.Path(process.a*process.tcdsRawToDigi*process.filter1*process.pre)
0142 process.HLT_Muon = cms.Path(process.b*process.filter2*process.pre)
0143
0144 process.streamA = cms.OutputModule("GlobalEvFOutputModule",
0145 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'HLT_Physics' ))
0146 )
0147
0148 process.streamB = cms.OutputModule("GlobalEvFOutputModule",
0149 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'HLT_Muon' ))
0150 )
0151
0152 process.streamDQM = cms.OutputModule("GlobalEvFOutputModule",
0153 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'HLT_Physics', 'HLT_Muon' ))
0154 )
0155
0156 process.streamD = cms.OutputModule("EventStreamFileWriter",
0157 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'HLT_Muon' ))
0158 )
0159
0160 process.hltJson = cms.EDAnalyzer("HLTriggerJSONMonitoring")
0161
0162 process.DQMStore = cms.Service( "DQMStore",
0163 verbose = cms.untracked.int32( 0 ),
0164 saveByLumi = cms.untracked.bool( False ),
0165 )
0166
0167 from DQMServices.FileIO.DQMFileSaverPB_cfi import dqmSaver
0168 process.hltDQMFileSaver = dqmSaver
0169
0170 process.daqHistoTest = cms.EDProducer("DaqTestHistograms",
0171 numberOfHistograms = cms.untracked.uint32(50),
0172 lumisectionRange = cms.untracked.uint32(20)
0173 )
0174
0175 process.ep = cms.EndPath(
0176 process.streamA
0177 + process.streamB
0178 + process.streamDQM
0179
0180 + process.hltJson
0181 + process.daqHistoTest
0182 + process.hltDQMFileSaver
0183 )
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194