//////////////////////////////////////////////////////////////////// /// \class RAT::QvNhit /// /// \brief Flags pickup events for data cleaning /// /// \author Richie Bonventre /// \contact Eric Marzec /// /// REVISION HISTORY:\n /// 27 June 2011 : Richie Bonventre - first version /// 13 Nov 2014 : Eric Marzec - Made myself contact person. /// /// \details This processor attempts to tag only pickup events. /// Since pickup waveforms should be bipolar, it should integrate /// out to zero, so we look for low charge events. /// /// /// /// //////////////////////////////////////////////////////////////////// #ifndef __RAT_QvNhit__ #define __RAT_QvNhit__ #include #include #include #include namespace RAT { class QvNhit : public DataCleaningProc { public: QvNhit() : DataCleaningProc("qvnhit",1){}; virtual ~QvNhit(){}; virtual Processor::Result DSEvent(DS::Run& run, DS::Entry& ds); void BeginOfRun(DS::Run&); protected: virtual Processor::Result Event(DS::Entry& ds, DS::EV& ev); DBLinkPtr fLPmtCalib; std::vector fQHL_HHP; ///< Gain for each channel to get charge in pe int fECAhitmask; int fPCAhitmask; double fHHPlow; double fHHPhigh; double fRatio; ///< minimum charge/nhit ratio, under which event is cut }; } // namespace RAT #endif