Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:41

0001 # This is a test that things will run OK if we disable the
0002 # the strict merging requirement for ProcessBlock products
0003 # in the ProductRegistry merging function. This
0004 # requirement is currently always enforced and this configuration
0005 # will fail.
0006 
0007 import FWCore.ParameterSet.Config as cms
0008 
0009 process = cms.Process("NONSTRICTTEST")
0010 
0011 process.options = cms.untracked.PSet(
0012     numberOfStreams = cms.untracked.uint32(1),
0013     numberOfThreads = cms.untracked.uint32(1),
0014     numberOfConcurrentRuns = cms.untracked.uint32(1),
0015     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1)
0016 )
0017 
0018 process.source = cms.Source("PoolSource",
0019     fileNames = cms.untracked.vstring(
0020         'file:testProcessBlockMergeOfMergedFiles.root',
0021         'file:testProcessBlockMergeOfMergedFiles2.root',
0022         'file:testProcessBlockDropOnInput.root'
0023     ),
0024     duplicateCheckMode = cms.untracked.string("noDuplicateCheck")
0025 )
0026 
0027 # 77 transitions = 30 events + 17 InputProcessBlock transitions + (3 x 10) Cache filling transitions
0028 # sum = (11 + 22 + 3300 + 4400 + 7707) x 2 + 44 + 444 + 44 = 31412
0029 process.readProcessBlocksOneAnalyzer1 = cms.EDAnalyzer("edmtest::one::InputProcessBlockIntAnalyzer",
0030                                             transitions = cms.int32(77),
0031                                             consumesBeginProcessBlock = cms.InputTag("intProducerBeginProcessBlock", ""),
0032                                             consumesEndProcessBlock = cms.InputTag("intProducerEndProcessBlock", ""),
0033                                             consumesBeginProcessBlockM = cms.InputTag("intProducerBeginProcessBlockM", ""),
0034                                             consumesEndProcessBlockM = cms.InputTag("intProducerEndProcessBlockM", ""),
0035                                             expectedByRun = cms.vint32(11, 22, 3300, 4400, 7707),
0036                                             expectedSum = cms.int32(31412)
0037 )
0038 
0039 # 59 transitions = 30 events + 17 InputProcessBlock transitions + (3 x 4) Cache filling transitions
0040 # sum = 44 + 444 + 44 = 532
0041 process.readProcessBlocksOneAnalyzer2 = cms.EDAnalyzer("edmtest::one::InputProcessBlockIntAnalyzer",
0042                                             transitions = cms.int32(59),
0043                                             consumesBeginProcessBlock = cms.InputTag("intProducerBeginProcessBlockMM", ""),
0044                                             consumesEndProcessBlock = cms.InputTag("intProducerEndProcessBlockMM", ""),
0045                                             consumesBeginProcessBlockM = cms.InputTag("intProducerBeginProcessBlockM", ""),
0046                                             consumesEndProcessBlockM = cms.InputTag("intProducerEndProcessBlockM", ""),
0047                                             expectedByRun = cms.vint32(644, 644, 644, 644, 844),
0048                                             expectedSum = cms.int32(532)
0049 )
0050 
0051 process.out = cms.OutputModule("PoolOutputModule",
0052     fileName = cms.untracked.string('testProcessBlockNonStrict.root')
0053 )
0054 
0055 process.testOneOutput = cms.OutputModule("TestOneOutput",
0056     verbose = cms.untracked.bool(False),
0057     expectedProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED'),
0058     expectedTopProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED'),
0059     expectedTopCacheIndices0 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6),
0060     expectedTopCacheIndices1 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6, 7, 8, 9),
0061     expectedTopCacheIndices2 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6, 7, 8, 9, 10, 4294967295, 15, 11, 4294967295, 15, 12, 4294967295, 15, 13, 4294967295, 15, 14, 4294967295, 16),
0062     expectedWriteProcessBlockTransitions = cms.untracked.int32(18),
0063     expectedProcessesInFirstFile = cms.untracked.uint32(3),
0064     expectedCacheIndexVectorsPerFile = cms.untracked.vuint32(4, 1, 5),
0065     expectedNEntries0 = cms.untracked.vuint32(4, 2, 1),
0066     expectedNEntries1 = cms.untracked.vuint32(1, 1, 1),
0067     expectedNEntries2 = cms.untracked.vuint32(5, 0, 2),
0068     expectedCacheEntriesPerFile0 =  cms.untracked.vuint32(7),
0069     expectedCacheEntriesPerFile1 =  cms.untracked.vuint32(7, 3),
0070     expectedCacheEntriesPerFile2 =  cms.untracked.vuint32(7, 3, 7),
0071     expectedOuterOffset = cms.untracked.vuint32(0, 4, 5)
0072 )
0073 
0074 process.p = cms.Path(process.readProcessBlocksOneAnalyzer1 * process.readProcessBlocksOneAnalyzer2)
0075 
0076 process.e = cms.EndPath(
0077     process.out *
0078     process.testOneOutput
0079 )