24#include "CaloEvent/CaloCluster.h"
25#include "CaloEvent/CaloClusterContainer.h"
144 const std::any& aRelation)
const
160 try { weight = std::any_cast<double>(aRelation); }
161 catch(...) {
return; }
205 weightedToken ==
nullptr
210 bool isHonored = weightedToken !=
nullptr || simpleToken !=
nullptr;
232 c->fillToken(thisToken,weight);
239 if ( weightedToken !=
nullptr )
243 (theClusters,weightedToken,weight);
245 else if (simpleToken !=
nullptr)
249 (theClusters,simpleToken);
262 weightedToken ==
nullptr
265 bool isHonored = weightedToken !=
nullptr || simpleToken !=
nullptr;
269 if ( weightedToken !=
nullptr )
292 weightedToken ==
nullptr
296 bool isHonored = weightedToken !=
nullptr || simpleToken !=
nullptr;
300 if ( weightedToken !=
nullptr )
321 weightedToken ==
nullptr
325 bool isHonored = weightedToken !=
nullptr || simpleToken !=
nullptr;
329 if ( weightedToken !=
nullptr )
342template <
typename CONT,
typename TOKEN>
348 for (
const auto*
p : theData)
350 theToken->setObject(
p,weight);
354template <
typename CONT,
typename TOKEN>
357 TOKEN* theToken)
const
359 for (
const auto*
p : theData)
361 theToken->setObject(
p);
The ATLAS Muon object - see doxygen, physics workbookd and the Muon Combined Performance WG's pages f...
Storable container for CaloCluster.
Principal data class for CaloCell clusters.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
ElementLink implementation for ROOT usage.
virtual double p() const =0
momentum magnitude
void setObject(const_child_ptr data)
virtual double e() const
get energy data member
virtual double phi() const
get phi data member
P4EEtaPhiM(const double e, const double eta, const double phi, const double m)
constructor with all data members
virtual double eta() const
get eta data member
virtual double m() const
get mass data member
ElementLink< Analysis::MuonContainer > m_muonElementLink
void addMuon(const ElementLink< Analysis::MuonContainer > &muonElementLink)
CaloRecoStatus m_recoStatus
CaloRecoStatus getCaloRecoStatus() const
bool navigateConversions(INavigationToken &aToken, double weight) const
std::vector< CaloClusterContainer * > m_eflowClusContainers
eflowTrack_type m_eflowTrack
void navigateClusters(const cluster_type &theClusters, INavigationToken &aToken, double weight) const
bool navigateTrackParticles(INavigationToken &aToken, double weight) const
void addTrack(const ElementLink< Rec::TrackParticleContainer > &trackElementLink)
virtual void fillToken(INavigationToken &thisToken) const
void addConversion(const ElementLink< VxContainer > &convElementLink)
const ElementLink< Analysis::MuonContainer > & muonLink() const
bool navigateMuons(INavigationToken &aToken, double weight) const
const ElementLink< VxContainer > & conversionLink() const
bool getIsDuplicated() const
bool getIsSubtracted() const
void addClus(const ElementLink< CaloClusterContainer > &clusElementLink)
ParticleType m_eflowObjectType
ElementLink< VxContainer > m_convElementLink
void initialize(eflowObject *eflowObj, bool useClus)
bool checkParticleType(ParticleType particleType) const
const CaloCluster * clus(size_t i) const
double getCenterMag() const
const Analysis::Muon * muon() const
bool getPassEOverPCheck() const
void toToken(const CONT &theClusters, TOKEN *aToken, double weight) const
NavigableVector< CaloClusterContainer > cluster_type
eflowClus_type m_eflowClus
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts