Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:30

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from L1Trigger.Phase2L1ParticleFlow.l1tDeregionizerProducer_cfi import l1tDeregionizerProducer as l1tLayer2Deregionizer
0004 
0005 l1tLayer2EG = cms.EDProducer(
0006     "L1TCtL2EgProducer",
0007     tkElectrons=cms.VPSet(
0008         cms.PSet(
0009             pfProducer=cms.InputTag("l1tLayer1HGCal", 'L1TkElePerBoard'),
0010             regions=cms.vint32(3, 4)
0011         ),
0012         cms.PSet(
0013             pfProducer=cms.InputTag("l1tLayer1Barrel", 'L1TkElePerBoard'),
0014             regions=cms.vint32(0, 1, 2)
0015         ),
0016     ),
0017     tkEms=cms.VPSet(
0018         cms.PSet(
0019             pfProducer=cms.InputTag("l1tLayer1HGCal", 'L1TkEmPerBoard'),
0020             regions=cms.vint32(3, 4)
0021         ),
0022         cms.PSet(
0023             pfProducer=cms.InputTag("l1tLayer1HGCalNoTK", 'L1TkEmPerBoard'),
0024             regions=cms.vint32(-1)
0025         ),
0026         cms.PSet(
0027             pfProducer=cms.InputTag("l1tLayer1Barrel", 'L1TkEmPerBoard'),
0028             regions=cms.vint32(0, 1, 2)
0029         ),
0030     ),
0031     tkEgs=cms.VPSet(
0032         cms.PSet(
0033             pfProducer=cms.InputTag("l1tLayer1HGCal", 'L1Eg'),
0034             regions=cms.vint32(-1)
0035         ),
0036         cms.PSet(
0037             pfProducer=cms.InputTag("l1tLayer1HGCalNoTK", 'L1Eg'),
0038             regions=cms.vint32(-1)
0039         ),
0040     ),
0041     l1PFObjects = cms.InputTag("l1tLayer2Deregionizer", "Puppi"),
0042     egStaInstanceLabel=cms.string("L1CtEgEE"),
0043     tkEmInstanceLabel=cms.string("L1CtTkEm"),
0044     tkEleInstanceLabel=cms.string("L1CtTkElectron"),
0045     sorter=cms.PSet(
0046         nREGIONS=cms.uint32(5),
0047         nEGPerRegion=cms.uint32(16),
0048         nEGOut=cms.uint32(12),
0049         debug=cms.untracked.uint32(0),
0050     ),
0051     encoder=cms.PSet(
0052         nTKELE_OUT=cms.uint32(12),
0053         nTKPHO_OUT=cms.uint32(12),
0054     ),
0055     puppiIsoParametersTkEm = cms.PSet(
0056         pfIsoType = cms.string("PUPPI"),
0057         pfPtMin = cms.double(1.),
0058         dZ = cms.double(0.6),
0059         dRMin = cms.double(0.07),
0060         dRMax = cms.double(0.3),
0061         pfCandReuse = cms.bool(True)
0062     ),
0063     puppiIsoParametersTkEle = cms.PSet(
0064         pfIsoType = cms.string("PUPPI"),
0065         pfPtMin = cms.double(1.),
0066         dZ = cms.double(0.6),
0067         dRMin = cms.double(0.03),
0068         dRMax = cms.double(0.2),
0069         pfCandReuse = cms.bool(True)
0070     ),
0071     writeInPattern=cms.bool(False),
0072     writeOutPattern=cms.bool(False),
0073     inPatternFile=cms.PSet(
0074         nFramesPerBX=cms.uint32(9),  # 360 MHz clock or 25 Gb/s link
0075         format=cms.string("EMPv2"),
0076         outputFilename=cms.string("L1TCTL2EG_InPattern"),
0077         outputFileExtension=cms.string("txt.gz"),
0078         TMUX=cms.uint32(6),
0079         maxLinesPerFile=cms.uint32(1024),
0080         eventsPerFile=cms.uint32(12),
0081         channels=cms.VPSet(
0082             cms.PSet(
0083                 TMUX=cms.uint32(6),
0084                 nWords=cms.uint32(48),  # = 16*2words ele + 16words photons
0085                 interface=cms.string("eglayer1Barrel"),
0086                 id=cms.uint32(0),
0087                 channels=cms.vuint32(0)
0088                 ),
0089             cms.PSet(
0090                 TMUX=cms.uint32(6),
0091                 nWords=cms.uint32(48),
0092                 interface=cms.string("eglayer1Barrel"),
0093                 id=cms.uint32(1),
0094                 channels=cms.vuint32(1)
0095                 ),
0096             cms.PSet(
0097                 TMUX=cms.uint32(6),
0098                 nWords=cms.uint32(48),
0099                 interface=cms.string("eglayer1Barrel"),
0100                 id=cms.uint32(2),
0101                 channels=cms.vuint32(2)
0102                 ),
0103             cms.PSet(
0104                 TMUX=cms.uint32(6),
0105                 nWords=cms.uint32(48),
0106                 interface=cms.string("eglayer1Endcap"),
0107                 id=cms.uint32(3),
0108                 channels=cms.vuint32(3)
0109                 ),
0110             cms.PSet(
0111                 TMUX=cms.uint32(6),
0112                 nWords=cms.uint32(48),
0113                 interface=cms.string("eglayer1Endcap"),
0114                 id=cms.uint32(4),
0115                 channels=cms.vuint32(4)
0116                 ),
0117 
0118         )
0119     ),
0120     outPatternFile=cms.PSet(
0121         nFramesPerBX=cms.uint32(9),  # 360 MHz clock or 25 Gb/s link
0122         format=cms.string("EMPv2"),
0123         outputFilename=cms.string("L1TCTL2EG_OutPattern"),
0124         outputFileExtension=cms.string("txt.gz"),
0125         TMUX=cms.uint32(6),
0126         maxLinesPerFile=cms.uint32(1024),
0127         eventsPerFile=cms.uint32(12),
0128         channels=cms.VPSet(
0129             cms.PSet(
0130                 TMUX=cms.uint32(6),
0131                 nWords=cms.uint32(36),  # 36 = 12*3/2words ele + 12*3/2words photons
0132                 interface=cms.string("eglayer2"),
0133                 id=cms.uint32(0),
0134                 channels=cms.vuint32(0)
0135                 )
0136         )
0137     ),
0138     # NOTE: to write out the GT input from 6TS 
0139     # outPatternFile=cms.PSet(
0140     #     nFramesPerBX=cms.uint32(9),  # 360 MHz clock or 25 Gb/s link
0141     #     format=cms.string("EMPv2"),
0142     #     outputFilename=cms.string("L1TCTL2EG_ToGTPattern"),
0143     #     outputFileExtension=cms.string("txt.gz"),
0144     #     TMUX=cms.uint32(1),
0145     #     maxLinesPerFile=cms.uint32(1024),
0146     #     channels=cms.VPSet(
0147     #         cms.PSet(
0148     #             TMUX=cms.uint32(6),
0149     #             nWords=cms.uint32(36),  # 36 = 12*3/2words ele + 12*3/2words phhotons
0150     #             interface=cms.string("eglayer2"),
0151     #             id=cms.uint32(0),
0152     #             channels=cms.vuint32(0, 1, 2, 3, 4, 5)
0153     #             )
0154     #     )
0155     # )
0156 )
0157 
0158 l1tLayer2EGElliptic = l1tLayer2EG.clone(
0159      tkElectrons=cms.VPSet(
0160         cms.PSet(
0161             pfProducer=cms.InputTag("l1tLayer1HGCalElliptic", 'L1TkElePerBoard'),
0162             regions=cms.vint32(3, 4)
0163         ),
0164         cms.PSet(
0165             pfProducer=cms.InputTag("l1tLayer1Barrel", 'L1TkElePerBoard'),
0166             regions=cms.vint32(0, 1, 2)
0167         ),
0168     ),
0169     tkEms=cms.VPSet(
0170         cms.PSet(
0171             pfProducer=cms.InputTag("l1tLayer1HGCalElliptic", 'L1TkEmPerBoard'),
0172             regions=cms.vint32(3, 4)
0173         ),
0174         cms.PSet(
0175             pfProducer=cms.InputTag("l1tLayer1HGCalNoTK", 'L1TkEmPerBoard'),
0176             regions=cms.vint32(-1)
0177         ),
0178         cms.PSet(
0179             pfProducer=cms.InputTag("l1tLayer1Barrel", 'L1TkEmPerBoard'),
0180             regions=cms.vint32(0, 1, 2)
0181         ),
0182     ),
0183     tkEgs=cms.VPSet(
0184         cms.PSet(
0185             pfProducer=cms.InputTag("l1tLayer1HGCalElliptic", 'L1Eg'),
0186             regions=cms.vint32(-1)
0187         ),
0188         cms.PSet(
0189             pfProducer=cms.InputTag("l1tLayer1HGCalNoTK", 'L1Eg'),
0190             regions=cms.vint32(-1)
0191         ),
0192     ),
0193 )
0194 
0195 # EG Layer2 with Layer1 @ TMUX18
0196 l1tLayer2EGTM18 = l1tLayer2EG.clone(
0197     tkElectrons=cms.VPSet(
0198         cms.PSet(
0199             pfProducer=cms.InputTag("l1tLayer1HGCalTM18", 'L1TkElePerBoard'),
0200             regions=cms.vint32(3, 4)
0201         ),
0202         cms.PSet(
0203             pfProducer=cms.InputTag("l1tLayer1BarrelSerenityTM18", 'L1TkElePerBoard'),
0204             regions=cms.vint32(0, 1, 2)
0205         ),
0206     ),
0207     tkEms=cms.VPSet(
0208         cms.PSet(
0209             pfProducer=cms.InputTag("l1tLayer1HGCalTM18", 'L1TkEmPerBoard'),
0210             regions=cms.vint32(3, 4)
0211         ),
0212         cms.PSet(
0213             pfProducer=cms.InputTag("l1tLayer1HGCalNoTKTM18", 'L1TkEmPerBoard'),
0214             regions=cms.vint32(-1)
0215         ),
0216         cms.PSet(
0217             pfProducer=cms.InputTag("l1tLayer1BarrelSerenityTM18", 'L1TkEmPerBoard'),
0218             regions=cms.vint32(0, 1, 2)
0219         ),
0220     ),
0221     tkEgs=cms.VPSet(
0222         cms.PSet(
0223             pfProducer=cms.InputTag("l1tLayer1HGCalTM18", 'L1Eg'),
0224             regions=cms.vint32(-1)
0225         ),
0226         cms.PSet(
0227             pfProducer=cms.InputTag("l1tLayer1HGCalNoTKTM18", 'L1Eg'),
0228             regions=cms.vint32(-1)
0229         ),
0230     ),
0231 )
0232 
0233 l1tLayer2EGTM18.inPatternFile.outputFilename = "L1TCTL2EG_TMUX18_InPattern"
0234 l1tLayer2EGTM18.inPatternFile.channels = cms.VPSet(
0235     cms.PSet(
0236         TMUX=cms.uint32(18),
0237         nWords=cms.uint32(156),  # = (16*2words ele + 16words photons) * 3 (regions) every 6 BX (54 words) = 48+6(empty)+48+6(empty)+48 = 156
0238         interface=cms.string("eglayer1Barrel"),
0239         id=cms.uint32(0),
0240         channels=cms.vuint32(0,2,4)
0241         ),
0242     cms.PSet(
0243         TMUX=cms.uint32(18),
0244         nWords=cms.uint32(129), # (16*2words ele + 16words photons) * 2 (regions) every 9 BX (81 words) = 48+33(empty)+48
0245         interface=cms.string("eglayer1Endcap"),
0246         id=cms.uint32(1),
0247         channels=cms.vuint32(1,3,5)
0248         ),
0249 )
0250 l1tLayer2EGTM18.outPatternFile.outputFilename = 'L1TCTL2EG_TMUX18_OutPattern'
0251 # FIXME: we need to schedule a new deregionizer for TM18
0252 # l1tLayer2EGTM18.l1PFObjects = cms.InputTag("l1tLayer2Deregionizer", "Puppi"),
0253 
0254 
0255 L1TLayer2EGTask = cms.Task(
0256      l1tLayer2Deregionizer,
0257      l1tLayer2EG,
0258      l1tLayer2EGElliptic
0259 )