FillReco.h
Go to the documentation of this file.
1 
2 #ifndef CAF_FILLRECO_H
3 #define CAF_FILLRECO_H
4 
6 #include "FillTruth.h"
7 
8 namespace rb{class Cluster; class Prong; class FitSum; class Shower; class Track; class Energy;}
9 namespace me{class TrkME; class SlcME;}
10 namespace bpfit{class BPFPId;}
11 namespace cosrej{class TrkCntObj;}
12 namespace ndreco{class NDRecoTrkObj;}
13 namespace ndreco{class NDRecoBpfObj;}
14 namespace ndreco{class NDRecoPngObj;}
15 namespace trackinfo{class TrackInfoObj;}
16 
17 namespace caf
18 {
19  void FillSliceVars(const rb::Cluster& slice,
20  caf::SRSlice& srslice,
21  bool allowEmpty = false);
22 
23  void AddTrkMEToVec(const me::TrkME& michel,
24  std::vector<SRTrkME>* vec,
25  SRTrack& srTrk,
26  const std::vector<rb::Cluster>& sliceList,
27  std::vector<cheat::TrackIDE>& allTracks,
28  std::vector<cheat::TrackIDE>& sliceTracks,
29  std::vector<cheat::TrackIDE>& allTracksBirks,
30  std::vector<cheat::TrackIDE>& sliceTracksBirks,
31  int sliceIdx);
32 
33  void AddSlcMEToVec(const me::SlcME& michel,
34  std::vector<SRSlcME>* vec,
35  const std::vector<rb::Cluster>& sliceList,
36  std::vector<cheat::TrackIDE>& allTracks,
37  std::vector<cheat::TrackIDE>& sliceTracks,
38  std::vector<cheat::TrackIDE>& allTracksBirks,
39  std::vector<cheat::TrackIDE>& sliceTracksBirks,
40  int sliceIdx);
41 
42  /// Helper for FillDiFVars and FillDiFShowerVars
43  bool IsTrueDiF(const rb::Cluster& slice);
44 
45  void FillDiFVars(const rb::Cluster& slice,
46  const std::vector<rb::Cluster>& sliceList,
47  std::vector<cheat::TrackIDE>& allTracks,
48  std::vector<cheat::TrackIDE>& sliceTracks,
49  std::vector<cheat::TrackIDE>& allTracksBirks,
50  std::vector<cheat::TrackIDE>& sliceTracksBirks,
51  int sliceIdx,
52  SRMRProperties& srMR);
53 
54  void FillTrackVars(const rb::Track& trk,
55  SRTrack& srTrk,
56  const std::vector<rb::Cluster>& sliceList,
57  std::vector<cheat::TrackIDE>& allTracks,
58  std::vector<cheat::TrackIDE>& sliceTracks,
59  std::vector<cheat::TrackIDE>& allTracksBirks,
60  std::vector<cheat::TrackIDE>& sliceTracksBirks,
61  int sliceIdx);
62 
63  /// Function to fill SRTrack branch if overlapping energy object is present
64  void FillTrackVarsWithOverlapE(const rb::Track& trk,
65  const rb::Energy& energy,
66  SRTrack& srTrk,
67  const std::vector<rb::Cluster>& sliceList,
68  std::vector<cheat::TrackIDE>& allTracks,
69  std::vector<cheat::TrackIDE>& sliceTracks,
70  std::vector<cheat::TrackIDE>& allTracksBirks,
71  std::vector<cheat::TrackIDE>& sliceTracksBirks,
72  int sliceIdx);
73 
74  /// Function to add rb::FitSum information to SRBpfTrack (inherits from
75  /// SRTrack)
76  void FillTrackVarsBpfFitSum(const rb::FitSum &fitsum,
77  SRBpfTrack& srBpfTrk);
78 
79  /// Function to add bpf::BPFPId information to SRBpfTrack (inherits from
80  /// SRTrack)
81  void FillTrackVarsBpfPid(const bpfit::BPFPId &bpfpid,
82  SRBpfTrack& srBpfTrk);
83 
84  /// Acts on any object that has a superset of the same fields as the old
85  /// SRProng
86  template<class T> void FillProngVars(const rb::Prong &trk,
87  T& srPrng,
88  const std::vector<rb::Cluster>& sliceList,
89  std::vector<cheat::TrackIDE>& allTracks,
90  std::vector<cheat::TrackIDE>& sliceTracks,
91  std::vector<cheat::TrackIDE>& allTracksBirks,
92  std::vector<cheat::TrackIDE>& sliceTracksBirks,
93  int sliceIdx);
94 
95  void FillShowerVars(const rb::Shower& shw,
96  caf::SRFuzzyKProng& srshw,
97  const std::vector<rb::Cluster>& sliceList,
98  std::vector<cheat::TrackIDE>& allTracks,
99  std::vector<cheat::TrackIDE>& sliceTracks,
100  std::vector<cheat::TrackIDE>& allTracksBirks,
101  std::vector<cheat::TrackIDE>& sliceTracksBirks,
102  int sliceIdx);
103 
104  void FillDiFShowerVars(const rb::Shower& shw,
105  const std::vector<rb::Cluster>& sliceList,
106  std::vector<cheat::TrackIDE>& allTracks,
107  std::vector<cheat::TrackIDE>& sliceTracks,
108  std::vector<cheat::TrackIDE>& allTracksBirks,
109  std::vector<cheat::TrackIDE>& sliceTracksBirks,
110  int sliceIdx, SRMRProperties& srMR);
111 
112  /// Function to fill SRTrack containment information
113  void FillTrackContainmentVars(const cosrej::TrkCntObj&, SRTrack&);
114 
115  /// Functions to fill SRKalmanTrack pion energy reconstruction information
116  void FillNDRecoTrkVars(const ndreco::NDRecoTrkObj&, SRKalmanTrack&);
117  void FillNDRecoBPFVars(const ndreco::NDRecoBpfObj&, SRBpfTrack&);
118  void FillNDRecoPngVars(const ndreco::NDRecoPngObj&, SRFuzzyKProng&);
119 
120  /// Function to fill additional SRTrack information
121  void FillTrackInfoVars(const trackinfo::TrackInfoObj&, SRTrack&);
122 }
123 
124 #endif
void FillTrackVars(const rb::Track &trk, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Definition: FillReco.cxx:281
void FillTrackContainmentVars(const cosrej::TrkCntObj &trkcnt, SRTrack &srTrk)
Function to fill SRTrack containment information.
Definition: FillReco.cxx:555
void FillNDRecoPngVars(const ndreco::NDRecoPngObj &pionreco, SRFuzzyKProng &srPng)
Definition: FillReco.cxx:608
A collection of associated CellHits.
Definition: Cluster.h:47
A rb::Prong with full reconstructed trajectory.
Definition: Track.h:20
void FillNDRecoTrkVars(const ndreco::NDRecoTrkObj &pionreco, SRKalmanTrack &srTrk)
Functions to fill SRKalmanTrack pion energy reconstruction information.
Definition: FillReco.cxx:576
void FillProngVars(const rb::Prong &prng, T &srPrng, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Definition: FillReco.cxx:179
void FillTrackVarsBpfPid(const bpfit::BPFPId &bpfpid, SRBpfTrack &srBpfTrk)
Definition: FillReco.cxx:338
Track finder for cosmic rays.
Definition: NueSkimmer.h:24
void FillDiFVars(const rb::Cluster &slice, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx, SRMRProperties &srMR)
Definition: FillReco.cxx:97
const Cut Energy
double energy
Definition: plottest35.C:25
Eigen::VectorXd vec
Perform a "2 point" Hough transform on a collection of hits.
An SRSlice contains overarching information for a slice.
Definition: SRSlice.h:15
void FillDiFShowerVars(const rb::Shower &shw, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx, SRMRProperties &srMR)
Definition: FillReco.cxx:504
void FillTrackInfoVars(const trackinfo::TrackInfoObj &trkinfo, SRTrack &srTrk)
Function to fill additional SRTrack information.
Definition: FillReco.cxx:623
void FillSliceVars(const rb::Cluster &slice, caf::SRSlice &srslice, bool allowEmpty)
Definition: FillReco.cxx:347
void FillShowerVars(const rb::Shower &shw, caf::SRFuzzyKProng &srshw, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, const int &sliceIdx)
Definition: FillPIDs.cxx:169
void FillTrackVarsBpfFitSum(const rb::FitSum &fitsum, SRBpfTrack &srBpfTrk)
Definition: FillReco.cxx:316
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
Track information.
Definition: FillReco.h:15
void FillTrackVarsWithOverlapE(const rb::Track &trk, const rb::Energy &energy, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill SRTrack branch if overlapping energy object is present.
Definition: FillReco.cxx:301
A Cluster with defined start position and direction.
Definition: Prong.h:19
bool IsTrueDiF(const rb::Cluster &slice)
Helper for FillDiFVars and FillDiFShowerVars.
Definition: FillReco.cxx:67
A container for energy information.
Definition: Energy.h:20
void AddTrkMEToVec(const me::TrkME &michel, std::vector< SRTrkME > *vec, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Definition: FillReco.cxx:34
void FillNDRecoBPFVars(const ndreco::NDRecoBpfObj &pionreco, SRBpfTrack &srTrk)
Definition: FillReco.cxx:592
A rb::Prong with a length.
Definition: Shower.h:18
void AddSlcMEToVec(const me::SlcME &michel, std::vector< SRSlcME > *vec, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Definition: FillReco.cxx:148
double T
Definition: Xdiff_gwt.C:5
This module creates Common Analysis Files.
Definition: FileReducer.h:10
produce variables useful to reconstruction pion energy
Definition: FillReco.h:12
A container for kinematic information.
Definition: FitSum.h:22