(file) Return to epix_hbook.f CVS log (file) (dir) Up to [HallC] / Replay / kumacs

File: [HallC] / Replay / kumacs / epix_hbook.f (download)
Revision: 1.1.2.1, Tue Aug 12 17:26:19 2003 UTC (21 years, 1 month ago) by cdaq
Branch: online03
Changes since 1.1: +281 -0 lines
e00-108 (mkj)

      REAL FUNCTION epix_hbook(q2_set,w2_set,z_set,Phms)

      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 all_cuts,good_ran

c .............................................................................
      logical rundom_e_pi,rundom_e_pi_delta                
      logical rundom_all_cuts                            

      real Q2_set,W2_set
      real Z_set,dz
      real cpt2_phix,cpt2_phiy

      cpt2_phix=pt2*cos(phi_pq)                               
      cpt2_phiy=pt2*sin(phi_pq)                               

      IF(z_set.gt.0.33.and.z_set.lt.0.40) THEN
         dz=0.06
      else
         IF (z_set.gt.0.41.and.z_set.lt.0.45) THEN
            dz=0.07
         else
            IF(z_set.gt.0.45.and.z_set.lt.0.52) THEN
               dz=0.08
            else
               IF(z_set.gt.0.52.and.z_set.lt.0.60) THEN
                  dz=0.09
               else
                  IF(z_set.gt.0.60.and.z_set.lt.0.68) THEN
                     dz=0.10
                  else
                     IF(z_set.gt.0.68.and.z_set.lt.0.79) THEN
                        dz=0.12
                     else
                        IF(z_set.gt.0.79.and.z_set.lt.0.91) THEN
                           dz=0.14
                        else
                           dz=0.05

                        endif
                     endif
                  endif
               endif
            endif
         endif
      endif

c .............................................................................

      IF(FIRST) THEN
         FIRST=.FALSE.

         CALL HBOOK1(3,'scal E1 track t=sclean',
     ^100,0.0,1.5,0)
         CALL HBOOK1(4,'scal Etot track t=sclean',
     ^100,0.0,2.0,0)
         CALL HBOOK1(5,'scer npe t=sclean',100,0.,15.,0)  
         CALL HBOOK1(6,'sbeta t=sclean',100,0.75,1.25,0)
         CALL HBOOK2(7,'scal x vs Etot t=sclean',
     ^100,0.0,2.0,100,-60.0,60.0,0)        
         CALL HBOOK2(8,'scal y vs Etot t=sclean',
     ^100,0.0,2.0,100,-30.0,30.0,0)        
c..............................................................................
         CALL HBOOK1(13,'hbeta t=hclean',100,0.75,1.25,0)
         CALL HBOOK1(14,'HMS s1xdedx t=hclean',100,0.0,800.,0)
         CALL HBOOK1(15,'HMS TOFmass2 t=hclean',100,-4.,4.0,0)
c..............................................................................
         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)
c..............................................................................
         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 HBOOK1(35,'hcal Etot track t=hclean',
     ^100,0.0,2.0,0)
c..............................................................................
        CALL HBOOK1(41,'omega t=coint e pi delta',100,1.5,5.5,0)   
        CALL HBOOK1(42,'Xbj t=coint e pi delta',100,0.0,1.0,0)     
        CALL HBOOK1(43,'Q2 t=coint e pi delta',100,0.5,5.5,0)   
        CALL HBOOK1(44,'W2 t=coint e pi delta',100,2.5,7.5,0)   

        CALL HBOOK1(45,'Xbj t=all cuts',100,0.0,1.0,0) 
c..............................................................................
        CALL HBOOK1(51,'hsdelta,  t=hclean',100,-20.0,20.0,0)
        CALL HBOOK1(52,'ssdelta,  t=sclean',100,-20.0,20.0,0)
c..............................................................................
c         CALL HBOOK2(60,'HMS beta vs Cointime t=e pi',100,-10.,
c     ^10.,100,0.8,1.2,0)
c         CALL HBOOK2(61,'SOS beta vs Cointime t=e pi',100,-10.,
c     ^10.,100,0.8,1.2,0)
         CALL HBOOK2(60,'HMS beta vs Cointime t=e pi',100,-5.,     ! for 1999
     ^5.,100,0.8,1.2,0)
         CALL HBOOK2(61,'SOS beta vs Cointime t=e pi',100,-5.,     ! for 1999
     ^5.,100,0.8,1.2,0)
         CALL HBOOK1(62,'SOS-HMS path corr(ns) t=e pi',100,-2.0,2.0,0)
         CALL HBOOK2(63,'HMS ztgt vs SOS ztgt t=e pi',100,-8.,8.
     ^,100,-8.,8.0,0)
c..............................................................................
c       CALL HBOOK1(70,'Mm(pi prod) t=coint e pi delta',100,0.0,1.5,0)
c       CALL HBOOK1(71,'Em t=coint e pi delta',100,-0.4,2.4,0)     
       CALL HBOOK1(70,'Mm(pi prod) t=coint e pi delta',100,0.0,3.5,0) 
       CALL HBOOK1(71,'Em t=coint e pi delta',100,-0.4,3.6,0)         
       CALL HBOOK1(72,'Zm t=coint e pi delta',100,0.0,1.0,0)          
       CALL HBOOK1(73,'qabs t=coint e pi delta',100,3.0,5.0,0) 
c..............................................................................
       CALL HBOOK1(81,'Q2 t=rundom all-cuts',100,1.0,4.,0)        
       CALL HBOOK1(82,'W2 t=rundom all-cuts',100,2.5,7.5,0)         
       CALL HBOOK1(83,'Pt2 t=rundom all-cuts',100,0.0,0.2,0)      
       CALL HBOOK1(84,'Cointime t=rundom all-cuts',100,-5.,5.,0)   
c..............................................................................
        CALL HBOOK2(90,'W2 vs Q2 t=coint e pi delta',100,0.5,     
     ^4.5,100,3.0,8.0,0)
        CALL HBOOK1(91,'Q2 t=all cuts',100,1.0,4.,0)
        CALL HBOOK2(92,'W2 vs Q2 t=all cuts',100,0.5,            ! for 1999
     ^4.5,100,3.0,8.0,0)
        CALL HBOOK1(93,'W2 t=all cuts',100,3.0,8.,0)
c..............................................................................
        CALL HBOOK1(101,'t, t=all cuts',100,0,4.0,0)             ! for 1999
        CALL HBOOK1(102,'phipi, t=all cuts',100,0.,6.28,0) 
        CALL HBOOK1(103,'Pt2 t=coint e pi delta',100,0.0,0.2,0)        ! new
        CALL HBOOK1(104,'theta piq, t=all cuts',100,-0.25,0.25,0) 
c..............................................................................
         CALL HBOOK1(105,'Pt2, t=all cuts',100,0.0,0.2,0) 
         CALL HBOOK2(68,'-t vs phipi t=all cuts',40,            ! for 1999
     ^-4.0,4.0,40,-4.0,4.0,0)
         CALL HBOOK2(69,'Pt vs phipi t=all cuts',10,            ! for 1999
     ^-0.1,0.1,10,-0.1,0.1,0)
         CALL HBOOK1(3000,'Cointime t=e pi',100,-5.,5.,0)
c..............................................................................
        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.
c         if(hcer_npe.lt.2.0.and.haero_tot.gt.2.)
         if(hcer_npe.lt.2.0.and.hsshtrk.lt.0.7)                     ! for 1999
     ^ good_pion1 = .true.
         good_pion = .false.

         if(good_pion1.and.abs(hsmass2).lt.1.0.and.W2.gt.1.5) 
     ^ good_pion= .true.
 
         coint_e_pi = .false.
      if(abs(cointime-61).lt.2.5.and.good_pion.and.good_electron)
     ^ coint_e_pi=.true.
c 
         rundom_e_pi = .false.                                         
      if(abs(cointime-71).lt.2.5.and.good_pion.and.good_electron)     
         rundom_e_pi = .true.                                          
c                                                                           
         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.  
c 
       rundom_e_pi_delta = .false. !
      if(rundom_e_pi.and.abs(hsdelta).lt.8.5.and.abs(ssdelta).lt.15.)  
     ^rundom_e_pi_delta= .true.                                         
c                                                                       
          all_cuts = .false.
      if(coint_e_pi_delta.and.abs(W2-w2_set).lt.0.5.and.
     ^abs(Q2-q2_set).lt.0.3.and.abs(Zm-Z_set).lt.dz)
     ^all_cuts=.true.    
c 
          rundom_all_cuts = .false.                                 

      if(rundom_e_pi_delta.and.abs(W2-w2_set).lt.0.5.and.
     ^ abs(Q2-q2_set).lt.0.3.and.abs(Zm-z_set).lt.dz)
     ^ rundom_all_cuts=.true.                                        
 
c 
      good_ran=.false.
      if(good_pion.and.good_electron.and.abs(hsdelta).lt.8.5.and.
     ^ abs(ssdelta).lt.15.0.and.abs(Q2-q2_set).lt.0.3.and.
     ^abs(W2-w2_set).lt.0.5.and.abs(Zm-z_set).lt.dz) 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)
c..............................................................................
      CALL HFILL(13,hsbeta,0.,1.)
      CALL HFILL(14,hsdedx1,0.,1.)
      CALL HFILL(15,hsmass2,0.,1.)
c..............................................................................
      CALL HFILL(22,haero_po,0.,1.)
      CALL HFILL(23,haero_ne,0.,1.)
      CALL HFILL(25,haero_tot,0.,1.)
c..............................................................................
      CALL HFILL(32,hceradc1,0.,1.)
      CALL HFILL(33,hceradc2,0.,1.)
      CALL HFILL(34,hcer_npe,0.,1.)
      CALL HFILL(35,hsshtrk,0.,1.)
c..............................................................................
      CALL HFILL(51,hsdelta,0.,1.)
      CALL HFILL(52,ssdelta,0.,1.)
c..............................................................................
      if(good_pion.and.good_electron)then
c      CALL HFILL(60, cointime,hsbeta,1.)
c      CALL HFILL(61, cointime,ssbeta,1.)
      CALL HFILL(60, cointime-61,hsbeta,1.)                     ! for 1999
      CALL HFILL(61, cointime-61,ssbeta,1.)                     ! for 1999
      CALL HFILL(62, coinpath,0.,1.)
      CALL HFILL(63,sszbeam,hszbeam,1.)
      endif     
c..............................................................................
      if(coint_e_pi_delta)then
      CALL HFILL(70, missmass,0.,1.)
      CALL HFILL(71, Em,0.,1.)
c      CALL HFILL(72, Eexc,0.,1.)
      CALL HFILL(72, Zm,0.,1.)
      CALL HFILL(73,qabs,0.,1.)
c.............................
      CALL HFILL(41,omega,0.,1.)
      CALL HFILL(42,Xbj,0.,1.)
      CALL HFILL(43,Q2,0.,1.)
      CALL HFILL(44,W2,0.,1.)
      CALL HFILL(90,Q2,W2,1.)

      endif
c..............................................................................
      if(rundom_all_cuts)then 
      CALL HFILL(81, Q2,0.,1.) 
      CALL HFILL(82, W2,0.,1.)   
      CALL HFILL(83, Pt2,0.,1.)
      CALL HFILL(84,cointime-71,0.,1.) 
      endif
c..............................................................................
      if(good_ran) then
c         CALL HFILL(3000,cointime,0.,1.)
         CALL HFILL(3000,cointime-61,0.,1.)                     ! for 1999

      endif

      if(all_cuts)then
      CALL HFILL(91, Q2,0.,1.)
      CALL HFILL(92, Q2,W2,1.)
      CALL HFILL(93, W2,0.,1.)
      CALL HFILL(68,ctphix,ctphiy,1.)
      CALL HFILL(69,cpt2_phix,cpt2_phiy,1.)

      CALL HFILL(101,t,0.,1.)
      CALL HFILL(102,phi_pq,0.,1.)
      CALL HFILL(103,pt2,0.,1.)
      CALL HFILL(104,th_pq,0.,1.)
      CALL HFILL(105,Pt2,0.,1.)

      CALL HFILL(45,Xbj,0.,1.)

      endif

      return
      end










Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0