LArSoft  v09_90_00
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 namespace fhicl {
15  class ParameterSet;
16 }
17 
24 namespace detinfo {
25  class DetectorClocksData;
26  class DetectorPropertiesData;
27 }
28 
31 
32 #include "TVector3.h"
33 
34 #include <map>
35 #include <vector>
36 
37 namespace shower {
38  class TCShowerAlg {
39  public:
40  // shower parameters
42  TVector3 dcosVtxErr;
44  TVector3 xyzErr;
45  std::vector<double> totalEnergy;
46  std::vector<double> totalEnergyErr;
47  std::vector<double> dEdx;
48  std::vector<double> dEdxErr;
49  int bestplane;
50  std::vector<art::Ptr<recob::Hit>> showerHits;
51 
52  TCShowerAlg(fhicl::ParameterSet const& pset);
53 
54  int makeShowers(detinfo::DetectorClocksData const& dataClock,
55  detinfo::DetectorPropertiesData const& detProp,
57  std::vector<art::Ptr<recob::Cluster>> const& clusterlist,
58  std::vector<art::Ptr<recob::Hit>> const& hitlist,
59  art::FindManyP<recob::Hit> const& cls_fm,
60  art::FindManyP<recob::Cluster> const& clspfp_fm,
61  art::FindManyP<recob::Vertex> const& vtxpfp_fm,
62  art::FindManyP<recob::Cluster> const& hitcls_fm,
63  art::FindManyP<recob::Track> const& trkpfp_fm);
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:46
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:47
Declaration of signal hit object.
geo::Point_t shwvtx
Definition: TCShowerAlg.h:43
pma::ProjectionMatchingAlg fProjectionMatchingAlg
Definition: TCShowerAlg.h:67
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:41
parameter set interface
Provides recob::Track data product.
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.
std::vector< double > totalEnergy
Definition: TCShowerAlg.h:45
calo::CalorimetryAlg fCalorimetryAlg
Definition: TCShowerAlg.h:66
std::vector< art::Ptr< recob::Hit > > showerHits
Definition: TCShowerAlg.h:50
std::vector< double > dEdxErr
Definition: TCShowerAlg.h:48