REAL FUNCTION coin_hbook() IMPLICIT NONE INCLUDE ? LOGICAL FIRST DATA FIRST /.TRUE./ SAVE FIRST real haero_tot real wlocut,whicut,q2min,thetacm,csum logical good_electron,good_pion logical good_pion1 logical coint_e_pi,coint_e_pi_delta logical mmcut_relax,good_ran c IF(FIRST) THEN FIRST=.FALSE. PRINT *, 'BOOKING HISTOS...' CALL HBOOK1(3,'scal E1 track t=scleantrack', ^100,0.0,1.5,0) CALL HBOOK1(4,'scal Etot track t=scleantrack', ^100,0.0,2.0,0) CALL HBOOK1(5,'scer npe t=scleantrack',100,0.,15.,0) CALL HBOOK1(6,'sbeta t=scleantrack',100,0.5,1.2,0) CALL HBOOK2(7,'scal x vs Etot t=scleantrack', ^100,0.0,2.0,100,-60.0,60.0,0) CALL HBOOK2(8,'scal y vs Etot t=scleantrack', ^100,0.0,2.0,100,-30.0,30.0,0) CALL HBOOK1(13,'hbeta t=hclean',100,-1.,1.5,0) CALL HBOOK1(14,'HMS s1xdedx t=hclean',100,0.0,800.,0) CALL HBOOK1(15,'HMS TOFmass2 t=hclean',100,-1.,4.0,0) CALL HBOOK1(22,'haero-pos-npe-sum t=hclean',100,0.0,40.,0) CALL HBOOK1(23,'haero-neg-npe-sum t=hclean',100,0.0,40.,0) CALL HBOOK1(25,'haero-tot-npe-sum t=hclean',100,0.0,40.,0) CALL HBOOK1(32,'hcer adc bottom t=hcelan',100,0.0,400.,0) CALL HBOOK1(33,'hcer adc top t=hclean',100,0.0,400.,0) CALL HBOOK1(34,'hcer npe sum t=hclean',100,0.0,40.,0) CALL HBOOK2(35,'xcer vs hcer_npe t=hclean',100,0.0,20., ^100,-70.,70.,0) CALL HBOOK2(50,'HMS beta vs Cointime t=e pi',100,-10., ^10.,100,0.8,1.2,0) CALL HBOOK2(51,'SOS beta vs Cointime t=e pi',100,-10., ^10.,100,0.8,1.2,0) CALL HBOOK1(53,'SOS-HMS path corr(ns) t=e pi',100,-2.0,2.0,0) CALL HBOOK2(54,'HMS ztgt vs SOS ztgt t=e pi',100,-8.,8. ^,100,-8.,8.0,0) CALL HBOOK1(62,'Mm(pi prod) t=coint e pi delta',100,0.0,1.5,0) CALL HBOOK1(63,'Em t=coint e pi delta',100,-0.4,2.4,0) CALL HBOOK1(64,'Eexc t=coint e pi delta',100,-0.3,0.3,0) CALL HBOOK1(65,'Q2 t=mmcut relax',100,1.0,4.,0) CALL HBOOK1(66,'W t=mmcut relax',100,1.5,3.,0) CALL HBOOK2(67,'W vs Q2 t=mmcut relax',100,1.4, ^3.5,100,1.9,2.6,0) CALL HBOOK2(68,'-t vs phipi t-mmcut relax',100, ^-0.5,0.5,100,-0.5,0.5,0) CALL HBOOK1(101,'t, t=mmcut relax',100,0,0.8,0) CALL HBOOK1(102,'phipi, t=mmcut relax',100,0.,6.28,0) CALL HBOOK1(2001,'hsdelta t=hclean',100,-20.0,20.0,0) CALL HBOOK1(2002,'ssdelta,t=sclean',100,-20.0,20.0,0) CALL HBOOK1(3000,'Cointime t=e pi',100,-10.,10.,0) ENDIF haero_tot=haero_po+haero_ne good_electron = .false. if(scer_npe.gt.1.0.and.ssshtrk.gt.0.7) ^good_electron = .true. good_pion1 = .false. if(hcer_npe.lt.0.2.and.haero_tot.gt.4.) ^good_pion1 = .true. good_pion = .false. if(good_pion1.and.hsmass2.lt.1.0) good_pion= .true. coint_e_pi = .false. if(abs(cointime).lt.3.5.and.good_pion.and.good_electron) ^coint_e_pi=.true. coint_e_pi_delta = .false. if(coint_e_pi.and.abs(hsdelta).lt.8.5.and.abs(ssdelta).lt.15.) ^coint_e_pi_delta= .true. mmcut_relax = .false. if(coint_e_pi_delta.and.abs(missmass-0.939).lt.0.05) ^mmcut_relax=.true. good_ran=.false. if(good_pion.and.good_electron.and.abs(hsdelta).lt.8.5.and. ^abs(ssdelta).lt.15.0.and.abs(missmass-0.939).lt.0.05) then good_ran=.true. endif CALL HFILL(3,ssprtrk,0.,1.) CALL HFILL(4,ssshtrk,0.,1.) CALL HFILL(5,scer_npe,0.,1.) CALL HFILL(6,ssbeta,0.,1.) CALL HFILL(7,ssshtrk,scal_x,1.0) CALL HFILL(8,ssshtrk,scal_y,1.0) CALL HFILL(13,hsbeta,0.,1.) CALL HFILL(14,hsdedx1,0.,1.) CALL HFILL(15,hsmass2,0.,1.) CALL HFILL(22,haero_po,0.,1.) CALL HFILL(23,haero_ne,0.,1.) CALL HFILL(25,haero_tot,0.,1.) CALL HFILL(32,hceradc1,0.,1.) CALL HFILL(33,hceradc2,0.,1.) CALL HFILL(34,hcer_npe,0.,1.) CALL HFILL(35,hcer_npe,hcersx,1.) CALL HFILL(2001,hsdelta,0.,1.) CALL HFILL(2002,ssdelta,0.,1.) if(good_pion.and.good_electron)then CALL HFILL(50, cointime,hsbeta,1.) CALL HFILL(51, cointime,ssbeta,1.) CALL HFILL(53, coinpath,0.,1.) CALL HFILL(54,sszbeam,hszbeam,1.) endif if(coint_e_pi_delta)then CALL HFILL(62, missmass,0.,1.) CALL HFILL(63, Em,0.,1.) CALL HFILL(64, Eexc,0.,1.) endif if(good_ran) then CALL HFILL(3000,cointime,0.,1.) endif if(mmcut_relax)then CALL HFILL(65, Q2,0.,1.) CALL HFILL(66, W,0.,1.) CALL HFILL(67, Q2,W,1.) CALL HFILL(68,ctphix,ctphiy,1.) CALL HFILL(101,t,0.,1.) c print*, 'phi_pq=',phi_pq CALL HFILL(102,phi_pq,0.,1.) endif coin_hbook = 1. return end