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

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

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

revision 1.39 by pam-fi, Mon Jan 26 14:01:41 2009 UTC revision 1.41 by mocchiut, Tue Aug 11 12:58:24 2009 UTC
# Line 271  c      include 'momanhough_init.f' Line 271  c      include 'momanhough_init.f'
271  *-------------------------------------------------------------------------------  *-------------------------------------------------------------------------------
272  ccc         ntrk=0                 !counter of identified physical tracks  ccc         ntrk=0                 !counter of identified physical tracks
273    
274  11111    continue               !<<<<<<< come here when performing a new search  c11111    continue               !<<<<<<< come here when performing a new search
275             continue                  !<<<<<<< come here when performing a new search
276    
277           if(nclouds_xz.eq.0)goto 880 !go to next event               if(nclouds_xz.eq.0)goto 880 !go to next event    
278           if(nclouds_yz.eq.0)goto 880 !go to next event               if(nclouds_yz.eq.0)goto 880 !go to next event    
# Line 302  c$$$         if(ibest.eq.0)goto 880 !>> Line 303  c$$$         if(ibest.eq.0)goto 880 !>>
303  *     1st) decreasing n.points  *     1st) decreasing n.points
304  *     2nd) increasing chi**2  *     2nd) increasing chi**2
305  *     -------------------------------------------------------  *     -------------------------------------------------------
306           rchi2best=1000000000.           rchi2best=1000000000.
307           ndofbest=0                       ndofbest=0            
308           do i=1,ntracks           do i=1,ntracks
309             ndof=0                           ndof=0              
# Line 705  c         resxPAM = RESXAV Line 706  c         resxPAM = RESXAV
706           stripx  = stripx + corr           stripx  = stripx + corr
707           resxPAM = res           resxPAM = res
708    
709   10   endif   10   continue
710          endif
711            
712  *     -----------------  *     -----------------
713  *     CLUSTER Y  *     CLUSTER Y
# Line 751  c         resyPAM = RESYAV Line 753  c         resyPAM = RESYAV
753           stripy  = stripy + corr           stripy  = stripy + corr
754           resyPAM = res           resyPAM = res
755    
756   20   endif   20   continue
757          endif
758    
759    
760  c===========================================================  c===========================================================
# Line 1581  c      include 'level1.f' Line 1584  c      include 'level1.f'
1584        integer iflag        integer iflag
1585    
1586        integer badseed,badclx,badcly        integer badseed,badclx,badcly
1587        
1588          iflag = iflag
1589        if(DEBUG.EQ.1)print*,'cl_to_couples:'        if(DEBUG.EQ.1)print*,'cl_to_couples:'
1590    
1591  cc      if(RECOVER_SINGLETS.and..not.SECOND_SEARCH)goto 80  cc      if(RECOVER_SINGLETS.and..not.SECOND_SEARCH)goto 80
# Line 1767  c                  cut = chcut * sch(npl Line 1771  c                  cut = chcut * sch(npl
1771       $                 ,'( ',ncouplemax,' ) --> masked!'       $                 ,'( ',ncouplemax,' ) --> masked!'
1772  c                  mask_view(nviewx(nplx)) = 2  c                  mask_view(nviewx(nplx)) = 2
1773  c                  mask_view(nviewy(nply)) = 2  c                  mask_view(nviewy(nply)) = 2
1774                    mask_view(nviewx(nplx))= mask_view(nviewx(nplx))+ 2**1                   mask_view(nviewx(nplx))= mask_view(nviewx(nplx))+ 2**1
1775                    mask_view(nviewy(nply))= mask_view(nviewy(nply))+ 2**1                   mask_view(nviewy(nply))= mask_view(nviewy(nply))+ 2**1
1776                    goto 10                    goto 10
1777                 endif                 endif
1778                                
# Line 1796  c                  mask_view(nviewy(nply Line 1800  c                  mask_view(nviewy(nply
1800           endif           endif
1801        enddo        enddo
1802    
1803   80   continue  c 80   continue
1804          continue
1805                
1806                
1807        if(DEBUG.EQ.1)then        if(DEBUG.EQ.1)then
# Line 2124  cc                                 if(if Line 2129  cc                                 if(if
2129                                         SZX=SZX+ZP(I)*XX                                         SZX=SZX+ZP(I)*XX
2130                                         SSX=SSX+XX                                         SSX=SSX+XX
2131                                         SZ=SZ+ZP(I)                                         SZ=SZ+ZP(I)
2132                                         S1=S1+1.                                                                             S1=S1+1.
2133                                      ENDDO                                      ENDDO
2134                                      DET=SZZ*S1-SZ*SZ                                      DET=SZZ*S1-SZ*SZ
2135                                      AX=(SZX*S1-SZ*SSX)/DET                                      AX=(SZX*S1-SZ*SSX)/DET
# Line 2210  c$$$                                prin Line 2215  c$$$                                prin
2215                       enddo      !end loop on planes  - COPPIA 3                       enddo      !end loop on planes  - COPPIA 3
2216    
2217   31                  continue                       31                  continue                    
2218   1                enddo         !end loop on COPPIA 2  c 1                enddo         !end loop on COPPIA 2
2219                     enddo         !end loop on COPPIA 2
2220                 enddo            !end loop on sensors - COPPIA 2                 enddo            !end loop on sensors - COPPIA 2
2221   20            continue   20            continue
2222              enddo               !end loop on planes  - COPPIA 2              enddo               !end loop on planes  - COPPIA 2
2223    
2224   11         continue  c 11         continue
2225              continue
2226           enddo                  !end loop on COPPIA1           enddo                  !end loop on COPPIA1
2227        enddo                     !end loop on sensors - COPPIA 1        enddo                     !end loop on sensors - COPPIA 1
2228   10   continue   10   continue
# Line 2322  ccccc if(db_used(idbref).eq.1)goto 1188 Line 2329  ccccc if(db_used(idbref).eq.1)goto 1188
2329  *     doublet distance in parameter space  *     doublet distance in parameter space
2330                 distance=                 distance=
2331       $              ((alfayz1(idbref)-alfayz1(idb2))/Dalfayz1)**2       $              ((alfayz1(idbref)-alfayz1(idb2))/Dalfayz1)**2
2332       $              +((alfayz2(idbref)-alfayz2(idb2))/Dalfayz2)**2                     $              +((alfayz2(idbref)-alfayz2(idb2))/Dalfayz2)**2
2333                 distance = sqrt(distance)                 distance = sqrt(distance)
2334                                
2335                 if(distance.lt.cutdistyz)then                 if(distance.lt.cutdistyz)then
# Line 2347  ccccc if(db_used(idbref).eq.1)goto 1188 Line 2354  ccccc if(db_used(idbref).eq.1)goto 1188
2354   1118          continue   1118          continue
2355              enddo               !end loop (2) on DOUBLETS              enddo               !end loop (2) on DOUBLETS
2356                            
2357   1188       continue  c 1188       continue
2358                continue
2359           enddo                  !end loop on... bo?           enddo                  !end loop on... bo?
2360                    
2361           nptloop=npv           nptloop=npv
# Line 2535  c         tr_temp(1)=itr1 Line 2543  c         tr_temp(1)=itr1
2543  *     solo i due parametri spaziali per il momemnto  *     solo i due parametri spaziali per il momemnto
2544                 distance=                 distance=
2545       $              ((alfaxz1(itrref)-alfaxz1(itr2))/Dalfaxz1)**2       $              ((alfaxz1(itrref)-alfaxz1(itr2))/Dalfaxz1)**2
2546       $              +((alfaxz2(itrref)-alfaxz2(itr2))/Dalfaxz2)**2                     $              +((alfaxz2(itrref)-alfaxz2(itr2))/Dalfaxz2)**2
2547                 distance = sqrt(distance)                 distance = sqrt(distance)
2548    
2549    
# Line 2574  c         tr_temp(1)=itr1 Line 2582  c         tr_temp(1)=itr1
2582  11188          continue  11188          continue
2583              enddo               !end loop (2) on TRIPLETS              enddo               !end loop (2) on TRIPLETS
2584                                                
2585  11888       continue  c11888       continue
2586                continue
2587           enddo                  !end loop on... bo?               enddo                  !end loop on... bo?    
2588                    
2589           nptloop=npv           nptloop=npv
# Line 2639  c               mask_view(iv) = 6 Line 2648  c               mask_view(iv) = 6
2648           npt_tot=npt_tot+npt           npt_tot=npt_tot+npt
2649                    
2650           if(DEBUG.EQ.1)then           if(DEBUG.EQ.1)then
2651              print*,'>>>> cloud ',nclouds_xz,' --- ',npt,' points'                            print*,'>>>> cloud ',nclouds_xz,' --- ',npt,' points'
2652              print*,'- alfaxz1  ',alfaxz1_av(nclouds_xz)              print*,'- alfaxz1  ',alfaxz1_av(nclouds_xz)
2653              print*,'- alfaxz2  ',alfaxz2_av(nclouds_xz)              print*,'- alfaxz2  ',alfaxz2_av(nclouds_xz)
2654              print*,'- alfaxz3  ',alfaxz3_av(nclouds_xz)              print*,'- alfaxz3  ',alfaxz3_av(nclouds_xz)
# Line 2942  c     $                                 Line 2951  c     $                                
2951                                         xm(nplanes-ip+1)=xPAM                                         xm(nplanes-ip+1)=xPAM
2952                                         ym(nplanes-ip+1)=yPAM                                         ym(nplanes-ip+1)=yPAM
2953                                         zm(nplanes-ip+1)=zPAM                                         zm(nplanes-ip+1)=zPAM
2954                                         resx(nplanes-ip+1)=resxPAM                                                                               resx(nplanes-ip+1)=resxPAM
2955                                         resy(nplanes-ip+1)=resyPAM                                         resy(nplanes-ip+1)=resyPAM
2956                                         if(DEBUG.EQ.1)print*,'(X,Y)'                                         if(DEBUG.EQ.1)print*,'(X,Y)'
2957       $                                      ,nplanes-ip+1,xPAM,yPAM       $                                      ,nplanes-ip+1,xPAM,yPAM
# Line 2953  c     $                                 Line 2962  c     $                                
2962                                         ym_B(nplanes-ip+1) = yPAM_B                                         ym_B(nplanes-ip+1) = yPAM_B
2963                                         zm(nplanes-ip+1)                                         zm(nplanes-ip+1)
2964       $                                      = (zPAM_A+zPAM_B)/2.       $                                      = (zPAM_A+zPAM_B)/2.
2965                                         resx(nplanes-ip+1) = resxPAM                                                                               resx(nplanes-ip+1) = resxPAM
2966                                         resy(nplanes-ip+1) = resyPAM                                         resy(nplanes-ip+1) = resyPAM
2967                                         if(icx.eq.0.and.icy.gt.0)then                                         if(icx.eq.0.and.icy.gt.0)then
2968                                            xgood(nplanes-ip+1)=0.                                            xgood(nplanes-ip+1)=0.
# Line 3040  c                                    mas Line 3049  c                                    mas
3049    
3050                                   XV_STORE(ip,ntracks)=sngl(xv(ip))                                   XV_STORE(ip,ntracks)=sngl(xv(ip))
3051                                   YV_STORE(ip,ntracks)=sngl(yv(ip))                                   YV_STORE(ip,ntracks)=sngl(yv(ip))
3052                                   ZV_STORE(ip,ntracks)=sngl(zv(ip))                                                                       ZV_STORE(ip,ntracks)=sngl(zv(ip))
3053                                   XM_STORE(ip,ntracks)=sngl(xm(ip))                                   XM_STORE(ip,ntracks)=sngl(xm(ip))
3054                                   YM_STORE(ip,ntracks)=sngl(ym(ip))                                   YM_STORE(ip,ntracks)=sngl(ym(ip))
3055                                   ZM_STORE(ip,ntracks)=sngl(zm(ip))                                   ZM_STORE(ip,ntracks)=sngl(zm(ip))
# Line 3884  c           >>> is a couple Line 3893  c           >>> is a couple
3893    
3894                 cl_used(cltrx(ip,ntr)) = 1 !tag used clusters                           cl_used(cltrx(ip,ntr)) = 1 !tag used clusters          
3895    
3896                 xbad(ip,ntr)= nbadstrips(4,clx(nplanes-ip+1,icp_cp(id)))                               xbad(ip,ntr)= nbadstrips(4,clx(nplanes-ip+1,icp_cp(id)))
3897    
3898                 if(nsatstrips(clx(nplanes-ip+1,icp_cp(id))).gt.0)                 if(nsatstrips(clx(nplanes-ip+1,icp_cp(id))).gt.0)
3899       $              dedx_x(ip,ntr)=-dedx_x(ip,ntr)       $              dedx_x(ip,ntr)=-dedx_x(ip,ntr)

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.41

  ViewVC Help
Powered by ViewVC 1.1.23