File indexing completed on 2025-04-29 02:41:13
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
0008 options.register ('runNumber',
0009 18,
0010 VarParsing.VarParsing.multiplicity.singleton,
0011 VarParsing.VarParsing.varType.int,
0012 "Run Number")
0013
0014 options.register ('daqSourceMode',
0015 'DTH',
0016 VarParsing.VarParsing.multiplicity.singleton,
0017 VarParsing.VarParsing.varType.string,
0018 "DAQ source data mode")
0019
0020 options.register ('buBaseDir',
0021 'ramdisk',
0022 VarParsing.VarParsing.multiplicity.singleton,
0023 VarParsing.VarParsing.varType.string,
0024 "BU base directory")
0025
0026 options.register ('fuBaseDir',
0027 'data',
0028 VarParsing.VarParsing.multiplicity.singleton,
0029 VarParsing.VarParsing.varType.string,
0030 "BU base directory")
0031
0032 options.register ('fffBaseDir',
0033 '.',
0034 VarParsing.VarParsing.multiplicity.singleton,
0035 VarParsing.VarParsing.varType.string,
0036 "FFF base directory")
0037
0038 options.register ('numThreads',
0039 3,
0040 VarParsing.VarParsing.multiplicity.singleton,
0041 VarParsing.VarParsing.varType.int,
0042 "Number of CMSSW threads")
0043
0044 options.register ('numFwkStreams',
0045 2,
0046 VarParsing.VarParsing.multiplicity.singleton,
0047 VarParsing.VarParsing.varType.int,
0048 "Number of CMSSW streams")
0049
0050 options.parseArguments()
0051
0052 process = cms.Process("DTHDEMO")
0053 process.maxEvents = cms.untracked.PSet(
0054 input = cms.untracked.int32(-1)
0055 )
0056
0057 process.options = cms.untracked.PSet(
0058 numberOfThreads = cms.untracked.uint32(options.numThreads),
0059 numberOfStreams = cms.untracked.uint32(options.numFwkStreams),
0060 numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1)
0061 )
0062 process.MessageLogger = cms.Service("MessageLogger",
0063 cout = cms.untracked.PSet(threshold = cms.untracked.string( "INFO" )),
0064 destinations = cms.untracked.vstring( 'cout' )
0065 )
0066
0067 process.EvFDaqDirector = cms.Service("EvFDaqDirector",
0068 useFileBroker = cms.untracked.bool(True),
0069 fileBrokerHostFromCfg = cms.untracked.bool(False),
0070 fileBrokerHost = cms.untracked.string("htcp40.cern.ch"),
0071 runNumber = cms.untracked.uint32(options.runNumber),
0072 baseDir = cms.untracked.string(options.fffBaseDir+"/"+options.fuBaseDir),
0073 buBaseDir = cms.untracked.string(options.fffBaseDir+"/"+options.buBaseDir),
0074 directorIsBU = cms.untracked.bool(False),
0075
0076
0077 buBaseDirsAll = cms.untracked.vstring(options.fffBaseDir+"/"+options.buBaseDir),
0078
0079
0080 buBaseDirsNumStreams = cms.untracked.vint32(1),
0081
0082
0083 buBaseDirsStreamIDs = cms.untracked.vint32(1230),
0084
0085
0086 sourceIdentifier = cms.untracked.string("source")
0087
0088
0089
0090
0091
0092
0093
0094 )
0095
0096 process.FastMonitoringService = cms.Service("FastMonitoringService",
0097 sleepTime = cms.untracked.int32(1)
0098 )
0099
0100 try:
0101 os.makedirs(options.fffBaseDir+"/"+options.fuBaseDir+"/run"+str(options.runNumber).zfill(6))
0102 except Exception as ex:
0103 print(str(ex))
0104 pass
0105
0106 process.source = cms.Source("DAQSource",
0107 fileDiscoveryMode = cms.untracked.bool(True),
0108 fileListMode = cms.untracked.bool(False),
0109 fileNames = cms.untracked.vstring(),
0110
0111 dataMode = cms.untracked.string(options.daqSourceMode),
0112 verifyChecksum = cms.untracked.bool(True if options.daqSourceMode != "DTH" else False),
0113 useL1EventID = cms.untracked.bool(False),
0114 eventChunkBlock = cms.untracked.uint32(2),
0115 eventChunkSize = cms.untracked.uint32(3),
0116 maxChunkSize = cms.untracked.uint32(10),
0117 numBuffers = cms.untracked.uint32(3),
0118 maxBufferedFiles = cms.untracked.uint32(2),
0119 )
0120
0121 process.out = cms.OutputModule("PoolOutputModule",
0122 fileName = cms.untracked.string(f'file:DTH_dump{options.runNumber}.root'),
0123 outputCommands = cms.untracked.vstring(
0124 "keep *",
0125 ),
0126 compressionAlgorithm = cms.untracked.string("ZSTD"),
0127 compressionLevel = cms.untracked.int32(4),
0128 )
0129
0130 process.ep = cms.EndPath(
0131 process.out
0132 )