File indexing completed on 2024-04-06 12:20:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef L1TCALOSTAGE1JETALGORITHMIMP_H
0018 #define L1TCALOSTAGE1JETALGORITHMIMP_H
0019
0020 #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h"
0021 #include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h"
0022 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0023
0024 namespace l1t {
0025
0026 class Stage1Layer2JetAlgorithmImpHI : public Stage1Layer2JetAlgorithm {
0027 public:
0028 Stage1Layer2JetAlgorithmImpHI(CaloParamsHelper const* params);
0029 ~Stage1Layer2JetAlgorithmImpHI() override = default;
0030 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0031 const std::vector<l1t::CaloEmCand>& EMCands,
0032 std::vector<l1t::Jet>* jets,
0033 std::vector<l1t::Jet>* preGtJets) override;
0034
0035 private:
0036 CaloParamsHelper const* const params_;
0037
0038 };
0039
0040 class Stage1Layer2JetAlgorithmImpPP : public Stage1Layer2JetAlgorithm {
0041 public:
0042 Stage1Layer2JetAlgorithmImpPP(CaloParamsHelper const* params);
0043 ~Stage1Layer2JetAlgorithmImpPP() override = default;
0044 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0045 const std::vector<l1t::CaloEmCand>& EMCands,
0046 std::vector<l1t::Jet>* jets,
0047 std::vector<l1t::Jet>* preGtJets) override;
0048
0049 private:
0050 CaloParamsHelper const* const params_;
0051
0052 };
0053
0054 class Stage1Layer2JetAlgorithmImpSimpleHW : public Stage1Layer2JetAlgorithm {
0055 public:
0056 Stage1Layer2JetAlgorithmImpSimpleHW(CaloParamsHelper const* params);
0057 ~Stage1Layer2JetAlgorithmImpSimpleHW() override = default;
0058 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0059 const std::vector<l1t::CaloEmCand>& EMCands,
0060 std::vector<l1t::Jet>* jets,
0061 std::vector<l1t::Jet>* preGtJets) override;
0062
0063 private:
0064 CaloParamsHelper const* const params_;
0065
0066 };
0067 }
0068
0069 #endif