ATLAS Offline Software
Loading...
Searching...
No Matches
PFMatch::ClusterGeometricalCenterProvider Class Reference

#include <PFMatchPositions.h>

Inheritance diagram for PFMatch::ClusterGeometricalCenterProvider:
Collaboration diagram for PFMatch::ClusterGeometricalCenterProvider:

Public Member Functions

 ClusterGeometricalCenterProvider ()
virtual ~ClusterGeometricalCenterProvider ()

Private Member Functions

EtaPhiWithVariance getPosition (ICluster *cluster) const

Static Private Attributes

static const double m_etaPhiLowerLimit

Detailed Description

Definition at line 63 of file PFMatchPositions.h.

Constructor & Destructor Documentation

◆ ClusterGeometricalCenterProvider()

PFMatch::ClusterGeometricalCenterProvider::ClusterGeometricalCenterProvider ( )
inline

Definition at line 65 of file PFMatchPositions.h.

65{ }

◆ ~ClusterGeometricalCenterProvider()

virtual PFMatch::ClusterGeometricalCenterProvider::~ClusterGeometricalCenterProvider ( )
inlinevirtual

Definition at line 66 of file PFMatchPositions.h.

66{ }

Member Function Documentation

◆ getPosition()

EtaPhiWithVariance PFMatch::ClusterGeometricalCenterProvider::getPosition ( ICluster * cluster) const
privatevirtual

Implements PFMatch::PositionProvider< ICluster, EtaPhiWithVariance >.

Definition at line 40 of file PFMatchPositions.cxx.

40 {
41
42 /* Check the status to make sure this function only execute once since it is expensive. */
43 if(cluster->calVarianceStatus()) {
44 return {eflowEtaPhiPosition(cluster->etaMean(), cluster->phiMean()), cluster->etaVariance(), cluster->phiVariance()};
45 }
46 cluster->setCalVarianceStatus();
47
48
49 unsigned int nCells = cluster->nCells();
50
51 PFClusterWidthCalculator widthCalc;
52 PFClusterWidth width = widthCalc.getPFClusterCoordinateWidth(cluster->cellEta(),cluster->cellPhi(),cluster->eta(),cluster->phi(),nCells);
53
54 if (nCells > 1){
55 cluster->etaMean(width.etaMean);
56 cluster->phiMean(width.phiMean);
57 }
58 cluster->etaVariance(width.etaVariance);
59 cluster->phiVariance(width.phiVariance);
60
61 return {eflowEtaPhiPosition(width.etaMean,width.phiMean), width.etaVariance, width.phiVariance};
62
63
64
65}
const double width
PFClusterWidth getPFClusterCoordinateWidth(const std::vector< double > &eta, const std::vector< double > &phi, double clusterEta, double clusterPhi, unsigned int nCells) const
setRawEt setRawPhi nCells

Member Data Documentation

◆ m_etaPhiLowerLimit

const double PFMatch::ClusterGeometricalCenterProvider::m_etaPhiLowerLimit
staticprivate

Definition at line 71 of file PFMatchPositions.h.


The documentation for this class was generated from the following files: