//////////////////////////////////////////////////////////////////////// /// \class RAT::Methods::QPartialEnergy /// /// \brief Energy estimator for the partial scint fill /// /// \author Yang Zhang // Rohith Sekar rohithve@ualberta.ca // /// REVISION HISTORY: /// - 2019-09-06 : Yang Zhang - first instance /// - 2020-09-05 : Aidan Patton - fQratiotable /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_QPartialEnergy__ #define __RAT_QPartialEnergy__ #include #include #include #include #include namespace RAT { namespace Methods { class QPartialEnergy : public SeededMethod { public: virtual std::string GetName() const { return QPartialEnergy::Name(); } static std::string Name() { return std::string( "QpartialEnergy" ); } void Initialise(const std::string& ); void BeginOfRun(DS::Run& run); void EndOfRun(DS::Run&) {}; void DefaultSeed(); virtual DS::FitResult GetBestFit(); private: double fSplitZ; std::string fIndex; ///< Optional database index double fEnergy; void ApplyDetectorStateCorrection(double coorActiveChannels, double coorChanEff); //Applies detector state correction double fCorrt_NCh_Eff; //total correction factor for # of channels and eff double fAVInnerRadius; TVector3 fEventPosition; // Event position seed std::vector fZoff; // z offset of AV to the PSUP double fQDummy; //set dummy value for events outside std::vector fQratio; std::vector fzCorrectP; std::vector fEnergyP; std::vector fEnergyErorrP; std::vector fQratiotable; double fQcorrection; //same as fQratio }; // QPartialEnergy } // Methods } // RAT #endif // __RAT_QPartialEnergy__