ATLAS Offline Software
Loading...
Searching...
No Matches
TrigTauCluster.h File Reference
#include "AthLinks/ElementLink.h"
#include "TrigCaloEvent/TrigCaloCluster.h"
#include "TrigCaloEvent/TrigTauClusterDetailsContainer.h"
Include dependency graph for TrigTauCluster.h:

Go to the source code of this file.

Classes

class  TrigTauCluster
 Class with calibrated variables for tau clustering. More...

Functions

std::string str (const TrigTauCluster &tau)
 Helper function for printing the object.
MsgStream & operator<< (MsgStream &m, const TrigTauCluster &tau)
 Helper operator for printing the object.
bool operator== (const TrigTauCluster &left, const TrigTauCluster &right)
 Operator comparing two TrigTauCluster objects for equality.
bool operator!= (const TrigTauCluster &left, const TrigTauCluster &right)
 Operator comparing two TrigTauCluster objects for inequality.
void diff (const TrigTauCluster &left, const TrigTauCluster &right, std::map< std::string, double > &varChange)
 Comparison with feedback.

Function Documentation

◆ diff()

void diff ( const TrigTauCluster & left,
const TrigTauCluster & right,
std::map< std::string, double > & varChange )

Comparison with feedback.

Definition at line 244 of file TrigTauCluster.cxx.

245{
246 const double epsilon = 0.001;
247 diff(static_cast<const TrigCaloCluster&>(clus1), static_cast<const TrigCaloCluster&>(clus2), varChange);
248
249 if(std::fabs(clus1.EMenergy() - clus2.EMenergy()) > epsilon)
250 {
251 varChange["EMEnergy"] = clus1.EMenergy() - clus2.EMenergy();
252 }
253 if(std::fabs(clus1.HADenergy() - clus2.HADenergy()) > epsilon)
254 {
255 varChange["HADenergy"] = clus1.HADenergy() - clus2.HADenergy();
256 }
257 if(std::fabs(clus1.eCalib() - clus2.eCalib()) > epsilon)
258 {
259 varChange["eCalib"] = clus1.eCalib() - clus2.eCalib();
260 }
261 if(std::fabs(clus1.EMRadius2() - clus2.EMRadius2()) > epsilon)
262 {
263 varChange["EMRadius2"] = clus1.EMRadius2() - clus2.EMRadius2();
264 }
265 if(std::fabs(clus1.CaloRadius() - clus2.CaloRadius()) > epsilon)
266 {
267 varChange["CaloRadius"] = clus1.CaloRadius() - clus2.CaloRadius();
268 }
269 if(std::fabs(clus1.IsoFrac() - clus2.IsoFrac()) > epsilon)
270 {
271 varChange["IsoFrac"] = clus1.IsoFrac() - clus2.IsoFrac();
272 }
273 if(std::abs(clus1.numStripCells() - clus2.numStripCells()) > epsilon)
274 {
275 varChange["numStripCells"] = clus1.numStripCells() - clus2.numStripCells();
276 }
277 if(std::abs(clus1.numTotCells() - clus2.numTotCells()) > epsilon)
278 {
279 varChange["numTotCells"] = clus1.numTotCells() - clus2.numTotCells();
280 }
281 if(std::fabs(clus1.stripWidth() - clus2.stripWidth()) > epsilon)
282 {
283 varChange["stripWidth"] = clus1.stripWidth() - clus2.stripWidth();
284 }
285 if(std::fabs(clus1.stripWidthOffline() - clus2.stripWidthOffline()) > epsilon)
286 {
287 varChange["stripWidthOffline"] = clus1.stripWidthOffline() - clus2.stripWidthOffline();
288 }
289 if(std::fabs(clus1.EMRadius3S() - clus2.EMRadius3S()) > epsilon)
290 {
291 varChange["EMRadius3S"] = clus1.EMRadius3S() - clus2.EMRadius3S();
292 }
293 if(std::fabs(clus1.CoreFrac() - clus2.CoreFrac()) > epsilon)
294 {
295 varChange["CoreFrac"] = clus1.CoreFrac() - clus2.CoreFrac();
296 }
297 if(std::fabs(clus1.EMFrac() - clus2.EMFrac()) > epsilon)
298 {
299 varChange["EMFrac"] = clus1.EMFrac() - clus2.EMFrac();
300 }
301 if(std::fabs(clus1.HadRadius() - clus2.HadRadius()) > epsilon)
302 {
303 varChange["HadRadius"] = clus1.HadRadius() - clus2.HadRadius();
304 }
305
306 if(clus1.clusterDetails() != 0 && clus2.clusterDetails() == 0)
307 {
308 varChange["clusterDetails "] = 1;
309 }
310 else if(clus1.clusterDetails() == 0 && clus2.clusterDetails() != 0)
311 {
312 varChange["clusterDetails "] = -1;
313 }
314 else if(clus1.clusterDetails() != 0 && clus2.clusterDetails() != 0 && clus1.clusterDetails() != clus2.clusterDetails())
315 {
316 diff(clus1.clusterDetails(), clus2.clusterDetails(), varChange);
317 }
318 return;
319}
void diff(const TrigTauCluster &clus1, const TrigTauCluster &clus2, std::map< std::string, double > &varChange)
Comparison with feedback.

◆ operator!=()

bool operator!= ( const TrigTauCluster & left,
const TrigTauCluster & right )
inline

Operator comparing two TrigTauCluster objects for inequality.

Definition at line 204 of file TrigTauCluster.h.

205{
206 return !(left == right);
207}

◆ operator<<()

MsgStream & operator<< ( MsgStream & m,
const TrigTauCluster & tau )

Helper operator for printing the object.

Definition at line 238 of file TrigTauCluster.cxx.

239{
240 return (m << str(tau));
241}

◆ operator==()

bool operator== ( const TrigTauCluster & left,
const TrigTauCluster & right )

Operator comparing two TrigTauCluster objects for equality.

Definition at line 181 of file TrigTauCluster.cxx.

182{
183 if(static_cast<const TrigCaloCluster&>(clus1) != static_cast<const TrigCaloCluster&>(clus2))
184 {
185 return false;
186 }
187
188 double epsilon=0.001;
189 if(std::fabs(clus1.EMenergy() - clus2.EMenergy()) > epsilon) return false;
190 if(std::fabs(clus1.HADenergy() - clus2.HADenergy()) > epsilon) return false;
191 if(std::fabs(clus1.eCalib() - clus2.eCalib()) > epsilon) return false;
192 if(std::fabs(clus1.EMRadius2() - clus2.EMRadius2()) > epsilon) return false;
193 if(std::fabs(clus1.CaloRadius() - clus2.CaloRadius()) > epsilon) return false;
194 if(std::fabs(clus1.IsoFrac() - clus2.IsoFrac()) > epsilon) return false;
195 if(std::abs(clus1.numStripCells() - clus2.numStripCells()) > epsilon) return false;
196 if(std::abs(clus1.numTotCells() - clus2.numTotCells()) > epsilon) return false;
197 if(std::fabs(clus1.stripWidth() - clus2.stripWidth()) > epsilon) return false;
198 if(std::fabs(clus1.stripWidthOffline() - clus2.stripWidthOffline() ) > epsilon) return false;
199 if(std::fabs(clus1.EMRadius3S() - clus2.EMRadius3S()) > epsilon) return false;
200 if(std::fabs(clus1.CoreFrac() - clus2.CoreFrac()) > epsilon) return false;
201 if(std::fabs(clus1.EMFrac() - clus2.EMFrac()) > epsilon) return false;
202 if(std::fabs(clus1.HadRadius() - clus2.HadRadius()) > epsilon) return false;
203
204 if(clus1.clusterDetails() != 0 && clus2.clusterDetails() != 0 && clus1.clusterDetails() != clus2.clusterDetails())
205 {
206 return false;
207 }
208
209 return true;
210}

◆ str()

std::string str ( const TrigTauCluster & tau)

Helper function for printing the object.

Definition at line 212 of file TrigTauCluster.cxx.

213{
214 std::stringstream stream;
215 stream << str(static_cast<const TrigCaloCluster&>(tau))
216 << "; EMenergy:" << tau.EMenergy()
217 << "; HADenergy:" << tau.HADenergy()
218 << "; eCalib:" << tau.eCalib()
219 << "; EMRadius2:" << tau.EMRadius2()
220 << "; CaloRadius:" << tau.CaloRadius()
221 << "; IsoFrac:" << tau.IsoFrac()
222 << "; numStripCells:" << tau.numStripCells()
223 << "; numTotCells:" << tau.numTotCells()
224 << "; stripWidth:" << tau.stripWidth()
225 << "; stripWidthOffline:" << tau.stripWidthOffline()
226 << "; EMRadius3S:" << tau.EMRadius3S()
227 << "; CoreFrac:" << tau.CoreFrac()
228 << "; EMFrac:" << tau.EMFrac()
229 << "; HadRadius:" << tau.HadRadius();
230 if(tau.clusterDetails() != 0)
231 {
232 stream << "; " << str(*tau.clusterDetails());
233 }
234
235 return stream.str();
236}