LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
TCShowerAlg.h
Go to the documentation of this file.
1 // 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
11 
14 #include "fhiclcpp/fwd.h"
15 
22 namespace detinfo {
23  class DetectorClocksData;
24  class DetectorPropertiesData;
25 }
26 
29 
30 #include "TVector3.h"
31 
32 #include <map>
33 #include <vector>
34 
35 namespace shower {
36  class TCShowerAlg {
37  public:
38  // shower parameters
40  TVector3 dcosVtxErr;
42  TVector3 xyzErr;
43  std::vector<double> totalEnergy;
44  std::vector<double> totalEnergyErr;
45  std::vector<double> dEdx;
46  std::vector<double> dEdxErr;
47  int bestplane;
48  std::vector<art::Ptr<recob::Hit>> showerHits;
49 
50  TCShowerAlg(fhicl::ParameterSet const& pset);
51 
52  int makeShowers(detinfo::DetectorClocksData const& dataClock,
53  detinfo::DetectorPropertiesData const& detProp,
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::Cluster> const& hitcls_fm,
61  art::FindManyP<recob::Track> const& trkpfp_fm);
62 
63  private:
66 
67  int goodHit(detinfo::DetectorClocksData const& dataClock,
68  detinfo::DetectorPropertiesData const& detProp,
69  art::Ptr<recob::Hit> const&,
70  double maxDist,
71  double minDistVert,
72  std::map<geo::PlaneID, double> const& trk_wire1,
73  std::map<geo::PlaneID, double> const& trk_tick1,
74  std::map<geo::PlaneID, double> const& trk_wire2,
75  std::map<geo::PlaneID, double> const& trk_tick2) const;
76 
77  int goodHit(detinfo::DetectorClocksData const& dataClock,
78  detinfo::DetectorPropertiesData const& detProp,
79  art::Ptr<recob::Hit> const&,
80  double maxDist,
81  double minDistVert,
82  std::map<geo::PlaneID, double> const& trk_wire1,
83  std::map<geo::PlaneID, double> const& trk_tick1,
84  std::map<geo::PlaneID, double> const& trk_wire2,
85  std::map<geo::PlaneID, double> const& trk_tick2,
86  int& pull) const;
87 
88  bool addShowerHit(art::Ptr<recob::Hit> hit, std::vector<art::Ptr<recob::Hit>> showerhits) const;
89 
90  }; // class TCShowerAlg
91 
92 } // namespace shower
std::vector< double > totalEnergyErr
Definition: TCShowerAlg.h:44
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:160
std::vector< double > dEdx
Definition: TCShowerAlg.h:45
Declaration of signal hit object.
geo::Point_t shwvtx
Definition: TCShowerAlg.h:41
pma::ProjectionMatchingAlg fProjectionMatchingAlg
Definition: TCShowerAlg.h:65
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:289
geo::Vector_t shwDir
Definition: TCShowerAlg.h:39
General LArSoft Utilities.
Declaration of cluster object.
Detector simulation of raw signals on wires.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:180
Contains all timing reference information for the detector.
Provides recob::Track data product.
std::vector< double > totalEnergy
Definition: TCShowerAlg.h:43
calo::CalorimetryAlg fCalorimetryAlg
Definition: TCShowerAlg.h:64
std::vector< art::Ptr< recob::Hit > > showerHits
Definition: TCShowerAlg.h:48
std::vector< double > dEdxErr
Definition: TCShowerAlg.h:46