9 ATH_MSG_WARNING(
"JetPFlowSelectionAlg encountered an invalid muon element link. Skipping. ");
16 xAOD::Muon::Quality quality = xAOD::Muon::VeryLoose;
18 if (qualityString ==
"Loose") quality = xAOD::Muon::Loose;
19 else if (qualityString ==
"Medium") quality = xAOD::Muon::Medium;
20 else if (qualityString ==
"Tight") quality = xAOD::Muon::Tight;
22 if ( muon->quality() <= quality && muon->muonType() == xAOD::Muon::Combined ){
32 double totalMuonCaloEnergy = 0.0;
33 for (
auto energy : clusterMuonEnergyFracs ) totalMuonCaloEnergy += energy;
36 newP4.SetPxPyPzE(theFE.
p4().Px(),theFE.
p4().Py(),theFE.
p4().Pz(),theFE.
e() - totalMuonCaloEnergy);
#define ATH_MSG_WARNING(x)
ElementLink< xAOD::MuonContainer > MuonLink
bool checkMuonLinks(const std::vector< ElementLink< xAOD::MuonContainer > > &FE_MuonLinks, const std::string &qualityString) const
Verify if at least one combined muon in a list passes the relevant quality criteria Details of muon w...
TLorentzVector adjustNeutralCaloEnergy(const std::vector< double > &clusterMuonEnergyFracs, const xAOD::FlowElement &theFE) const
AsgMessaging(const std::string &name)
Constructor with a name.
virtual double e() const override
The total energy of the particle.
virtual FourMom_t p4() const override
The full 4-momentum of the particle.
FlowElement_v1 FlowElement
Definition of the current "pfo version".
Muon_v1 Muon
Reference the current persistent version: