// $Id$ // // File: JEventProcessor_physics_detcom.h // Created: Fri Dec 5 13:37:34 EST 2014 // Creator: jrsteven (on Linux ifarm1102 2.6.32-220.7.1.el6.x86_64 x86_64) // #ifndef _JEventProcessor_physics_detcom_ #define _JEventProcessor_physics_detcom_ #include "TH2.h" #include "TLorentzVector.h" #include #include "PID/DParticleID.h" class JEventProcessor_physics_detcom:public jana::JEventProcessor{ public: JEventProcessor_physics_detcom(); ~JEventProcessor_physics_detcom(); const char* className(void){return "JEventProcessor_physics_detcom";} 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. jerror_t get_proton_recoil(JEventLoop *loop, TLorentzVector locMissing_p4, int itag); jerror_t get_3pi(pair locPi0_p4, int loc_j, int loc_k, int locCal, int eventnumber); jerror_t get_tagger_hits(JEventLoop *loop, vector< pair > &locGoodTAGMHits, vector< pair > &locGoodTAGHHits); jerror_t get_fcal_pi0(jana::JEventLoop *eventLoop, vector< pair > &locFCALpi0_p4); jerror_t get_bcal_pi0(jana::JEventLoop *eventLoop, vector< pair > &locBCALpi0_p4); jerror_t calcdEdx(const DTrackTimeBased *locTrackTimeBased, const vector& locdEdxHits_CDC, const vector& locdEdxHits_FDC, double& locdEdx_FDC, double& locdEdx_CDC, double truncMeanThresh); jerror_t dumpWaveform(const DTrackTimeBased *locTrackTimeBased, int tracknumber, int eventnumber); // constants for given run number double cdcMCscale, scMCscale; double offset_tagm, offset_tagh, offset_runid; // vectors to fill for each event vector< pair > goodTAGMHits; vector< pair > goodTAGHHits; vector< pair > protonP4; vector< pair > piplusP4; vector< float > piplus_chisq; vector< pair > piminusP4; vector< float > piminus_chisq; vector< pair > kplusP4; vector< pair > kminusP4; vector< pair > electronP4; vector< pair > positronP4; const DParticleID* dParticleID; TH2F *Energy_BCAL_FCAL; TH1F *Event_Stat; TH1F *Track_Stat, *Track_FOM; TH2F *Track_Ndof_Theta, *Track_Ndof_Theta_NoMatch; TH2F *Track_WireNdof_Theta, *Track_WireNdof_Theta_NoMatch; TH1F *NTrack_WireBased, *NTrack_TimeBased; TH2F *Track_dEdxVsP_Pos_CDC, *Track_dEdxVsP_Pos_CDC_70, *Track_dEdxVsP_Pos_CDC_50; TH2F *Track_dEdxVsP_Neg_CDC, *Track_dEdxVsP_Neg_CDC_70, *Track_dEdxVsP_Neg_CDC_50; TH2F *Track_dEdxVsP_Pos_FDC, *Track_dEdxVsP_Pos_FDC_70, *Track_dEdxVsP_Pos_FDC_50; TH2F *Track_dEdxVsP_Neg_FDC, *Track_dEdxVsP_Neg_FDC_70, *Track_dEdxVsP_Neg_FDC_50; TH2F *Track_DeltaTProjected_SCtoTAGM, *Track_DeltaTProjected_SCtoTAGM_Nominal; TH2F *Track_DeltaTProjected_SCtoTAGH, *Track_DeltaTProjected_SCtoTAGH_Nominal; TH2F *Track_BetaVsP_Pos_SCtoTOF, *Track_BetaVsP_Neg_SCtoTOF; TH2F *Track_BetaVsP_Pos_SCtoTOF_ProtonFDC; TH2F *Track_fADC_TimeCorrelation_SCtoTOF; TH1F *Track_DeltaT_SCtoTOF, *Track_DeltaTProjected_SCtoTOF; TH2F *Track_BetaVsP_Pos_SCtoFCAL, *Track_BetaVsP_Neg_SCtoFCAL; TH2F *Track_BetaVsP_Pos_SCtoFCAL_ProtonFDC; TH1F *Track_DeltaT_SCtoFCAL, *Track_DeltaTProjected_SCtoFCAL; TH2F *Track_EvsP_Pos_FCAL, *Track_E2PvsP_Pos_FCAL, *Track_E2PvsTheta_Pos_FCAL; TH2F *Track_EvsP_Neg_FCAL, *Track_E2PvsP_Neg_FCAL, *Track_E2PvsTheta_Neg_FCAL; TH2F *Track_BetaVsP_Pos_SCtoBCAL, *Track_BetaVsP_Neg_SCtoBCAL; TH2F *Track_BetaVsP_Pos_SCtoBCAL_ProtonCDC, *Track_BetaVsP_Pos_SCtoBCAL_ProtonFDC; TH1F *Track_DeltaT_SCtoBCAL, *Track_DeltaTProjected_SCtoBCAL; TH1F *DiPhoton_Mass, *DiPhoton_Mass_PositiveTrack, *DiPhoton_Mass_NegativeTrack; TH1F *DiPhoton_Mass_ProtonCDC, *DiPhoton_Mass_ProtonFDC; TH2F *DiPhoton_Mass_Vs_TrackMult; TH1F *Track_Nproton, *Track_Npiplus, *Track_Npiminus, *Track_Npi0_FCAL, *Track_Npi0_BCAL; TH2F *MMproton_DeltaT_TAGM, *MMproton_DeltaT_TAGH; TH1F *Mass_2pi; TH2F *MM_M2pi_TAGM, *MM_M2pi_TAGH; TH2F *MM_M2k_TAGM, *MM_M2k_TAGH; TH2F *DeltaPz_MM_TAGM, *DeltaPz_MM_TAGH; TH2F *MM2pi_DeltaT_TAGH, *MM2pi_DeltaT_TAGM; TH2F *M2pi_DeltaT_TAGM, *M2pi_DeltaT_TAGH; TH2F *RecoilP_PhiTrack_PhiMissing[2], *RecoilP_DeltaPhi_DeltaTheta[2]; TH2F *RecoilP_dEdxVsP_CDC[2], *RecoilP_dEdxVsP_FDC[2], *RecoilP_BetaVsP_SCtoBCAL[2]; TH2F *DalitzPlot_p2pi, *Exclusive_DalitzPlot_p2pi_TAGM, *Exclusive_DalitzPlot_p2pi_TAGH; TH2F *MM2_p2pi_DeltaT_TAGM, *Exclusive_M2pi_DeltaT_TAGM; TH2F *MM2_p2pi_DeltaT_TAGH, *Exclusive_M2pi_DeltaT_TAGH; TH2F *Exclusive_MM2_M2pi_TAGM, *Exclusive_MM2_M2pi_TAGH; TH1F *DiPhoton_Mass_FCAL, *DiPhoton_Mass_BCAL; TH1F *Pi0_FCAL_Energy, *Pi0_BCAL_Energy; TH2F *DiPhoton_Ncell_Mass_BCAL; TH1F *DiPhoton_Mass_FCAL_3pi, *DiPhoton_Mass_BCAL_3pi; TH1F *Mass_3pi[2]; TH2F *MM_M3pi_TAGM[2], *MM_M3pi_TAGH[2]; TH2F *DeltaT_M3pi_TAGM[2], *DeltaT_M3pi_TAGH[2]; TH2F *DeltaTtrack_M3pi_TAGM[2], *DeltaTtrack_M3pi_TAGH[2]; TH2F *MM2_p3pi_DeltaT_TAGM[2], *M3pi_DeltaT_TAGM[2], *MM2_M3pi_TAGM[2]; TH2F *MM2_p3pi_DeltaT_TAGH[2], *M3pi_DeltaT_TAGH[2], *MM2_M3pi_TAGH[2]; }; #endif // _JEventProcessor_physics_detcom_