/[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.9 by pam-fi, Fri Aug 31 14:56:52 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 32  c--------------------------------------- Line 33  c---------------------------------------
33           strange(i,j,k)=1       !initializes unusually high or low signal           strange(i,j,k)=1       !initializes unusually high or low signal
34        enddo                     ! affected strips flag        enddo                     ! affected strips flag
35    
36    c------------------------------------------------------------------------
37    c     (september 2007)
38    c     remove from CN computation the first and the last 3 channels of
39    c     each X view, becouse they ar not connected to any strip
40    c------------------------------------------------------------------------
41          if(mod(i,2).eq.0)then
42             if(j.eq.1)then
43                do k=1,3
44                   strange(i,j,k)=0
45                enddo
46             elseif(j.eq.nva1_ladder)then
47                do k=nstrips_va1,nstrips_va1-2,-1
48                   strange(i,j,k)=0
49                enddo
50             endif
51          endif
52    
53        newclstr=1                !flag to warn about new found signal        newclstr=1                !flag to warn about new found signal
54  c                               ! affected strips  c                               ! affected strips
55  c------------------------------------------------------------------------  c------------------------------------------------------------------------
# Line 50  c--------------------------------------- Line 68  c---------------------------------------
68                
69        do k=1,nstrips_va1        do k=1,nstrips_va1
70           nstr = nstr + strange(i,j,k) !uses only           nstr = nstr + strange(i,j,k) !uses only
71           if(mod(i,2).eq.1) then !odd strip ---> Y view           if(mod(i,2).eq.1) then ! ---> Y view
72              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
73           else                   !even strip ---> X view           else                   ! ---> X view
74              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
75           endif           endif
76           smean = smean + signal(k)*strange(i,j,k)           smean = smean + signal(k)*strange(i,j,k)
77           ssigma = ssigma + (signal(k)**2)*strange(i,j,k)           ssigma = ssigma + (signal(k)**2)*strange(i,j,k)
78        enddo        enddo
79                
80        smean=smean/nstr          !strips value distribution mean        smean=smean/nstr          !strips value distribution mean      
         
81        ssigma=SQRT((ssigma/nstr)-smean**2) !strips value distribution sigma        ssigma=SQRT((ssigma/nstr)-smean**2) !strips value distribution sigma
82                
83        cut=scut*ssigma           !exclusion cut        cut=scut*ssigma           !exclusion cut
# Line 146  c--------------------------------------- Line 163  c---------------------------------------
163        subroutine cnoise(i,j,gulp) !(view, VA1)        subroutine cnoise(i,j,gulp) !(view, VA1)
164    
165        include 'commontracker.f'        include 'commontracker.f'
166          include 'level0.f'
167          include 'level1.f'
168        include 'common_reduction.f'        include 'common_reduction.f'
169        include 'calib.f'        include 'calib.f'
170                
# Line 154  c--------------------------------------- Line 173  c---------------------------------------
173                
174        ncn=0                     !number of strips in cn computation        ncn=0                     !number of strips in cn computation
175        cn(i,j)=0                 !initializes cn variable        cn(i,j)=0                 !initializes cn variable
176        cnflag(i,j)=0            !initialize cn flag OK        cnrms(i,j)=0              !initializes cn rms
177          cnn(i,j)=0                !initialize cn flag
178    
179        do k=1,nstrips_va1        !loops on strips        do k=1,nstrips_va1        !loops on strips
180  *        tags strange, bad or signal-affected strips  *        tags strange, bad or signal-affected strips
181           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)
182           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
183             cnrms(i,j) = cnrms(i,j)
184         $        + (DBLE(adc(i,j,k)) - pedestal(i,j,k))
185         $        *(DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok
186           ncn = ncn + iok            !counts number of strips in cn computation           ncn = ncn + iok            !counts number of strips in cn computation
187        enddo        enddo
188                
189        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...
190           if(ncn.eq.0)then           if(ncn.eq.0)then
191              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
192       $        'no strips for CN computation on VA1 ',j,       $        'no strips for CN computation on VA1 ',j,
193       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
194           else           else
195              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
196       $        'less than ',NSTRIPMIN       $        'less than ',NSTRIPMIN
197       $           ,' strips for CN computation on VA1 ',j,       $           ,' strips for CN computation on VA1 ',j,
198       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
199           endif           endif
200           gulp=1           gulp=1
201           cnflag(i,j) = -1           cnn(i,j) = 0
202        else        else
203           cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise           cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise
204           if(ncn.lt.NSTRIPWARNING) then           cnrms(i,j)= SQRT( cnrms(i,j)/DBLE(ncn) - cn(i,j)**2 )
205              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  
206           gulp=0                           gulp=0                
207    c$$$         print*,'Event ',eventn(1)
208    c$$$     $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
209            
210             if(debug.eq.1.and.ABS(cn(i,j)).gt.1000)
211         $        print*,'Event ',eventn(1)
212         $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
213        endif        endif
214    
215        return        return
# Line 212  c--------------------------------------- Line 236  c---------------------------------------
236        subroutine cutcn(i,j)     !(view, VA1)        subroutine cutcn(i,j)     !(view, VA1)
237    
238        include 'commontracker.f'        include 'commontracker.f'
239          include 'level1.f'
240        include 'common_reduction.f'        include 'common_reduction.f'
241        include 'calib.f'        include 'calib.f'
242    

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

  ViewVC Help
Powered by ViewVC 1.1.23