4074 def testModifier(self):
4076 Process._firstProcess =
True 4078 self.assertRaises(RuntimeError,
lambda:
Process(
"test2", m1))
4080 Process._firstProcess =
True 4082 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1))
4085 m1.toModify(p.a,_mod_fred)
4086 self.assertEqual(p.a.fred.value(),2)
4087 p.b = EDAnalyzer(
"YourAnalyzer", wilma = int32(1))
4088 m1.toModify(p.b, wilma = 2)
4089 self.assertEqual(p.b.wilma.value(),2)
4090 self.assertTrue(p.isUsingModifier(m1))
4093 Process._firstProcess =
True 4095 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1))
4096 m1.toModify(p.a,_mod_fred)
4097 p.b = EDAnalyzer(
"YourAnalyzer", wilma = int32(1))
4098 m1.toModify(p.b, wilma = 2)
4099 self.assertEqual(p.a.fred.value(),1)
4100 self.assertEqual(p.b.wilma.value(),1)
4101 self.assertEqual(p.isUsingModifier(m1),
False)
4104 Process._firstProcess =
True 4106 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4107 m1.toModify(p.a, fred = int32(2))
4108 p.b = p.a.clone(wilma = int32(3))
4109 self.assertEqual(p.a.fred.value(),2)
4110 self.assertEqual(p.a.wilma.value(),1)
4111 self.assertEqual(p.b.fred.value(),2)
4112 self.assertEqual(p.b.wilma.value(),3)
4115 Process._firstProcess =
True 4117 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1), fintstones = PSet(fred = int32(1)))
4118 m1.toModify(p.a, fred =
None, fintstones = dict(fred =
None))
4119 self.assertEqual(hasattr(p.a,
"fred"),
False)
4120 self.assertEqual(hasattr(p.a.fintstones,
"fred"),
False)
4121 self.assertEqual(p.a.wilma.value(),1)
4124 Process._firstProcess =
True 4126 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1))
4127 m1.toModify(p.a, wilma = int32(2))
4128 self.assertEqual(p.a.fred.value(), 1)
4129 self.assertEqual(p.a.wilma.value(),2)
4132 Process._firstProcess =
True 4134 p.a = EDAnalyzer(
"MyAnalyzer", flintstones = PSet(fred = int32(1), wilma = int32(1)))
4135 m1.toModify(p.a, flintstones = dict(fred = int32(2)))
4136 self.assertEqual(p.a.flintstones.fred.value(),2)
4137 self.assertEqual(p.a.flintstones.wilma.value(),1)
4140 Process._firstProcess =
True 4142 p.a = EDAnalyzer(
"MyAnalyzer", flintstones = PSet(fred = PSet(wilma = int32(1))))
4143 self.assertRaises(KeyError,
lambda: m1.toModify(p.a, flintstones = dict(imnothere = dict(wilma=2))))
4144 self.assertRaises(KeyError,
lambda: m1.toModify(p.a, foo = 1))
4147 Process._firstProcess =
True 4149 p.a = EDAnalyzer(
"MyAnalyzer", flintstones =
VPSet(PSet(fred = int32(1)), PSet(wilma = int32(1))))
4150 m1.toModify(p.a, flintstones = {1:dict(wilma = int32(2))})
4151 self.assertEqual(p.a.flintstones[0].fred.value(),1)
4152 self.assertEqual(p.a.flintstones[1].wilma.value(),2)
4155 Process._firstProcess =
True 4157 p.a = EDAnalyzer(
"MyAnalyzer", fred = vuint32(1,2,3))
4158 m1.toModify(p.a, fred = {1:7})
4159 self.assertEqual(p.a.fred[0],1)
4160 self.assertEqual(p.a.fred[1],7)
4161 self.assertEqual(p.a.fred[2],3)
4164 Process._firstProcess =
True 4166 p.a = EDAnalyzer(
"MyAnalyzer", fred = vuint32(1,2,3))
4168 try: m1.toModify(p.a, fred = {5:7})
4169 except IndexError
as e: raised =
True 4170 self.assertEqual(raised,
True)
4173 Process._firstProcess =
True 4175 p.a = EDAnalyzer(
"MyAnalyzer", flintstones =
VPSet(PSet(fred = int32(1)), PSet(wilma = int32(1))))
4177 try: m1.toModify(p.a, flintstones = dict(bogus = int32(37)))
4178 except TypeError
as e: raised =
True 4179 self.assertEqual(raised,
True)
4183 class ProcModifierMod(
object):
4185 self.proc_mod_ = modifier.makeProcessModifier(func)
4188 self.a = EDAnalyzer(
"Dummy")
4189 testMod = DummyMod()
4191 self.assertTrue(hasattr(p,
"a"))
4193 Process._firstProcess =
True 4195 testProcMod = ProcModifierMod(m1,_rem_a)
4197 p.extend(testProcMod)
4198 self.assertTrue(
not hasattr(p,
"a"))
4201 mc = ModifierChain(m1)
4202 Process._firstProcess =
True 4204 self.assertTrue(p.isUsingModifier(m1))
4205 self.assertTrue(p.isUsingModifier(mc))
4206 testMod = DummyMod()
4207 p.b = EDAnalyzer(
"Dummy2", fred = int32(1))
4208 m1.toModify(p.b, fred = int32(3))
4210 testProcMod = ProcModifierMod(m1,_rem_a)
4211 p.extend(testProcMod)
4212 self.assertTrue(
not hasattr(p,
"a"))
4213 self.assertEqual(p.b.fred.value(),3)
4217 mc = ModifierChain(m1,m2)
4218 mclone = mc.copyAndExclude([m2])
4219 self.assertTrue(
not mclone._isOrContains(m2))
4220 self.assertTrue(mclone._isOrContains(m1))
4222 mc2 = ModifierChain(mc,m3)
4223 mclone = mc2.copyAndExclude([m2])
4224 self.assertTrue(
not mclone._isOrContains(m2))
4225 self.assertTrue(mclone._isOrContains(m1))
4226 self.assertTrue(mclone._isOrContains(m3))
4230 Process._firstProcess =
True 4232 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4233 (m1 & m2).toModify(p.a, fred = int32(2))
4234 self.assertRaises(TypeError,
lambda: (m1 & m2).toModify(p.a, 1, wilma=2))
4235 self.assertEqual(p.a.fred, 1)
4238 Process._firstProcess =
True 4240 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4241 (m1 & m2).toModify(p.a, fred = int32(2))
4242 self.assertEqual(p.a.fred, 2)
4246 Process._firstProcess =
True 4248 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4249 (m1 & m2 & m3).toModify(p.a, fred = int32(2))
4250 self.assertEqual(p.a.fred, 2)
4251 (m1 & (m2 & m3)).toModify(p.a, fred = int32(3))
4252 self.assertEqual(p.a.fred, 3)
4253 ((m1 & m2) & m3).toModify(p.a, fred = int32(4))
4254 self.assertEqual(p.a.fred, 4)
4258 Process._firstProcess =
True 4260 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4261 (~m1).toModify(p.a, fred=2)
4262 self.assertEqual(p.a.fred, 1)
4263 (~m2).toModify(p.a, wilma=2)
4264 self.assertEqual(p.a.wilma, 2)
4265 self.assertRaises(TypeError,
lambda: (~m1).toModify(p.a, 1, wilma=2))
4266 self.assertRaises(TypeError,
lambda: (~m2).toModify(p.a, 1, wilma=2))
4271 Process._firstProcess =
True 4273 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4274 (m1 | m2).toModify(p.a, fred=2)
4275 self.assertEqual(p.a.fred, 2)
4276 (m1 | m2 | m3).toModify(p.a, fred=3)
4277 self.assertEqual(p.a.fred, 3)
4278 (m3 | m2 | m1).toModify(p.a, fred=4)
4279 self.assertEqual(p.a.fred, 4)
4280 ((m1 | m2) | m3).toModify(p.a, fred=5)
4281 self.assertEqual(p.a.fred, 5)
4282 (m1 | (m2 | m3)).toModify(p.a, fred=6)
4283 self.assertEqual(p.a.fred, 6)
4284 (m2 | m3).toModify(p.a, fred=7)
4285 self.assertEqual(p.a.fred, 6)
4286 self.assertRaises(TypeError,
lambda: (m1 | m2).toModify(p.a, 1, wilma=2))
4287 self.assertRaises(TypeError,
lambda: (m2 | m3).toModify(p.a, 1, wilma=2))
4293 Process._firstProcess =
True 4295 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4296 (m1 & ~m2).toModify(p.a, fred=2)
4297 self.assertEqual(p.a.fred, 1)
4298 (m1 & ~m3).toModify(p.a, fred=2)
4299 self.assertEqual(p.a.fred, 2)
4300 (m1 | ~m2).toModify(p.a, fred=3)
4301 self.assertEqual(p.a.fred, 3)
4302 (~m1 | ~m2).toModify(p.a, fred=4)
4303 self.assertEqual(p.a.fred, 3)
4304 (~m3 & ~m4).toModify(p.a, fred=4)
4305 self.assertEqual(p.a.fred, 4)
4306 ((m1 & m3) | ~m4).toModify(p.a, fred=5)
4307 self.assertEqual(p.a.fred, 5)
4310 Process._firstProcess =
True 4312 p.a =EDAnalyzer(
"MyAnalyzer", fred = int32(1))
4313 m1.toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer", wilma = int32(3)))
4314 self.assertRaises(TypeError,
lambda: m1.toReplaceWith(p.a, EDProducer(
"YourProducer")))
4316 p.b =EDAnalyzer(
"BAn")
4317 p.c =EDProducer(
"c")
4318 p.d =EDProducer(
"d")
4322 m1.toReplaceWith(p.s,
Sequence(p.a+p.b, p.td))
4323 self.assertEqual(p.a.wilma.value(),3)
4324 self.assertEqual(p.a.type_(),
"YourAnalyzer")
4325 self.assertEqual(hasattr(p,
"fred"),
False)
4326 self.assertTrue(p.s.dumpPython() ==
"cms.Sequence(process.a+process.b, process.td)\n")
4327 p.e =EDProducer(
"e")
4328 m1.toReplaceWith(p.td, Task(p.e))
4329 self.assertTrue(p.td._collection ==
OrderedSet([p.e]))
4331 p.b =EDAnalyzer(
"BAn")
4332 p.c =EDProducer(
"c")
4333 p.d =EDProducer(
"d")
4336 p.tc = ConditionalTask(p.c)
4337 p.td = ConditionalTask(p.d)
4339 m1.toReplaceWith(p.s,
Sequence(p.a+p.b, p.td))
4340 self.assertEqual(p.a.wilma.value(),3)
4341 self.assertEqual(p.a.type_(),
"YourAnalyzer")
4342 self.assertEqual(hasattr(p,
"fred"),
False)
4343 self.assertTrue(p.s.dumpPython() ==
"cms.Sequence(process.a+process.b, process.td)\n")
4344 p.e =EDProducer(
"e")
4345 m1.toReplaceWith(p.td, ConditionalTask(p.e))
4346 self.assertTrue(p.td._collection ==
OrderedSet([p.e]))
4349 Process._firstProcess =
True 4351 p.a =EDAnalyzer(
"MyAnalyzer", fred = int32(1))
4352 m1.toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer", wilma = int32(3)))
4353 self.assertEqual(p.a.type_(),
"MyAnalyzer")
4359 Process._firstProcess =
True 4361 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4362 self.assertRaises(TypeError,
lambda: (m1 & m2).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4363 self.assertRaises(TypeError,
lambda: (m3 & m4).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4364 self.assertRaises(TypeError,
lambda: (~m3).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4365 self.assertRaises(TypeError,
lambda: (~m1).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4366 self.assertRaises(TypeError,
lambda: (m1 | m3).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4367 self.assertRaises(TypeError,
lambda: (m3 | m4).toReplaceWith(p.a, EDProducer(
"YourProducer")))
4368 (m1 & m2).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer1"))
4369 self.assertEqual(p.a.type_(),
"YourAnalyzer1")
4370 (m1 & m3).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer2"))
4371 self.assertEqual(p.a.type_(),
"YourAnalyzer1")
4372 (~m1).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer2"))
4373 self.assertEqual(p.a.type_(),
"YourAnalyzer1")
4374 (~m3).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer2"))
4375 self.assertEqual(p.a.type_(),
"YourAnalyzer2")
4376 (m1 | m3).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer3"))
4377 self.assertEqual(p.a.type_(),
"YourAnalyzer3")
4378 (m3 | m4).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer4"))
4379 self.assertEqual(p.a.type_(),
"YourAnalyzer3")
4384 Process._firstProcess =
True 4386 p.a = EDAnalyzer(
"MyAnalyzer", fred = int32(1), wilma = int32(1))
4387 p.b = EDProducer(
"MyProducer", barney = int32(1), betty = int32(1))
4388 (m1 & m2).toModify(p.a, fred = 2).toModify(p.b, betty = 3)
4389 self.assertEqual(p.a.fred, 2)
4390 self.assertEqual(p.a.wilma, 1)
4391 self.assertEqual(p.b.barney, 1)
4392 self.assertEqual(p.b.betty, 3)
4393 (m1 | m3).toModify(p.a, wilma = 4).toModify(p.b, barney = 5)
4394 self.assertEqual(p.a.fred, 2)
4395 self.assertEqual(p.a.wilma, 4)
4396 self.assertEqual(p.b.barney, 5)
4397 self.assertEqual(p.b.betty, 3)
4398 (m2 & ~m3).toReplaceWith(p.a, EDAnalyzer(
"YourAnalyzer")).toModify(p.b, barney = 6)
4399 self.assertEqual(p.a.type_(),
"YourAnalyzer")
4400 self.assertEqual(p.b.barney, 6)
4401 self.assertEqual(p.b.betty, 3)
4402 (m1 & ~m3).toModify(p.a, param=int32(42)).toReplaceWith(p.b, EDProducer(
"YourProducer"))
4403 self.assertEqual(p.a.type_(),
"YourAnalyzer")
4404 self.assertEqual(p.a.param, 42)
4405 self.assertEqual(p.b.type_(),
"YourProducer")
4408 a = EDAlias(foo2 =
VPSet(PSet(type =
string(
"Foo2"))))
4412 m.toModify(a, foo2 = {0: dict(type =
"Foo3")})
4413 self.assertEqual(a.foo2[0].type,
"Foo3")
4415 m.toModify(a, foo4 =
VPSet(PSet(type =
string(
"Foo4"))))
4416 self.assertEqual(a.foo2[0].type,
"Foo3")
4417 self.assertEqual(a.foo4[0].type,
"Foo4")
4419 m.toModify(a, foo2 =
None)
4420 self.assertFalse(hasattr(a,
"foo2"))
4421 self.assertEqual(a.foo4[0].type,
"Foo4")
4423 m.toReplaceWith(a, EDAlias(bar =
VPSet(PSet(type =
string(
"Bar")))))
4424 self.assertFalse(hasattr(a,
"foo2"))
4425 self.assertFalse(hasattr(a,
"foo4"))
4426 self.assertTrue(hasattr(a,
"bar"))
4427 self.assertEqual(a.bar[0].type,
"Bar")
4430 sp = SwitchProducerTest(test1 = EDProducer(
"Foo",
4432 b = PSet(c = int32(2))),
4433 test2 = EDProducer(
"Bar",
4435 bb = PSet(cc = int32(12))))
4440 test1 = dict(a = 4, b = dict(c =
None)),
4441 test2 = dict(aa = 15, bb = dict(cc = 45, dd =
string(
"foo"))))
4442 self.assertEqual(sp.test1.a.value(), 4)
4443 self.assertEqual(sp.test1.b.hasParameter(
"c"),
False)
4444 self.assertEqual(sp.test2.aa.value(), 15)
4445 self.assertEqual(sp.test2.bb.cc.value(), 45)
4446 self.assertEqual(sp.test2.bb.dd.value(),
"foo")
4448 m.toReplaceWith(sp.test1, EDProducer(
"Fred", x = int32(42)))
4449 self.assertEqual(sp.test1.type_(),
"Fred")
4450 self.assertEqual(sp.test1.x.value(), 42)
4451 self.assertRaises(TypeError,
lambda: m.toReplaceWith(sp.test1, EDAnalyzer(
"Foo")))
4453 m.toModify(sp, test2 = EDProducer(
"Xyzzy", x = int32(24)))
4454 self.assertEqual(sp.test2.type_(),
"Xyzzy")
4455 self.assertEqual(sp.test2.x.value(), 24)
4456 self.assertRaises(TypeError,
lambda: m.toModify(sp, test2 = EDAnalyzer(
"Foo")))
4458 m.toModify(sp, test3 = EDProducer(
"Wilma", y = int32(24)))
4459 self.assertEqual(sp.test3.type_(),
"Wilma")
4460 self.assertEqual(sp.test3.y.value(), 24)
4461 self.assertRaises(TypeError,
lambda: m.toModify(sp, test4 = EDAnalyzer(
"Foo")))
4463 m.toModify(sp, test2 =
None)
4464 self.assertEqual(hasattr(sp,
"test2"),
False)
4466 m.toModify(sp, test2 = EDAlias(foo =
VPSet(PSet(type =
string(
"int")))))
4467 self.assertTrue(hasattr(sp.test2,
"foo"))
4469 m.toReplaceWith(sp.test2, EDAlias(bar =
VPSet(PSet(type =
string(
"int")))))
4470 self.assertTrue(hasattr(sp.test2,
"bar"))
4472 m.toModify(sp, test2 = EDAlias(xyzzy =
VPSet(PSet(type =
string(
"int")))))
4473 self.assertTrue(hasattr(sp.test2,
"xyzzy"))
4475 self.assertRaises(TypeError,
lambda: m.toReplaceWith(sp.test2, EDProducer(
"Foo")))
4476 m.toModify(sp, test2 = EDProducer(
"Foo"))
def __init__(self, dataset, job_number, job_id, job_name, isDA, isMC, applyBOWS, applyEXTRACOND, extraconditions, runboundary, lumilist, intlumi, maxevents, gt, allFromGT, alignmentDB, alignmentTAG, apeDB, apeTAG, bowDB, bowTAG, vertextype, tracktype, refittertype, ttrhtype, applyruncontrol, ptcut, CMSSW_dir, the_dir)