Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-08-12 02:29:06

0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.common_cff import *
0003 
0004 ##############################
0005 # Unconverted Hardware Value #
0006 ##############################
0007 
0008 # subsets of hardware values which are converted to physical values
0009 # by default, L1ScoutingNano will store physical values
0010 
0011 # Muon
0012 l1scoutingMuonUnconvertedVariables = cms.PSet(
0013     hwPt = Var("hwPt()", "int", doc="hardware pt"),
0014     hwEta = Var("hwEta()", "int", doc="hardware eta"),
0015     hwPhi = Var("hwPhi()", "int", doc="hardware phi"),
0016     hwPtUnconstrained = Var("hwPtUnconstrained", "int", doc="harware unconstrained pt"),
0017     hwEtaAtVtx = Var("hwEtaAtVtx()", "int", doc="hardware eta extrapolated at beam line"),
0018     hwPhiAtVtx = Var("hwPhiAtVtx()", "int", doc="hardware phi extrapolated at beam line"),
0019 )
0020 
0021 # Calo objects
0022 l1scoutingCaloObjectUnconvertedVariables = cms.PSet(
0023     hwEt = Var("hwEt()", "int", doc="hardware Et"),
0024     hwEta = Var("hwEta()", "int", doc="hardware eta"),
0025     hwPhi = Var("hwPhi()", "int", doc="hardware phi"),
0026 )
0027 
0028 #################################################
0029 # Physical Value Conversion from Hardware Value #
0030 #################################################
0031 
0032 # Conversions for muon
0033 l1scoutingMuonConversions = cms.PSet(
0034     fPt = cms.PSet(func=cms.string("ugmt::fPt"), arg=cms.string("hwPt")),
0035     fEta = cms.PSet(func=cms.string("ugmt::fEta"), arg=cms.string("hwEta")),
0036     fPhi = cms.PSet(func=cms.string("ugmt::fPhi"), arg=cms.string("hwPhi")),
0037     fPtUnconstrained = cms.PSet(func=cms.string("ugmt::fPtUnconstrained"), arg=cms.string("hwPtUnconstrained")),
0038     fEtaAtVtx = cms.PSet(func=cms.string("ugmt::fEtaAtVtx"), arg=cms.string("hwEtaAtVtx")),
0039     fPhiAtVtx = cms.PSet(func=cms.string("ugmt::fPhiAtVtx"), arg=cms.string("hwPhiAtVtx"))
0040 )
0041 
0042 l1scoutingMuonPhysicalValueMap = cms.EDProducer("L1ScoutingMuonPhysicalValueMapProducer",
0043     src = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0044     conversions = l1scoutingMuonConversions
0045 )
0046 
0047 # Conversions for Calo objects (EGamma, Tau, Jet)
0048 l1scoutingCaloObjectConversions = cms.PSet(
0049     fEt = cms.PSet(func=cms.string("demux::fEt"), arg=cms.string("hwEt")),
0050     fEta = cms.PSet(func=cms.string("demux::fEta"), arg=cms.string("hwEta")),
0051     fPhi = cms.PSet(func=cms.string("demux::fPhi"), arg=cms.string("hwPhi")),
0052 )
0053 
0054 l1scoutingEGammaPhysicalValueMap = cms.EDProducer("L1ScoutingEGammaPhysicalValueMapProducer",
0055     src = cms.InputTag("l1ScCaloUnpacker", "EGamma"),
0056     conversions = l1scoutingCaloObjectConversions
0057 )
0058 
0059 l1scoutingTauPhysicalValueMap = cms.EDProducer("L1ScoutingTauPhysicalValueMapProducer",
0060     src = cms.InputTag("l1ScCaloUnpacker", "Tau"),
0061     conversions = l1scoutingCaloObjectConversions
0062 )
0063 
0064 l1scoutingJetPhysicalValueMap = cms.EDProducer("L1ScoutingJetPhysicalValueMapProducer",
0065     src = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0066     conversions = l1scoutingCaloObjectConversions
0067 )
0068 
0069 ####################
0070 # Table Definition #
0071 ####################
0072 
0073 # default event content for L1ScoutingNano
0074 # by default, L1ScoutingNano will store physical values
0075 
0076 # Muon
0077 l1scoutingMuonTable = cms.EDProducer("SimpleL1ScoutingMuonOrbitFlatTableProducer",
0078     src = cms.InputTag("l1ScGmtUnpacker", "Muon"),
0079     name = cms.string("L1Muon"),
0080     doc = cms.string("Muons from GMT"),
0081     singleton = cms.bool(False),
0082     extension = cms.bool(False),
0083     variables = cms.PSet(
0084         hwCharge = Var("hwCharge()", "int", doc="charge (0 = invalid)"),
0085         hwQuality = Var("hwQual()", "int", doc="quality"),
0086         tfMuonIndex = Var("tfMuonIndex()", "int", 
0087             doc="index of muon at the uGMT input. 3 indices per link/sector/wedge. EMTF+ are 0-17, OMTF+ are 18-35, BMTF are 36-71, OMTF- are 72-89, EMTF- are 90-107"),
0088     ),
0089     externalVariables = cms.PSet(
0090         pt = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fPt"), "float", doc="pt"),
0091         eta = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fEta"), "float", doc="eta"),
0092         phi = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fPhi"), "float", doc="phi"),
0093         ptUnconstrained = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fPtUnconstrained"), "float", doc="unconstrained pt"),
0094         etaAtVtx = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fEtaAtVtx"), "float", doc="eta extrapolated at beam line"),
0095         phiAtVtx = ExtVar(cms.InputTag("l1scoutingMuonPhysicalValueMap", "fPhiAtVtx"), "float", doc="phi extrapolated at beam line"),
0096     ),
0097 )
0098 
0099 # EGamma
0100 l1scoutingEGammaTable = cms.EDProducer("SimpleL1ScoutingEGammaOrbitFlatTableProducer",
0101     src = cms.InputTag("l1ScCaloUnpacker", "EGamma"),
0102     name = cms.string("L1EG"),
0103     doc = cms.string("EGammas from Calo Demux"),
0104     singleton = cms.bool(False),
0105     extension = cms.bool(False),
0106     variables = cms.PSet(
0107         hwIso = Var("hwIso()", "int", doc="hardware isolation (trigger units)")
0108     ),
0109     externalVariables = cms.PSet(
0110         pt = ExtVar(cms.InputTag("l1scoutingEGammaPhysicalValueMap", "fEt"), "float", doc="pt"),
0111         eta = ExtVar(cms.InputTag("l1scoutingEGammaPhysicalValueMap", "fEta"), "float", doc="eta"),
0112         phi = ExtVar(cms.InputTag("l1scoutingEGammaPhysicalValueMap", "fPhi"), "float", doc="phi"),
0113     ),
0114 )
0115 
0116 # Tau
0117 l1scoutingTauTable = cms.EDProducer("SimpleL1ScoutingTauOrbitFlatTableProducer",
0118     src = cms.InputTag("l1ScCaloUnpacker", "Tau"),
0119     name = cms.string("L1Tau"),
0120     doc = cms.string("Taus from Calo Demux"),
0121     singleton = cms.bool(False),
0122     extension = cms.bool(False),
0123     variables = cms.PSet(
0124         hwIso = Var("hwIso()", "int", doc="hardware isolation (trigger units)")
0125     ),
0126     externalVariables = cms.PSet(
0127         pt = ExtVar(cms.InputTag("l1scoutingTauPhysicalValueMap", "fEt"), "float", doc="pt"),
0128         eta = ExtVar(cms.InputTag("l1scoutingTauPhysicalValueMap", "fEta"), "float", doc="eta"),
0129         phi = ExtVar(cms.InputTag("l1scoutingTauPhysicalValueMap", "fPhi"), "float", doc="phi"),
0130     ),
0131 )
0132 
0133 # Jet
0134 l1scoutingJetTable = cms.EDProducer("SimpleL1ScoutingJetOrbitFlatTableProducer",
0135     src = cms.InputTag("l1ScCaloUnpacker", "Jet"),
0136     name = cms.string("L1Jet"),
0137     doc = cms.string("Jets from Calo Demux"),
0138     singleton = cms.bool(False),
0139     extension = cms.bool(False),
0140     skipNonExistingSrc = cms.bool(False),
0141     variables = cms.PSet(
0142         hwQual = Var("hwQual()", "int", doc="qualitiy"),
0143     ),
0144     externalVariables = cms.PSet(
0145         pt = ExtVar(cms.InputTag("l1scoutingJetPhysicalValueMap", "fEt"), "float", doc="pt"),
0146         eta = ExtVar(cms.InputTag("l1scoutingJetPhysicalValueMap", "fEta"), "float", doc="eta"),
0147         phi = ExtVar(cms.InputTag("l1scoutingJetPhysicalValueMap", "fPhi"), "float", doc="phi"),
0148     ),
0149 )
0150 
0151 # EtSum
0152 l1scoutingEtSumTable = cms.EDProducer("L1ScoutingEtSumOrbitFlatTableProducer",
0153     src = cms.InputTag("l1ScCaloUnpacker", "EtSum"),
0154     name = cms.string("L1EtSum"),
0155     doc = cms.string("EtSums from Calo Demux"),
0156     singleton = cms.bool(False),
0157     writePhysicalValues = cms.bool(True),
0158     writeHardwareValues = cms.bool(False),
0159     writeHF = cms.bool(True),
0160     writeAsym = cms.bool(False),
0161     writeMinBias = cms.bool(False),
0162     writeTowerCount = cms.bool(True),
0163     writeCentrality = cms.bool(False),
0164 )
0165 
0166 # BMTF Stub
0167 l1scoutingBMTFStubTable = cms.EDProducer("SimpleL1ScoutingBMTFStubOrbitFlatTableProducer",
0168     src = cms.InputTag("l1ScBMTFUnpacker", "BMTFStub"),
0169     name = cms.string("L1BMTFStub"),
0170     doc = cms.string("Stubs from BMTF"),
0171     singleton = cms.bool(False),
0172     extension = cms.bool(False),
0173     variables = cms.PSet(
0174         hwPhi = Var("hwPhi()", "int16", doc="hardware phi (raw L1T units)"),
0175         hwPhiB = Var("hwPhiB()", "int16", doc="hardware phiB (raw L1T units)"),
0176         hwQual = Var("hwQual()", "int16", doc="hardware quality (raw L1T units)"),
0177         hwEta = Var("hwEta()", "int16", doc="hardware eta (raw L1T units)"),
0178         hwQEta = Var("hwQEta()", "int16", doc="hardware Qeta (raw L1T units)"),
0179         station = Var("station()", "int16", doc="station (raw L1T units)"),
0180         wheel = Var("wheel()", "int16", doc="wheel (raw L1T units)"),
0181         sector = Var("sector()", "int16", doc="sector (raw L1T units)"),
0182         tag = Var("tag()", "int16", doc="tag (raw L1T units)"),
0183     ),
0184 )