*********************************************************** * subroutine prthit95(run,prtdata,prt1ene,prt2ene,ierr) * * returns: mean 'energy' values for the 7 PRT counter * pairs which have a coincidence signal and * good timing for at least on counter. * * comment: in 1995 the PRT was only partly operational. * PRT1: runs before 13551: not MIP sensitive * runs 13551 - 13915 * runs 13949 - 14396 (higher gain) * * PRT2: all runs, but channels 1 and 2 only!! * * cuts according to * http://www-zeus.desy.de/~desler/PRT95.html * * author: K.Desler * last change: 03/08/98 * *********************************************************** implicit none integer run,ierr,i real prt1ene,prt2ene integer energy integer ishft real prtdata(14,2) real e(10),t(2) data e / c pulse height cuts PRT2, channels 1,2 + 5.0, 2.0, c pulse height cuts PRT1, runs 13551 - 13915 + 1.5, 1.5, 2.0, 2.0, c pulse height cuts PRT1, runs 13949 - 14396 + 4*3.0/ c timing cut data t / -20.0, 10.0/ ierr = 0 prt1ene = 0 prt2ene = 0 if (run.lt.13551) then ierr = 2 else if (run.ge.13551.and.run.le.14396) then ierr = 0 else ierr = 2 endif c PRT2: channels 1, 2 if (prtdata(1,1).gt.e(1).and.prtdata(2,1).gt.e(2).and. + ((prtdata(1,2).gt.t(1).and.prtdata(1,2).lt.t(2)).or. + (prtdata(2,2).gt.t(1).and.prtdata(2,2).lt.t(2)))) then prt2ene = prt2ene + (prtdata(1,1)+prtdata(2,1))/2. endif c PRT1: channel 11 - 14 c runs 13551 - 13915 if (run.ge.13551.and.run.le.13915) then if (prtdata(11,1).gt.e(3).and.prtdata(12,1).gt.e(4).and. + ((prtdata(11,2).gt.t(1).and.prtdata(11,2).lt.t(2)).or. + (prtdata(12,2).gt.t(1).and.prtdata(12,2).lt.t(2)))) then prt1ene = prt1ene + + (prtdata(11,1)+prtdata(12,1))/2. endif if (prtdata(13,1).gt.e(5).and.prtdata(14,1).gt.e(6).and. + ((prtdata(13,2).gt.t(1).and.prtdata(13,2).lt.t(2)).or. + (prtdata(14,2).gt.t(1).and.prtdata(14,2).lt.t(2)))) then prt1ene = prt1ene + + (prtdata(13,1)+prtdata(14,1))/2. endif c runs 13949 - 14396 else if (run.ge.13949.and.run.le.14396) then if (prtdata(11,1).gt.e(7).and.prtdata(12,1).gt.e(8).and. + ((prtdata(11,2).gt.t(1).and.prtdata(11,2).lt.t(2)).or. + (prtdata(12,2).gt.t(1).and.prtdata(12,2).lt.t(2)))) then prt1ene = prt1ene + + (prtdata(11,1)+prtdata(12,1))/2. endif if (prtdata(13,1).gt.e(9).and.prtdata(14,1).gt.e(10).and. + ((prtdata(13,2).gt.t(1).and.prtdata(13,2).lt.t(2)).or. + (prtdata(14,2).gt.t(1).and.prtdata(14,2).lt.t(2)))) then prt1ene = prt1ene + + (prtdata(13,1)+prtdata(14,1))/2. endif endif return end