1 #ifndef __sbnanalysis_CURS_HH
2 #define __sbnanalysis_CURS_HH
11 #include "../Data/RecoEvent.h"
20 static const unsigned nCuts = 11;
27 void Initialize(
const fhicl::ParameterSet &cfg,
37 unsigned reco_vertex_index,
38 bool fSequentialCuts =
true)
const;
49 unsigned truth_vertex_index,
50 bool SequentialCuts=
true)
const;
58 bool SelectReco(std::array<bool, nCuts> &cuts);
65 bool InFV(
const TVector3 &v)
const;
121 static constexpr std::array<const char *, nTruthCuts>
truthCutNames = {
"Truth",
"T_fid",
"T_trig",
"T_vqual",
"T_tqual",
"T_reco"};
122 static constexpr std::array<const char *, nCuts>
cutNames =
123 {
"Reco",
"R_trig",
"R_flashtime",
"R_fid",
"R_goodmcs",
"R_flashmatch",
124 "R_crttrack",
"R_crthit",
"R_crtactive",
"R_contained",
"R_length"};
136 std::array<double, 2>
Y;
137 std::array<double, 2>
Z;
bool TimeInSpill(float time) const
std::array< double, 2 > Z
bool HasCRTHitMatch(const numu::RecoTrack &track) const
std::array< bool, nTruthCuts > ProcessTruthCuts(const numu::RecoEvent &event, const event::Event &core, unsigned truth_vertex_index, bool SequentialCuts=true) const
std::vector< geo::BoxBoundedGeo > active_volumes
std::array< float, 2 > CRTHitTimeRange
const geo::GeometryCore * geometry
std::vector< geo::BoxBoundedGeo > calorimetric_containment_volumes
bool HasCRTTrackMatch(const numu::RecoTrack &track) const
std::vector< geo::BoxBoundedGeo > fiducial_volumes
bool InCosmicContainment(const TVector3 &v) const
std::array< bool, nCuts > ProcessRecoCuts(const numu::RecoEvent &event, unsigned reco_vertex_index, bool fSequentialCuts=true) const
process_name use argoneut_mc_hitfinder track
process_name opflashCryoW ana
float CRTActivityPEThreshold
const std::vector< std::string > & TruthCutOrder() const
Access the description of detector geometry.
static const unsigned nCuts
total number of cuts
std::array< double, 2 > Y
bool InFV(const TVector3 &v) const
float CRTMatchTime(const numu::RecoTrack &track) const
Description of geometry of one entire detector.
bool PassFlashTrigger(const numu::RecoEvent &event) const
std::vector< VolYZ > cosmic_containment_volumes
Provides a base class aware of world box coordinates.
std::vector< std::string > TruthCutOrder
double trackMatchCompletionCut
The standard event data definition.
unsigned PMTNAboveThreshold
static const unsigned nTruthCuts
Total number of truth cuts.
std::array< float, 2 > CRTActivityTimeRange
static constexpr std::array< const char *, nTruthCuts > truthCutNames
static constexpr std::array< const char *, nCuts > cutNames
bool TimeInCRTActiveSpill(float time) const
std::vector< std::string > CutOrder
bool InCalorimetricContainment(const TVector3 &v) const
void Initialize(const fhicl::ParameterSet &cfg, const geo::GeometryCore *geometry)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
bool SelectReco(std::array< bool, nCuts > &cuts)
const std::vector< std::string > & CutOrder() const