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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
import FWCore.ParameterSet.Config as cms

process = cms.Process("PROD3")

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

process.out = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('testGetBy3.root'),
    outputCommands = cms.untracked.vstring(
        'keep *', 
        'drop *_intProducerA_*_*'
    )
)

process.intProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(3))

process.intProducerU = cms.EDProducer("IntProducer", ivalue = cms.int32(30))

process.intProducerA = cms.EDProducer("IntProducer", ivalue = cms.int32(200))

process.aliasForInt = cms.EDAlias(
  intProducerA  = cms.VPSet(
    cms.PSet(type = cms.string('edmtestIntProduct')
    )
  )
)

process.nonProducer = cms.EDProducer("NonProducer")

process.intVectorSetProducer = cms.EDProducer("IntVectorSetProducer")

process.intVectorProducer = cms.EDProducer("IntVectorProducer",
  count = cms.int32(9),
  ivalue = cms.int32(31)
)

process.a1 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer") ),
  expectedSum = cms.untracked.int32(9)
)

process.a2 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(6)
)

process.a3 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer", "", "PROD1") ),
  expectedSum = cms.untracked.int32(3)
)

process.a4 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer", "", "PROD2") ),
  expectedSum = cms.untracked.int32(6)
)

process.a5 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer", "", "PROD3") ),
  expectedSum = cms.untracked.int32(9)
)

process.a6 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducer", "", processName=cms.InputTag.currentProcess()) ),
  expectedSum = cms.untracked.int32(9)
)

process.a10 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU") ),
  expectedSum = cms.untracked.int32(90)
)

process.a20 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(60)
)

process.a30 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU", "", "PROD1") ),
  expectedSum = cms.untracked.int32(30)
)

process.a40 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU", "", "PROD2") ),
  expectedSum = cms.untracked.int32(60)
)

process.a50 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU", "", "PROD3") ),
  expectedSum = cms.untracked.int32(90)
)

process.a60 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerU", "", processName=cms.InputTag.currentProcess()) ),
  expectedSum = cms.untracked.int32(90),
  inputTagsNotFound = cms.untracked.VInputTag(
    cms.InputTag("intProducerB", processName=cms.InputTag.currentProcess())
  )
)

process.a70 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerB", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(3000)
)

process.a100 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("source", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(12)
)

process.a200 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerA") ),
  expectedSum = cms.untracked.int32(600)
)

process.a300 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("aliasForInt") ),
  expectedSum = cms.untracked.int32(600)
)

process.a400 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("aliasForInt", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(300),
  inputTagsNotFound = cms.untracked.VInputTag(
    cms.InputTag("intProducerA", processName=cms.InputTag.skipCurrentProcess())
  )
)

process.a1000 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("doesNotExist") ),
  expectedSum = cms.untracked.int32(1),
  getByTokenFirst = cms.untracked.bool(True)
)

process.a1001 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("nonProducer") ),
  expectedSum = cms.untracked.int32(1),
  getByTokenFirst = cms.untracked.bool(True)
)

process.a1002 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsView = cms.untracked.VInputTag( cms.InputTag("intVectorSetProducer", "", "PROD3") ),
  expectedSum = cms.untracked.int32(1),
  getByTokenFirst = cms.untracked.bool(True)
)

process.a1003 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsView = cms.untracked.VInputTag( cms.InputTag("intVectorSetProducer") ),
  expectedSum = cms.untracked.int32(1),
  getByTokenFirst = cms.untracked.bool(True)
)

process.a1004 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsView = cms.untracked.VInputTag( cms.InputTag("intVectorProducer") ),
  expectedSum = cms.untracked.int32(93)
)

process.a1005 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsView = cms.untracked.VInputTag( cms.InputTag("intVectorProducer", processName=cms.InputTag.skipCurrentProcess()) ),
  expectedSum = cms.untracked.int32(63)
)

process.a1006 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsView = cms.untracked.VInputTag( cms.InputTag("intVectorProducer", processName=cms.InputTag.currentProcess()) ),
  expectedSum = cms.untracked.int32(93)
)

process.a2000 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag(),
  inputTagsInputProcessBlock = cms.untracked.VInputTag( cms.InputTag("intProducerBeginProcessBlock"), cms.InputTag("intProducerEndProcessBlock")),
  expectedSum = cms.untracked.int32(110000),
  expectedCache = cms.untracked.int32(110000)
)

process.p = cms.Path(process.intProducer * process.a1 * process.a2 * process.a3 * process.a4 * process.a5 * process.a6)

process.p0 = cms.Path(process.a10 * process.a20 * process.a30 * process.a40 * process.a50 * process.a60 * process.a70)

process.p00 = cms.Path(process.a100 * process.a200 * process.a300 * process.a400)

# Cause exception with a module label that does not exist
#process.p1000 = cms.Path(process.a1000)

# Cause exception where product branch exists but
# product was not put into the event
#process.p1001 = cms.Path(process.a1001)

# Cause exception where product request is ambiguous
# and process is specified
#process.p1002 = cms.Path(process.a1002)

# Cause exception where product request is ambiguous
# and process is not specified
#process.p1003 = cms.Path(process.a1003)

process.p1004 = cms.Path(process.a1004)

process.p1005 = cms.Path(process.a1005 * process.a1006)

process.p2000 = cms.Path(process.a2000)

process.t = cms.Task(process.intProducerU, process.intProducerA, process.nonProducer,
                     process.intVectorSetProducer, process.intVectorProducer)

process.e = cms.EndPath(process.out, process.t)