8 #include "RecoUtils/RecoUtils.h"
20 const art::Ptr<recob::PFParticle> stubpfp,
39 for (
unsigned ip = 0; ip < stub.
plane.size(); ip++) {
46 for (
unsigned ih = 0; ih < stub.
hits[ip].size(); ih++) {
52 plane.
hits.push_back(hit);
55 srstub.
planes.push_back(plane);
59 if (stubpfp) srstub.
pfpid = stubpfp->Self();
64 uint64_t gate_start_timestamp,
69 srhit.
time = (use_ts0 ? (float)hit.
ts0() : hit.
ts1()) / 1000.;
70 srhit.
t0 = ((
long long)(hit.
ts0())-(
long long)(gate_start_timestamp))/1000.;
71 srhit.
t1 = hit.
ts1()/1000.;
128 int countingOffset = 0;
129 if ( cryo == 1 ) countingOffset += 180;
130 for (
int PMT = 0 ;
PMT < 180 ;
PMT++ ) {
131 if (
PMT <= 89 ) sumEast += flash.
PEs().at(
PMT + countingOffset);
132 else sumWest += flash.
PEs().at(
PMT + countingOffset);
154 std::vector<float> ret;
155 ret.reserve(v.size());
156 for(
double x: v) ret.push_back(
x);
174 for(
int i = 0; i < 3; ++i){
175 const float e = shower.
Energy()[i];
176 srshower.
plane[i].
energy = e > 0 ? e / 1000.f : -5.f;
205 const TVector3 vertexTVec3{vertexPos.X(), vertexPos.Y(), vertexPos.Z()};
222 srshower.
plane[plane.ID().Plane].
wirePitch = plane.WirePitch()/cosgamma;
242 if (cosmicDistVec.size() != 1)
250 for (
auto const& res: residuals) {
280 if (primary != NULL) {
281 for (
unsigned id: primary->
Daughters()) {
302 if (primary_meta != NULL) {
304 if (properties.count(
"IsClearCosmic")) {
305 assert(!properties.count(
"IsNeutrino"));
309 assert(properties.count(
"IsNeutrino"));
312 if (properties.count(
"NuScore")) {
313 srslice.
nu_score = properties.at(
"NuScore");
337 if (vertex != NULL) {
348 if (crumbs !=
nullptr) {
383 if (t0match.size()) {
384 assert(t0match.size() == 1);
403 if (t0match.size()) {
404 assert(t0match.size() == 1);
419 if (mcs_results[0].
size()) {
428 if (mcs_results[1].
size()) {
437 if (mcs_results[2].
size()) {
446 if (mcs_results[3].
size()) {
461 if (range_results[0].
size()) {
463 assert(track.
ID() == range_results[0][0]->trackID);
466 if (range_results[1].
size()) {
468 assert(track.
ID() == range_results[1][0]->trackID);
471 if (range_results[2].
size()) {
473 assert(track.
ID() == range_results[2][0]->trackID);
492 for (
size_t i_algscore=0; i_algscore<AlgScoresVec.size(); i_algscore++){
499 else if (TMath::Abs(AlgScore.
fAssumedPdg) == 211) {
503 else if (TMath::Abs(AlgScore.
fAssumedPdg) == 321) {
507 else if (TMath::Abs(AlgScore.
fAssumedPdg) == 2212) {
524 for (
unsigned i = 0; i < particleIDs.size(); i++) {
528 assert(plane_id < 3);
536 bool fill_calo_points,
float fillhit_rrstart,
float fillhit_rrend,
541 const std::vector<float> &dqdx = calo.
dQdx();
542 const std::vector<float> &dedx = calo.
dEdx();
543 const std::vector<float> &pitch = calo.
TrkPitchVec();
545 const std::vector<geo::Point_t> &xyz = calo.
XYZ();
546 const std::vector<size_t> &tps = calo.
TpIndices();
552 float rrmax = !rr.empty() ? *std::max_element(rr.begin(), rr.end()) : 0.;
554 for (
unsigned i = 0; i < dedx.size(); i++) {
556 if (fill_calo_points && (
557 (rrmax - rr[i]) < fillhit_rrstart ||
558 rr[i] < fillhit_rrend)) {
573 for (
const art::Ptr<recob::Hit> &
h: hits) {
574 if (
h.key() == tps[i]) {
575 p.
wire =
h->WireID().Wire;
582 srcalo.
points.push_back(p);
585 if (dedx[i] > 1000.)
continue;
587 srcalo.
charge += dqdx[i] * pitch[i];
588 srcalo.
ke += dedx[i] * pitch[i];
594 return lhs.
rr > rhs.rr;
632 bool fill_calo_points,
float fillhit_rrstart,
float fillhit_rrend,
641 for (
unsigned i = 0; i < calos.size(); i++) {
645 assert(plane_id < 3);
646 FillTrackPlaneCalo(calo, hits, fill_calo_points, fillhit_rrstart, fillhit_rrend, dprop, srtrack.
calo[plane_id]);
655 for(
int plane: {2, 0, 1}){
656 if(srtrack.
calo[plane].
nhit > bestnhit){
658 bestnhit = srtrack.
calo[plane].
nhit;
692 srtrack.
end.
x = track.
End().X();
693 srtrack.
end.
y = track.
End().Y();
694 srtrack.
end.
z = track.
End().Z();
704 srpfp.
id = particle.
Self();
705 srpfp.
slcID = (primary) ? primary->
Self() : -1;
708 for (
unsigned id: particle.
Daughters()) {
715 || (primary && particle.
Parent() == primary->
Self());
719 auto const &pfpTrackScoreIter(propertiesMap.find(
"TrackScore"));
720 srpfp.
trackScore = (pfpTrackScoreIter == propertiesMap.end()) ? -5.f : pfpTrackScoreIter->second;
766 std::vector<caf::SRTrueInteraction> &srneutrinos) {
778 const std::vector<caf::SRTrueInteraction> &srneutrinos,
779 unsigned truth_ind) {
901 template<
class T,
class U>
904 auto it = props.find(search);
905 if ( it != props.end() ) value = it->second;
void FillHitVars(const recob::Hit &hit, unsigned producer, const recob::SpacePoint &spacepoint, const recob::PFParticle &particle, caf::SRHit &srhit, bool allowEmpty)
void FillSliceVertex(const recob::Vertex *vertex, caf::SRSlice &slice, bool allowEmpty)
float z_err
position uncertainty in z-direction (cm).
int bestplane
shower best reconstructed plane
float integral
Hit Charge Integral [ADC].
void FillCRTHit(const sbn::crt::CRTHit &hit, uint64_t gate_start_timestamp, bool use_ts0, caf::SRCRTHit &srhit, bool allowEmpty)
float crlongtrackdefl
1 - the cosine of the angle between the starting and finishing directions of the longest track (cosmi...
SRVector3D dir
Direction of track at start.
void FillShowerRazzle(const art::Ptr< sbn::MVAPID > razzle, caf::SRShower &srshower, bool allowEmpty)
float tpc_CRFracHitsInLongestTrack
fraction of slice’s space points in longest track (cosmic reco)
float x_err
position uncertainty in x-direction (cm).
const std::vector< size_t > & Daughters() const
Returns the collection of daughter particles.
const geo::PlaneID & PlaneID() const
float chi2_kaon
dE/dx v. residual range Chi2 (kaon hypothesis)
float bwdP_muon
Momentum result from end->start fit for muon [Ge/c].
void FillTrackCRTHit(const std::vector< art::Ptr< anab::T0 >> &t0match, caf::SRTrack &srtrack, bool allowEmpty)
float crt_HitTime
the time associated with the matched CRT hit [us]
int nu_pdg
PDG assigned to the PFParticle Neutrino.
A 3-vector with more efficient storage than TVector3.
void FillShowerResiduals(const std::vector< art::Ptr< float > > &residuals, caf::SRShower &srshower)
float tpc_CRLongestTrackDeflection
1 - the cosine of the angle between the starting and finishing directions of the longest track (cosmi...
bool has_length() const
Returns whether the shower has a valid length.
SRVector3D dir
direction cosines at the start of the shower
void SetXYZ(float x, float y, float z)
float fwdP_err_kaon
Error on momentum from start->end fit for kaon [GeV/c].
void FillSliceVars(const recob::Slice &slice, const recob::PFParticle *primary, unsigned producer, caf::SRSlice &srslice, bool allowEmpty)
double FastToTotal() const
size_t Self() const
Returns the index of this particle.
float bwdP_err_proton
Error on momentum from end->start fit for proton [GeV/c].
IteratorBox< plane_iterator,&GeometryCore::begin_plane,&GeometryCore::end_plane > IteratePlanes() const
Enables ranged-for loops on all planes of the detector.
float ccnuescore
CRUMBS result, for CCNuE signal.
process_name opflash particleana ie x
std::vector< geo::PlaneID > plane
The plane ID.
void FillTrackRangeP(const recob::Track &track, const std::array< std::vector< art::Ptr< sbn::RangeP >>, 3 > &range_results, caf::SRTrack &srtrack, bool allowEmpty)
int plane
Name of the CRT wall (in the form of numbers).
float pitch
Pitch of the stub on each wire [cm].
float wirePitch
Wire pitch corrected for the angle of the shower for this plane [cm].
static constexpr size_t kPFParticlePrimary
Define index to signify primary particle.
bool parent_is_primary
If this is a primary daughter of a neutrino/cosmic.
float peshit
Total photo-electron (PE) in a crt hit.
float bwdMomentum() const
momentum value from fit assuming a backward track direction
geo::WireID WireID() const
float RMS() const
RMS of the hit shape, in tick units.
float nuwgtdirz
NuWeightedDirZ feature in NeutrinoID.
float nufspfos
NuNFinalStatePfos feature in NeutrinoID.
float y_err
position uncertainty in y-direction (cm).
const TVector3 & Direction() const
int tpc_NuNHitsTotal
the total number of space points (nu reco)
int pfpid
PFP ID of an object that "overlays" the stub. -1 if there is no such object.
float fmtime
the time associated with the flash [us]
float score
CRUMBS result, for inclusive neutrino signal.
float dEdx
shower calculated dEdx for this plane [MeV/cm]
int plane
Plane that the CRT hit is on.
void FillShowerDensityFit(const sbn::ShowerDensityFit &densityFit, caf::SRShower &srshower)
float densityGradient
Constant in the density gradient fit.
bool has_open_angle() const
Returns whether the shower has a valid opening angle.
std::vector< std::vector< StubHit > > hits
Hits on each plane. Ordered vtx->end.
float fwdMomUncertainty() const
momentum uncertainty from fit assuming a forward track direction
const std::vector< double > & dEdx() const
SRVector3D width
Geometric width in <x,y,z> [cm].
geo::Point_t end
End of Stub. Space charge corrected. [cm].
SRVector3D vertex
Candidate neutrino vertex in local detector coordinates [cm].
int parent
ID of parent particle of this pfp.
SRVector3D p
Position of deposition [cm].
float ncscore
CRUMBS result, for NC signal.
int bestid
ID corresponding to the best score, 14 for CCNuMu, 12 for CCNuE, 1 for NC.
const geo::PlaneID & PlaneID() const
float density
shower density [MeV/cm]
int nufinalstatepfos
the number of final state pfos (nu reco)
float crlongtrackhitfrac
fraction of slice’s space points in longest track (cosmic reco)
float distance
Distance from the projected TPC track to the CRT hit [cm].
float bestplane_dEdx
shower dEdx at best plane [MeV/cm]
const std::vector< Point_t > & XYZ() const
short hit_w
Wire of the end-point-hit.
float sumadc
Hit Charge SummedADC [ADC].
CryostatID_t Cryostat
Index of cryostat.
float x1_pos
X position of first CRTHit.
std::size_t size(FixedBins< T, C > const &) noexcept
float chi2_proton
dE/dx v. residual range Chi2 (proton hypothesis)
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)
int PdgCode() const
Return the type of particle as a PDG ID.
float Integral() const
Integral under the calibrated signal waveform of the hit, in tick x ADC units.
void FillTrackScatterClosestApproach(const art::Ptr< sbn::ScatterClosestApproach > closestapproach, caf::SRTrack &srtrack, bool allowEmpty)
WireID_t Wire
Index of the wire within its plane.
process_name use argoneut_mc_hitfinder track
std::vector< SRStubPlane > planes
float bwdP_pion
Momentum result from end->start fit for pion [Ge/c].
float fValue
Result of Particle ID algorithm/test.
float totalpe
Total number of PE across all PMTs.
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)
float y1_err
Y position error of first CRTHit.
void FillStubVars(const sbn::Stub &stub, const art::Ptr< recob::PFParticle > stubpfp, caf::SRStub &srstub, bool allowEmpty)
Optical Flash – a summary of multiple optical hits that have been determined to be associated...
SRTrkChi2PID chi2pid[3]
Per-plane Chi2 Particle ID.
float hittime
the time associated with the matched CRT hit [us]
SRShowerPlaneInfo plane[3]
short wire
Wire number of the hit.
float ccnumuscore
CRUMBS result, for CCNuMu signal.
SRTrackDazzle dazzle
Results from the track PID MVA.
SRCRTTrackMatch crttrack
CRT Track match.
float tpc_NuEigenRatioInSphere
the ratio between the first and second eigenvalues from a PCA of spacepoints within 10cm of the verte...
geo::Point_t vtx
Interaction Vertex / Start of Stub. Space charge corrected. [cm].
Definition of vertex object for LArSoft.
float fwdP_proton
Momentum from start->end fit for proton [GeV/c].
float bwdP_kaon
Momentum result from end->start fit for kaon [Ge/c].
float cosmicDist
Distance of closest approach to cosmic ray [cm].
float crlongtrkhitfrac
CRFracHitsInLongestTrack feature in NeutrinoID.
float hitscore
the best distance from an extrapolated TPC track to a CRT hit [cm]
float fmpe
the total number of photoelectrons in the associated flash
float pds_FMTotalScore
the total flash match score
float ccnumuscore
CRUMBS result, for CCNuMu signal.
unsigned int ndaughters
Number of daughters.
float fmtotalscore
the total flash match score
bool hasXCenter() const
Returns whether the estimated center on x direction is available.
float score
CRUMBS result, for inclusive neutrino signal.
Representation of a rb::Hit, knows hit amplitude and integral, geometric IDs, and time...
float open_angle
shower opening angle [rad]
void FillTrackCRTTrack(const std::vector< art::Ptr< anab::T0 >> &t0match, caf::SRTrack &srtrack, bool allowEmpty)
float PeakAmplitude() const
The estimated amplitude of the hit at its peak, in ADC units.
unsigned short npts
number of points (recob Track.NPoints)
std::vector< float > vtx_w
Wire coordinate of the vertex on this plane.
const std::vector< float > & ResidualRange() const
int bestid
ID corresponding to the bestscore, 14 for CCNuMu, 12 for CCNuE, 1 for NC.
float tpc_NuVertexY
the vertex position in Y (nu reco) [cm]
SRNuID nuid
Neutrino ID Features (BDT inputs) going into nu_score calculation.
int self
ID of the particle representing this slice.
std::string fAlgName
< determined particle ID
bool SelectSlice(const caf::SRSlice &slice, bool cut_clear_cosmic)
float timewidth
Width of the flash in time [us].
float phi
Angle of the start direction of the track in the x-y plane.
float z_pos
position in z-direction (cm).
process_name can override from command line with o or output calo
float pds_FMTime
the time associated with the flash [us]
unsigned int CountValidPoints() const
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
int fNdf
Number of degrees of freedom used by algorithm, if applicable. Set to -9999 by default.
caf::Plane_t p
Plane number.
float t1
Relatvie time w.r.t. beam early warning (from T1 module) [us].
int nutothits
NuNHitsTotal feature in NeutrinoID.
float fwdP_pion
Momentum from start->end fit for pion [GeV/c].
float crt_TrackTime
the time associated with the matched CRT track [us]
float rr
Residual Range [cm].
float z1_err
Z position error of first CRTHit.
float bestscore
Best score from the three signal-specific versions.
float nu_score
Score of how neutrino-like the slice is according to pandora.
float charge
Deposited charge as seen by wireplane (pre recombination and electric lifetime corrections) [ADC]...
kVariableType fVariableType
Variable type enum: defined in ParticleID_VariableTypeEnums.h. Set to kNotSet by default.
int tpc_CRNHitsMax
the number of space points in the largest pfp
void FillTrackVars(const recob::Track &track, unsigned producer, caf::SRTrack &srtrack, bool allowEmpty)
float y2_err
Y position error of second CRTHit.
Vector_t StartDirection() const
Access to track direction at different points.
void FillShowerTrackFit(const sbn::ShowerTrackFit &trackFit, caf::SRShower &srshower)
float p_pion
momentum estimate from trk range (pion hypothesis)
const std::vector< anab::sParticleIDAlgScores > & ParticleIDAlgScores() const
double Length(size_t p=0) const
Access to various track properties.
void FillSliceCRUMBS(const sbn::CRUMBSResult *crumbs, caf::SRSlice &slice, bool allowEmpty)
float bwdP_err_muon
Error on momentum from end->start fit for muon [GeV/c].
then echo ***************************************echo array
float fasttototal
Fast to total light ratio.
void FillTrackChi2PID(const std::vector< art::Ptr< anab::ParticleID >> particleIDs, const geo::GeometryCore *geom, caf::SRTrack &srtrack, bool allowEmpty)
const std::vector< float > & dQdx() const
float chi2_pion
dE/dx v. residual range Chi2 (pion hypothesis)
double ts1_ns
Average T1 (nanosecond) of the two hits making the track.
Metadata associated to PFParticles.
float pds_FMPE
the total number of photoelectrons in the associated flash
void ApplyNumuCCMatching(std::vector< caf::StandardRecord > &recs, const std::vector< caf::SRTrueInteraction > &srneutrinos, unsigned truth_ind)
Point_t const & Start() const
Access to track position at different points.
int pid_ndof
Number of degress of freedom in Chi2 PID fit.
std::vector< size_t > primary
ID's of primary tracks and showers in slice.
bool ontrack
Whether this hit is also on an overlaid track.
SRVector3D center
Geometric center in <x,y,z> [cm].
float fwdP_muon
Momentum from start->end fit for muon [GeV/c].
bool is_clear_cosmic
Whether pandora marks the slice as a "clear" cosmic.
float crt_HitScore
the best distance from an extrapolated TPC track to a CRT hit [cm]
float nusphereeigenratio
the ratio between the first and second eigenvalues from a PCA of spacepoints within 10cm of the verte...
std::vector< short > hit_w
Wire of the end point hit on this plane.
for($it=0;$it< $RaceTrack_number;$it++)
SRCRUMBSCRTVars crt
CRT input variables.
int crmaxhits
CRNHitsMax feature in NeutrinoID.
std::vector< SRCaloPoint > points
Information saved per-point.
float costh
Costh of start direction of track.
Geometry information for a single wire plane.The plane is represented in the geometry by a solid whic...
const PropertiesMap & GetPropertiesMap() const
SRTrackScatterClosestApproach scatterClosestApproach
Scattering variables relating to spread about interpolated track.
float bwdP_err_kaon
Error on momentum from end->start fit for kaon [GeV/c].
unsigned int nHits
Number of hits associated to the shower for this plane.
Track PID from dE/dx v. residual range Chi2.
SRVector3D start
Start point of track.
void FillTrackStoppingChi2Fit(const art::Ptr< sbn::StoppingChi2Fit > stoppingChi2, caf::SRTrack &srtrack, bool allowEmpty)
double ConvertXToTicks(double X, int p, int t, int c) const
float trackscore
a combination of the DCA and angle between the best matched TPC & CRT tracks
double ts0_ns
Average T0 (nanosecond) of the two hits making the track.
std::vector< float > showerResiduals
Vector of residuals, size (sliceShowers-1) [cm].
SRCRUMBSResult crumbs_result
Score of how neutrino-like the slice is according to the CRUMBS ID.
float time
Combined time of CRT Track.
const Double32_t * XYZ() const
int nuspherespacepoints
the total number of space points within 10cm of the vertex (nu reco)
float dedx
dQ/dx [ADC/cm] – pre calibration and electron lifetime correction
SRVector3D end
End point of track.
PlaneID_t Plane
Index of the plane within its TPC.
Description of geometry of one entire detector.
SRVector3D start
shower start point in detector coordinates [cm]
An SRSlice contains overarching information for a slice.
void FillCRTTrack(const sbn::crt::CRTTrack &track, bool use_ts0, caf::SRCRTTrack &srtrack, bool allowEmpty)
float vtx_w
Wire coordinate of vertex on this plane (not space charge corrected).
float trackWidth
Width of fitted track (Average redidual) [cm].
int cryo
0 for SBND/ICARUS East, 1 for ICARUS West.
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)
float trackScore
The MVA score that determines how track/shower like a PFP is.
float efield_end
The E-Field at the stub end point.
float t0
Hit time (from absolute time T0) relative to the gate start time [us].
float bwdP_err_pion
Error on momentum from end->start fit for pion [GeV/c].
float efield_vtx
The E-Field at the reconstructed vertex.
SRCRUMBSTPCVars tpc
TPC input variables.
bool onbeamtime
Is this in time with beam?
float nusps
NuNSpacePointsInSphere feature in NeutrinoID.
float trkpitch
Pitch of the overlaid track on each wire [cm].
Class storing the result of the Maximum Likelihood fit of Multiple Coulomb Scattering angles between ...
const std::vector< float > & dEdx() const
SRShowerRazzle razzle
Results from the shower PID MVA.
float z1_pos
Z position of first CRTHit.
void FillOpFlash(const recob::OpFlash &flash, int cryo, caf::SROpFlash &srflash, bool allowEmpty)
float ncscore
CRUMBS result, for NC signal.
float p_muon
momentum estimate from trk range (muon hypothesis)
float y_pos
position in y-direction (cm).
float charge
Calorimetric energy.
float tpc_NuWeightedDirZ
the Z component of the space-point weighted direction of the final state pfos (nu reco) ...
float fwdP_err_pion
Error on momentum from start->end fit for pion [GeV/c].
SRPFOChar pfochar
The MVA inputs (features) in determination of the track score (PFO Characterisation) ...
float angle
Relative angle between the TPC track and CRT track [rad].
float bwdP_proton
Momentum result from end->start fit for proton [Ge/c].
std::vector< double > const & PEs() const
Returns a vector with a number of photoelectrons per channel.
void FillSliceMetadata(const larpandoraobj::PFParticleMetadata *primary_meta, caf::SRSlice &srslice, bool allowEmpty)
float ke
Kinetic energy deposited on this plane [GeV].
SRCRTHit hita
First hit in CRT track.
SRTrackCalo calo[3]
Per-plane Calorimetry information.
float PeakTime() const
Time of the signal peak, in tick units.
float len
track length [cm]
const std::vector< size_t > & TpIndices() const
const std::vector< float > & TrkPitchVec() const
float bwdMomUncertainty() const
momentum uncertainty from fit assuming a backward track direction
float tpc_CRLongestTrackDirY
relative direction of the longest track in Y (cosmic reco)
Hierarchical representation of particle flow.
float trackLength
Lenth of fitted track [cm].
void CopyPropertyIfSet(const std::map< std::string, T > &props, const std::string &search, U &value)
SRTrackStoppingChi2Fit stoppingChi2Fit
Fit results from Pol0 and Exp to dEdx vs res. range.
int plane1
Plane ID of first CRTHit.
SRVector3D dir_end
Direction of track at end.
SRVector3D end
End position of stub [cm].
SRVector3D end
shower end point (start+len*dir) in detector coordinates [cm]
void FillPFPVars(const recob::PFParticle &particle, const recob::PFParticle *primary, const larpandoraobj::PFParticleMetadata *pfpMeta, caf::SRPFP &srpfp, bool allowEmpty)
unsigned producer
Index of the producer that produced this object. In ICARUS, this is the same as the cryostat...
void FillTrackDazzle(const art::Ptr< sbn::MVAPID > dazzle, caf::SRTrack &srtrack, bool allowEmpty)
float z2_pos
Z position of second CRTHit.
float x_pos
position in x-direction (cm).
float bestscore
Best score from the three signal-specific versions.
float charge
Calibrated and electron-lifetime-corrected charge [#elec].
Vector_t EndDirection() const
float crlongtrkdef
CRLongestTrackDeflection feature in NeutrinoID.
int nutotalhits
the total number of space points (nu reco)
float y2_pos
Y position of second CRTHit.
float chi2_muon
dE/dx v. residual range Chi2 (muon hypothesis)
std::vector< SRStubHit > hits
List of all the hits on this plane.
float y1_pos
Y position of first CRTHit.
SRCRTHit hitb
Second git in CRT Track.
SRCRTHitMatch crthit
CRT Hit match.
float densityGradientPower
Power in the density gradient fit.
const std::vector< double > & Energy() const
void FillShowerCosmicDist(const std::vector< art::Ptr< float > > &cosmicDistVec, caf::SRShower &srshower)
float efield_end
Electric field at the end position of the stub [kV/cm].
int tpc_NuNFinalStatePfos
the number of final state pfos (nu reco)
int id
ID of this pfp (taken from the pandora particle "ID" of this PFP)
float bestplane_energy
shower energy at best plane [GeV]
float fwdP_kaon
Momentum from start->end fit for kaon [GeV/c].
float nuvtxy
NuVertexY feature in NeutrinoID.
void SetNuMuCCPrimary(std::vector< caf::StandardRecord > &recs, std::vector< caf::SRTrueInteraction > &srneutrinos)
const TVector3 & ShowerStart() const
unsigned producer
Index of the producer that produced this object. In ICARUS, this is the same as the cryostat...
float tpc_StoppingChi2CosmicRatio
a ratio of chi2 values intended to find Bragg peaks in stopping muon tracks
Point_t const & End() const
float x2_pos
X position of second CRTHit.
float crlongtrkdiry
CRLongestTrackDirY feature in NeutrinoID.
float nuwgtdirz
the Z component of the space-point weighted direction of the final state pfos (nu reco) ...
float time
Time of the CRT Track [us].
float crt_TrackScore
a combination of the DCA and angle between the best matched TPC & CRT tracks
float conversion_gap
shower start and vertex position difference [cm]
float ccnuescore
CRUMBS result, for CCNuE signal.
std::vector< float > trkpitch
Pitch of the matched track on each wire [cm].
2D representation of charge deposited in the TDC/wire plane
float tracktime
the time associated with the matched CRT track [us]
SRCRUMBSPDSVars pds
PDS input variables.
int tpc_NuNSpacePointsInSphere
the total number of space points within 10cm of the vertex (nu reco)
float fwdMomentum() const
momentum value from fit assuming a forward track direction
float p_proton
momentum estimate from trk range (proton hypothesis)
TPCID_t TPC
Index of the TPC within its cryostat.
double XCenter() const
Returns the estimated center on x direction (.
float t
Time of deposition [ticks].
int nhit
Number of hits on this plane counted in the calorimetry.
float x1_err
X position error of first CRTHit.
std::vector< float > double_to_float_vector(const std::vector< double > &v)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
std::vector< float > pitch
Pitch of stub on each wire [cm].
float fwdP_err_proton
Error on momentum from start->end fit for proton [GeV/c].
float energy
shower calculated energy for this plane [GeV]
float len
shower length [cm]
int plane2
Plane ID of second CRTHit.
SRVector3D vtx
Vertex/start position of stub [cm].
float fwdP_err_muon
Error on momentum from start->end fit for muon [GeV/c].
float z2_err
Z position error of second CRTHit.
float nuvertexy
the vertex position in Y (nu reco) [cm]
float x2_err
X position error of second CRTHit.
Plane_t bestplane
Plane index with the most hits. -1 if no calorimetry.
float efield_vtx
Electric field at the vertex position of the stub [kV/cm].
double WireAngleToVertical(geo::View_t view, geo::TPCID const &tpcid) const
Returns the angle of the wires in the specified view from vertical.
const Point_t & position() const
Return vertex 3D position.
float stoppingchi2ratio
a ratio of chi2 values intended to find Bragg peaks in stopping muon tracks
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:
float pitch
Track pitch [cm].
Representation of a rb::PFParticle, with hierarchy and Pandora metadata.
float crlongtrackdiry
relative direction of the longest track in Y (cosmic reco)
void FillPlaneChi2PID(const anab::ParticleID &particle_id, caf::SRTrkChi2PID &srpid)
int fAssumedPdg
PDG of particle hypothesis assumed by algorithm, if applicable. Set to 0 by default.
void FillTrackMCS(const recob::Track &track, const std::array< std::vector< art::Ptr< recob::MCSFitResult >>, 4 > &mcs_results, caf::SRTrack &srtrack, bool allowEmpty)
short wire
Wire of Calo-Point.
int crnhitsmax
the number of space points in the largest pfp
std::vector< int > daughters
ID's of daughters of this pfp.
float time
Time on trigger time scale [us].
float nueigen
NuEigenRatioInSphere feature in NeutrinoID.
SRShowerSelection selVars