#ifndef _DEventProcessor_photon_discrim_ #define _DEventProcessor_photon_discrim_ #include #include #include #include #include #include using namespace jana; class DEventProcessor_photon_discrim:public JEventProcessor{ public: DEventProcessor_photon_discrim() {}; ~DEventProcessor_photon_discrim(){}; TTree *photon_discrim_tree; TTree *photon_discrim_BCAL; private: //members correspond to branches of tree //static const int MAX_PHOTON=30; enum { MAX_PHOTON = 30 }; //photon_discrim_BCALL tree Bool_t m_recon_BCAL_match_thrown; Float_t m_recon_BCAL_z_entry; Float_t m_recon_BCAL_z_cluster; Float_t m_recon_BCAL_r; Float_t m_recon_BCAL_phi; Float_t m_recon_BCAL_tproj; Float_t m_recon_BCAL_E; Float_t m_recon_BCAL_closest_shower_dist; //distance between BCAL shower and it's closest neighboring shower Float_t m_recon_BCAL_closest_shower_E; //energy of closest cluster Float_t m_recon_BCAL_closest_track_dist; //should also add distance to closest track, distance to closest cluster, (energy of closest cluster?) //photon_discrim_tree tree Int_t m_n_recon_FCAL; Bool_t m_recon_FCAL_match_thrown[MAX_PHOTON]; Float_t m_recon_FCAL_tproj[MAX_PHOTON]; Float_t m_recon_FCAL_x[MAX_PHOTON]; Float_t m_recon_FCAL_y[MAX_PHOTON]; Float_t m_recon_FCAL_z[MAX_PHOTON]; Float_t m_recon_FCAL_E[MAX_PHOTON]; //the below are shower shape parameters stored in DFCALCluster Float_t m_recon_FCAL_RMS[MAX_PHOTON]; Float_t m_recon_FCAL_RMS_x[MAX_PHOTON]; Float_t m_recon_FCAL_RMS_y[MAX_PHOTON]; Float_t m_recon_FCAL_RMS_u[MAX_PHOTON]; Float_t m_recon_FCAL_RMS_v[MAX_PHOTON]; Float_t m_recon_FCAL_splash[MAX_PHOTON]; Int_t m_n_thrown_photons; Bool_t m_thrown_BCAL[MAX_PHOTON]; //based on thrown parameters (vertex and momentum direction) should this photon end up in the BCAL Float_t m_thrown_px[MAX_PHOTON]; Float_t m_thrown_py[MAX_PHOTON]; Float_t m_thrown_pz[MAX_PHOTON]; Float_t m_thrown_E[MAX_PHOTON]; Float_t m_thrown_vx[MAX_PHOTON]; Float_t m_thrown_vy[MAX_PHOTON]; Float_t m_thrown_vz[MAX_PHOTON]; Float_t m_thrown_BCAL_z_entry[MAX_PHOTON]; //if entering the BCAL, at what z coordinate would it hit the inner radius of the BCAL jerror_t init(void); ///< Invoked via DEventProcessor virtual method jerror_t evnt(JEventLoop *loop, int eventnumber); ///< Invoked via DEventProcessor virtual method jerror_t erun(void); ///< Invoked via DEventProcessor virtual method jerror_t fini(void); ///< Invoked via DEventProcessor virtual method pthread_mutex_t mutex; }; #endif // _DEventProcessor_photon_discrim_