Interface for extending Particles with calo intersections.
More...
#include <IParticleCaloExtensionTool.h>
|
virtual std::unique_ptr< Trk::CaloExtension > | caloExtension (const EventContext &ctx, const xAOD::IParticle &particle) const =0 |
| Method returning the calo layers crossed by the IParticle track or the IParticle itself if it is neutral/TruthParticle The memory ownership is handled by the unique_ptr. More...
|
|
virtual const Trk::CaloExtension * | caloExtension (const EventContext &ctx, const xAOD::IParticle &particle, Cache &cache) const =0 |
| Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itself if it is neutral/TruthParticle. More...
|
|
virtual const Trk::CaloExtension * | caloExtension (const xAOD::IParticle &particle, const CaloExtensionCollection &cache) const =0 |
| Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itself if it is neutral/TruthParticle It returns the result stored in the CaloExtensionCollection created by the caloExtensionCollection method below. More...
|
|
virtual StatusCode | caloExtensionCollection (const EventContext &ctx, const xAOD::IParticleContainer &particles, const std::vector< bool > &mask, CaloExtensionCollection &caloextensions) const =0 |
| Method that can be used by algorithms that : A. More...
|
|
virtual std::unique_ptr< Trk::CaloExtension > | caloExtension (const EventContext &ctx, const TrackParameters &startPars, PropDirection propDir, ParticleHypothesis particleType) const =0 |
| Method returning a unique_ptr to the caloExtension given the relevant starting point parameters , direction and particle hypothesis. More...
|
|
virtual std::vector< std::unique_ptr< Trk::Surface > > | caloSurfacesFromLayers (const std::vector< CaloSampling::CaloSample > &clusterLayers, double eta, const CaloDetDescrManager &caloDD) const =0 |
| Method returning a vector of calo surfaces give calo layers/samplings. More...
|
|
virtual std::vector< std::pair< CaloSampling::CaloSample, std::unique_ptr< const Trk::TrackParameters > > > | surfaceCaloExtension (const EventContext &ctx, const TrackParameters &startPars, const std::vector< CaloSampling::CaloSample > &clusterLayers, const std::vector< std::unique_ptr< Trk::Surface >> &caloSurfaces, ParticleHypothesis particleType) const =0 |
| Method returning a vector of the Track Parameters at layers/samplings. More...
|
|
virtual std::vector< std::pair< CaloSampling::CaloSample, std::unique_ptr< const Trk::TrackParameters > > > | layersCaloExtension (const EventContext &ctx, const TrackParameters &startPars, const std::vector< CaloSampling::CaloSample > &clusterLayers, double eta, const CaloDetDescrManager &caloDD, ParticleHypothesis particleType=Trk::nonInteracting) const =0 |
| Method returning a vector of the Track Parameters at layers/samplings. More...
|
|
Interface for extending Particles with calo intersections.
Definition at line 95 of file IParticleCaloExtensionTool.h.
◆ Cache
◆ caloExtension() [1/4]
Method returning a unique_ptr to the caloExtension given the relevant starting point parameters , direction and particle hypothesis.
- Parameters
-
ctx | event context needed for multithreading |
startPars | the starting track parameters |
propDir | extrapolation direction |
particleType | type of particle |
Implemented in Trk::ParticleCaloExtensionTool.
◆ caloExtension() [2/4]
Method returning the calo layers crossed by the IParticle track or the IParticle itself if it is neutral/TruthParticle The memory ownership is handled by the unique_ptr.
- Parameters
-
ctx | event context needed for multithreading |
particle | reference to the Particle |
- Returns
- unique_ptr to a CaloExtension
Implemented in Trk::ParticleCaloExtensionTool.
◆ caloExtension() [3/4]
Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itself if it is neutral/TruthParticle.
An alg looping over a single collection of IParticles re-using them multiple times can use a local cache of the form std::unordered_map<size_t,std::unique_ptr<Trk::CaloExtension>>. The key is the value of IParticle::index()
This method adds the relevant extension to the cache look-up table which retains ownership.
- Parameters
-
ctx | event context needed for multithreading |
particle | reference to the Particle |
cache | the look-up table cache |
- Returns
- ptr to a const CaloExtension (owned by the cache)
Implemented in Trk::ParticleCaloExtensionTool.
◆ caloExtension() [4/4]
Method to return the calo layers crossed (CaloExtension) by the IParticle track or the IParticle itself if it is neutral/TruthParticle It returns the result stored in the CaloExtensionCollection created by the caloExtensionCollection method below.
In this case, the CaloExtensionCollection (DataVector<CaloExtension>) owns the caloExtension.
- Parameters
-
particle | reference to the Particle |
cache | The CaloExtensionCollections |
- Returns
- ptr to a const CaloExtension (owned by the cache)
Implemented in Trk::ParticleCaloExtensionTool.
◆ caloExtensionCollection()
Method that can be used by algorithms that : A.
Have an IParticleCollection B. Define a mask of the size of that collection C. Want back a Calo Extension Collection alligned with the input collection i.e 1 to 1 correspondance with the input collection. The Collection can then be used as such to retrieve the extensions or manipulated and written to StoreGate.
- Parameters
-
ctx | event context needed for multithreading |
particles | The input collection |
mask | contains true for the elements for which to permorm an extension, false otherwise |
- Returns
- caloextension Output to be filled, will contain unfilled CaloExtension where the mask was false, otherwise it contains the relevant result.
Implemented in Trk::ParticleCaloExtensionTool.
◆ caloSurfacesFromLayers()
Method returning a vector of calo surfaces give calo layers/samplings.
- Parameters
-
ctx | event context needed for multithreading |
clusterLayers | the layers (should be ordered) we aim to |
eta | eta used for the depth |
Implemented in Trk::ParticleCaloExtensionTool.
◆ interfaceID()
const InterfaceID & Trk::IParticleCaloExtensionTool::interfaceID |
( |
| ) |
|
|
inlinestatic |
◆ layersCaloExtension()
Method returning a vector of the Track Parameters at layers/samplings.
- Parameters
-
ctx | event context needed for multithreading |
startPars | the starting track parameters |
clusterLayers | the layers (should be ordered) we aim to |
eta | eta used for the depth |
particleType | type of particle |
Implemented in Trk::ParticleCaloExtensionTool.
◆ surfaceCaloExtension()
Method returning a vector of the Track Parameters at layers/samplings.
- Parameters
-
ctx | event context needed for multithreading |
startPars | the starting track parameters |
clusterLayers | the layers (should be ordered) we aim to |
clusterSurfaces | the surfaces for each layer |
particleType | type of particle |
The clusterLayers and clusterSurfaces need to be 1-1 this can be done via the caloSurfacesFromLayers method above.
Implemented in Trk::ParticleCaloExtensionTool.
The documentation for this class was generated from the following file: