CMS 3D CMS Logo

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