#include "veto_psim.h" TFile *ROOTfile; // histograms TH1F *Npart; TH1F *MCtype; TH1F *MCstate; TH1F *MCe; TH1F *MCpx, *MCpy, *MCpz; TH1F *pi0Mass, *pi0Mom; TH2F *hit_xy[2]; char OUTPUT_FILENAME[256]=""; error_t hist_book(int RunNumber, Banks_t *banks) { int i; char hname[100]; char htitle[100]; // open ROOT file if(strlen(OUTPUT_FILENAME) == 0) sprintf(OUTPUT_FILENAME,"veto_psim%05d.root",RunNumber); fprintf(stderr, "Output file name is: %s\n", OUTPUT_FILENAME); ROOTfile = new TFile(OUTPUT_FILENAME,"RECREATE","Produced by PrimEx coda2root"); // Create directory structure TDirectory *veto_psim = ROOTfile->mkdir("veto_psim"); //---------- Book Histograms ---------- // tagger histograms veto_psim->cd(); sprintf(hname,"Npart"); sprintf(htitle,"Number of Particles"); Npart = new TH1F(hname,htitle,11 ,-0.5 ,10.5); sprintf(hname,"MCstate"); sprintf(htitle,"MCPART state"); MCstate = new TH1F(hname,htitle,11 ,-0.5 ,10.5); sprintf(hname,"MCtype"); sprintf(htitle,"MCPART type"); MCtype = new TH1F(hname,htitle,16 ,-0.5 ,15.5); sprintf(hname,"MCe"); sprintf(htitle,"MCPART Particle Energy"); MCe = new TH1F(hname,htitle,200 ,0.0 ,6.0); sprintf(hname,"MCpx"); sprintf(htitle,"MCPART Particle Px"); MCpx = new TH1F(hname,htitle,400 ,-6.0 ,6.0); sprintf(hname,"MCpy"); sprintf(htitle,"MCPART Particle Py"); MCpy = new TH1F(hname,htitle,400 ,-6.0 ,6.0); sprintf(hname,"MCpz"); sprintf(htitle,"MCPART Particle Pz"); MCpz = new TH1F(hname,htitle,200 ,0.0 ,6.0); for(i=0;i<2;i++){ sprintf(hname,"hit_xy%i",i); sprintf(htitle,"Photon x vs y, Case %i",i); hit_xy[i] = new TH2F(hname,htitle,400 ,-200.0 ,200.0,400 ,-200.0 ,200.0); } sprintf(hname,"pi0Mass"); sprintf(htitle,"#pi^{0} Mass"); pi0Mass = new TH1F(hname,htitle,200 ,0.0 ,0.5); sprintf(hname,"pi0Mom"); sprintf(htitle,"#pi^{0} Momentum"); pi0Mom = new TH1F(hname,htitle,200 ,0.0 ,6.0); return NOERROR; }