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 
28 // system include files
29 #include <string>
30 #include <iosfwd>
31 
32 // user include files
33 
34 // base class
36 
37 // forward declarations
38 
39 // class declaration
40 class CaloTemplate : public GlobalCondition {
41 public:
42  // constructor
43  CaloTemplate();
44 
45  // constructor
46  CaloTemplate(const std::string&);
47 
48  // constructor
50 
51  // copy constructor
52  CaloTemplate(const CaloTemplate&);
53 
54  // destructor
55  ~CaloTemplate() override;
56 
57  // assign operator
59 
60 public:
61  struct Window {
62  unsigned int lower;
63  unsigned int upper;
64  };
65 
67  struct ObjectParameter {
68  unsigned int etLowThreshold;
69  unsigned int etHighThreshold;
70  unsigned int indexLow;
71  unsigned int indexHigh;
72  unsigned int etaRange;
73  unsigned int phiRange;
74 
75  unsigned int isolationLUT;
76  unsigned int qualityLUT;
77  unsigned int displacedLUT; // Added for LLP Jets
78 
79  std::vector<Window> etaWindows;
80 
81  unsigned int phiWindow1Lower;
82  unsigned int phiWindow1Upper;
83  unsigned int phiWindow2Lower;
84  unsigned int phiWindow2Upper;
85  };
86 
89  unsigned long long deltaEtaRange;
90 
91  unsigned long long deltaPhiRange;
92  unsigned int deltaPhiMaxbits;
93 
94  unsigned int deltaEtaRangeLower;
95  unsigned int deltaEtaRangeUpper;
96 
97  unsigned int deltaPhiRangeLower;
98  unsigned int deltaPhiRangeUpper;
99  };
100 
101 public:
102  inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
103 
105 
107  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
108  const CorrelationParameter& corrParameter);
109 
111  void print(std::ostream& myCout) const override;
112 
114  friend std::ostream& operator<<(std::ostream&, const CaloTemplate&);
115 
116 protected:
118  void copy(const CaloTemplate& cp);
119 
120 protected:
122  std::vector<ObjectParameter> m_objectParameter;
124 };
125 
126 #endif
CorrelationParameter m_correlationParameter
Definition: CaloTemplate.h:123
unsigned long long deltaEtaRange
Definition: CaloTemplate.h:89
unsigned long long deltaPhiRange
Definition: CaloTemplate.h:91
void copy(const CaloTemplate &cp)
copy function for copy constructor and operator=
typedef for a single object template
Definition: CaloTemplate.h:67
friend std::ostream & operator<<(std::ostream &, const CaloTemplate &)
output stream operator
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: CaloTemplate.h:122
CaloTemplate & operator=(const CaloTemplate &)
Definition: CaloTemplate.cc:57
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: CaloTemplate.cc:63
unsigned int lower
Definition: CaloTemplate.h:62
void print(std::ostream &myCout) const override
print the condition
Definition: CaloTemplate.cc:69
const std::vector< ObjectParameter > * objectParameter() const
Definition: CaloTemplate.h:102
typedef for correlation parameters
Definition: CaloTemplate.h:88
~CaloTemplate() override
Definition: CaloTemplate.cc:52
const CorrelationParameter * correlationParameter() const
Definition: CaloTemplate.h:104
unsigned int upper
Definition: CaloTemplate.h:63
std::vector< Window > etaWindows
Definition: CaloTemplate.h:79