File indexing completed on 2022-02-16 06:15:49
0001 #ifndef L1Trigger_L1TGlobal_CaloTemplate_h
0002 #define L1Trigger_L1TGlobal_CaloTemplate_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #include <string>
0029 #include <iosfwd>
0030
0031
0032
0033
0034 #include "L1Trigger/L1TGlobal/interface/GlobalCondition.h"
0035
0036
0037
0038
0039 class CaloTemplate : public GlobalCondition {
0040 public:
0041
0042 CaloTemplate();
0043
0044
0045 CaloTemplate(const std::string&);
0046
0047
0048 CaloTemplate(const std::string&, const l1t::GtConditionType&);
0049
0050
0051 CaloTemplate(const CaloTemplate&);
0052
0053
0054 ~CaloTemplate() override;
0055
0056
0057 CaloTemplate& operator=(const CaloTemplate&);
0058
0059 public:
0060
0061 struct ObjectParameter {
0062 unsigned int etLowThreshold;
0063 unsigned int etHighThreshold;
0064 unsigned int indexLow;
0065 unsigned int indexHigh;
0066 unsigned int etaRange;
0067 unsigned int phiRange;
0068
0069 unsigned int isolationLUT;
0070 unsigned int qualityLUT;
0071 unsigned int displacedLUT;
0072
0073 unsigned int etaWindow1Lower;
0074 unsigned int etaWindow1Upper;
0075 unsigned int etaWindow2Lower;
0076 unsigned int etaWindow2Upper;
0077
0078 unsigned int phiWindow1Lower;
0079 unsigned int phiWindow1Upper;
0080 unsigned int phiWindow2Lower;
0081 unsigned int phiWindow2Upper;
0082 };
0083
0084
0085 struct CorrelationParameter {
0086 unsigned long long deltaEtaRange;
0087
0088 unsigned long long deltaPhiRange;
0089 unsigned int deltaPhiMaxbits;
0090
0091 unsigned int deltaEtaRangeLower;
0092 unsigned int deltaEtaRangeUpper;
0093
0094 unsigned int deltaPhiRangeLower;
0095 unsigned int deltaPhiRangeUpper;
0096 };
0097
0098 public:
0099 inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
0100
0101 inline const CorrelationParameter* correlationParameter() const { return &m_correlationParameter; }
0102
0103
0104 void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
0105 const CorrelationParameter& corrParameter);
0106
0107
0108 void print(std::ostream& myCout) const override;
0109
0110
0111 friend std::ostream& operator<<(std::ostream&, const CaloTemplate&);
0112
0113 protected:
0114
0115 void copy(const CaloTemplate& cp);
0116
0117 protected:
0118
0119 std::vector<ObjectParameter> m_objectParameter;
0120 CorrelationParameter m_correlationParameter;
0121 };
0122
0123 #endif