All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ShowerHierarchyMopUpAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArPfoMopUp/ShowerHierarchyMopUpAlgorithm.h
3  *
4  * @brief Header file for the shower hierarchy mop up algorithm class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_SHOWER_HIERARCHY_MOP_UP_ALGORITHM_H
9 #define LAR_SHOWER_HIERARCHY_MOP_UP_ALGORITHM_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief ShowerHierarchyMopUpAlgorithm class
18  */
20 {
21 private:
22  pandora::StatusCode Run();
23 
24  /**
25  * @brief Starting with provided leading pfos, find all shower pfos that themselves have daughter pfos
26  *
27  * @param pLeadingPfoList the list of leading pfos
28  * @param parentShowerPfos to receive the list of parent shower pfos
29  */
30  void FindParentShowerPfos(const pandora::PfoList *const pLeadingPfoList, pandora::PfoList &parentShowerPfos) const;
31 
32  /**
33  * @brief Starting with provided pfo, find all downstream shower pfos that themselves have daughter pfos
34  *
35  * @param pPfo the address of a pfo
36  * @param parentShowerPfos to receive the list of parent shower pfos
37  */
38  void FindParentShowerPfos(const pandora::Pfo *const pLeadiPfo, pandora::PfoList &parentShowerPfos) const;
39 
40  /**
41  * @brief For each parent shower pfo, merge all downstream pfos back into the parent shower
42  *
43  * @param parentShowerPfos the list of parent shower pfos
44  */
45  void PerformPfoMerges(const pandora::PfoList &parentShowerPfos) const;
46 
47  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
48 
49  std::string m_leadingPfoListName; ///< The input leading pfo list name (e.g. list of neutrino or testbeam pfos)
50 };
51 
52 } // namespace lar_content
53 
54 #endif // #ifndef LAR_SHOWER_HIERARCHY_MOP_UP_ALGORITHM_H
std::string m_leadingPfoListName
The input leading pfo list name (e.g. list of neutrino or testbeam pfos)
void PerformPfoMerges(const pandora::PfoList &parentShowerPfos) const
For each parent shower pfo, merge all downstream pfos back into the parent shower.
PfoMopUpBaseAlgorithm class.
void FindParentShowerPfos(const pandora::PfoList *const pLeadingPfoList, pandora::PfoList &parentShowerPfos) const
Starting with provided leading pfos, find all shower pfos that themselves have daughter pfos...
Header file for the pfo mop up algorithm base class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)