File indexing completed on 2024-11-25 02:29:34
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 100,
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
0044 options.parseArguments()
0045
0046 cmsswbase = os.path.expandvars("$CMSSW_BASE/")
0047
0048 process = cms.Process("TESTFU")
0049 process.maxEvents = cms.untracked.PSet(
0050 input = cms.untracked.int32(-1)
0051 )
0052
0053 process.options = cms.untracked.PSet(
0054 numberOfThreads = cms.untracked.uint32(options.numThreads),
0055 numberOfStreams = cms.untracked.uint32(options.numFwkStreams),
0056 numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(2)
0057 )
0058
0059 process.MessageLogger = cms.Service("MessageLogger",
0060 cout = cms.untracked.PSet(threshold = cms.untracked.string( "INFO" )),
0061 destinations = cms.untracked.vstring( 'cout' )
0062 )
0063
0064 process.FastMonitoringService = cms.Service("FastMonitoringService",
0065 sleepTime = cms.untracked.int32(1)
0066 )
0067
0068 process.EvFDaqDirector = cms.Service("EvFDaqDirector",
0069 useFileBroker = 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 try:
0078 os.makedirs(options.fffBaseDir+"/"+options.fuBaseDir+"/run"+str(options.runNumber).zfill(6))
0079 except Exception as ex:
0080 print(str(ex))
0081 pass
0082
0083 process.source = cms.Source("FedRawDataInputSource",
0084 getLSFromFilename = cms.untracked.bool(True),
0085 verifyChecksum = cms.untracked.bool(True),
0086 useL1EventID = cms.untracked.bool(True),
0087 eventChunkSize = cms.untracked.uint32(32),
0088 eventChunkBlock = cms.untracked.uint32(32),
0089 numBuffers = cms.untracked.uint32(2),
0090 maxBufferedFiles = cms.untracked.uint32(2)
0091 )
0092
0093 process.PrescaleService = cms.Service( "PrescaleService",
0094 forceDefault = cms.bool( False ),
0095 prescaleTable = cms.VPSet(
0096 cms.PSet( pathName = cms.string( "p1" ),
0097 prescales = cms.vuint32( 10)
0098 ),
0099 cms.PSet( pathName = cms.string( "p2" ),
0100 prescales = cms.vuint32( 100 )
0101 )
0102 ),
0103 lvl1DefaultLabel = cms.string( "Default" ),
0104 lvl1Labels = cms.vstring( 'Default' )
0105 )
0106
0107 process.filter1 = cms.EDFilter("HLTPrescaler",
0108 L1GtReadoutRecordTag = cms.InputTag( "hltGtDigis" )
0109 )
0110 process.filter2 = cms.EDFilter("HLTPrescaler",
0111 L1GtReadoutRecordTag = cms.InputTag( "hltGtDigis" )
0112 )
0113
0114 process.a = cms.EDAnalyzer("ExceptionGenerator",
0115 defaultAction = cms.untracked.int32(0),
0116 defaultQualifier = cms.untracked.int32(1000))
0117
0118 process.b = cms.EDAnalyzer("ExceptionGenerator",
0119 defaultAction = cms.untracked.int32(0),
0120 defaultQualifier = cms.untracked.int32(5))
0121
0122 process.p1 = cms.Path(process.a*process.filter1)
0123 process.p2 = cms.Path(process.b*process.filter2)
0124
0125 process.streamA = cms.OutputModule("GlobalEvFOutputModule",
0126 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'p1' ))
0127 )
0128
0129 process.streamB = cms.OutputModule("GlobalEvFOutputModule",
0130 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring( 'p2' ))
0131 )
0132
0133 process.ep = cms.EndPath(process.streamA+process.streamB)