// $Id$ // // File: JEventProcessor_L3proc.h // Created: Wed Aug 21 17:22:31 EDT 2013 // Creator: davidl (on Darwin harriet.local 11.4.2 i386) // #ifndef _JEventProcessor_L3proc_ #define _JEventProcessor_L3proc_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "L3farm_out.h" class JEventProcessor_L3proc:public jana::JEventProcessor{ public: JEventProcessor_L3proc(L3farm_out *l3out); ~JEventProcessor_L3proc(); const char* className(void){return "JEventProcessor_L3proc";} bool COMPACT; bool PREFER_EMULATED; bool DEBUG_FILES; bool APPLY_HIT_FILTERS; vector SAVE_EVENTS; void WriteEventToBuffer(JEventLoop *loop, vector &buff); void ApplyHitFilters(JEventLoop *loop , vector &f250pds , vector &f250pis , vector &f250wrds , vector &f125cdcpulses , vector &f125fdcpulses , vector &caen1290hits , vector &F1hits); void WriteCAEN1290Data(vector &buff , vector &caen1290hits , vector &caen1290configs); void WriteF1Data(vector &buff , vector &F1hits , vector &F1tts , vector &F1configs); void Writef250Data(vector &buff , vector &f250pds , vector &f250pis , vector &f250tts , vector &f250wrds , vector &f250configs); void Writef125Data(vector &buff , vector &f125pis , vector &f125cdcpulses , vector &f125fdcpulses , vector &f125tts , vector &f125wrds , vector &f125configs); void WriteEPICSData(vector &buff , vector epicsValues); void WriteBORData(vector &buff, JEventLoop *loop); void WriteTSSyncData(vector &buff, const DL1Info *l1info); void WriteEventTagData(vector &buff , uint64_t event_status , const DL3Trigger* l3trigger); protected: jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *loop, int32_t runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *loop, uint64_t eventnumber); ///< Called every event. jerror_t erun(void){return NOERROR;} ///< Called everytime run number changes, provided brun has been called. jerror_t fini(void); ///< Called after last event of last event source has been processed. L3farm_out *l3out; uint32_t Nevents; std::ofstream *ofs_debug_input; std::ofstream *ofs_debug_output; double FDC_T_MIN; double FDC_T_MAX; double CDC_T_MIN; double CDC_T_MAX; double TOF_T_MIN; double TOF_T_MAX; double TAG_T_MIN; double TAG_T_MAX; double BCAL_T_MIN; double BCAL_T_MAX; double FCAL_T_MIN; double FCAL_T_MAX; double PS_T_MIN; double PS_T_MAX; double ST_T_MIN; double ST_T_MAX; double L1_BCAL_FAC; double L1_FCAL_FAC; double L1_THRESH; double f250_PEAK_MIN; double TOF_PEAK_MIN; double TAGM_PEAK_MIN; double TAGH_PEAK_MIN; uint32_t TAGH_MAX_FADC_CHANNEL; // slot*100 + channel uint32_t TAGH_MAX_TDC_CHANNEL; // slot*100 + channel uint32_t SYSTEMS_TO_CUT; bool CUT_UNKNOWNS; set ROCIDS_TO_REMOVE; set SLOTS_TO_REMOVE; }; #endif // _JEventProcessor_L3proc_