Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 ///
0002 /// Description: Firmware headers
0003 ///
0004 /// Implementation:
0005 ///    Concrete firmware implementations
0006 ///
0007 /// \author: Jim Brooke - University of Bristol
0008 ///
0009 
0010 //
0011 //
0012 
0013 #ifndef Stage2Layer2EtSumAlgorithmFirmware_H
0014 #define Stage2Layer2EtSumAlgorithmFirmware_H
0015 
0016 #include "L1Trigger/L1TCalorimeter/interface/Stage2Layer2EtSumAlgorithm.h"
0017 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0018 
0019 namespace l1t {
0020 
0021   // Imp1 is for v1 and v2
0022   class Stage2Layer2EtSumAlgorithmFirmwareImp1 : public Stage2Layer2EtSumAlgorithm {
0023   public:
0024     Stage2Layer2EtSumAlgorithmFirmwareImp1(CaloParamsHelper const* params);
0025     ~Stage2Layer2EtSumAlgorithmFirmwareImp1() override = default;
0026     void processEvent(const std::vector<l1t::CaloTower>& towers, std::vector<l1t::EtSum>& sums) override;
0027 
0028   private:
0029     CaloParamsHelper const* params_;
0030     int32_t towEtMetThresh_;
0031     int32_t towEtSumEtThresh_;
0032     int32_t towEtEcalSumThresh_;
0033     int32_t metEtaMax_;
0034     int32_t metEtaMaxHF_;
0035     int32_t ettEtaMax_;
0036     int32_t ettEtaMaxHF_;
0037     int32_t nTowThresholdHw_;
0038     int32_t nTowEtaMax_;
0039   };
0040 }  // namespace l1t
0041 
0042 #endif