All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FillReco.h
Go to the documentation of this file.
1 
2 #ifndef CAF_FILLRECO_H
3 #define CAF_FILLRECO_H
4 
5 #include <array>
6 
7 #include "art/Framework/Services/Registry/ServiceHandle.h"
10 
11 // LArSoft includes
14 
37 #include "nusimdata/SimulationBase/MCParticle.h"
38 #include "nusimdata/SimulationBase/MCTruth.h"
39 
42 
43 
44 namespace caf
45 {
46 
47  void FillStubVars(const sbn::Stub &stub,
48  const art::Ptr<recob::PFParticle> stubpfp,
49  caf::SRStub &srstub,
50  bool allowEmpty = false);
51 
53  const recob::Vertex* vertex,
54  const std::vector<art::Ptr<recob::Hit>> &hits,
55  const geo::GeometryCore *geom,
56  unsigned producer,
57  caf::SRShower& srshower,
58  bool allowEmpty = false);
59 
60  void FillShowerRazzle(const art::Ptr<sbn::MVAPID> razzle,
61  caf::SRShower& srshower,
62  bool allowEmpty = false);
63 
64  void FillShowerCosmicDist(const std::vector<art::Ptr<float> >& cosmicDistVec,
65  caf::SRShower& srshower);
66 
67  void FillShowerResiduals(const std::vector<art::Ptr<float> >& residuals,
68  caf::SRShower& srshower);
69 
70  void FillShowerTrackFit(const sbn::ShowerTrackFit& trackFit,
71  caf::SRShower& srshower);
72 
73  void FillShowerDensityFit(const sbn::ShowerDensityFit& densityFit,
74  caf::SRShower& srshower);
75 
76  void FillSliceVars(const recob::Slice& slice,
77  const recob::PFParticle *primary,
78  unsigned producer,
79  caf::SRSlice& srslice,
80  bool allowEmpty = false);
81 
83  caf::SRSlice &srslice,
84  bool allowEmpty = false);
85 
87  caf::SRSlice& slice,
88  bool allowEmpty = false);
89 
91  caf::SRSlice& slice,
92  bool allowEmpty = false);
93 
94  bool SelectSlice(const caf::SRSlice &slice, bool cut_clear_cosmic);
95 
96  void FillTrackVars(const recob::Track& track,
97  unsigned producer,
98  caf::SRTrack& srtrk,
99  bool allowEmpty = false);
100 
101  void FillHitVars(const recob::Hit& hit,
102  unsigned producer,
103  const recob::SpacePoint& spacepoint,
104  const recob::PFParticle& particle,
105  caf::SRHit& srhit,
106  bool allowEmpty = false);
107 
108  void FillPFPVars(const recob::PFParticle &particle,
109  const recob::PFParticle *primary,
110  const larpandoraobj::PFParticleMetadata *pfpMeta,
111  caf::SRPFP& srpfp,
112  bool allowEmpty= false);
113 
114  void FillTrackCRTHit(const std::vector<art::Ptr<anab::T0>> &t0match,
115  caf::SRTrack &srtrack,
116  bool allowEmpty = false);
117 
118  void FillTrackCRTTrack(const std::vector<art::Ptr<anab::T0>> &t0match,
119  caf::SRTrack &srtrack,
120  bool allowEmpty = false);
121 
122  void FillTrackMCS(const recob::Track& track,
123  const std::array<std::vector<art::Ptr<recob::MCSFitResult>>, 4> &mcs_results,
124  caf::SRTrack& srtrack,
125  bool allowEmpty = false);
126 
127  void FillTrackRangeP(const recob::Track& track,
128  const std::array<std::vector<art::Ptr<sbn::RangeP>>, 3> &range_results,
129  caf::SRTrack& srtrack,
130  bool allowEmpty = false);
131 
132  void FillPlaneChi2PID(const anab::ParticleID &particle_id, caf::SRTrkChi2PID &srpid);
133  void FillTrackChi2PID(const std::vector<art::Ptr<anab::ParticleID>> particleIDs,
134  const geo::GeometryCore *geom,
135  caf::SRTrack& srtrack,
136  bool allowEmpty = false);
137 
139  const std::vector<art::Ptr<recob::Hit>> &hits,
140  bool fill_calo_points, float fillhit_rrstart, float fillhit_rrend,
141  const detinfo::DetectorPropertiesData &dprop,
142  caf::SRTrackCalo &srcalo);
143 
144  void FillTrackScatterClosestApproach(const art::Ptr<sbn::ScatterClosestApproach> closestapproach,
145  caf::SRTrack& srtrack,
146  bool allowEmpty = false);
147 
148  void FillTrackStoppingChi2Fit(const art::Ptr<sbn::StoppingChi2Fit> stoppingChi2,
149  caf::SRTrack& srtrack,
150  bool allowEmpty = false);
151 
152  void FillTrackDazzle(const art::Ptr<sbn::MVAPID> dazzle,
153  caf::SRTrack& srtrack,
154  bool allowEmpty = false);
155 
156  void FillTrackCalo(const std::vector<art::Ptr<anab::Calorimetry>> &calos,
157  const std::vector<art::Ptr<recob::Hit>> &hits,
158  bool fill_calo_points, float fillhit_rrstart, float fillhit_rrend,
159  const geo::GeometryCore *geom, const detinfo::DetectorPropertiesData &dprop,
160  caf::SRTrack& srtrack,
161  bool allowEmpty = false);
162 
163  void SetNuMuCCPrimary(std::vector<caf::StandardRecord> &recs,
164  std::vector<caf::SRTrueInteraction> &srneutrinos);
165  void ApplyNumuCCMatching(std::vector<caf::StandardRecord> &recs,
166  const std::vector<caf::SRTrueInteraction> &srneutrinos,
167  unsigned truth_ind);
168 
169  void FillCRTHit(const sbn::crt::CRTHit &hit,
170  uint64_t gate_start_timestamp,
171  bool use_ts0,
172  caf::SRCRTHit &srhit,
173  bool allowEmpty = false);
175  bool use_ts0,
176  caf::SRCRTTrack &srtrack,
177  bool allowEmpty = false);
178 
179  void FillOpFlash(const recob::OpFlash &flash,
180  int cryo,
181  caf::SROpFlash &srflash,
182  bool allowEmpty = false);
183 
184  template<class T, class U>
185  void CopyPropertyIfSet( const std::map<std::string, T>& props, const std::string& search, U& value );
186 }
187 
188 #endif
void FillHitVars(const recob::Hit &hit, unsigned producer, const recob::SpacePoint &spacepoint, const recob::PFParticle &particle, caf::SRHit &srhit, bool allowEmpty)
Definition: FillReco.cxx:738
void FillSliceVertex(const recob::Vertex *vertex, caf::SRSlice &slice, bool allowEmpty)
Definition: FillReco.cxx:334
process_name vertex
Definition: cheaterreco.fcl:51
void FillCRTHit(const sbn::crt::CRTHit &hit, uint64_t gate_start_timestamp, bool use_ts0, caf::SRCRTHit &srhit, bool allowEmpty)
Definition: FillReco.cxx:63
void FillShowerRazzle(const art::Ptr< sbn::MVAPID > razzle, caf::SRShower &srshower, bool allowEmpty)
Definition: FillReco.cxx:226
void FillTrackCRTHit(const std::vector< art::Ptr< anab::T0 >> &t0match, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:379
void FillShowerResiduals(const std::vector< art::Ptr< float > > &residuals, caf::SRShower &srshower)
Definition: FillReco.cxx:247
void FillSliceVars(const recob::Slice &slice, const recob::PFParticle *primary, unsigned producer, caf::SRSlice &srslice, bool allowEmpty)
Definition: FillReco.cxx:269
void FillTrackRangeP(const recob::Track &track, const std::array< std::vector< art::Ptr< sbn::RangeP >>, 3 > &range_results, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:456
Declaration of signal hit object.
void FillShowerDensityFit(const sbn::ShowerDensityFit &densityFit, caf::SRShower &srshower)
Definition: FillReco.cxx:262
process_name crumbs
void FillTrackCalo(const std::vector< art::Ptr< anab::Calorimetry >> &calos, const std::vector< art::Ptr< recob::Hit >> &hits, bool fill_calo_points, float fillhit_rrstart, float fillhit_rrend, const geo::GeometryCore *geom, const detinfo::DetectorPropertiesData &dprop, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:630
void FillTrackScatterClosestApproach(const art::Ptr< sbn::ScatterClosestApproach > closestapproach, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:599
process_name use argoneut_mc_hitfinder track
process_name hit
Definition: cheaterreco.fcl:51
void FillShowerVars(const recob::Shower &shower, const recob::Vertex *vertex, const std::vector< art::Ptr< recob::Hit >> &hits, const geo::GeometryCore *geom, unsigned producer, caf::SRShower &srshower, bool allowEmpty)
Definition: FillReco.cxx:161
void FillStubVars(const sbn::Stub &stub, const art::Ptr< recob::PFParticle > stubpfp, caf::SRStub &srstub, bool allowEmpty)
Definition: FillReco.cxx:19
Optical Flash – a summary of multiple optical hits that have been determined to be associated...
Definition: SROpFlash.h:16
process_name shower
Definition: cheaterreco.fcl:51
Definition of vertex object for LArSoft.
Definition: Vertex.h:35
Representation of a rb::Hit, knows hit amplitude and integral, geometric IDs, and time...
Definition: SRHit.h:27
void FillTrackCRTTrack(const std::vector< art::Ptr< anab::T0 >> &t0match, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:399
bool SelectSlice(const caf::SRSlice &slice, bool cut_clear_cosmic)
Definition: FillReco.cxx:14
process_name can override from command line with o or output calo
Definition: pid.fcl:40
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
Access the description of detector geometry.
void FillTrackVars(const recob::Track &track, unsigned producer, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:668
void FillShowerTrackFit(const sbn::ShowerTrackFit &trackFit, caf::SRShower &srshower)
Definition: FillReco.cxx:255
void FillSliceCRUMBS(const sbn::CRUMBSResult *crumbs, caf::SRSlice &slice, bool allowEmpty)
Definition: FillReco.cxx:345
then echo ***************************************echo array
Definition: find_fhicl.sh:28
void FillTrackChi2PID(const std::vector< art::Ptr< anab::ParticleID >> particleIDs, const geo::GeometryCore *geom, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:518
Metadata associated to PFParticles.
void ApplyNumuCCMatching(std::vector< caf::StandardRecord > &recs, const std::vector< caf::SRTrueInteraction > &srneutrinos, unsigned truth_ind)
Definition: FillReco.cxx:777
Track PID from dE/dx v. residual range Chi2.
Definition: SRTrkChi2PID.h:10
void FillTrackStoppingChi2Fit(const art::Ptr< sbn::StoppingChi2Fit > stoppingChi2, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:608
Description of geometry of one entire detector.
An SRSlice contains overarching information for a slice.
Definition: SRSlice.h:24
A hit from the CRT.
Definition: SRCRTHit.h:12
void FillCRTTrack(const sbn::crt::CRTTrack &track, bool use_ts0, caf::SRCRTTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:86
void FillTrackPlaneCalo(const anab::Calorimetry &calo, const std::vector< art::Ptr< recob::Hit >> &hits, bool fill_calo_points, float fillhit_rrstart, float fillhit_rrend, const detinfo::DetectorPropertiesData &dprop, caf::SRTrackCalo &srcalo)
Definition: FillReco.cxx:534
Calorimetry information.
Definition: SRTrackCalo.h:32
Provides recob::Track data product.
void FillOpFlash(const recob::OpFlash &flash, int cryo, caf::SROpFlash &srflash, bool allowEmpty)
Definition: FillReco.cxx:114
void FillSliceMetadata(const larpandoraobj::PFParticleMetadata *primary_meta, caf::SRSlice &srslice, bool allowEmpty)
Definition: FillReco.cxx:292
Hierarchical representation of particle flow.
Definition: PFParticle.h:44
void CopyPropertyIfSet(const std::map< std::string, T > &props, const std::string &search, U &value)
Definition: FillReco.cxx:902
void FillPFPVars(const recob::PFParticle &particle, const recob::PFParticle *primary, const larpandoraobj::PFParticleMetadata *pfpMeta, caf::SRPFP &srpfp, bool allowEmpty)
Definition: FillReco.cxx:698
void FillTrackDazzle(const art::Ptr< sbn::MVAPID > dazzle, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:617
void FillShowerCosmicDist(const std::vector< art::Ptr< float > > &cosmicDistVec, caf::SRShower &srshower)
Definition: FillReco.cxx:239
void SetNuMuCCPrimary(std::vector< caf::StandardRecord > &recs, std::vector< caf::SRTrueInteraction > &srneutrinos)
Definition: FillReco.cxx:765
temporary value
2D representation of charge deposited in the TDC/wire plane
Definition: Hit.h:48
Definition: Stub.h:16
art framework interface to geometry description
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a &quot;fitted&quot; track:
Representation of a rb::PFParticle, with hierarchy and Pandora metadata.
Definition: SRPFP.h:13
void FillPlaneChi2PID(const anab::ParticleID &particle_id, caf::SRTrkChi2PID &srpid)
Definition: FillReco.cxx:477
void FillTrackMCS(const recob::Track &track, const std::array< std::vector< art::Ptr< recob::MCSFitResult >>, 4 > &mcs_results, caf::SRTrack &srtrack, bool allowEmpty)
Definition: FillReco.cxx:413