Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-06-04 22:36:17

0001 # The purpose of this unit test is to execute the code
0002 # in the FastTimerService and at least verify that it
0003 # runs without crashing. There is output in the log
0004 # file and also a json file.
0005 
0006 # The output times and memory usage values may vary from
0007 # one job to the next. We do not want a test that can
0008 # occasionally fail and require investigation when
0009 # nothing is wrong, so we choose not to require certain
0010 # values in the output.
0011 
0012 # Besides the FastTimerService, the rest of the
0013 # configuration is of no significance. This is
0014 # just copied from another test configuration.
0015 # We just needed some modules and paths to run
0016 # in order to exercise the service.
0017 
0018 import FWCore.ParameterSet.Config as cms
0019 
0020 process = cms.Process("PROD1")
0021 
0022 process.load('DQMServices.Core.DQMStore_cfi')
0023 
0024 from HLTrigger.Timer.FastTimerService_cfi import *
0025 
0026 process.FastTimerService = FastTimerService
0027 
0028 process.FastTimerService.printEventSummary = True
0029 process.FastTimerService.writeJSONSummary = True
0030 process.FastTimerService.dqmTimeRange = 2000
0031 process.FastTimerService.enableDQM = True
0032 process.FastTimerService.enableDQMTransitions = True
0033 process.FastTimerService.enableDQMbyLumiSection = True
0034 process.FastTimerService.enableDQMbyModule = True
0035 process.FastTimerService.enableDQMbyPath = True
0036 process.FastTimerService.enableDQMbyProcesses = True
0037 
0038 process.MessageLogger = cms.Service("MessageLogger",
0039     cerr = cms.untracked.PSet(
0040         FastReport = cms.untracked.PSet(
0041             limit = cms.untracked.int32(1000000)
0042         ),
0043         threshold  = cms.untracked.string('INFO')
0044     )
0045 )
0046 
0047 process.options = cms.untracked.PSet(
0048     numberOfStreams = cms.untracked.uint32(1),
0049     numberOfConcurrentRuns = cms.untracked.uint32(1),
0050     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1)
0051 )
0052 
0053 process.source = cms.Source("IntSource")
0054 process.maxEvents = cms.untracked.PSet(
0055     input = cms.untracked.int32(3)
0056 )
0057 
0058 process.out = cms.OutputModule("PoolOutputModule",
0059     fileName = cms.untracked.string('testFastTimerService.root')
0060 )
0061 
0062 process.dqmOutput = cms.OutputModule('DQMRootOutputModule',
0063     fileName = cms.untracked.string('dqmOutput.root')
0064 )
0065 
0066 process.busy1 = cms.EDProducer("BusyWaitIntProducer",ivalue = cms.int32(1), iterations = cms.uint32(10*1000*1000))
0067 
0068 process.a1 = cms.EDAnalyzer("TestFindProduct",
0069   inputTags = cms.untracked.VInputTag( cms.InputTag("source") ),
0070   expectedSum = cms.untracked.int32(530021),
0071   inputTagsNotFound = cms.untracked.VInputTag(
0072     cms.InputTag("source", processName=cms.InputTag.skipCurrentProcess()),
0073     cms.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
0074     cms.InputTag("intProducerU", processName=cms.InputTag.skipCurrentProcess())
0075   ),
0076   inputTagsBeginProcessBlock = cms.untracked.VInputTag(
0077     cms.InputTag("intProducerBeginProcessBlock"),
0078   ),
0079   inputTagsEndProcessBlock = cms.untracked.VInputTag(
0080     cms.InputTag("intProducerEndProcessBlock"),
0081   ),
0082   inputTagsEndProcessBlock2 = cms.untracked.VInputTag(
0083     cms.InputTag("intProducerEndProcessBlock", "two"),
0084   ),
0085   inputTagsEndProcessBlock3 = cms.untracked.VInputTag(
0086     cms.InputTag("intProducerEndProcessBlock", "three"),
0087   ),
0088   inputTagsEndProcessBlock4 = cms.untracked.VInputTag(
0089     cms.InputTag("intProducerEndProcessBlock", "four"),
0090   ),
0091   testGetterOfProducts = cms.untracked.bool(True)
0092 )
0093 
0094 process.a2 = cms.EDAnalyzer("TestFindProduct",
0095   inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerA") ),
0096   expectedSum = cms.untracked.int32(300)
0097 )
0098 
0099 process.intProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1))
0100 
0101 process.intProducerDeleted = cms.EDProducer("IntProducer", ivalue = cms.int32(10))
0102 
0103 process.intProducerU = cms.EDProducer("IntProducer", ivalue = cms.int32(10))
0104 
0105 process.intProducerA = cms.EDProducer("IntProducer", ivalue = cms.int32(100))
0106 
0107 process.intVectorProducer = cms.EDProducer("IntVectorProducer",
0108   count = cms.int32(9),
0109   ivalue = cms.int32(11)
0110 )
0111 
0112 process.intProducerB = cms.EDProducer("IntProducer", ivalue = cms.int32(1000))
0113 
0114 process.thingProducer = cms.EDProducer("ThingProducer")
0115 
0116 process.intProducerBeginProcessBlock = cms.EDProducer("IntProducerBeginProcessBlock", ivalue = cms.int32(10000))
0117 
0118 process.intProducerEndProcessBlock = cms.EDProducer("IntProducerEndProcessBlock", ivalue = cms.int32(100000))
0119 
0120 process.t = cms.Task(process.intProducerDeleted,
0121                      process.intProducerU,
0122                      process.intProducerA,
0123                      process.intProducerB,
0124                      process.intVectorProducer,
0125                      process.intProducerBeginProcessBlock,
0126                      process.intProducerEndProcessBlock
0127 )
0128 
0129 process.p1 = cms.Path(process.intProducer * process.a1 * process.a2, process.t)
0130 
0131 process.p2 = cms.Path(process.busy1 * process.thingProducer)
0132 
0133 #process.e = cms.EndPath(process.out * process.dqmOutput)
0134