File indexing completed on 2024-04-06 12:20:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef Stage1Layer2MainProcessorFirmware_H
0014 #define Stage1Layer2MainProcessorFirmware_H
0015
0016 #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h"
0017 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0018
0019 #include "Stage1Layer2EGammaAlgorithm.h"
0020 #include "Stage1Layer2EtSumAlgorithm.h"
0021 #include "Stage1Layer2JetAlgorithm.h"
0022 #include "Stage1Layer2TauAlgorithm.h"
0023 #include "Stage1Layer2HFRingSumAlgorithm.h"
0024 #include "Stage1Layer2HFBitCountAlgorithm.h"
0025
0026 #include <memory>
0027
0028 namespace l1t {
0029
0030 class Stage1Layer2MainProcessorFirmwareImp1 : public Stage1Layer2MainProcessor {
0031 public:
0032
0033 Stage1Layer2MainProcessorFirmwareImp1(const int fwv, CaloParamsHelper const *dbPars);
0034 ~Stage1Layer2MainProcessorFirmwareImp1() override = default;
0035 void processEvent(const std::vector<CaloEmCand> &,
0036 const std::vector<CaloRegion> &,
0037 std::vector<EGamma> *egammas,
0038 std::vector<Tau> *taus,
0039 std::vector<Tau> *isoTaus,
0040 std::vector<Jet> *jets,
0041 std::vector<Jet> *preGtJets,
0042 std::vector<EtSum> *etsums,
0043 CaloSpare *hfSums,
0044 CaloSpare *hfCounts) override;
0045
0046 private:
0047 int m_fwv;
0048
0049 std::unique_ptr<Stage1Layer2EGammaAlgorithm> m_egAlgo;
0050 std::unique_ptr<Stage1Layer2TauAlgorithm> m_tauAlgo;
0051 std::unique_ptr<Stage1Layer2JetAlgorithm> m_jetAlgo;
0052 std::unique_ptr<Stage1Layer2EtSumAlgorithm> m_sumAlgo;
0053 std::unique_ptr<Stage1Layer2HFRingSumAlgorithm> m_hfRingAlgo;
0054 std::unique_ptr<Stage1Layer2HFBitCountAlgorithm> m_hfBitAlgo;
0055 };
0056
0057 }
0058
0059 #endif