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     inputCommands = cms.untracked.vstring(
0026         'keep *',
0027         'drop *_intProducerBeginProcessBlock_*_*',
0028         'drop *_intProducerEndProcessBlock_*_*',
0029         'drop *_intProducerBeginProcessBlockMM_*_*',
0030         'drop *_intProducerEndProcessBlockMM_*_*'
0031     )
0032 )
0033 
0034 # 40 transitions = 30 events + 10 InputProcessBlock transitions + (3 x 0) Cache filling transitions
0035 # sum = 44 + 444 + 44 = 532
0036 process.readProcessBlocksOneAnalyzer1 = cms.EDAnalyzer("edmtest::one::InputProcessBlockIntAnalyzer",
0037                                             transitions = cms.int32(40),
0038                                             consumesBeginProcessBlock = cms.InputTag("intProducerBeginProcessBlock", ""),
0039                                             consumesEndProcessBlock = cms.InputTag("intProducerEndProcessBlock", ""),
0040                                             consumesBeginProcessBlockM = cms.InputTag("intProducerBeginProcessBlockM", ""),
0041                                             consumesEndProcessBlockM = cms.InputTag("intProducerEndProcessBlockM", ""),
0042                                             #expectedByRun = cms.vint32(11, 22, 3300, 4400, 7707),
0043                                             expectedSum = cms.int32(532)
0044 )
0045 
0046 # 40 transitions = 30 events + 10 InputProcessBlock transitions + (3 x 0) Cache filling transitions
0047 # sum = 44 + 444 + 44 = 532
0048 process.readProcessBlocksOneAnalyzer2 = cms.EDAnalyzer("edmtest::one::InputProcessBlockIntAnalyzer",
0049                                             transitions = cms.int32(40),
0050                                             consumesBeginProcessBlock = cms.InputTag("intProducerBeginProcessBlockMM", ""),
0051                                             consumesEndProcessBlock = cms.InputTag("intProducerEndProcessBlockMM", ""),
0052                                             consumesBeginProcessBlockM = cms.InputTag("intProducerBeginProcessBlockM", ""),
0053                                             consumesEndProcessBlockM = cms.InputTag("intProducerEndProcessBlockM", ""),
0054                                             #expectedByRun = cms.vint32(644, 644, 644, 644, 844),
0055                                             expectedSum = cms.int32(532)
0056 )
0057 
0058 process.out = cms.OutputModule("PoolOutputModule",
0059     fileName = cms.untracked.string('testProcessBlockNonStrict3.root')
0060 )
0061 
0062 process.testOneOutput = cms.OutputModule("TestOneOutput",
0063     verbose = cms.untracked.bool(False),
0064     expectedProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED'),
0065     expectedTopProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED'),
0066     expectedTopCacheIndices0 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6),
0067     expectedTopCacheIndices1 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6, 7, 8, 9),
0068     expectedTopCacheIndices2 = cms.untracked.vuint32(0, 4, 6, 1, 4, 6, 2, 5, 6, 3, 5, 6, 7, 8, 9, 4294967295, 4294967295, 4294967295),
0069     expectedWriteProcessBlockTransitions = cms.untracked.int32(11),
0070     expectedProcessesInFirstFile = cms.untracked.uint32(3),
0071     expectedCacheIndexVectorsPerFile = cms.untracked.vuint32(4, 1, 1),
0072     expectedNEntries0 = cms.untracked.vuint32(4, 2, 1),
0073     expectedNEntries1 = cms.untracked.vuint32(1, 1, 1),
0074     expectedNEntries2 = cms.untracked.vuint32(0, 0, 0),
0075     expectedCacheEntriesPerFile0 =  cms.untracked.vuint32(7),
0076     expectedCacheEntriesPerFile1 =  cms.untracked.vuint32(7, 3),
0077     expectedCacheEntriesPerFile2 =  cms.untracked.vuint32(7, 3, 0),
0078     expectedOuterOffset = cms.untracked.vuint32(0, 4, 5)
0079 )
0080 
0081 process.p = cms.Path(process.readProcessBlocksOneAnalyzer1 * process.readProcessBlocksOneAnalyzer2)
0082 
0083 process.e = cms.EndPath(
0084     process.out *
0085     process.testOneOutput
0086 )