CMS 3D CMS Logo

L1GtMuonTemplate.cc
Go to the documentation of this file.
1 
17 // this class header
19 
20 // system include files
21 
22 #include <iostream>
23 #include <iomanip>
24 
25 // user include files
26 
27 // base class
28 
31 
32 // forward declarations
33 
34 // constructors
36  : L1GtCondition()
37 {
38 
40 
41 }
42 
44  : L1GtCondition(cName)
45 {
46 
48 
49 }
50 
52  : L1GtCondition(cName, CondMuon, cType)
53 {
54 
55  int nObjects = nrObjects();
56 
57  if (nObjects > 0) {
58  m_objectParameter.reserve(nObjects);
59 
60  m_objectType.reserve(nObjects);
61  m_objectType.assign(nObjects, Mu);
62  }
63 
64 }
65 
66 // copy constructor
69 {
70  copy(cp);
71 }
72 
73 // destructor
75 {
76  // empty now
77 }
78 
79 // assign operator
81 {
82 
83  copy(cp);
84  return *this;
85 }
86 
87 
88 // setConditionParameter - set the parameters of the condition
90  const std::vector<ObjectParameter>& objParameter,
91  const CorrelationParameter& corrParameter)
92 {
93 
94  m_objectParameter = objParameter;
95  m_correlationParameter = corrParameter;
96 
97 }
98 
99 void L1GtMuonTemplate::print(std::ostream& myCout) const
100 {
101 
102  myCout << "\n L1GtMuonTemplate print..." << std::endl;
103 
104  L1GtCondition::print(myCout);
105 
106  int nObjects = nrObjects();
107 
108  for (int i = 0; i < nObjects; i++) {
109  myCout << std::endl;
110  myCout << " Template for object " << i << " [ hex ]" << std::endl;
111  myCout << " ptHighThreshold = "
112  << std::hex << m_objectParameter[i].ptHighThreshold << std::endl;
113  myCout << " ptLowThreshold = "
114  << std::hex << m_objectParameter[i].ptLowThreshold << std::endl;
115  myCout << " enableMip = "
116  << std::hex << m_objectParameter[i].enableMip << std::endl;
117  myCout << " enableIso = "
118  << std::hex << m_objectParameter[i].enableIso << std::endl;
119  myCout << " requestIso = "
120  << std::hex << m_objectParameter[i].requestIso << std::endl;
121  myCout << " qualityRange = "
122  << std::hex << m_objectParameter[i].qualityRange << std::endl;
123  myCout << " etaRange = "
124  << std::hex << m_objectParameter[i].etaRange << std::endl;
125  myCout << " phiHigh = "
126  << std::hex << m_objectParameter[i].phiHigh << std::endl;
127  myCout << " phiLow = "
128  << std::hex << m_objectParameter[i].phiLow << std::endl;
129  }
130 
131 
132  if ( wsc() ) {
133  myCout << " Correlation parameters " << "[ hex ]" << std::endl;
134 
135  myCout << " chargeCorrelation = "
137  << std::endl;
138 
139  myCout << " deltaEtaRange = "
140  << std::hex << m_correlationParameter.deltaEtaRange << std::endl;
141  myCout << " deltaPhiRange1Word = "
142  << std::hex << m_correlationParameter.deltaPhiRange1Word << std::endl;
143  myCout << " deltaPhiRange0Word = "
144  << std::hex << m_correlationParameter.deltaPhiRange0Word << std::endl;
145  myCout << " deltaPhiMaxbits = "
146  << std::hex << m_correlationParameter.deltaPhiMaxbits << std::endl;
147  } else {
148 
149  if (m_condType == Type1s) {
150  myCout << " Correlation parameters " << "[ hex ]" << std::endl;
151 
152  myCout << " chargeCorrelation = "
154  << " (charge sign) " << std::endl;
155 
156  } else {
157 
158  myCout << "\n Correlation parameters " << "[ hex ]" << std::endl;
159 
160  myCout << " chargeCorrelation = "
162  << std::endl;
163  }
164  }
165 
166  // reset to decimal output
167  myCout << std::dec << std::endl;
168 }
169 
171 {
172 
173  m_condName = cp.condName();
175  m_condType = cp.condType();
176  m_objectType = cp.objectType();
177  m_condGEq = cp.condGEq();
178  m_condChipNr = cp.condChipNr();
179 
182 
183 }
184 
185 // output stream operator
186 std::ostream& operator<<(std::ostream& os, const L1GtMuonTemplate& result)
187 {
188  result.print(os);
189  return os;
190 
191 }
192 
193 
const int nrObjects() const
get number of trigger objects
const CorrelationParameter * correlationParameter() const
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
const std::string & condName() const
get / set condition name
Definition: L1GtCondition.h:57
const int & condChipNr() const
get / set the condition-chip number the condition is located on
const std::vector< L1GtObject > & objectType() const
get / set the trigger object type(s) in the condition
Definition: L1GtCondition.h:90
std::vector< L1GtObject > m_objectType
the trigger object type(s)
L1GtConditionType
virtual void print(std::ostream &myCout) const
print condition
~L1GtMuonTemplate() override
L1GtConditionType m_condType
the type of the condition (1s, etc)
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
L1GtConditionCategory m_condCategory
the category of the condition
const bool wsc() const
L1GtMuonTemplate & operator=(const L1GtMuonTemplate &)
const L1GtConditionType & condType() const
get / set the type of the condition (1s, etc)
Definition: L1GtCondition.h:79
const std::vector< ObjectParameter > * objectParameter() const
friend std::ostream & operator<<(std::ostream &, const L1GtMuonTemplate &)
output stream operator
std::string m_condName
the name of the condition
CorrelationParameter m_correlationParameter
const L1GtConditionCategory & condCategory() const
get / set the category of the condition
Definition: L1GtCondition.h:68
Definition: L1GtObject.h:30
void print(std::ostream &myCout) const override
print the condition
void copy(const L1GtMuonTemplate &cp)
copy function for copy constructor and operator=
bool m_condGEq
the operator used for the condition (>=, =): true for >=
const bool condGEq() const
get / set condition GEq flag
int m_condChipNr
condition is located on condition chip m_condChipNr