--- DarthVader/TrackerLevel2/src/F77/functionspfa.f	2007/01/11 10:20:58	1.7
+++ DarthVader/TrackerLevel2/src/F77/functionspfa.f	2007/02/16 14:56:02	1.8
@@ -710,13 +710,13 @@
                mu = mu + 1
             endif
          enddo
-         if(DEDX(ic).le.0)then
-            print*,'cog(0,ic) --> ic, dedx ',ic,DEDX(ic)
+         if(SGNL(ic).le.0)then
+            print*,'cog(0,ic) --> ic, dedx ',ic,SGNL(ic)
             print*,(CLSIGNAL(i)/CLSIGMA(i),i=istart,istop)
             print*,(CLSIGNAL(i),i=istart,istop)
             print*,'cog(0,ic) --> NOT EVALUATED '
          else
-            COG=COG/DEDX(ic)
+            COG=COG/SGNL(ic)
          endif
          
       else
@@ -765,7 +765,8 @@
 *     --> signal of the central strip
          sc = CLSIGNAL(INDMAX(ic)) !center
          fsc = 1
-         if(BAD(VIEW(ic),nvk(MAXS(ic)),nst(MAXS(ic))  ).eq.0)fsc=f
+c         if(BAD(VIEW(ic),nvk(MAXS(ic)),nst(MAXS(ic))  ).eq.0)fsc=f
+         if( CLBAD(INDMAX(ic)).eq.0 )fsc=f
 *     --> signal of adjacent strips
          sl1 = 0                !left 1
          fsl1 = 1               !left 1
@@ -773,7 +774,8 @@
      $        (INDMAX(ic)-1).ge.INDSTART(ic)
      $        )then
             sl1 = CLSIGNAL(INDMAX(ic)-1)
-            if(BAD(VIEW(ic),nvk(MAXS(ic)-1),nst(MAXS(ic)-1)).eq.0)fsl1=f
+c            if(BAD(VIEW(ic),nvk(MAXS(ic)-1),nst(MAXS(ic)-1)).eq.0)fsl1=f
+            if( CLBAD(INDMAX(ic)-1).eq.0)fsl1=f
 c         else
 c            fsl1 = 0
          endif
@@ -784,7 +786,8 @@
      $        (INDMAX(ic)-2).ge.INDSTART(ic)
      $        )then
             sl2 = CLSIGNAL(INDMAX(ic)-2)
-            if(BAD(VIEW(ic),nvk(MAXS(ic)-2),nst(MAXS(ic)-2)).eq.0)fsl2=f
+c            if(BAD(VIEW(ic),nvk(MAXS(ic)-2),nst(MAXS(ic)-2)).eq.0)fsl2=f
+            if(CLBAD(INDMAX(ic)-2).eq.0)fsl2=f
 c         else
 c            fsl2 = 0
          endif
@@ -796,7 +799,8 @@
      $        (ic.eq.NCLSTR1.and.(INDMAX(ic)+1).le.TOTCLLENGTH)
      $        )then
             sr1 = CLSIGNAL(INDMAX(ic)+1)
-            if(BAD(VIEW(ic),nvk(MAXS(ic)+1),nst(MAXS(ic)+1)).eq.0)fsr1=f
+c            if(BAD(VIEW(ic),nvk(MAXS(ic)+1),nst(MAXS(ic)+1)).eq.0)fsr1=f
+            if(CLBAD(INDMAX(ic)+1).eq.0)fsr1=f
 c         else
 c            fsr1 = 0
          endif    
@@ -808,7 +812,8 @@
      $        (ic.eq.NCLSTR1.and.(INDMAX(ic)+2).le.TOTCLLENGTH)
      $        )then
             sr2 = CLSIGNAL(INDMAX(ic)+2)
-            if(BAD(VIEW(ic),nvk(MAXS(ic)+2),nst(MAXS(ic)+2)).eq.0)fsr2=f
+c            if(BAD(VIEW(ic),nvk(MAXS(ic)+2),nst(MAXS(ic)+2)).eq.0)fsr2=f
+            if(CLBAD(INDMAX(ic)+2).eq.0)fsr2=f
 c         else
 c            fsr2 = 0
          endif
@@ -882,7 +887,7 @@
                COG = COG + ipos*CLSIGNAL(i)
             endif
          enddo
-         COG=COG/DEDX(ic)
+         COG=COG/SGNL(ic)
          do i=istart,istop
             ipos=i-INDMAX(ic)
             il=nvk(MAXS(ic)+ipos)