All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sbndcode/sbndcode/CosmicId/Algs/FiducialVolumeCosmicIdAlg.h
Go to the documentation of this file.
1 #ifndef FIDUCIALVOLUMECOSMICIDALG_H_SEEN
2 #define FIDUCIALVOLUMECOSMICIDALG_H_SEEN
3 
4 
5 ///////////////////////////////////////////////
6 // FiducialVolumeCosmicIdAlg.h
7 //
8 // Functions for fiducial volume cosmic tagger
9 // T Brooks (tbrooks@fnal.gov), November 2018
10 ///////////////////////////////////////////////
11 
13 
14 // framework
15 #include "fhiclcpp/ParameterSet.h"
16 #include "fhiclcpp/types/Table.h"
17 #include "fhiclcpp/types/Atom.h"
18 
19 // LArSoft
21 
22 // c++
23 #include <vector>
24 
25 
26 namespace sbnd{
27 
29  public:
30 
31  struct Fiducial {
32  using Name = fhicl::Name;
33 
34  fhicl::Atom<double> MinX { Name("MinX") };
35  fhicl::Atom<double> MinY { Name("MinY") };
36  fhicl::Atom<double> MinZ { Name("MinZ") };
37  fhicl::Atom<double> MaxX { Name("MaxX") };
38  fhicl::Atom<double> MaxY { Name("MaxY") };
39  fhicl::Atom<double> MaxZ { Name("MaxZ") };
40 
41  };
42 
43  struct Config {
44  using Name = fhicl::Name;
45  using Comment = fhicl::Comment;
46 
47  fhicl::Table<Fiducial> FiducialCuts {
48  Name("FiducialCuts"),
49  Comment("Fiducial volume cuts (cm)")
50  };
51 
52  };
53 
54  FiducialVolumeCosmicIdAlg(const Config& config);
55 
56  FiducialVolumeCosmicIdAlg(const fhicl::ParameterSet& pset) :
57  FiducialVolumeCosmicIdAlg(fhicl::Table<Config>(pset, {})()) {}
58 
60 
62 
63  void reconfigure(const Config& config);
64 
65  // Check if point in fiducial volume used by this algorithm
66  bool InFiducial(geo::Point_t point);
67 
68  // Check both start and end points of track are in fiducial volume
70 
71  private:
72 
73  double fMinX;
74  double fMinY;
75  double fMinZ;
76  double fMaxX;
77  double fMaxY;
78  double fMaxZ;
79 
81 
82  };
83 
84 }
85 
86 #endif
process_name use argoneut_mc_hitfinder track
BEGIN_PROLOG vertical distance to the surface Name
Provides recob::Track data product.
stream1 can override from command line with o or output services user sbnd
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:184
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a &quot;fitted&quot; track: