/[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.14 by pam-fi, Tue Nov 21 14:00:40 2006 UTC revision 1.16 by pam-fi, Thu Nov 30 17:04:27 2006 UTC
# Line 233  c$$$            endif Line 233  c$$$            endif
233  c$$$         enddo  c$$$         enddo
234  c$$$         if(ibest.eq.0)goto 880 !>> no good candidates  c$$$         if(ibest.eq.0)goto 880 !>> no good candidates
235    
236           rchi2best=1000000000.  *     -------------------------------------------------------
237    *     order track-candidates according to:
238    *     1st) decreasing n.points
239    *     2nd) increasing chi**2
240    *     -------------------------------------------------------
241             rchi2best=1000000000.
242           ndofbest=0             !(1)           ndofbest=0             !(1)
243           do i=1,ntracks           do i=1,ntracks
244             if(RCHI2_STORE(i).lt.rchi2best.and.             ndof=0               !(1)
245       $          RCHI2_STORE(i).gt.0)then             do ii=1,nplanes      !(1)
246               ndof=0             !(1)               ndof=ndof          !(1)
247               do ii=1,nplanes    !(1)       $            +int(xgood_store(ii,i)) !(1)
248                 ndof=ndof        !(1)       $            +int(ygood_store(ii,i)) !(1)
249       $              +int(xgood_store(ii,i)) !(1)             enddo                !(1)
250       $              +int(ygood_store(ii,i)) !(1)             if(ndof.gt.ndofbest)then !(1)
251               enddo              !(1)               ibest=i
252               if(ndof.ge.ndofbest)then !(1)               rchi2best=RCHI2_STORE(i)
253                 ndofbest=ndof      !(1)
254               elseif(ndof.eq.ndofbest)then !(1)
255                 if(RCHI2_STORE(i).lt.rchi2best.and.
256         $            RCHI2_STORE(i).gt.0)then
257                 ibest=i                 ibest=i
258                 rchi2best=RCHI2_STORE(i)                 rchi2best=RCHI2_STORE(i)
259                 ndofbest=ndof    !(1)                 ndofbest=ndof    !(1)
260               endif              !(1)               endif              !(1)
261             endif             endif
262           enddo           enddo
263    
264    c$$$         rchi2best=1000000000.
265    c$$$         ndofbest=0             !(1)
266    c$$$         do i=1,ntracks
267    c$$$           if(RCHI2_STORE(i).lt.rchi2best.and.
268    c$$$     $          RCHI2_STORE(i).gt.0)then
269    c$$$             ndof=0             !(1)
270    c$$$             do ii=1,nplanes    !(1)
271    c$$$               ndof=ndof        !(1)
272    c$$$     $              +int(xgood_store(ii,i)) !(1)
273    c$$$     $              +int(ygood_store(ii,i)) !(1)
274    c$$$             enddo              !(1)
275    c$$$             if(ndof.ge.ndofbest)then !(1)
276    c$$$               ibest=i
277    c$$$               rchi2best=RCHI2_STORE(i)
278    c$$$               ndofbest=ndof    !(1)
279    c$$$             endif              !(1)
280    c$$$           endif
281    c$$$         enddo
282    
283           if(ibest.eq.0)goto 880 !>> no good candidates           if(ibest.eq.0)goto 880 !>> no good candidates
284  *-------------------------------------------------------------------------------      *-------------------------------------------------------------------------------    
285  *     The best track candidate (ibest) is selected and a new fitting is performed.  *     The best track candidate (ibest) is selected and a new fitting is performed.
# Line 297  c$$$         if(ibest.eq.0)goto 880 !>> Line 326  c$$$         if(ibest.eq.0)goto 880 !>>
326           iprint=0           iprint=0
327  c         if(DEBUG)iprint=1  c         if(DEBUG)iprint=1
328           if(VERBOSE)iprint=1           if(VERBOSE)iprint=1
329             if(DEBUG)iprint=2
330           call mini2(jstep,ifail,iprint)           call mini2(jstep,ifail,iprint)
331           if(ifail.ne.0) then           if(ifail.ne.0) then
332              if(.true.)then              if(VERBOSE)then
333                 print *,                 print *,
334       $              '*** MINIMIZATION FAILURE *** (after refinement) '       $              '*** MINIMIZATION FAILURE *** (after refinement) '
335       $              ,iev       $              ,iev
# Line 1467  c                  cut = chcut * sch(npl Line 1497  c                  cut = chcut * sch(npl
1497                       goto 20    !charge not consistent                       goto 20    !charge not consistent
1498                    endif                    endif
1499                 endif                 endif
                 
 *     ------------------> COUPLE <------------------  
                ncp_plane(nplx) = ncp_plane(nplx) + 1  
                clx(nplx,ncp_plane(nplx))=icx  
                cly(nply,ncp_plane(nplx))=icy  
                cl_single(icx)=0  
                cl_single(icy)=0  
1500    
1501                 if(ncp_plane(nplx).eq.ncouplemax)then                 if(ncp_plane(nplx).gt.ncouplemax)then
1502                    if(verbose)print*,                    if(verbose)print*,
1503       $                 '** warning ** number of identified '//       $                 '** warning ** number of identified '//
1504       $                 'couples on plane ',nplx,       $                 'couples on plane ',nplx,
# Line 1483  c                  cut = chcut * sch(npl Line 1506  c                  cut = chcut * sch(npl
1506       $                 ,'( ',ncouplemax,' ) --> masked!'       $                 ,'( ',ncouplemax,' ) --> masked!'
1507                    mask_view(nviewx(nplx)) = 2                    mask_view(nviewx(nplx)) = 2
1508                    mask_view(nviewy(nply)) = 2                    mask_view(nviewy(nply)) = 2
1509                      goto 10
1510                 endif                 endif
1511                  
1512    *     ------------------> COUPLE <------------------
1513                   ncp_plane(nplx) = ncp_plane(nplx) + 1
1514                   clx(nplx,ncp_plane(nplx))=icx
1515                   cly(nply,ncp_plane(nplx))=icy
1516                   cl_single(icx)=0
1517                   cl_single(icy)=0
1518  *     ----------------------------------------------  *     ----------------------------------------------
1519    
1520              endif                                            endif                              
# Line 2323  c      real fitz(nplanes)        !z coor Line 2354  c      real fitz(nplanes)        !z coor
2354                 nplused=nplused+ hit_plane(ip)                 nplused=nplused+ hit_plane(ip)
2355              enddo              enddo
2356                            
2357              if(nplused.lt.nplxz_min)goto 888 !next doublet  c            if(nplused.lt.nplxz_min)goto 888 !next doublet
2358                if(nplused.lt.nplyz_min)goto 888 !next doublet
2359              if(ncp_ok.lt.ncpok)goto 888 !next cloud              if(ncp_ok.lt.ncpok)goto 888 !next cloud
2360                            
2361              if(DEBUG)then              if(DEBUG)then
# Line 2456  c$$$                              enddo Line 2488  c$$$                              enddo
2488                                jstep=0 !number of  minimization steps                                jstep=0 !number of  minimization steps
2489                                iprint=0                                iprint=0
2490  c                              if(DEBUG)iprint=1  c                              if(DEBUG)iprint=1
2491                                if(DEBUG)iprint=1                                if(DEBUG)iprint=2
2492                                call mini2(jstep,ifail,iprint)                                call mini2(jstep,ifail,iprint)
2493                                if(ifail.ne.0) then                                if(ifail.ne.0) then
2494                                   if(DEBUG)then                                   if(DEBUG)then

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.23