|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef EFLOWRECTRACK_H_
13 #define EFLOWRECTRACK_H_
23 #include "GaudiKernel/MsgStream.h"
24 #include "GaudiKernel/ToolHandle.h"
28 #include "AthLinks/ElementLink.h"
49 const ToolHandle<eflowTrackExtrapolatorBaseAlgTool>& theTrackExtrapolatorTool);
161 b->getTrack()->pt());
177 std::cerr <<
"eflowRecMatchTrack ERROR: Invalid pointer to eflowRecTrack " << std::endl;
const xAOD::TrackParticle * m_track
void addClusterMatch(eflowTrackClusterLink *clusterMatch)
This class stores a map of calorimeter layers and track parameters (the result of the track extrapola...
void setRadiusCellOrderVector(const std::vector< float > &radiusToStoreVector)
void clearClusterMatches()
const std::vector< double > & getCaloDepthArray() const
const std::vector< eflowTrackClusterLink * > * getAlternativeClusterMatches(const std::string &key) const
const std::vector< float > & getRadiusCellOrderVector() const
bool isInDenseEnvironment() const
void setCaloDepthArray(const double *depthArray)
void setAvgEDensityCellOrderVector(const std::vector< float > &avgEdensityToStoreVector)
double getCellTruthEnergy(const CaloCell *cell) const
ElementLink< xAOD::TrackParticleContainer > getTrackElemLink() const
std::vector< int > m_layerCellOrderVector
void setLayerCellOrderVector(const std::vector< int > &layerToStoreVector)
std::vector< std::pair< ElementLink< CaloCellContainer >, double > > m_subtractedCells
void insertTruthEnergyPair(const CaloCell *cell, double truthEnergy)
Stores pointers to an eflowRecTrack and an eflowRecCluster.
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
void setpull15(double pull15)
const std::vector< float > & getDRPrimes() const
void setTrackId(int trackId)
void setIsInDenseEnvironment()
ElementLink< xAOD::TrackParticleContainer > m_trackElemLink
std::vector< eflowTrackClusterLink * > m_clusterMatches
void addSubtractedCaloCell(ElementLink< CaloCellContainer > theCellLink, const double &weight)
This class, which inherits from the pure virtual ITrack, stores a pointer to an eflowRecTrack and has...
This class extends the information about a xAOD::Track.
eflowRingSubtractionManager & getCellSubtractionManager()
void addDeltaRPrime(const float &dRPrime)
const std::vector< eflowTrackClusterLink * > & getClusterMatches() const
virtual ~eflowRecMatchTrack()
const std::vector< float > & getAvgEDensityCellOrderVector() const
bool isSubtracted() const
Workaround x86 precision issues for FP inequality comparisons.
eflowRingSubtractionManager m_ringSubtractionManager
std::vector< float > m_deltaRPrimes
List of distance measurements between track and cluster used in first pass matching - i....
double getEExpect() const
const std::vector< std::pair< ElementLink< CaloCellContainer >, double > > & getSubtractedCaloCells() const
std::vector< std::pair< const CaloCell *, double > > m_cellTruthEnergyList
void setLayerHED(int layerHED)
This stores information, a rank and ring thickness, about cell rings in an ordered way.
std::map< Identifier, double > m_cellTruthEnergyStore
eflowRecTrack & operator=(const eflowRecTrack &originalEflowRecTrack)
const xAOD::TrackParticle * getTrack() const
void setHasBin(bool hasBin)
eflowRecMatchTrack(const eflowRecTrack *efRecTrack)
std::vector< double > m_caloDepthArray
const eflowTrackCaloPoints & getTrackCaloPoints() const
bool m_isRecovered
Tells us whether this track underwent split shower revovery.
An STL vector of pointers that by default owns its pointed-to elements.
Data object for each calorimeter readout cell.
std::vector< float > m_radiusCellOrderVector
double getVarEExpect() const
const eflowEtaPhiPosition & getEtaPhiPos(eflowCalo::LAYER layer) const
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
std::map< std::string, std::vector< eflowTrackClusterLink * > > m_alternativeClusterMatches
virtual eflowEtaPhiPosition etaPhiInLayer(PFMatch::LayerType layer) const
void setEExpect(double eExpect, double varEExpect)
const eflowRecTrack * m_efRecTrack
std::vector< float > m_avgEdensityCellOrderVector
Class describing a TrackParticle.
bool operator()(const eflowRecTrack *a, const eflowRecTrack *b)
const std::vector< int > & getLayerCellOrderVector() const
eflowRecTrack(const ElementLink< xAOD::TrackParticleContainer > &trackElemLink, const ToolHandle< eflowTrackExtrapolatorBaseAlgTool > &theTrackExtrapolatorTool)
macros to associate a CLID to a type
bool m_isInDenseEnvironment
void addAlternativeClusterMatch(eflowTrackClusterLink *clusterMatch, const std::string &key)
std::unique_ptr< eflowTrackCaloPoints > m_trackCaloPoints