// $Id$ // // File: JEventProcessor_check_mcsmear.cc // Created: Fri May 13 11:39:32 EDT 2011 // Creator: davidl (on Darwin eleanor.jlab.org 10.7.0 i386) // #include using namespace std; #include "JEventProcessor_check_mcsmear.h" using namespace jana; #include #include // Routine used to create our JEventProcessor #include extern "C"{ void InitPlugin(JApplication *app){ InitJANAPlugin(app); app->AddProcessor(new JEventProcessor_check_mcsmear()); } } // "C" //------------------ // JEventProcessor_check_mcsmear (Constructor) //------------------ JEventProcessor_check_mcsmear::JEventProcessor_check_mcsmear() { } //------------------ // ~JEventProcessor_check_mcsmear (Destructor) //------------------ JEventProcessor_check_mcsmear::~JEventProcessor_check_mcsmear() { } //------------------ // init //------------------ jerror_t JEventProcessor_check_mcsmear::init(void) { E_SiPMUp = new TH1D("E_SiPMUp", "", 50000, 0.0, 1000.0); E_SiPMUp->SetXTitle("Attenuated Energy (MeV)"); E_SiPMDown = (TH1D*)E_SiPMUp->Clone("E_SiPMDown"); t_SiPMUp = new TH1D("t_SiPMUp", "", 5000, -100.0, 100.0); t_SiPMUp->SetXTitle("Time (ns)"); t_SiPMDown = (TH1D*)t_SiPMUp->Clone("t_SiPMDown"); module_SiPM = new TH1D("module_SiPM", "", 48, 0.5, 48.5); layer_SiPM = new TH1D("layer_SiPM", "", 10, 0.5, 10.5); sector_SiPM = new TH1D("sector_SiPM", "", 4, 0.5, 4.5); E_fADCUp = new TH1D("E_fADCUp", "", 50000, 0.0, 1000.0); E_fADCUp->SetXTitle("Attenuated Energy (MeV)"); E_fADCDown = (TH1D*)E_fADCUp->Clone("E_fADCDown"); t_fADCUp = new TH1D("t_fADCUp", "", 5000, -100.0, 100.0); t_fADCUp->SetXTitle("Time (ns)"); t_fADCDown = (TH1D*)t_fADCUp->Clone("t_fADCDown"); module_fADC = new TH1D("module_fADC", "", 48, 0.5, 48.5); layer_fADC = new TH1D("layer_fADC", "", 10, 0.5, 10.5); sector_fADC = new TH1D("sector_fADC", "", 4, 0.5, 4.5); return NOERROR; } //------------------ // brun //------------------ jerror_t JEventProcessor_check_mcsmear::brun(JEventLoop *eventLoop, int runnumber) { // This is called whenever the run number changes return NOERROR; } //------------------ // evnt //------------------ jerror_t JEventProcessor_check_mcsmear::evnt(JEventLoop *loop, int eventnumber) { vector bcalhits; vector bcalsipmhits; loop->Get(bcalhits); loop->Get(bcalsipmhits); for(unsigned int i=0; iFill(bcalhit->module); layer_fADC->Fill(bcalhit->layer); sector_fADC->Fill(bcalhit->sector); if(bcalhit->end == DBCALGeometry::kUpstream){ E_fADCUp->Fill(bcalhit->E * 1000.0); t_fADCUp->Fill(bcalhit->t); } if(bcalhit->end == DBCALGeometry::kDownstream){ E_fADCDown->Fill(bcalhit->E * 1000.0); t_fADCDown->Fill(bcalhit->t); } } for(unsigned int i=0; iFill(bcalsipmhit->module); layer_SiPM->Fill(bcalsipmhit->layer); sector_SiPM->Fill(bcalsipmhit->sector); if(bcalsipmhit->end == DBCALGeometry::kUpstream){ E_SiPMUp->Fill(bcalsipmhit->E * 1000.0); t_SiPMUp->Fill(bcalsipmhit->t); } if(bcalsipmhit->end == DBCALGeometry::kDownstream){ E_SiPMDown->Fill(bcalsipmhit->E * 1000.0); t_SiPMDown->Fill(bcalsipmhit->t); } } return NOERROR; } //------------------ // erun //------------------ jerror_t JEventProcessor_check_mcsmear::erun(void) { // This is called whenever the run number changes, before it is // changed to give you a chance to clean up before processing // events from the next run number. return NOERROR; } //------------------ // fini //------------------ jerror_t JEventProcessor_check_mcsmear::fini(void) { // Called before program exit after event processing is finished. return NOERROR; }