// $Id$ // // File: JEventProcessor_pi0_res.h // Created: Tue Nov 1 22:48:06 EDT 2011 // Creator: davidl (on Darwin Amelia.local 9.8.0 i386) // #ifndef _JEventProcessor_pi0_res_ #define _JEventProcessor_pi0_res_ #include #include #include #include #include #include class JEventProcessor_pi0_res:public jana::JEventProcessor{ public: JEventProcessor_pi0_res(); ~JEventProcessor_pi0_res(); const char* className(void){return "JEventProcessor_pi0_res";} double GetThetaSigmaBCAL(DVector3 &mom, double E); double GetThetaSigmaBCALParms(DVector3 &mom, double E, double p0, double p1, double R_granularity); double GetPhiSigmaBCAL(DVector3 &mom, double E); double GetESigmaBCAL(DVector3 &mom, double E); double GetThetaSigmaFCAL(DVector3 &mom, double E); double GetPhiSigmaFCAL(DVector3 &mom, double E); double GetESigmaFCAL(DVector3 &mom, double E); 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. bool use_334; TSpline *sp334; TSpline *sp1234; TRandom rnd; TH1D *pi0mass2; TH1D *pi0mass; TH1D *pi0mass2_bcal; TH1D *pi0mass_bcal; TH1D *pi0mass2_fcal; TH1D *pi0mass_fcal; TH1D *pi0mass2_bcal_and_fcal; TH1D *pi0mass_bcal_and_fcal; double sigma_theta_scale_bcal; double sigma_phi_scale_bcal; double sigma_E_scale_bcal; double sigma_theta_scale_fcal; double sigma_phi_scale_fcal; double sigma_E_scale_fcal; }; #endif // _JEventProcessor_pi0_res_