// $Id$ // // File: JEventProcessor_antiproton.h // Created: Tue Jun 14 14:01:44 EDT 2022 // Creator: staylor (on Linux ifarm1802.jlab.org 3.10.0-1160.11.1.el7.x86_64 x86_64) // #ifndef _JEventProcessor_antiproton_ #define _JEventProcessor_antiproton_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../include/mass_cuts.h" class JEventProcessor_antiproton:public jana::JEventProcessor{ public: JEventProcessor_antiproton(); ~JEventProcessor_antiproton(); const char* className(void){return "JEventProcessor_antiproton";} 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 FillChargedParticleVectors(vector&tracks,map>&chargedParticles) const; void FillGammaParticleVector(double &unused_energy,double t0_rf, const DVector3 &vertex, vector&neutrals, vector&gammaParticles ) const; void DoKinematicFit(double t0_rf,const DVector3 &vertex, const DBeamPhoton *beamphoton, map >&chargedParticles, vector&gammaParticles, DKinFitUtils_GlueX *dKinFitUtils, DKinFitter *dKinFitter) const; void GetKF4vectors(DKinFitter *dKinFitter,DLorentzVector &beam_kf, map>&final_kf) const; static bool SortParticleProbability(const paira, const pairb){ return a.first>b.first; } void PipPimAntiProton2ProtonAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void PipPimAntiProton2Proton1GammaAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void PipPimAntiProton2Proton2GammaAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void TwoPip2PimAntiProton2ProtonAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void AntiProton2ProtonAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void AntiProton2Proton1GammaAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void AntiProton2Proton2GammaAnalysis(double unused_energy,const DLorentzVector &beam_kf, map>&final_kf, double weight) const; void FillSigma0Histos(double unused_energy,const DLorentzVector &lambda, const DLorentzVector &lambda_bar, DLorentzVector gamma1, DLorentzVector gamma2, DLorentzVector proton, DLorentzVector antiproton, double weight) const ; TH1F *PantiP,*PantiP_with_1g,*PantiP_with_2g,*TwoGamma_with_ppap; TH1F *PantiPGamma,*PantiPPi0,*PantiPEta; TH2F *PPiMinusVsAntiPPiPlus_kf,*PPiMinusVsAntiPPiPlus_with_1g; TH1F *LambdaLambdaBarMass,*Sigma0AntiLambdaMass,*AntiSigma0LambdaMass; TH1F *AntiLambdaGammaMass,*LambdaGammaMass_with_AntiLambda; TH1F *CosThetaAntiLambdaRest_1g,*CosThetaLambdaRest_1g; TH2F *PPim_vs_aPPip,*AntiLambdaGamma_vs_LambdaGamma; TH1F *Sigma0AntiSigma0,*CosThetaAntiLambdaRest,*CosThetaLambdaRest; TH2F *PPiMinusVsAntiPPiPlus_2pip2pim,*P2PiMinusVsAntiP2PiPlus; TH2F *PPim_vs_aPPip_NU,*AntiLambdaGamma_vs_LambdaGamma_NU; TH1F *Sigma0AntiSigma0_NU; TH1F *CosThetaAntiLambdaRest_NU; TH1F *CosThetaLambdaRest_NU; TH2F *PPiMinusVsAntiPPiPlus_with_1g_NU; TH1F *Sigma0AntiLambdaMass_NU; TH1F *AntiSigma0LambdaMass_NU; TH1F *AntiLambdaGammaMass_NU; TH1F *LambdaGammaMass_with_AntiLambda_NU; TH1F *CosThetaAntiLambdaRest_1g_NU; TH1F *CosThetaLambdaRest_1g_NU; TH1F *XiAntiXi; double PI0_CUT_VALUE,ETA_CUT_VALUE,ETAPRIME_CUT_VALUE,NUM_SIGMA_BG; double FCAL_THRESHOLD,SPLIT_CUT,FCAL_RADIAL_CUT,PROTON_GAMMA_DT_CUT; double BCAL_THRESHOLD,FCAL_POS_CUT,BCAL_Z_CUT,CL_CUT; DVector3 mFCALCenter; }; #endif // _JEventProcessor_antiproton_