// $Id$ // // File: JEventProcessor_fcal2.h // Created: Fri Apr 26 18:14:10 EDT 2024 // Creator: staylor (on Linux ifarm1901.jlab.org 3.10.0-1160.108.1.el7.x86_64 x86_64) // #ifndef _JEventProcessor_fcal2_ #define _JEventProcessor_fcal2_ #include #include #include #include #include #include class JEventProcessor_fcal2:public jana::JEventProcessor{ public: JEventProcessor_fcal2(); ~JEventProcessor_fcal2(); const char* className(void){return "JEventProcessor_fcal2";} private: jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t 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. void FillLeptonHistos(const DChargedTrackHypothesis *hyp, TH2F *HEoverP,TH2F *Exy,TH2F *Hdx, TH2F *Hdy); TH2F *HEoverP_electron,*HEoverP_positron,*Exy_electron,*Exy_positron; TH2F *Hdx_vs_x_electron,*Hdx_vs_x_positron; TH2F *Hdy_vs_y_electron,*Hdy_vs_y_positron; TH2F *FCALOccupancy,*ECALOccupancy; TH2F *ECAL_Etrue_vs_Ecluster,*FCAL_Etrue_vs_Ecluster; TH2F *FCAL_Normalized_Eresidual_vs_E,*FCAL_dx_vs_E,*FCAL_dy_vs_E; TH2F *ECAL_Normalized_Eresidual_vs_E,*ECAL_dx_vs_E,*ECAL_dy_vs_E; TH2F *ECAL_dx_vs_x,*ECAL_dy_vs_y,*FCAL_dx_vs_x,*FCAL_dy_vs_y; TH2F *ECAL_ShowerSeparation,*FCAL_ShowerSeparation; TH2F *ECAL_ShowerSeparation_NoSec,*FCAL_ShowerSeparation_NoSec; TH2F *ECALFCAL_ShowerSeparation; TH1F *ECAL_TrueSeparation,*FCAL_TrueSeparation,*ECALFCAL_TrueSeparation; TH1F *ECAL_TrueSeparation_NoSec,*FCAL_TrueSeparation_NoSec; TH1F *NumShowers; double THRESHOLD=0.05,P_MIN=3.0,P_MAX=4.0,R_MIN=10.,R_MAX=15.; const DFCALGeometry *fcalGeom=NULL; }; #endif // _JEventProcessor_fcal2_