/[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.7 by pam-fi, Thu May 24 16:45:48 2007 UTC revision 1.10 by mocchiut, Thu Jan 16 15:29:52 2014 UTC
# Line 13  Line 13 
13        include 'level1.f'        include 'level1.f'
14        include 'common_reduction.f'        include 'common_reduction.f'
15        include 'calib.f'        include 'calib.f'
16          
17    
18        integer errflag           !error flag to mark no signal free VA1        integer errflag           !error flag to mark no signal free VA1
19        integer clstr_old(nstrips_va1) !flag storage vector        integer clstr_old(nstrips_va1) !flag storage vector
20        real signal(nstrips_va1)  !"signal" (=adc-ped) value storage vector  c     EM GCC4.7 - trying to avoind implicit conversion from REAL(8) to REAL(4) so use double everywhere in routines and cast to float only when
21        real smean, ssigma        !"signal" mean and sigma  c     variables from common includes are used
22        real cut                  !"strange" strip exclusion cut        real(8) signal(nstrips_va1)  !"signal" (=adc-ped) value storage vector
23          real(8) smean, ssigma        !"signal" mean and sigma
24          real(8) cut                  !"strange" strip exclusion cut
25    c     END EM
26        integer newclstr          !flag to warn about new found clusters to be        integer newclstr          !flag to warn about new found clusters to be
27  c                               ! excluded from common noise computation  c                               ! excluded from common noise computation
28    
# Line 33  c--------------------------------------- Line 37  c---------------------------------------
37           strange(i,j,k)=1       !initializes unusually high or low signal           strange(i,j,k)=1       !initializes unusually high or low signal
38        enddo                     ! affected strips flag        enddo                     ! affected strips flag
39    
40    c------------------------------------------------------------------------
41    c     (september 2007)
42    c     remove from CN computation the first and the last 3 channels of
43    c     each X view, becouse they ar not connected to any strip
44    c------------------------------------------------------------------------
45          if(mod(i,2).eq.0)then
46             if(j.eq.1)then
47                do k=1,3
48                   strange(i,j,k)=0
49                enddo
50             elseif(j.eq.nva1_ladder)then
51                do k=nstrips_va1,nstrips_va1-2,-1
52                   strange(i,j,k)=0
53                enddo
54             endif
55          endif
56    
57        newclstr=1                !flag to warn about new found signal        newclstr=1                !flag to warn about new found signal
58  c                               ! affected strips  c                               ! affected strips
59  c------------------------------------------------------------------------  c------------------------------------------------------------------------
# Line 162  c--------------------------------------- Line 183  c---------------------------------------
183        do k=1,nstrips_va1        !loops on strips        do k=1,nstrips_va1        !loops on strips
184  *        tags strange, bad or signal-affected strips  *        tags strange, bad or signal-affected strips
185           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)
186           cn(i,j) = cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok           cn(i,j) = cn(i,j)  
187           cnrms(i,j) = cnrms(i,j)       $        + REAL((adc(i,j,k)) - pedestal(i,j,k))*REAL(iok) ! EM GCC4.7 CN IS DEFINED AS REAL NOT DOUBLE
188       $        + (DBLE(adc(i,j,k)) - pedestal(i,j,k))           cnrms(i,j) = cnrms(i,j)  !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE
189       $        *(DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok       $        + (REAL(adc(i,j,k)) - pedestal(i,j,k)) !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE
190         $        *(REAL(adc(i,j,k)) - pedestal(i,j,k))*REAL(iok) !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE
191           ncn = ncn + iok            !counts number of strips in cn computation           ncn = ncn + iok            !counts number of strips in cn computation
192        enddo        enddo
193                
194        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...        if(ncn.lt.NSTRIPMIN) then         !no signal free strips on this VA1...
195           if(ncn.eq.0)then           if(ncn.eq.0)then
196              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
197       $        'no strips for CN computation on VA1 ',j,       $        'no strips for CN computation on VA1 ',j,
198       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
199           else           else
200              if(debug)print*,' WARNING - cnoise: ',              if(debug.eq.1)print*,' WARNING - cnoise: ',
201       $        'less than ',NSTRIPMIN       $        'less than ',NSTRIPMIN
202       $           ,' strips for CN computation on VA1 ',j,       $           ,' strips for CN computation on VA1 ',j,
203       $        ', VIEW ',i,'  >>> FAILED '       $        ', VIEW ',i,'  >>> FAILED '
# Line 183  c--------------------------------------- Line 205  c---------------------------------------
205           gulp=1           gulp=1
206           cnn(i,j) = 0           cnn(i,j) = 0
207        else        else
208           cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise           cn(i,j)=cn(i,j)/REAL(ncn) !<<<< computes common noise  EM GCC4.7 CN IS REAL NOT DOUBLE
209           cnrms(i,j)= SQRT( cnrms(i,j)/DBLE(ncn) - cn(i,j)**2 )           cnrms(i,j)= SQRT( cnrms(i,j)/REAL(ncn) - cn(i,j)**2 ) ! EM GCC4.7 CN IS REAL NOT DOUBLE
210           cnn(i,j) = ncn           cnn(i,j) = ncn
211           gulp=0                           gulp=0                
212  c$$$         print*,'Event ',eventn(1)  c$$$         print*,'Event ',eventn(1)
213  c$$$     $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn  c$$$     $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
214                    
215           if(debug.and.ABS(cn(i,j)).gt.1000)           if(debug.eq.1.and.ABS(cn(i,j)).gt.1000)
216       $        print*,'Event ',eventn(1)       $        print*,'Event ',eventn(1)
217       $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn       $        ,': cn(',i,',',j,')= ',cn(i,j),' ncn ',ncn
218        endif        endif
# Line 231  c$$$     $        ,': cn(',i,',',j,')= ' Line 253  c$$$     $        ,': cn(',i,',',j,')= '
253                                  ! seed                                  ! seed
254        integer ir, il            !flags to exit loop on reaching VA1 extremes        integer ir, il            !flags to exit loop on reaching VA1 extremes
255    
256        real valuec                !cluster seed signal        real(8) valuec                !cluster seed signal   EM GCC4.7
257        real cut,stripcut         !cluster seed cut        real cut,stripcut         !cluster seed cut
258    
259        real valuel, valuer       !left and right strips signal        real(8) valuel, valuer       !left and right strips signal   EM GCC4.7
260        real stripcnincut         !strip include cut        real stripcnincut         !strip include cut
261    
262        skip = 0                  !initializes skip        skip = 0                  !initializes skip

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.23