// $Id$ // // File: JEventProcessor_fcaldave.h // Created: Sat Nov 22 22:47:43 EST 2014 // Creator: davidl (on Linux gluon47.jlab.org 2.6.32-358.23.2.el6.x86_64 x86_64) // #ifndef _JEventProcessor_fcaldave_ #define _JEventProcessor_fcaldave_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pi0_t.h" class JEventProcessor_fcaldave:public jana::JEventProcessor{ public: //........................ // track_projection // // utility class for holding track projection // on FCAL parameters //........................ class track_projection{ public: float x; float y; float p; const DTrackWireBased *trk; }; JEventProcessor_fcaldave(); ~JEventProcessor_fcaldave(); const char* className(void){return "JEventProcessor_fcaldave";} TH2D *ped_vs_id; TH2D *amp_vs_id; TH2D *integral_vs_peak; TH2D *tdc_vs_id; TH2D *t_vs_id; TH1D *Ncluster; TH2D *E_vs_id; TH1D *E_cluster; TH1D *t_cluster; TH1D *E_cluster2; TH1D *E_cluster_time_cut; TH2D *xy_cluster; TH1D *z_cluster; TH1D *mass; TH1D *z_pi0; TTree *pi0_tree; pi0_t pi0; pi0_t *pi0_ptr; DFCALGeometry fcalgeom; uint32_t GetProjections(vector &wbtrks, vector &tprojs); track_projection* FindClosestTrack(vector &tprojs, const DFCALCluster *cluster, float &dist); private: jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *eventLoop, int runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *eventLoop, int eventnumber); ///< Called every event. jerror_t erun(void); ///< 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. }; #endif // _JEventProcessor_fcaldave_