TCShowerAlg.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // Class: TCShower
3 // File: TCShowerAlg.h
4 //
5 // Contact: roryfitz@umich.edu
6 //
7 // module produces showers by selecting tracks surround by many
8 // showerLike trajectories as defined by trajcluster with negative
9 // cluster IDs
10 ////////////////////////////////////////////////////////////////////////
11 
12 #include "canvas/Persistency/Common/FindManyP.h"
14 #include "fhiclcpp/fwd.h"
15 
23 namespace detinfo {
24  class DetectorClocksData;
25  class DetectorPropertiesData;
26 }
27 
31 
32 #include "TVector3.h"
33 
34 namespace shower {
35  class TCShowerAlg {
36  public:
37  // shower parameters
38  TVector3 shwDir;
39  TVector3 dcosVtxErr;
40  TVector3 shwvtx;
41  TVector3 xyzErr;
42  std::vector<double> totalEnergy;
43  std::vector<double> totalEnergyErr;
44  std::vector<double> dEdx;
45  std::vector<double> dEdxErr;
46  int bestplane;
47  std::vector<art::Ptr<recob::Hit>> showerHits;
48 
49  TCShowerAlg(fhicl::ParameterSet const& pset);
50 
51  int makeShowers(detinfo::DetectorClocksData const& dataClock,
52  detinfo::DetectorPropertiesData const& detProp,
54  std::vector<art::Ptr<recob::Vertex>> const& vertexlist,
55  std::vector<art::Ptr<recob::Cluster>> const& clusterlist,
56  std::vector<art::Ptr<recob::Hit>> const& hitlist,
57  art::FindManyP<recob::Hit> const& cls_fm,
58  art::FindManyP<recob::Cluster> const& clspfp_fm,
59  art::FindManyP<recob::Vertex> const& vtxpfp_fm,
60  art::FindManyP<recob::PFParticle> const& hit_fm,
61  art::FindManyP<recob::Cluster> const& hitcls_fm,
62  art::FindManyP<recob::Track> const& trkpfp_fm,
63  art::FindManyP<anab::Calorimetry> const& fmcal);
64 
65  private:
68 
69  int goodHit(detinfo::DetectorClocksData const& dataClock,
70  detinfo::DetectorPropertiesData const& detProp,
71  art::Ptr<recob::Hit> const&,
72  double maxDist,
73  double minDistVert,
74  std::map<geo::PlaneID, double> const& trk_wire1,
75  std::map<geo::PlaneID, double> const& trk_tick1,
76  std::map<geo::PlaneID, double> const& trk_wire2,
77  std::map<geo::PlaneID, double> const& trk_tick2) const;
78 
79  int goodHit(detinfo::DetectorClocksData const& dataClock,
80  detinfo::DetectorPropertiesData const& detProp,
81  art::Ptr<recob::Hit> const&,
82  double maxDist,
83  double minDistVert,
84  std::map<geo::PlaneID, double> const& trk_wire1,
85  std::map<geo::PlaneID, double> const& trk_tick1,
86  std::map<geo::PlaneID, double> const& trk_wire2,
87  std::map<geo::PlaneID, double> const& trk_tick2,
88  int& pull) const;
89 
90  bool addShowerHit(art::Ptr<recob::Hit> hit, std::vector<art::Ptr<recob::Hit>> showerhits) const;
91 
92  }; // class TCShowerAlg
93 
94 } // namespace shower
std::vector< double > totalEnergyErr
Definition: TCShowerAlg.h:43
Implementation of the Projection Matching Algorithm.
std::vector< double > dEdx
Definition: TCShowerAlg.h:44
struct vector vector
Class to keep data related to recob::Hit associated with recob::Track.
pma::ProjectionMatchingAlg fProjectionMatchingAlg
Definition: TCShowerAlg.h:67
General LArSoft Utilities.
Detector simulation of raw signals on wires.
Declaration of signal hit object.
Contains all timing reference information for the detector.
Provides recob::Track data product.
std::vector< double > totalEnergy
Definition: TCShowerAlg.h:42
calo::CalorimetryAlg fCalorimetryAlg
Definition: TCShowerAlg.h:66
std::vector< art::Ptr< recob::Hit > > showerHits
Definition: TCShowerAlg.h:47
std::vector< double > dEdxErr
Definition: TCShowerAlg.h:45