Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:38

0001 #ifndef __L1Trigger_L1THGCal_HGCalConcentratorBestChoiceImpl_h__
0002 #define __L1Trigger_L1THGCal_HGCalConcentratorBestChoiceImpl_h__
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "DataFormats/L1THGCal/interface/HGCalTriggerCell.h"
0006 #include "L1Trigger/L1THGCal/interface/HGCalTriggerTools.h"
0007 #include <vector>
0008 
0009 class HGCalConcentratorBestChoiceImpl {
0010 public:
0011   HGCalConcentratorBestChoiceImpl(const edm::ParameterSet& conf);
0012 
0013   void select(unsigned nLinks,
0014               unsigned nWafers,
0015               const std::vector<l1t::HGCalTriggerCell>& trigCellVecInput,
0016               std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput,
0017               std::vector<l1t::HGCalTriggerCell>& trigCellVecNotSelected);
0018 
0019   void setGeometry(const HGCalTriggerGeometryBase* const geom) { triggerTools_.setGeometry(geom); }
0020 
0021 private:
0022   std::vector<unsigned> nData_;
0023   static constexpr unsigned kNDataSize_ = 128;
0024   static constexpr uint32_t kWaferOffset_ = 4;
0025   static constexpr uint32_t kWaferMask_ = 0x7;
0026   static constexpr uint32_t kLinkMask_ = 0xF;
0027 
0028   HGCalTriggerTools triggerTools_;
0029 };
0030 
0031 #endif