Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions sbncode/Calibration/TrackCaloSkimmer.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@
#include "larsim/MCCheater/ParticleInventoryService.h"

#include "sbnobj/Common/Calibration/TrackCaloSkimmerObj.h"
#include "sbnobj/Common/CRT/CRTHitT0TaggingInfo.cc"
#include "sbnobj/Common/CRT/CRTHitT0TaggingTruthInfo.cc"

#include "ITCSSelectionTool.h"

namespace sbn {
Expand Down Expand Up @@ -90,6 +93,16 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
}

private:

struct T0TimingInfo {
double t0Pandora;
double t0CRTTrack;
double t0CRTHit;
bool hasT0Pandora;
bool hasT0CRTTrack;
bool hasT0CRTHit;
};

// Internal data struct
struct GlobalTrackInfo {
geo::Point_t start;
Expand Down Expand Up @@ -117,13 +130,14 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {

// Fill vars
void FillTrack(const recob::Track &track,
const recob::PFParticle &pfp, float t0, float t0CRT,
const recob::PFParticle &pfp, const T0TimingInfo &t0Info,
const std::vector<art::Ptr<recob::Hit>> &hits,
const std::vector<const recob::TrackHitMeta*> &thms,
const std::vector<art::Ptr<recob::SpacePoint>> &sps,
const std::vector<art::Ptr<anab::Calorimetry>> &calo,
const std::map<geo::WireID, art::Ptr<raw::RawDigit>> &rawdigits,
const std::vector<GlobalTrackInfo> &tracks,
const geo::GeometryCore *geo,
const geo::WireReadoutGeom *wireReadout,
const detinfo::DetectorClocksData &clock_data,
const cheat::BackTrackerService *bt_serv,
Expand Down Expand Up @@ -157,19 +171,27 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
unsigned hkey,
const recob::TrackHitMeta &thm,
const recob::Track &trk,
const T0TimingInfo &t0Info,
const art::Ptr<recob::SpacePoint> &sp,
const std::vector<art::Ptr<anab::Calorimetry>> &calo,
const geo::GeometryCore *geo,
const geo::WireReadoutGeom *wireReadout,
const detinfo::DetectorClocksData &dclock,
const cheat::BackTrackerService *bt_serv);
const cheat::BackTrackerService *bt_serv,
const detinfo::DetectorPropertiesData &dprop);
void FillTrackCRTHitInfo(const std::vector<art::Ptr<sbn::crt::CRTHitT0TaggingInfo>> &tag);

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

// config

// tags
art::InputTag fPFPproducer;
std::vector<art::InputTag> fT0producers;
art::InputTag fPFPT0producer;
art::InputTag fCRTTrackT0producer;
art::InputTag fCRTHitT0producer;
art::InputTag fCALOproducer;
art::InputTag fTRKproducer;
art::InputTag fTRKHMproducer;
Expand All @@ -187,7 +209,14 @@ class sbn::TrackCaloSkimmer : public art::EDAnalyzer {
bool fFillTrackEndHits;
float fTrackEndHitWireBox;
float fTrackEndHitTimeBox;

bool fIncludeCRTHitTagging;
bool fIncludeTopCRT;
bool fIncludeSideCRT;
double fTopCRTDistanceCutStopping;
double fTopCRTDistanceCutPassing;
double fSideCRTDistanceCutStopping;
double fSideCRTDistanceCutPassing;

// tools
std::vector<std::unique_ptr<sbn::ITCSSelectionTool>> fSelectionTools;

Expand Down
Loading