Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PandoraContentApi Class Reference

PandoraContentApi class. More...

#include "PandoraContentApi.h"

Public Types

typedef object_creation::CaloHit CaloHit
 
typedef object_creation::Cluster Cluster
 
typedef object_creation::ParticleFlowObject ParticleFlowObject
 
typedef object_creation::Vertex Vertex
 
typedef object_creation::MCParticle MCParticle
 
typedef object_creation::Track Track
 
typedef object_creation::CaloHitFragment CaloHitFragment
 

Static Public Member Functions

static const pandora::PandoraSettingsGetSettings (const pandora::Algorithm &algorithm)
 Get the pandora settings instance.
 
static const pandora::GeometryManagerGetGeometry (const pandora::Algorithm &algorithm)
 Get the pandora geometry instance.
 
static const pandora::PluginManagerGetPlugins (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.
 

Detailed Description

PandoraContentApi class.

Definition at line 22 of file PandoraContentApi.h.

Member Typedef Documentation

◆ CaloHit

◆ CaloHitFragment

◆ Cluster

◆ MCParticle

◆ ParticleFlowObject

◆ Track

◆ Vertex

Member Function Documentation

◆ AddIsolatedToCluster()

template<typename T >
pandora::StatusCode PandoraContentApi::AddIsolatedToCluster ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pCluster,
const T *const  pT 
)
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.

Parameters
algorithmthe algorithm calling this function
pClusteraddress of the cluster to modify
pTaddress of the isolated calo hit, or list of isolated calo hits, to add

Definition at line 231 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddToCluster()

template<typename T >
pandora::StatusCode PandoraContentApi::AddToCluster ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pCluster,
const T *const  pT 
)
static

Add a calo hit, or a list of calo hits, to a cluster.

Parameters
algorithmthe algorithm calling this function
pClusteraddress of the cluster to modify
pTaddress of the calo hit, or list of calo hits, to add

Definition at line 215 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddToPfo()

template<typename T >
pandora::StatusCode PandoraContentApi::AddToPfo ( const pandora::Algorithm algorithm,
const pandora::ParticleFlowObject *const  pPfo,
const T *const  pT 
)
static

Add a cluster to a particle flow object.

Parameters
algorithmthe algorithm calling this function
pPfoaddress of the particle flow object to modify
pClusteraddress of the cluster to add

Definition at line 318 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddTrackClusterAssociation()

pandora::StatusCode PandoraContentApi::AddTrackClusterAssociation ( const pandora::Algorithm algorithm,
const pandora::Track *const  pTrack,
const pandora::Cluster *const  pCluster 
)
static

Add an association between a track and a cluster.

Parameters
algorithmthe algorithm calling this function
pTrackaddress of the track
pClusteraddress of the cluster

Definition at line 264 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ CreateAlgorithmTool()

pandora::StatusCode PandoraContentApi::CreateAlgorithmTool ( const pandora::Algorithm algorithm,
pandora::TiXmlElement *const  pXmlElement,
pandora::AlgorithmTool *&  pAlgorithmTool 
)
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.

Parameters
algorithmthe parent algorithm, which will later run this algorithm tool
pXmlElementaddress of the xml element describing the algorithm tool type and settings
pAlgorithmToolto receive the address of the algorithm tool instance

Definition at line 43 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateDaughterAlgorithm()

pandora::StatusCode PandoraContentApi::CreateDaughterAlgorithm ( const pandora::Algorithm algorithm,
pandora::TiXmlElement *const  pXmlElement,
std::string &  daughterAlgorithmName 
)
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.

Parameters
algorithmaddress of the parent algorithm, which will later run this daughter algorithm
pXmlElementaddress of the xml element describing the daughter algorithm type and settings
daughterAlgorithmNameto receive the name of the daughter algorithm instance

Definition at line 51 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateTemporaryListAndSetCurrent()

template<typename T >
pandora::StatusCode PandoraContentApi::CreateTemporaryListAndSetCurrent ( const pandora::Algorithm algorithm,
const T *&  pT,
std::string &  temporaryListName 
)
static

Create a temporary list and set it to be the current list, enabling object creation.

Parameters
algorithmthe algorithm calling this function
pTto receive the address of the temporary list
temporaryListNameto receive the temporary list name

Definition at line 182 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Delete() [1/2]

template<typename T >
pandora::StatusCode PandoraContentApi::Delete ( const pandora::Algorithm algorithm,
const T *const  pT 
)
static

Delete an object from the current list.

Parameters
algorithmthe algorithm calling this function
pTaddress of the object, or a list of objects, to delete

Definition at line 199 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Delete() [2/2]

template<typename T >
pandora::StatusCode PandoraContentApi::Delete ( const pandora::Algorithm algorithm,
const T *const  pT,
const std::string &  listName 
)
static

Delete an object from a specified list.

Parameters
algorithmthe algorithm calling this function
pTaddress of the object, or a list of objects, to delete
listNamename of the list containing the object

Definition at line 207 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ DropCurrentList()

template<typename T >
pandora::StatusCode PandoraContentApi::DropCurrentList ( const pandora::Algorithm algorithm)
static

Drop the current list, returning the current list to its default empty/null state.

Parameters
algorithmthe algorithm calling this function

Definition at line 108 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ EndFragmentation()

pandora::StatusCode PandoraContentApi::EndFragmentation ( const pandora::Algorithm algorithm,
const std::string &  clusterListToSaveName,
const std::string &  clusterListToDeleteName 
)
static

End cluster fragmentation operations on clusters in the algorithm input list.

Parameters
algorithmthe algorithm calling this function
clusterListToSaveNamethe name of the list containing the clusters chosen to be saved (original or fragments)
clusterListToDeleteNamethe name of the list containing the clusters chosen to be deleted (original or fragments)

Definition at line 358 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EndReclustering()

pandora::StatusCode PandoraContentApi::EndReclustering ( const pandora::Algorithm algorithm,
const std::string &  selectedClusterListName 
)
static

End reclustering operations on clusters in the algorithm input list.

Parameters
algorithmthe algorithm calling this function
selectedClusterListNamethe name of the list containing the chosen recluster candidates (or the original candidates)

Definition at line 374 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fragment()

Fragment a calo hit into two daughter calo hits, with a specified energy division.

Parameters
algorithmthe algorithm calling this function
pOriginalCaloHitaddress of the original calo hit, which will be deleted
fraction1the fraction of energy to be assigned to daughter fragment 1
pDaughterCaloHit1to receive the address of daughter fragment 1
pDaughterCaloHit2to receive the address of daughter fragment 2
factoryto create the fragmented calo hits

Definition at line 246 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ GetCurrentList() [1/2]

template<typename T >
pandora::StatusCode PandoraContentApi::GetCurrentList ( const pandora::Algorithm algorithm,
const T *&  pT 
)
static

Get the current list.

Parameters
algorithmthe algorithm calling this function
pTto receive the address of the current list

Definition at line 75 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ GetCurrentList() [2/2]

template<typename T >
pandora::StatusCode PandoraContentApi::GetCurrentList ( const pandora::Algorithm algorithm,
const T *&  pT,
std::string &  listName 
)
static

Get the current list.

Parameters
algorithmthe algorithm calling this function
pTto receive the address of the current list
listNameto receive the current list name

Definition at line 84 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ GetCurrentListName()

template<typename T >
pandora::StatusCode PandoraContentApi::GetCurrentListName ( const pandora::Algorithm algorithm,
std::string &  listName 
)
static

Get the current list name.

Parameters
algorithmthe algorithm calling this function
listNameto receive the current list name

Definition at line 92 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ GetGeometry()

const pandora::GeometryManager * PandoraContentApi::GetGeometry ( const pandora::Algorithm algorithm)
static

Get the pandora geometry instance.

Parameters
algorithmthe algorithm calling this function
Returns
the address of the pandora geometry instance

Definition at line 22 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetList()

template<typename T >
pandora::StatusCode PandoraContentApi::GetList ( const pandora::Algorithm algorithm,
const std::string &  listName,
const T *&  pT 
)
static

Get a named list.

Parameters
algorithmthe algorithm calling this function
listNamethe name of the list
pTto receive the address of the list

Definition at line 116 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ GetPlugins()

const pandora::PluginManager * PandoraContentApi::GetPlugins ( const pandora::Algorithm algorithm)
static

Get the pandora plugin instance, providing access to user registered functions and calculators.

Parameters
algorithmthe algorithm calling this function
Returns
the address of the pandora plugin instance

Definition at line 29 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSettings()

const pandora::PandoraSettings * PandoraContentApi::GetSettings ( const pandora::Algorithm algorithm)
static

Get the pandora settings instance.

Parameters
algorithmthe algorithm calling this function
Returns
the address of the pandora settings instance

Definition at line 15 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ InitializeFragmentation()

pandora::StatusCode PandoraContentApi::InitializeFragmentation ( const pandora::Algorithm algorithm,
const pandora::ClusterList inputClusterList,
std::string &  originalClustersListName,
std::string &  fragmentClustersListName 
)
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.

Parameters
algorithmthe algorithm calling this function
inputClusterListthe input cluster list
originalClustersListNameto receive the name of the list in which the original clusters are stored
fragmentClustersListNameto receive the name of the list in which the fragment clusters are stored

Definition at line 349 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeReclustering()

pandora::StatusCode PandoraContentApi::InitializeReclustering ( const pandora::Algorithm algorithm,
const pandora::TrackList inputTrackList,
const pandora::ClusterList inputClusterList,
std::string &  originalClustersListName 
)
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.

Parameters
algorithmthe algorithm calling this function
inputTrackListthe input track list
inputClusterListthe input cluster list
originalClustersListNameto receive the name of the list in which the original clusters are stored

Definition at line 366 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsAvailable()

template<typename T >
bool PandoraContentApi::IsAvailable ( const pandora::Algorithm algorithm,
const T *const  pT 
)
static

Is object, or a list of objects, available as a building block.

Parameters
algorithmthe algorithm calling this function
pTaddress of the object
Returns
boolean

Definition at line 191 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MergeAndDeleteClusters() [1/2]

pandora::StatusCode PandoraContentApi::MergeAndDeleteClusters ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pClusterToEnlarge,
const pandora::Cluster *const  pClusterToDelete 
)
static

Merge two clusters in the current list, enlarging one cluster and deleting the second.

Parameters
algorithmthe algorithm calling this function
pClusterToEnlargeaddress of the cluster to enlarge
pClusterToDeleteaddress of the cluster to delete

Definition at line 301 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MergeAndDeleteClusters() [2/2]

pandora::StatusCode PandoraContentApi::MergeAndDeleteClusters ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pClusterToEnlarge,
const pandora::Cluster *const  pClusterToDelete,
const std::string &  enlargeListName,
const std::string &  deleteListName 
)
static

Merge two clusters from two specified lists, enlarging one cluster and deleting the second.

Parameters
algorithmthe algorithm calling this function
pClusterToEnlargeaddress of the cluster to enlarge
pClusterToDeleteaddress of the cluster to delete
enlargeListNamename of the list containing the cluster to enlarge
deleteListNamename of the list containing the cluster to delete

Definition at line 309 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ MergeFragments()

Merge two calo hit fragments, originally from the same parent hit, to form a new calo hit.

Parameters
algorithmthe algorithm calling this function
pFragmentCaloHit1address of calo hit fragment 1, which will be deleted
pFragmentCaloHit2address of calo hit fragment 2, which will be deleted
pMergedCaloHitto receive the address of the merged calo hit
factoryto create the fragmented calo hits

Definition at line 255 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemoveAllMCParticleRelationships()

pandora::StatusCode PandoraContentApi::RemoveAllMCParticleRelationships ( const pandora::Algorithm algorithm)
static

Remove all mc particle relationships previously registered with the mc manager and linked to tracks/calo hits.

Parameters
algorithmthe algorithm calling this function

Definition at line 294 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemoveAllTrackClusterAssociations()

pandora::StatusCode PandoraContentApi::RemoveAllTrackClusterAssociations ( const pandora::Algorithm algorithm)
static

Remove all associations between tracks and clusters.

Parameters
algorithmthe algorithm calling this function

Definition at line 287 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemoveCurrentTrackClusterAssociations()

pandora::StatusCode PandoraContentApi::RemoveCurrentTrackClusterAssociations ( const pandora::Algorithm algorithm)
static

Remove all track-cluster associations from objects in the current track and cluster lists.

Parameters
algorithmthe algorithm calling this function

Definition at line 280 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemoveFromCluster()

pandora::StatusCode PandoraContentApi::RemoveFromCluster ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pCluster,
const pandora::CaloHit *const  pCaloHit 
)
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.

Parameters
algorithmthe algorithm calling this function
pClusteraddress of the cluster to modify
pCaloHitaddress of the hit to remove

Definition at line 222 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveFromPfo()

template<typename T >
pandora::StatusCode PandoraContentApi::RemoveFromPfo ( const pandora::Algorithm algorithm,
const pandora::ParticleFlowObject *const  pPfo,
const T *const  pT 
)
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.

Parameters
algorithmthe algorithm calling this function
pPfoaddress of the particle flow object to modify
pClusteraddress of the cluster to remove

Definition at line 326 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveIsolatedFromCluster()

pandora::StatusCode PandoraContentApi::RemoveIsolatedFromCluster ( const pandora::Algorithm algorithm,
const pandora::Cluster *const  pCluster,
const pandora::CaloHit *const  pCaloHit 
)
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.

Parameters
algorithmthe algorithm calling this function
pClusteraddress of the cluster to modify
pCaloHitaddress of the isolated hit to remove

Definition at line 238 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemovePfoParentDaughterRelationship()

pandora::StatusCode PandoraContentApi::RemovePfoParentDaughterRelationship ( const pandora::Algorithm algorithm,
const pandora::ParticleFlowObject *const  pParentPfo,
const pandora::ParticleFlowObject *const  pDaughterPfo 
)
static

Remove parent-daughter particle flow object relationship.

Parameters
algorithmthe algorithm calling this function
pParentPfoaddress of parent particle flow object
pDaughterPfoaddress of daughter particle flow object

Definition at line 341 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RemoveTrackClusterAssociation()

pandora::StatusCode PandoraContentApi::RemoveTrackClusterAssociation ( const pandora::Algorithm algorithm,
const pandora::Track *const  pTrack,
const pandora::Cluster *const  pCluster 
)
static

Remove an association between a track and a cluster.

Parameters
algorithmthe algorithm calling this function
pTrackaddress of the track
pClusteraddress of the cluster

Definition at line 272 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RenameList()

template<typename T >
pandora::StatusCode PandoraContentApi::RenameList ( const pandora::Algorithm algorithm,
const std::string &  oldListName,
const std::string &  newListName 
)
static

Rename a saved list, altering its saved name from a specified old list name to a specified new list name.

Parameters
algorithmthe algorithm calling this function
oldListNamethe old list name
newListNamethe new list name

Definition at line 124 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RepeatEventPreparation()

pandora::StatusCode PandoraContentApi::RepeatEventPreparation ( const pandora::Algorithm algorithm)
static

Repeat the event preparation stages, which are used to calculate properties of input objects for later use in algorithms.

Parameters
algorithmthe algorithm calling this function

Definition at line 36 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReplaceCurrentList()

template<typename T >
pandora::StatusCode PandoraContentApi::ReplaceCurrentList ( const pandora::Algorithm algorithm,
const std::string &  newListName 
)
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)

Parameters
algorithmthe algorithm calling this function
newListNamethe name of the replacement list

Definition at line 100 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ RunClusteringAlgorithm()

pandora::StatusCode PandoraContentApi::RunClusteringAlgorithm ( const pandora::Algorithm algorithm,
const std::string &  clusteringAlgorithmName,
const pandora::ClusterList *&  pNewClusterList,
std::string &  newClusterListName 
)
static

Run a clustering algorithm (an algorithm that will create new cluster objects)

Parameters
algorithmthe parent algorithm, now attempting to run a daughter clustering algorithm
clusteringAlgorithmNamethe name of the clustering algorithm to run
pNewClusterListto receive the address of the new cluster list populated
newClusterListNameto receive the name of the new cluster list populated

Definition at line 66 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RunDaughterAlgorithm()

pandora::StatusCode PandoraContentApi::RunDaughterAlgorithm ( const pandora::Algorithm algorithm,
const std::string &  daughterAlgorithmName 
)
static

Run an algorithm registered with pandora, from within a parent algorithm.

Parameters
algorithmthe parent algorithm, now attempting to run a daughter algorithm
daughterAlgorithmNamethe name of the daughter algorithm instance to run

Definition at line 59 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SaveList() [1/5]

template<typename T >
pandora::StatusCode PandoraContentApi::SaveList ( const pandora::Algorithm algorithm,
const std::string &  newListName 
)
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.

Parameters
algorithmthe algorithm calling this function
newListNamethe new list name

Definition at line 140 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ SaveList() [2/5]

template<typename T >
pandora::StatusCode PandoraContentApi::SaveList ( const pandora::Algorithm algorithm,
const std::string &  newListName,
const T t 
)
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.

Parameters
algorithmthe algorithm calling this function
newListNamethe new list name
ta 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.

Here is the call graph for this function:

◆ SaveList() [3/5]

template<typename T >
pandora::StatusCode PandoraContentApi::SaveList ( const pandora::Algorithm algorithm,
const std::string &  oldListName,
const std::string &  newListName 
)
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.

Parameters
algorithmthe algorithm calling this function
oldListNamethe old list name
newListNamethe new list name

Definition at line 148 of file PandoraContentApi.cc.

Here is the call graph for this function:

◆ SaveList() [4/5]

template<typename T >
pandora::StatusCode PandoraContentApi::SaveList ( const pandora::Algorithm algorithm,
const std::string &  oldListName,
const std::string &  newListName,
const T t 
)
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.

Parameters
algorithmthe algorithm calling this function
oldClusterListNamethe old cluster list name
newClusterListNamethe new cluster list name
ta 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.

Here is the call graph for this function:

◆ SaveList() [5/5]

template<typename T >
pandora::StatusCode PandoraContentApi::SaveList ( const pandora::Algorithm algorithm,
const T t,
const std::string &  newListName 
)
static

Save a provided input object list under a new name.

Parameters
algorithmthe algorithm calling this function
tthe provided input object list
newListNamethe new list name

Definition at line 132 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetPfoParentDaughterRelationship()

pandora::StatusCode PandoraContentApi::SetPfoParentDaughterRelationship ( const pandora::Algorithm algorithm,
const pandora::ParticleFlowObject *const  pParentPfo,
const pandora::ParticleFlowObject *const  pDaughterPfo 
)
static

Set parent-daughter particle flow object relationship.

Parameters
algorithmthe algorithm calling this function
pParentPfoaddress of parent particle flow object
pDaughterPfoaddress of daughter particle flow object

Definition at line 333 of file PandoraContentApi.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TemporarilyReplaceCurrentList()

template<typename T >
pandora::StatusCode PandoraContentApi::TemporarilyReplaceCurrentList ( const pandora::Algorithm algorithm,
const std::string &  newListName 
)
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.

Parameters
algorithmthe algorithm calling this function
newListNamethe name of the replacement list

Definition at line 174 of file PandoraContentApi.cc.

Here is the call graph for this function:

The documentation for this class was generated from the following files: