CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonTemplate.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 
30 
31 // forward declarations
32 
33 // constructors
35  : GtCondition()
36 {
37 
39 
40 }
41 
43  : GtCondition(cName)
44 {
45 
47 
48 }
49 
51  : GtCondition(cName, l1t::CondMuon, cType)
52 {
53 
54  int nObjects = nrObjects();
55 
56  if (nObjects > 0) {
57  m_objectParameter.reserve(nObjects);
58 
59  m_objectType.reserve(nObjects);
60  m_objectType.assign(nObjects, Mu);
61  }
62 
63 }
64 
65 // copy constructor
67  : GtCondition(cp.m_condName)
68 {
69  copy(cp);
70 }
71 
72 // destructor
74 {
75  // empty now
76 }
77 
78 // assign operator
80 {
81 
82  copy(cp);
83  return *this;
84 }
85 
86 
87 // setConditionParameter - set the parameters of the condition
89  const std::vector<ObjectParameter>& objParameter,
90  const CorrelationParameter& corrParameter)
91 {
92 
93  m_objectParameter = objParameter;
94  m_correlationParameter = corrParameter;
95 
96 }
97 
98 void MuonTemplate::print(std::ostream& myCout) const
99 {
100 
101  myCout << "\n MuonTemplate print..." << std::endl;
102 
103  GtCondition::print(myCout);
104 
105  int nObjects = nrObjects();
106 
107  for (int i = 0; i < nObjects; i++) {
108  myCout << std::endl;
109  myCout << " Template for object " << i << " [ hex ]" << std::endl;
110  myCout << " ptHighThreshold = "
111  << std::hex << m_objectParameter[i].ptHighThreshold << std::endl;
112  myCout << " ptLowThreshold = "
113  << std::hex << m_objectParameter[i].ptLowThreshold << std::endl;
114  myCout << " enableMip = "
115  << std::hex << m_objectParameter[i].enableMip << std::endl;
116  myCout << " enableIso = "
117  << std::hex << m_objectParameter[i].enableIso << std::endl;
118  myCout << " requestIso = "
119  << std::hex << m_objectParameter[i].requestIso << std::endl;
120  myCout << " charge ="
121  << std::dec << m_objectParameter[i].charge << std::endl;
122  myCout << " qualityLUT = "
123  << std::hex << m_objectParameter[i].qualityLUT << std::endl;
124  myCout << " isolationLUT = "
125  << std::hex << m_objectParameter[i].isolationLUT << std::endl;
126  // myCout << " etaRange = "
127  // << std::hex << m_objectParameter[i].etaRange << std::endl;
128  // myCout << " phiHigh = "
129  // << std::hex << m_objectParameter[i].phiHigh << std::endl;
130  // myCout << " phiLow = "
131 // << std::hex << m_objectParameter[i].phiLow << std::endl;
132  myCout << " phiWindow1Lower ="
133  << std::hex << m_objectParameter[i].phiWindow1Lower << std::endl;
134  myCout << " phiWindow1Upper ="
135  << std::hex << m_objectParameter[i].phiWindow1Upper << std::endl;
136  myCout << " phiWindow2Lower ="
137  << std::hex << m_objectParameter[i].phiWindow2Lower << std::endl;
138  myCout << " phiWindow2Upper ="
139  << std::hex << m_objectParameter[i].phiWindow2Upper << std::endl;
140  myCout << " etaWindow1Lower ="
141  << std::hex << m_objectParameter[i].etaWindow1Lower << std::endl;
142  myCout << " etaWindow1Upper ="
143  << std::hex << m_objectParameter[i].etaWindow1Upper << std::endl;
144  myCout << " etaWindow2Lower ="
145  << std::hex << m_objectParameter[i].etaWindow2Lower << std::endl;
146  myCout << " etaWindow2Upper ="
147  << std::hex << m_objectParameter[i].etaWindow2Upper << std::endl;
148 
149 
150  }
151 
152 
153  if ( wsc() ) {
154  myCout << " Correlation parameters " << "[ hex ]" << std::endl;
155 
156  myCout << " chargeCorrelation = "
158  << std::endl;
159 
160  myCout << " deltaEtaRange = "
161  << std::hex << m_correlationParameter.deltaEtaRange << std::endl;
162  myCout << " deltaPhiRange1Word = "
163  << std::hex << m_correlationParameter.deltaPhiRange1Word << std::endl;
164  myCout << " deltaPhiRange0Word = "
165  << std::hex << m_correlationParameter.deltaPhiRange0Word << std::endl;
166  myCout << " deltaPhiMaxbits = "
167  << std::hex << m_correlationParameter.deltaPhiMaxbits << std::endl;
168  } else {
169 
170  if (m_condType == l1t::Type1s) {
171  myCout << " Correlation parameters " << "[ hex ]" << std::endl;
172 
173  myCout << " chargeCorrelation = "
175  << " (charge sign) " << std::endl;
176 
177  } else {
178 
179  myCout << "\n Correlation parameters " << "[ hex ]" << std::endl;
180 
181  myCout << " chargeCorrelation = "
183  << std::endl;
184  }
185  }
186 
187  // reset to decimal output
188  myCout << std::dec << std::endl;
189 }
190 
192 {
193 
194  m_condName = cp.condName();
196  m_condType = cp.condType();
197  m_objectType = cp.objectType();
198  m_condGEq = cp.condGEq();
199  m_condChipNr = cp.condChipNr();
201 
204 
205 }
206 
207 // output stream operator
208 std::ostream& operator<<(std::ostream& os, const MuonTemplate& result)
209 {
210  result.print(os);
211  return os;
212 
213 }
214 
215 
void copy(const MuonTemplate &cp)
copy function for copy constructor and operator=
int i
Definition: DBlmapReader.cc:9
bool m_condGEq
the operator used for the condition (&gt;=, =): true for &gt;=
Definition: GtCondition.h:168
virtual ~MuonTemplate()
Definition: MuonTemplate.cc:73
const int & condChipNr() const
get / set the condition-chip number the condition is located on
Definition: GtCondition.h:112
l1t::GtConditionType m_condType
the type of the condition (1s, etc)
Definition: GtCondition.h:162
GtConditionType
Definition: GtDefinitions.h:99
int m_condChipNr
condition is located on condition chip m_condChipNr
Definition: GtCondition.h:171
virtual void print(std::ostream &myCout) const
print the condition
Definition: MuonTemplate.cc:98
MuonTemplate & operator=(const MuonTemplate &)
Definition: MuonTemplate.cc:79
virtual void print(std::ostream &myCout) const
print condition
Definition: GtCondition.cc:154
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
std::vector< L1GtObject > m_objectType
the trigger object type(s)
Definition: GtCondition.h:165
const std::vector< ObjectParameter > * objectParameter() const
Definition: MuonTemplate.h:111
const int nrObjects() const
get number of trigger objects
Definition: GtCondition.cc:74
std::string m_condName
the name of the condition
Definition: GtCondition.h:156
const int & condRelativeBx() const
get / set the condition relative bx
Definition: GtCondition.h:123
l1t::GtConditionCategory m_condCategory
the category of the condition
Definition: GtCondition.h:159
tuple result
Definition: query.py:137
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: MuonTemplate.h:143
const l1t::GtConditionType & condType() const
get / set the type of the condition (1s, etc)
Definition: GtCondition.h:79
unsigned long long deltaPhiRange0Word
Definition: MuonTemplate.h:92
const std::vector< L1GtObject > & objectType() const
get / set the trigger object type(s) in the condition
Definition: GtCondition.h:90
const std::string & condName() const
get / set condition name
Definition: GtCondition.h:57
const bool wsc() const
Definition: GtCondition.cc:131
Definition: L1GtObject.h:30
unsigned long long deltaPhiRange1Word
Definition: MuonTemplate.h:93
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: MuonTemplate.cc:88
unsigned long long deltaEtaRange
Definition: MuonTemplate.h:96
const l1t::GtConditionCategory & condCategory() const
get / set the category of the condition
Definition: GtCondition.h:68
int m_condRelativeBx
Definition: GtCondition.h:174
const CorrelationParameter * correlationParameter() const
Definition: MuonTemplate.h:116
const bool condGEq() const
get / set condition GEq flag
Definition: GtCondition.h:101
CorrelationParameter m_correlationParameter
Definition: MuonTemplate.h:144