File indexing completed on 2024-04-06 12:12:38
0001 import FWCore.ParameterSet.Config as cms
0002
0003 process = cms.Process("PROD")
0004
0005 process.options = cms.untracked.PSet(
0006 numberOfStreams = cms.untracked.uint32(1)
0007 )
0008
0009 process.maxEvents = cms.untracked.PSet(
0010 input = cms.untracked.int32(3)
0011 )
0012
0013 process.source = cms.Source("EmptySource")
0014
0015 process.WhatsItESProducer = cms.ESProducer("WhatsItESProducer")
0016
0017 process.DoodadESSource = cms.ESSource("DoodadESSource")
0018
0019 process.thingProducer = cms.EDProducer(
0020 "DetSetVectorThingProducer",
0021 offsetDelta = cms.int32(100),
0022 nThings = cms.int32(50),
0023 detSets = cms.vint32(1,2,3)
0024 )
0025
0026 process.anotherThingProducer = cms.EDProducer("DetSetVectorThingProducer",
0027 offsetDelta = cms.int32(100),
0028 nThings = cms.int32(50),
0029 detSets = cms.vint32(1,2,3)
0030 )
0031
0032 process.thirdThingProducer = cms.EDProducer("DetSetVectorThingProducer",
0033 offsetDelta = cms.int32(100),
0034 nThings = cms.int32(50),
0035 detSets = cms.vint32(1,2,3)
0036 )
0037
0038 process.trackOfThingsProducerA = cms.EDProducer("TrackOfDSVThingsProducer",
0039 inputTag = cms.InputTag('thingProducer'),
0040 keysToReference = cms.vuint32(
0041 list(range(0,9)) +
0042 list(range(50,59)) +
0043 list(range(100,109))
0044 ),
0045 nTracks = cms.uint32(8*3)
0046 )
0047
0048 process.trackOfAnotherThingsProducerA = cms.EDProducer("TrackOfDSVThingsProducer",
0049 inputTag = cms.InputTag('anotherThingProducer'),
0050 keysToReference = cms.vuint32(
0051 list(range(0,5)) +
0052 list(range(50,55)) +
0053 list(range(100,105))
0054 ),
0055 nTracks = cms.uint32(4*3)
0056 )
0057
0058 process.trackOfThirdThingsProducerA = cms.EDProducer("TrackOfDSVThingsProducer",
0059 inputTag = cms.InputTag('thirdThingProducer'),
0060 keysToReference = cms.vuint32(
0061 list(range(0,3)) +
0062 list(range(50,53)) +
0063 list(range(100,103))
0064 ),
0065 nTracks = cms.uint32(2*3)
0066 )
0067
0068 process.thinningThingProducerA = cms.EDProducer("ThinningDSVThingProducer",
0069 inputTag = cms.InputTag('thingProducer'),
0070 trackTag = cms.InputTag('trackOfThingsProducerA'),
0071 expectedDetSets = cms.uint32(3),
0072 expectedDetSetSize = cms.uint32(50),
0073 )
0074
0075 process.slimmingThingProducerA = cms.EDProducer("SlimmingDSVThingProducer",
0076 inputTag = cms.InputTag('thingProducer'),
0077 trackTag = cms.InputTag('trackOfThingsProducerA'),
0078 offsetToThinnedKey = cms.uint32(0),
0079 expectedDetSets = cms.uint32(3),
0080 expectedDetSetSize = cms.uint32(50),
0081 )
0082
0083 process.thinningAnotherThingProducerA = cms.EDProducer("ThinningDSVThingProducer",
0084 inputTag = cms.InputTag('anotherThingProducer'),
0085 trackTag = cms.InputTag('trackOfThingsProducerA'),
0086 expectedDetSets = cms.uint32(3),
0087 expectedDetSetSize = cms.uint32(50),
0088 thinnedRefSetIgnoreInvalidParentRef = cms.bool(True),
0089 )
0090
0091 process.thinningAnotherThingProducerA2 = cms.EDProducer("ThinningDSVThingProducer",
0092 inputTag = cms.InputTag('thingProducer'),
0093 trackTag = cms.InputTag('trackOfAnotherThingsProducerA'),
0094 expectedDetSets = cms.uint32(3),
0095 expectedDetSetSize = cms.uint32(50),
0096 thinnedRefSetIgnoreInvalidParentRef = cms.bool(True),
0097 )
0098
0099 process.thinningAnotherThingProducerA3 = cms.EDProducer("ThinningDSVThingProducer",
0100 inputTag = cms.InputTag('anotherThingProducer'),
0101 trackTag = cms.InputTag('trackOfThirdThingsProducerA'),
0102 expectedDetSets = cms.uint32(3),
0103 expectedDetSetSize = cms.uint32(50),
0104 thinnedRefSetIgnoreInvalidParentRef = cms.bool(True),
0105 )
0106
0107 process.testA = cms.EDAnalyzer("ThinningDSVTestAnalyzer",
0108 parentTag = cms.InputTag('thingProducer'),
0109 thinnedTag = cms.InputTag('thinningThingProducerA'),
0110 associationTag = cms.InputTag('thinningThingProducerA'),
0111 trackTag = cms.InputTag('trackOfThingsProducerA'),
0112 expectedParentContent = cms.VPSet(
0113 cms.PSet(id = cms.uint32(1), values = cms.vint32(range(0,50))),
0114 cms.PSet(id = cms.uint32(2), values = cms.vint32(range(50,100))),
0115 cms.PSet(id = cms.uint32(3), values = cms.vint32(range(100,150))),
0116 ),
0117 expectedThinnedContent = cms.VPSet(
0118 cms.PSet(id = cms.uint32(1), values = cms.vint32(range(0,9))),
0119 cms.PSet(id = cms.uint32(2), values = cms.vint32(range(50,59))),
0120 cms.PSet(id = cms.uint32(3), values = cms.vint32(range(100,109))),
0121 ),
0122 expectedIndexesIntoParent = cms.vuint32(
0123 list(range(0,9)) +
0124 list(range(50,59)) +
0125 list(range(100,109))
0126 ),
0127 expectedNumberOfTracks = cms.uint32(8*3),
0128 expectedValues = cms.vint32(
0129 list(range(0,9)) +
0130 list(range(50,59)) +
0131 list(range(100,109))
0132 )
0133 )
0134
0135 process.slimmingTestA = cms.EDAnalyzer("ThinningDSVTestAnalyzer",
0136 parentTag = cms.InputTag('thingProducer'),
0137 thinnedTag = cms.InputTag('slimmingThingProducerA'),
0138 associationTag = cms.InputTag('slimmingThingProducerA'),
0139 trackTag = cms.InputTag('trackOfThingsProducerA'),
0140 thinnedSlimmedCount = cms.int32(1),
0141 expectedParentContent = cms.VPSet(
0142 cms.PSet(id = cms.uint32(1), values = cms.vint32(range(0,50))),
0143 cms.PSet(id = cms.uint32(2), values = cms.vint32(range(50,100))),
0144 cms.PSet(id = cms.uint32(3), values = cms.vint32(range(100,150))),
0145 ),
0146 expectedThinnedContent = cms.VPSet(
0147 cms.PSet(id = cms.uint32(1), values = cms.vint32(range(0,9))),
0148 cms.PSet(id = cms.uint32(2), values = cms.vint32(range(50,59))),
0149 cms.PSet(id = cms.uint32(3), values = cms.vint32(range(100,109))),
0150 ),
0151 expectedIndexesIntoParent = cms.vuint32(
0152 list(range(0,9)) +
0153 list(range(50,59)) +
0154 list(range(100,109))
0155 ),
0156 expectedNumberOfTracks = cms.uint32(8*3),
0157 expectedValues = cms.vint32(
0158 list(range(0,9)) +
0159 list(range(50,59)) +
0160 list(range(100,109))
0161 )
0162 )
0163
0164 process.anotherTestA = cms.EDAnalyzer("ThinningDSVTestAnalyzer",
0165 parentTag = cms.InputTag('anotherThingProducer'),
0166 thinnedTag = cms.InputTag('thinningAnotherThingProducerA'),
0167 associationTag = cms.InputTag('thinningAnotherThingProducerA'),
0168 trackTag = cms.InputTag('trackOfThingsProducerA'),
0169 expectedParentContent = cms.VPSet(),
0170 expectedThinnedContent = cms.VPSet(),
0171 expectedIndexesIntoParent = cms.vuint32(),
0172 expectedNumberOfTracks = cms.uint32(8*3),
0173 expectedValues = cms.vint32()
0174 )
0175
0176 process.anotherTestA2 = cms.EDAnalyzer("ThinningDSVTestAnalyzer",
0177 parentTag = cms.InputTag('thingProducer'),
0178 thinnedTag = cms.InputTag('thinningAnotherThingProducerA2'),
0179 associationTag = cms.InputTag('thinningAnotherThingProducerA2'),
0180 trackTag = cms.InputTag('trackOfAnotherThingsProducerA'),
0181 expectedParentContent = cms.VPSet(),
0182 expectedThinnedContent = cms.VPSet(),
0183 expectedIndexesIntoParent = cms.vuint32(),
0184 expectedNumberOfTracks = cms.uint32(4*3),
0185 expectedValues = cms.vint32()
0186 )
0187
0188 process.anotherTestA3 = cms.EDAnalyzer("ThinningDSVTestAnalyzer",
0189 parentTag = cms.InputTag('anotherThingProducer'),
0190 thinnedTag = cms.InputTag('thinningAnotherThingProducerA3'),
0191 associationTag = cms.InputTag('thinningAnotherThingProducerA3'),
0192 trackTag = cms.InputTag('trackOfThirdThingsProducerA'),
0193 expectedParentContent = cms.VPSet(),
0194 expectedThinnedContent = cms.VPSet(),
0195 expectedIndexesIntoParent = cms.vuint32(),
0196 expectedNumberOfTracks = cms.uint32(2*3),
0197 expectedValues = cms.vint32()
0198 )
0199
0200 process.out = cms.OutputModule("PoolOutputModule",
0201 fileName = cms.untracked.string('testDetSetVectorThinningTest1.root'),
0202 outputCommands = cms.untracked.vstring(
0203 'drop *',
0204 'keep *_trackOfThingsProducerA_*_*',
0205 'keep *_slimmingThingProducerA_*_*',
0206 )
0207 )
0208
0209 process.p = cms.Path(
0210 process.thingProducer
0211 * process.anotherThingProducer
0212 * process.thirdThingProducer
0213 * process.trackOfThingsProducerA
0214 * process.trackOfAnotherThingsProducerA
0215 * process.trackOfThirdThingsProducerA
0216 * process.thinningThingProducerA
0217 * process.slimmingThingProducerA
0218 * process.thinningAnotherThingProducerA
0219 * process.thinningAnotherThingProducerA2
0220 * process.thinningAnotherThingProducerA3
0221 * process.testA
0222 * process.slimmingTestA
0223 * process.anotherTestA
0224 * process.anotherTestA2
0225 * process.anotherTestA3
0226 )
0227
0228 process.ep = cms.EndPath(
0229 process.out
0230 )