//////////////////////////////////////////////////////////////////////// /// \class RAT::Classifiers::XSite /// /// \brief Calculates the XSite for an event /// /// \author name Yang Zhang /// /// REVISION HISTORY:\n /// 07/27/2019 : Yang Zhang - First version /// /// \details Gives the XSite for an event, that is, the likelihood ratio of //// PMT hit time residuals that fall within the selected window between S/B /// default S/B is 0nv and Co60 in Te_load phase. /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_Classifiers_XSite_ #define __RAT_Classifiers_XSite_ #include #include #include #include namespace RAT { namespace DS { class FitResult; } namespace Classifiers { class XSite : public SeededClassifier, public SelectorClassifier { public: virtual std::string GetName() const { return XSite::Name(); } static std::string Name() { return std::string( "XSite" ); } void Initialise( const std::string& ); void BeginOfRun(DS::Run& run); void EndOfRun(DS::Run&) { } virtual DS::ClassifierResult GetClassification(); /// Set the seed to default void DefaultSeed(); /// Set the seed from seed void SetSeed( const DS::FitResult& seed ); private: std::string fIndex; ///< Optional database index TVector3 fEventPos; double fEventTime; double fUpperTimeLimit; double fLowerTimeLimit; std::vector fSignal ; std::vector fBKG ; DU::TimeResidualCalculator fTRCalc; ///< Time residual calculator for a given run DS::FitVertex fSeedVertex; }; } //::Classifier } //::RAT #endif