Back to home page

Project CMSSW displayed by LXR

 
 

    


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, # default value
0009                   VarParsing.VarParsing.multiplicity.singleton,
0010                   VarParsing.VarParsing.varType.int,          # string, int, or float
0011                   "Run Number")
0012 
0013 options.register ('buBaseDir',
0014                   'ramdisk', # default value
0015                   VarParsing.VarParsing.multiplicity.singleton,
0016                   VarParsing.VarParsing.varType.string,          # string, int, or float
0017                   "BU base directory")
0018 
0019 options.register ('fuBaseDir',
0020                   'data', # default value
0021                   VarParsing.VarParsing.multiplicity.singleton,
0022                   VarParsing.VarParsing.varType.string,          # string, int, or float
0023                   "BU base directory")
0024 
0025 options.register ('fffBaseDir',
0026                   '.', # default value
0027                   VarParsing.VarParsing.multiplicity.singleton,
0028                   VarParsing.VarParsing.varType.string,          # string, int, or float
0029                   "FFF base directory")
0030 
0031 options.register ('numThreads',
0032                   3, # default value
0033                   VarParsing.VarParsing.multiplicity.singleton,
0034                   VarParsing.VarParsing.varType.int,          # string, int, or float
0035                   "Number of CMSSW threads")
0036 
0037 options.register ('numFwkStreams',
0038                   2, # default value
0039                   VarParsing.VarParsing.multiplicity.singleton,
0040                   VarParsing.VarParsing.varType.int,          # string, int, or float
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)