CMS 3D CMS Logo

MuonTemplate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_MuonTemplate_h
2 #define L1Trigger_L1TGlobal_MuonTemplate_h
3 
21 // system include files
22 #include <string>
23 #include <iosfwd>
24 
25 // user include files
26 
27 // base class
29 
30 // forward declarations
31 
32 // class declaration
34 {
35 
36 public:
37 
38  // constructor
39  MuonTemplate();
40 
41  // constructor
42  MuonTemplate(const std::string& );
43 
44  // constructor
46 
47  // copy constructor
48  MuonTemplate( const MuonTemplate& );
49 
50  // destructor
51  ~MuonTemplate() override;
52 
53  // assign operator
55 
56 public:
57 
58  // typedef for a single object template
60  {
61  unsigned int ptHighThreshold;
62  unsigned int ptLowThreshold;
63  unsigned int indexHigh;
64  unsigned int indexLow;
65  bool enableMip;
66  bool enableIso;
67  bool requestIso;
68  unsigned int qualityLUT;
69  unsigned int isolationLUT;
70  unsigned long long etaRange;
71  unsigned int phiHigh;
72  unsigned int phiLow;
73 
74  int charge;
75 
76  unsigned int etaWindow1Lower;
77  unsigned int etaWindow1Upper;
78  unsigned int etaWindow2Lower;
79  unsigned int etaWindow2Upper;
80 
81  unsigned int phiWindow1Lower;
82  unsigned int phiWindow1Upper;
83  unsigned int phiWindow2Lower;
84  unsigned int phiWindow2Upper;
85  };
86 
87  // typedef for correlation parameters
88  // chargeCorrelation is defined always
89  // see documentation for meaning
91  {
92  unsigned int chargeCorrelation;
93  //unsigned long long deltaEtaRange;
94 
95  unsigned long long deltaPhiRange0Word;
96  unsigned long long deltaPhiRange1Word;
97  //unsigned int deltaPhiMaxbits;
98 
99  unsigned long long deltaEtaRange;
100 
101  unsigned long long deltaPhiRange;
102  unsigned int deltaPhiMaxbits;
103 
104  unsigned int deltaEtaRangeLower;
105  unsigned int deltaEtaRangeUpper;
106 
107  unsigned int deltaPhiRangeLower;
108  unsigned int deltaPhiRangeUpper;
109 
110  };
111 
112 public:
113 
114  inline const std::vector<ObjectParameter>* objectParameter() const
115  {
116  return &m_objectParameter;
117  }
118 
120  {
121  return &m_correlationParameter;
122  }
123 
124 
126  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
127  const CorrelationParameter& corrParameter);
128 
129 
131  void print(std::ostream& myCout) const override;
132 
134  friend std::ostream& operator<<(std::ostream&, const MuonTemplate&);
135 
136 
137 private:
138 
140  void copy( const MuonTemplate& cp);
141 
142 
143 private:
144 
146  std::vector<ObjectParameter> m_objectParameter;
148 
149 };
150 
151 #endif
void copy(const MuonTemplate &cp)
copy function for copy constructor and operator=
MuonTemplate & operator=(const MuonTemplate &)
Definition: MuonTemplate.cc:79
const std::vector< ObjectParameter > * objectParameter() const
Definition: MuonTemplate.h:114
unsigned long long etaRange
Definition: MuonTemplate.h:70
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: MuonTemplate.h:146
unsigned long long deltaPhiRange0Word
Definition: MuonTemplate.h:95
void print(std::ostream &myCout) const override
print the condition
Definition: MuonTemplate.cc:98
unsigned long long deltaPhiRange1Word
Definition: MuonTemplate.h:96
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: MuonTemplate.cc:88
unsigned long long deltaEtaRange
Definition: MuonTemplate.h:99
const CorrelationParameter * correlationParameter() const
Definition: MuonTemplate.h:119
~MuonTemplate() override
Definition: MuonTemplate.cc:73
CorrelationParameter m_correlationParameter
Definition: MuonTemplate.h:147
friend std::ostream & operator<<(std::ostream &, const MuonTemplate &)
output stream operator