//////////////////////////////////////////////////////////////////////// /// \class RAT::Classifiers::AlphaNReactorIBDClassifier /// /// \brief Calculates the likelihood ratio for an event to be a prompt Alpha-n or reactor ibd event /// /// \author name Charlie Mills /// /// REVISION HISTORY:\n /// - 2020/12/14: File created, based heaviliy on the AlphaBetaClassifier, written by Eric Marzec, /// and the BerkeleyAlphaBeta classifer, written by Ben Land /// /// \details Calculates a log likelihood that an event is either an alpha-n prompt event /// or a reactor IBD prompt event and returns the ratio of those likelihoods. /// /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_Classifiers_AlphaNReactorIBDClassifier_ #define __RAT_Classifiers_AlphaNReactorIBDClassifier_ #include #include namespace RAT { namespace Classifiers { class AlphaNReactorIBDClassifier : public SeededClassifier { public: virtual std::string GetName() const { return AlphaNReactorIBDClassifier::Name(); } static std::string Name() { return std::string( "AlphaNReactorIBDClassifier" ); } void Initialise( const std::string& param ); void BeginOfRun(DS::Run& run); void EndOfRun(DS::Run&); virtual void SetSeed(const DS::FitResult& seed); virtual void DefaultSeed(); virtual DS::ClassifierResult GetClassification(); private: std::vector fTimes; std::vector fA_vec; double fTimeStep; std::string fIndex; DU::Point3D fEventPos; double fEventTime; DU::TimeResidualCalculator fTRCalc; size_t fPSUPSystemId; // coordinate system id for Point3D bool fValid; protected: }; } //::Classifier } //::RAT #endif