Skip to content

Commit 4564c9e

Browse files
authored
Merge pull request #525 from SBNSoftware/feature/gp-calibntupler-v10
Fix Handling of CRT in Calbiration NTupler
2 parents b9a1516 + 426ef7b commit 4564c9e

4 files changed

Lines changed: 199 additions & 72 deletions

File tree

sbncode/Calibration/TrackCaloSkimmer.h

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@
6161
#include "larsim/MCCheater/ParticleInventoryService.h"
6262

6363
#include "sbnobj/Common/Calibration/TrackCaloSkimmerObj.h"
64+
#include "sbnobj/Common/CRT/CRTHitT0TaggingInfo.cc"
65+
#include "sbnobj/Common/CRT/CRTHitT0TaggingTruthInfo.cc"
66+
6467
#include "ITCSSelectionTool.h"
6568

6669
namespace sbn {
@@ -90,6 +93,16 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
9093
}
9194

9295
private:
96+
97+
struct T0TimingInfo {
98+
double t0Pandora;
99+
double t0CRTTrack;
100+
double t0CRTHit;
101+
bool hasT0Pandora;
102+
bool hasT0CRTTrack;
103+
bool hasT0CRTHit;
104+
};
105+
93106
// Internal data struct
94107
struct GlobalTrackInfo {
95108
geo::Point_t start;
@@ -117,13 +130,14 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
117130

118131
// Fill vars
119132
void FillTrack(const recob::Track &track,
120-
const recob::PFParticle &pfp, float t0, float t0CRT,
133+
const recob::PFParticle &pfp, const T0TimingInfo &t0Info,
121134
const std::vector<art::Ptr<recob::Hit>> &hits,
122135
const std::vector<const recob::TrackHitMeta*> &thms,
123136
const std::vector<art::Ptr<recob::SpacePoint>> &sps,
124137
const std::vector<art::Ptr<anab::Calorimetry>> &calo,
125138
const std::map<geo::WireID, art::Ptr<raw::RawDigit>> &rawdigits,
126139
const std::vector<GlobalTrackInfo> &tracks,
140+
const geo::GeometryCore *geo,
127141
const geo::WireReadoutGeom *wireReadout,
128142
const detinfo::DetectorClocksData &clock_data,
129143
const cheat::BackTrackerService *bt_serv,
@@ -157,19 +171,27 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
157171
unsigned hkey,
158172
const recob::TrackHitMeta &thm,
159173
const recob::Track &trk,
174+
const T0TimingInfo &t0Info,
160175
const art::Ptr<recob::SpacePoint> &sp,
161176
const std::vector<art::Ptr<anab::Calorimetry>> &calo,
177+
const geo::GeometryCore *geo,
162178
const geo::WireReadoutGeom *wireReadout,
163179
const detinfo::DetectorClocksData &dclock,
164-
const cheat::BackTrackerService *bt_serv);
180+
const cheat::BackTrackerService *bt_serv,
181+
const detinfo::DetectorPropertiesData &dprop);
182+
void FillTrackCRTHitInfo(const std::vector<art::Ptr<sbn::crt::CRTHitT0TaggingInfo>> &tag);
165183

184+
// helpers
166185
void DoTailFit();
186+
bool PointIsContained(const std::vector<geo::BoxBoundedGeo> &vols, geo::Point_t p);
167187

168188
// config
169189

170190
// tags
171191
art::InputTag fPFPproducer;
172-
std::vector<art::InputTag> fT0producers;
192+
art::InputTag fPFPT0producer;
193+
art::InputTag fCRTTrackT0producer;
194+
art::InputTag fCRTHitT0producer;
173195
art::InputTag fCALOproducer;
174196
art::InputTag fTRKproducer;
175197
art::InputTag fTRKHMproducer;
@@ -187,7 +209,14 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
187209
bool fFillTrackEndHits;
188210
float fTrackEndHitWireBox;
189211
float fTrackEndHitTimeBox;
190-
212+
bool fIncludeCRTHitTagging;
213+
bool fIncludeTopCRT;
214+
bool fIncludeSideCRT;
215+
double fTopCRTDistanceCutStopping;
216+
double fTopCRTDistanceCutPassing;
217+
double fSideCRTDistanceCutStopping;
218+
double fSideCRTDistanceCutPassing;
219+
191220
// tools
192221
std::vector<std::unique_ptr<sbn::ITCSSelectionTool>> fSelectionTools;
193222

0 commit comments

Comments
 (0)