ATLAS Offline Software
Loading...
Searching...
No Matches
PFMatchPositions.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5/*
6 * PFMatchPositions.cxx
7 *
8 * Created on: 25.03.2014
9 * Author: tlodd
10 */
11
12#include "PFMatchPositions.h"
14
15namespace PFMatch {
16
17/* Track position providers */
18
20 eflowEtaPhiPosition etaphi = track->etaPhiInLayer(m_barrelLayer);
21 if (etaphi.getEta() == -999.){
22 etaphi = track->etaPhiInLayer(m_endcapLayer);
23 }
24 if (etaphi.getEta() == -999.){
25 etaphi = track->etaPhiInLayer(m_fcalLayer);
26 }
27 return etaphi;
28}
29
30
31/* Cluster position providers */
32
34 eflowEtaPhiPosition etaphi(cluster->eta(), cluster->phi());
35 return etaphi;
36}
37
39
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
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}
66
67}
const double width
PFClusterWidth getPFClusterCoordinateWidth(const std::vector< double > &eta, const std::vector< double > &phi, double clusterEta, double clusterPhi, unsigned int nCells) const
EtaPhiWithVariance getPosition(ICluster *cluster) const
EtaPhi getPosition(ICluster *cluster) const
virtual double etaMean() const =0
virtual bool calVarianceStatus() const =0
virtual void setCalVarianceStatus()=0
virtual double phiMean() const =0
virtual unsigned int nCells() const =0
virtual double phiVariance() const =0
virtual const std::vector< double > & cellPhi() const =0
virtual const std::vector< double > & cellEta() const =0
virtual double phi() const =0
virtual double etaVariance() const =0
virtual double eta() const =0
double getEta() const
Definition eflowUtil.h:90