CMS 3D CMS Logo

Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
l1t Namespace Reference

delete x; More...

Namespaces

 demo
 
 emtf
 
 mtf7
 
 stage1
 
 stage2
 

Classes

class   Description
 
class  AlgorithmEvaluation
 
class  AMC13DumpToRaw
 
class  AMCDumpToRaw
 
class  AXOL1TLCondition
 
class  Block
 
class  BlockHeader
 
class  BxBlock
 
class  BxBlockHeader
 
class  BXVectorInputProducer
 
class  CaloCluster
 
class  CaloCondition
 
class  CaloConfig
 
class  CaloConfigHelper
 
class  CaloEmCand
 
class  CaloMainProcessor
 
class  CaloParams
 
class  CaloParamsHelper
 
class  CaloParamsHelperO2O
 
class  CaloRegion
 
class  CaloSpare
 
class  CaloStage1Cluster
 
class  CaloStage1FirmwareFactory
 
class  CaloStage2JetAlgorithm
 
class  CaloStage2Nav
 
class  CaloStage2TowerAlgorithmFirmwareImp1
 
class  CaloTools
 
class  CaloTower
 
class  ClusterShapes
 
class  ConditionEvaluation
 
class  CorrCondition
 
class  CorrThreeBodyCondition
 
class  CorrWithOverlapRemovalCondition
 
class  CPPFDigi
 
class  CTP7Payload
 
class  DataAlreadyPresentException
 
class  DataInvalidException
 
class  DataManager
 
class  DataWriter
 
class  DataWriterExt
 
class  EGamma
 
class  EMTFDaqOut
 
class  EMTFHit
 
struct  EMTFPtLUT
 
class  EMTFRoad
 
class  EMTFTrack
 
class  EndCapParamsHelper
 
class  EnergySumCondition
 
class  EnergySumZdcCondition
 
class  EtSum
 
class  EtSumHelper
 
class  ExternalCondition
 
class  FakeInputProducer
 
class  GenToInputProducer
 
class  GlobalBoard
 
class  GlobalParamsHelper
 
class  GlobalScales
 
class  GMTInternalMuon
 
struct  GtConditionCategoryStringToEnum
 
struct  GtConditionTypeStringToEnum
 
class  GtInputDump
 
class  GtRecordDump
 
class  HGC3DClusterGenMatchSelector
 
class  HGC3DClusterSimpleSelector
 
class  HGC3DClusterTMVASelector
 
class  HGCalCluster
 
class  HGCalClusterT
 
class  HGCalConcentratorData
 
class  HGCalMulticluster
 
class  HGCalTower
 
struct  HGCalTowerCoord
 
class  HGCalTowerID
 
class  HGCalTowerMap
 
class  HGCalTriggerCell
 
class  HGCalTriggerSums
 
class  HGCFETriggerDigi
 
class  HPSPFTau
 
struct  InvariantMassError
 
class  Jet
 
class  L1CaloTkTau
 
class  L1Candidate
 
class  L1ComparatorRun2
 
class  L1DataEmulResult
 
struct  L1GtBoardTypeStringToEnum
 
class  L1GTDeltaCut
 
class  L1GTProducer
 
class  L1GTScales
 
class  L1GTSingleCollectionCut
 
class  L1GTSingleInOutLUT
 
class  L1TCaloRCTToUpgradeConverter
 
class  L1TCaloStage1LutWriter
 
class  L1TCaloTowersFilter
 
class  L1TCaloUpgradeToGCTConverter
 
class  L1TDigiToRaw
 
class  L1TExtCondLegacyToStage2
 
class  L1TExtCondProducer
 
class  L1TGlobalAnalyzer
 
class  L1TGlobalUtil
 
class  L1TGlobalUtilHelper
 
struct  L1TGT_BaseInterface
 
struct  L1TGT_CL2_Electron
 
struct  L1TGT_CL2_Jet
 
struct  L1TGT_CL2_Photon
 
struct  L1TGT_CL2_Sum
 
struct  L1TGT_CL2_Tau
 
struct  L1TGT_Common3Vector
 
struct  L1TGT_CommonSum
 
struct  L1TGT_GCT_EgammaIsolated6p6
 
struct  L1TGT_GCT_EgammaNonIsolated6p6
 
struct  L1TGT_GCT_jet6p6
 
struct  L1TGT_GCT_Sum2
 
struct  L1TGT_GCT_tau6p6
 
struct  L1TGT_GMT_PromptDisplacedMuon
 
struct  L1TGT_GMT_TopoObject
 
struct  L1TGT_GMT_TrackMatchedmuon
 
struct  L1TGT_GTT_DisplacedJet
 
struct  L1TGT_GTT_HadronicTau
 
struct  L1TGT_GTT_LightMeson
 
struct  L1TGT_GTT_PrimaryVert
 
struct  L1TGT_GTT_PromptJet
 
struct  L1TGT_GTT_Sum
 
struct  L1TGT_Interface
 
class  L1TRawToDigi
 
class  L1TrkTau
 
class  L1TStage1Layer2Producer
 
class  L1TStage2CaloAnalyzer
 
class  L1TZDCAnalyzer
 
class  LUT
 
class  Mask
 
class  MicroGMTAbsoluteIsolationCheckLUT
 
class  MicroGMTAbsoluteIsolationCheckLUTFactory
 
class  MicroGMTCaloIndexSelectionLUT
 
class  MicroGMTCaloIndexSelectionLUTFactory
 
class  MicroGMTCancelOutUnit
 
class  MicroGMTConfiguration
 
class  MicroGMTExtrapolationLUT
 
class  MicroGMTExtrapolationLUTFactory
 
class  MicroGMTIsolationUnit
 
class  MicroGMTLUT
 
class  MicroGMTMatchQualFineLUT
 
class  MicroGMTMatchQualLUT
 
class  MicroGMTMatchQualLUTFactory
 
class  MicroGMTMatchQualSimpleLUT
 
class  MicroGMTRankPtQualLUT
 
class  MicroGMTRankPtQualLUTFactory
 
class  MicroGMTRelativeIsolationCheckLUT
 
class  MicroGMTRelativeIsolationCheckLUTFactory
 
class  MP7BufferDumpToRaw
 
class  MP7Payload
 
class  MTF7Payload
 
class  MuCondition
 
class  Muon
 
class  MuonCaloSum
 
class  MuonRawDigiTranslator
 
class  MuonShower
 
class  MuonShowerCondition
 
class  MuonStub
 
class  OMDSReader
 
class  OnlineDBqueryHelper
 
class  P2GTAlgoBlock
 
class  P2GTCandidate
 
class  Packer
 
class  PackerFactory
 
class  PackerTokens
 
class  PackingSetup
 
class  PackingSetupFactory
 
class  Parameter
 
class  Payload
 
class  PFCandidate
 
class  PFCluster
 
class  PFJet
 
class  PFTau
 
class  PFTrack
 
class  PhysicsToBitConverter
 
class  PrescalesVetosFractHelper
 
class  PrescalesVetosHelper
 
class  rctDataBase
 
class  RegionalMuonCand
 
class  RegionalMuonRawDigiTranslator
 
class  RegionalMuonShower
 
class  RegionalOutput
 
class  SAMuon
 
class  Stage1Layer2CentralityAlgorithm
 
class  Stage1Layer2DiTauAlgorithm
 
class  Stage1Layer2EGammaAlgorithm
 
class  Stage1Layer2EGammaAlgorithmImpHI
 
class  Stage1Layer2EGammaAlgorithmImpHW
 
class  Stage1Layer2EGammaAlgorithmImpPP
 
class  Stage1Layer2EtSumAlgorithm
 
class  Stage1Layer2EtSumAlgorithmImpHI
 
class  Stage1Layer2EtSumAlgorithmImpHW
 
class  Stage1Layer2EtSumAlgorithmImpPP
 
class  Stage1Layer2FirmwareFactory
 
class  Stage1Layer2FlowAlgorithm
 
class  Stage1Layer2HFBitCountAlgorithm
 
class  Stage1Layer2HFMinimumBias
 
class  Stage1Layer2HFRingSumAlgorithm
 
class  Stage1Layer2JetAlgorithm
 
class  Stage1Layer2JetAlgorithmImpHI
 
class  Stage1Layer2JetAlgorithmImpPP
 
class  Stage1Layer2JetAlgorithmImpSimpleHW
 
class  Stage1Layer2MainProcessor
 
class  Stage1Layer2MainProcessorFirmwareImp1
 
class  Stage1Layer2SingleTrackHI
 
class  Stage1Layer2TauAlgorithm
 
class  Stage1Layer2TauAlgorithmImpHW
 
class  Stage1Layer2TauAlgorithmImpPP
 
class  Stage1TauIsolationLUT
 
class  Stage2Layer1FirmwareFactory
 
class  Stage2Layer2ClusterAlgorithm
 
class  Stage2Layer2ClusterAlgorithmFirmwareImp1
 
class  Stage2Layer2DemuxEGAlgo
 
class  Stage2Layer2DemuxEGAlgoFirmwareImp1
 
class  Stage2Layer2DemuxJetAlgo
 
class  Stage2Layer2DemuxJetAlgoFirmwareImp1
 
class  Stage2Layer2DemuxSumsAlgo
 
class  Stage2Layer2DemuxSumsAlgoFirmwareImp1
 
class  Stage2Layer2DemuxTauAlgo
 
class  Stage2Layer2DemuxTauAlgoFirmwareImp1
 
class  Stage2Layer2EGAlgorithmFirmwareImp1
 
class  Stage2Layer2EGammaAlgorithm
 
class  Stage2Layer2EGammaAlgorithmFirmwareImp1
 
class  Stage2Layer2EtSumAlgorithm
 
class  Stage2Layer2EtSumAlgorithmFirmwareImp1
 
class  Stage2Layer2FirmwareFactory
 
class  Stage2Layer2JetAlgorithm
 
class  Stage2Layer2JetAlgorithmFirmwareImp1
 
class  Stage2Layer2JetSumAlgorithm
 
class  Stage2Layer2JetSumAlgorithmFirmwareImp1
 
class  Stage2Layer2MainProcessorFirmwareImp1
 
class  Stage2Layer2SumsAlgorithmFirmwareImp1
 
class  Stage2Layer2TauAlgorithm
 
class  Stage2Layer2TauAlgorithmFirmwareImp1
 
class  Stage2MainProcessor
 
class  Stage2MainProcessorFirmwareImp1
 
class  Stage2PreProcessor
 
class  Stage2PreProcessorFirmwareImp1
 
class  Stage2TowerCompressAlgorithm
 
class  Stage2TowerCompressAlgorithmFirmwareImp1
 
class  Stage2TowerDecompressAlgorithm
 
class  Stage2TowerDecompressAlgorithmFirmwareImp1
 
class  Tau
 
class  TkBsCandidate
 
class  TkEGTau
 
class  TkElectron
 
class  TkEm
 
class  TkEtMiss
 
class  TkGlbMuon
 
class  TkHTMiss
 
class  TkJet
 
class  TkJetWord
 
class  TkMuon
 
class  TkPhiCandidate
 
class  TkTau
 
class  TrackerMuon
 
class  TriggerMenuParser
 
class  TriggerSystem
 
class  Unpacker
 
class  UnpackerCollections
 
class  UnpackerFactory
 
class  Vertex
 
class  VertexWord
 
class  WriterProxy
 
class  WriterProxyT
 
class  XmlConfigParser
 

Typedefs

typedef std::map< std::string, GlobalAlgorithmAlgorithmMap
 map containing the algorithms More...
 
typedef std::vector< BlockBlocks
 
typedef std::vector< BxBlockBxBlocks
 
typedef BXVector< CaloClusterCaloClusterBxCollection
 
typedef BXVector< CaloEmCandCaloEmCandBxCollection
 
typedef BXVector< CaloRegionCaloRegionBxCollection
 
typedef BXVector< CaloSpareCaloSpareBxCollection
 
typedef BXVector< CaloStage1ClusterCaloStage1ClusterBxCollection
 
typedef BXVector< CaloTowerCaloTowerBxCollection
 
typedef AlgorithmMap::const_iterator CItAlgo
 iterators through map containing the algorithms More...
 
typedef ConditionMap::const_iterator CItCond
 iterators through map containing the conditions More...
 
typedef std::map< std::string, GlobalCondition * > ConditionMap
 
typedef std::vector< CPPFDigiCPPFDigiCollection
 
typedef BXVector< EGammaEGammaBxCollection
 
typedef edm::Ref< EGammaBxCollectionEGammaRef
 
typedef ObjectRefBxCollection< EGammaEGammaRefBxCollection
 
typedef ObjectRefPair< EGammaEGammaRefPair
 
typedef ObjectRefPairBxCollection< EGammaEGammaRefPairBxCollection
 
typedef edm::RefVector< EGammaBxCollectionEGammaRefVector
 
typedef std::vector< EGammaRefEGammaVectorRef
 
typedef std::vector< EMTFDaqOutEMTFDaqOutCollection
 
typedef std::vector< EMTFHitEMTFHitCollection
 
typedef std::vector< EMTFRoadEMTFRoadCollection
 
typedef std::vector< EMTFTrackEMTFTrackCollection
 
typedef BXVector< EtSumEtSumBxCollection
 
typedef std::vector< EtSumEtSumP2Collection
 
typedef edm::Ref< EtSumP2CollectionEtSumP2Ref
 
typedef edm::RefVector< EtSumP2CollectionEtSumP2RefVector
 
typedef edm::Ref< EtSumBxCollectionEtSumRef
 
typedef ObjectRefBxCollection< EtSumEtSumRefBxCollection
 
typedef ObjectRefPair< EtSumEtSumRefPair
 
typedef ObjectRefPairBxCollection< EtSumEtSumRefPairBxCollection
 
typedef edm::RefVector< EtSumBxCollectionEtSumRefVector
 
typedef std::vector< EtSumP2RefEtSumVectorP2Ref
 
typedef std::vector< EtSumRefEtSumVectorRef
 
typedef std::vector< GMTInternalMuonGMTInternalMuonCollection
 
typedef std::list< std::shared_ptr< GMTInternalMuon > > GMTInternalMuonList
 
typedef std::map< int, std::vector< std::shared_ptr< GMTInternalMuon > > > GMTInternalWedges
 
typedef BXVector< HGCalClusterHGCalClusterBxCollection
 
typedef BXVector< HGCalConcentratorDataHGCalConcentratorDataBxCollection
 
typedef BXVector< HGCalMulticlusterHGCalMulticlusterBxCollection
 
typedef BXVector< HGCalTowerHGCalTowerBxCollection
 
typedef BXVector< HGCalTowerMapHGCalTowerMapBxCollection
 
typedef BXVector< HGCalTriggerCellHGCalTriggerCellBxCollection
 
typedef BXVector< HGCalTriggerSumsHGCalTriggerSumsBxCollection
 
typedef edm::SortedCollection< HGCFETriggerDigiHGCFETriggerDigiCollection
 
typedef edm::Ptr< HGCFETriggerDigiHGCFETriggerDigiPtr
 
typedef std::vector< HGCFETriggerDigiPtrHGCFETriggerDigiPtrVector
 
typedef edm::Ref< HGCFETriggerDigiCollectionHGCFETriggerDigiRef
 
typedef edm::RefVector< HGCFETriggerDigiCollectionHGCFETriggerDigiRefVector
 
typedef std::vector< HPSPFTauHPSPFTauCollection
 
typedef edm::Ref< HPSPFTauCollectionHPSPFTauRef
 
typedef edm::RefVector< HPSPFTauCollectionHPSPFTauRefVector
 
typedef std::vector< HPSPFTauRefHPSPFTauVectorRef
 
typedef std::vector< InvariantMassErrorInvariantMassErrorCollection
 
typedef AlgorithmMap::iterator ItAlgo
 
typedef ConditionMap::iterator ItCond
 
typedef BXVector< JetJetBxCollection
 
typedef edm::Ref< JetBxCollectionJetRef
 
typedef ObjectRefBxCollection< JetJetRefBxCollection
 
typedef ObjectRefPair< JetJetRefPair
 
typedef ObjectRefPairBxCollection< JetJetRefPairBxCollection
 
typedef edm::RefVector< JetBxCollectionJetRefVector
 
typedef std::vector< JetRefJetVectorRef
 
typedef std::vector< L1CaloTkTauL1CaloTkTauCollection
 
typedef edm::Ref< L1CaloTkTauCollectionL1CaloTkTauRef
 
typedef edm::RefVector< L1CaloTkTauCollectionL1CaloTkTauRefVector
 
typedef std::vector< L1CaloTkTauRefL1CaloTkTauVectorRef
 
typedef BXVector< L1CandidateL1CandidateBxCollection
 
typedef edm::Ref< L1CandidateBxCollectionL1CandidateRef
 
typedef edm::RefVector< L1CandidateBxCollectionL1CandidateRefVector
 
typedef std::vector< L1CandidateRefL1CandidateVectorRef
 
typedef BXVector< L1DataEmulResultL1DataEmulResultBxCollection
 
typedef std::vector< L1TrkTauL1TrkTauCollection
 
typedef edm::Ref< L1TrkTauCollectionL1TrkTauRef
 
typedef edm::RefVector< L1TrkTauCollectionL1TrkTauRefVector
 
typedef std::vector< L1TrkTauRefL1TrkTauVectorRef
 
typedef std::vector< L1TTTrackTypeL1TTTrackCollection
 
typedef edm::Ptr< L1TTTrackTypeL1TTTrackRefPtr
 
typedef std::vector< L1TTTrackRefPtrL1TTTrackRefPtr_Collection
 
typedef TTTrack< Ref_Phase2TrackerDigi_L1TTTrackType
 
typedef BXVector< MuonMuonBxCollection
 
typedef BXVector< MuonCaloSumMuonCaloSumBxCollection
 
typedef edm::Ref< MuonBxCollectionMuonRef
 
typedef ObjectRefBxCollection< MuonMuonRefBxCollection
 
typedef ObjectRefPair< MuonMuonRefPair
 
typedef ObjectRefPairBxCollection< MuonMuonRefPairBxCollection
 
typedef edm::RefVector< MuonBxCollectionMuonRefVector
 
typedef BXVector< MuonShowerMuonShowerBxCollection
 
typedef edm::Ref< MuonShowerBxCollectionMuonShowerRef
 
typedef ObjectRefBxCollection< MuonShowerMuonShowerRefBxCollection
 
typedef ObjectRefPair< MuonShowerMuonShowerRefPair
 
typedef ObjectRefPairBxCollection< MuonShowerMuonShowerRefPairBxCollection
 
typedef edm::RefVector< MuonShowerBxCollectionMuonShowerRefVector
 
typedef std::vector< MuonShowerRefMuonShowerVectorRef
 
typedef std::vector< MuonStubMuonStubCollection
 
typedef edm::Ref< MuonStubCollectionMuonStubRef
 
typedef std::vector< edm::Ref< MuonStubCollection > > MuonStubRefVector
 
typedef std::vector< MuonRefMuonVectorRef
 
template<typename T >
using ObjectRef = edm::Ref< BXVector< T > >
 
template<typename T >
using ObjectRefBxCollection = BXVector< ObjectRef< T > >
 
template<typename T >
using ObjectRefPair = std::pair< edm::Ref< BXVector< T > >, edm::Ref< BXVector< T > >>
 
template<typename T >
using ObjectRefPairBxCollection = BXVector< ObjectRefPair< T > >
 
typedef std::vector< P2GTAlgoBlockP2GTAlgoBlockCollection
 
typedef std::vector< P2GTCandidateP2GTCandidateCollection
 
typedef edm::Ref< P2GTCandidateCollectionP2GTCandidateRef
 
typedef edm::RefVector< P2GTCandidateCollectionP2GTCandidateRefVector
 
typedef std::vector< P2GTCandidateRefP2GTCandidateVectorRef
 
typedef Packer *() pack_fct()
 
typedef edmplugin::PluginFactory< pack_fctPackerFactoryT
 
typedef std::map< std::pair< int, int >, PackersPackerMap
 
typedef std::vector< std::shared_ptr< Packer > > Packers
 
typedef edmplugin::PluginFactory< prov_fctPackingSetupFactoryT
 
typedef std::vector< l1t::PFCandidatePFCandidateCollection
 
typedef edm::Ref< l1t::PFCandidateCollectionPFCandidateRef
 
typedef edm::RefVector< l1t::PFCandidateCollectionPFCandidateRefVector
 
typedef l1t::RegionalOutput< l1t::PFCandidateCollectionPFCandidateRegionalOutput
 
typedef std::vector< l1t::PFClusterPFClusterCollection
 
typedef edm::Ref< l1t::PFClusterCollectionPFClusterRef
 
typedef std::vector< l1t::PFJetPFJetCollection
 
typedef edm::Ref< l1t::PFJetCollectionPFJetRef
 
typedef std::vector< l1t::PFJetRefPFJetVectorRef
 
typedef std::vector< l1t::PFTauPFTauCollection
 
typedef edm::Ref< l1t::PFTauCollectionPFTauRef
 
typedef edm::RefVector< l1t::PFTauCollectionPFTauRefVector
 
typedef std::vector< l1t::PFTauRefPFTauVectorRef
 
typedef std::vector< l1t::PFTrackPFTrackCollection
 
typedef edm::Ref< l1t::PFTrackCollectionPFTrackRef
 
typedef edm::RefVector< l1t::PFTrackCollectionPFTrackRefVector
 
typedef std::vector< l1t::PFTrackRefPFTrackVectorRef
 
typedef PackingSetup *() prov_fct()
 
typedef BXVector< RegionalMuonCandRegionalMuonCandBxCollection
 
typedef ObjectRef< RegionalMuonCandRegionalMuonCandRef
 
typedef ObjectRefBxCollection< RegionalMuonCandRegionalMuonCandRefBxCollection
 
typedef ObjectRefPair< RegionalMuonCandRegionalMuonCandRefPair
 
typedef ObjectRefPairBxCollection< RegionalMuonCandRegionalMuonCandRefPairBxCollection
 
typedef BXVector< RegionalMuonShowerRegionalMuonShowerBxCollection
 
typedef ObjectRefBxCollection< RegionalMuonShowerRegionalMuonShowerRefBxCollection
 
typedef ObjectRefPair< RegionalMuonShowerRegionalMuonShowerRefPair
 
typedef ObjectRefPairBxCollection< RegionalMuonShowerRegionalMuonShowerRefPairBxCollection
 
typedef std::vector< SAMuonSAMuonCollection
 
typedef edm::Ref< SAMuonCollectionSAMuonRef
 
typedef std::vector< edm::Ref< SAMuonCollection > > SAMuonRefVector
 
typedef BXVector< TauTauBxCollection
 
typedef edm::Ref< TauBxCollectionTauRef
 
typedef ObjectRefBxCollection< TauTauRefBxCollection
 
typedef ObjectRefPair< TauTauRefPair
 
typedef ObjectRefPairBxCollection< TauTauRefPairBxCollection
 
typedef edm::RefVector< TauBxCollectionTauRefVector
 
typedef std::vector< TauRefTauVectorRef
 
using TkBsCandidateCollection = std::vector< TkBsCandidate >
 
using TkBsCandidateRef = edm::Ref< TkBsCandidateCollection >
 
using TkBsCandidateRefVector = edm::RefVector< TkBsCandidateCollection >
 
using TkBsCandidateVectorRef = std::vector< TkBsCandidateRef >
 
typedef std::vector< TkEGTauTkEGTauCollection
 
typedef edm::Ref< TkEGTauCollectionTkEGTauRef
 
typedef edm::RefVector< TkEGTauCollectionTkEGTauRefVector
 
typedef std::vector< TkEGTauRefTkEGTauVectorRef
 
typedef std::vector< TkElectronTkElectronCollection
 
typedef edm::Ref< TkElectronCollectionTkElectronRef
 
typedef edm::RefVector< TkElectronCollectionTkElectronRefVector
 
typedef l1t::RegionalOutput< l1t::TkElectronCollectionTkElectronRegionalOutput
 
typedef std::vector< TkElectronRefTkElectronVectorRef
 
typedef std::vector< TkEmTkEmCollection
 
typedef edm::Ref< TkEmCollectionTkEmRef
 
typedef edm::RefVector< TkEmCollectionTkEmRefVector
 
typedef l1t::RegionalOutput< l1t::TkEmCollectionTkEmRegionalOutput
 
typedef std::vector< TkEmRefTkEmVectorRef
 
typedef std::vector< TkEtMissTkEtMissCollection
 
typedef std::vector< TkGlbMuonTkGlbMuonCollection
 
typedef edm::Ref< TkGlbMuonCollectionTkGlbMuonRef
 
typedef edm::RefVector< TkGlbMuonCollectionTkGlbMuonRefVector
 
typedef std::vector< TkGlbMuonRefTkGlbMuonVectorRef
 
typedef std::vector< TkHTMissTkHTMissCollection
 
typedef std::vector< TkJetTkJetCollection
 
typedef edm::Ref< TkJetCollectionTkJetRef
 
typedef edm::RefProd< TkJetTkJetRefProd
 
typedef edm::RefVector< TkJetCollectionTkJetRefVector
 
typedef std::vector< TkJetRefTkJetVectorRef
 
typedef std::vector< l1t::TkJetWordTkJetWordCollection
 
typedef std::vector< TkMuonTkMuonCollection
 
typedef edm::Ref< TkMuonCollectionTkMuonRef
 
typedef edm::RefVector< TkMuonCollectionTkMuonRefVector
 
typedef std::vector< TkMuonRefTkMuonVectorRef
 
using TkPhiCandidateCollection = std::vector< TkPhiCandidate >
 
using TkPhiCandidateRef = edm::Ref< TkPhiCandidateCollection >
 
using TkPhiCandidateRefVector = edm::RefVector< TkPhiCandidateCollection >
 
using TkPhiCandidateVectorRef = std::vector< TkPhiCandidateRef >
 
typedef std::vector< TkTauTkTauCollection
 
typedef edm::Ref< TkTauCollectionTkTauRef
 
typedef edm::RefVector< TkTauCollectionTkTauRefVector
 
typedef std::vector< TkTauRefTkTauVectorRef
 
typedef std::vector< TrackerMuonTrackerMuonCollection
 
typedef edm::Ref< TrackerMuonCollectionTrackerMuonRef
 
typedef std::vector< edm::Ref< TrackerMuonCollection > > TrackerMuonRefVector
 
typedef Unpacker *() unpack_fct()
 
typedef edmplugin::PluginFactory< unpack_fctUnpackerFactoryT
 
typedef std::map< int, std::shared_ptr< Unpacker > > UnpackerMap
 
typedef std::vector< VertexVertexCollection
 
typedef std::vector< VertexWordVertexWordCollection
 
typedef edm::Ref< VertexWordCollectionVertexWordRef
 
typedef edmplugin::PluginFactory< l1t::WriterProxy *()> WriterFactory
 
typedef std::unique_ptr< WriterProxyWriterProxyPtr
 

Enumerations

enum  block_t { MP7 = 0, CTP7, MTF7 }
 
enum  cancel_t {
  bmtf_bmtf, omtf_bmtf_pos, omtf_emtf_pos, omtf_omtf_pos,
  emtf_emtf_pos, omtf_bmtf_neg, omtf_emtf_neg, omtf_omtf_neg,
  emtf_emtf_neg
}
 
enum  cancelmode { tracks, kftracks, coordinate }
 
enum  GlobalObject {
  gtMu = 0, gtMuShower = 1, gtEG = 2, gtJet = 3,
  gtTau = 4, gtETM = 5, gtETT = 6, gtHTT = 7,
  gtHTM = 8, gtETMHF = 9, gtTowerCount = 10, gtMinBiasHFP0 = 11,
  gtMinBiasHFM0 = 12, gtMinBiasHFP1 = 13, gtMinBiasHFM1 = 14, gtETTem = 15,
  gtAsymmetryEt = 16, gtAsymmetryHt = 17, gtAsymmetryEtHF = 18, gtAsymmetryHtHF = 19,
  gtCentrality0 = 20, gtCentrality1 = 21, gtCentrality2 = 22, gtCentrality3 = 23,
  gtCentrality4 = 24, gtCentrality5 = 25, gtCentrality6 = 26, gtCentrality7 = 27,
  gtExternal = 28, gtZDCP = 29, gtZDCM = 30, ObjNull = 31
}
 
enum  GtConditionCategory {
  CondNull, CondMuon, CondCalo, CondEnergySum,
  CondCorrelation, CondExternal, CondCorrelationWithOverlapRemoval, CondCorrelationThreeBody,
  CondMuonShower, CondEnergySumZdc, CondAXOL1TL, GtConditionCategoryInvalid = -1
}
 condition categories More...
 
enum  GtConditionType {
  TypeNull, Type1s, Type2s, Type2wsc,
  Type2cor, Type3s, Type4s, TypeETM,
  TypeETT, TypeHTT, TypeHTM, TypeETMHF,
  TypeTowerCount, TypeMinBiasHFP0, TypeMinBiasHFM0, TypeMinBiasHFP1,
  TypeMinBiasHFM1, TypeETTem, TypeExternal, Type2corWithOverlapRemoval,
  TypeCent0, TypeCent1, TypeCent2, TypeCent3,
  TypeCent4, TypeCent5, TypeCent6, TypeCent7,
  TypeAsymEt, TypeAsymHt, TypeAsymEtHF, TypeAsymHtHF,
  TypeZDCP, TypeZDCM, TypeAXOL1TL, GtConditionTypeInvalid = -1
}
 
enum  L1GtBoardType { MP7 = 0, BoardNull, L1GtBoardTypeInvalid = -1 }
 board types in GT More...
 
enum  tftype {
  bmtf, omtf_neg, omtf_pos, emtf_neg,
  emtf_pos
}
 
enum  TrigFunc_t { COS, SIN }
 
enum  UseEventSetupIn { UseEventSetupIn::Run, UseEventSetupIn::Event, UseEventSetupIn::RunAndEvent }
 

Functions

int bitShift (int num, int bits)
 
void calibrateAndRankJets (CaloParamsHelper const *params, const std::vector< l1t::Jet > *input, std::vector< l1t::Jet > *output)
 
void calibrateAndRankTaus (CaloParamsHelper const *params, const std::vector< l1t::Tau > *input, std::vector< l1t::Tau > *output)
 
template<class T >
T castTo (const char *arg)
 
template<>
bool castTo< bool > (const char *arg)
 
template<>
char castTo< char > (const char *arg)
 
template<>
double castTo< double > (const char *arg)
 
template<>
float castTo< float > (const char *arg)
 
template<>
int castTo< int > (const char *arg)
 
template<>
long castTo< long > (const char *arg)
 
template<>
long double castTo< long double > (const char *arg)
 
template<>
long long castTo< long long > (const char *arg)
 
template<>
short castTo< short > (const char *arg)
 
template<>
unsigned char castTo< unsigned char > (const char *arg)
 
template<>
unsigned int castTo< unsigned int > (const char *arg)
 
template<>
unsigned long castTo< unsigned long > (const char *arg)
 
template<>
unsigned long long castTo< unsigned long long > (const char *arg)
 
template<>
unsigned short castTo< unsigned short > (const char *arg)
 
template<class T >
T castTo_impl (const char *arg, std::true_type, std::false_type)
 
template<class T >
T castTo_impl (const char *arg, std::false_type, std::true_type)
 
template<class T >
T castTo_impl (const char *arg, std::false_type, std::false_type)
 
template<class T >
T castToInt_impl (const char *arg, std::true_type)
 
template<class T >
T castToInt_impl (const char *arg, std::false_type)
 
l1t::LUT convertToLUT (const std::vector< uint64_t > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< char > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< short > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< int > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< long > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< long long > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< unsigned char > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< unsigned short > &v, int padding=-1) noexcept
 
l1t::LUT convertToLUT (const std::vector< unsigned int > &v, int padding=-1) noexcept
 
int deltaGctPhi (const CaloRegion &region, const CaloRegion &neighbor)
 
void EGammaToGtScales (CaloParamsHelper const *params, const std::vector< l1t::EGamma > *input, std::vector< l1t::EGamma > *output)
 
void EtSumToGtScales (CaloParamsHelper const *params, const std::vector< l1t::EtSum > *input, std::vector< l1t::EtSum > *output)
 
void getBXRange (int nbx, int &first, int &last)
 
template<typename T , typename K >
std::optional< TgetOptionalParam (const std::string &name, const edm::ParameterSet &config, std::function< T(K)> conv)
 
template<typename T >
std::optional< TgetOptionalParam (const std::string &name, const edm::ParameterSet &config)
 
template<typename T , typename K >
std::vector< TgetParamVector (const std::string &name, const edm::ParameterSet &config, std::function< T(K)> conv)
 
std::string GlobalObjectEnumToString (const GlobalObject &)
 
l1t::GlobalObject GlobalObjectStringToEnum (const std::string &)
 
const unsigned int gtEta (const unsigned int iEta)
 
constexpr unsigned char hgcal_bad_codec (0xff)
 
void HICaloRingSubtraction (const std::vector< l1t::CaloRegion > &regions, std::vector< l1t::CaloRegion > *subRegions, CaloParamsHelper const *params)
 ------------— For heavy ion ----------------------------------— More...
 
void JetCalibration (std::vector< l1t::Jet > *uncalibjets, std::vector< double > jetCalibrationParams, std::vector< l1t::Jet > *jets, std::string jetCalibrationType, double jetLSB)
 
void JetToGtEtaScales (CaloParamsHelper const *params, const std::vector< l1t::Jet > *input, std::vector< l1t::Jet > *output)
 
void JetToGtPtScales (CaloParamsHelper const *params, const std::vector< l1t::Jet > *input, std::vector< l1t::Jet > *output)
 
std::string l1GtBoardTypeEnumToString (const L1GtBoardType &)
 
L1GtBoardType l1GtBoardTypeStringToEnum (const std::string &)
 
std::string l1GtConditionCategoryEnumToString (const GtConditionCategory &)
 
GtConditionCategory l1GtConditionCategoryStringToEnum (const std::string &)
 
std::string l1GtConditionTypeEnumToString (const GtConditionType &)
 
GtConditionType l1GtConditionTypeStringToEnum (const std::string &)
 
template<typename A , typename... Args>
A l1t_pack_int (const Args &... args)
 
template<typename A , typename... Args>
A l1t_unpack_int (const A &packed, Args &&... args)
 
std::ostream & operator<< (std::ostream &os, const l1t::CaloParamsHelper &p)
 
bool operator> (const l1t::Tau &a, const l1t::Tau &b)
 
bool operator> (const l1t::EGamma &a, const l1t::EGamma &b)
 
bool operator> (l1t::EGamma &a, l1t::EGamma &b)
 
bool operator> (l1t::Tau &a, l1t::Tau &b)
 
bool operator> (const l1t::Jet &a, const l1t::Jet &b)
 
bool operator> (const l1t::Jet &a, l1t::Jet &b)
 
bool operator> (const l1t::EGamma &a, l1t::EGamma &b)
 
bool operator> (const l1t::Tau &a, l1t::Tau &b)
 
unsigned int pack15bits (int pt, int eta, int phi)
 
unsigned int pack16bits (int pt, int eta, int phi)
 
unsigned int pack16bitsEgammaSpecial (int pt, int eta, int phi)
 
void passThroughJets (const std::vector< l1t::CaloRegion > *regions, std::vector< l1t::Jet > *uncalibjets)
 
 PYBIND11_MODULE (libL1TriggerPhase2L1GT, m)
 
void RegionCorrection (const std::vector< l1t::CaloRegion > &regions, std::vector< l1t::CaloRegion > *subRegions, CaloParamsHelper const *params)
 ------— New region correction (PUsub, no response correction at the moment) --------— More...
 
void simpleHWSubtraction (const std::vector< l1t::CaloRegion > &regions, std::vector< l1t::CaloRegion > *subRegions)
 
void slidingWindowJetFinder (const int, const std::vector< l1t::CaloRegion > *regions, std::vector< l1t::Jet > *uncalibjets)
 
void SortEGammas (std::vector< l1t::EGamma > *input, std::vector< l1t::EGamma > *output)
 
void SortJets (std::vector< l1t::Jet > *input, std::vector< l1t::Jet > *output)
 
void SortTaus (std::vector< l1t::Tau > *input, std::vector< l1t::Tau > *output)
 
void TauToGtEtaScales (CaloParamsHelper const *params, const std::vector< l1t::Tau > *input, std::vector< l1t::Tau > *output)
 
void TauToGtPtScales (CaloParamsHelper const *params, const std::vector< l1t::Tau > *input, std::vector< l1t::Tau > *output)
 
void TwelveByTwelveFinder (const int, const std::vector< l1t::CaloRegion > *regions, std::vector< l1t::Jet > *uncalibjets)
 
void TwoByTwoFinder (const int, const int, const std::vector< l1t::CaloRegion > *regions, std::vector< l1t::Jet > *uncalibjets)
 

Variables

const std::vector< std::pair< GlobalObject, std::string > > kGlobalObjectEnumStringPairs
 
static constexpr float PFTAU_NN_LOOSE_CUT = 0.28
 
static constexpr float PFTAU_NN_OFFSET = 0.1
 
static constexpr float PFTAU_NN_OVERALL_SCALE = 1. / 20.1
 
static constexpr double PFTAU_NN_PT_CUTOFF = 100.0
 
static constexpr float PFTAU_NN_SLOPE = 0.2
 
static constexpr float PFTAU_NN_TIGHT_CUT = 0.25
 
static constexpr float PFTAU_PF_LOOSE_CUT = 10.0
 
static constexpr float PFTAU_PF_TIGHT_CUT = 5.0
 
static constexpr float PTSCALING_MASSCUT = 40.0
 

Detailed Description

delete x;

map containing the conditions

Description: Simple Navigator class for the CaloTowers

Authors
: Sam Harper - RAL, Olivier Davignon - Bristol

Description: Firmware headers

Implementation: Collects concrete algorithm implmentations.

Author
: R. Alex Barbieri MIT Kalanand Mishra, Fermilab

Description: Firmware headers

Implementation: Collects concrete algorithm implmentations.

Author
: R. Alex Barbieri MIT

Description: Firmware headers

Implementation: Concrete firmware implementations

Author
: Jim Brooke - University of Bristol

Description: Firmware headers

Implementation: Concrete firmware implementations

Author
: Jim Brooke - University of Bristol Modified: Adam Elwood - ICL

Description: enums for the L1 GT.

Implementation: Defines various enums for CondFormats L1 GT. For each enum, define the lightweight "maps" for enum string label and enum value

Author
: Vladimir Rekovic, Brian Winer, OSU Vasile Mihai Ghete - HEPHY Vienna Elisa Fontanesi - extended for three-body correlation conditions

$Date$ $Revision$

Source: CMS level-1 trigger interface specification: Global trigger

Typedef Documentation

◆ AlgorithmMap

typedef std::map<std::string, GlobalAlgorithm> l1t::AlgorithmMap

map containing the algorithms

Definition at line 32 of file TriggerMenuFwd.h.

◆ Blocks

typedef std::vector<Block> l1t::Blocks

Definition at line 99 of file Block.h.

◆ BxBlocks

typedef std::vector<BxBlock> l1t::BxBlocks

Definition at line 79 of file BxBlock.h.

◆ CaloClusterBxCollection

Definition at line 78 of file CaloCluster.h.

◆ CaloEmCandBxCollection

Definition at line 19 of file CaloEmCand.h.

◆ CaloRegionBxCollection

Definition at line 43 of file CaloRegion.h.

◆ CaloSpareBxCollection

Definition at line 9 of file CaloSpare.h.

◆ CaloStage1ClusterBxCollection

Definition at line 20 of file CaloStage1Cluster.h.

◆ CaloTowerBxCollection

Definition at line 9 of file CaloTower.h.

◆ CItAlgo

typedef AlgorithmMap::const_iterator l1t::CItAlgo

iterators through map containing the algorithms

Definition at line 39 of file TriggerMenuFwd.h.

◆ CItCond

typedef ConditionMap::const_iterator l1t::CItCond

iterators through map containing the conditions

Definition at line 35 of file TriggerMenuFwd.h.

◆ ConditionMap

typedef std::map<std::string, GlobalCondition*> l1t::ConditionMap

Definition at line 29 of file TriggerMenuFwd.h.

◆ CPPFDigiCollection

typedef std::vector<CPPFDigi> l1t::CPPFDigiCollection

Definition at line 83 of file CPPFDigi.h.

◆ EGammaBxCollection

Definition at line 10 of file EGamma.h.

◆ EGammaRef

Definition at line 35 of file TkEGTau.h.

◆ EGammaRefBxCollection

Definition at line 16 of file EGamma.h.

◆ EGammaRefPair

Definition at line 17 of file EGamma.h.

◆ EGammaRefPairBxCollection

Definition at line 18 of file EGamma.h.

◆ EGammaRefVector

Definition at line 13 of file EGamma.h.

◆ EGammaVectorRef

typedef std::vector< EGammaRef > l1t::EGammaVectorRef

Definition at line 36 of file TkEGTau.h.

◆ EMTFDaqOutCollection

typedef std::vector<EMTFDaqOut> l1t::EMTFDaqOutCollection

Definition at line 179 of file EMTFDaqOut.h.

◆ EMTFHitCollection

typedef std::vector<EMTFHit> l1t::EMTFHitCollection

Definition at line 381 of file EMTFHit.h.

◆ EMTFRoadCollection

typedef std::vector<EMTFRoad> l1t::EMTFRoadCollection

Definition at line 66 of file EMTFRoad.h.

◆ EMTFTrackCollection

typedef std::vector<EMTFTrack> l1t::EMTFTrackCollection

Definition at line 251 of file EMTFTrack.h.

◆ EtSumBxCollection

Definition at line 10 of file EtSum.h.

◆ EtSumP2Collection

typedef std::vector<EtSum> l1t::EtSumP2Collection

Definition at line 16 of file EtSum.h.

◆ EtSumP2Ref

Definition at line 17 of file EtSum.h.

◆ EtSumP2RefVector

Definition at line 18 of file EtSum.h.

◆ EtSumRef

Definition at line 12 of file EtSum.h.

◆ EtSumRefBxCollection

Definition at line 21 of file EtSum.h.

◆ EtSumRefPair

Definition at line 22 of file EtSum.h.

◆ EtSumRefPairBxCollection

Definition at line 23 of file EtSum.h.

◆ EtSumRefVector

Definition at line 13 of file EtSum.h.

◆ EtSumVectorP2Ref

typedef std::vector<EtSumP2Ref> l1t::EtSumVectorP2Ref

Definition at line 19 of file EtSum.h.

◆ EtSumVectorRef

typedef std::vector<EtSumRef> l1t::EtSumVectorRef

Definition at line 14 of file EtSum.h.

◆ GMTInternalMuonCollection

Definition at line 9 of file GMTInternalMuonFwd.h.

◆ GMTInternalMuonList

typedef std::list<std::shared_ptr<GMTInternalMuon> > l1t::GMTInternalMuonList

Definition at line 12 of file GMTInternalMuonFwd.h.

◆ GMTInternalWedges

typedef std::map<int, std::vector<std::shared_ptr<GMTInternalMuon> > > l1t::GMTInternalWedges

Definition at line 11 of file GMTInternalMuonFwd.h.

◆ HGCalClusterBxCollection

Definition at line 27 of file HGCalCluster.h.

◆ HGCalConcentratorDataBxCollection

Definition at line 9 of file HGCalConcentratorData.h.

◆ HGCalMulticlusterBxCollection

Definition at line 95 of file HGCalMulticluster.h.

◆ HGCalTowerBxCollection

Definition at line 10 of file HGCalTower.h.

◆ HGCalTowerMapBxCollection

Definition at line 12 of file HGCalTowerMap.h.

◆ HGCalTriggerCellBxCollection

Definition at line 11 of file HGCalTriggerCell.h.

◆ HGCalTriggerSumsBxCollection

Definition at line 11 of file HGCalTriggerSums.h.

◆ HGCFETriggerDigiCollection

Definition at line 15 of file HGCFETriggerDigiDefs.h.

◆ HGCFETriggerDigiPtr

Definition at line 20 of file HGCFETriggerDigiDefs.h.

◆ HGCFETriggerDigiPtrVector

Definition at line 21 of file HGCFETriggerDigiDefs.h.

◆ HGCFETriggerDigiRef

Definition at line 18 of file HGCFETriggerDigiDefs.h.

◆ HGCFETriggerDigiRefVector

Definition at line 19 of file HGCFETriggerDigiDefs.h.

◆ HPSPFTauCollection

typedef std::vector<HPSPFTau> l1t::HPSPFTauCollection

Definition at line 7 of file HPSPFTauFwd.h.

◆ HPSPFTauRef

Definition at line 9 of file HPSPFTauFwd.h.

◆ HPSPFTauRefVector

Definition at line 10 of file HPSPFTauFwd.h.

◆ HPSPFTauVectorRef

typedef std::vector<HPSPFTauRef> l1t::HPSPFTauVectorRef

Definition at line 11 of file HPSPFTauFwd.h.

◆ InvariantMassErrorCollection

Definition at line 13 of file L1GTInvariantMassError.h.

◆ ItAlgo

typedef AlgorithmMap::iterator l1t::ItAlgo

Definition at line 40 of file TriggerMenuFwd.h.

◆ ItCond

typedef ConditionMap::iterator l1t::ItCond

Definition at line 36 of file TriggerMenuFwd.h.

◆ JetBxCollection

Definition at line 10 of file Jet.h.

◆ JetRef

Definition at line 12 of file Jet.h.

◆ JetRefBxCollection

Definition at line 16 of file Jet.h.

◆ JetRefPair

Definition at line 17 of file Jet.h.

◆ JetRefPairBxCollection

Definition at line 18 of file Jet.h.

◆ JetRefVector

Definition at line 13 of file Jet.h.

◆ JetVectorRef

typedef std::vector<JetRef> l1t::JetVectorRef

Definition at line 14 of file Jet.h.

◆ L1CaloTkTauCollection

Definition at line 23 of file L1CaloTkTau.h.

◆ L1CaloTkTauRef

Definition at line 27 of file L1CaloTkTau.h.

◆ L1CaloTkTauRefVector

Definition at line 28 of file L1CaloTkTau.h.

◆ L1CaloTkTauVectorRef

Definition at line 29 of file L1CaloTkTau.h.

◆ L1CandidateBxCollection

Definition at line 8 of file L1Candidate.h.

◆ L1CandidateRef

Definition at line 10 of file L1Candidate.h.

◆ L1CandidateRefVector

Definition at line 11 of file L1Candidate.h.

◆ L1CandidateVectorRef

Definition at line 12 of file L1Candidate.h.

◆ L1DataEmulResultBxCollection

Definition at line 7 of file L1DataEmulResult.h.

◆ L1TrkTauCollection

typedef std::vector<L1TrkTau> l1t::L1TrkTauCollection

Definition at line 23 of file L1TrkTau.h.

◆ L1TrkTauRef

Definition at line 27 of file L1TrkTau.h.

◆ L1TrkTauRefVector

Definition at line 28 of file L1TrkTau.h.

◆ L1TrkTauVectorRef

typedef std::vector<L1TrkTauRef> l1t::L1TrkTauVectorRef

Definition at line 29 of file L1TrkTau.h.

◆ L1TTTrackCollection

typedef std::vector< L1TTTrackType > l1t::L1TTTrackCollection

Definition at line 32 of file L1CaloTkTau.h.

◆ L1TTTrackRefPtr

Definition at line 33 of file L1CaloTkTau.h.

◆ L1TTTrackRefPtr_Collection

Definition at line 34 of file L1CaloTkTau.h.

◆ L1TTTrackType

Definition at line 31 of file L1CaloTkTau.h.

◆ MuonBxCollection

Definition at line 11 of file Muon.h.

◆ MuonCaloSumBxCollection

Definition at line 7 of file MuonCaloSumFwd.h.

◆ MuonRef

Definition at line 13 of file Muon.h.

◆ MuonRefBxCollection

Definition at line 17 of file Muon.h.

◆ MuonRefPair

Definition at line 18 of file Muon.h.

◆ MuonRefPairBxCollection

Definition at line 19 of file Muon.h.

◆ MuonRefVector

Definition at line 14 of file Muon.h.

◆ MuonShowerBxCollection

Definition at line 18 of file MuonShower.h.

◆ MuonShowerRef

Definition at line 20 of file MuonShower.h.

◆ MuonShowerRefBxCollection

Definition at line 24 of file MuonShower.h.

◆ MuonShowerRefPair

Definition at line 25 of file MuonShower.h.

◆ MuonShowerRefPairBxCollection

Definition at line 26 of file MuonShower.h.

◆ MuonShowerRefVector

Definition at line 21 of file MuonShower.h.

◆ MuonShowerVectorRef

Definition at line 22 of file MuonShower.h.

◆ MuonStubCollection

typedef std::vector<MuonStub> l1t::MuonStubCollection

Definition at line 40 of file MuonStub.h.

◆ MuonStubRef

Definition at line 43 of file MuonStub.h.

◆ MuonStubRefVector

Definition at line 44 of file MuonStub.h.

◆ MuonVectorRef

typedef std::vector<MuonRef> l1t::MuonVectorRef

Definition at line 15 of file Muon.h.

◆ ObjectRef

template<typename T >
using l1t::ObjectRef = typedef edm::Ref<BXVector<T> >

Definition at line 10 of file L1TObjComparison.h.

◆ ObjectRefBxCollection

template<typename T >
using l1t::ObjectRefBxCollection = typedef BXVector<ObjectRef<T> >

Definition at line 12 of file L1TObjComparison.h.

◆ ObjectRefPair

template<typename T >
using l1t::ObjectRefPair = typedef std::pair<edm::Ref<BXVector<T> >, edm::Ref<BXVector<T> >>

Definition at line 14 of file L1TObjComparison.h.

◆ ObjectRefPairBxCollection

template<typename T >
using l1t::ObjectRefPairBxCollection = typedef BXVector<ObjectRefPair<T> >

Definition at line 16 of file L1TObjComparison.h.

◆ P2GTAlgoBlockCollection

Definition at line 12 of file P2GTAlgoBlock.h.

◆ P2GTCandidateCollection

Definition at line 16 of file P2GTCandidate.h.

◆ P2GTCandidateRef

Definition at line 18 of file P2GTCandidate.h.

◆ P2GTCandidateRefVector

Definition at line 19 of file P2GTCandidate.h.

◆ P2GTCandidateVectorRef

Definition at line 20 of file P2GTCandidate.h.

◆ pack_fct

typedef Packer*() l1t::pack_fct()

Definition at line 9 of file PackerFactory.h.

◆ PackerFactoryT

Definition at line 10 of file PackerFactory.h.

◆ PackerMap

typedef std::map<std::pair<int, int>, Packers> l1t::PackerMap

Definition at line 23 of file PackingSetup.h.

◆ Packers

typedef std::vector<std::shared_ptr<Packer> > l1t::Packers

Definition at line 25 of file Packer.h.

◆ PackingSetupFactoryT

Definition at line 10 of file PackingSetupFactory.h.

◆ PFCandidateCollection

Definition at line 86 of file PFCandidate.h.

◆ PFCandidateRef

Definition at line 87 of file PFCandidate.h.

◆ PFCandidateRefVector

Definition at line 88 of file PFCandidate.h.

◆ PFCandidateRegionalOutput

Definition at line 89 of file PFCandidate.h.

◆ PFClusterCollection

Definition at line 87 of file PFCluster.h.

◆ PFClusterRef

Definition at line 88 of file PFCluster.h.

◆ PFJetCollection

typedef std::vector<l1t::PFJet> l1t::PFJetCollection

Definition at line 61 of file PFJet.h.

◆ PFJetRef

Definition at line 62 of file PFJet.h.

◆ PFJetVectorRef

typedef std::vector<l1t::PFJetRef> l1t::PFJetVectorRef

Definition at line 63 of file PFJet.h.

◆ PFTauCollection

typedef std::vector<l1t::PFTau> l1t::PFTauCollection

Definition at line 93 of file PFTau.h.

◆ PFTauRef

Definition at line 95 of file PFTau.h.

◆ PFTauRefVector

Definition at line 96 of file PFTau.h.

◆ PFTauVectorRef

typedef std::vector<l1t::PFTauRef> l1t::PFTauVectorRef

Definition at line 97 of file PFTau.h.

◆ PFTrackCollection

typedef std::vector<l1t::PFTrack> l1t::PFTrackCollection

Definition at line 89 of file PFTrack.h.

◆ PFTrackRef

Definition at line 90 of file PFTrack.h.

◆ PFTrackRefVector

Definition at line 91 of file PFTrack.h.

◆ PFTrackVectorRef

typedef std::vector<l1t::PFTrackRef> l1t::PFTrackVectorRef

Definition at line 92 of file PFTrack.h.

◆ prov_fct

typedef PackingSetup*() l1t::prov_fct()

Definition at line 9 of file PackingSetupFactory.h.

◆ RegionalMuonCandBxCollection

Definition at line 9 of file RegionalMuonCandFwd.h.

◆ RegionalMuonCandRef

Definition at line 12 of file RegionalMuonCandFwd.h.

◆ RegionalMuonCandRefBxCollection

Definition at line 13 of file RegionalMuonCandFwd.h.

◆ RegionalMuonCandRefPair

Definition at line 14 of file RegionalMuonCandFwd.h.

◆ RegionalMuonCandRefPairBxCollection

Definition at line 15 of file RegionalMuonCandFwd.h.

◆ RegionalMuonShowerBxCollection

Definition at line 12 of file RegionalMuonShower.h.

◆ RegionalMuonShowerRefBxCollection

Definition at line 14 of file RegionalMuonShower.h.

◆ RegionalMuonShowerRefPair

Definition at line 15 of file RegionalMuonShower.h.

◆ RegionalMuonShowerRefPairBxCollection

Definition at line 16 of file RegionalMuonShower.h.

◆ SAMuonCollection

typedef std::vector<SAMuon> l1t::SAMuonCollection

Definition at line 14 of file SAMuon.h.

◆ SAMuonRef

Definition at line 17 of file SAMuon.h.

◆ SAMuonRefVector

Definition at line 18 of file SAMuon.h.

◆ TauBxCollection

Definition at line 10 of file Tau.h.

◆ TauRef

Definition at line 12 of file Tau.h.

◆ TauRefBxCollection

Definition at line 16 of file Tau.h.

◆ TauRefPair

Definition at line 17 of file Tau.h.

◆ TauRefPairBxCollection

Definition at line 18 of file Tau.h.

◆ TauRefVector

Definition at line 13 of file Tau.h.

◆ TauVectorRef

typedef std::vector<TauRef> l1t::TauVectorRef

Definition at line 14 of file Tau.h.

◆ TkBsCandidateCollection

using l1t::TkBsCandidateCollection = typedef std::vector<TkBsCandidate>

Definition at line 17 of file TkBsCandidateFwd.h.

◆ TkBsCandidateRef

Definition at line 18 of file TkBsCandidateFwd.h.

◆ TkBsCandidateRefVector

Definition at line 19 of file TkBsCandidateFwd.h.

◆ TkBsCandidateVectorRef

using l1t::TkBsCandidateVectorRef = typedef std::vector<TkBsCandidateRef>

Definition at line 20 of file TkBsCandidateFwd.h.

◆ TkEGTauCollection

typedef std::vector<TkEGTau> l1t::TkEGTauCollection

Definition at line 23 of file TkEGTau.h.

◆ TkEGTauRef

Definition at line 27 of file TkEGTau.h.

◆ TkEGTauRefVector

Definition at line 28 of file TkEGTau.h.

◆ TkEGTauVectorRef

typedef std::vector<TkEGTauRef> l1t::TkEGTauVectorRef

Definition at line 29 of file TkEGTau.h.

◆ TkElectronCollection

typedef std::vector<TkElectron> l1t::TkElectronCollection

Definition at line 16 of file TkElectronFwd.h.

◆ TkElectronRef

Definition at line 20 of file TkElectronFwd.h.

◆ TkElectronRefVector

Definition at line 21 of file TkElectronFwd.h.

◆ TkElectronRegionalOutput

Definition at line 23 of file TkElectronFwd.h.

◆ TkElectronVectorRef

Definition at line 22 of file TkElectronFwd.h.

◆ TkEmCollection

typedef std::vector<TkEm> l1t::TkEmCollection

Definition at line 17 of file TkEmFwd.h.

◆ TkEmRef

Definition at line 21 of file TkEmFwd.h.

◆ TkEmRefVector

Definition at line 22 of file TkEmFwd.h.

◆ TkEmRegionalOutput

Definition at line 24 of file TkEmFwd.h.

◆ TkEmVectorRef

typedef std::vector<TkEmRef> l1t::TkEmVectorRef

Definition at line 23 of file TkEmFwd.h.

◆ TkEtMissCollection

typedef std::vector<TkEtMiss> l1t::TkEtMissCollection

Definition at line 10 of file TkEtMissFwd.h.

◆ TkGlbMuonCollection

typedef std::vector<TkGlbMuon> l1t::TkGlbMuonCollection

Definition at line 16 of file TkGlbMuonFwd.h.

◆ TkGlbMuonRef

Definition at line 20 of file TkGlbMuonFwd.h.

◆ TkGlbMuonRefVector

Definition at line 21 of file TkGlbMuonFwd.h.

◆ TkGlbMuonVectorRef

typedef std::vector<TkGlbMuonRef> l1t::TkGlbMuonVectorRef

Definition at line 22 of file TkGlbMuonFwd.h.

◆ TkHTMissCollection

typedef std::vector<TkHTMiss> l1t::TkHTMissCollection

Definition at line 10 of file TkHTMissFwd.h.

◆ TkJetCollection

typedef std::vector<TkJet> l1t::TkJetCollection

Definition at line 20 of file TkJetFwd.h.

◆ TkJetRef

Definition at line 22 of file TkJetFwd.h.

◆ TkJetRefProd

Definition at line 16 of file TkJetFwd.h.

◆ TkJetRefVector

Definition at line 23 of file TkJetFwd.h.

◆ TkJetVectorRef

typedef std::vector<TkJetRef> l1t::TkJetVectorRef

Definition at line 24 of file TkJetFwd.h.

◆ TkJetWordCollection

Definition at line 191 of file TkJetWord.h.

◆ TkMuonCollection

typedef std::vector<TkMuon> l1t::TkMuonCollection

Definition at line 16 of file TkMuonFwd.h.

◆ TkMuonRef

Definition at line 20 of file TkMuonFwd.h.

◆ TkMuonRefVector

Definition at line 21 of file TkMuonFwd.h.

◆ TkMuonVectorRef

typedef std::vector<TkMuonRef> l1t::TkMuonVectorRef

Definition at line 22 of file TkMuonFwd.h.

◆ TkPhiCandidateCollection

using l1t::TkPhiCandidateCollection = typedef std::vector<TkPhiCandidate>

Definition at line 17 of file TkPhiCandidateFwd.h.

◆ TkPhiCandidateRef

Definition at line 18 of file TkPhiCandidateFwd.h.

◆ TkPhiCandidateRefVector

Definition at line 19 of file TkPhiCandidateFwd.h.

◆ TkPhiCandidateVectorRef

using l1t::TkPhiCandidateVectorRef = typedef std::vector<TkPhiCandidateRef>

Definition at line 20 of file TkPhiCandidateFwd.h.

◆ TkTauCollection

typedef std::vector<TkTau> l1t::TkTauCollection

Definition at line 16 of file TkTauFwd.h.

◆ TkTauRef

Definition at line 20 of file TkTauFwd.h.

◆ TkTauRefVector

Definition at line 21 of file TkTauFwd.h.

◆ TkTauVectorRef

typedef std::vector<TkTauRef> l1t::TkTauVectorRef

Definition at line 22 of file TkTauFwd.h.

◆ TrackerMuonCollection

Definition at line 16 of file TrackerMuon.h.

◆ TrackerMuonRef

Definition at line 19 of file TrackerMuon.h.

◆ TrackerMuonRefVector

Definition at line 20 of file TrackerMuon.h.

◆ unpack_fct

typedef Unpacker*() l1t::unpack_fct()

Definition at line 9 of file UnpackerFactory.h.

◆ UnpackerFactoryT

Definition at line 10 of file UnpackerFactory.h.

◆ UnpackerMap

typedef std::map<int, std::shared_ptr<Unpacker> > l1t::UnpackerMap

Definition at line 25 of file PackingSetup.h.

◆ VertexCollection

typedef std::vector<Vertex> l1t::VertexCollection

Definition at line 31 of file Vertex.h.

◆ VertexWordCollection

typedef std::vector<VertexWord> l1t::VertexWordCollection

Definition at line 197 of file VertexWord.h.

◆ VertexWordRef

Definition at line 198 of file VertexWord.h.

◆ WriterFactory

Definition at line 85 of file WriterProxy.h.

◆ WriterProxyPtr

typedef std::unique_ptr<WriterProxy> l1t::WriterProxyPtr

Definition at line 35 of file DataWriterExt.h.

Enumeration Type Documentation

◆ block_t

Enumerator
MP7 
CTP7 
MTF7 

Definition at line 11 of file Block.h.

11 { MP7 = 0, CTP7, MTF7 };
Definition: Block.h:11

◆ cancel_t

Enumerator
bmtf_bmtf 
omtf_bmtf_pos 
omtf_emtf_pos 
omtf_omtf_pos 
emtf_emtf_pos 
omtf_bmtf_neg 
omtf_emtf_neg 
omtf_omtf_neg 
emtf_emtf_neg 

Definition at line 11 of file MicroGMTMatchQualLUT.h.

◆ cancelmode

Enumerator
tracks 
kftracks 
coordinate 

Definition at line 11 of file MicroGMTCancelOutUnit.h.

◆ GlobalObject

Enumerator
gtMu 
gtMuShower 
gtEG 
gtJet 
gtTau 
gtETM 
gtETT 
gtHTT 
gtHTM 
gtETMHF 
gtTowerCount 
gtMinBiasHFP0 
gtMinBiasHFM0 
gtMinBiasHFP1 
gtMinBiasHFM1 
gtETTem 
gtAsymmetryEt 
gtAsymmetryHt 
gtAsymmetryEtHF 
gtAsymmetryHtHF 
gtCentrality0 
gtCentrality1 
gtCentrality2 
gtCentrality3 
gtCentrality4 
gtCentrality5 
gtCentrality6 
gtCentrality7 
gtExternal 
gtZDCP 
gtZDCM 
ObjNull 

Definition at line 30 of file GlobalObject.h.

30  {
31  gtMu = 0,
32  gtMuShower = 1,
33  gtEG = 2,
34  gtJet = 3,
35  gtTau = 4,
36  gtETM = 5,
37  gtETT = 6,
38  gtHTT = 7,
39  gtHTM = 8,
40  gtETMHF = 9,
41  gtTowerCount = 10,
42  gtMinBiasHFP0 = 11,
43  gtMinBiasHFM0 = 12,
44  gtMinBiasHFP1 = 13,
45  gtMinBiasHFM1 = 14,
46  gtETTem = 15,
47  gtAsymmetryEt = 16,
48  gtAsymmetryHt = 17,
49  gtAsymmetryEtHF = 18,
50  gtAsymmetryHtHF = 19,
51  gtCentrality0 = 20,
52  gtCentrality1 = 21,
53  gtCentrality2 = 22,
54  gtCentrality3 = 23,
55  gtCentrality4 = 24,
56  gtCentrality5 = 25,
57  gtCentrality6 = 26,
58  gtCentrality7 = 27,
59  gtExternal = 28,
60  gtZDCP = 29,
61  gtZDCM = 30,
62  ObjNull = 31,
63  };

◆ GtConditionCategory

condition categories

Enumerator
CondNull 
CondMuon 
CondCalo 
CondEnergySum 
CondCorrelation 
CondExternal 
CondCorrelationWithOverlapRemoval 
CondCorrelationThreeBody 
CondMuonShower 
CondEnergySumZdc 
CondAXOL1TL 
GtConditionCategoryInvalid 

Definition at line 97 of file GlobalDefinitions.h.

◆ GtConditionType

condition types TypeNull: null type - for condition constructor only Type1s : one particle Type2s : two particles, same type, no spatial correlations among them Type2wsc : two particles, same type, with spatial correlations among them Type2cor : two particles, different type, with spatial correlations among them Type3s : three particles, same type Type4s : four particles, same type TypeETM, TypeETT, TypeHTT, TypeHTM : ETM, ETT, HTT, HTM TypeExternal: external conditions (logical result only; definition in L1 GT external systems)

Enumerator
TypeNull 
Type1s 
Type2s 
Type2wsc 
Type2cor 
Type3s 
Type4s 
TypeETM 
TypeETT 
TypeHTT 
TypeHTM 
TypeETMHF 
TypeTowerCount 
TypeMinBiasHFP0 
TypeMinBiasHFM0 
TypeMinBiasHFP1 
TypeMinBiasHFM1 
TypeETTem 
TypeExternal 
Type2corWithOverlapRemoval 
TypeCent0 
TypeCent1 
TypeCent2 
TypeCent3 
TypeCent4 
TypeCent5 
TypeCent6 
TypeCent7 
TypeAsymEt 
TypeAsymHt 
TypeAsymEtHF 
TypeAsymHtHF 
TypeZDCP 
TypeZDCM 
TypeAXOL1TL 
GtConditionTypeInvalid 

Definition at line 49 of file GlobalDefinitions.h.

49  {
50  TypeNull,
51  Type1s,
52  Type2s,
53  Type2wsc,
54  Type2cor,
55  Type3s,
56  Type4s,
57  TypeETM,
58  TypeETT,
59  TypeHTT,
60  TypeHTM,
61  TypeETMHF,
67  TypeETTem,
70  TypeCent0,
71  TypeCent1,
72  TypeCent2,
73  TypeCent3,
74  TypeCent4,
75  TypeCent5,
76  TypeCent6,
77  TypeCent7,
78  TypeAsymEt,
79  TypeAsymHt,
82  TypeZDCP,
83  TypeZDCM,
86  };

◆ L1GtBoardType

board types in GT

Enumerator
MP7 
BoardNull 
L1GtBoardTypeInvalid 

Definition at line 29 of file GlobalDefinitions.h.

◆ tftype

Enumerator
bmtf 
omtf_neg 
omtf_pos 
emtf_neg 
emtf_pos 

Definition at line 8 of file RegionalMuonCandFwd.h.

◆ TrigFunc_t

Enumerator
COS 
SIN 

Definition at line 64 of file TriggerMenuParser.h.

64 { COS, SIN } TrigFunc_t;
#define COS(A)
#define SIN(A)

◆ UseEventSetupIn

enum l1t::UseEventSetupIn
strong
Enumerator
Run 
Event 
RunAndEvent 

Definition at line 42 of file L1TGlobalUtil.h.

Function Documentation

◆ bitShift()

int l1t::bitShift ( int  num,
int  bits 
)
inline

◆ calibrateAndRankJets()

void l1t::calibrateAndRankJets ( CaloParamsHelper const *  params,
const std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 12 of file legacyGtHelper.cc.

References PVValHelper::eta, input, hltrates_dqm_sourceclient-live_cfg::offset, submitPVValidationJobs::params, and DiDispStaMuonMonitor_cfi::pt.

Referenced by l1t::Stage1Layer2JetAlgorithmImpSimpleHW::processEvent().

14  {
15  for (std::vector<l1t::Jet>::const_iterator itJet = input->begin(); itJet != input->end(); ++itJet) {
16  unsigned int pt = itJet->hwPt();
17  if (pt > ((1 << 10) - 1))
18  pt = ((1 << 10) - 1);
19  unsigned int eta = itJet->hwEta();
20  if (eta > 10) { // LUT is symmetric in eta. For eta>10 map to corresponding eta<10 bin
21  int offset = 2 * (eta - 10) - 1;
22  eta = eta - offset;
23  }
24  unsigned int lutAddress = (eta << 10) + pt;
25 
26  unsigned int rank = params->jetCalibrationLUT()->data(lutAddress);
27 
28  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
29  l1t::Jet outJet(*&ldummy, rank, itJet->hwEta(), itJet->hwPhi(), itJet->hwQual());
30  output->push_back(outJet);
31  }
32  }
static std::string const input
Definition: EdmProvDump.cc:50
Definition: Jet.h:20
Definition: output.py:1

◆ calibrateAndRankTaus()

void l1t::calibrateAndRankTaus ( CaloParamsHelper const *  params,
const std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 34 of file legacyGtHelper.cc.

References PVValHelper::eta, input, submitPVValidationJobs::params, and DiDispStaMuonMonitor_cfi::pt.

Referenced by l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().

36  {
37  for (std::vector<l1t::Tau>::const_iterator itTau = input->begin(); itTau != input->end(); ++itTau) {
38  unsigned int pt = itTau->hwPt();
39  if (pt > ((1 << 10) - 1))
40  pt = ((1 << 10) - 1);
41  unsigned int eta = itTau->hwEta();
42  unsigned int lutAddress = (eta << 10) + pt;
43 
44  unsigned int rank = params->tauCalibrationLUT()->data(lutAddress);
45 
46  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
47  l1t::Tau outTau(*&ldummy, rank, itTau->hwEta(), itTau->hwPhi(), itTau->hwQual());
48  output->push_back(outTau);
49  }
50  }
Definition: Tau.h:20
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ castTo()

template<class T >
T l1t::castTo ( const char *  arg)

Definition at line 159 of file Parameter.h.

159  {
160  return castTo_impl<T>(arg, std::is_integral<T>(), std::is_floating_point<T>());
161  }
A arg
Definition: Factorize.h:31

◆ castTo< bool >()

template<>
bool l1t::castTo< bool > ( const char *  arg)

Definition at line 84 of file Parameter.cc.

84  {
85  if (strlen(arg) > 3) {
86  // look for "true"
87  if (strstr(arg, "true") != nullptr && strstr(arg, "false") == nullptr)
88  return true;
89  // look for "false"
90  if (strstr(arg, "true") == nullptr && strstr(arg, "false") != nullptr)
91  return false;
92  }
93  // look for "a number
94  char *endptr = nullptr;
95  long retval = strtol(arg, &endptr, 0);
96  if (*endptr == '\0')
97  return retval;
98  // nothing worked
99  throw runtime_error("Cannot convert '" + string(arg) + "' to boolean");
100  }
A arg
Definition: Factorize.h:31

◆ castTo< char >()

template<>
char l1t::castTo< char > ( const char *  arg)

Definition at line 103 of file Parameter.cc.

References castTo< long long >().

103  {
104  return castTo<long long>(arg);
105  }
A arg
Definition: Factorize.h:31
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:73

◆ castTo< double >()

template<>
double l1t::castTo< double > ( const char *  arg)

Definition at line 133 of file Parameter.cc.

References castTo< long double >().

133  {
134  return castTo<long double>(arg);
135  }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:120
A arg
Definition: Factorize.h:31

◆ castTo< float >()

template<>
float l1t::castTo< float > ( const char *  arg)

Definition at line 129 of file Parameter.cc.

References castTo< long double >().

129  {
130  return castTo<long double>(arg);
131  }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:120
A arg
Definition: Factorize.h:31

◆ castTo< int >()

template<>
int l1t::castTo< int > ( const char *  arg)

Definition at line 111 of file Parameter.cc.

References castTo< long long >().

111  {
112  return castTo<long long>(arg);
113  }
A arg
Definition: Factorize.h:31
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:73

◆ castTo< long >()

template<>
long l1t::castTo< long > ( const char *  arg)

Definition at line 115 of file Parameter.cc.

References castTo< long long >().

115  {
116  return castTo<long long>(arg);
117  }
A arg
Definition: Factorize.h:31
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:73

◆ castTo< long double >()

template<>
long double l1t::castTo< long double > ( const char *  arg)

Definition at line 120 of file Parameter.cc.

Referenced by castTo< double >(), castTo< float >(), and castTo_impl().

120  {
121  char *endptr = nullptr;
122  long double retval = strtold(arg, &endptr);
123  if (*endptr == '\0')
124  return retval;
125  else
126  throw runtime_error("Cannot convert '" + string(arg) + "' to floating point type");
127  }
A arg
Definition: Factorize.h:31

◆ castTo< long long >()

template<>
long long l1t::castTo< long long > ( const char *  arg)

Definition at line 73 of file Parameter.cc.

Referenced by castTo< char >(), castTo< int >(), castTo< long >(), castTo< short >(), and castToInt_impl().

73  {
74  char *endptr = nullptr;
75  long long retval = strtoll(arg, &endptr, 0);
76  if (*endptr == '\0')
77  return retval;
78  else
79  throw runtime_error("Cannot convert '" + string(arg) + "' to integral type");
80  }
A arg
Definition: Factorize.h:31

◆ castTo< short >()

template<>
short l1t::castTo< short > ( const char *  arg)

Definition at line 107 of file Parameter.cc.

References castTo< long long >().

107  {
108  return castTo<long long>(arg);
109  }
A arg
Definition: Factorize.h:31
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:73

◆ castTo< unsigned char >()

template<>
unsigned char l1t::castTo< unsigned char > ( const char *  arg)

Definition at line 147 of file Parameter.cc.

References castTo< unsigned long long >().

147  {
149  }
A arg
Definition: Factorize.h:31
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:138

◆ castTo< unsigned int >()

template<>
unsigned int l1t::castTo< unsigned int > ( const char *  arg)

Definition at line 155 of file Parameter.cc.

References castTo< unsigned long long >().

155  {
157  }
A arg
Definition: Factorize.h:31
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:138

◆ castTo< unsigned long >()

template<>
unsigned long l1t::castTo< unsigned long > ( const char *  arg)

Definition at line 159 of file Parameter.cc.

References castTo< unsigned long long >().

159  {
161  }
A arg
Definition: Factorize.h:31
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:138

◆ castTo< unsigned long long >()

template<>
unsigned long long l1t::castTo< unsigned long long > ( const char *  arg)

Definition at line 138 of file Parameter.cc.

Referenced by castTo< unsigned char >(), castTo< unsigned int >(), castTo< unsigned long >(), castTo< unsigned short >(), and castToInt_impl().

138  {
139  char *endptr = nullptr;
140  unsigned long long retval = strtoull(arg, &endptr, 0);
141  if (*endptr == '\0')
142  return retval;
143  else
144  throw runtime_error("Cannot convert '" + string(arg) + "' to unsigned integral type");
145  }
A arg
Definition: Factorize.h:31

◆ castTo< unsigned short >()

template<>
unsigned short l1t::castTo< unsigned short > ( const char *  arg)

Definition at line 151 of file Parameter.cc.

References castTo< unsigned long long >().

151  {
153  }
A arg
Definition: Factorize.h:31
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:138

◆ castTo_impl() [1/3]

template<class T >
T l1t::castTo_impl ( const char *  arg,
std::true_type  ,
std::false_type   
)

Definition at line 164 of file Parameter.h.

164  {
165  return castToInt_impl<T>(arg, std::is_unsigned<T>());
166  }
A arg
Definition: Factorize.h:31

◆ castTo_impl() [2/3]

template<class T >
T l1t::castTo_impl ( const char *  arg,
std::false_type  ,
std::true_type   
)

Definition at line 179 of file Parameter.h.

References castTo< long double >().

179  {
180  return castTo<long double>(arg);
181  }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:120
A arg
Definition: Factorize.h:31

◆ castTo_impl() [3/3]

template<class T >
T l1t::castTo_impl ( const char *  arg,
std::false_type  ,
std::false_type   
)

Definition at line 184 of file Parameter.h.

184  {
185  return T(arg);
186  }
A arg
Definition: Factorize.h:31
long double T

◆ castToInt_impl() [1/2]

template<class T >
T l1t::castToInt_impl ( const char *  arg,
std::true_type   
)

Definition at line 169 of file Parameter.h.

References castTo< unsigned long long >().

169  {
171  }
A arg
Definition: Factorize.h:31
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:138

◆ castToInt_impl() [2/2]

template<class T >
T l1t::castToInt_impl ( const char *  arg,
std::false_type   
)

Definition at line 174 of file Parameter.h.

References castTo< long long >().

174  {
175  return castTo<long long>(arg);
176  }
A arg
Definition: Factorize.h:31
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:73

◆ convertToLUT() [1/9]

l1t::LUT l1t::convertToLUT ( const std::vector< uint64_t > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 10 of file ConvertToLUT.h.

References mps_fire::i, l1t::LUT::read(), and findQualityFiles::v.

Referenced by convertToLUT(), L1TMuonGlobalParamsHelper::loadFromOnline(), and L1TCaloParamsOnlineProd::readCaloLayer2OnlineSettings().

10  {
11  unsigned int addrWidth = (32 - __builtin_clz(uint32_t(v.size() - 1)));
12  std::stringstream oss;
13  oss << "#<header> V1 " << addrWidth << " 31 </header> " << std::endl; // hardcode 32 bits for data
14  for (unsigned int i = 0; i < v.size(); i++)
15  oss << i << " " << v[i] << std::endl;
16  // add padding to 2^addrWidth rows
17  if (padding >= 0)
18  for (unsigned int i = v.size(); i < (size_t)(1 << addrWidth); i++)
19  oss << i << " " << padding << std::endl;
20 
21  l1t::LUT lut;
22  lut.read(oss);
23 
24  return lut;
25  }
int read(std::istream &stream)
Definition: LUT.cc:11
Definition: LUT.h:29

◆ convertToLUT() [2/9]

l1t::LUT l1t::convertToLUT ( const std::vector< char > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 27 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

27  {
28  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
29  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [3/9]

l1t::LUT l1t::convertToLUT ( const std::vector< short > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 30 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

30  {
31  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
32  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [4/9]

l1t::LUT l1t::convertToLUT ( const std::vector< int > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 33 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

33  {
34  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
35  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [5/9]

l1t::LUT l1t::convertToLUT ( const std::vector< long > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 36 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

36  {
37  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
38  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [6/9]

l1t::LUT l1t::convertToLUT ( const std::vector< long long > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 39 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

39  {
40  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
41  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [7/9]

l1t::LUT l1t::convertToLUT ( const std::vector< unsigned char > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 42 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

42  {
43  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
44  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [8/9]

l1t::LUT l1t::convertToLUT ( const std::vector< unsigned short > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 45 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

45  {
46  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
47  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ convertToLUT() [9/9]

l1t::LUT l1t::convertToLUT ( const std::vector< unsigned int > &  v,
int  padding = -1 
)
inlinenoexcept

Definition at line 48 of file ConvertToLUT.h.

References convertToLUT(), and findQualityFiles::v.

48  {
49  return convertToLUT(std::vector<uint64_t>(v.begin(), v.end()), padding);
50  }
l1t::LUT convertToLUT(const std::vector< unsigned int > &v, int padding=-1) noexcept
Definition: ConvertToLUT.h:48

◆ deltaGctPhi()

int l1t::deltaGctPhi ( const CaloRegion region,
const CaloRegion neighbor 
)

Definition at line 18 of file JetFinderMethods.cc.

References funct::abs(), change_name::diff, l1t::L1Candidate::hwPhi(), L1CaloRegionDetId::N_PHI, and nano_mu_digi_cff::region.

Referenced by slidingWindowJetFinder(), TwelveByTwelveFinder(), and TwoByTwoFinder().

18  {
19  int phi1 = region.hwPhi();
20  int phi2 = neighbor.hwPhi();
21  int diff = phi1 - phi2;
22  if (std::abs(phi1 - phi2) == L1CaloRegionDetId::N_PHI - 1) { //18 regions in phi
23  diff = -diff / std::abs(diff);
24  }
25  return diff;
26  }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static const unsigned N_PHI

◆ EGammaToGtScales()

void l1t::EGammaToGtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::EGamma > *  input,
std::vector< l1t::EGamma > *  output 
)

Definition at line 89 of file legacyGtHelper.cc.

References gtEta(), and input.

Referenced by l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpHI::processEvent(), and l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent().

91  {
92  for (std::vector<l1t::EGamma>::const_iterator itEGamma = input->begin(); itEGamma != input->end(); ++itEGamma) {
93  unsigned newEta = gtEta(itEGamma->hwEta());
94  unsigned newPhi = itEGamma->hwPhi();
95  const uint16_t rankPt = (uint16_t)itEGamma->hwPt(); //max value?
96 
97  //hwQual &10 == 10 means that the object came from a sort and is padding
98  if ((itEGamma->hwQual() & 0x10) == 0x10) {
99  newEta = 0x0;
100  newPhi = 0x0;
101  }
102 
103  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
104 
105  l1t::EGamma gtEGamma(*&ldummy, rankPt, newEta, newPhi, itEGamma->hwQual(), itEGamma->hwIso());
106  output->push_back(gtEGamma);
107  }
108  }
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ EtSumToGtScales()

void l1t::EtSumToGtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::EtSum > *  input,
std::vector< l1t::EtSum > *  output 
)

Definition at line 147 of file legacyGtHelper.cc.

References input, and L1Analysis::kMissingHt.

Referenced by l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(), l1t::Stage1Layer2EtSumAlgorithmImpHW::processEvent(), and l1t::Stage1Layer2EtSumAlgorithmImpHI::processEvent().

149  {
150  for (std::vector<l1t::EtSum>::const_iterator itEtSum = input->begin(); itEtSum != input->end(); ++itEtSum) {
151  uint16_t rankPt;
152  // Hack for now to make sure they come out with the right scale
153  //rankPt = params->jetScale().rank((uint16_t)itEtSum->hwPt());
154  rankPt = (uint16_t)itEtSum->hwPt();
155  if (EtSum::EtSumType::kMissingHt == itEtSum->getType()) {
156  // if(rankPt > params->HtMissScale().linScaleMax()) rankPt = params->HtMissScale().linScaleMax();
157  // params->HtMissScale().linScaleMax() always returns zero. Hardcode 512 for now
158 
159  // comment out for mht/ht (already in GT scale)
160  //if(rankPt > 512) rankPt = 512;
161  //rankPt = params->HtMissScale().rank(rankPt*params->emScale().linearLsb());
162  }
163 
164  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
165 
166  l1t::EtSum gtEtSum(*&ldummy, itEtSum->getType(), rankPt, 0, itEtSum->hwPhi(), itEtSum->hwQual());
167 
168  output->push_back(gtEtSum);
169  }
170  }
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ getBXRange()

void l1t::getBXRange ( int  nbx,
int &  first,
int &  last 
)

◆ getOptionalParam() [1/2]

template<typename T , typename K >
std::optional<T> l1t::getOptionalParam ( const std::string &  name,
const edm::ParameterSet config,
std::function< T(K)>  conv 
)
inline

Definition at line 13 of file L1GTOptionalParam.h.

References conv, and Skims_PA_cff::name.

15  {
16  if (config.exists(name)) {
17  return std::optional<T>(conv(config.getParameter<K>(name)));
18  }
19  return std::optional<T>();
20  }
Definition: config.py:1
EPOS::IO_EPOS conv

◆ getOptionalParam() [2/2]

template<typename T >
std::optional<T> l1t::getOptionalParam ( const std::string &  name,
const edm::ParameterSet config 
)
inline

Definition at line 23 of file L1GTOptionalParam.h.

References Skims_PA_cff::name.

23  {
24  if (config.exists(name)) {
25  return std::optional<T>(config.getParameter<T>(name));
26  }
27  return std::optional<T>();
28  }
Definition: config.py:1
long double T

◆ getParamVector()

template<typename T , typename K >
std::vector<T> l1t::getParamVector ( const std::string &  name,
const edm::ParameterSet config,
std::function< T(K)>  conv 
)
inline

Definition at line 18 of file L1GTSingleCollectionCut.h.

References conv, mps_fire::i, Skims_PA_cff::name, and contentValuesCheck::values.

20  {
21  const std::vector<K>& values = config.getParameter<std::vector<K>>(name);
22  std::vector<T> convertedValues(values.size());
23  for (std::size_t i = 0; i < values.size(); i++) {
24  convertedValues[i] = conv(values[i]);
25  }
26  return convertedValues;
27  }
Definition: config.py:1
EPOS::IO_EPOS conv

◆ GlobalObjectEnumToString()

std::string l1t::GlobalObjectEnumToString ( const GlobalObject )

◆ GlobalObjectStringToEnum()

l1t::GlobalObject l1t::GlobalObjectStringToEnum ( const std::string &  label)

Definition at line 18 of file GlobalObject.cc.

References kGlobalObjectEnumStringPairs, label, Skims_PA_cff::name, ObjNull, runTheMatrix::ret, and relativeConstraints::value.

18  {
20  unsigned int nMatches = 0;
21 
22  for (auto const& [value, name] : l1t::kGlobalObjectEnumStringPairs) {
23  if (name == label) {
24  ++nMatches;
25  ret = value;
26  }
27  }
28 
29  if (nMatches == 0) {
30  edm::LogWarning("l1tGlobalObjectStringToEnum")
31  << "Failed to find l1t::GlobalObject corresponding to \"" << label << "\"."
32  << " Will return l1t::ObjNull (" << ret << ").";
33  } else if (nMatches > 1) {
34  edm::LogError("l1tGlobalObjectStringToEnum")
35  << "Multiple matches (" << nMatches << ") found for label \"" << label << "\"."
36  << " Will return last valid match (" << ret << ")."
37  << " Please remove duplicates from l1t::kGlobalObjectEnumStringPairs !!";
38  }
39 
40  return ret;
41 }
ret
prodAgent to be discontinued
GlobalObject
Definition: GlobalObject.h:30
Log< level::Error, false > LogError
char const * label
const std::vector< std::pair< GlobalObject, std::string > > kGlobalObjectEnumStringPairs
Definition: GlobalObject.h:65
Definition: value.py:1
Log< level::Warning, false > LogWarning

◆ gtEta()

const unsigned int l1t::gtEta ( const unsigned int  iEta)

Definition at line 172 of file legacyGtHelper.cc.

References l1tPhase2CaloJetEmulator_cfi::iEta.

Referenced by EGammaToGtScales(), JetToGtEtaScales(), l1t::Stage2Layer2DemuxJetAlgoFirmwareImp1::processEvent(), and TauToGtEtaScales().

172  {
173  unsigned rctEta = (iEta < 11 ? 10 - iEta : iEta - 11);
174  return (((rctEta % 7) & 0x7) | (iEta < 11 ? 0x8 : 0));
175  }

◆ hgcal_bad_codec()

constexpr unsigned char l1t::hgcal_bad_codec ( 0xff  )

◆ HICaloRingSubtraction()

void l1t::HICaloRingSubtraction ( const std::vector< l1t::CaloRegion > &  regions,
std::vector< l1t::CaloRegion > *  subRegions,
CaloParamsHelper const *  params 
)

------------— For heavy ion ----------------------------------—

Definition at line 18 of file PUSubtractionMethods.cc.

References mps_fire::i, SiStripPI::max, L1CaloRegionDetId::N_ETA, and nano_mu_digi_cff::region.

Referenced by l1t::Stage1Layer2SingleTrackHI::processEvent(), l1t::Stage1Layer2JetAlgorithmImpHI::processEvent(), and RegionCorrection().

20  {
21  int puLevelHI[L1CaloRegionDetId::N_ETA];
22 
23  for (unsigned i = 0; i < L1CaloRegionDetId::N_ETA; ++i) {
24  puLevelHI[i] = 0;
25  }
26 
27  for (std::vector<CaloRegion>::const_iterator region = regions.begin(); region != regions.end(); region++) {
28  puLevelHI[region->hwEta()] += region->hwPt();
29  }
30 
31  for (unsigned i = 0; i < L1CaloRegionDetId::N_ETA; ++i) {
32  //puLevelHI[i] = floor(((double)puLevelHI[i] / (double)L1CaloRegionDetId::N_PHI)+0.5);
33  puLevelHI[i] = (puLevelHI[i] + 9) * 455 / (1 << 13); // approx equals X/18 +0.5
34  }
35 
36  for (std::vector<CaloRegion>::const_iterator region = regions.begin(); region != regions.end(); region++) {
37  int subPt = std::max(0, region->hwPt() - puLevelHI[region->hwEta()]);
38  int subEta = region->hwEta();
39  int subPhi = region->hwPhi();
40 
41  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
42 
43  CaloRegion newSubRegion(
44  *&ldummy, 0, 0, subPt, subEta, subPhi, region->hwQual(), region->hwEtEm(), region->hwEtHad());
45  subRegions->push_back(newSubRegion);
46  }
47  }
static const unsigned N_ETA

◆ JetCalibration()

void l1t::JetCalibration ( std::vector< l1t::Jet > *  uncalibjets,
std::vector< double >  jetCalibrationParams,
std::vector< l1t::Jet > *  jets,
std::string  jetCalibrationType,
double  jetLSB 
)

Definition at line 12 of file JetCalibrationMethods.cc.

References simBeamSpotPI::alpha, CustomPhysics_cfi::gamma, createfilelist::int, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::jetCalibrationParams, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::jetCalibrationType, reco::btau::jetEta, reco::btau::jetPhi, reco::btau::jetPt, and PDWG_EXODelayedJetMET_cff::jets.

Referenced by l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2JetAlgorithmImpPP::processEvent().

16  {
17  for (std::vector<l1t::Jet>::const_iterator uncalibjet = uncalibjets->begin(); uncalibjet != uncalibjets->end();
18  ++uncalibjet) {
19  if (jetCalibrationType == "None") {
20  const l1t::Jet& corrjets = *uncalibjet;
21  jets->push_back(corrjets);
22  continue;
23  }
24 
25  if (jetCalibrationType == "Stage1JEC") {
26  int jetPt = (uncalibjet->hwPt()) * jetLSB; // correction factors are parameterized as functions of physical pt
27  int jetPhi = uncalibjet->hwPhi();
28  int jetEta = uncalibjet->hwEta();
29  int jetQual = uncalibjet->hwQual();
30  double jpt = 0.0;
31 
32  double alpha = jetCalibrationParams[2 * jetEta + 0]; //Scale factor (See jetSF_cfi.py)
33  double gamma = ((jetCalibrationParams[2 * jetEta + 1])); //Offset
34 
35  jpt = jetPt * alpha + gamma;
36  unsigned int corjetET = (int)(jpt / jetLSB);
37 
38  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0, 0, 0, 0);
39  l1t::Jet corrjets(*&jetLorentz, corjetET, jetEta, jetPhi, jetQual);
40 
41  jets->push_back(corrjets);
42  }
43  }
44  }
Definition: Jet.h:20

◆ JetToGtEtaScales()

void l1t::JetToGtEtaScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 52 of file legacyGtHelper.cc.

References gtEta(), gtJet, and input.

Referenced by l1t::Stage1Layer2JetAlgorithmImpHI::processEvent(), l1t::Stage1Layer2JetAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2JetAlgorithmImpSimpleHW::processEvent().

54  {
55  for (std::vector<l1t::Jet>::const_iterator itJet = input->begin(); itJet != input->end(); ++itJet) {
56  unsigned newPhi = itJet->hwPhi();
57  unsigned newEta = gtEta(itJet->hwEta());
58 
59  // jets with hwQual & 10 ==10 are "padding" jets from a sort, set their eta and phi
60  // to the max value
61  if ((itJet->hwQual() & 0x10) == 0x10) {
62  newEta = 0x0;
63  newPhi = 0x0;
64  }
65 
66  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
67 
68  l1t::Jet gtJet(*&ldummy, itJet->hwPt(), newEta, newPhi, itJet->hwQual());
69  output->push_back(gtJet);
70  }
71  }
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:50
Definition: Jet.h:20
Definition: output.py:1

◆ JetToGtPtScales()

void l1t::JetToGtPtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 73 of file legacyGtHelper.cc.

References gtJet, input, and submitPVValidationJobs::params.

Referenced by l1t::Stage1Layer2JetAlgorithmImpHI::processEvent(), and l1t::Stage1Layer2JetAlgorithmImpPP::processEvent().

75  {
76  for (std::vector<l1t::Jet>::const_iterator itJet = input->begin(); itJet != input->end(); ++itJet) {
77  uint16_t linPt = (uint16_t)itJet->hwPt();
78  if (linPt > params->jetScale().linScaleMax())
79  linPt = params->jetScale().linScaleMax();
80  const uint16_t rankPt = params->jetScale().rank(linPt);
81 
82  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
83 
84  l1t::Jet gtJet(*&ldummy, rankPt, itJet->hwEta(), itJet->hwPhi(), itJet->hwQual());
85  output->push_back(gtJet);
86  }
87  }
static std::string const input
Definition: EdmProvDump.cc:50
Definition: Jet.h:20
Definition: output.py:1

◆ l1GtBoardTypeEnumToString()

std::string l1t::l1GtBoardTypeEnumToString ( const L1GtBoardType boardType)

Definition at line 120 of file GlobalDefinitions.cc.

References BoardNull, and mps_fire::result.

120  {
121  char const *result = valueToKey(boardType, l1GtBoardTypeStringToEnumMap);
122  if (boardType == l1t::BoardNull) {
123  edm::LogInfo("L1TGlobal") << "\n l1t::BoardNull means no valid board type defined!";
124  }
125  if (!result) {
126  edm::LogInfo("L1TGlobal") << "\n '" << boardType << "' is not a recognized l1t::L1GtBoardType. "
127  << "\n Return l1t::BoardNull, which means no valid board type defined!";
128  return "l1t::BoardNull";
129  }
130  return result;
131 }
Log< level::Info, false > LogInfo

◆ l1GtBoardTypeStringToEnum()

l1t::L1GtBoardType l1t::l1GtBoardTypeStringToEnum ( const std::string &  label)

Definition at line 105 of file GlobalDefinitions.cc.

References BoardNull, BoardNull, label, and relativeConstraints::value.

105  {
106  l1t::L1GtBoardType value = keyToValue(label.c_str(), l1GtBoardTypeStringToEnumMap);
107  if (value == (l1t::L1GtBoardType)-1) {
108  edm::LogInfo("L1TGlobal") << "\n '" << label
109  << "' is not a recognized l1t::L1GtBoardType. \n Return l1t::BoardNull.";
111  }
112 
113  if (value == l1t::BoardNull) {
114  edm::LogInfo("L1TGlobal") << "\n l1t::BoardNull means no valid board type defined!";
115  }
116 
117  return value;
118 }
L1GtBoardType
board types in GT
char const * label
Definition: value.py:1
Log< level::Info, false > LogInfo

◆ l1GtConditionCategoryEnumToString()

std::string l1t::l1GtConditionCategoryEnumToString ( const GtConditionCategory conditionCategory)

Definition at line 182 of file GlobalDefinitions.cc.

References CondNull, and mps_fire::result.

182  {
183  char const *result = valueToKey(conditionCategory, l1GtConditionCategoryStringToEnumMap);
184  if (conditionCategory == l1t::CondNull)
185  edm::LogInfo("L1TGlobal") << "\n Return l1t::CondNull, which means no valid condition category defined!";
186 
187  if (!result) {
188  result = "l1t::CondNull";
189  edm::LogInfo("L1TGlobal") << "\n '" << conditionCategory << "' is not a recognized l1t::GtConditionCategory. "
190  << "\n Return l1t::CondNull, which means no valid condition category defined!";
191  }
192 
193  return result;
194 }
Log< level::Info, false > LogInfo

◆ l1GtConditionCategoryStringToEnum()

l1t::GtConditionCategory l1t::l1GtConditionCategoryStringToEnum ( const std::string &  label)

Definition at line 164 of file GlobalDefinitions.cc.

References CondNull, CondNull, label, and relativeConstraints::value.

164  {
165  l1t::GtConditionCategory value = keyToValue(label.c_str(), l1GtConditionCategoryStringToEnumMap);
166  // in case of unrecognized l1t::GtConditionCategory, return l1t::CondNull
167  // to be dealt by the corresponding module
168  if (value == (l1t::GtConditionCategory)-1) {
169  edm::LogInfo("L1TGlobal") << "\n '" << label
170  << "' is not a recognized l1t::GtConditionCategory. \n Return l1t::CondNull.";
171 
173  }
174 
175  if (value == l1t::CondNull) {
176  edm::LogInfo("L1TGlobal") << "\n l1t::CondNull means no valid condition category defined!";
177  }
178 
179  return value;
180 }
GtConditionCategory
condition categories
char const * label
Definition: value.py:1
Log< level::Info, false > LogInfo

◆ l1GtConditionTypeEnumToString()

std::string l1t::l1GtConditionTypeEnumToString ( const GtConditionType conditionType)

Definition at line 152 of file GlobalDefinitions.cc.

References mps_fire::result, and TypeNull.

152  {
153  const char *result = valueToKey(conditionType, l1GtConditionTypeStringToEnumMap);
154  if (conditionType == l1t::TypeNull)
155  edm::LogInfo("L1TGlobal") << "\n Return l1t::TypeNull, which means no valid condition type defined!";
156  if (!result) {
157  result = "l1t::TypeNull";
158  edm::LogInfo("L1TGlobal") << "\n '" << conditionType << "' is not a recognized l1t::GtConditionType. "
159  << "\n Return l1t::TypeNull, which means no valid condition type defined!";
160  }
161  return result;
162 }
Log< level::Info, false > LogInfo

◆ l1GtConditionTypeStringToEnum()

l1t::GtConditionType l1t::l1GtConditionTypeStringToEnum ( const std::string &  label)

Definition at line 133 of file GlobalDefinitions.cc.

References label, TypeNull, TypeNull, and relativeConstraints::value.

133  {
134  l1t::GtConditionType value = keyToValue(label.c_str(), l1GtConditionTypeStringToEnumMap);
135 
136  // in case of unrecognized l1t::GtConditionType, return l1t::TypeNull
137  // to be dealt by the corresponding module
138  if (value == (l1t::GtConditionType)-1) {
139  edm::LogInfo("L1TGlobal") << "\n '" << label
140  << "' is not a recognized l1t::GtConditionType. \n Return l1t::TypeNull.";
141 
143  }
144 
145  if (value == l1t::TypeNull) {
146  edm::LogInfo("L1TGlobal") << "\n l1t::TypeNull means no valid condition type defined!";
147  }
148 
149  return value;
150 }
char const * label
Definition: value.py:1
Log< level::Info, false > LogInfo

◆ l1t_pack_int()

template<typename A , typename... Args>
A l1t::l1t_pack_int ( const Args &...  args)

Definition at line 18 of file L1GTEvaluationInterface.h.

References A, writedatasetfile::args, mps_fire::result, and edm::shift.

18  {
19  A result = 0;
20  std::size_t shift = 0;
21  (
22  [&result, &shift](const auto& arg) {
23  result(shift + arg.width - 1, shift) = arg;
24  shift += arg.width;
25  }(args),
26  ...);
27 
28  return result;
29  }
A arg
Definition: Factorize.h:31
static unsigned int const shift
Definition: APVGainStruct.h:7

◆ l1t_unpack_int()

template<typename A , typename... Args>
A l1t::l1t_unpack_int ( const A packed,
Args &&...  args 
)

◆ operator<<()

std::ostream & l1t::operator<< ( std::ostream &  os,
const l1t::CaloParamsHelper p 
)

Definition at line 16 of file CaloParamsHelper.cc.

16 { return os << "CaloParamsHelper..."; }

◆ operator>() [1/8]

bool l1t::operator> ( const l1t::Tau a,
const l1t::Tau b 
)

Definition at line 15 of file Stage2Layer2TauAlgorithmFirmwareImp1.cc.

References a, and b.

15 { return a.pt() > b.pt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [2/8]

bool l1t::operator> ( const l1t::EGamma a,
const l1t::EGamma b 
)

Definition at line 17 of file Stage2Layer2EGammaAlgorithmFirmwareImp1.cc.

References a, and b.

17 { return a.pt() > b.pt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [3/8]

bool l1t::operator> ( l1t::EGamma a,
l1t::EGamma b 
)
inline

Definition at line 18 of file Stage2Layer2DemuxEGAlgoFirmwareImp1.cc.

References a, and b.

18  {
19  if (a.pt() == b.pt()) {
20  if (a.hwPhi() == b.hwPhi()) {
21  return a.hwEta() > b.hwEta();
22  } else {
23  return a.hwPhi() > b.hwPhi();
24  }
25 
26  } else {
27  return a.pt() > b.pt();
28  }
29  }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [4/8]

bool l1t::operator> ( l1t::Tau a,
l1t::Tau b 
)
inline

Definition at line 18 of file Stage2Layer2DemuxTauAlgoFirmwareImp1.cc.

References a, and b.

18  {
19  if (a.pt() == b.pt()) {
20  if (a.hwPhi() == b.hwPhi()) {
21  return a.hwEta() > b.hwEta();
22  } else {
23  return a.hwPhi() > b.hwPhi();
24  }
25 
26  } else {
27  return a.pt() > b.pt();
28  }
29  }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [5/8]

bool l1t::operator> ( const l1t::Jet a,
const l1t::Jet b 
)

Definition at line 22 of file Stage2Layer2JetAlgorithmFirmwareImp1.cc.

References a, and b.

22 { return a.hwPt() > b.hwPt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [6/8]

bool l1t::operator> ( const l1t::Jet a,
l1t::Jet b 
)

Definition at line 41 of file L1TStage2CaloLayer2Comp.cc.

References a, and b.

41 { return a.hwPt() > b.hwPt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [7/8]

bool l1t::operator> ( const l1t::EGamma a,
l1t::EGamma b 
)

Definition at line 42 of file L1TStage2CaloLayer2Comp.cc.

References a, and b.

42 { return a.hwPt() > b.hwPt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ operator>() [8/8]

bool l1t::operator> ( const l1t::Tau a,
l1t::Tau b 
)

Definition at line 43 of file L1TStage2CaloLayer2Comp.cc.

References a, and b.

43 { return a.hwPt() > b.hwPt(); }
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

◆ pack15bits()

unsigned int l1t::pack15bits ( int  pt,
int  eta,
int  phi 
)

Definition at line 21 of file HardwareSortingMethods.cc.

References PVValHelper::eta, and DiDispStaMuonMonitor_cfi::pt.

21  {
22  return (((pt & 0x3f)) + ((eta & 0xf) << 6) + ((phi & 0x1f) << 10));
23  }

◆ pack16bits()

unsigned int l1t::pack16bits ( int  pt,
int  eta,
int  phi 
)

Definition at line 25 of file HardwareSortingMethods.cc.

References PVValHelper::eta, and DiDispStaMuonMonitor_cfi::pt.

25  {
26  return (0x8000 + ((pt & 0x3f)) + ((eta & 0xf) << 6) + ((phi & 0x1f) << 10));
27  }

◆ pack16bitsEgammaSpecial()

unsigned int l1t::pack16bitsEgammaSpecial ( int  pt,
int  eta,
int  phi 
)

Definition at line 29 of file HardwareSortingMethods.cc.

References PVValHelper::eta, and DiDispStaMuonMonitor_cfi::pt.

29  {
30  return (0x8000 + ((pt & 0x3f) << 9) + ((eta & 0xf)) + ((phi & 0x1f) << 4));
31  }

◆ passThroughJets()

void l1t::passThroughJets ( const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 29 of file JetFinderMethods.cc.

References reco::btau::jetEta, reco::btau::jetPhi, and nano_mu_digi_cff::region.

29  {
30  for (std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
31  int jetQual = 0;
32  if (region->hwEta() < 4 || region->hwEta() > 17)
33  jetQual = 2;
34  int jetET = region->hwPt();
35  int jetEta = region->hwEta();
36  int jetPhi = region->hwPhi();
37 
38  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0, 0, 0, 0);
39  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
40  uncalibjets->push_back(theJet);
41  }
42  }
Definition: Jet.h:20

◆ PYBIND11_MODULE()

l1t::PYBIND11_MODULE ( libL1TriggerPhase2L1GT  ,
 
)

Definition at line 72 of file L1GTScales.cc.

References spu::def(), init, l1t::L1GTScales::isolation_shift(), visualization-live-secondInstance_cfg::m, l1t::L1GTScales::neg_chg(), l1t::L1GTScales::pos_chg(), l1t::L1GTScales::to_hw_beta(), l1t::L1GTScales::to_hw_dRSquared(), l1t::L1GTScales::to_hw_eta(), l1t::L1GTScales::to_hw_InvMassSqrDiv2(), l1t::L1GTScales::to_hw_isolation(), l1t::L1GTScales::to_hw_mass(), l1t::L1GTScales::to_hw_phi(), l1t::L1GTScales::to_hw_pT(), l1t::L1GTScales::to_hw_PtSquared(), l1t::L1GTScales::to_hw_sca_sum(), l1t::L1GTScales::to_hw_seed_pT(), l1t::L1GTScales::to_hw_seed_z0(), l1t::L1GTScales::to_hw_sum_pT_pv(), l1t::L1GTScales::to_hw_TransMassSqrDiv2(), and l1t::L1GTScales::to_hw_z0().

72  {
73  py::class_<L1GTScales>(m, "L1GTScales")
74  .def(py::init<double,
75  double,
76  double,
77  double,
78  /*double, */
79  double,
80  double,
81  double,
82  double,
83  double,
84  double,
85  double,
86  int,
87  int>())
88  .def("to_hw_pT", &L1GTScales::to_hw_pT)
89  .def("to_hw_phi", &L1GTScales::to_hw_phi)
90  .def("to_hw_eta", &L1GTScales::to_hw_eta)
91  .def("to_hw_z0", &L1GTScales::to_hw_z0)
92  .def("to_hw_isolation", &L1GTScales::to_hw_isolation)
93  .def("isolation_shift", &L1GTScales::isolation_shift)
94  .def("to_hw_beta", &L1GTScales::to_hw_beta)
95  .def("to_hw_mass", &L1GTScales::to_hw_mass)
96  .def("to_hw_seed_pT", &L1GTScales::to_hw_seed_pT)
97  .def("to_hw_seed_z0", &L1GTScales::to_hw_seed_z0)
98  .def("to_hw_sca_sum", &L1GTScales::to_hw_sca_sum)
99  .def("to_hw_sum_pT_pv", &L1GTScales::to_hw_sum_pT_pv)
100  .def("to_hw_dRSquared", &L1GTScales::to_hw_dRSquared)
101  .def("to_hw_InvMassSqrDiv2", &L1GTScales::to_hw_InvMassSqrDiv2)
102  .def("to_hw_TransMassSqrDiv2", &L1GTScales::to_hw_TransMassSqrDiv2)
103  .def("to_hw_PtSquared", &L1GTScales::to_hw_PtSquared)
104  .def("neg_chg", &L1GTScales::neg_chg)
105  .def("pos_chg", &L1GTScales::pos_chg);
106  }
int def(FILE *, FILE *, int)
int init
Definition: HydjetWrapper.h:66

◆ RegionCorrection()

void l1t::RegionCorrection ( const std::vector< l1t::CaloRegion > &  regions,
std::vector< l1t::CaloRegion > *  subRegions,
CaloParamsHelper const *  params 
)

------— New region correction (PUsub, no response correction at the moment) --------—

Definition at line 69 of file PUSubtractionMethods.cc.

References HICaloRingSubtraction(), createfilelist::int, SiStripPI::max, submitPVValidationJobs::params, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::regionPUSType, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2JetAlgorithmImpPP::processEvent(), l1t::Stage1Layer2EtSumAlgorithmImpHW::processEvent(), l1t::Stage1Layer2TauAlgorithmImpHW::processEvent(), l1t::Stage1Layer2JetAlgorithmImpSimpleHW::processEvent(), and l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent().

71  {
72  std::string regionPUSType = params->regionPUSType();
73 
74  if (regionPUSType == "None") {
75  for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
76  notCorrectedRegion != regions.end();
77  notCorrectedRegion++) {
78  const CaloRegion &newSubRegion = *notCorrectedRegion;
79  subRegions->push_back(newSubRegion);
80  }
81  }
82 
83  if (regionPUSType == "HICaloRingSub") {
84  HICaloRingSubtraction(regions, subRegions, params);
85  }
86 
87  if (regionPUSType == "PUM0") {
88  int puMult = 0;
89 
90  // ------------ This calulates PUM0 ------------------
91  for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
92  notCorrectedRegion != regions.end();
93  notCorrectedRegion++) {
94  int regionET = notCorrectedRegion->hwPt();
95  if (regionET > 0) {
96  puMult++;
97  }
98  }
99  int pumbin = (int)puMult / 22;
100  if (pumbin == 18)
101  pumbin = 17; // if puMult = 396 exactly there is an overflow
102 
103  for (std::vector<CaloRegion>::const_iterator notCorrectedRegion = regions.begin();
104  notCorrectedRegion != regions.end();
105  notCorrectedRegion++) {
106  int regionET = notCorrectedRegion->hwPt();
107  int regionEta = notCorrectedRegion->hwEta();
108  int regionPhi = notCorrectedRegion->hwPhi();
109 
110  //int puSub = ceil(regionPUSParams[18*regionEta+pumbin]*2);
111  int puSub = params->regionPUSValue(pumbin, regionEta);
112  // The values in regionSubtraction are MULTIPLIED by
113  // RegionLSB=.5 (physicalRegionEt), so to get back unmultiplied
114  // regionSubtraction we want to multiply the number by 2
115  // (aka divide by LSB).
116 
117  int regionEtCorr = std::max(0, regionET - puSub);
118  if (regionET == 1023)
119  regionEtCorr = 1023; // do not subtract overflow regions
120  if ((regionET == 255) && (regionEta < 4 || regionEta > 17))
121  regionEtCorr = 255;
122 
123  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > lorentz(0, 0, 0, 0);
124  CaloRegion newSubRegion(*&lorentz,
125  0,
126  0,
127  regionEtCorr,
128  regionEta,
129  regionPhi,
130  notCorrectedRegion->hwQual(),
131  notCorrectedRegion->hwEtEm(),
132  notCorrectedRegion->hwEtHad());
133  subRegions->push_back(newSubRegion);
134  }
135  }
136  }
void HICaloRingSubtraction(const std::vector< l1t::CaloRegion > &regions, std::vector< l1t::CaloRegion > *subRegions, CaloParamsHelper const *params)
------------— For heavy ion ----------------------------------—

◆ simpleHWSubtraction()

void l1t::simpleHWSubtraction ( const std::vector< l1t::CaloRegion > &  regions,
std::vector< l1t::CaloRegion > *  subRegions 
)

Definition at line 49 of file PUSubtractionMethods.cc.

References nano_mu_digi_cff::region.

49  {
50  for (std::vector<CaloRegion>::const_iterator region = regions.begin(); region != regions.end(); region++) {
51  int subEta = region->hwEta();
52  int subPhi = region->hwPhi();
53  int subPt = region->hwPt();
54 
55  if (subPt != (2 << 10) - 1)
56  subPt = subPt - (10 + subEta); // arbitrary value chosen in meeting
57  if (subPt < 0)
58  subPt = 0;
59  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
60 
61  CaloRegion newSubRegion(
62  *&ldummy, 0, 0, subPt, subEta, subPhi, region->hwQual(), region->hwEtEm(), region->hwEtHad());
63  subRegions->push_back(newSubRegion);
64  }
65  }

◆ slidingWindowJetFinder()

void l1t::slidingWindowJetFinder ( const int  jetSeedThreshold,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 44 of file JetFinderMethods.cc.

References cms::cuda::assert(), gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, reco::btau::jetPhi, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::jetSeedThreshold, and nano_mu_digi_cff::region.

Referenced by l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(), l1t::Stage1Layer2JetAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2JetAlgorithmImpSimpleHW::processEvent().

46  {
47  for (std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
48  int regionET = region->hwPt(); //regionPhysicalEt(*region);
49  if (regionET <= jetSeedThreshold)
50  continue;
51  int neighborN_et = 0;
52  int neighborS_et = 0;
53  int neighborE_et = 0;
54  int neighborW_et = 0;
55  int neighborNE_et = 0;
56  int neighborSW_et = 0;
57  int neighborNW_et = 0;
58  int neighborSE_et = 0;
59  unsigned int nNeighbors = 0;
60  for (std::vector<CaloRegion>::const_iterator neighbor = regions->begin(); neighbor != regions->end();
61  neighbor++) {
62  int neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor);
63  if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta()) == neighbor->hwEta()) {
64  neighborN_et = neighborET;
65  nNeighbors++;
66  continue;
67  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta()) == neighbor->hwEta()) {
68  neighborS_et = neighborET;
69  nNeighbors++;
70  continue;
71  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() + 1) == neighbor->hwEta()) {
72  neighborE_et = neighborET;
73  nNeighbors++;
74  continue;
75  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() - 1) == neighbor->hwEta()) {
76  neighborW_et = neighborET;
77  nNeighbors++;
78  continue;
79  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() + 1) == neighbor->hwEta()) {
80  neighborNE_et = neighborET;
81  nNeighbors++;
82  continue;
83  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() - 1) == neighbor->hwEta()) {
84  neighborSW_et = neighborET;
85  nNeighbors++;
86  continue;
87  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() - 1) == neighbor->hwEta()) {
88  neighborNW_et = neighborET;
89  nNeighbors++;
90  continue;
91  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() + 1) == neighbor->hwEta()) {
92  neighborSE_et = neighborET;
93  nNeighbors++;
94  continue;
95  }
96  }
97  if (regionET > neighborN_et && regionET > neighborNW_et && regionET > neighborW_et && regionET > neighborSW_et &&
98  regionET >= neighborNE_et && regionET >= neighborE_et && regionET >= neighborSE_et &&
99  regionET >= neighborS_et) {
100  unsigned int jetET = regionET + neighborN_et + neighborS_et + neighborE_et + neighborW_et + neighborNE_et +
101  neighborSW_et + neighborSE_et + neighborNW_et;
102 
103  int jetPhi = region->hwPhi();
104  int jetEta = region->hwEta();
105 
106  bool neighborCheck = (nNeighbors == 8);
107  // On the eta edge we only expect 5 neighbors
108  if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5)
109  neighborCheck = true;
110 
111  if (!neighborCheck) {
112  std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl;
113  assert(false);
114  }
115 
116  //first iteration, eta cut defines forward
117  //const bool forward = (jetEta <= 4 || jetEta >= 17);
118  const bool forward = (jetEta < 4 || jetEta > 17);
119  int jetQual = 0;
120  if (forward)
121  jetQual |= 0x2;
122 
123  // check for input overflow regions
124  if (forward && regionET == 255) {
125  jetET = 1023; // 10 bit max
126  } else if (!forward && regionET == 1023) {
127  jetET = 1023; // 10 bit max
128  } else if (region->hwEta() == 17) {
129  if (neighborNE_et == 255 || neighborE_et == 255 || neighborSE_et == 255)
130  jetET = 1023; // 10 bit max
131  } else if (region->hwEta() == 4) {
132  if (neighborNW_et == 255 || neighborW_et == 255 || neighborSW_et == 255)
133  jetET = 1023; // 10 bit max
134  }
135 
136  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0, 0, 0, 0);
137  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
138  //l1t::Jet theJet(0, jetET, jetEta, jetPhi);
139 
140  uncalibjets->push_back(theJet);
141  }
142  }
143  }
assert(be >=bs)
Definition: Jet.h:20
int deltaGctPhi(const CaloRegion &region, const CaloRegion &neighbor)

◆ SortEGammas()

void l1t::SortEGammas ( std::vector< l1t::EGamma > *  input,
std::vector< l1t::EGamma > *  output 
)

Definition at line 423 of file HardwareSortingMethods.cc.

References mps_fire::i, input, createfilelist::int, genparticles_cff::iso, dqmdumpme::k, reco::HaloData::minus, presort_egamma(), l1t::L1Candidate::setHwEta(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), l1t::L1Candidate::setHwQual(), sort_by_row_in_groups(), super_sort_matrix_rows(), and createJobs::tmp.

Referenced by l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpHI::processEvent(), and l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent().

423  {
424  //Initialize
425  const int FIBER_PAIRS = 18;
426  const int N_INPUT_EGAMMAS = 4;
427  const int N_PRESORTED_ROWS_EGAMMA = 36;
428  const int PRESORT_DEPTH = 4;
429  const int N_EGAMMA_FIRST_GROUP_SIZE = 6;
430  const int N_EGAMMA_SECOND_GROUP_SIZE = 6;
431  const int N_EGAMMA_FIRST_GROUPS = 6;
432  const int N_KEEP_EGAMMA = 4;
433 
434  //Input
435  //Each egamma: RCT isolation, RCT order, phi index, eta index
436 
437  vector<l1t::L1Candidate> iso_egamma_array_p,
438  iso_egamma_array_m; //reusing objects. should probably rename to something like "object"
439  vector<l1t::L1Candidate> noniso_egamma_array_p, noniso_egamma_array_m;
440 
441  for (int k = 0; k < 2 * N_INPUT_EGAMMAS * FIBER_PAIRS; k++) {
442  l1t::L1Candidate dummyJet;
443  dummyJet.setHwPt(0);
444  dummyJet.setHwEta(99);
445  dummyJet.setHwPhi(99);
446  dummyJet.setHwQual(0x10);
447  if (k < N_INPUT_EGAMMAS * FIBER_PAIRS) {
448  iso_egamma_array_p.push_back(dummyJet);
449  noniso_egamma_array_p.push_back(dummyJet);
450  } else {
451  iso_egamma_array_m.push_back(dummyJet);
452  noniso_egamma_array_m.push_back(dummyJet);
453  }
454  }
455 
456  for (std::vector<l1t::EGamma>::const_iterator ineg = input->begin(); ineg != input->end(); ++ineg) {
457  int fiberNum = (int)floor(gt_to_fw_phi_map[ineg->hwPhi()] / 2);
458  int index = ineg->hwQual();
459  bool iso = ineg->hwIso();
460  bool minus = (ineg->hwEta() < 11);
461 
462  // while waiting for firmware LUT, set all iso to true
463  //iso = true;
464 
465  if (iso && minus)
466  iso_egamma_array_m[8 * fiberNum + index] = *ineg;
467  else if (iso && !minus)
468  iso_egamma_array_p[8 * fiberNum + index] = *ineg;
469  else if (!iso && minus)
470  noniso_egamma_array_m[8 * fiberNum + index] = *ineg;
471  else if (!iso && !minus)
472  noniso_egamma_array_p[8 * fiberNum + index] = *ineg;
473  }
474 
475  // std::cout << "iso_egamma_array_m" << std::endl;
476  // for(int i = 0; i < (int)iso_egamma_array_m.size(); ++i)
477  // {
478  // std::cout << iso_egamma_array_m[i].hwPt() << " "
479  // << iso_egamma_array_m[i].hwEta() << " "
480  // << iso_egamma_array_m[i].hwPhi() << std::endl;
481  // }
482 
483  // std::cout << "iso_egamma_array_p" << std::endl;
484  // for(int i = 0; i < (int)iso_egamma_array_p.size(); ++i)
485  // {
486  // std::cout << iso_egamma_array_p[i].hwPt() << " "
487  // << iso_egamma_array_p[i].hwEta() << " "
488  // << iso_egamma_array_p[i].hwPhi() << std::endl;
489  // }
490 
491  //verbose = true;
492  //1
493  std::vector<std::vector<l1t::L1Candidate> > presorted_iso_matrix_sig_p =
494  presort_egamma(iso_egamma_array_p, N_PRESORTED_ROWS_EGAMMA / 2, PRESORT_DEPTH);
495  std::vector<std::vector<l1t::L1Candidate> > presorted_iso_matrix_sig_m =
496  presort_egamma(iso_egamma_array_m, N_PRESORTED_ROWS_EGAMMA / 2, PRESORT_DEPTH);
497  std::vector<std::vector<l1t::L1Candidate> > presorted_non_iso_matrix_sig_p =
498  presort_egamma(noniso_egamma_array_p, N_PRESORTED_ROWS_EGAMMA / 2, PRESORT_DEPTH);
499  std::vector<std::vector<l1t::L1Candidate> > presorted_non_iso_matrix_sig_m =
500  presort_egamma(noniso_egamma_array_m, N_PRESORTED_ROWS_EGAMMA / 2, PRESORT_DEPTH);
501 
502  //2
503  std::vector<std::vector<l1t::L1Candidate> > iso_row_presorted_energies_matrix_sig_p =
504  sort_by_row_in_groups(presorted_iso_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE);
505  std::vector<std::vector<l1t::L1Candidate> > iso_row_presorted_energies_matrix_sig_m =
506  sort_by_row_in_groups(presorted_iso_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE);
507  std::vector<std::vector<l1t::L1Candidate> > non_iso_row_presorted_energies_matrix_sig_p =
508  sort_by_row_in_groups(presorted_non_iso_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE);
509  std::vector<std::vector<l1t::L1Candidate> > non_iso_row_presorted_energies_matrix_sig_m =
510  sort_by_row_in_groups(presorted_non_iso_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE);
511 
512  //3
513  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig_p =
514  super_sort_matrix_rows(iso_row_presorted_energies_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
515  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig_m =
516  super_sort_matrix_rows(iso_row_presorted_energies_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
517  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig_p =
518  super_sort_matrix_rows(non_iso_row_presorted_energies_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
519  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig_m =
520  super_sort_matrix_rows(non_iso_row_presorted_energies_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
521  //combine plus and minus
522  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig(
523  N_EGAMMA_FIRST_GROUPS, std::vector<l1t::L1Candidate>(N_KEEP_EGAMMA));
524  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig(
525  N_EGAMMA_FIRST_GROUPS, std::vector<l1t::L1Candidate>(N_KEEP_EGAMMA));
526  for (int r = 0; r < N_EGAMMA_FIRST_GROUPS / 2; r++) {
527  iso_super_sorted_energies_matrix_sig[r] = iso_super_sorted_energies_matrix_sig_m[r];
528  iso_super_sorted_energies_matrix_sig[r + N_EGAMMA_FIRST_GROUPS / 2] = iso_super_sorted_energies_matrix_sig_p[r];
529  non_iso_super_sorted_energies_matrix_sig[r] = non_iso_super_sorted_energies_matrix_sig_m[r];
530  non_iso_super_sorted_energies_matrix_sig[r + N_EGAMMA_FIRST_GROUPS / 2] =
531  non_iso_super_sorted_energies_matrix_sig_p[r];
532  }
533 
534  //4
535  std::vector<std::vector<l1t::L1Candidate> > iso_stage2_row_sorted_matrix_sig =
536  sort_by_row_in_groups(iso_super_sorted_energies_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE);
537  std::vector<std::vector<l1t::L1Candidate> > non_iso_stage2_row_sorted_matrix_sig =
538  sort_by_row_in_groups(non_iso_super_sorted_energies_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE);
539 
540  //5
541  std::vector<std::vector<l1t::L1Candidate> > iso_stage2_super_sorted_matrix_sig =
542  super_sort_matrix_rows(iso_stage2_row_sorted_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE, N_KEEP_EGAMMA);
543  std::vector<std::vector<l1t::L1Candidate> > non_iso_stage2_super_sorted_matrix_sig =
544  super_sort_matrix_rows(non_iso_stage2_row_sorted_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE, N_KEEP_EGAMMA);
545 
546  //Prepare output
547  std::vector<l1t::L1Candidate> sorted_iso_egammas = iso_stage2_super_sorted_matrix_sig[0];
548  std::vector<l1t::L1Candidate> sorted_noniso_egammas = non_iso_stage2_super_sorted_matrix_sig[0];
549 
550  //verbose = false;
551 
552  for (unsigned int i = 0; i < 4; ++i) {
553  auto const& tmp = sorted_iso_egammas[i];
554  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), 1 /*Iso*/);
555  }
556  for (unsigned int i = 0; i < 4; ++i) {
557  auto const& tmp = sorted_noniso_egammas[i];
558  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), tmp.hwIso());
559  }
560  }
void setHwQual(int qual)
Definition: L1Candidate.h:31
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< std::vector< l1t::L1Candidate > > sort_by_row_in_groups(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, int group_size)
void setHwPhi(int phi)
Definition: L1Candidate.h:30
void setHwPt(int pt)
Definition: L1Candidate.h:28
void setHwEta(int eta)
Definition: L1Candidate.h:29
Definition: output.py:1
tmp
align.sh
Definition: createJobs.py:716
std::vector< std::vector< l1t::L1Candidate > > presort_egamma(std::vector< l1t::L1Candidate > const &input_egamma, int rows, int cols)
std::vector< std::vector< l1t::L1Candidate > > super_sort_matrix_rows(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, unsigned int group_size, unsigned int n_keep)

◆ SortJets()

void l1t::SortJets ( std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 286 of file HardwareSortingMethods.cc.

References l1trig_cff::hwPt, mps_fire::i, input, dqmiolumiharvest::j, presort(), sort_by_row_in_groups(), super_sort_matrix_rows(), and createJobs::tmp.

Referenced by l1t::Stage1Layer2JetAlgorithmImpHI::processEvent(), l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(), l1t::Stage1Layer2JetAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2JetAlgorithmImpSimpleHW::processEvent().

286  {
287  //verbose = true;
288  const int CENTRAL_ETA_SLICES = 14;
289  const int N_PHI_GROUPS = 5;
290  const int N_PRESORTED_ROWS_CENTRAL = CENTRAL_ETA_SLICES * N_PHI_GROUPS;
291  const int PRESORT_DEPTH = 4;
292  const int N_KEEP_CENTRAL = 4;
293  const int N_ETA_GROUP_SIZE_CENTRAL = 4;
294  const int N_ETA_GROUPS_CENTRAL = 4;
295 
296  const int HFM_ETA_SLICES = 4;
297  const int HFP_ETA_SLICES = 4;
298  const int N_PRESORTED_ROWS_HFM = HFM_ETA_SLICES * N_PHI_GROUPS;
299  const int N_PRESORTED_ROWS_HFP = HFP_ETA_SLICES * N_PHI_GROUPS;
300  const int N_KEEP_FORWARD = 4;
301 
302  const int cen_nrows = 18;
303  const int cen_ncols = 14;
304  const int hfm_nrows = 18, hfp_nrows = 18;
305  const int hfm_ncols = 4, hfp_ncols = 4;
306 
307  std::vector<std::vector<l1t::L1Candidate> > cen_input_energy(cen_nrows, std::vector<l1t::L1Candidate>(cen_ncols));
308  std::vector<std::vector<l1t::L1Candidate> > hfm_input_energy(hfm_nrows, std::vector<l1t::L1Candidate>(hfm_ncols));
309  std::vector<std::vector<l1t::L1Candidate> > hfp_input_energy(hfp_nrows, std::vector<l1t::L1Candidate>(hfp_ncols));
310 
311  for (std::vector<l1t::Jet>::const_iterator injet = input->begin(); injet != input->end(); ++injet) {
312  if (injet->hwEta() >= 4 && injet->hwEta() <= 17) {
313  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
314  unsigned int mycol = injet->hwEta() - 4; //hardcoding is bad
315  cen_input_energy[myrow][mycol] = *injet;
316  } else if (injet->hwEta() < 4) {
317  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
318  unsigned int mycol = injet->hwEta(); //hardcoding is bad
319  hfm_input_energy[myrow][mycol] = *injet;
320  } else if (injet->hwEta() > 17) {
321  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
322  unsigned int mycol = injet->hwEta() - 18; //hardcoding is bad
323  hfp_input_energy[myrow][mycol] = *injet;
324  } else
325  edm::LogError("HardwareJetSort") << "Region out of bounds: " << injet->hwEta();
326  }
327 
328  for (int i = 0; i < cen_nrows; ++i)
329  for (int j = 0; j < cen_ncols; ++j) {
330  if (cen_input_energy[i][j].hwPt() == 0) {
331  cen_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
332  cen_input_energy[i][j].setHwEta(4 + j);
333  }
334  }
335 
336  for (int i = 0; i < hfm_nrows; ++i)
337  for (int j = 0; j < hfm_ncols; ++j) {
338  if (hfm_input_energy[i][j].hwPt() == 0) {
339  hfm_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
340  hfm_input_energy[i][j].setHwEta(j);
341  hfm_input_energy[i][j].setHwQual(2);
342  }
343  }
344 
345  for (int i = 0; i < hfp_nrows; ++i)
346  for (int j = 0; j < hfp_ncols; ++j) {
347  if (hfp_input_energy[i][j].hwPt() == 0) {
348  hfp_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
349  hfp_input_energy[i][j].setHwEta(j + 18);
350  hfp_input_energy[i][j].setHwQual(2);
351  }
352  }
353 
354  //Each CLK is one clock
355 
356  //CLK 1
357  std::vector<std::vector<l1t::L1Candidate> > presorted_energies_matrix_sig =
358  presort(cen_input_energy, N_PRESORTED_ROWS_CENTRAL, PRESORT_DEPTH);
359  std::vector<std::vector<l1t::L1Candidate> > hfm_presorted_energies_matrix_sig =
360  presort(hfm_input_energy, N_PRESORTED_ROWS_HFM, PRESORT_DEPTH);
361  std::vector<std::vector<l1t::L1Candidate> > hfp_presorted_energies_matrix_sig =
362  presort(hfp_input_energy, N_PRESORTED_ROWS_HFP, PRESORT_DEPTH);
363 
364  //CLK 2
365  std::vector<std::vector<l1t::L1Candidate> > row_presorted_energies_matrix_sig =
366  sort_by_row_in_groups(presorted_energies_matrix_sig, N_PHI_GROUPS);
367  std::vector<std::vector<l1t::L1Candidate> > hfm_row_presorted_energies_matrix_sig =
368  sort_by_row_in_groups(hfm_presorted_energies_matrix_sig, N_PHI_GROUPS);
369  std::vector<std::vector<l1t::L1Candidate> > hfp_row_presorted_energies_matrix_sig =
370  sort_by_row_in_groups(hfp_presorted_energies_matrix_sig, N_PHI_GROUPS);
371 
372  //CLK 3
373  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_slices_energies_matrix_sig =
374  super_sort_matrix_rows(row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_CENTRAL);
375  std::vector<std::vector<l1t::L1Candidate> > hfm_sorted_eta_slices_energies_matrix_sig =
376  super_sort_matrix_rows(hfm_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD);
377  std::vector<std::vector<l1t::L1Candidate> > hfp_sorted_eta_slices_energies_matrix_sig =
378  super_sort_matrix_rows(hfp_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD);
379 
380  //CLK 4
381  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_slices_energies_matrix_sig =
382  sort_by_row_in_groups(sorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL);
383  std::vector<std::vector<l1t::L1Candidate> > hfm_row_presorted_eta_slices_energies_matrix_sig =
384  sort_by_row_in_groups(hfm_sorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES);
385  std::vector<std::vector<l1t::L1Candidate> > hfp_row_presorted_eta_slices_energies_matrix_sig =
386  sort_by_row_in_groups(hfp_sorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES);
387 
388  //CLK 5
389  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_groups_energies_matrix_sig =
390  super_sort_matrix_rows(row_presorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL, N_KEEP_CENTRAL);
391  std::vector<std::vector<l1t::L1Candidate> > hfm_sorted_final_energies_matrix_sig =
392  super_sort_matrix_rows(hfm_row_presorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES, N_KEEP_FORWARD);
393  std::vector<std::vector<l1t::L1Candidate> > hfp_sorted_final_energies_matrix_sig =
394  super_sort_matrix_rows(hfp_row_presorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES, N_KEEP_FORWARD);
395 
396  //CLK 6
397  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_groups_energies_matrix_sig =
398  sort_by_row_in_groups(sorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL);
399  std::vector<std::vector<l1t::L1Candidate> > hf_merged_plus_minus_forward_energies_matrix_sig(
400  2, std::vector<l1t::L1Candidate>(N_KEEP_FORWARD));
401  hf_merged_plus_minus_forward_energies_matrix_sig[0] = hfm_sorted_final_energies_matrix_sig[0];
402  hf_merged_plus_minus_forward_energies_matrix_sig[1] = hfp_sorted_final_energies_matrix_sig[0];
403  std::vector<std::vector<l1t::L1Candidate> > hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig =
404  sort_by_row_in_groups(hf_merged_plus_minus_forward_energies_matrix_sig, 2);
405 
406  //CLK 7
407  std::vector<std::vector<l1t::L1Candidate> > sorted_final_energies_matrix_sig =
408  super_sort_matrix_rows(row_presorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL, N_KEEP_CENTRAL);
409  std::vector<std::vector<l1t::L1Candidate> > hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig =
410  super_sort_matrix_rows(hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig, 2, N_KEEP_FORWARD);
411 
412  for (unsigned int i = 0; i < 4; ++i) {
413  auto const& tmp = sorted_final_energies_matrix_sig[0][i];
414  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual());
415  }
416  for (unsigned int i = 0; i < 4; ++i) {
417  auto const& tmp = hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig[0][i];
418  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual() | 2);
419  }
420  //verbose = false;
421  }
Log< level::Error, false > LogError
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< std::vector< l1t::L1Candidate > > sort_by_row_in_groups(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, int group_size)
std::vector< std::vector< l1t::L1Candidate > > presort(std::vector< std::vector< l1t::L1Candidate > > const &energies, int rows, int cols)
Definition: output.py:1
tmp
align.sh
Definition: createJobs.py:716
std::vector< std::vector< l1t::L1Candidate > > super_sort_matrix_rows(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, unsigned int group_size, unsigned int n_keep)

◆ SortTaus()

void l1t::SortTaus ( std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 562 of file HardwareSortingMethods.cc.

References l1trig_cff::hwPt, mps_fire::i, input, dqmiolumiharvest::j, presort(), sort_by_row_in_groups(), super_sort_matrix_rows(), and createJobs::tmp.

Referenced by l1t::Stage1Layer2SingleTrackHI::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().

562  {
563  const int CENTRAL_ETA_SLICES = 14;
564  const int N_PHI_GROUPS = 5;
565  const int N_PRESORTED_ROWS_CENTRAL = CENTRAL_ETA_SLICES * N_PHI_GROUPS;
566  const int PRESORT_DEPTH = 4;
567  const int N_KEEP_CENTRAL = 4;
568  const int N_ETA_GROUP_SIZE_CENTRAL = 4;
569  const int N_ETA_GROUPS_CENTRAL = 4;
570 
571  const int cen_nrows = 18;
572  const int cen_ncols = 14;
573 
574  std::vector<std::vector<l1t::L1Candidate> > cen_input_energy(cen_nrows, std::vector<l1t::L1Candidate>(cen_ncols));
575 
576  for (std::vector<l1t::Tau>::const_iterator injet = input->begin(); injet != input->end(); ++injet) {
577  if (injet->hwEta() >= 4 && injet->hwEta() <= 17) {
578  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
579  unsigned int mycol = injet->hwEta() - 4; //hardcoding is bad
580  cen_input_energy[myrow][mycol] = *injet;
581  } else
582  edm::LogError("HardwareTauSort") << "Region out of bounds: " << injet->hwEta();
583  }
584 
585  for (int i = 0; i < cen_nrows; ++i)
586  for (int j = 0; j < cen_ncols; ++j) {
587  if (cen_input_energy[i][j].hwPt() == 0) {
588  cen_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
589  cen_input_energy[i][j].setHwEta(4 + j);
590  }
591  }
592 
593  //Each CLK is one clock
594 
595  //CLK 1
596  std::vector<std::vector<l1t::L1Candidate> > presorted_energies_matrix_sig =
597  presort(cen_input_energy, N_PRESORTED_ROWS_CENTRAL, PRESORT_DEPTH);
598  //CLK 2
599  std::vector<std::vector<l1t::L1Candidate> > row_presorted_energies_matrix_sig =
600  sort_by_row_in_groups(presorted_energies_matrix_sig, N_PHI_GROUPS);
601  //CLK 3
602  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_slices_energies_matrix_sig =
603  super_sort_matrix_rows(row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_CENTRAL);
604  //CLK 4
605  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_slices_energies_matrix_sig =
606  sort_by_row_in_groups(sorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL);
607  //CLK 5
608  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_groups_energies_matrix_sig =
609  super_sort_matrix_rows(row_presorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL, N_KEEP_CENTRAL);
610  //CLK 6
611  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_groups_energies_matrix_sig =
612  sort_by_row_in_groups(sorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL);
613  //CLK 7
614  std::vector<std::vector<l1t::L1Candidate> > sorted_final_energies_matrix_sig =
615  super_sort_matrix_rows(row_presorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL, N_KEEP_CENTRAL);
616 
617  for (unsigned int i = 0; i < 4; ++i) {
618  auto const& tmp = sorted_final_energies_matrix_sig[0][i];
619  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), tmp.hwIso());
620  }
621  }
Log< level::Error, false > LogError
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< std::vector< l1t::L1Candidate > > sort_by_row_in_groups(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, int group_size)
std::vector< std::vector< l1t::L1Candidate > > presort(std::vector< std::vector< l1t::L1Candidate > > const &energies, int rows, int cols)
Definition: output.py:1
tmp
align.sh
Definition: createJobs.py:716
std::vector< std::vector< l1t::L1Candidate > > super_sort_matrix_rows(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, unsigned int group_size, unsigned int n_keep)

◆ TauToGtEtaScales()

void l1t::TauToGtEtaScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 110 of file legacyGtHelper.cc.

References gtEta(), gtTau, and input.

Referenced by l1t::Stage1Layer2SingleTrackHI::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), and l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().

112  {
113  for (std::vector<l1t::Tau>::const_iterator itTau = input->begin(); itTau != input->end(); ++itTau) {
114  unsigned newPhi = itTau->hwPhi();
115  unsigned newEta = gtEta(itTau->hwEta());
116 
117  // taus with hwQual & 10 ==10 are "padding" jets from a sort, set their eta and phi
118  // to the max value
119  if ((itTau->hwQual() & 0x10) == 0x10) {
120  newEta = 0x0;
121  newPhi = 0x0;
122  }
123 
124  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
125 
126  l1t::Tau gtTau(*&ldummy, itTau->hwPt(), newEta, newPhi, itTau->hwQual(), itTau->hwIso());
127  output->push_back(gtTau);
128  }
129  }
Definition: Tau.h:20
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ TauToGtPtScales()

void l1t::TauToGtPtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 131 of file legacyGtHelper.cc.

References gtTau, input, and submitPVValidationJobs::params.

Referenced by l1t::Stage1Layer2SingleTrackHI::processEvent(), and l1t::Stage1Layer2TauAlgorithmImpPP::processEvent().

133  {
134  for (std::vector<l1t::Tau>::const_iterator itTau = input->begin(); itTau != input->end(); ++itTau) {
135  uint16_t linPt = (uint16_t)itTau->hwPt();
136  if (linPt > params->jetScale().linScaleMax())
137  linPt = params->jetScale().linScaleMax();
138  const uint16_t rankPt = params->jetScale().rank(linPt);
139 
140  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0, 0, 0, 0);
141 
142  l1t::Tau gtTau(*&ldummy, rankPt, itTau->hwEta(), itTau->hwPhi(), itTau->hwQual(), itTau->hwIso());
143  output->push_back(gtTau);
144  }
145  }
Definition: Tau.h:20
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ TwelveByTwelveFinder()

void l1t::TwelveByTwelveFinder ( const int  jetSeedThreshold,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 145 of file JetFinderMethods.cc.

References cms::cuda::assert(), gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, reco::btau::jetPhi, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::jetSeedThreshold, and nano_mu_digi_cff::region.

Referenced by l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpHW::processEvent(), and l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent().

147  {
148  for (std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
149  int regionET = region->hwPt(); //regionPhysicalEt(*region);
150  if (regionET < jetSeedThreshold)
151  continue;
152  int neighborN_et = 0;
153  int neighborS_et = 0;
154  int neighborE_et = 0;
155  int neighborW_et = 0;
156  int neighborNE_et = 0;
157  int neighborSW_et = 0;
158  int neighborNW_et = 0;
159  int neighborSE_et = 0;
160  unsigned int nNeighbors = 0;
161  for (std::vector<CaloRegion>::const_iterator neighbor = regions->begin(); neighbor != regions->end();
162  neighbor++) {
163  int neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor);
164  if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta()) == neighbor->hwEta()) {
165  neighborN_et = neighborET;
166  nNeighbors++;
167  continue;
168  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta()) == neighbor->hwEta()) {
169  neighborS_et = neighborET;
170  nNeighbors++;
171  continue;
172  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() + 1) == neighbor->hwEta()) {
173  neighborE_et = neighborET;
174  nNeighbors++;
175  continue;
176  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() - 1) == neighbor->hwEta()) {
177  neighborW_et = neighborET;
178  nNeighbors++;
179  continue;
180  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() + 1) == neighbor->hwEta()) {
181  neighborNE_et = neighborET;
182  nNeighbors++;
183  continue;
184  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() - 1) == neighbor->hwEta()) {
185  neighborSW_et = neighborET;
186  nNeighbors++;
187  continue;
188  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() - 1) == neighbor->hwEta()) {
189  neighborNW_et = neighborET;
190  nNeighbors++;
191  continue;
192  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() + 1) == neighbor->hwEta()) {
193  neighborSE_et = neighborET;
194  nNeighbors++;
195  continue;
196  }
197  }
198  unsigned int jetET = regionET + neighborN_et + neighborS_et + neighborE_et + neighborW_et + neighborNE_et +
199  neighborSW_et + neighborSE_et + neighborNW_et;
200 
201  int jetPhi = region->hwPhi();
202  int jetEta = region->hwEta();
203 
204  bool neighborCheck = (nNeighbors == 8);
205  // On the eta edge we only expect 5 neighbors
206  if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5)
207  neighborCheck = true;
208 
209  if (!neighborCheck) {
210  std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl;
211  assert(false);
212  }
213 
214  //first iteration, eta cut defines forward
215  //const bool forward = (jetEta <= 4 || jetEta >= 17);
216  const bool forward = (jetEta < 4 || jetEta > 17);
217  int jetQual = 0;
218  if (forward)
219  jetQual |= 0x2;
220 
221  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0, 0, 0, 0);
222  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
223  //l1t::Jet theJet(0, jetET, jetEta, jetPhi);
224 
225  uncalibjets->push_back(theJet);
226  }
227  }
assert(be >=bs)
Definition: Jet.h:20
int deltaGctPhi(const CaloRegion &region, const CaloRegion &neighbor)

◆ TwoByTwoFinder()

void l1t::TwoByTwoFinder ( const int  jetSeedThreshold,
const int  etaMask,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 229 of file JetFinderMethods.cc.

References cms::cuda::assert(), gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, reco::btau::jetPhi, caloParams_2018_v1_0_ECALZS_inconsistent_cfi::jetSeedThreshold, SiStripPI::max, and nano_mu_digi_cff::region.

Referenced by l1t::Stage1Layer2JetAlgorithmImpHI::processEvent().

232  {
233  for (std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
234  int regionET = region->hwPt();
235  if (regionET <= jetSeedThreshold)
236  continue;
237  int subEta = region->hwEta();
238  if ((etaMask & (1 << subEta)) >> subEta)
239  regionET = 0;
240  int neighborN_et = 0;
241  int neighborS_et = 0;
242  int neighborE_et = 0;
243  int neighborW_et = 0;
244  int neighborNE_et = 0;
245  int neighborSW_et = 0;
246  int neighborNW_et = 0;
247  int neighborSE_et = 0;
248  unsigned int nNeighbors = 0;
249  for (std::vector<CaloRegion>::const_iterator neighbor = regions->begin(); neighbor != regions->end();
250  neighbor++) {
251  int neighborET = neighbor->hwPt();
252  int subEta2 = neighbor->hwEta();
253  if ((etaMask & (1 << subEta2)) >> subEta2)
254  neighborET = 0;
255 
256  if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta()) == neighbor->hwEta()) {
257  neighborN_et = neighborET;
258  nNeighbors++;
259  continue;
260  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta()) == neighbor->hwEta()) {
261  neighborS_et = neighborET;
262  nNeighbors++;
263  continue;
264  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() + 1) == neighbor->hwEta()) {
265  neighborE_et = neighborET;
266  nNeighbors++;
267  continue;
268  } else if (deltaGctPhi(*region, *neighbor) == 0 && (region->hwEta() - 1) == neighbor->hwEta()) {
269  neighborW_et = neighborET;
270  nNeighbors++;
271  continue;
272  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() + 1) == neighbor->hwEta()) {
273  neighborNE_et = neighborET;
274  nNeighbors++;
275  continue;
276  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() - 1) == neighbor->hwEta()) {
277  neighborSW_et = neighborET;
278  nNeighbors++;
279  continue;
280  } else if (deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() - 1) == neighbor->hwEta()) {
281  neighborNW_et = neighborET;
282  nNeighbors++;
283  continue;
284  } else if (deltaGctPhi(*region, *neighbor) == -1 && (region->hwEta() + 1) == neighbor->hwEta()) {
285  neighborSE_et = neighborET;
286  nNeighbors++;
287  continue;
288  }
289  }
290  if (regionET > neighborN_et && regionET > neighborNW_et && regionET > neighborW_et && regionET > neighborSW_et &&
291  regionET >= neighborNE_et && regionET >= neighborE_et && regionET >= neighborSE_et &&
292  regionET >= neighborS_et) {
293  // use the highest-pT 2x2 jet inside this 3x3
294  unsigned int jetET_NW;
295  unsigned int jetET_NE;
296  unsigned int jetET_SW;
297  unsigned int jetET_SE;
298 
299  jetET_NW = regionET + neighborW_et + neighborNW_et + neighborN_et;
300  jetET_NE = regionET + neighborE_et + neighborNE_et + neighborN_et;
301  jetET_SW = regionET + neighborS_et + neighborSW_et + neighborW_et;
302  jetET_SE = regionET + neighborS_et + neighborSE_et + neighborE_et;
303 
304  unsigned int jetET = std::max(jetET_NW, jetET_NE);
305  jetET = std::max(jetET, jetET_SW);
306  jetET = std::max(jetET, jetET_SE);
307 
308  int jetPhi = region->hwPhi();
309  int jetEta = region->hwEta();
310 
311  bool neighborCheck = (nNeighbors == 8);
312  // On the eta edge we only expect 5 neighbor
313  if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5)
314  neighborCheck = true;
315 
316  if (!neighborCheck) {
317  std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl;
318  assert(false);
319  }
320 
321  //first iteration, eta cut defines forward
322  const bool forward = (jetEta < 4 || jetEta > 17);
323  int jetQual = 0;
324  if (forward)
325  jetQual |= 0x2;
326 
327  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0, 0, 0, 0);
328  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
329  uncalibjets->push_back(theJet);
330  }
331  }
332  }
assert(be >=bs)
Definition: Jet.h:20
int deltaGctPhi(const CaloRegion &region, const CaloRegion &neighbor)

Variable Documentation

◆ kGlobalObjectEnumStringPairs

const std::vector<std::pair<GlobalObject, std::string> > l1t::kGlobalObjectEnumStringPairs

Definition at line 65 of file GlobalObject.h.

Referenced by GlobalObjectStringToEnum().

◆ PFTAU_NN_LOOSE_CUT

constexpr float l1t::PFTAU_NN_LOOSE_CUT = 0.28
static

Definition at line 16 of file PFTau.h.

Referenced by l1t::PFTau::passLooseNN().

◆ PFTAU_NN_OFFSET

constexpr float l1t::PFTAU_NN_OFFSET = 0.1
static

Definition at line 12 of file PFTau.h.

Referenced by l1t::PFTau::passTightNN().

◆ PFTAU_NN_OVERALL_SCALE

constexpr float l1t::PFTAU_NN_OVERALL_SCALE = 1. / 20.1
static

Definition at line 14 of file PFTau.h.

Referenced by l1t::PFTau::passTightNN().

◆ PFTAU_NN_PT_CUTOFF

constexpr double l1t::PFTAU_NN_PT_CUTOFF = 100.0
static

Definition at line 24 of file PFTau.h.

Referenced by l1t::PFTau::passTightNN().

◆ PFTAU_NN_SLOPE

constexpr float l1t::PFTAU_NN_SLOPE = 0.2
static

Definition at line 13 of file PFTau.h.

Referenced by l1t::PFTau::passTightNN().

◆ PFTAU_NN_TIGHT_CUT

constexpr float l1t::PFTAU_NN_TIGHT_CUT = 0.25
static

Definition at line 17 of file PFTau.h.

Referenced by l1t::PFTau::passTightNN().

◆ PFTAU_PF_LOOSE_CUT

constexpr float l1t::PFTAU_PF_LOOSE_CUT = 10.0
static

Definition at line 19 of file PFTau.h.

Referenced by l1t::PFTau::passLoosePF().

◆ PFTAU_PF_TIGHT_CUT

constexpr float l1t::PFTAU_PF_TIGHT_CUT = 5.0
static

Definition at line 20 of file PFTau.h.

Referenced by l1t::PFTau::passTightPF().

◆ PTSCALING_MASSCUT

constexpr float l1t::PTSCALING_MASSCUT = 40.0
static

Definition at line 22 of file PFTau.h.

Referenced by l1t::PFTau::passMass().