Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
import FWCore.ParameterSet.Config as cms

process = cms.Process("DROPONOUTPUT")

process.options = cms.untracked.PSet(
    numberOfStreams = cms.untracked.uint32(1),
    numberOfThreads = cms.untracked.uint32(1),
    numberOfConcurrentRuns = cms.untracked.uint32(1),
    numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1)
)

process.source = cms.Source("PoolSource",
    fileNames = cms.untracked.vstring(
        'file:testProcessBlockMergeOfMergedFiles.root',
        'file:testProcessBlockMergeOfMergedFiles2.root'
    ),
)

process.intProducerBeginProcessBlockN = cms.EDProducer("IntProducerBeginProcessBlock", ivalue = cms.int32(5))

process.intProducerEndProcessBlockN = cms.EDProducer("IntProducerEndProcessBlock", ivalue = cms.int32(50))

process.out = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('testProcessBlockDropOnOutput2.root'),
    outputCommands = cms.untracked.vstring(
        'keep *',
        'drop *_intProducerBeginProcessBlockB_*_*',
        'drop *_intProducerEndProcessBlockB_*_*',
        'drop *_intProducerBeginProcessBlockM_*_*',
        'drop *_intProducerEndProcessBlockM_*_*'
    )
)

process.testOneOutput = cms.OutputModule("TestOneOutput",
    outputCommands = cms.untracked.vstring(
        'keep *',
        'drop *_intProducerBeginProcessBlockB_*_*',
        'drop *_intProducerEndProcessBlockB_*_*',
        'drop *_intProducerBeginProcessBlockM_*_*',
        'drop *_intProducerEndProcessBlockM_*_*'
    ),
    verbose = cms.untracked.bool(False),
    expectedProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGEOFMERGED', 'DROPONOUTPUT'),
    expectedTopProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED', 'DROPONOUTPUT'),
    expectedTranslateFromStoredIndex = cms.untracked.vuint32(0, 2, 3),
    expectedNAddedProcesses = cms.untracked.uint32(1),
    expectedProductsFromInputKept = cms.untracked.bool(True)
)

process.out2 = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('testProcessBlockDropOnOutput2_2.root'),
    outputCommands = cms.untracked.vstring(
        'keep *',
        'drop *_intProducerBeginProcessBlock_*_*',
        'drop *_intProducerEndProcessBlock_*_*',
        'drop *_intProducerBeginProcessBlockB_*_*',
        'drop *_intProducerEndProcessBlockB_*_*',
        'drop *_intProducerBeginProcessBlockM_*_*',
        'drop *_intProducerEndProcessBlockM_*_*',
        'drop *_intProducerBeginProcessBlockMM_*_*',
        'drop *_intProducerEndProcessBlockMM_*_*'
    )
)

process.testOneOutput2 = cms.OutputModule("TestOneOutput",
    outputCommands = cms.untracked.vstring(
        'keep *',
        'drop *_intProducerBeginProcessBlock_*_*',
        'drop *_intProducerEndProcessBlock_*_*',
        'drop *_intProducerBeginProcessBlockB_*_*',
        'drop *_intProducerEndProcessBlockB_*_*',
        'drop *_intProducerBeginProcessBlockM_*_*',
        'drop *_intProducerEndProcessBlockM_*_*',
        'drop *_intProducerBeginProcessBlockMM_*_*',
        'drop *_intProducerEndProcessBlockMM_*_*'
    ),
    verbose = cms.untracked.bool(False),
    expectedProcessesWithProcessBlockProducts = cms.untracked.vstring('DROPONOUTPUT'),
    expectedTopProcessesWithProcessBlockProducts = cms.untracked.vstring('PROD1', 'MERGE', 'MERGEOFMERGED', 'DROPONOUTPUT'),
    expectedTranslateFromStoredIndex = cms.untracked.vuint32(3),
    expectedNAddedProcesses = cms.untracked.uint32(1),
    expectedProductsFromInputKept = cms.untracked.bool(False)
)

process.p = cms.Path(process.intProducerBeginProcessBlockN * process.intProducerEndProcessBlockN)

process.e = cms.EndPath(
    process.out *
    process.testOneOutput *
    process.out2 *
    process.testOneOutput2
)