ATLAS Offline Software
Loading...
Searching...
No Matches
DerivationFramework::ClustersInCone Namespace Reference

Functions

void select (const xAOD::IParticle *particle, const float coneSize, const xAOD::CaloClusterContainer *clusters, std::vector< bool > &mask)
void select (const xAOD::Egamma *particle, const float coneSize, const xAOD::CaloClusterContainer *clusters, std::vector< bool > &mask)
void select (const xAOD::Muon *particle, const float coneSize, const xAOD::CaloClusterContainer *clusters, std::vector< bool > &mask, MsgStream &msg)
bool GetExtrapEtaPhi (const xAOD::Muon *mu, float &eta, float &phi)

Function Documentation

◆ GetExtrapEtaPhi()

bool DerivationFramework::ClustersInCone::GetExtrapEtaPhi ( const xAOD::Muon * mu,
float & eta,
float & phi )

Definition at line 60 of file ClustersInCone.cxx.

63{
64 const auto* cluster = mu->cluster();
65 if (cluster) {
66 float etaT = 0, phiT = 0;
67 int nSample = 0;
68 for (unsigned int i = 0; i < CaloSampling::Unknown; i++) {
69 auto s = static_cast<CaloSampling::CaloSample>(i);
70 if (!cluster->hasSampling(s))
71 continue;
72 etaT += cluster->etaSample(s);
73 phiT += cluster->phiSample(s);
74 nSample++;
75 }
76 if (nSample > 0) {
77 eta = etaT / nSample;
78 phi = phiT / nSample;
79 } else {
80 return false;
81 }
82 } else {
83 return false;
84 }
85 return true;
86}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ select() [1/3]

void DerivationFramework::ClustersInCone::select ( const xAOD::Egamma * particle,
const float coneSize,
const xAOD::CaloClusterContainer * clusters,
std::vector< bool > & mask )

Definition at line 37 of file ClustersInCone.cxx.

42{
43 float particleEta = particle->caloCluster()->etaBE(2);
44 float particlePhi = particle->caloCluster()->phiBE(2);
45 unsigned int i(0);
46 for (xAOD::CaloClusterContainer::const_iterator clIt = clusters->begin();
47 clIt != clusters->end();
48 ++clIt, ++i) {
49 float deltaEta = (*clIt)->eta() - particleEta;
50 float deltaPhi = P4Helpers::deltaPhi((*clIt)->phi(), particlePhi);
51 float deltaR = sqrt(deltaEta * deltaEta + deltaPhi * deltaPhi);
52 if (deltaR < coneSize) {
53 mask[i] = true;
54 }
55 }
56 }
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
double deltaR(double eta1, double eta2, double phi1, double phi2)
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition P4Helpers.h:34

◆ select() [2/3]

void DerivationFramework::ClustersInCone::select ( const xAOD::IParticle * particle,
const float coneSize,
const xAOD::CaloClusterContainer * clusters,
std::vector< bool > & mask )

Definition at line 14 of file ClustersInCone.cxx.

19{
20 float particleEta = particle->eta();
21 float particlePhi = particle->phi();
22 unsigned int i(0);
23 for (xAOD::CaloClusterContainer::const_iterator clIt = clusters->begin();
24 clIt != clusters->end();
25 ++clIt, ++i) {
26 float deltaEta = (*clIt)->eta() - particleEta;
27 float deltaPhi = P4Helpers::deltaPhi((*clIt)->phi(), particlePhi);
28 float deltaR = sqrt(deltaEta * deltaEta + deltaPhi * deltaPhi);
29 if (deltaR < coneSize) {
30 mask[i] = true;
31 }
32 }
33 }

◆ select() [3/3]

void DerivationFramework::ClustersInCone::select ( const xAOD::Muon * particle,
const float coneSize,
const xAOD::CaloClusterContainer * clusters,
std::vector< bool > & mask,
MsgStream & msg )

Definition at line 90 of file ClustersInCone.cxx.

96{
97 float particleEta = particle->eta();
98 float particlePhi = particle->phi();
99 if (!GetExtrapEtaPhi(particle, particleEta, particlePhi)) {
100 msg << MSG::WARNING
101 << "Failed to get the eta-phi of the muon calo extention " << endmsg;
102 }
103 unsigned int i(0);
104 float coneSize2 = coneSize * coneSize;
105 for (xAOD::CaloClusterContainer::const_iterator clIt = clusters->begin();
106 clIt != clusters->end();
107 ++clIt, ++i) {
108 float deltaEta = (*clIt)->eta() - particleEta;
109 float deltaPhi = P4Helpers::deltaPhi((*clIt)->phi(), particlePhi);
110 if (deltaEta * deltaEta + deltaPhi * deltaPhi < coneSize2) {
111 mask[i] = true;
112 }
113 }
114 }
#define endmsg
bool GetExtrapEtaPhi(const xAOD::Muon *mu, float &eta, float &phi)
MsgStream & msg
Definition testRead.cxx:32