// $Id$ // // File: JEventProcessor_PhiStudies.h // Created: Thu Jun 27 13:35:27 EDT 2019 // Creator: staylor (on Linux ifarm1401.jlab.org 3.10.0-327.el7.x86_64 x86_64) // #ifndef _JEventProcessor_PhiStudies_ #define _JEventProcessor_PhiStudies_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class JEventProcessor_PhiStudies:public jana::JEventProcessor{ public: JEventProcessor_PhiStudies(); ~JEventProcessor_PhiStudies(); const char* className(void){return "JEventProcessor_PhiStudies";} 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 DoKinematicFit(double t0_rf, const DBeamPhoton *beamphoton, map >&chargedParticles, DAnalysisUtilities *dAnalysisUtilities, DKinFitUtils_GlueX *dKinFitUtils, DKinFitter *dKinFitter) const; void GetKF4vectors(DKinFitter *dKinFitter, DLorentzVector &beam_kf, DLorentzVector &missing_kf, map>&final_kf, DVector3 &pippim_vertex) const; void FillChargedParticleVectors(vector&tracks,map>&chargedParticles) const; void MissingKLAnalysis(const DLorentzVector &beam_kf, const DLorentzVector &missing_kf, map>&final_kf, const DVector3 &pippim_vertex, double weight) const; static bool SortParticleProbability(const paira, const pairb){ return a.first>b.first; } TH1F *KinFitCL,*KinFitChiSq; TH1F *KsKlMass,*KsKlMass_zcut; TH2F *SecondaryVertex,*PipPim_vs_z,*PipPim_vs_r; TH2F *MPipPim_vs_MissingMassSq; double ZCUT=82.,MM2CUT=0.05; }; #endif // _JEventProcessor_PhiStudies_