CheatingEventSlicingTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArCheating/CheatingEventSlicingTool.h
3  *
4  * @brief Header file for the cheating event slicing tool class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_CHEATING_EVENT_SLICING_TOOL_H
9 #define LAR_CHEATING_EVENT_SLICING_TOOL_H 1
10 
12 
13 #include <unordered_map>
14 
15 namespace lar_content
16 {
17 
18 /**
19  * @brief CheatingEventSlicingTool class
20  */
22 {
23 public:
24  void RunSlicing(const pandora::Algorithm *const pAlgorithm, const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames,
25  const SlicingAlgorithm::HitTypeToNameMap &clusterListNames, SlicingAlgorithm::SliceList &sliceList);
26 
27 private:
28  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
29 
30  typedef std::unordered_map<const pandora::MCParticle *, SlicingAlgorithm::Slice> MCParticleToSliceMap;
31 
32  /**
33  * @brief Initialize the map from parent mc particles to slice objects
34  *
35  * @param pAlgorithm address of the calling algorithm
36  * @param caloHitListNames the hit type to calo hit list name map
37  * @param mcParticleToSliceMap to receive the parent mc particle to slice map
38  */
39  void InitializeMCParticleToSliceMap(const pandora::Algorithm *const pAlgorithm,
40  const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames, MCParticleToSliceMap &mcParticleToSliceMap) const;
41 
42  /**
43  * @brief Fill slices using hits from a specified view
44  *
45  * @param pAlgorithm address of the calling algorithm
46  * @param hitType the hit type (i.e. view)
47  * @param caloHitListNames the hit type to calo hit list name map
48  * @param mcParticleToSliceMap to receive the parent mc particle to slice map
49  */
50  void FillSlices(const pandora::Algorithm *const pAlgorithm, const pandora::HitType hitType,
51  const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames, MCParticleToSliceMap &mcParticleToSliceMap) const;
52 };
53 
54 } // namespace lar_content
55 
56 #endif // #ifndef LAR_CHEATING_EVENT_SLICING_TOOL_H
void FillSlices(const pandora::Algorithm *const pAlgorithm, const pandora::HitType hitType, const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames, MCParticleToSliceMap &mcParticleToSliceMap) const
Fill slices using hits from a specified view.
enum cvn::HType HitType
CheatingEventSlicingTool class.
std::unordered_map< const pandora::MCParticle *, SlicingAlgorithm::Slice > MCParticleToSliceMap
EventSlicingBaseTool class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
void InitializeMCParticleToSliceMap(const pandora::Algorithm *const pAlgorithm, const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames, MCParticleToSliceMap &mcParticleToSliceMap) const
Initialize the map from parent mc particles to slice objects.
void RunSlicing(const pandora::Algorithm *const pAlgorithm, const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames, const SlicingAlgorithm::HitTypeToNameMap &clusterListNames, SlicingAlgorithm::SliceList &sliceList)
Run the slicing tool.
std::vector< Slice > SliceList
Header file for the master algorithm class.
std::map< pandora::HitType, std::string > HitTypeToNameMap