File indexing completed on 2023-03-17 11:12:06
0001 #ifndef L1Trigger_L1TGlobal_EnergySumTemplate_h
0002 #define L1Trigger_L1TGlobal_EnergySumTemplate_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include <string>
0022 #include <iosfwd>
0023
0024
0025
0026
0027 #include "L1Trigger/L1TGlobal/interface/GlobalCondition.h"
0028
0029
0030
0031
0032 class EnergySumTemplate : public GlobalCondition {
0033 public:
0034
0035 EnergySumTemplate();
0036
0037
0038 EnergySumTemplate(const std::string&);
0039
0040
0041 EnergySumTemplate(const std::string&, const l1t::GtConditionType&);
0042
0043
0044 EnergySumTemplate(const EnergySumTemplate&);
0045
0046
0047 ~EnergySumTemplate() override;
0048
0049
0050 EnergySumTemplate& operator=(const EnergySumTemplate&);
0051
0052 public:
0053
0054 struct ObjectParameter {
0055 unsigned int etLowThreshold;
0056 unsigned int etHighThreshold;
0057 bool energyOverflow;
0058
0059 unsigned int phiWindow1Lower;
0060 unsigned int phiWindow1Upper;
0061 unsigned int phiWindow2Lower;
0062 unsigned int phiWindow2Upper;
0063
0064
0065
0066 unsigned long long phiRange0Word;
0067 unsigned long long phiRange1Word;
0068 };
0069
0070 public:
0071 inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
0072
0073
0074 void setConditionParameter(const std::vector<ObjectParameter>&);
0075
0076
0077 void print(std::ostream& myCout) const override;
0078
0079
0080 friend std::ostream& operator<<(std::ostream&, const EnergySumTemplate&);
0081
0082 private:
0083
0084 void copy(const EnergySumTemplate& cp);
0085
0086 private:
0087
0088 std::vector<ObjectParameter> m_objectParameter;
0089 };
0090
0091 #endif