///////////////////////////////////////////////////////////////////////// // This processor computes the number of in time hits in two different windows // for both the N100 and N20 trigger signals. // // Author: Anthony LaTorre // // REVISION HISTORY: // 2017-9-28 : Anthony LaTorre - initial commit // ////////////////////////////////////////////////////////////////////////// #ifndef __RAT_TriggerEfficiencyProc__ #define __RAT_TriggerEfficiencyProc__ #include #include #include namespace RAT { class TriggerEfficiencyProc : public Processor { public: TriggerEfficiencyProc() : Processor("TriggerEfficiencyProc"), fN100Width(0), fN20Width(0), fN100RiseTime(0), fN20RiseTime(0) { }; virtual ~TriggerEfficiencyProc() { }; void BeginOfRun(DS::Run&); void GetInTimeHits(DS::EV *ev, float *max_nhit_100, float *max_nhit_20); virtual Processor::Result DSEvent(DS::Run& run, DS::Entry& ds); protected: DU::ChanHWStatus *chanHWStatus; /* Width of the N100 channel trigger. */ float fN100Width; /* Width of the N20 channel trigger. */ float fN20Width; /* Rise time of the N100 channel trigger. */ float fN100RiseTime; /* Rise time of the N20 channel trigger. */ float fN20RiseTime; /* Time window to search for the maximum number of in-time hits. */ float fTimeWindow; /* Time resolution of reconstructed trigger signal. */ float fDeltaT; }; } // namespace RAT #endif