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

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

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

revision 1.5 by pam-fi, Tue Sep 5 12:52:21 2006 UTC revision 1.9 by pam-fi, Mon Oct 16 12:36:52 2006 UTC
# Line 18  Line 18 
18        include 'common_reduction.f'        include 'common_reduction.f'
19        include 'calib.f'        include 'calib.f'
20                
21          data eventn_old/nviews*0/
22    
23        integer ierror        integer ierror
24        ierror = 0        ierror = 0
25    
# Line 28  Line 30 
30  c      call stripmask   !called later, after CN computation  c      call stripmask   !called later, after CN computation
31        call init_level1        call init_level1
32    
33        good1 = good0  c      good1 = good0
34    c--------------------------------------------------
35    c     check the LEVEL0 event status for missing
36    c     sections or DSP alarms
37    c     ==> set the variable GOOD1(12)
38    c--------------------------------------------------
39          do iv=1,nviews
40             if(DSPnumber(iv).gt.0.and.DSPnumber(iv).le.12)then
41    c           ------------------------
42    c           GOOD
43    c           ------------------------
44                GOOD1(DSPnumber(iv))=0 !OK
45    c           ------------------------
46    c           CRC error
47    c           ------------------------
48                if(crc(iv).eq.1) then
49                   GOOD1(DSPnumber(iv)) = 2
50                   goto 18 !next view
51                endif
52    c           ------------------------
53    c           online-software alarm
54    c           ------------------------
55                if(
56         $           fl1(iv).ne.0.or.
57         $           fl2(iv).ne.0.or.
58         $           fl3(iv).ne.0.or.
59         $           fl4(iv).ne.0.or.
60         $           fl5(iv).ne.0.or.
61         $           fl6(iv).ne.0.or.
62         $           fc(iv).ne.0.or.
63         $           DATAlength(iv).eq.0.or.
64         $           .false.)then
65                   GOOD1(DSPnumber(iv))=3
66                   goto 18
67                endif
68    c           ------------------------
69    c           DSP-counter jump
70    c           ------------------------
71                if(
72         $           eventn_old(iv).ne.0.and. !first event in this file
73         $           eventn(iv).ne.1.and.     !first event in run
74         $           good_old(DSPnumber(iv)).ne.0.and. !previous event corrupted
75         $           .true.)then
76    
77                   if(eventn(iv).ne.(eventn_old(iv)+1))then
78                      GOOD1(DSPnumber(iv))=4
79                      goto 18
80                   endif
81    
82                endif
83    c           ------------------------
84     18         continue
85             endif
86          enddo
87    
88          ngood = 0
89          do iv = 1,nviews
90             eventn_old(iv) = eventn(iv)
91             good_old(iv)   = good1(iv)
92             ngood = ngood + good1(iv)
93          enddo
94    c      if(ngood.ne.0)print*,'* WARNING * LEVEL0 event status: '
95    c     $     ,(good1(i),i=1,nviews)
96  c--------------------------------------------------  c--------------------------------------------------
97  c     read the variable DATATRACKER from LEVEL0  c     read the variable DATATRACKER from LEVEL0
98  c     and fill the variable ADC (inverting view 11)  c     and fill the variable ADC (invertin view 11)
99  c--------------------------------------------------  c--------------------------------------------------
100        call filladc(iflag)        call filladc(iflag)
101        if(iflag.ne.0)then        if(iflag.ne.0)then
102          good1=0  c        good1=0!<<<<<<<<<<<<<<<
103  c       if(DEBUG)print*,'event ',eventn(1),' >>>>>  decode ERROR'  c       if(DEBUG)print*,'event ',eventn(1),' >>>>>  decode ERROR'
104              ierror = 220           ierror = 220
105          goto 200  c        goto 200
106    c         print*,'filladc error'
107        endif        endif
108    
109  c--------------------------------------------------  c--------------------------------------------------
# Line 47  c     (excluding strips affected by sign Line 112  c     (excluding strips affected by sign
112  c     tagged with the flag CLSTR)  c     tagged with the flag CLSTR)
113  c--------------------------------------------------  c--------------------------------------------------
114        do iv=1,nviews        do iv=1,nviews
115          do ik=1,nva1_view           ima=0
116            cn(iv,ik)  = 0           do ik=1,nva1_view
117            cnn(iv,ik) = -1              cn(iv,ik)  = 0
118            mask_vk_ev(iv,ik)=1              cnn(iv,ik) = -1
119            iflag=0              mask_vk_ev(iv,ik)=1
120            if(mask_vk(iv,ik).eq.1)call cncomp(iv,ik,iflag)              iflag=0
121  c          if(iflag.ne.0)good1=0              if(mask_vk(iv,ik).eq.1)call cncomp(iv,ik,iflag)
122            if(iflag.ne.0)then  c     if(iflag.ne.0)good1=0
123               mask_vk_ev(iv,ik)=0              if(iflag.ne.0)then
124               ierror = 220                 ima=ima+1
125            endif                 mask_vk_ev(iv,ik)=0
126          enddo                 ierror = 220
127    c$$$               if(verbose)
128    c$$$     $              print*,' * WARNING * Event ',eventn(1)
129    c$$$     $              ,': masked vk ',ik,' on view',iv
130                endif
131             enddo
132     100     format(' * WARNING * Event ',i7,' view',i3,': VK MASK ',24i1)
133    c         if(ima.ne.0.and.verbose)print*,' * WARNING * Event ',eventn(1)
134    c     $              ,' view',iv,': VK MASK '
135    c     $        ,(mask_vk_ev(iv,ik),ik=1,nva1_view)
136             if(ima.ne.0.and.verbose)write(*,100)eventn(1),iv
137         $        ,(mask_vk_ev(iv,ik),ik=1,nva1_view)
138        enddo        enddo
139  c      if(good1.eq.0)then  c      if(good1.eq.0)then
140  c         ierror = 220  c         ierror = 220
# Line 115  ccc Line 191  ccc
191             call save_cluster(iv)             call save_cluster(iv)
192          else          else
193             fshower(iv) = 1             fshower(iv) = 1
194               GOOD1(DSPn) = 11
195          endif          endif
196        enddo                     ! end loop on views        enddo                     ! end loop on views
197        do iv=1,nviews        do iv=1,nviews
# Line 129  C     come here if GOOD1=0 Line 206  C     come here if GOOD1=0
206  C     or the event has too many clusters  C     or the event has too many clusters
207  C---------------------------------------------  C---------------------------------------------
208   200  continue   200  continue
209    
210          ngood = 0
211          do iv = 1,nviews
212             ngood = ngood + good1(iv)
213          enddo
214          if(ngood.ne.0)print*,'* WARNING * Event ',eventn(1)
215         $     ,':LEVEL1 event status: '
216         $     ,(good1(i),i=1,nviews)
217  c------------------------------------------------------------------------  c------------------------------------------------------------------------
218  c  c
219  c     closes files and exits  c     closes files and exits
# Line 156  c--------------------------------------- Line 241  c---------------------------------------
241        include 'level1.f'        include 'level1.f'
242        include 'level0.f'        include 'level0.f'
243    
244        good1 = 0  c      good1 = 0
245          do iv=1,12
246             good1(iv) = 1 !missing packet
247          enddo
248        nclstr1 = 0        nclstr1 = 0
249        totCLlength = 0        totCLlength = 0
250        do ic=1,nclstrmax        do ic=1,nclstrmax
# Line 253  c     X views have 1018 strips instead o Line 341  c     X views have 1018 strips instead o
341              first=first+3              first=first+3
342              last=last-3              last=last-3
343           endif           endif
344    
345           do is=first,last       !loop on strips in each ladder           do is=first,last       !loop on strips in each ladder
346    
347              if(is.le.iseed+1) goto 220              if(is.le.iseed+1) goto 220
348  *******************************************************  *******************************************************
349  *     Elena 08/2006  *     Elena 08/2006
350  * QUESTA PARTE NON E` ADEGUATA per cluster con grossi rilasci di carica  * QUESTA PARTE NON E` ADEGUATA per cluster con grossi rilasci di carica
351  * perche` salva molte volte lo stesso cluster  * perche` salva molte volte lo stesso cluster
352  * (salvo il cluster rispetto al massimo e basta...)  * (salvo il cluster rispetto al primo massimo e basta...)
353  *******************************************************  *******************************************************
354  c$$$c-----------------------------------------  c$$$c-----------------------------------------
355  c$$$c     after a cluster seed as been found,  c$$$c     after a cluster seed as been found,
# Line 300  c$$$     $              /sigma(iv,nvk(it Line 390  c$$$     $              /sigma(iv,nvk(it
390  c$$$                  itemp=itemp+1  c$$$                  itemp=itemp+1
391  c$$$                  if(itemp.eq.last) goto 230 !stops if reaches last strip  c$$$                  if(itemp.eq.last) goto 230 !stops if reaches last strip
392  c$$$               enddo            ! of the ladder  c$$$               enddo            ! of the ladder
393                 do while(value(itemp).le.value(itemp+1))                 do while(
394         $                   value(itemp).le.value(itemp+1)
395         $              .and.value(itemp+1).gt.clseedcut(itemp+1))
396                    itemp=itemp+1                    itemp=itemp+1
397                    if(itemp.eq.last) goto 230 !stops if reaches last strip                    if(itemp.eq.last) goto 230 !stops if reaches last strip
398                 enddo            ! of the ladder                 enddo            ! of the ladder

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

  ViewVC Help
Powered by ViewVC 1.1.23