diff --git a/sbnanaobj/StandardRecord/SRTrack.h b/sbnanaobj/StandardRecord/SRTrack.h index c93f8c6..afd80a5 100644 --- a/sbnanaobj/StandardRecord/SRTrack.h +++ b/sbnanaobj/StandardRecord/SRTrack.h @@ -8,6 +8,7 @@ #include "sbnanaobj/StandardRecord/SRTrackTruth.h" #include "sbnanaobj/StandardRecord/SRTrkChi2PID.h" +#include "sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h" #include "sbnanaobj/StandardRecord/SRTrkMCS.h" #include "sbnanaobj/StandardRecord/SRTrkRange.h" #include "sbnanaobj/StandardRecord/SRCRTHitMatch.h" @@ -45,6 +46,7 @@ namespace caf SRVector3D end; ///< End point of track SRTrkChi2PID chi2pid[3]; ///< Per-plane Chi2 Particle ID + SRTrkLikelihoodPID likepid[3]; ///< Per-plane likelihood-based Particle ID variabeles (@f$ \lambda = \sum -\ln L / L_{max} @f$ where @f$\Sigma@f$ is done over hits) SRTrackCalo calo[3]; ///< Per-plane Calorimetry information Plane_t bestplane; ///< Plane index with the most hits. -1 if no calorimetry diff --git a/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.cxx b/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.cxx new file mode 100644 index 0000000..125d4b2 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.cxx @@ -0,0 +1,33 @@ +/** + * @file sbnanaobj/StandardRecord/SRTrkLikelihoodPID.cxx + * @brief An `SRTrkLikelihoodPID` is a high level track ParticlePID object for + * for larana LikelihoodPIDAlg results. + * @author Sungbin Oh (sungbino@fnal.gov) + */ + +#include "sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h" + +#include "sbnanaobj/StandardRecord/SRConstants.h" + +namespace caf +{ + + SRTrkLikelihoodPID::SRTrkLikelihoodPID(): + pdg(-999), + pid_ndof(-99), + lambda_muon(caf::kSignalingNaN), + lambda_pion(caf::kSignalingNaN), + lambda_proton(caf::kSignalingNaN) + { } + + void SRTrkLikelihoodPID::setDefault() + { + pdg = 0; + pid_ndof = -5; + lambda_muon = -5.0; + lambda_pion = -5.0; + lambda_proton = -5.0; + } + +} // end namespace caf +//////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h b/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h new file mode 100644 index 0000000..b5e1d1b --- /dev/null +++ b/sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h @@ -0,0 +1,31 @@ +/** + * @file sbnanaobj/StandardRecord/SRTrkLikelihoodPID.h + * @brief An `SRTrkLikelihoodPID` is a high level track ParticlePID object for + * for larana LikelihoodPIDAlg results. + * @author Sungbin Oh (sungbino@fnal.gov) + */ +#ifndef SRTRKLIKELIHOODPID_H +#define SRTRKLIKELIHOODPID_H + +namespace caf +{ + /// Track PID from dE/dx v. likelihood from dE/dx PDF measured with residual range-based kinetic energy and hit pitch + class SRTrkLikelihoodPID + { + public: + + SRTrkLikelihoodPID(); + + int pdg; ///< Likelihood PID pdg + int pid_ndof; ///< Number of degress of freedom in likelihood PID + float lambda_muon; ///< Sum of -lnL/L_max (muon hypothesis) + float lambda_pion; ///< Sum of -lnL/L_max (charged pion hypothesis) + float lambda_proton; ///< Sum of -lnL/L_max (proton hypothesis) + + void setDefault(); + }; + +} // end namespace + +#endif // SRTRKLIKELIHOODPID_H +////////////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index 093ef4d..227ffbe 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -117,7 +117,8 @@ - + + @@ -167,6 +168,10 @@ + + + +