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 L1TCALOSTAGE1RingSUMSALGORITHMIMP_H
0018 #define L1TCALOSTAGE1RingSUMSALGORITHMIMP_H
0019
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h"
0022 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0023
0024 namespace l1t {
0025
0026 class Stage1Layer2FlowAlgorithm : public Stage1Layer2HFRingSumAlgorithm {
0027 public:
0028 Stage1Layer2FlowAlgorithm(CaloParamsHelper const* params);
0029 ~Stage1Layer2FlowAlgorithm() override = default;
0030 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0031 const std::vector<l1t::CaloEmCand>& EMCands,
0032 const std::vector<l1t::Tau>* taus,
0033 l1t::CaloSpare* spare) override;
0034
0035 private:
0036 std::vector<double> cosPhi;
0037 std::vector<double> sinPhi;
0038 };
0039
0040 class Stage1Layer2CentralityAlgorithm : public Stage1Layer2HFRingSumAlgorithm {
0041 public:
0042 Stage1Layer2CentralityAlgorithm(CaloParamsHelper const* params);
0043 ~Stage1Layer2CentralityAlgorithm() override = default;
0044 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0045 const std::vector<l1t::CaloEmCand>& EMCands,
0046 const std::vector<l1t::Tau>* taus,
0047 l1t::CaloSpare* spare) override;
0048
0049 private:
0050 CaloParamsHelper const* params_;
0051 };
0052
0053 class Stage1Layer2DiTauAlgorithm : public Stage1Layer2HFRingSumAlgorithm {
0054 public:
0055 Stage1Layer2DiTauAlgorithm(CaloParamsHelper const* params);
0056 ~Stage1Layer2DiTauAlgorithm() override = default;
0057 void processEvent(const std::vector<l1t::CaloRegion>& regions,
0058 const std::vector<l1t::CaloEmCand>& EMCands,
0059 const std::vector<l1t::Tau>* taus,
0060 l1t::CaloSpare* spare) override;
0061
0062 private:
0063 CaloParamsHelper const* params_;
0064 };
0065 }
0066
0067 #endif