CMS 3D CMS Logo

CaloTemplate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_CaloTemplate_h
2 #define L1Trigger_L1TGlobal_CaloTemplate_h
3 
27 // system include files
28 #include <string>
29 #include <iosfwd>
30 
31 // user include files
32 
33 // base class
35 
36 // forward declarations
37 
38 // class declaration
39 class CaloTemplate : public GlobalCondition {
40 public:
41  // constructor
42  CaloTemplate();
43 
44  // constructor
45  CaloTemplate(const std::string&);
46 
47  // constructor
49 
50  // copy constructor
51  CaloTemplate(const CaloTemplate&);
52 
53  // destructor
54  ~CaloTemplate() override;
55 
56  // assign operator
58 
59 public:
61  struct ObjectParameter {
62  unsigned int etLowThreshold;
63  unsigned int etHighThreshold;
64  unsigned int indexLow;
65  unsigned int indexHigh;
66  unsigned int etaRange;
67  unsigned int phiRange;
68 
69  unsigned int isolationLUT;
70  unsigned int qualityLUT;
71  unsigned int displacedLUT; // Added for LLP Jets
72 
73  unsigned int etaWindow1Lower;
74  unsigned int etaWindow1Upper;
75  unsigned int etaWindow2Lower;
76  unsigned int etaWindow2Upper;
77 
78  unsigned int phiWindow1Lower;
79  unsigned int phiWindow1Upper;
80  unsigned int phiWindow2Lower;
81  unsigned int phiWindow2Upper;
82  };
83 
86  unsigned long long deltaEtaRange;
87 
88  unsigned long long deltaPhiRange;
89  unsigned int deltaPhiMaxbits;
90 
91  unsigned int deltaEtaRangeLower;
92  unsigned int deltaEtaRangeUpper;
93 
94  unsigned int deltaPhiRangeLower;
95  unsigned int deltaPhiRangeUpper;
96  };
97 
98 public:
99  inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
100 
102 
104  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
105  const CorrelationParameter& corrParameter);
106 
108  void print(std::ostream& myCout) const override;
109 
111  friend std::ostream& operator<<(std::ostream&, const CaloTemplate&);
112 
113 protected:
115  void copy(const CaloTemplate& cp);
116 
117 protected:
119  std::vector<ObjectParameter> m_objectParameter;
121 };
122 
123 #endif
CorrelationParameter m_correlationParameter
Definition: CaloTemplate.h:120
unsigned long long deltaEtaRange
Definition: CaloTemplate.h:86
unsigned long long deltaPhiRange
Definition: CaloTemplate.h:88
void copy(const CaloTemplate &cp)
copy function for copy constructor and operator=
typedef for a single object template
Definition: CaloTemplate.h:61
friend std::ostream & operator<<(std::ostream &, const CaloTemplate &)
output stream operator
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: CaloTemplate.h:119
CaloTemplate & operator=(const CaloTemplate &)
Definition: CaloTemplate.cc:57
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: CaloTemplate.cc:63
void print(std::ostream &myCout) const override
print the condition
Definition: CaloTemplate.cc:69
const std::vector< ObjectParameter > * objectParameter() const
Definition: CaloTemplate.h:99
typedef for correlation parameters
Definition: CaloTemplate.h:85
~CaloTemplate() override
Definition: CaloTemplate.cc:52
const CorrelationParameter * correlationParameter() const
Definition: CaloTemplate.h:101