/[PAMELA software]/DarthVader/TrackerLevel2/src/F77/cncomp.f
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/F77/cncomp.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by pam-fi, Fri Aug 4 08:18:06 2006 UTC revision 1.8 by pam-fi, Mon Aug 20 16:07:16 2007 UTC
# Line 10  Line 10 
10        subroutine cncomp(i,j,errflag)    !(view, VA1)        subroutine cncomp(i,j,errflag)    !(view, VA1)
11    
12        include 'commontracker.f'        include 'commontracker.f'
13          include 'level1.f'
14        include 'common_reduction.f'        include 'common_reduction.f'
15        include 'calib.f'        include 'calib.f'
16    
# Line 50  c--------------------------------------- Line 51  c---------------------------------------
51                
52        do k=1,nstrips_va1        do k=1,nstrips_va1
53           nstr = nstr + strange(i,j,k) !uses only           nstr = nstr + strange(i,j,k) !uses only
54           if(mod(i,2).eq.1) then !odd strip ---> Y view           if(mod(i,2).eq.1) then ! ---> Y view
55              signal(k) = - (DBLE(adc(i,j,k)) - pedestal(i,j,k)) !negative signal              signal(k) = - (DBLE(adc(i,j,k)) - pedestal(i,j,k)) !negative signal
56           else                   !even strip ---> X view           else                   ! ---> X view
57              signal(k) =    DBLE(adc(i,j,k)) - pedestal(i,j,k) !positive signal              signal(k) =    DBLE(adc(i,j,k)) - pedestal(i,j,k) !positive signal
58           endif           endif
59           smean = smean + signal(k)*strange(i,j,k)           smean = smean + signal(k)*strange(i,j,k)
60           ssigma = ssigma + (signal(k)**2)*strange(i,j,k)           ssigma = ssigma + (signal(k)**2)*strange(i,j,k)
61        enddo        enddo
62                
63        smean=smean/nstr          !strips value distribution mean        smean=smean/nstr          !strips value distribution mean      
         
64        ssigma=SQRT((ssigma/nstr)-smean**2) !strips value distribution sigma        ssigma=SQRT((ssigma/nstr)-smean**2) !strips value distribution sigma
65                
66        cut=scut*ssigma           !exclusion cut        cut=scut*ssigma           !exclusion cut
# Line 146  c--------------------------------------- Line 146  c---------------------------------------
146        subroutine cnoise(i,j,gulp) !(view, VA1)        subroutine cnoise(i,j,gulp) !(view, VA1)
147    
148        include 'commontracker.f'        include 'commontracker.f'
149          include 'level0.f'
150          include 'level1.f'
151        include 'common_reduction.f'        include 'common_reduction.f'
152        include 'calib.f'        include 'calib.f'
153                
# Line 154  c--------------------------------------- Line 156  c---------------------------------------
156                
157        ncn=0                     !number of strips in cn computation        ncn=0                     !number of strips in cn computation
158        cn(i,j)=0                 !initializes cn variable        cn(i,j)=0                 !initializes cn variable
159        cnflag(i,j)=0            !initialize cn flag OK        cnrms(i,j)=0              !initializes cn rms
160          cnn(i,j)=0                !initialize cn flag
161    
162        do k=1,nstrips_va1        !loops on strips        do k=1,nstrips_va1        !loops on strips
163  *        tags strange, bad or signal-affected strips  *        tags strange, bad or signal-affected strips
164           iok = strange(i,j,k)*bad(i,j,k)*clstr(i,j,k)           iok = strange(i,j,k)*bad(i,j,k)*clstr(i,j,k)
165           cn(i,j) = cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok           cn(i,j) = cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok
166             cnrms(i,j) = cnrms(i,j)
167         $        + (DBLE(adc(i,j,k)) - pedestal(i,j,k))
168         $        *(DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok
169           ncn = ncn + iok            !counts number of strips in cn computation           ncn = ncn + iok            !counts number of strips in cn computation
170        enddo        enddo
171                
172        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...
173           if(ncn.eq.0)then           if(ncn.eq.0)then
174              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
175       $        'no strips for CN computation on VA1 ',j,       $        'no strips for CN computation on VA1 ',j,
176       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
177           else           else
178              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
179       $        'less than ',NSTRIPMIN       $        'less than ',NSTRIPMIN
180       $           ,' strips for CN computation on VA1 ',j,       $           ,' strips for CN computation on VA1 ',j,
181       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
182           endif           endif
183           gulp=1           gulp=1
184           cnflag(i,j) = -1           cnn(i,j) = 0
185        else        else
186           cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise           cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise
187           if(ncn.lt.NSTRIPWARNING) then           cnrms(i,j)= SQRT( cnrms(i,j)/DBLE(ncn) - cn(i,j)**2 )
188              if(debug)print*,' WARNING - cnoise: ',           cnn(i,j) = ncn
      $        'less than ',NSTRIPWARNING  
      $           ,' strips for CN computation on VA1 ',j,  
      $        ', VIEW ',i              
             cnflag(i,j) = 1  
          endif  
189           gulp=0                           gulp=0                
190    c$$$         print*,'Event ',eventn(1)
191    c$$$     $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
192            
193             if(debug.eq.1.and.ABS(cn(i,j)).gt.1000)
194         $        print*,'Event ',eventn(1)
195         $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
196        endif        endif
197    
198        return        return
# Line 212  c--------------------------------------- Line 219  c---------------------------------------
219        subroutine cutcn(i,j)     !(view, VA1)        subroutine cutcn(i,j)     !(view, VA1)
220    
221        include 'commontracker.f'        include 'commontracker.f'
222          include 'level1.f'
223        include 'common_reduction.f'        include 'common_reduction.f'
224        include 'calib.f'        include 'calib.f'
225    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23