//////////////////////////////////////////////////////////////////// /// \class RAT::FTSCut /// /// \brief Flags cuts based on the time spread of the hits /// /// \author Richie Bonventre /// \contact Eric Marzec /// /// REVISION HISTORY:\n /// 10 July 2011 : Richie Bonventre - first version /// 13 Nov 2014 : Eric Marzec - Made myself contact person. /// /// \details This processor tags events that are considered /// flasher events. This cut is made to identify flashers /// where the readout for the flashing channel is somehow /// disabled so the signature cluster of hits is missing. /// It uses the time spread of the events instead. These /// events can later be removed from an analysis by setting /// a data cleaning mask. /// /// /// /// //////////////////////////////////////////////////////////////////// #ifndef __RAT_FTSCut__ #define __RAT_FTSCut__ #include #include #include #include namespace RAT { class FTSCut : public DataCleaningProc { public: FTSCut() : DataCleaningProc("ftscut",1){}; virtual ~FTSCut(){}; 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); int fClusterMode; ///< 1=checks for clusters int fDeltaTThresh; ///< consider pmt pairs with time diff less than this (ns) int fDistThresh; ///< consider pmt pairs with distance between less than this (cm) int fCountThresh; ///< need this many valid pairs or skip cut int fMaxPairs; ///< Max number of pmt pairs to check double fMedianCut; ///< cut value for median delta t (ns) }; } // namespace RAT #endif