ProtoDUNEShowerUtils.h
Go to the documentation of this file.
1 #ifndef PROTODUNE_SHOWER_UTILS_H
2 #define PROTODUNE_SHOWER_UTILS_H
3 
4 ///////////////////////////////////////////////////////////////
5 // ProtoDUNEShowerUtils
6 // - Class to help analysers access useful shower information
7 //
8 // Leigh Whitehead - leigh.howard.whitehead@cern.ch
9 ///////////////////////////////////////////////////////////////
10 
17 
19 
21 
22 namespace detinfo {
23  class DetectorClocksData;
24  class DetectorPropertiesData;
25 }
26 
27 namespace protoana {
28 
30 
31  public:
32 
35 
36  /// Get the hits from a given reco shower
37  const std::vector<const recob::Hit*> GetRecoShowerHits(const recob::Shower &shower, art::Event const &evt, const std::string showerModule) const;
38  const std::vector<art::Ptr<recob::Hit>> GetRecoShowerArtHits(const recob::Shower &shower, art::Event const &evt, const std::string showerModule) const;
39 
40  /// Get the number of hits from a given reco shower
41  unsigned int GetNumberRecoShowerHits(const recob::Shower &shower, art::Event const &evt, const std::string showerModule) const;
42  /// Get the associated PCAxis object (from a principal component analysis)
43  std::vector<const recob::PCAxis*> GetRecoShowerPCAxis(const recob::Shower &shower, art::Event const &evt, const std::string showerModule) const;
44  // Estimate the energy of a shower from its hits
45  std::vector<double> EstimateEnergyFromHitCharge(detinfo::DetectorClocksData const& clockData,
46  detinfo::DetectorPropertiesData const& detProp,
47  const std::vector<const recob::Hit*> &hits, calo::CalorimetryAlg caloAlg);
48  /// If the shower.ID() isn't filled we must find the actual shower index ourselves
49  int GetShowerIndex(const recob::Shower &shower, art::Event const &evt, const std::string showerModule) const;
50  /// Get shower calo info
51  std::vector<anab::Calorimetry> GetRecoShowerCalorimetry(const recob::Shower &shower, art::Event const &evt, const std::string showerModule, const std::string caloModule) const;
52  private:
53 
54 
55  };
56 
57 }
58 
59 #endif
std::string string
Definition: nybbler.cc:12
General LArSoft Utilities.
Declaration of signal hit object.
Contains all timing reference information for the detector.
TCEvent evt
Definition: DataStructs.cxx:7