Pandora
Pandora source code navigator
|
PandoraContentApi class. More...
#include "PandoraContentApi.h"
Static Public Member Functions | |
static const pandora::PandoraSettings * | GetSettings (const pandora::Algorithm &algorithm) |
Get the pandora settings instance. | |
static const pandora::GeometryManager * | GetGeometry (const pandora::Algorithm &algorithm) |
Get the pandora geometry instance. | |
static const pandora::PluginManager * | GetPlugins (const pandora::Algorithm &algorithm) |
Get the pandora plugin instance, providing access to user registered functions and calculators. | |
static pandora::StatusCode | RepeatEventPreparation (const pandora::Algorithm &algorithm) |
Repeat the event preparation stages, which are used to calculate properties of input objects for later use in algorithms. | |
static pandora::StatusCode | CreateAlgorithmTool (const pandora::Algorithm &algorithm, pandora::TiXmlElement *const pXmlElement, pandora::AlgorithmTool *&pAlgorithmTool) |
Create an algorithm tool instance, via one of the algorithm tool factories registered with pandora. This function is expected to be called whilst reading the settings for a parent algorithm. | |
static pandora::StatusCode | CreateDaughterAlgorithm (const pandora::Algorithm &algorithm, pandora::TiXmlElement *const pXmlElement, std::string &daughterAlgorithmName) |
Create an algorithm instance, via one of the algorithm factories registered with pandora. This function is expected to be called whilst reading the settings for a parent algorithm. | |
static pandora::StatusCode | RunDaughterAlgorithm (const pandora::Algorithm &algorithm, const std::string &daughterAlgorithmName) |
Run an algorithm registered with pandora, from within a parent algorithm. | |
static pandora::StatusCode | RunClusteringAlgorithm (const pandora::Algorithm &algorithm, const std::string &clusteringAlgorithmName, const pandora::ClusterList *&pNewClusterList, std::string &newClusterListName) |
Run a clustering algorithm (an algorithm that will create new cluster objects) | |
template<typename T > | |
static pandora::StatusCode | GetCurrentList (const pandora::Algorithm &algorithm, const T *&pT) |
Get the current list. | |
template<typename T > | |
static pandora::StatusCode | GetCurrentList (const pandora::Algorithm &algorithm, const T *&pT, std::string &listName) |
Get the current list. | |
template<typename T > | |
static pandora::StatusCode | GetCurrentListName (const pandora::Algorithm &algorithm, std::string &listName) |
Get the current list name. | |
template<typename T > | |
static pandora::StatusCode | ReplaceCurrentList (const pandora::Algorithm &algorithm, const std::string &newListName) |
Replace the current list with a pre-saved list; use this new list as a permanent replacement for the current list (will persist outside the current algorithm) | |
template<typename T > | |
static pandora::StatusCode | DropCurrentList (const pandora::Algorithm &algorithm) |
Drop the current list, returning the current list to its default empty/null state. | |
template<typename T > | |
static pandora::StatusCode | GetList (const pandora::Algorithm &algorithm, const std::string &listName, const T *&pT) |
Get a named list. | |
template<typename T > | |
static pandora::StatusCode | RenameList (const pandora::Algorithm &algorithm, const std::string &oldListName, const std::string &newListName) |
Rename a saved list, altering its saved name from a specified old list name to a specified new list name. | |
template<typename T > | |
static pandora::StatusCode | SaveList (const pandora::Algorithm &algorithm, const T &t, const std::string &newListName) |
Save a provided input object list under a new name. | |
template<typename T > | |
static pandora::StatusCode | SaveList (const pandora::Algorithm &algorithm, const std::string &newListName) |
Save the current list in a list with the specified new name. Note that this will empty the list; the objects will all be moved to the new named list. | |
template<typename T > | |
static pandora::StatusCode | SaveList (const pandora::Algorithm &algorithm, const std::string &oldListName, const std::string &newListName) |
Save a named list in a list with the specified new name. Note that this will empty the old list; the objects will all be moved to the new named list. | |
template<typename T > | |
static pandora::StatusCode | SaveList (const pandora::Algorithm &algorithm, const std::string &newListName, const T &t) |
Save elements of the current list in a list with the specified new name. If all the objects in the current list are saved, this will empty the current list; the objects will all be moved to the new named list. | |
template<typename T > | |
static pandora::StatusCode | SaveList (const pandora::Algorithm &algorithm, const std::string &oldListName, const std::string &newListName, const T &t) |
Save elements of a named list in a list with the specified new name. If all the objects in the old list are saved, this will empty the old list; the objects will all be moved to the new named list. | |
template<typename T > | |
static pandora::StatusCode | TemporarilyReplaceCurrentList (const pandora::Algorithm &algorithm, const std::string &newListName) |
Temporarily replace the current list with another list, which may only be a temporary list. This switch will persist only for the duration of the algorithm and its daughters; unless otherwise specified, the current list will revert to the algorithm input list upon algorithm completion. | |
template<typename T > | |
static pandora::StatusCode | CreateTemporaryListAndSetCurrent (const pandora::Algorithm &algorithm, const T *&pT, std::string &temporaryListName) |
Create a temporary list and set it to be the current list, enabling object creation. | |
template<typename T > | |
static bool | IsAvailable (const pandora::Algorithm &algorithm, const T *const pT) |
Is object, or a list of objects, available as a building block. | |
template<typename T > | |
static pandora::StatusCode | Delete (const pandora::Algorithm &algorithm, const T *const pT) |
Delete an object from the current list. | |
template<typename T > | |
static pandora::StatusCode | Delete (const pandora::Algorithm &algorithm, const T *const pT, const std::string &listName) |
Delete an object from a specified list. | |
template<typename T > | |
static pandora::StatusCode | AddToCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const T *const pT) |
Add a calo hit, or a list of calo hits, to a cluster. | |
static pandora::StatusCode | RemoveFromCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHit *const pCaloHit) |
Remove a calo hit from a cluster. Note this function will not remove the final calo hit from a cluster, and will instead return status code "not allowed" as a prompt to delete the cluster. | |
template<typename T > | |
static pandora::StatusCode | AddIsolatedToCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const T *const pT) |
Add an isolated calo hit, or a list of isolated calo hits, to a cluster. An isolated calo hit is not counted as a regular calo hit: it contributes only towards the cluster energy and does not affect any other cluster properties. | |
static pandora::StatusCode | RemoveIsolatedFromCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHit *const pCaloHit) |
Remove an isolated calo hit from a cluster. Note this function will not remove the final calo hit from a cluster, and will instead return status code "not allowed" as a prompt to delete the cluster. | |
static pandora::StatusCode | Fragment (const pandora::Algorithm &algorithm, const pandora::CaloHit *const pOriginalCaloHit, const float fraction1, const pandora::CaloHit *&pDaughterCaloHit1, const pandora::CaloHit *&pDaughterCaloHit2, const pandora::ObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object > &factory=pandora::PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >()) |
Fragment a calo hit into two daughter calo hits, with a specified energy division. | |
static pandora::StatusCode | MergeFragments (const pandora::Algorithm &algorithm, const pandora::CaloHit *const pFragmentCaloHit1, const pandora::CaloHit *const pFragmentCaloHit2, const pandora::CaloHit *&pMergedCaloHit, const pandora::ObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object > &factory=pandora::PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >()) |
Merge two calo hit fragments, originally from the same parent hit, to form a new calo hit. | |
static pandora::StatusCode | AddTrackClusterAssociation (const pandora::Algorithm &algorithm, const pandora::Track *const pTrack, const pandora::Cluster *const pCluster) |
Add an association between a track and a cluster. | |
static pandora::StatusCode | RemoveTrackClusterAssociation (const pandora::Algorithm &algorithm, const pandora::Track *const pTrack, const pandora::Cluster *const pCluster) |
Remove an association between a track and a cluster. | |
static pandora::StatusCode | RemoveCurrentTrackClusterAssociations (const pandora::Algorithm &algorithm) |
Remove all track-cluster associations from objects in the current track and cluster lists. | |
static pandora::StatusCode | RemoveAllTrackClusterAssociations (const pandora::Algorithm &algorithm) |
Remove all associations between tracks and clusters. | |
static pandora::StatusCode | RemoveAllMCParticleRelationships (const pandora::Algorithm &algorithm) |
Remove all mc particle relationships previously registered with the mc manager and linked to tracks/calo hits. | |
static pandora::StatusCode | MergeAndDeleteClusters (const pandora::Algorithm &algorithm, const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *const pClusterToDelete) |
Merge two clusters in the current list, enlarging one cluster and deleting the second. | |
static pandora::StatusCode | MergeAndDeleteClusters (const pandora::Algorithm &algorithm, const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *const pClusterToDelete, const std::string &enlargeListName, const std::string &deleteListName) |
Merge two clusters from two specified lists, enlarging one cluster and deleting the second. | |
template<typename T > | |
static pandora::StatusCode | AddToPfo (const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pPfo, const T *const pT) |
Add a cluster to a particle flow object. | |
template<typename T > | |
static pandora::StatusCode | RemoveFromPfo (const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pPfo, const T *const pT) |
Remove a cluster from a particle flow object. Note this function will not remove the final object (track or cluster) from a particle flow object, and will instead return status code "not allowed" as a prompt to delete the cluster. | |
static pandora::StatusCode | SetPfoParentDaughterRelationship (const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pParentPfo, const pandora::ParticleFlowObject *const pDaughterPfo) |
Set parent-daughter particle flow object relationship. | |
static pandora::StatusCode | RemovePfoParentDaughterRelationship (const pandora::Algorithm &algorithm, const pandora::ParticleFlowObject *const pParentPfo, const pandora::ParticleFlowObject *const pDaughterPfo) |
Remove parent-daughter particle flow object relationship. | |
static pandora::StatusCode | InitializeFragmentation (const pandora::Algorithm &algorithm, const pandora::ClusterList &inputClusterList, std::string &originalClustersListName, std::string &fragmentClustersListName) |
Initialize cluster fragmentation operations on clusters in the algorithm input list. This allows hits in a list of clusters (a subset of the algorithm input list) to be redistributed. | |
static pandora::StatusCode | EndFragmentation (const pandora::Algorithm &algorithm, const std::string &clusterListToSaveName, const std::string &clusterListToDeleteName) |
End cluster fragmentation operations on clusters in the algorithm input list. | |
static pandora::StatusCode | InitializeReclustering (const pandora::Algorithm &algorithm, const pandora::TrackList &inputTrackList, const pandora::ClusterList &inputClusterList, std::string &originalClustersListName) |
Initialize reclustering operations on clusters in the algorithm input list. This allows hits in a list of clusters (a subset of the algorithm input list) to be redistributed. | |
static pandora::StatusCode | EndReclustering (const pandora::Algorithm &algorithm, const std::string &selectedClusterListName) |
End reclustering operations on clusters in the algorithm input list. | |
PandoraContentApi class.
Definition at line 22 of file PandoraContentApi.h.
Definition at line 26 of file PandoraContentApi.h.
Definition at line 32 of file PandoraContentApi.h.
Definition at line 27 of file PandoraContentApi.h.
Definition at line 30 of file PandoraContentApi.h.
Definition at line 28 of file PandoraContentApi.h.
Definition at line 31 of file PandoraContentApi.h.
Definition at line 29 of file PandoraContentApi.h.
|
static |
Add an isolated calo hit, or a list of isolated calo hits, to a cluster. An isolated calo hit is not counted as a regular calo hit: it contributes only towards the cluster energy and does not affect any other cluster properties.
algorithm | the algorithm calling this function |
pCluster | address of the cluster to modify |
pT | address of the isolated calo hit, or list of isolated calo hits, to add |
Definition at line 231 of file PandoraContentApi.cc.
|
static |
Add a calo hit, or a list of calo hits, to a cluster.
algorithm | the algorithm calling this function |
pCluster | address of the cluster to modify |
pT | address of the calo hit, or list of calo hits, to add |
Definition at line 215 of file PandoraContentApi.cc.
|
static |
Add a cluster to a particle flow object.
algorithm | the algorithm calling this function |
pPfo | address of the particle flow object to modify |
pCluster | address of the cluster to add |
Definition at line 318 of file PandoraContentApi.cc.
|
static |
Add an association between a track and a cluster.
algorithm | the algorithm calling this function |
pTrack | address of the track |
pCluster | address of the cluster |
Definition at line 264 of file PandoraContentApi.cc.
|
static |
Create an algorithm tool instance, via one of the algorithm tool factories registered with pandora. This function is expected to be called whilst reading the settings for a parent algorithm.
algorithm | the parent algorithm, which will later run this algorithm tool |
pXmlElement | address of the xml element describing the algorithm tool type and settings |
pAlgorithmTool | to receive the address of the algorithm tool instance |
Definition at line 43 of file PandoraContentApi.cc.
|
static |
Create an algorithm instance, via one of the algorithm factories registered with pandora. This function is expected to be called whilst reading the settings for a parent algorithm.
algorithm | address of the parent algorithm, which will later run this daughter algorithm |
pXmlElement | address of the xml element describing the daughter algorithm type and settings |
daughterAlgorithmName | to receive the name of the daughter algorithm instance |
Definition at line 51 of file PandoraContentApi.cc.
|
static |
Create a temporary list and set it to be the current list, enabling object creation.
algorithm | the algorithm calling this function |
pT | to receive the address of the temporary list |
temporaryListName | to receive the temporary list name |
Definition at line 182 of file PandoraContentApi.cc.
|
static |
Delete an object from the current list.
algorithm | the algorithm calling this function |
pT | address of the object, or a list of objects, to delete |
Definition at line 199 of file PandoraContentApi.cc.
|
static |
Delete an object from a specified list.
algorithm | the algorithm calling this function |
pT | address of the object, or a list of objects, to delete |
listName | name of the list containing the object |
Definition at line 207 of file PandoraContentApi.cc.
|
static |
Drop the current list, returning the current list to its default empty/null state.
algorithm | the algorithm calling this function |
Definition at line 108 of file PandoraContentApi.cc.
|
static |
End cluster fragmentation operations on clusters in the algorithm input list.
algorithm | the algorithm calling this function |
clusterListToSaveName | the name of the list containing the clusters chosen to be saved (original or fragments) |
clusterListToDeleteName | the name of the list containing the clusters chosen to be deleted (original or fragments) |
Definition at line 358 of file PandoraContentApi.cc.
|
static |
End reclustering operations on clusters in the algorithm input list.
algorithm | the algorithm calling this function |
selectedClusterListName | the name of the list containing the chosen recluster candidates (or the original candidates) |
Definition at line 374 of file PandoraContentApi.cc.
|
static |
Fragment a calo hit into two daughter calo hits, with a specified energy division.
algorithm | the algorithm calling this function |
pOriginalCaloHit | address of the original calo hit, which will be deleted |
fraction1 | the fraction of energy to be assigned to daughter fragment 1 |
pDaughterCaloHit1 | to receive the address of daughter fragment 1 |
pDaughterCaloHit2 | to receive the address of daughter fragment 2 |
factory | to create the fragmented calo hits |
Definition at line 246 of file PandoraContentApi.cc.
|
static |
Get the current list.
algorithm | the algorithm calling this function |
pT | to receive the address of the current list |
Definition at line 75 of file PandoraContentApi.cc.
|
static |
Get the current list.
algorithm | the algorithm calling this function |
pT | to receive the address of the current list |
listName | to receive the current list name |
Definition at line 84 of file PandoraContentApi.cc.
|
static |
Get the current list name.
algorithm | the algorithm calling this function |
listName | to receive the current list name |
Definition at line 92 of file PandoraContentApi.cc.
|
static |
Get the pandora geometry instance.
algorithm | the algorithm calling this function |
Definition at line 22 of file PandoraContentApi.cc.
|
static |
Get a named list.
algorithm | the algorithm calling this function |
listName | the name of the list |
pT | to receive the address of the list |
Definition at line 116 of file PandoraContentApi.cc.
|
static |
Get the pandora plugin instance, providing access to user registered functions and calculators.
algorithm | the algorithm calling this function |
Definition at line 29 of file PandoraContentApi.cc.
|
static |
Get the pandora settings instance.
algorithm | the algorithm calling this function |
Definition at line 15 of file PandoraContentApi.cc.
|
static |
Initialize cluster fragmentation operations on clusters in the algorithm input list. This allows hits in a list of clusters (a subset of the algorithm input list) to be redistributed.
algorithm | the algorithm calling this function |
inputClusterList | the input cluster list |
originalClustersListName | to receive the name of the list in which the original clusters are stored |
fragmentClustersListName | to receive the name of the list in which the fragment clusters are stored |
Definition at line 349 of file PandoraContentApi.cc.
|
static |
Initialize reclustering operations on clusters in the algorithm input list. This allows hits in a list of clusters (a subset of the algorithm input list) to be redistributed.
algorithm | the algorithm calling this function |
inputTrackList | the input track list |
inputClusterList | the input cluster list |
originalClustersListName | to receive the name of the list in which the original clusters are stored |
Definition at line 366 of file PandoraContentApi.cc.
|
static |
Is object, or a list of objects, available as a building block.
algorithm | the algorithm calling this function |
pT | address of the object |
Definition at line 191 of file PandoraContentApi.cc.
|
static |
Merge two clusters in the current list, enlarging one cluster and deleting the second.
algorithm | the algorithm calling this function |
pClusterToEnlarge | address of the cluster to enlarge |
pClusterToDelete | address of the cluster to delete |
Definition at line 301 of file PandoraContentApi.cc.
|
static |
Merge two clusters from two specified lists, enlarging one cluster and deleting the second.
algorithm | the algorithm calling this function |
pClusterToEnlarge | address of the cluster to enlarge |
pClusterToDelete | address of the cluster to delete |
enlargeListName | name of the list containing the cluster to enlarge |
deleteListName | name of the list containing the cluster to delete |
Definition at line 309 of file PandoraContentApi.cc.
|
static |
Merge two calo hit fragments, originally from the same parent hit, to form a new calo hit.
algorithm | the algorithm calling this function |
pFragmentCaloHit1 | address of calo hit fragment 1, which will be deleted |
pFragmentCaloHit2 | address of calo hit fragment 2, which will be deleted |
pMergedCaloHit | to receive the address of the merged calo hit |
factory | to create the fragmented calo hits |
Definition at line 255 of file PandoraContentApi.cc.
|
static |
Remove all mc particle relationships previously registered with the mc manager and linked to tracks/calo hits.
algorithm | the algorithm calling this function |
Definition at line 294 of file PandoraContentApi.cc.
|
static |
Remove all associations between tracks and clusters.
algorithm | the algorithm calling this function |
Definition at line 287 of file PandoraContentApi.cc.
|
static |
Remove all track-cluster associations from objects in the current track and cluster lists.
algorithm | the algorithm calling this function |
Definition at line 280 of file PandoraContentApi.cc.
|
static |
Remove a calo hit from a cluster. Note this function will not remove the final calo hit from a cluster, and will instead return status code "not allowed" as a prompt to delete the cluster.
algorithm | the algorithm calling this function |
pCluster | address of the cluster to modify |
pCaloHit | address of the hit to remove |
Definition at line 222 of file PandoraContentApi.cc.
|
static |
Remove a cluster from a particle flow object. Note this function will not remove the final object (track or cluster) from a particle flow object, and will instead return status code "not allowed" as a prompt to delete the cluster.
algorithm | the algorithm calling this function |
pPfo | address of the particle flow object to modify |
pCluster | address of the cluster to remove |
Definition at line 326 of file PandoraContentApi.cc.
|
static |
Remove an isolated calo hit from a cluster. Note this function will not remove the final calo hit from a cluster, and will instead return status code "not allowed" as a prompt to delete the cluster.
algorithm | the algorithm calling this function |
pCluster | address of the cluster to modify |
pCaloHit | address of the isolated hit to remove |
Definition at line 238 of file PandoraContentApi.cc.
|
static |
Remove parent-daughter particle flow object relationship.
algorithm | the algorithm calling this function |
pParentPfo | address of parent particle flow object |
pDaughterPfo | address of daughter particle flow object |
Definition at line 341 of file PandoraContentApi.cc.
|
static |
Remove an association between a track and a cluster.
algorithm | the algorithm calling this function |
pTrack | address of the track |
pCluster | address of the cluster |
Definition at line 272 of file PandoraContentApi.cc.
|
static |
Rename a saved list, altering its saved name from a specified old list name to a specified new list name.
algorithm | the algorithm calling this function |
oldListName | the old list name |
newListName | the new list name |
Definition at line 124 of file PandoraContentApi.cc.
|
static |
Repeat the event preparation stages, which are used to calculate properties of input objects for later use in algorithms.
algorithm | the algorithm calling this function |
Definition at line 36 of file PandoraContentApi.cc.
|
static |
Replace the current list with a pre-saved list; use this new list as a permanent replacement for the current list (will persist outside the current algorithm)
algorithm | the algorithm calling this function |
newListName | the name of the replacement list |
Definition at line 100 of file PandoraContentApi.cc.
|
static |
Run a clustering algorithm (an algorithm that will create new cluster objects)
algorithm | the parent algorithm, now attempting to run a daughter clustering algorithm |
clusteringAlgorithmName | the name of the clustering algorithm to run |
pNewClusterList | to receive the address of the new cluster list populated |
newClusterListName | to receive the name of the new cluster list populated |
Definition at line 66 of file PandoraContentApi.cc.
|
static |
Run an algorithm registered with pandora, from within a parent algorithm.
algorithm | the parent algorithm, now attempting to run a daughter algorithm |
daughterAlgorithmName | the name of the daughter algorithm instance to run |
Definition at line 59 of file PandoraContentApi.cc.
|
static |
Save the current list in a list with the specified new name. Note that this will empty the list; the objects will all be moved to the new named list.
algorithm | the algorithm calling this function |
newListName | the new list name |
Definition at line 140 of file PandoraContentApi.cc.
|
static |
Save elements of the current list in a list with the specified new name. If all the objects in the current list are saved, this will empty the current list; the objects will all be moved to the new named list.
algorithm | the algorithm calling this function |
newListName | the new list name |
t | a subset of the current object list - only objects in both this and the current list will be saved |
Definition at line 157 of file PandoraContentApi.cc.
|
static |
Save a named list in a list with the specified new name. Note that this will empty the old list; the objects will all be moved to the new named list.
algorithm | the algorithm calling this function |
oldListName | the old list name |
newListName | the new list name |
Definition at line 148 of file PandoraContentApi.cc.
|
static |
Save elements of a named list in a list with the specified new name. If all the objects in the old list are saved, this will empty the old list; the objects will all be moved to the new named list.
algorithm | the algorithm calling this function |
oldClusterListName | the old cluster list name |
newClusterListName | the new cluster list name |
t | a subset of the old object list - only objects in both this and the old list will be saved |
Definition at line 165 of file PandoraContentApi.cc.
|
static |
Save a provided input object list under a new name.
algorithm | the algorithm calling this function |
t | the provided input object list |
newListName | the new list name |
Definition at line 132 of file PandoraContentApi.cc.
|
static |
Set parent-daughter particle flow object relationship.
algorithm | the algorithm calling this function |
pParentPfo | address of parent particle flow object |
pDaughterPfo | address of daughter particle flow object |
Definition at line 333 of file PandoraContentApi.cc.
|
static |
Temporarily replace the current list with another list, which may only be a temporary list. This switch will persist only for the duration of the algorithm and its daughters; unless otherwise specified, the current list will revert to the algorithm input list upon algorithm completion.
algorithm | the algorithm calling this function |
newListName | the name of the replacement list |
Definition at line 174 of file PandoraContentApi.cc.