ATLAS Offline Software
Classes | Functions
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. More...
 
MsgStream & operator<< (MsgStream &m, const TrigTauCluster &tau)
 Helper operator for printing the object. More...
 
bool operator== (const TrigTauCluster &left, const TrigTauCluster &right)
 Operator comparing two TrigTauCluster objects for equality. More...
 
bool operator!= (const TrigTauCluster &left, const TrigTauCluster &right)
 Operator comparing two TrigTauCluster objects for inequality. More...
 
void diff (const TrigTauCluster &left, const TrigTauCluster &right, std::map< std::string, double > &varChange)
 Comparison with feedback. More...
 

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 }

◆ 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 }
TrigTauCluster::EMenergy
float EMenergy() const
get EM Energy
Definition: TrigTauCluster.h:108
TrigTauCluster::clusterDetails
const TrigTauClusterDetails * clusterDetails() const
accessor to TrigTauClusterDetails*
Definition: TrigTauCluster.cxx:157
TrigTauCluster::EMRadius3S
float EMRadius3S() const
get EM Radius 3S
Definition: TrigTauCluster.h:144
TrigTauCluster::IsoFrac
float IsoFrac() const
get Isolation Fraction
Definition: TrigTauCluster.h:126
TrigTauCluster::CaloRadius
float CaloRadius() const
get Total Calo Radius
Definition: TrigTauCluster.h:122
TrigTauCluster::stripWidth
float stripWidth() const
get Width in the strip sampling
Definition: TrigTauCluster.h:136
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
diff
void diff(const TrigTauCluster &clus1, const TrigTauCluster &clus2, std::map< std::string, double > &varChange)
Comparison with feedback.
Definition: TrigTauCluster.cxx:244
str
std::string str(const TrigTauCluster &tau)
Helper function for printing the object.
Definition: TrigTauCluster.cxx:212
TrigTauCluster::numTotCells
int numTotCells() const
get Number of total cells in the cluster
Definition: TrigTauCluster.h:134
TrigCaloCluster
Base Cluster Class.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:39
TrigTauCluster::EMFrac
float EMFrac() const
get EM Fraction
Definition: TrigTauCluster.h:148
TrigTauCluster::HadRadius
float HadRadius() const
get Hadronic Radius
Definition: TrigTauCluster.h:150
TrigTauCluster::eCalib
float eCalib() const
get Calibrated Energy
Definition: TrigTauCluster.h:140
TrigTauCluster::EMRadius2
float EMRadius2() const
get EM Radius
Definition: TrigTauCluster.h:120
TrigTauCluster::stripWidthOffline
float stripWidthOffline() const
get Width as in offline
Definition: TrigTauCluster.h:138
TrigTauCluster::HADenergy
float HADenergy() const
get HAD Energy
Definition: TrigTauCluster.h:110
TrigTauCluster::numStripCells
int numStripCells() const
get Number of fired strips
Definition: TrigTauCluster.h:132
TrigTauCluster::CoreFrac
float CoreFrac() const
get Core Fraction
Definition: TrigTauCluster.h:146
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106