40         const ClusterList *pClusterList = NULL;
 
   41         PANDORA_RETURN_RESULT_IF_AND_IF(
 
   42             STATUS_CODE_SUCCESS, STATUS_CODE_NOT_INITIALIZED, !=, PandoraContentApi::GetList(*
this, clusterListName, pClusterList));
 
   44         if (!pClusterList || pClusterList->empty())
 
   46             if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
 
   47                 std::cout << 
"ClusterCharacterisationBaseAlgorithm: unable to find cluster list " << clusterListName << std::endl;
 
   54             for (
const Cluster *
const pCluster : *pClusterList)
 
   56                 PandoraContentApi::Cluster::Metadata metadata;
 
   57                 metadata.m_particleId = UNKNOWN_PARTICLE_TYPE;
 
   58                 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::Cluster::AlterMetadata(*
this, pCluster, metadata));
 
   61             return STATUS_CODE_SUCCESS;
 
   64         for (
const Cluster *
const pCluster : *pClusterList)
 
   72             PandoraContentApi::Cluster::Metadata metadata;
 
   76                 metadata.m_particleId = MU_MINUS;
 
   80                 metadata.m_particleId = E_MINUS;
 
   83             if (pCluster->GetParticleId() != metadata.m_particleId.Get())
 
   84                 PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::Cluster::AlterMetadata(*
this, pCluster, metadata));
 
   88     return STATUS_CODE_SUCCESS;
 
bool m_overwriteExistingId
Whether to consider any clusters that already have an assigned particle id. 
 
bool m_useUnavailableClusters
Whether to consider clusters that are already constituents of a pfo. 
 
virtual bool IsClearTrack(const pandora::Cluster *const pCluster) const =0
Whether cluster is identified as a clear track. 
 
BEGIN_PROLOG could also be cout
 
pandora::StringVector m_inputClusterListNames
The names of the input cluster lists. 
 
bool m_zeroMode
Whether to zero all existing cluster particle id, overrides all other parameters. ...