#ifndef _MyProcessor_ #define _MyProcessor_ #include "JANA/JEventProcessor.h" #include #include #include #include #include "DLorentzVector.h" //#include "Reaction.h" //typedef std::map Classificator; //typedef std::map::iterator ReTy_iter; using namespace jana; class TDatabasePDG; class MyProcessor:public JEventProcessor { public: jerror_t init(void); ///< Called once at program start. jerror_t brun(JEventLoop *eventLoop, int runnumber){return NOERROR;} ///< Called everytime a new run number is detected. jerror_t evnt(JEventLoop *eventLoop, int eventnumber); ///< Called every event. jerror_t erun(void){return NOERROR;} ///< 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. TFile *ROOTfile; //->>>General Histograms TH1F *E_beam; //->>>>>>>General Histograms N_FCAL_PHOTONS>2 TH1F *fcal_time; TH2F *xy_position; TH1F *num_photons; TH1F *num_charged; TH2F *total_energy_vs_elast; //->>>>>>>General Histograms N_FCAL_PHOTONS>2; //E_FCAL_Total>9.0 TH1F *fcal_time_cut; TH1F *num_photons_cut; TH1F *num_charged_cut; TH2F *xy_position_cut; //->>>>Eta->2gamma Histos TH2F *mass_vs_elast_2gamma; TH2F *mass_vs_total_e_2gamma; // no total energy cut for this histo TH1F *theta_eta_2gamma; //mass>0.45&&mass<0.65&&elast>0.89&&elast<1.11 TH2F *mass_vs_elast_2gamma_cut; TH1F *theta_eta_2gamma_cut; //->>>>Eta->3pi0 Histos TH2F *mass_vs_elast_6gamma; TH2F *mass_vs_total_e_6gamma; //no total energy cut for this histo TH1F *theta_eta_6gamma; //mass>0.45&&mass<0.65&&elast>0.89&&elast<1.11 TH2F *mass_vs_elast_6gamma_cut; TH1F *theta_eta_6gamma_cut; TH1F *theta_eta_single; TTree* tree_2gamma; TTree* tree_6gamma; TTree* tree_elast; int ev_num; typedef struct{ float elast; float err; float E1; float E2; float E1err; float E2err; float theta; float theta1; float theta2; }elast_t; elast_t elast; double FCALerror(double E); private: std::vector pions; std::vector status; //Classificator fReactionClassificator; //ReTy_iter fReClassificatorIter; void center_axis(TH1* hist); void center_axis(TH2* hist); void center_axis(TH1* hist, TDirectory* dir); void center_axis(TH2* hist, TDirectory* dir); TDatabasePDG *fPDGdatabase; }; #endif /* TH1F *pi0_mass_FCAL; */ /* TH1F *pi0_mass_BCAL; */ /* TH1F* *pi0_mass_mixed; */ /* TH1F *pi0_mass_not_tag; */