// $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 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. unsigned int KpKmAnalysis(DKinFitter *dKinFitter, const DChargedTrack *proton_hyp, const DChargedTrack *kplus_hyp, const DChargedTrack *kminus_hyp, double prob, double weight); void FillPIDHistos(double t0_rf, const DChargedTrackHypothesis *proton_hyp, const DTrackTimeBased *proton_track, const DChargedTrackHypothesis *kplus_hyp, const DTrackTimeBased *kplus_track, const DChargedTrackHypothesis *kminus_hyp, const DTrackTimeBased *kminus_track, const DParticleID *pid_algorithm); TH1F *KpKmConfidenceLevel,*KpKmChiSq,*KpKmMass,*KmPMass; TH2F *KpDenom,*KpNumer_Kp,*KpNumer_Pip,*KpNumer_P,*KpNumer_Ep; TH2F *KmDenom,*KmNumer_Km,*KmNumer_Pim,*KmNumer_aP,*KmNumer_Em; TH2F *PDenom,*PNumer_Kp,*PNumer_Pip,*PNumer_P,*PNumer_Ep; TH2F *KmTOFdt,*KmBCALdt,*KmFCALdt,*KmdEdxCDC,*KmdEdxFDC; TH2F *KmdEdxCDCPull,*KmdEdxFDCPull,*KmEOverPFCAL; TH2F *KmBCALdtPull,*KmFCALdtPull,*KmTOFdtPull; TH1F *KmBCALdtCL,*KmFCALdtCL,*KmTOFdtCL; TH2F *KpBCALdtPull,*KpFCALdtPull,*KpTOFdtPull; TH1F *KpBCALdtCL,*KpFCALdtCL,*KpTOFdtCL; TH2F *PBCALdtPull,*PFCALdtPull,*PTOFdtPull; TH1F *PBCALdtCL,*PFCALdtCL,*PTOFdtCL,*PdEdxFDCCL,*PdEdxCDCCL; TH2F *PdEdxCDCPull,*PdEdxFDCPull; TH1F *KmdEdxCDCCL,*KmdEdxFDCCL; TH2F *PTOFdt,*PBCALdt,*PFCALdt,*PdEdxCDC,*PdEdxFDC,*PdEdxSC; TH2F *KpKm_vs_t[86],*EgammaMC_vs_t; TH1F *NumCombos,*TwoGammaMass; TH2F *KMinusMomentumVsTheta,*KMinusMomentumVsThetaMatched; TH2F *KPlusMomentumVsTheta,*KPlusMomentumVsThetaMatched; TH2F *DocaToTrack; TH2F *KpTOFdt,*KpFCALdt,*KpBCALdt,*KpdEdxCDC,*KpdEdxCDCPull,*KpdEdxFDC; TH2F *KpEOverPFCAL,*KpdEdxFDCPull; TH1F *KpdEdxCDCCL,*KpdEdxFDCCL; TH2F *EBCAL_vs_EFCAL,*EBCAL_vs_EFCAL_PhiCut; TH2F *KpEFCAL,*KmEFCAL,*KmEFCALvsR; TTree *phiTree; float treeval[100]; double CL_CUT,PROTON_FOM_CUT; bool CUT_DECAYS,APPLY_SPLIT_CUT,ADD_VERTEX_CONSTRAINT; bool CUT_EVENTS_WITH_UNUSED_ENERGY,EMULATE_TRIGGER; }; #endif // _JEventProcessor_PhiStudies_