RegPixelMap3DProducer.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file RegPixelMap3DProducer.h
3 /// \brief RegPixelMap3DProducer for RegCNN modified from PixelMapProducer.h
4 /// \author Wenjie Wu - wenjieww@uci.edu
5 ////////////////////////////////////////////////////////////////////////
6 
7 #ifndef REGCNN_PIXELMAP3DPRODUCER_H
8 #define REGCNN_PIXELMAP3DPRODUCER_H
9 
10 
11 #include <array>
12 #include <vector>
13 
14 // Framework includes
18 #include "art_root_io/TFileDirectory.h"
19 #include "art_root_io/TFileService.h"
21 #include "fhiclcpp/ParameterSet.h"
25 #include "canvas/Persistency/Common/FindManyP.h"
26 
34 
35 namespace detinfo {
36  class DetectorClocksData;
37  class DetectorPropertiesData;
38 }
39 
40 //#include "art/Framework/Services/Registry/ServiceHandle.h"
42 
43 namespace cnn
44 {
45  /// Producer algorithm for RegPixelMap3D, input to CVN neural net
47  {
48  public:
49  RegPixelMap3DProducer(int nbinsX, int nbinsY, int nbinsZ,
50  double XResolution, double YResolution, double ZResolution,
51  bool Cropped, bool ProngOnly);
52 
53  /// Get boundaries for pixel map representation of cluster
54  RegCNNBoundary3D Define3DBoundary(detinfo::DetectorPropertiesData const& detProp,
56  const std::vector<float> &vtx);
57 
58  // prong tag by track
59  RegPixelMap3D Create3DMap(detinfo::DetectorClocksData const& clockData,
60  detinfo::DetectorPropertiesData const& detProp,
62  art::FindManyP<recob::SpacePoint> const& fmSPFromHits,
63  art::FindManyP<recob::Track> const& fmtrkhit,
64  const std::vector<float> &vtx);
65 
66  RegPixelMap3D Create3DMapGivenBoundaryBySP(detinfo::DetectorClocksData const& clockData,
67  detinfo::DetectorPropertiesData const& detProp,
69  const RegCNNBoundary3D& bound,
70  art::FindManyP<recob::SpacePoint> const& fmSPFromHits,
71  art::FindManyP<recob::Track> const& fmtrkhit,
72  const bool& Cropped,
73  const bool& ProngOnly);
74 
75  // prong tag by shower
76  RegPixelMap3D Create3DMap(detinfo::DetectorClocksData const& clockData,
77  detinfo::DetectorPropertiesData const& detProp,
79  art::FindManyP<recob::SpacePoint> const& fmSPFromHits,
80  art::FindManyP<recob::Shower> const& fmshwkhit,
81  const std::vector<float> &vtx);
82 
83  RegPixelMap3D Create3DMapGivenBoundaryBySP(detinfo::DetectorClocksData const& clockData,
84  detinfo::DetectorPropertiesData const& detProp,
86  const RegCNNBoundary3D& bound,
87  art::FindManyP<recob::SpacePoint> const& fmSPFromHits,
88  art::FindManyP<recob::Shower> const& fmshwhit,
89  const bool& Cropped,
90  const bool& ProngOnly);
91 
92  private:
93 
94  int fNBinsX;
95  int fNBinsY;
96  int fNBinsZ;
97  double fLengthX;
98  double fLengthY;
99  double fLengthZ;
100  bool fCropped;
102 
104  };
105 
106 }
107 
108 #endif // REGCNN_PIXELMAP3DPRODUCER_H
Producer algorithm for RegPixelMap3D, input to CVN neural net.
struct vector vector
Cluster finding and building.
art framework interface to geometry description
RegCNNBoundary3D for 3D RegCNN PixelMap modified from CVNBoundary.h.
RegPixelMap3D for RegCNN modified from PixelMap.h.
General LArSoft Utilities.
Defines an enumeration for cellhit classification.
Declaration of signal hit object.
art::ServiceHandle< geo::Geometry > geom
Contains all timing reference information for the detector.
Provides recob::Track data product.
Declaration of basic channel signal object.
RegPixelMap3D, input to 3D CNN neural net.
Definition: RegPixelMap3D.h:22