Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 import sys
0003 
0004 process = cms.Process("Test")
0005 
0006 
0007 process.source = cms.Source("EmptySource")
0008 
0009 
0010 mod = int(sys.argv[1])
0011 
0012 process.load('FWCore.MessageService.MessageLogger_cfi')
0013 process.MessageLogger.cerr.enable = False
0014 process.MessageLogger.files.exceptionMessage = dict(filename="test_bad_schedule_{}".format(mod),
0015                                                     noTimeStamps= True)
0016 
0017 if mod == 0 :
0018     #directly depends on
0019     process.a = cms.EDProducer("AddIntsProducer",
0020                            labels=cms.VInputTag(cms.InputTag("a")))
0021     process.p = cms.Path(process.a)
0022 elif mod == 1:
0023     #cross path dependency
0024     process.a = cms.EDProducer("AddIntsProducer",
0025                            labels=cms.VInputTag(cms.InputTag("b")))
0026 
0027     process.b = cms.EDProducer("AddIntsProducer",
0028                            labels=cms.VInputTag(cms.InputTag("a")))
0029 
0030     process.p = cms.Path(process.a)
0031     process.p2 = cms.Path(process.b)
0032 
0033 elif mod == 2:
0034     #path ordering
0035     process.a = cms.EDProducer("AddIntsProducer",
0036                            labels=cms.VInputTag(cms.InputTag("b")))
0037 
0038     process.b = cms.EDProducer("AddIntsProducer",
0039                            labels=cms.VInputTag(cms.InputTag("")))
0040     process.p = cms.Path(process.a + process.b)
0041 
0042 elif mod == 3:
0043     #path ordering, extra path 1
0044     process.a = cms.EDProducer("AddIntsProducer",
0045                            labels=cms.VInputTag(cms.InputTag("b")))
0046 
0047     process.b = cms.EDProducer("AddIntsProducer",
0048                            labels=cms.VInputTag(cms.InputTag("")))
0049     process.p = cms.Path(process.a + process.b)
0050     process.p2 = cms.Path(process.a)
0051 
0052 elif mod == 4:
0053     #path ordering, extra path 1
0054     process.a = cms.EDProducer("AddIntsProducer",
0055                            labels=cms.VInputTag(cms.InputTag("b")))
0056 
0057     process.b = cms.EDProducer("AddIntsProducer",
0058                            labels=cms.VInputTag(cms.InputTag("")))
0059     process.p2 = cms.Path(process.a + process.b)
0060     process.p = cms.Path(process.a)
0061 
0062 elif mod == 5:
0063     #cycle with unscheduled
0064     process.a = cms.EDProducer("AddIntsProducer",
0065                            labels=cms.VInputTag(cms.InputTag("b")))
0066 
0067     process.b = cms.EDProducer("AddIntsProducer",
0068                            labels=cms.VInputTag(cms.InputTag("a")))
0069 
0070     process.p = cms.Path(process.a, cms.Task(process.b))
0071 
0072 elif mod == 6:
0073     #multi-path cycle with unscheduled
0074     process.a = cms.EDProducer("AddIntsProducer",
0075                            labels=cms.VInputTag(cms.InputTag("b")))
0076 
0077     process.b = cms.EDProducer("AddIntsProducer",
0078                            labels=cms.VInputTag(cms.InputTag("c")))
0079 
0080     process.c = cms.EDProducer("AddIntsProducer",
0081                            labels=cms.VInputTag(cms.InputTag("d")))
0082     process.d = cms.EDProducer("AddIntsProducer",
0083                            labels=cms.VInputTag(cms.InputTag("a")))
0084 
0085     process.p1 = cms.Path(process.a, cms.Task(process.b))
0086     process.p2 = cms.Path(process.c, cms.Task(process.d))
0087 
0088 elif mod == 7:
0089     #cycle with unscheduled
0090     process.a = cms.EDProducer("AddIntsProducer",
0091                            labels=cms.VInputTag(cms.InputTag("b")))
0092 
0093     process.b = cms.EDProducer("AddIntsProducer",
0094                            labels=cms.VInputTag(cms.InputTag("c")))
0095 
0096     process.c = cms.EDProducer("AddIntsProducer",
0097                            labels=cms.VInputTag(cms.InputTag("b")))
0098 
0099     process.p1 = cms.Path(process.a, cms.Task(process.b, process.c))
0100 
0101 elif mod == 8:
0102     #cycle with filter on other path
0103     process.a = cms.EDProducer("IntProducer", ivalue = cms.int32(10))
0104     process.b = cms.EDProducer("AddIntsProducer", labels = cms.VInputTag("c"))
0105     process.c = process.b.clone(labels=["a"])
0106     process.dependingFilter = cms.EDFilter("IntProductFilter", label=cms.InputTag("b"), threshold=cms.int32(1000))
0107     process.rejectingFilter = cms.EDFilter("TestFilterModule", acceptValue = cms.untracked.int32(-1))
0108 
0109     process.p1 = cms.Path(process.c)
0110     process.p2 = cms.Path(process.b + process.dependingFilter + process.a)
0111     process.p3 = cms.Path(process.rejectingFilter + process.a)