c*********************************************************** subroutine peout(nplane,istrip) include 'lincaldetsim2.inc' INTEGER i, npe REAL x, ped_level, ped_width, chargeperadc, electroncharge REAL zeros, xmean, xsig, hstati, meanpe(2), diff, gainfactor REAL prob_missed REAL pedestal, extra, chain(12), se(12), amplifier, prob_noise REAL npetot, xmeancorr, xsigcorr, semission_meas, vd(13) REAl total, high_voltage, epsilon, dsebydv, eps,collection real MeV2pe, QE real fraction ! fraction of last stage gain (space charge effect) INTEGER npe3,npe4,n2,n3,n4 INTEGER nzero, nentries, ierr, j, adc, npe2, n, m INTEGER ndynode, nd, npeini DATA ped_level/0./, ped_width/3./, chargeperadc/2.e-15/ DATA electroncharge/1.6e-19/, high_voltage/755.0/ DATA ndynode/12/, epsilon/0.92/, fraction /1./ DATA dsebydv/0.04/, amplifier/1.0/ DATA prob_noise/0.0/, prob_missed/0.0/ data MeV2pe/2.0/ data QE /0.12/ ! quantum efficiency c data chain/3,2,2,1,1,1,1,1,1,1,2,5/ !hamamastu c data chain/3.55,2.2,2.2,1,1,1,1,1,1,1,1,1/ !oxford c data chain/3,1,1,1,1,1,1,1,1,1,1,1/ ! proba data chain/2.4,2.4,2.4,1,1,1,1,1,1,1,1.2,2.4/ ! "texas" total = 0.0 DO i = 1, 12 total = total + chain(i) END DO DO i = 1, ndynode vd(i) = chain(i)/total*high_voltage c se(i) = (0.259*vd(i)**0.7)*eps se(i) = (0.160*vd(i)**0.76)*epsilon c write(*,*)vd(i),se(i) END DO meanpe(1) = Estrip_clear(nplane,istrip)*QE meanpe(2) = Estrip_green(nplane,istrip)*QE c nzero = 0 c nentries = 0 DO icolor=1,2 ! loop over green and clear c... initial photoelectrons from photocathode: meanpe INCLUDES collection c -------------------------------------------------------------- c one stage was missing. corrected 4/02/02 call rnpssn(meanpe(icolor),npeini,ierr) call rnpssn(npeini*se(1),npe2,ierr) call rnpssn(npe2*se(2),npe3,ierr) call rnpssn(npe3*se(3),npe4,ierr) call rnpssn(npe4*se(4),npe5,ierr) call rnpssn(npe5*se(5),npe6,ierr) call rnpssn(npe6*se(6),npe7,ierr) call rnpssn(npe7*se(7),npe8,ierr) call rnpssn(npe8*se(8),npe9,ierr) call rnpssn(npe9*se(9),npe10,ierr) call rnpssn(npe10*se(10),npe11,ierr) call rnpssn(npe11*se(11),npe12,ierr) call rnpssn(fraction*npe12*se(12),npe13,ierr) npetot = npe13 c --------------------------------------------------------- adc = (npetot*electroncharge/chargeperadc)*amplifier c gainfactor = (electroncharge/chargeperadc)*amplifier call norran(x) extra = x*ped_width pedestal = ped_level+extra c Emip(nplane,istrip) = 0.5*real(adc)/17.137823 adc = (adc+pedestal) if (icolor.eq.1) then n_tuple(3) = adc c indhist_cl = nplane*100+istrip c call hf1(indhist_cl,float(adc),1.0) else n_tuple(4) = adc c indhist_gr = nplane*10000+istrip c call hf1(indhist_gr,float(adc),1.0) endif c call hfill(istrip+500,float(adc)-ped_level,0.0,1.0) ENDDO n_tuple(1) = nplane n_tuple(2) = istrip n_tuple(5) = ievent call HFN(2000,n_tuple) RETURN END c************************************************************