CheatingSliceIdBaseTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArCheating/CheatingSliceIdBaseTool.h
3  *
4  * @brief Header file for the cheating slice id base tool class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_CHEATING_SLICE_ID_BASE_TOOL_H
9 #define LAR_CHEATING_SLICE_ID_BASE_TOOL_H 1
10 
12 
13 #include <functional>
14 
15 namespace lar_content
16 {
17 
18 /**
19  * @brief CheatingSliceIdBaseTool class
20  */
22 {
23 public:
24  virtual void SelectOutputPfos(const pandora::Algorithm *const pAlgorithm, const SliceHypotheses &nuSliceHypotheses,
25  const SliceHypotheses &crSliceHypotheses, pandora::PfoList &selectedPfos) = 0;
26 
27  /**
28  * @brief Get the target particle weight in a list of pfos
29  *
30  * @param pPfoList address of the pfo list
31  * @param targetParticleWeight the target particle weight
32  * @param totalWeight the total weight
33  * @param fCriteria a function which returns a bool (= shouldSelect) for a given input MCParticle
34  */
35  static void GetTargetParticleWeight(const pandora::PfoList *const pPfoList, float &targetParticleWeight, float &totalWeight,
36  std::function<bool(const pandora::MCParticle *const)> fCriteria);
37 
38  /**
39  * @brief Get the target particle weight for a calo hit
40  *
41  * @param pCaloHit address of the calo hit
42  * @param targetParticleWeight the target particle weight
43  * @param totalWeight the total weight
44  * @param fCriteria a function which returns a bool (= shouldSelect) for a given input MCParticle
45  */
46  static void GetTargetParticleWeight(const pandora::CaloHit *const pCaloHit, float &targetParticleWeight, float &totalWeight,
47  std::function<bool(const pandora::MCParticle *const)> fCriteria);
48 
49 private:
50  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
51 };
52 
53 } // namespace lar_content
54 
55 #endif // #ifndef LAR_CHEATING_SLICE_ID_BASE_TOOL_H
CheatingSliceIdBaseTool class.
virtual void SelectOutputPfos(const pandora::Algorithm *const pAlgorithm, const SliceHypotheses &nuSliceHypotheses, const SliceHypotheses &crSliceHypotheses, pandora::PfoList &selectedPfos)=0
Select which reconstruction hypotheses to use; neutrino outcomes or cosmic-ray muon outcomes for each...
Header file for the master algorithm class.
std::vector< pandora::PfoList > SliceHypotheses
SliceIdBaseTool class.
static void GetTargetParticleWeight(const pandora::PfoList *const pPfoList, float &targetParticleWeight, float &totalWeight, std::function< bool(const pandora::MCParticle *const)> fCriteria)
Get the target particle weight in a list of pfos.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
void function(int client, int *resource, int parblock, int *test, int p)