Namespaces | Classes | Typedefs | Functions
reco Namespace Reference

Namespaces

 shower
 

Classes

class  Cluster3D
 
class  ClusterHit2D
 
class  ClusterHit3D
 
class  ClusterParameters
 
class  ConvexHull
 Define a container for working with the convex hull. More...
 
class  PrincipalComponents
 
class  RecobClusterParameters
 A utility class used in construction of 3D clusters. More...
 

Typedefs

using ClusterHit2DVec = std::vector< const reco::ClusterHit2D * >
 
using Hit2DListPtr = std::list< const reco::ClusterHit2D * >
 export some data structure definitions More...
 
using HitPairListPtr = std::list< const reco::ClusterHit3D * >
 
using HitPairSetPtr = std::set< const reco::ClusterHit3D * >
 
using HitPairListPtrList = std::list< HitPairListPtr >
 
using HitPairClusterMap = std::map< int, HitPairListPtr >
 
using HitPairList = std::list< reco::ClusterHit3D >
 
using PCAHitPairClusterMapPair = std::pair< reco::PrincipalComponents, reco::HitPairClusterMap::iterator >
 
using PlaneToClusterParamsMap = std::map< size_t, RecobClusterParameters >
 
using EdgeTuple = std::tuple< const reco::ClusterHit3D *, const reco::ClusterHit3D *, double >
 
using EdgeList = std::list< EdgeTuple >
 
using Hit3DToEdgePair = std::pair< const reco::ClusterHit3D *, reco::EdgeList >
 
using Hit3DToEdgeMap = std::unordered_map< const reco::ClusterHit3D *, reco::EdgeList >
 
using Hit2DToHit3DListMap = std::unordered_map< const reco::ClusterHit2D *, reco::HitPairListPtr >
 
using ProjectedPoint = std::tuple< float, float, const reco::ClusterHit3D * >
 Projected coordinates and pointer to hit. More...
 
using ProjectedPointList = std::list< ProjectedPoint >
 
using ConvexHullKinkTuple = std::tuple< ProjectedPoint, Eigen::Vector2f, Eigen::Vector2f >
 Point plus edges that point to it. More...
 
using ConvexHullKinkTupleList = std::list< ConvexHullKinkTuple >
 
using ClusterParametersList = std::list< ClusterParameters >
 
using ClusterToHitPairSetPair = std::pair< reco::ClusterParameters *, HitPairSetPtr >
 
using ClusterToHitPairSetMap = std::unordered_map< reco::ClusterParameters *, HitPairSetPtr >
 
using Hit2DToHit3DSetMap = std::unordered_map< const reco::ClusterHit2D *, HitPairSetPtr >
 
using Hit2DToClusterMap = std::unordered_map< const reco::ClusterHit2D *, ClusterToHitPairSetMap >
 

Functions

std::ostream & operator<< (std::ostream &o, const ClusterHit2D &c)
 
bool operator< (const ClusterHit2D &a, const ClusterHit2D &b)
 
std::ostream & operator<< (std::ostream &o, const ClusterHit3D &c)
 
std::ostream & operator<< (std::ostream &o, const PrincipalComponents &a)
 
bool operator< (const PrincipalComponents &a, const PrincipalComponents &b)
 
std::ostream & operator<< (std::ostream &o, const Cluster3D &c)
 
bool operator< (const Cluster3D &a, const Cluster3D &b)
 

Typedef Documentation

Definition at line 92 of file Cluster3D.h.

using reco::ClusterParametersList = typedef std::list<ClusterParameters>

Definition at line 404 of file Cluster3D.h.

Definition at line 509 of file Cluster3D.h.

Definition at line 508 of file Cluster3D.h.

using reco::ConvexHullKinkTuple = typedef std::tuple<ProjectedPoint, Eigen::Vector2f, Eigen::Vector2f>

Point plus edges that point to it.

Definition at line 354 of file Cluster3D.h.

Definition at line 355 of file Cluster3D.h.

using reco::EdgeList = typedef std::list<EdgeTuple>

Definition at line 345 of file Cluster3D.h.

using reco::EdgeTuple = typedef std::tuple<const reco::ClusterHit3D*,const reco::ClusterHit3D*,double>

Definition at line 344 of file Cluster3D.h.

using reco::Hit2DListPtr = typedef std::list<const reco::ClusterHit2D*>

export some data structure definitions

Definition at line 334 of file Cluster3D.h.

using reco::Hit2DToClusterMap = typedef std::unordered_map<const reco::ClusterHit2D*,ClusterToHitPairSetMap>

Definition at line 511 of file Cluster3D.h.

using reco::Hit2DToHit3DListMap = typedef std::unordered_map<const reco::ClusterHit2D*, reco::HitPairListPtr>

Definition at line 348 of file Cluster3D.h.

using reco::Hit2DToHit3DSetMap = typedef std::unordered_map<const reco::ClusterHit2D*,HitPairSetPtr>

Definition at line 510 of file Cluster3D.h.

using reco::Hit3DToEdgeMap = typedef std::unordered_map<const reco::ClusterHit3D*, reco::EdgeList>

Definition at line 347 of file Cluster3D.h.

using reco::Hit3DToEdgePair = typedef std::pair<const reco::ClusterHit3D*, reco::EdgeList>

Definition at line 346 of file Cluster3D.h.

using reco::HitPairClusterMap = typedef std::map<int, HitPairListPtr>

Definition at line 338 of file Cluster3D.h.

using reco::HitPairList = typedef std::list<reco::ClusterHit3D>

Definition at line 339 of file Cluster3D.h.

using reco::HitPairListPtr = typedef std::list<const reco::ClusterHit3D*>

Definition at line 335 of file Cluster3D.h.

using reco::HitPairListPtrList = typedef std::list<HitPairListPtr>

Definition at line 337 of file Cluster3D.h.

using reco::HitPairSetPtr = typedef std::set<const reco::ClusterHit3D*>

Definition at line 336 of file Cluster3D.h.

Definition at line 342 of file Cluster3D.h.

using reco::PlaneToClusterParamsMap = typedef std::map<size_t, RecobClusterParameters>

Definition at line 343 of file Cluster3D.h.

using reco::ProjectedPoint = typedef std::tuple<float, float, const reco::ClusterHit3D*>

Projected coordinates and pointer to hit.

Definition at line 352 of file Cluster3D.h.

using reco::ProjectedPointList = typedef std::list<ProjectedPoint>

Definition at line 353 of file Cluster3D.h.

Function Documentation

bool reco::operator< ( const ClusterHit2D a,
const ClusterHit2D b 
)

Definition at line 57 of file Cluster3D.cxx.

58 {
59  return a.getHit() < b.getHit();
60 }
const double a
static bool * b
Definition: config.cpp:1043
bool reco::operator< ( const PrincipalComponents a,
const PrincipalComponents b 
)

Definition at line 235 of file Cluster3D.cxx.

236 {
237  if (a.m_svdOK && b.m_svdOK)
238  return a.m_eigenValues(0) > b.m_eigenValues(0);
239 
240  return false; //They are equal
241 }
const double a
static bool * b
Definition: config.cpp:1043
bool reco::operator< ( const Cluster3D a,
const Cluster3D b 
)

Definition at line 342 of file Cluster3D.cxx.

343 {
344 /*
345  if(a.View() != b.View())
346  return a.View() < b.View();
347  if(a.ID() != b. ID())
348  return a.ID() < b.ID();
349  if(a.StartPos()[0] != b.StartPos()[0])
350  return a.StartPos()[0] < b.StartPos()[0];
351  if(a.EndPos()[0] != b.EndPos()[0])
352  return a.EndPos()[0] < b.EndPos()[0];
353 */
354  if (a.getStartPosition()[2] < b.getStartPosition()[2]) return true;
355 
356  return false; //They are equal
357 }
const double a
static bool * b
Definition: config.cpp:1043
std::ostream& reco::operator<< ( std::ostream &  o,
const ClusterHit2D c 
)

Definition at line 50 of file Cluster3D.cxx.

51 {
52  o << c.getHit();
53 
54  return o;
55 }
std::ostream& reco::operator<< ( std::ostream &  o,
const ClusterHit3D c 
)

Definition at line 177 of file Cluster3D.cxx.

178 {
179  o << "ClusterHit3D has " << c.getHits().size() << " hits associated";
180 
181  return o;
182 }
std::ostream& reco::operator<< ( std::ostream &  o,
const PrincipalComponents a 
)

Definition at line 215 of file Cluster3D.cxx.

216 {
217  if (a.m_svdOK)
218  {
219  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
220  o << " PCAxis ID run with " << a.m_numHitsUsed << " space points" << std::endl;
221  o << " - center position: " << std::setw(6) << a.m_avePosition(0) << ", " << a.m_avePosition(1) << ", " << a.m_avePosition(2) << std::endl;
222  o << " - eigen values: " << std::setw(8) << std::right << a.m_eigenValues(0) << ", "
223  << a.m_eigenValues(1) << ", " << a.m_eigenValues(1) << std::endl;
224  o << " - average doca: " << a.m_aveHitDoca << std::endl;
225  o << " - Principle axis: " << std::setw(7) << std::setprecision(4) << a.m_eigenVectors(0,0) << ", " << a.m_eigenVectors(0,1) << ", " << a.m_eigenVectors(0,2) << std::endl;
226  o << " - second axis: " << std::setw(7) << std::setprecision(4) << a.m_eigenVectors(1,0) << ", " << a.m_eigenVectors(1,1) << ", " << a.m_eigenVectors(1,2) << std::endl;
227  o << " - third axis: " << std::setw(7) << std::setprecision(4) << a.m_eigenVectors(2,0) << ", " << a.m_eigenVectors(2,1) << ", " << a.m_eigenVectors(2,2) << std::endl;
228  }
229  else
230  o << " Principal Components Axis is not valid" << std::endl;
231 
232  return o;
233 }
Q_EXPORT QTSManip setprecision(int p)
Definition: qtextstream.h:343
const double a
Q_EXPORT QTSManip setw(int w)
Definition: qtextstream.h:331
QTextStream & endl(QTextStream &s)
std::ostream& reco::operator<< ( std::ostream &  o,
const Cluster3D c 
)

Definition at line 322 of file Cluster3D.cxx.

323 {
324  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
325  o << "Cluster ID " << std::setw(5) << std::right << c.getClusterIdx();
326 // << " : View = " << std::setw(3) << std::right << c.View()
327 // << " StartWire = " << std::setw(7) << std::right << c.StartPos()[0]
328 // << " EndWire = " << std::setw(7) << std::right << c.EndPos()[0]
329 // << " StartTime = " << std::setw(9) << std::right << c.StartPos()[1]
330 // << " EndTime = " << std::setw(9) << std::right << c.EndPos()[1]
331 // << " dTdW = " << std::setw(9) << std::right << c.dTdW()
332 // << " dQdW = " << std::setw(9) << std::right << c.dQdW()
333 // << " Charge = " << std::setw(10) << std::right << c.Charge();
334 
335  return o;
336  }
Q_EXPORT QTSManip setprecision(int p)
Definition: qtextstream.h:343
Q_EXPORT QTSManip setw(int w)
Definition: qtextstream.h:331