Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-08-19 01:41:37

0001 #test fallback logic when current process does not produce the product
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 process = cms.Process("FALLBACK4")
0005 from IOPool.Input.modules import PoolSource
0006 process.source = PoolSource(
0007     fileNames = cms.untracked.vstring(
0008         'file:testNoProcessFallback2.root',
0009     )
0010 )
0011 
0012 process.maxEvents.input = 4
0013 
0014 # The matrix of passed Events for the three processes (X is pass, - is fail)
0015 # EventID      FALLBACK1   FALLBACK2   FALLBACK4
0016 # (1,1,1)         -           -           -
0017 # (1,1,2)         X           -           -
0018 # (1,1,3)         -           X           -
0019 # (1,1,4)         X           X           -
0020 
0021 
0022 
0023 
0024 process.testerNoProcessMissing = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0025     moduleLabel = cms.untracked.InputTag("intProducer"),
0026     valueMustBeMissing = cms.untracked.bool(True),
0027     valueMustMatch = cms.untracked.int32(1)  # Ignored if valueMustBeMissing is true
0028 )
0029 process.testerSkipCurrentProcessMissing = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0030     moduleLabel = cms.untracked.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
0031     valueMustBeMissing = cms.untracked.bool(True),
0032     valueMustMatch = cms.untracked.int32(1)  # Ignored if valueMustBeMissing is true
0033 )
0034 
0035 process.testerCurrentProcessMissing = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0036     moduleLabel = cms.untracked.InputTag("intProducer", processName=cms.InputTag.currentProcess()),
0037     valueMustBeMissing = cms.untracked.bool(True),
0038     valueMustMatch = cms.untracked.int32(1)  # Ignored if valueMustBeMissing is true
0039 )
0040 
0041 from FWCore.Modules.modules import EventIDFilter
0042 process.keeper1 = EventIDFilter(
0043         eventsToPass = [cms.EventID(1,1,1)]
0044 )
0045 process.p1 = cms.Path(process.keeper1 + process.testerNoProcessMissing + process.testerSkipCurrentProcessMissing + process.testerCurrentProcessMissing)
0046 
0047 process.testerNoProcess1 = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0048     moduleLabel = cms.untracked.InputTag("intProducer"),
0049     valueMustMatch = cms.untracked.int32(1),
0050     valueMustBeMissing = cms.untracked.bool(False)
0051 )
0052 
0053 process.testerSkipCurrentProcess1 = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0054     moduleLabel = cms.untracked.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
0055     valueMustMatch = cms.untracked.int32(1),
0056     valueMustBeMissing = cms.untracked.bool(False)
0057 )
0058 
0059 process.keeper2 = EventIDFilter(
0060         eventsToPass = [cms.EventID(1,1,2)]
0061 )
0062 process.p2 = cms.Path(process.keeper2 + process.testerNoProcess1 + process.testerSkipCurrentProcess1 + process.testerCurrentProcessMissing)
0063 
0064 process.keeper3 = EventIDFilter(
0065         eventsToPass = [cms.EventID(1,1,3)]
0066 )
0067 
0068 process.testerNoProcess2 = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0069     moduleLabel = cms.untracked.InputTag("intProducer"),
0070     valueMustMatch = cms.untracked.int32(2),
0071     valueMustBeMissing = cms.untracked.bool(False)
0072 )
0073 
0074 process.testerSkipCurrentProcess2 = cms.EDAnalyzer("BuiltinIntTestAnalyzer",
0075     moduleLabel = cms.untracked.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
0076     valueMustMatch = cms.untracked.int32(2),
0077     valueMustBeMissing = cms.untracked.bool(False)
0078 )
0079 
0080 process.p3 = cms.Path(process.keeper3 + process.testerNoProcess2 + process.testerSkipCurrentProcess2 + process.testerCurrentProcessMissing)
0081 
0082 process.keeper4 = EventIDFilter(
0083         eventsToPass = [cms.EventID(1,1,4)]
0084 )
0085 process.p4 = cms.Path(process.keeper4 + process.testerNoProcess2 + process.testerSkipCurrentProcess2 + process.testerCurrentProcessMissing)
0086 
0087 
0088 #from FWCore.Modules.modules import EventContentAnalyzer
0089 #process.dump = EventContentAnalyzer()
0090 #process.dumpPath = cms.Path(process.dump)