CMS 3D CMS Logo

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

delete x; More...

Namespaces

 emtf
 
 stage1
 
 stage2
 

Classes

class  AlgorithmEvaluation
 
class  AMC13DumpToRaw
 
class  AMCDumpToRaw
 
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  CorrWithOverlapRemovalCondition
 
class  CPPFDigi
 
class  CTP7Payload
 
class  DataAlreadyPresentException
 
class  DataInvalidException
 
class  DataManager
 
class  DataWriter
 
class  DataWriterExt
 
class  Description
 
class  EGamma
 
class  EMTFDaqOut
 
class  EMTFHit
 
struct  EMTFPtLUT
 
class  EMTFRoad
 
class  EMTFTrack
 
class  EndCapParamsHelper
 
class  EnergySumCondition
 
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  HGCalCluster
 
class  HGCalClusterT
 
class  HGCalMulticluster
 
class  HGCalTower
 
struct  HGCalTowerCoord
 
class  HGCalTowerID
 
class  HGCalTowerMap
 
class  HGCalTriggerCell
 
class  HGCFETriggerDigi
 
class  Interval
 
class  IntervalManager
 
class  Jet
 
class  L1Candidate
 
class  L1ComparatorRun2
 
class  L1DataEmulResult
 
struct  L1GtBoardTypeStringToEnum
 
class  L1TCaloRCTToUpgradeConverter
 
class  L1TCaloStage1LutWriter
 
class  L1TCaloTowersFilter
 
class  L1TCaloUpgradeToGCTConverter
 
class  L1TDigiToRaw
 
class  L1TExtCondLegacyToStage2
 
class  L1TExtCondProducer
 
class  L1TGlobalAnalyzer
 
class  L1TGlobalUtil
 
class  L1TGlobalUtilHelper
 
struct  L1TGtObjectStringToEnum
 the string to enum and enum to string conversions for GlobalObject More...
 
class  L1TRawToDigi
 
class  L1TStage1Layer2Producer
 
class  L1TStage2CaloAnalyzer
 
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  OMDSReader
 
class  OnlineDBqueryHelper
 
class  Packer
 
class  PackerFactory
 
class  PackerTokens
 
class  PackingSetup
 
class  PackingSetupFactory
 
class  Parameter
 
class  Payload
 
class  PhysicsToBitConverter
 
class  PrescalesVetosHelper
 
class  rctDataBase
 
class  RegionalMuonCand
 
class  RegionalMuonRawDigiTranslator
 
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  TriggerMenuParser
 
class  TriggerSystem
 
class  Unpacker
 
class  UnpackerCollections
 
class  UnpackerFactory
 
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 edm::Ref< EtSumBxCollectionEtSumRef
 
typedef ObjectRefBxCollection< EtSumEtSumRefBxCollection
 
typedef ObjectRefPair< EtSumEtSumRefPair
 
typedef ObjectRefPairBxCollection< EtSumEtSumRefPairBxCollection
 
typedef edm::RefVector< EtSumBxCollectionEtSumRefVector
 
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< HGCalMulticlusterHGCalMulticlusterBxCollection
 
typedef BXVector< HGCalTowerHGCalTowerBxCollection
 
typedef BXVector< HGCalTowerMapHGCalTowerMapBxCollection
 
typedef BXVector< HGCalTriggerCellHGCalTriggerCellBxCollection
 
typedef edm::SortedCollection< HGCFETriggerDigiHGCFETriggerDigiCollection
 
typedef edm::Ptr< HGCFETriggerDigiHGCFETriggerDigiPtr
 
typedef std::vector< HGCFETriggerDigiPtrHGCFETriggerDigiPtrVector
 
typedef edm::Ref< HGCFETriggerDigiCollectionHGCFETriggerDigiRef
 
typedef edm::RefVector< HGCFETriggerDigiCollectionHGCFETriggerDigiRefVector
 
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 BXVector< L1CandidateL1CandidateBxCollection
 
typedef edm::Ref< L1CandidateBxCollectionL1CandidateRef
 
typedef edm::RefVector< L1CandidateBxCollectionL1CandidateRefVector
 
typedef std::vector< L1CandidateRefL1CandidateVectorRef
 
typedef BXVector< L1DataEmulResultL1DataEmulResultBxCollection
 
typedef BXVector< MuonMuonBxCollection
 
typedef BXVector< MuonCaloSumMuonCaloSumBxCollection
 
typedef edm::Ref< MuonBxCollectionMuonRef
 
typedef ObjectRefBxCollection< MuonMuonRefBxCollection
 
typedef ObjectRefPair< MuonMuonRefPair
 
typedef ObjectRefPairBxCollection< MuonMuonRefPairBxCollection
 
typedef edm::RefVector< MuonBxCollectionMuonRefVector
 
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 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 PackingSetup *( prov_fct) ()
 
typedef BXVector< RegionalMuonCandRegionalMuonCandBxCollection
 
typedef ObjectRef< RegionalMuonCandRegionalMuonCandRef
 
typedef ObjectRefBxCollection< RegionalMuonCandRegionalMuonCandRefBxCollection
 
typedef ObjectRefPair< RegionalMuonCandRegionalMuonCandRefPair
 
typedef ObjectRefPairBxCollection< RegionalMuonCandRegionalMuonCandRefPairBxCollection
 
typedef BXVector< TauTauBxCollection
 
typedef edm::Ref< TauBxCollectionTauRef
 
typedef ObjectRefBxCollection< TauTauRefBxCollection
 
typedef ObjectRefPair< TauTauRefPair
 
typedef ObjectRefPairBxCollection< TauTauRefPairBxCollection
 
typedef edm::RefVector< TauBxCollectionTauRefVector
 
typedef std::vector< TauRefTauVectorRef
 
typedef Unpacker *( unpack_fct) ()
 
typedef edmplugin::PluginFactory< unpack_fctUnpackerFactoryT
 
typedef std::map< int, std::shared_ptr< Unpacker > > UnpackerMap
 
typedef edmplugin::PluginFactory< l1t::WriterProxy *()> WriterFactory
 

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, coordinate }
 
enum  GlobalObject {
  gtMu, 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,
  ObjNull
}
 
enum  GtConditionCategory {
  CondNull, CondMuon, CondCalo, CondEnergySum,
  CondCorrelation, CondExternal, CondCorrelationWithOverlapRemoval
}
 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
}
 
enum  L1GtBoardType { MP7 = 0, BoardNull }
 board types in GT More...
 
enum  tftype {
  bmtf, omtf_neg, omtf_pos, emtf_neg,
  emtf_pos
}
 
enum  TrigFunc_t { COS, SIN }
 

Functions

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)
 
const unsigned int gtEta (const unsigned int iEta)
 
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 &)
 
std::string l1TGtObjectEnumToString (const GlobalObject &)
 
l1t::GlobalObject l1TGtObjectStringToEnum (const std::string &)
 
std::ostream & operator<< (std::ostream &os, const l1t::CaloParamsHelper &p)
 
bool operator> (const l1t::Tau &a, const l1t::Tau &b)
 
bool operator> (l1t::EGamma &a, l1t::EGamma &b)
 
bool operator> (const l1t::EGamma &a, const 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)
 
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)
 

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

$Date$ $Revision$

Typedef Documentation

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

map containing the algorithms

Definition at line 32 of file TriggerMenuFwd.h.

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

Definition at line 72 of file Block.h.

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

Definition at line 68 of file BxBlock.h.

Definition at line 85 of file CaloCluster.h.

Definition at line 26 of file CaloEmCand.h.

Definition at line 47 of file CaloRegion.h.

Definition at line 10 of file CaloSpare.h.

Definition at line 27 of file CaloStage1Cluster.h.

Definition at line 10 of file CaloTower.h.

typedef AlgorithmMap::const_iterator l1t::CItAlgo

iterators through map containing the algorithms

Definition at line 39 of file TriggerMenuFwd.h.

typedef ConditionMap::const_iterator l1t::CItCond

iterators through map containing the conditions

Definition at line 35 of file TriggerMenuFwd.h.

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

Definition at line 29 of file TriggerMenuFwd.h.

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

Definition at line 68 of file CPPFDigi.h.

Definition at line 11 of file EGamma.h.

Definition at line 13 of file EGamma.h.

Definition at line 17 of file EGamma.h.

Definition at line 18 of file EGamma.h.

Definition at line 19 of file EGamma.h.

Definition at line 14 of file EGamma.h.

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

Definition at line 15 of file EGamma.h.

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

Definition at line 130 of file EMTFDaqOut.h.

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

Definition at line 276 of file EMTFHit.h.

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

Definition at line 62 of file EMTFRoad.h.

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

Definition at line 204 of file EMTFTrack.h.

Definition at line 11 of file EtSum.h.

Definition at line 13 of file EtSum.h.

Definition at line 17 of file EtSum.h.

Definition at line 18 of file EtSum.h.

Definition at line 19 of file EtSum.h.

Definition at line 14 of file EtSum.h.

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

Definition at line 15 of file EtSum.h.

Definition at line 9 of file GMTInternalMuonFwd.h.

Definition at line 12 of file GMTInternalMuonFwd.h.

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

Definition at line 11 of file GMTInternalMuonFwd.h.

Definition at line 36 of file HGCalCluster.h.

Definition at line 29 of file HGCalMulticluster.h.

Definition at line 11 of file HGCalTower.h.

Definition at line 12 of file HGCalTowerMap.h.

Definition at line 13 of file HGCalTriggerCell.h.

Definition at line 15 of file HGCFETriggerDigiDefs.h.

Definition at line 20 of file HGCFETriggerDigiDefs.h.

Definition at line 21 of file HGCFETriggerDigiDefs.h.

Definition at line 18 of file HGCFETriggerDigiDefs.h.

Definition at line 19 of file HGCFETriggerDigiDefs.h.

typedef AlgorithmMap::iterator l1t::ItAlgo

Definition at line 40 of file TriggerMenuFwd.h.

typedef ConditionMap::iterator l1t::ItCond

Definition at line 36 of file TriggerMenuFwd.h.

Definition at line 11 of file Jet.h.

Definition at line 13 of file Jet.h.

Definition at line 17 of file Jet.h.

Definition at line 18 of file Jet.h.

Definition at line 19 of file Jet.h.

Definition at line 14 of file Jet.h.

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

Definition at line 15 of file Jet.h.

Definition at line 9 of file L1Candidate.h.

Definition at line 11 of file L1Candidate.h.

Definition at line 12 of file L1Candidate.h.

typedef std::vector< L1CandidateRef > l1t::L1CandidateVectorRef

Definition at line 13 of file L1Candidate.h.

Definition at line 7 of file L1DataEmulResult.h.

Definition at line 11 of file Muon.h.

Definition at line 7 of file MuonCaloSumFwd.h.

Definition at line 13 of file Muon.h.

Definition at line 17 of file Muon.h.

Definition at line 18 of file Muon.h.

Definition at line 19 of file Muon.h.

Definition at line 14 of file Muon.h.

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

Definition at line 15 of file Muon.h.

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

Definition at line 10 of file L1TObjComparison.h.

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

Definition at line 12 of file L1TObjComparison.h.

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.

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

Definition at line 16 of file L1TObjComparison.h.

typedef Packer*( l1t::pack_fct) ()

Definition at line 9 of file PackerFactory.h.

Definition at line 10 of file PackerFactory.h.

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

Definition at line 25 of file PackingSetup.h.

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

Definition at line 25 of file Packer.h.

Definition at line 10 of file PackingSetupFactory.h.

typedef PackingSetup*( l1t::prov_fct) ()

Definition at line 9 of file PackingSetupFactory.h.

Definition at line 11 of file RegionalMuonCandFwd.h.

Definition at line 14 of file RegionalMuonCandFwd.h.

Definition at line 15 of file RegionalMuonCandFwd.h.

Definition at line 16 of file RegionalMuonCandFwd.h.

Definition at line 17 of file RegionalMuonCandFwd.h.

Definition at line 11 of file Tau.h.

Definition at line 13 of file Tau.h.

Definition at line 17 of file Tau.h.

Definition at line 18 of file Tau.h.

Definition at line 19 of file Tau.h.

Definition at line 14 of file Tau.h.

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

Definition at line 15 of file Tau.h.

typedef Unpacker*( l1t::unpack_fct) ()

Definition at line 9 of file UnpackerFactory.h.

Definition at line 10 of file UnpackerFactory.h.

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

Definition at line 27 of file PackingSetup.h.

Definition at line 88 of file WriterProxy.h.

Enumeration Type Documentation

Enumerator
MP7 
CTP7 
MTF7 

Definition at line 11 of file Block.h.

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

Definition at line 11 of file MicroGMTCancelOutUnit.h.

L1 GT objects ObjNull catch all errors

Enumerator
gtMu 
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 
ObjNull 

Definition at line 16 of file GlobalObject.h.

17 {
18  gtMu,
19  gtEG,
20  gtJet,
21  gtTau,
22  gtETM,
23  gtETT,
24  gtHTT,
25  gtHTM,
26  gtETMHF,
32  gtETTem,
45  gtExternal,
46  ObjNull
47 };

condition categories

Enumerator
CondNull 
CondMuon 
CondCalo 
CondEnergySum 
CondCorrelation 
CondExternal 
CondCorrelationWithOverlapRemoval 

Definition at line 96 of file GlobalDefinitions.h.

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 

Definition at line 52 of file GlobalDefinitions.h.

52  {
53  TypeNull,
54  Type1s,
55  Type2s,
56  Type2wsc,
57  Type2cor,
58  Type3s,
59  Type4s,
60  TypeETM,
61  TypeETT,
62  TypeHTT,
63  TypeHTM,
64  TypeETMHF,
70  TypeETTem,
73  TypeCent0,
74  TypeCent1,
75  TypeCent2,
76  TypeCent3,
77  TypeCent4,
78  TypeCent5,
79  TypeCent6,
80  TypeCent7,
81  TypeAsymEt,
82  TypeAsymHt,
85 };

board types in GT

Enumerator
MP7 
BoardNull 

Definition at line 28 of file GlobalDefinitions.h.

28  {
29  MP7,
30  BoardNull
31 };
Definition: Block.h:11
Enumerator
bmtf 
omtf_neg 
omtf_pos 
emtf_neg 
emtf_pos 

Definition at line 8 of file RegionalMuonCandFwd.h.

Enumerator
COS 
SIN 

Definition at line 55 of file TriggerMenuParser.h.

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

Function Documentation

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 l1t::LUT::data(), PVValHelper::eta, l1t::CaloParamsHelper::jetCalibrationLUT(), PFRecoTauDiscriminationByIsolation_cfi::offset, and EnergyCorrector::pt.

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

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

Definition at line 36 of file legacyGtHelper.cc.

References l1t::LUT::data(), PVValHelper::eta, EnergyCorrector::pt, and l1t::CaloParamsHelper::tauCalibrationLUT().

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

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

Definition at line 133 of file Parameter.h.

133  {
134  return castTo_impl<T>(arg, std::is_integral<T>(), std::is_floating_point<T>());
135 }
A arg
Definition: Factorize.h:37
template<>
bool l1t::castTo< bool > ( const char *  arg)

Definition at line 80 of file Parameter.cc.

References nullptr.

Referenced by l1t::Parameter::~Parameter().

80  {
81  if( strlen(arg) > 3 ){
82  // look for "true"
83  if( strstr(arg,"true") != nullptr && strstr(arg,"false") == nullptr ) return true;
84  // look for "false"
85  if( strstr(arg,"true") == nullptr && strstr(arg,"false") != nullptr ) return false;
86  }
87  // look for "a number
88  char *endptr = nullptr;
89  long retval = strtol(arg,&endptr,0);
90  if( *endptr == '\0' ) return retval;
91  // nothing worked
92  throw runtime_error("Cannot convert '" + string(arg)+ "' to boolean");
93 }
A arg
Definition: Factorize.h:37
template<>
char l1t::castTo< char > ( const char *  arg)

Definition at line 95 of file Parameter.cc.

References castTo< long long >().

Referenced by l1t::Parameter::~Parameter().

95 { return castTo<long long>(arg); }
A arg
Definition: Factorize.h:37
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:72
template<>
double l1t::castTo< double > ( const char *  arg)

Definition at line 107 of file Parameter.cc.

References castTo< long double >().

Referenced by l1t::Parameter::~Parameter().

107 { return castTo<long double>(arg); }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:100
A arg
Definition: Factorize.h:37
template<>
float l1t::castTo< float > ( const char *  arg)

Definition at line 106 of file Parameter.cc.

References castTo< long double >().

Referenced by l1t::Parameter::~Parameter().

106 { return castTo<long double>(arg); }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:100
A arg
Definition: Factorize.h:37
template<>
int l1t::castTo< int > ( const char *  arg)

Definition at line 97 of file Parameter.cc.

References castTo< long long >().

Referenced by l1t::Parameter::~Parameter().

97 { return castTo<long long>(arg); }
A arg
Definition: Factorize.h:37
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:72
template<>
long l1t::castTo< long > ( const char *  arg)

Definition at line 98 of file Parameter.cc.

References castTo< long long >().

Referenced by l1t::Parameter::~Parameter().

98 { return castTo<long long>(arg); }
A arg
Definition: Factorize.h:37
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:72
template<>
long double l1t::castTo< long double > ( const char *  arg)

Definition at line 100 of file Parameter.cc.

Referenced by castTo< double >(), castTo< float >(), castTo_impl(), and l1t::Parameter::~Parameter().

100  {
101  char *endptr = nullptr;
102  long double retval = strtold(arg,&endptr);
103  if( *endptr == '\0' ) return retval;
104  else throw runtime_error("Cannot convert '" + string(arg) + "' to floating point type");
105 }
A arg
Definition: Factorize.h:37
template<>
long long l1t::castTo< long long > ( const char *  arg)

Definition at line 72 of file Parameter.cc.

Referenced by castTo< char >(), castTo< int >(), castTo< long >(), castTo< short >(), castToInt_impl(), and l1t::Parameter::~Parameter().

72  {
73  char *endptr = nullptr;
74  long long retval = strtoll(arg,&endptr,0);
75  if( *endptr == '\0' ) return retval;
76  else throw runtime_error("Cannot convert '" + string(arg)+ "' to integral type");
77 }
A arg
Definition: Factorize.h:37
template<>
short l1t::castTo< short > ( const char *  arg)

Definition at line 96 of file Parameter.cc.

References castTo< long long >().

Referenced by l1t::Parameter::~Parameter().

96 { return castTo<long long>(arg); }
A arg
Definition: Factorize.h:37
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:72
template<>
unsigned char l1t::castTo< unsigned char > ( const char *  arg)

Definition at line 115 of file Parameter.cc.

References castTo< unsigned long long >().

Referenced by l1t::Parameter::~Parameter().

115 { return castTo<unsigned long long>(arg); }
A arg
Definition: Factorize.h:37
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:109
template<>
unsigned int l1t::castTo< unsigned int > ( const char *  arg)

Definition at line 117 of file Parameter.cc.

References castTo< unsigned long long >().

Referenced by l1t::Parameter::~Parameter().

117 { return castTo<unsigned long long>(arg); }
A arg
Definition: Factorize.h:37
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:109
template<>
unsigned long l1t::castTo< unsigned long > ( const char *  arg)

Definition at line 118 of file Parameter.cc.

References castTo< unsigned long long >().

Referenced by l1t::Parameter::~Parameter().

118 { return castTo<unsigned long long>(arg); }
A arg
Definition: Factorize.h:37
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:109
template<>
unsigned long long l1t::castTo< unsigned long long > ( const char *  arg)

Definition at line 109 of file Parameter.cc.

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

109  {
110  char *endptr = nullptr;
111  unsigned long long retval = strtoull(arg,&endptr,0);
112  if( *endptr == '\0' ) return retval;
113  else throw runtime_error("Cannot convert '" + string(arg)+ "' to unsigned integral type");
114 }
A arg
Definition: Factorize.h:37
template<>
unsigned short l1t::castTo< unsigned short > ( const char *  arg)

Definition at line 116 of file Parameter.cc.

References castTo< unsigned long long >().

Referenced by l1t::Parameter::~Parameter().

116 { return castTo<unsigned long long>(arg); }
A arg
Definition: Factorize.h:37
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:109
template<class T >
T l1t::castTo_impl ( const char *  arg,
std::true_type  ,
std::false_type   
)

Definition at line 137 of file Parameter.h.

Referenced by l1t::Parameter::~Parameter().

137  {
138  return castToInt_impl<T>(arg, std::is_unsigned<T>());
139 }
A arg
Definition: Factorize.h:37
template<class T >
T l1t::castTo_impl ( const char *  arg,
std::false_type  ,
std::true_type   
)

Definition at line 149 of file Parameter.h.

References castTo< long double >().

149  {
150  return castTo<long double>(arg);
151 }
long double castTo< long double >(const char *arg)
Definition: Parameter.cc:100
A arg
Definition: Factorize.h:37
template<class T >
T l1t::castTo_impl ( const char *  arg,
std::false_type  ,
std::false_type   
)

Definition at line 153 of file Parameter.h.

153  {
154  return T(arg);
155 }
A arg
Definition: Factorize.h:37
long double T
template<class T >
T l1t::castToInt_impl ( const char *  arg,
std::true_type   
)

Definition at line 141 of file Parameter.h.

References castTo< unsigned long long >().

Referenced by l1t::Parameter::~Parameter().

141  {
143 }
A arg
Definition: Factorize.h:37
unsigned long long castTo< unsigned long long >(const char *arg)
Definition: Parameter.cc:109
template<class T >
T l1t::castToInt_impl ( const char *  arg,
std::false_type   
)

Definition at line 145 of file Parameter.h.

References castTo< long long >().

145  {
146  return castTo<long long>(arg);
147 }
A arg
Definition: Factorize.h:37
long long castTo< long long >(const char *arg)
Definition: Parameter.cc:72
l1t::LUT l1t::convertToLUT ( const std::vector< uint64_t > &  v,
int  padding = -1 
)
noexcept

Definition at line 10 of file ConvertToLUT.h.

References mps_fire::i, lumiPlot::lut, and l1t::LUT::read().

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

10  {
11 
12  unsigned int addrWidth = ( 32 - __builtin_clz( uint32_t(v.size()-1) ) );
13  std::stringstream oss;
14  oss << "#<header> V1 " << addrWidth << " 31 </header> " << std::endl; // hardcode 32 bits for data
15  for(unsigned int i=0; i<v.size(); i++) 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:35
Definition: LUT.h:29
l1t::LUT l1t::convertToLUT ( const std::vector< char > &  v,
int  padding = -1 
)
noexcept

Definition at line 27 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< short > &  v,
int  padding = -1 
)
noexcept

Definition at line 30 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< int > &  v,
int  padding = -1 
)
noexcept

Definition at line 33 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< long > &  v,
int  padding = -1 
)
noexcept

Definition at line 36 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< long long > &  v,
int  padding = -1 
)
noexcept

Definition at line 39 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< unsigned char > &  v,
int  padding = -1 
)
noexcept

Definition at line 42 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< unsigned short > &  v,
int  padding = -1 
)
noexcept

Definition at line 45 of file ConvertToLUT.h.

References convertToLUT().

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
l1t::LUT l1t::convertToLUT ( const std::vector< unsigned int > &  v,
int  padding = -1 
)
noexcept

Definition at line 48 of file ConvertToLUT.h.

References convertToLUT().

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
int l1t::deltaGctPhi ( const CaloRegion region,
const CaloRegion neighbor 
)

Definition at line 18 of file JetFinderMethods.cc.

References funct::abs(), diffTreeTool::diff, l1t::L1Candidate::hwPhi(), and L1CaloRegionDetId::N_PHI.

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

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

Definition at line 99 of file legacyGtHelper.cc.

References gtEta().

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

101  {
102 
103  for(std::vector<l1t::EGamma>::const_iterator itEGamma = input->begin();
104  itEGamma != input->end(); ++itEGamma){
105  unsigned newEta = gtEta(itEGamma->hwEta());
106  unsigned newPhi = itEGamma->hwPhi();
107  const uint16_t rankPt = (uint16_t)itEGamma->hwPt(); //max value?
108 
109  //hwQual &10 == 10 means that the object came from a sort and is padding
110  if((itEGamma->hwQual() & 0x10) == 0x10)
111  {
112  newEta = 0x0;
113  newPhi = 0x0;
114  }
115 
116  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
117 
118  l1t::EGamma gtEGamma(*&ldummy, rankPt, newEta, newPhi,
119  itEGamma->hwQual(), itEGamma->hwIso());
120  output->push_back(gtEGamma);
121  }
122  }
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:45
void l1t::EtSumToGtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::EtSum > *  input,
std::vector< l1t::EtSum > *  output 
)

Definition at line 165 of file legacyGtHelper.cc.

References L1Analysis::kMissingHt.

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

167  {
168  for(std::vector<l1t::EtSum>::const_iterator itEtSum = input->begin();
169  itEtSum != input->end(); ++itEtSum){
170 
171  uint16_t rankPt;
172  // Hack for now to make sure they come out with the right scale
173  //rankPt = params->jetScale().rank((uint16_t)itEtSum->hwPt());
174  rankPt = (uint16_t)itEtSum->hwPt();
175  if (EtSum::EtSumType::kMissingHt == itEtSum->getType())
176  {
177  // if(rankPt > params->HtMissScale().linScaleMax()) rankPt = params->HtMissScale().linScaleMax();
178  // params->HtMissScale().linScaleMax() always returns zero. Hardcode 512 for now
179 
180  // comment out for mht/ht (already in GT scale)
181  //if(rankPt > 512) rankPt = 512;
182  //rankPt = params->HtMissScale().rank(rankPt*params->emScale().linearLsb());
183  }
184 
185  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
186 
187  l1t::EtSum gtEtSum(*&ldummy, itEtSum->getType(), rankPt, 0,
188  itEtSum->hwPhi(), itEtSum->hwQual());
189 
190  output->push_back(gtEtSum);
191  }
192  }
static std::string const input
Definition: EdmProvDump.cc:45
void l1t::getBXRange ( int  nbx,
int &  first,
int &  last 
)
const unsigned int l1t::gtEta ( const unsigned int  iEta)

Definition at line 194 of file legacyGtHelper.cc.

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

195  {
196  unsigned rctEta = (iEta<11 ? 10-iEta : iEta-11);
197  return (((rctEta % 7) & 0x7) | (iEta<11 ? 0x8 : 0));
198  }
unsigned char l1t::hgcal_bad_codec ( 0xff  )
void l1t::HICaloRingSubtraction ( const std::vector< l1t::CaloRegion > &  regions,
std::vector< l1t::CaloRegion > *  subRegions,
CaloParamsHelper const *  params 
)

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

Definition at line 19 of file PUSubtractionMethods.cc.

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

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

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

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

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

Definition at line 57 of file legacyGtHelper.cc.

References gtEta(), and gtJet.

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

59  {
60 
61  for(std::vector<l1t::Jet>::const_iterator itJet = input->begin();
62  itJet != input->end(); ++itJet){
63  unsigned newPhi = itJet->hwPhi();
64  unsigned newEta = gtEta(itJet->hwEta());
65 
66  // jets with hwQual & 10 ==10 are "padding" jets from a sort, set their eta and phi
67  // to the max value
68  if((itJet->hwQual() & 0x10) == 0x10)
69  {
70  newEta = 0x0;
71  newPhi = 0x0;
72  }
73 
74  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
75 
76  l1t::Jet gtJet(*&ldummy, itJet->hwPt(), newEta, newPhi, itJet->hwQual());
77  output->push_back(gtJet);
78  }
79  }
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:45
Definition: Jet.h:21
void l1t::JetToGtPtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 81 of file legacyGtHelper.cc.

References gtJet, l1t::CaloParamsHelper::jetScale(), L1CaloEtScale::linScaleMax(), and L1CaloEtScale::rank().

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

83  {
84 
85  for(std::vector<l1t::Jet>::const_iterator itJet = input->begin();
86  itJet != input->end(); ++itJet){
87  uint16_t linPt = (uint16_t)itJet->hwPt();
88  if(linPt > params->jetScale().linScaleMax() ) linPt = params->jetScale().linScaleMax();
89  const uint16_t rankPt = params->jetScale().rank(linPt);
90 
91  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
92 
93  l1t::Jet gtJet(*&ldummy, rankPt, itJet->hwEta(), itJet->hwPhi(), itJet->hwQual());
94  output->push_back(gtJet);
95  }
96  }
static std::string const input
Definition: EdmProvDump.cc:45
Definition: Jet.h:21
std::string l1t::l1GtBoardTypeEnumToString ( const L1GtBoardType boardType)

Definition at line 121 of file GlobalDefinitions.cc.

References BoardNull, and mps_fire::result.

121  {
122  char const *result= valueToKey(boardType, l1GtBoardTypeStringToEnumMap);
123  if (boardType == l1t::BoardNull) {
124  edm::LogInfo("L1TGlobal")
125  << "\n l1t::BoardNull means no valid board type defined!";
126  }
127  if (!result) {
128  edm::LogInfo("L1TGlobal") << "\n '" << boardType
129  << "' is not a recognized l1t::L1GtBoardType. "
130  << "\n Return l1t::BoardNull, which means no valid board type defined!";
131  return "l1t::BoardNull";
132  }
133  return result;
134 }
l1t::L1GtBoardType l1t::l1GtBoardTypeStringToEnum ( const std::string &  label)

Definition at line 105 of file GlobalDefinitions.cc.

References BoardNull, BoardNull, 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.";
110  value = l1t::BoardNull;
111  }
112 
113  if (value == l1t::BoardNull) {
114  edm::LogInfo("L1TGlobal")
115  << "\n l1t::BoardNull means no valid board type defined!";
116  }
117 
118  return value;
119 }
L1GtBoardType
board types in GT
Definition: value.py:1
std::string l1t::l1GtConditionCategoryEnumToString ( const GtConditionCategory conditionCategory)

Definition at line 193 of file GlobalDefinitions.cc.

References CondNull, and mps_fire::result.

193  {
194  char const *result = valueToKey(conditionCategory, l1GtConditionCategoryStringToEnumMap);
195  if (conditionCategory == l1t::CondNull)
196  edm::LogInfo("L1TGlobal")
197  << "\n Return l1t::CondNull, which means no valid condition category defined!";
198 
199  if (!result) {
200  result = "l1t::CondNull";
201  edm::LogInfo("L1TGlobal") << "\n '" << conditionCategory
202  << "' is not a recognized l1t::GtConditionCategory. "
203  << "\n Return l1t::CondNull, which means no valid condition category defined!";
204  }
205 
206  return result;
207 }
l1t::GtConditionCategory l1t::l1GtConditionCategoryStringToEnum ( const std::string &  label)

Definition at line 174 of file GlobalDefinitions.cc.

References CondNull, CondNull, and relativeConstraints::value.

174  {
175  l1t::GtConditionCategory value = keyToValue(label.c_str(), l1GtConditionCategoryStringToEnumMap);
176  // in case of unrecognized l1t::GtConditionCategory, return l1t::CondNull
177  // to be dealt by the corresponding module
178  if (value == (l1t::GtConditionCategory) -1) {
179  edm::LogInfo("L1TGlobal") << "\n '" << label
180  << "' is not a recognized l1t::GtConditionCategory. \n Return l1t::CondNull.";
181 
182  value = l1t::CondNull;
183  }
184 
185  if (value == l1t::CondNull) {
186  edm::LogInfo("L1TGlobal")
187  << "\n l1t::CondNull means no valid condition category defined!";
188  }
189 
190  return value;
191 }
GtConditionCategory
condition categories
Definition: value.py:1
std::string l1t::l1GtConditionTypeEnumToString ( const GtConditionType conditionType)

Definition at line 160 of file GlobalDefinitions.cc.

References mps_fire::result, and TypeNull.

160  {
161  const char *result = valueToKey(conditionType, l1GtConditionTypeStringToEnumMap);
162  if (conditionType == l1t::TypeNull)
163  edm::LogInfo("L1TGlobal")
164  << "\n Return l1t::TypeNull, which means no valid condition type defined!";
165  if (!result) {
166  result = "l1t::TypeNull";
167  edm::LogInfo("L1TGlobal") << "\n '" << conditionType
168  << "' is not a recognized l1t::GtConditionType. "
169  << "\n Return l1t::TypeNull, which means no valid condition type defined!";
170  }
171  return result;
172 }
l1t::GtConditionType l1t::l1GtConditionTypeStringToEnum ( const std::string &  label)

Definition at line 140 of file GlobalDefinitions.cc.

References TypeNull, TypeNull, and relativeConstraints::value.

140  {
141  l1t::GtConditionType value = keyToValue(label.c_str(), l1GtConditionTypeStringToEnumMap);
142 
143  // in case of unrecognized l1t::GtConditionType, return l1t::TypeNull
144  // to be dealt by the corresponding module
145  if (value == (l1t::GtConditionType) -1) {
146  edm::LogInfo("L1TGlobal") << "\n '" << label
147  << "' is not a recognized l1t::GtConditionType. \n Return l1t::TypeNull.";
148 
149  value = l1t::TypeNull;
150  }
151 
152  if (value == l1t::TypeNull) {
153  edm::LogInfo("L1TGlobal")
154  << "\n l1t::TypeNull means no valid condition type defined!";
155  }
156 
157  return value;
158 }
Definition: value.py:1
std::string l1t::l1TGtObjectEnumToString ( const GlobalObject gtObject)

Definition at line 90 of file GlobalObject.cc.

References gtAsymmetryEt, gtAsymmetryEtHF, gtAsymmetryHt, gtAsymmetryHtHF, gtCentrality0, gtCentrality1, gtCentrality2, gtCentrality3, gtCentrality4, gtCentrality5, gtCentrality6, gtCentrality7, gtEG, gtETM, gtETMHF, gtETT, gtETTem, gtExternal, gtHTM, gtHTT, gtJet, gtMinBiasHFM0, gtMinBiasHFM1, gtMinBiasHFP0, gtMinBiasHFP1, gtMu, gtTau, gtTowerCount, ObjNull, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by l1t::CorrCondition::evaluateCondition(), and l1t::CorrWithOverlapRemovalCondition::evaluateCondition().

90  {
91 
92  std::string gtObjectString;
93 
94  switch (gtObject) {
95 
96  case gtMu: {
97  gtObjectString = "Mu";
98  }
99  break;
100 
101  case gtEG: {
102  gtObjectString = "EG";
103  }
104  break;
105 
106  case gtTau: {
107  gtObjectString = "Tau";
108  }
109  break;
110 
111  case gtJet: {
112  gtObjectString = "Jet";
113  }
114  break;
115 
116  case gtETM: {
117  gtObjectString = "ETM";
118  }
119  break;
120 
121  case gtETT: {
122  gtObjectString = "ETT";
123  }
124  break;
125 
126  case gtHTT: {
127  gtObjectString = "HTT";
128  }
129  break;
130 
131  case gtHTM: {
132  gtObjectString = "HTM";
133  }
134  break;
135 
136  case gtETMHF: {
137  gtObjectString = "ETMHF";
138  }
139  break;
140 
141  case gtTowerCount: {
142  gtObjectString = "TowerCount";
143  }
144  break;
145 
146  case gtMinBiasHFP0: {
147  gtObjectString = "MinBiasHFP0";
148  }
149  break;
150 
151  case gtMinBiasHFM0: {
152  gtObjectString = "MinBiasHFM0";
153  }
154  break;
155 
156  case gtMinBiasHFP1: {
157  gtObjectString = "MinBiasHFP1";
158  }
159  break;
160 
161  case gtMinBiasHFM1: {
162  gtObjectString = "MinBiasHFM1";
163  }
164  break;
165 
166  case gtETTem: {
167  gtObjectString = "ETTem";
168  }
169  break;
170 
171  case gtAsymmetryEt: {
172  gtObjectString = "AsymEt";
173  }
174  break;
175 
176  case gtAsymmetryHt: {
177  gtObjectString = "AsymHt";
178  }
179  break;
180 
181  case gtAsymmetryEtHF: {
182  gtObjectString = "AsymEtHF";
183  }
184  break;
185 
186  case gtAsymmetryHtHF: {
187  gtObjectString = "AsymHtHF";
188  }
189  break;
190 
191  case gtCentrality0: {
192  gtObjectString = "CENT0";
193  }
194  break;
195 
196  case gtCentrality1: {
197  gtObjectString = "CENT1";
198  }
199  break;
200 
201  case gtCentrality2: {
202  gtObjectString = "CENT2";
203  }
204  break;
205 
206  case gtCentrality3: {
207  gtObjectString = "CENT3";
208  }
209  break;
210 
211  case gtCentrality4: {
212  gtObjectString = "CENT4";
213  }
214  break;
215 
216  case gtCentrality5: {
217  gtObjectString = "CENT5";
218  }
219  break;
220 
221  case gtCentrality6: {
222  gtObjectString = "CENT6";
223  }
224  break;
225 
226  case gtCentrality7: {
227  gtObjectString = "CENT7";
228  }
229  break;
230 
231  case gtExternal: {
232  gtObjectString = "External";
233  }
234  break;
235 
236  case ObjNull: {
237  gtObjectString = "ObjNull";
238  edm::LogInfo("L1TGlobal")
239  << "\n ObjNull means no valid GlobalObject defined!";
240  }
241  break;
242 
243  default: {
244  edm::LogInfo("L1TGlobal") << "\n '" << gtObject
245  << "' is not a recognized GlobalObject. "
246  << "\n Return ObjNull, which means no valid GlobalObject defined!";
247 
248  gtObjectString = "ObjNull";
249 
250  }
251  break;
252  }
253 
254  return gtObjectString;
255 
256 }
l1t::GlobalObject l1t::l1TGtObjectStringToEnum ( const std::string &  )

Definition at line 27 of file GlobalObject.cc.

References runEdmFileComparison::found, gtAsymmetryEt, gtAsymmetryEtHF, gtAsymmetryHt, gtAsymmetryHtHF, gtCentrality0, gtCentrality1, gtCentrality2, gtCentrality3, gtCentrality4, gtCentrality5, gtCentrality6, gtCentrality7, gtEG, gtETM, gtETMHF, gtETT, gtETTem, gtExternal, gtHTM, gtHTT, gtJet, gtMinBiasHFM0, gtMinBiasHFM1, gtMinBiasHFP0, gtMinBiasHFP1, gtMu, gtTau, gtTowerCount, mps_fire::i, l1t::L1TGtObjectStringToEnum::label, ObjNull, relativeConstraints::value, and l1t::L1TGtObjectStringToEnum::value.

27  {
28 
29 
30 
31  static const l1t::L1TGtObjectStringToEnum l1TGtObjectStringToEnumMap[] = {
32  {"Mu", gtMu},
33  {"EG", gtEG},
34  {"Tau", gtTau},
35  {"Jet", gtJet},
36  {"ETM", gtETM},
37  {"ETT", gtETT},
38  {"HTT", gtHTT},
39  {"HTM", gtHTM},
40  {"ETMHF", gtETMHF},
41  {"TowerCount",gtTowerCount},
42  {"MinBiasHFP0", gtMinBiasHFP0},
43  {"MinBiasHFM0", gtMinBiasHFM0},
44  {"MinBiasHFP1", gtMinBiasHFP1},
45  {"MinBiasHFM1", gtMinBiasHFM1},
46  {"ETTem", gtETTem},
47  {"AsymEt", gtAsymmetryEt},
48  {"AsymHt", gtAsymmetryHt},
49  {"AsymEtHF", gtAsymmetryEtHF},
50  {"AsymEtHF", gtAsymmetryHtHF},
51  {"CENT0", gtCentrality0},
52  {"CENT1", gtCentrality1},
53  {"CENT2", gtCentrality2},
54  {"CENT3", gtCentrality3},
55  {"CENT4", gtCentrality4},
56  {"CENT5", gtCentrality5},
57  {"CENT6", gtCentrality6},
58  {"CENT7", gtCentrality7},
59  {"External", gtExternal},
60  {"ObjNull", ObjNull},
61  {nullptr, (GlobalObject) - 1}
62  };
63 
65 
66  bool found = false;
67  for (int i = 0; l1TGtObjectStringToEnumMap[i].label && (!found); ++i)
68  if (!std::strcmp(label.c_str(), l1TGtObjectStringToEnumMap[i].label)) {
69  found = true;
70  value = l1TGtObjectStringToEnumMap[i].value;
71  }
72 
73  // in case of unrecognized GlobalObject, returns Mu
74  // and write a warning (to not throw an exception)
75  if (!found) {
76  edm::LogInfo("L1TGlobal") << "\n '" << label
77  << "' is not a recognized GlobalObject. \n Return ObjNull.";
78 
79  value = ObjNull;
80  }
81 
82  if (value == ObjNull) {
83  edm::LogInfo("L1TGlobal")
84  << "\n ObjNull means no valid GlobalObject defined!";
85  }
86 
87  return value;
88 }
GlobalObject
Definition: GlobalObject.h:16
the string to enum and enum to string conversions for GlobalObject
Definition: GlobalObject.h:51
Definition: value.py:1
std::ostream & l1t::operator<< ( std::ostream &  os,
const l1t::CaloParamsHelper p 
)

Definition at line 17 of file CaloParamsHelper.cc.

17  {
18  return os << "CaloParamsHelper...";
19  }
bool l1t::operator> ( const l1t::Tau a,
const l1t::Tau b 
)

Definition at line 17 of file Stage2Layer2TauAlgorithmFirmwareImp1.cc.

References reco::LeafCandidate::pt().

18  {
19  return a.pt() > b.pt();
20  }
double pt() const final
transverse momentum
bool l1t::operator> ( l1t::EGamma a,
l1t::EGamma b 
)
inline

Definition at line 18 of file Stage2Layer2DemuxEGAlgoFirmwareImp1.cc.

References l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), and reco::LeafCandidate::pt().

19  {
20  if ( a.pt() == b.pt() ){
21  if( a.hwPhi() == b.hwPhi() ){
22  return a.hwEta() > b.hwEta();
23  }
24  else{
25  return a.hwPhi() > b.hwPhi();
26  }
27 
28  }
29  else{
30  return a.pt() > b.pt();
31  }
32  }
double pt() const final
transverse momentum
int hwPhi() const
Definition: L1Candidate.h:50
int hwEta() const
Definition: L1Candidate.h:49
bool l1t::operator> ( const l1t::EGamma a,
const l1t::EGamma b 
)

Definition at line 18 of file Stage2Layer2EGammaAlgorithmFirmwareImp1.cc.

References reco::LeafCandidate::pt().

19  {
20  return a.pt() > b.pt();
21  }
double pt() const final
transverse momentum
bool l1t::operator> ( l1t::Tau a,
l1t::Tau b 
)
inline

Definition at line 18 of file Stage2Layer2DemuxTauAlgoFirmwareImp1.cc.

References l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), and reco::LeafCandidate::pt().

19  {
20  if ( a.pt() == b.pt() ){
21  if( a.hwPhi() == b.hwPhi() ){
22  return a.hwEta() > b.hwEta();
23  }
24  else{
25  return a.hwPhi() > b.hwPhi();
26  }
27 
28  }
29  else{
30  return a.pt() > b.pt();
31  }
32  }
double pt() const final
transverse momentum
int hwPhi() const
Definition: L1Candidate.h:50
int hwEta() const
Definition: L1Candidate.h:49
bool l1t::operator> ( const l1t::Jet a,
const l1t::Jet b 
)

Definition at line 22 of file Stage2Layer2JetAlgorithmFirmwareImp1.cc.

References constexpr, and l1t::L1Candidate::hwPt().

22  {
23  return a.hwPt() > b.hwPt();
24  }
int hwPt() const
Definition: L1Candidate.h:48
bool l1t::operator> ( const l1t::Jet a,
l1t::Jet b 
)

Definition at line 45 of file L1TStage2CaloLayer2Comp.cc.

References l1t::L1Candidate::hwPt().

45  {
46  return a.hwPt() > b.hwPt();
47  }
int hwPt() const
Definition: L1Candidate.h:48
bool l1t::operator> ( const l1t::EGamma a,
l1t::EGamma b 
)

Definition at line 48 of file L1TStage2CaloLayer2Comp.cc.

References l1t::L1Candidate::hwPt().

48  {
49  return a.hwPt() > b.hwPt();
50  }
int hwPt() const
Definition: L1Candidate.h:48
bool l1t::operator> ( const l1t::Tau a,
l1t::Tau b 
)

Definition at line 51 of file L1TStage2CaloLayer2Comp.cc.

References l1t::L1Candidate::hwPt().

51  {
52  return a.hwPt() > b.hwPt();
53  }
int hwPt() const
Definition: L1Candidate.h:48
unsigned int l1t::pack15bits ( int  pt,
int  eta,
int  phi 
)

Definition at line 21 of file HardwareSortingMethods.cc.

22  {
23  return( ((pt & 0x3f)) + ((eta & 0xf) << 6) + ((phi & 0x1f) << 10));
24  }
unsigned int l1t::pack16bits ( int  pt,
int  eta,
int  phi 
)

Definition at line 26 of file HardwareSortingMethods.cc.

27  {
28  return( 0x8000 + ((pt & 0x3f)) + ((eta & 0xf) << 6) + ((phi & 0x1f) << 10));
29  }
unsigned int l1t::pack16bitsEgammaSpecial ( int  pt,
int  eta,
int  phi 
)

Definition at line 31 of file HardwareSortingMethods.cc.

32  {
33  return( 0x8000 + ((pt & 0x3f) << 9) + ((eta & 0xf)) + ((phi & 0x1f) << 4));
34  }
void l1t::passThroughJets ( const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 30 of file JetFinderMethods.cc.

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

32  {
33  for(std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
34  int jetQual = 0;
35  if( region->hwEta() < 4 || region->hwEta() > 17)
36  jetQual = 2;
37  int jetET = region->hwPt();
38  int jetEta = region->hwEta();
39  int jetPhi = region->hwPhi();
40 
41  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0,0,0,0);
42  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
43  uncalibjets->push_back(theJet);
44  }
45  }
Definition: Jet.h:21
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 77 of file PUSubtractionMethods.cc.

References HICaloRingSubtraction(), createfilelist::int, SiStripPI::max, l1t::CaloParamsHelper::regionPUSType(), l1t::CaloParamsHelper::regionPUSValue(), and AlCaHLTBitMon_QueryRunRegistry::string.

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

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

Definition at line 54 of file PUSubtractionMethods.cc.

56  {
57  for(std::vector<CaloRegion>::const_iterator region = regions.begin();
58  region != regions.end(); region++){
59  int subEta = region->hwEta();
60  int subPhi = region->hwPhi();
61  int subPt = region->hwPt();
62 
63  if(subPt != (2<<10)-1)
64  subPt = subPt - (10+subEta); // arbitrary value chosen in meeting
65  if(subPt < 0)
66  subPt = 0;
67  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
68 
69  CaloRegion newSubRegion(*&ldummy, 0, 0, subPt, subEta, subPhi, region->hwQual(), region->hwEtEm(), region->hwEtHad());
70  subRegions->push_back(newSubRegion);
71  }
72  }
void l1t::slidingWindowJetFinder ( const int  jetSeedThreshold,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 47 of file JetFinderMethods.cc.

References gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, and reco::btau::jetPhi.

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

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

Definition at line 393 of file HardwareSortingMethods.cc.

References mps_fire::i, createfilelist::int, gen::k, reco::HaloData::minus, presort_egamma(), alignCSCRings::r, l1t::L1Candidate::setHwEta(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), l1t::L1Candidate::setHwQual(), sort_by_row_in_groups(), super_sort_matrix_rows(), and tmp.

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

395  {
396  //Initialize
397  const int FIBER_PAIRS = 18;
398  const int N_INPUT_EGAMMAS = 4;
399  const int N_PRESORTED_ROWS_EGAMMA = 36;
400  const int PRESORT_DEPTH = 4;
401  const int N_EGAMMA_FIRST_GROUP_SIZE = 6;
402  const int N_EGAMMA_SECOND_GROUP_SIZE = 6;
403  const int N_EGAMMA_FIRST_GROUPS = 6;
404  const int N_KEEP_EGAMMA = 4;
405 
406  //Input
407  //Each egamma: RCT isolation, RCT order, phi index, eta index
408 
409  vector<l1t::L1Candidate> iso_egamma_array_p, iso_egamma_array_m; //reusing objects. should probably rename to something like "object"
410  vector<l1t::L1Candidate> noniso_egamma_array_p, noniso_egamma_array_m;
411 
412  for(int k=0; k<2*N_INPUT_EGAMMAS*FIBER_PAIRS; k++){
413  l1t::L1Candidate dummyJet;
414  dummyJet.setHwPt(0);
415  dummyJet.setHwEta(99);
416  dummyJet.setHwPhi(99);
417  dummyJet.setHwQual(0x10);
418  if(k<N_INPUT_EGAMMAS*FIBER_PAIRS){
419  iso_egamma_array_p.push_back(dummyJet);
420  noniso_egamma_array_p.push_back(dummyJet);
421  }
422  else{
423  iso_egamma_array_m.push_back(dummyJet);
424  noniso_egamma_array_m.push_back(dummyJet);
425  }
426  }
427 
428  for (std::vector<l1t::EGamma>::const_iterator ineg = input->begin();
429  ineg != input->end(); ++ineg){
430  int fiberNum = (int) floor(gt_to_fw_phi_map[ineg->hwPhi()]/2);
431  int index = ineg->hwQual();
432  bool iso = ineg->hwIso();
433  bool minus = (ineg->hwEta() < 11);
434 
435  // while waiting for firmware LUT, set all iso to true
436  //iso = true;
437 
438  if(iso && minus)
439  iso_egamma_array_m[8*fiberNum+index] = *ineg;
440  else if (iso && !minus)
441  iso_egamma_array_p[8*fiberNum+index] = *ineg;
442  else if (!iso && minus)
443  noniso_egamma_array_m[8*fiberNum+index] = *ineg;
444  else if (!iso && !minus)
445  noniso_egamma_array_p[8*fiberNum+index] = *ineg;
446 
447  }
448 
449  // std::cout << "iso_egamma_array_m" << std::endl;
450  // for(int i = 0; i < (int)iso_egamma_array_m.size(); ++i)
451  // {
452  // std::cout << iso_egamma_array_m[i].hwPt() << " "
453  // << iso_egamma_array_m[i].hwEta() << " "
454  // << iso_egamma_array_m[i].hwPhi() << std::endl;
455  // }
456 
457  // std::cout << "iso_egamma_array_p" << std::endl;
458  // for(int i = 0; i < (int)iso_egamma_array_p.size(); ++i)
459  // {
460  // std::cout << iso_egamma_array_p[i].hwPt() << " "
461  // << iso_egamma_array_p[i].hwEta() << " "
462  // << iso_egamma_array_p[i].hwPhi() << std::endl;
463  // }
464 
465  //verbose = true;
466  //1
467  std::vector<std::vector<l1t::L1Candidate> > presorted_iso_matrix_sig_p = presort_egamma(iso_egamma_array_p, N_PRESORTED_ROWS_EGAMMA/2, PRESORT_DEPTH);
468  std::vector<std::vector<l1t::L1Candidate> > presorted_iso_matrix_sig_m = presort_egamma(iso_egamma_array_m, N_PRESORTED_ROWS_EGAMMA/2, PRESORT_DEPTH);
469  std::vector<std::vector<l1t::L1Candidate> > presorted_non_iso_matrix_sig_p = presort_egamma(noniso_egamma_array_p, N_PRESORTED_ROWS_EGAMMA/2, PRESORT_DEPTH);
470  std::vector<std::vector<l1t::L1Candidate> > presorted_non_iso_matrix_sig_m = presort_egamma(noniso_egamma_array_m, N_PRESORTED_ROWS_EGAMMA/2, PRESORT_DEPTH);
471 
472  //2
473  std::vector<std::vector<l1t::L1Candidate> > iso_row_presorted_energies_matrix_sig_p = sort_by_row_in_groups(presorted_iso_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE);
474  std::vector<std::vector<l1t::L1Candidate> > iso_row_presorted_energies_matrix_sig_m = sort_by_row_in_groups(presorted_iso_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE);
475  std::vector<std::vector<l1t::L1Candidate> > non_iso_row_presorted_energies_matrix_sig_p = sort_by_row_in_groups(presorted_non_iso_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE);
476  std::vector<std::vector<l1t::L1Candidate> > non_iso_row_presorted_energies_matrix_sig_m = sort_by_row_in_groups(presorted_non_iso_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE);
477 
478  //3
479  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig_p = super_sort_matrix_rows(iso_row_presorted_energies_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
480  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig_m = super_sort_matrix_rows(iso_row_presorted_energies_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
481  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig_p = super_sort_matrix_rows(non_iso_row_presorted_energies_matrix_sig_p, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
482  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig_m = super_sort_matrix_rows(non_iso_row_presorted_energies_matrix_sig_m, N_EGAMMA_FIRST_GROUP_SIZE, N_KEEP_EGAMMA);
483  //combine plus and minus
484  std::vector<std::vector<l1t::L1Candidate> > iso_super_sorted_energies_matrix_sig (N_EGAMMA_FIRST_GROUPS, std::vector<l1t::L1Candidate>(N_KEEP_EGAMMA) );
485  std::vector<std::vector<l1t::L1Candidate> > non_iso_super_sorted_energies_matrix_sig (N_EGAMMA_FIRST_GROUPS, std::vector<l1t::L1Candidate>(N_KEEP_EGAMMA) );
486  for(int r=0; r<N_EGAMMA_FIRST_GROUPS/2; r++){
487  iso_super_sorted_energies_matrix_sig[r] = iso_super_sorted_energies_matrix_sig_m[r];
488  iso_super_sorted_energies_matrix_sig[r+N_EGAMMA_FIRST_GROUPS/2] = iso_super_sorted_energies_matrix_sig_p[r];
489  non_iso_super_sorted_energies_matrix_sig[r] = non_iso_super_sorted_energies_matrix_sig_m[r];
490  non_iso_super_sorted_energies_matrix_sig[r+N_EGAMMA_FIRST_GROUPS/2] = non_iso_super_sorted_energies_matrix_sig_p[r];
491  }
492 
493  //4
494  std::vector<std::vector<l1t::L1Candidate> > iso_stage2_row_sorted_matrix_sig = sort_by_row_in_groups(iso_super_sorted_energies_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE);
495  std::vector<std::vector<l1t::L1Candidate> > non_iso_stage2_row_sorted_matrix_sig = sort_by_row_in_groups(non_iso_super_sorted_energies_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE);
496 
497  //5
498  std::vector<std::vector<l1t::L1Candidate> > iso_stage2_super_sorted_matrix_sig = super_sort_matrix_rows(iso_stage2_row_sorted_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE, N_KEEP_EGAMMA);
499  std::vector<std::vector<l1t::L1Candidate> > non_iso_stage2_super_sorted_matrix_sig = super_sort_matrix_rows(non_iso_stage2_row_sorted_matrix_sig, N_EGAMMA_SECOND_GROUP_SIZE, N_KEEP_EGAMMA);
500 
501  //Prepare output
502  std::vector<l1t::L1Candidate> sorted_iso_egammas = iso_stage2_super_sorted_matrix_sig[0];
503  std::vector<l1t::L1Candidate> sorted_noniso_egammas = non_iso_stage2_super_sorted_matrix_sig[0];
504 
505  //verbose = false;
506 
507  for(unsigned int i = 0; i < 4; ++i)
508  {
509  auto const& tmp = sorted_iso_egammas[i];
510  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), 1 /*Iso*/);
511  }
512  for(unsigned int i = 0; i < 4; ++i)
513  {
514  auto const& tmp =sorted_noniso_egammas[i];
515  output->emplace_back(tmp.p4(),tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), tmp.hwIso());
516  }
517  }
void setHwQual(int qual)
Definition: L1Candidate.h:44
static std::string const input
Definition: EdmProvDump.cc:45
std::vector< std::vector< l1t::L1Candidate > > sort_by_row_in_groups(std::vector< std::vector< l1t::L1Candidate > > const &input_matrix, int group_size)
int k[5][pyjets_maxn]
void setHwPhi(int phi)
Definition: L1Candidate.h:43
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void setHwPt(int pt)
Definition: L1Candidate.h:41
void setHwEta(int eta)
Definition: L1Candidate.h:42
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)
void l1t::SortJets ( std::vector< l1t::Jet > *  input,
std::vector< l1t::Jet > *  output 
)

Definition at line 260 of file HardwareSortingMethods.cc.

References mps_fire::i, presort(), sort_by_row_in_groups(), super_sort_matrix_rows(), and tmp.

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

261  {
262  //verbose = true;
263  const int CENTRAL_ETA_SLICES = 14;
264  const int N_PHI_GROUPS = 5;
265  const int N_PRESORTED_ROWS_CENTRAL = CENTRAL_ETA_SLICES*N_PHI_GROUPS;
266  const int PRESORT_DEPTH = 4;
267  const int N_KEEP_CENTRAL = 4;
268  const int N_ETA_GROUP_SIZE_CENTRAL = 4;
269  const int N_ETA_GROUPS_CENTRAL = 4;
270 
271  const int HFM_ETA_SLICES = 4;
272  const int HFP_ETA_SLICES = 4;
273  const int N_PRESORTED_ROWS_HFM = HFM_ETA_SLICES*N_PHI_GROUPS;
274  const int N_PRESORTED_ROWS_HFP = HFP_ETA_SLICES*N_PHI_GROUPS;
275  const int N_KEEP_FORWARD = 4;
276 
277  const int cen_nrows = 18;
278  const int cen_ncols = 14;
279  const int hfm_nrows = 18, hfp_nrows = 18;
280  const int hfm_ncols = 4, hfp_ncols = 4;
281 
282  std::vector<std::vector<l1t::L1Candidate> > cen_input_energy (cen_nrows, std::vector<l1t::L1Candidate>(cen_ncols));
283  std::vector<std::vector<l1t::L1Candidate> > hfm_input_energy (hfm_nrows, std::vector<l1t::L1Candidate>(hfm_ncols));
284  std::vector<std::vector<l1t::L1Candidate> > hfp_input_energy (hfp_nrows, std::vector<l1t::L1Candidate>(hfp_ncols));
285 
286  for (std::vector<l1t::Jet>::const_iterator injet = input->begin();
287  injet != input->end(); ++injet){
288  if(injet->hwEta() >= 4 && injet->hwEta() <= 17 )
289  {
290  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
291  unsigned int mycol = injet->hwEta()-4; //hardcoding is bad
292  cen_input_energy[myrow][mycol] = *injet;
293  }
294  else if(injet->hwEta() < 4)
295  {
296  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
297  unsigned int mycol = injet->hwEta(); //hardcoding is bad
298  hfm_input_energy[myrow][mycol] = *injet;
299  }
300  else if(injet->hwEta() > 17)
301  {
302  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
303  unsigned int mycol = injet->hwEta()-18; //hardcoding is bad
304  hfp_input_energy[myrow][mycol] = *injet;
305  }
306  else
307  edm::LogError("HardwareJetSort") << "Region out of bounds: " << injet->hwEta();
308  }
309 
310  for(int i = 0; i < cen_nrows; ++i)
311  for(int j = 0; j < cen_ncols; ++j)
312  {
313  if(cen_input_energy[i][j].hwPt() == 0)
314  {
315  cen_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
316  cen_input_energy[i][j].setHwEta(4+j);
317  }
318  }
319 
320  for(int i = 0; i < hfm_nrows; ++i)
321  for(int j = 0; j < hfm_ncols; ++j)
322  {
323  if(hfm_input_energy[i][j].hwPt() == 0)
324  {
325  hfm_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
326  hfm_input_energy[i][j].setHwEta(j);
327  hfm_input_energy[i][j].setHwQual(2);
328  }
329  }
330 
331  for(int i = 0; i < hfp_nrows; ++i)
332  for(int j = 0; j < hfp_ncols; ++j)
333  {
334  if(hfp_input_energy[i][j].hwPt() == 0)
335  {
336  hfp_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
337  hfp_input_energy[i][j].setHwEta(j+18);
338  hfp_input_energy[i][j].setHwQual(2);
339  }
340  }
341 
342  //Each CLK is one clock
343 
344  //CLK 1
345  std::vector<std::vector<l1t::L1Candidate> > presorted_energies_matrix_sig = presort(cen_input_energy, N_PRESORTED_ROWS_CENTRAL, PRESORT_DEPTH);
346  std::vector<std::vector<l1t::L1Candidate> > hfm_presorted_energies_matrix_sig = presort(hfm_input_energy, N_PRESORTED_ROWS_HFM, PRESORT_DEPTH);
347  std::vector<std::vector<l1t::L1Candidate> > hfp_presorted_energies_matrix_sig = presort(hfp_input_energy, N_PRESORTED_ROWS_HFP, PRESORT_DEPTH);
348 
349  //CLK 2
350  std::vector<std::vector<l1t::L1Candidate> > row_presorted_energies_matrix_sig = sort_by_row_in_groups(presorted_energies_matrix_sig, N_PHI_GROUPS);
351  std::vector<std::vector<l1t::L1Candidate> > hfm_row_presorted_energies_matrix_sig = sort_by_row_in_groups(hfm_presorted_energies_matrix_sig, N_PHI_GROUPS);
352  std::vector<std::vector<l1t::L1Candidate> > hfp_row_presorted_energies_matrix_sig = sort_by_row_in_groups(hfp_presorted_energies_matrix_sig, N_PHI_GROUPS);
353 
354  //CLK 3
355  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_CENTRAL);
356  std::vector<std::vector<l1t::L1Candidate> > hfm_sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(hfm_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD);
357  std::vector<std::vector<l1t::L1Candidate> > hfp_sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(hfp_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD);
358 
359  //CLK 4
360  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL);
361  std::vector<std::vector<l1t::L1Candidate> > hfm_row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(hfm_sorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES);
362  std::vector<std::vector<l1t::L1Candidate> > hfp_row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(hfp_sorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES);
363 
364  //CLK 5
365  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_groups_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL, N_KEEP_CENTRAL);
366  std::vector<std::vector<l1t::L1Candidate> > hfm_sorted_final_energies_matrix_sig = super_sort_matrix_rows(hfm_row_presorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES, N_KEEP_FORWARD);
367  std::vector<std::vector<l1t::L1Candidate> > hfp_sorted_final_energies_matrix_sig = super_sort_matrix_rows(hfp_row_presorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES, N_KEEP_FORWARD);
368 
369  //CLK 6
370  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_groups_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL);
371  std::vector<std::vector<l1t::L1Candidate> > hf_merged_plus_minus_forward_energies_matrix_sig(2, std::vector<l1t::L1Candidate>(N_KEEP_FORWARD));
372  hf_merged_plus_minus_forward_energies_matrix_sig[0] = hfm_sorted_final_energies_matrix_sig[0];
373  hf_merged_plus_minus_forward_energies_matrix_sig[1] = hfp_sorted_final_energies_matrix_sig[0];
374  std::vector<std::vector<l1t::L1Candidate> > hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig = sort_by_row_in_groups(hf_merged_plus_minus_forward_energies_matrix_sig, 2);
375 
376  //CLK 7
377  std::vector<std::vector<l1t::L1Candidate> > sorted_final_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL, N_KEEP_CENTRAL);
378  std::vector<std::vector<l1t::L1Candidate> > hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig = super_sort_matrix_rows(hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig, 2, N_KEEP_FORWARD);
379 
380  for(unsigned int i = 0; i < 4; ++i)
381  {
382  auto const& tmp = sorted_final_energies_matrix_sig[0][i];
383  output->emplace_back( tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual() );
384  }
385  for(unsigned int i = 0; i < 4; ++i)
386  {
387  auto const& tmp = hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig[0][i];
388  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual() | 2 );
389  }
390  //verbose = false;
391  }
static std::string const input
Definition: EdmProvDump.cc:45
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)
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
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)
void l1t::SortTaus ( std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 519 of file HardwareSortingMethods.cc.

References mps_fire::i, presort(), sort_by_row_in_groups(), super_sort_matrix_rows(), and tmp.

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

520  {
521  const int CENTRAL_ETA_SLICES = 14;
522  const int N_PHI_GROUPS = 5;
523  const int N_PRESORTED_ROWS_CENTRAL = CENTRAL_ETA_SLICES*N_PHI_GROUPS;
524  const int PRESORT_DEPTH = 4;
525  const int N_KEEP_CENTRAL = 4;
526  const int N_ETA_GROUP_SIZE_CENTRAL = 4;
527  const int N_ETA_GROUPS_CENTRAL = 4;
528 
529  const int cen_nrows = 18;
530  const int cen_ncols = 14;
531 
532  std::vector<std::vector<l1t::L1Candidate> > cen_input_energy (cen_nrows, std::vector<l1t::L1Candidate>(cen_ncols));
533 
534  for (std::vector<l1t::Tau>::const_iterator injet = input->begin();
535  injet != input->end(); ++injet){
536  if(injet->hwEta() >= 4 && injet->hwEta() <= 17 )
537  {
538  unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()];
539  unsigned int mycol = injet->hwEta()-4; //hardcoding is bad
540  cen_input_energy[myrow][mycol] = *injet;
541  }
542  else
543  edm::LogError("HardwareTauSort") << "Region out of bounds: " << injet->hwEta();
544  }
545 
546  for(int i = 0; i < cen_nrows; ++i)
547  for(int j = 0; j < cen_ncols; ++j)
548  {
549  if(cen_input_energy[i][j].hwPt() == 0)
550  {
551  cen_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]);
552  cen_input_energy[i][j].setHwEta(4+j);
553  }
554  }
555 
556  //Each CLK is one clock
557 
558  //CLK 1
559  std::vector<std::vector<l1t::L1Candidate> > presorted_energies_matrix_sig = presort(cen_input_energy, N_PRESORTED_ROWS_CENTRAL, PRESORT_DEPTH);
560  //CLK 2
561  std::vector<std::vector<l1t::L1Candidate> > row_presorted_energies_matrix_sig = sort_by_row_in_groups(presorted_energies_matrix_sig, N_PHI_GROUPS);
562  //CLK 3
563  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_CENTRAL);
564  //CLK 4
565  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL);
566  //CLK 5
567  std::vector<std::vector<l1t::L1Candidate> > sorted_eta_groups_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL, N_KEEP_CENTRAL);
568  //CLK 6
569  std::vector<std::vector<l1t::L1Candidate> > row_presorted_eta_groups_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL);
570  //CLK 7
571  std::vector<std::vector<l1t::L1Candidate> > sorted_final_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL, N_KEEP_CENTRAL);
572 
573  for(unsigned int i = 0; i < 4; ++i)
574  {
575  auto const& tmp = sorted_final_energies_matrix_sig[0][i];
576  output->emplace_back(tmp.p4(), tmp.hwPt(), tmp.hwEta(), tmp.hwPhi(), tmp.hwQual(), tmp.hwIso());
577  }
578  }
static std::string const input
Definition: EdmProvDump.cc:45
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)
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
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)
void l1t::TauToGtEtaScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 124 of file legacyGtHelper.cc.

References gtEta(), and gtTau.

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

126  {
127  for(std::vector<l1t::Tau>::const_iterator itTau = input->begin();
128  itTau != input->end(); ++itTau){
129  unsigned newPhi = itTau->hwPhi();
130  unsigned newEta = gtEta(itTau->hwEta());
131 
132  // taus with hwQual & 10 ==10 are "padding" jets from a sort, set their eta and phi
133  // to the max value
134  if((itTau->hwQual() & 0x10) == 0x10)
135  {
136  newEta = 0x0;
137  newPhi = 0x0;
138  }
139 
140 
141  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
142 
143  l1t::Tau gtTau(*&ldummy, itTau->hwPt(), newEta, newPhi, itTau->hwQual(), itTau->hwIso());
144  output->push_back(gtTau);
145  }
146  }
Definition: Tau.h:21
const unsigned int gtEta(const unsigned int iEta)
static std::string const input
Definition: EdmProvDump.cc:45
void l1t::TauToGtPtScales ( CaloParamsHelper const *  params,
const std::vector< l1t::Tau > *  input,
std::vector< l1t::Tau > *  output 
)

Definition at line 148 of file legacyGtHelper.cc.

References gtTau, l1t::CaloParamsHelper::jetScale(), L1CaloEtScale::linScaleMax(), and L1CaloEtScale::rank().

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

150  {
151  for(std::vector<l1t::Tau>::const_iterator itTau = input->begin();
152  itTau != input->end(); ++itTau){
153  uint16_t linPt = (uint16_t)itTau->hwPt();
154  if(linPt > params->jetScale().linScaleMax() ) linPt = params->jetScale().linScaleMax();
155  const uint16_t rankPt = params->jetScale().rank(linPt);
156 
157  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > ldummy(0,0,0,0);
158 
159  l1t::Tau gtTau(*&ldummy, rankPt, itTau->hwEta(), itTau->hwPhi(), itTau->hwQual(), itTau->hwIso());
160  output->push_back(gtTau);
161  }
162  }
Definition: Tau.h:21
static std::string const input
Definition: EdmProvDump.cc:45
void l1t::TwelveByTwelveFinder ( const int  jetSeedThreshold,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 168 of file JetFinderMethods.cc.

References gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, and reco::btau::jetPhi.

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

171  {
172  for(std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
173  int regionET = region->hwPt(); //regionPhysicalEt(*region);
174  if (regionET < jetSeedThreshold) continue;
175  int neighborN_et = 0;
176  int neighborS_et = 0;
177  int neighborE_et = 0;
178  int neighborW_et = 0;
179  int neighborNE_et = 0;
180  int neighborSW_et = 0;
181  int neighborNW_et = 0;
182  int neighborSE_et = 0;
183  unsigned int nNeighbors = 0;
184  for(std::vector<CaloRegion>::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) {
185  int neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor);
186  if(deltaGctPhi(*region, *neighbor) == 1 &&
187  (region->hwEta() ) == neighbor->hwEta()) {
188  neighborN_et = neighborET;
189  nNeighbors++;
190  continue;
191  }
192  else if(deltaGctPhi(*region, *neighbor) == -1 &&
193  (region->hwEta() ) == neighbor->hwEta()) {
194  neighborS_et = neighborET;
195  nNeighbors++;
196  continue;
197  }
198  else if(deltaGctPhi(*region, *neighbor) == 0 &&
199  (region->hwEta() + 1) == neighbor->hwEta()) {
200  neighborE_et = neighborET;
201  nNeighbors++;
202  continue;
203  }
204  else if(deltaGctPhi(*region, *neighbor) == 0 &&
205  (region->hwEta() - 1) == neighbor->hwEta()) {
206  neighborW_et = neighborET;
207  nNeighbors++;
208  continue;
209  }
210  else if(deltaGctPhi(*region, *neighbor) == 1 &&
211  (region->hwEta() + 1) == neighbor->hwEta()) {
212  neighborNE_et = neighborET;
213  nNeighbors++;
214  continue;
215  }
216  else if(deltaGctPhi(*region, *neighbor) == -1 &&
217  (region->hwEta() - 1) == neighbor->hwEta()) {
218  neighborSW_et = neighborET;
219  nNeighbors++;
220  continue;
221  }
222  else if(deltaGctPhi(*region, *neighbor) == 1 &&
223  (region->hwEta() - 1) == neighbor->hwEta()) {
224  neighborNW_et = neighborET;
225  nNeighbors++;
226  continue;
227  }
228  else if(deltaGctPhi(*region, *neighbor) == -1 &&
229  (region->hwEta() + 1) == neighbor->hwEta()) {
230  neighborSE_et = neighborET;
231  nNeighbors++;
232  continue;
233  }
234  }
235  unsigned int jetET = regionET +
236  neighborN_et + neighborS_et + neighborE_et + neighborW_et +
237  neighborNE_et + neighborSW_et + neighborSE_et + neighborNW_et;
238 
239  int jetPhi = region->hwPhi();
240  int jetEta = region->hwEta();
241 
242  bool neighborCheck = (nNeighbors == 8);
243  // On the eta edge we only expect 5 neighbors
244  if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5)
245  neighborCheck = true;
246 
247  if (!neighborCheck) {
248  std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl;
249  assert(false);
250  }
251 
252  //first iteration, eta cut defines forward
253  //const bool forward = (jetEta <= 4 || jetEta >= 17);
254  const bool forward = (jetEta < 4 || jetEta > 17);
255  int jetQual = 0;
256  if(forward)
257  jetQual |= 0x2;
258 
259  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0,0,0,0);
260  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
261  //l1t::Jet theJet(0, jetET, jetEta, jetPhi);
262 
263  uncalibjets->push_back(theJet);
264  }
265  }
Definition: Jet.h:21
int deltaGctPhi(const CaloRegion &region, const CaloRegion &neighbor)
void l1t::TwoByTwoFinder ( const int  jetSeedThreshold,
const int  etaMask,
const std::vector< l1t::CaloRegion > *  regions,
std::vector< l1t::Jet > *  uncalibjets 
)

Definition at line 267 of file JetFinderMethods.cc.

References gather_cfg::cout, deltaGctPhi(), reco::btau::jetEta, reco::btau::jetPhi, and SiStripPI::max.

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

271  {
272  for(std::vector<CaloRegion>::const_iterator region = regions->begin(); region != regions->end(); region++) {
273  int regionET = region->hwPt();
274  if (regionET <= jetSeedThreshold) continue;
275  int subEta = region->hwEta();
276  if((etaMask & (1<<subEta))>>subEta) regionET = 0;
277  int neighborN_et = 0;
278  int neighborS_et = 0;
279  int neighborE_et = 0;
280  int neighborW_et = 0;
281  int neighborNE_et = 0;
282  int neighborSW_et = 0;
283  int neighborNW_et = 0;
284  int neighborSE_et = 0;
285  unsigned int nNeighbors = 0;
286  for(std::vector<CaloRegion>::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) {
287  int neighborET = neighbor->hwPt();
288  int subEta2 = neighbor->hwEta();
289  if((etaMask & (1<<subEta2))>>subEta2) neighborET = 0;
290 
291  if(deltaGctPhi(*region, *neighbor) == 1 &&
292  (region->hwEta() ) == neighbor->hwEta()) {
293  neighborN_et = neighborET;
294  nNeighbors++;
295  continue;
296  }
297  else if(deltaGctPhi(*region, *neighbor) == -1 &&
298  (region->hwEta() ) == neighbor->hwEta()) {
299  neighborS_et = neighborET;
300  nNeighbors++;
301  continue;
302  }
303  else if(deltaGctPhi(*region, *neighbor) == 0 &&
304  (region->hwEta() + 1) == neighbor->hwEta()) {
305  neighborE_et = neighborET;
306  nNeighbors++;
307  continue;
308  }
309  else if(deltaGctPhi(*region, *neighbor) == 0 &&
310  (region->hwEta() - 1) == neighbor->hwEta()) {
311  neighborW_et = neighborET;
312  nNeighbors++;
313  continue;
314  }
315  else if(deltaGctPhi(*region, *neighbor) == 1 &&
316  (region->hwEta() + 1) == neighbor->hwEta()) {
317  neighborNE_et = neighborET;
318  nNeighbors++;
319  continue;
320  }
321  else if(deltaGctPhi(*region, *neighbor) == -1 &&
322  (region->hwEta() - 1) == neighbor->hwEta()) {
323  neighborSW_et = neighborET;
324  nNeighbors++;
325  continue;
326  }
327  else if(deltaGctPhi(*region, *neighbor) == 1 &&
328  (region->hwEta() - 1) == neighbor->hwEta()) {
329  neighborNW_et = neighborET;
330  nNeighbors++;
331  continue;
332  }
333  else if(deltaGctPhi(*region, *neighbor) == -1 &&
334  (region->hwEta() + 1) == neighbor->hwEta()) {
335  neighborSE_et = neighborET;
336  nNeighbors++;
337  continue;
338  }
339 
340  }
341  if(regionET > neighborN_et &&
342  regionET > neighborNW_et &&
343  regionET > neighborW_et &&
344  regionET > neighborSW_et &&
345  regionET >= neighborNE_et &&
346  regionET >= neighborE_et &&
347  regionET >= neighborSE_et &&
348  regionET >= neighborS_et) {
349 
350  // use the highest-pT 2x2 jet inside this 3x3
351  unsigned int jetET_NW;
352  unsigned int jetET_NE;
353  unsigned int jetET_SW;
354  unsigned int jetET_SE;
355 
356  jetET_NW = regionET + neighborW_et + neighborNW_et + neighborN_et;
357  jetET_NE = regionET + neighborE_et + neighborNE_et + neighborN_et;
358  jetET_SW = regionET + neighborS_et + neighborSW_et + neighborW_et;
359  jetET_SE = regionET + neighborS_et + neighborSE_et + neighborE_et;
360 
361  unsigned int jetET = std::max(jetET_NW, jetET_NE);
362  jetET = std::max(jetET, jetET_SW);
363  jetET = std::max(jetET, jetET_SE);
364 
365  int jetPhi = region->hwPhi();
366  int jetEta = region->hwEta();
367 
368  bool neighborCheck = (nNeighbors == 8);
369  // On the eta edge we only expect 5 neighbor
370  if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5)
371  neighborCheck = true;
372 
373  if (!neighborCheck) {
374  std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl;
375  assert(false);
376  }
377 
378  //first iteration, eta cut defines forward
379  const bool forward = (jetEta < 4 || jetEta > 17);
380  int jetQual = 0;
381  if(forward)
382  jetQual |= 0x2;
383 
384  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > jetLorentz(0,0,0,0);
385  l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual);
386  uncalibjets->push_back(theJet);
387  }
388  }
389  }
Definition: Jet.h:21
int deltaGctPhi(const CaloRegion &region, const CaloRegion &neighbor)