//////////////////////////////////////////////////////////////////// /// \class RAT::EnergySystematics /// /// \brief Example code for applying systematics /// /// \author Eric Marzec /// /// REVISION HISTORY: /// July 9 2018: Created class /// /// Details: Provides functions for applying energy scale and energy /// resolution systematics to an event to get a scaled/smeared /// energy. /// /// //////////////////////////////////////////////////////////////////// #ifndef __RAT_util_EnergySystematics__ #define __RAT_util_EnergySystematics__ #include namespace RAT { namespace DU { class EnergySystematics: public TObject { public: EnergySystematics(double _energy_scale, double _resolution_uncertainty); double ApplyEnergyResolution(const double& energy) const; double ApplyEnergyScale(const double& energy, const bool& direction=false) const; ClassDefNV(EnergySystematics, 0); private: double resolution_uncertainty; double energy_scale_systematic; double reconstruction_smearing_factor; }; } } #endif