--- DarthVader/TrackerLevel2/src/F77/cncomp.f 2006/09/05 12:52:20 1.4 +++ DarthVader/TrackerLevel2/src/F77/cncomp.f 2007/08/31 14:56:52 1.9 @@ -33,6 +33,23 @@ strange(i,j,k)=1 !initializes unusually high or low signal enddo ! affected strips flag +c------------------------------------------------------------------------ +c (september 2007) +c remove from CN computation the first and the last 3 channels of +c each X view, becouse they ar not connected to any strip +c------------------------------------------------------------------------ + if(mod(i,2).eq.0)then + if(j.eq.1)then + do k=1,3 + strange(i,j,k)=0 + enddo + elseif(j.eq.nva1_ladder)then + do k=nstrips_va1,nstrips_va1-2,-1 + strange(i,j,k)=0 + enddo + endif + endif + newclstr=1 !flag to warn about new found signal c ! affected strips c------------------------------------------------------------------------ @@ -51,17 +68,16 @@ do k=1,nstrips_va1 nstr = nstr + strange(i,j,k) !uses only - if(mod(i,2).eq.1) then !odd strip ---> Y view + if(mod(i,2).eq.1) then ! ---> Y view signal(k) = - (DBLE(adc(i,j,k)) - pedestal(i,j,k)) !negative signal - else !even strip ---> X view + else ! ---> X view signal(k) = DBLE(adc(i,j,k)) - pedestal(i,j,k) !positive signal endif smean = smean + signal(k)*strange(i,j,k) ssigma = ssigma + (signal(k)**2)*strange(i,j,k) enddo - smean=smean/nstr !strips value distribution mean - + smean=smean/nstr !strips value distribution mean ssigma=SQRT((ssigma/nstr)-smean**2) !strips value distribution sigma cut=scut*ssigma !exclusion cut @@ -157,22 +173,26 @@ ncn=0 !number of strips in cn computation cn(i,j)=0 !initializes cn variable + cnrms(i,j)=0 !initializes cn rms cnn(i,j)=0 !initialize cn flag do k=1,nstrips_va1 !loops on strips * tags strange, bad or signal-affected strips iok = strange(i,j,k)*bad(i,j,k)*clstr(i,j,k) cn(i,j) = cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok + cnrms(i,j) = cnrms(i,j) + $ + (DBLE(adc(i,j,k)) - pedestal(i,j,k)) + $ *(DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok ncn = ncn + iok !counts number of strips in cn computation enddo if(ncn.lt.NSTRIPMIN) then !no signal free strips on this VA1... if(ncn.eq.0)then - if(debug)print*,' WARNING - cnoise: ', + if(debug.eq.1)print*,' WARNING - cnoise: ', $ 'no strips for CN computation on VA1 ',j, $ ', VIEW ',i,' >>> FAILED ' else - if(debug)print*,' WARNING - cnoise: ', + if(debug.eq.1)print*,' WARNING - cnoise: ', $ 'less than ',NSTRIPMIN $ ,' strips for CN computation on VA1 ',j, $ ', VIEW ',i,' >>> FAILED ' @@ -181,9 +201,13 @@ cnn(i,j) = 0 else cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise + cnrms(i,j)= SQRT( cnrms(i,j)/DBLE(ncn) - cn(i,j)**2 ) cnn(i,j) = ncn gulp=0 - if(verbose.and.ABS(cn(i,j)).gt.1000) +c$$$ print*,'Event ',eventn(1) +c$$$ $ ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn + + if(debug.eq.1.and.ABS(cn(i,j)).gt.1000) $ print*,'Event ',eventn(1) $ ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn endif