Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
48 changes: 15 additions & 33 deletions sbnanaobj/StandardRecord/SRTrkChi2PID.cxx
Original file line number Diff line number Diff line change
@@ -1,38 +1,20 @@
////////////////////////////////////////////////////////////////////////
// \file SRTrkChi2PID.cxx
// \brief An SRTrkChi2PID is a high level track ParticlePID object for
// for larana Chi2ParticleID results.
////////////////////////////////////////////////////////////////////////
/**
* @file SRTrkChi2PID.cxx
* @brief An SRTrkChi2PID is a high level track `anab::ParticlePID` object
* for larana `pid::Chi2ParticleID` results.
* @see SRTrkChi2PID.h
*/

#include "sbnanaobj/StandardRecord/SRTrkChi2PID.h"

#include <limits>

namespace caf
void caf::SRTrkChi2PID::setDefault()
{
pdg = -5;
pid_ndof = -5;
chi2_muon = -5.0;
chi2_pion = -5.0;
chi2_kaon = -5.0;
chi2_proton = -5.0;
pida = -5;
}

SRTrkChi2PID::SRTrkChi2PID():
pdg(-999),
pid_ndof(-99),
chi2_muon(std::numeric_limits<float>::signaling_NaN()),
chi2_pion(std::numeric_limits<float>::signaling_NaN()),
chi2_kaon(std::numeric_limits<float>::signaling_NaN()),
chi2_proton(std::numeric_limits<float>::signaling_NaN()),
pida(std::numeric_limits<float>::signaling_NaN())
{ }

SRTrkChi2PID::~SRTrkChi2PID(){ }

void SRTrkChi2PID::setDefault()
{
pdg = -5;
pid_ndof = -5;
chi2_muon = -5.0;
chi2_pion = -5.0;
chi2_kaon = -5.0;
chi2_proton = -5.0;
pida = -5;
}

} // end namespace caf
////////////////////////////////////////////////////////////////////////
35 changes: 18 additions & 17 deletions sbnanaobj/StandardRecord/SRTrkChi2PID.h
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
////////////////////////////////////////////////////////////////////////
// \file SRTrkChi2PID.h
////////////////////////////////////////////////////////////////////////
/**
* @file SRTrkChi2PID.h
* @brief An SRTrkChi2PID is a high level track `anab::ParticlePID` object
* for larana `pid::Chi2ParticleID` results.
* @see SRTrkChi2PID.cxx
*/

#ifndef SRTRKCHI2PID_H
#define SRTRKCHI2PID_H

#include "sbnanaobj/StandardRecord/SRConstants.h"

namespace caf
{
/// Track PID from dE/dx v. residual range Chi2
class SRTrkChi2PID
/// Track PID from dE/dx v. residual range &chi;&sup2;.
struct SRTrkChi2PID
{
public:

SRTrkChi2PID();
virtual ~SRTrkChi2PID();

int pdg; ///< Min Chi2 pdg
int pid_ndof; ///< Number of degress of freedom in Chi2 PID fit
float chi2_muon; ///< dE/dx v. residual range Chi2 (muon hypothesis)
float chi2_pion; ///< dE/dx v. residual range Chi2 (pion hypothesis)
float chi2_kaon; ///< dE/dx v. residual range Chi2 (kaon hypothesis)
float chi2_proton; ///< dE/dx v. residual range Chi2 (proton hypothesis)
int pdg = -999; ///< PDG ID of the lowest Chi2.
int pid_ndof = -99; ///< Number of degrees of freedom in Chi2 PID fit.
float chi2_muon = caf::kSignalingNaN; ///< dE/dx v. residual range Chi2 (muon hypothesis).
float chi2_pion = caf::kSignalingNaN; ///< dE/dx v. residual range Chi2 (pion hypothesis).
float chi2_kaon = caf::kSignalingNaN; ///< dE/dx v. residual range Chi2 (kaon hypothesis).
float chi2_proton = caf::kSignalingNaN; ///< dE/dx v. residual range Chi2 (proton hypothesis).

float pida; ///< PIDA
float pida = caf::kSignalingNaN; ///< Particle identification algorithm result (PIDA).

void setDefault();
};

} // end namespace

#endif // SRTRKCHI2PID_H
//////////////////////////////////////////////////////////////////////////////