/[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.22 by pam-fi, Wed May 9 07:50:58 2007 UTC revision 1.27 by pam-fi, Fri Aug 17 14:36:05 2007 UTC
# Line 578  c     $        rchi2best.lt.15..and. Line 578  c     $        rchi2best.lt.15..and.
578                
579    
580        parameter (ndivx=30)        parameter (ndivx=30)
581    
582    
583    c$$$      print*,icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy
584                
585        resxPAM = 0        resxPAM = 0
586        resyPAM = 0        resyPAM = 0
# Line 593  c     $        rchi2best.lt.15..and. Line 596  c     $        rchi2best.lt.15..and.
596        zPAM_B = 0.        zPAM_B = 0.
597  c      print*,'## xyz_PAM: ',icx,icy,sensor,PFAx,PFAy,angx,angy  c      print*,'## xyz_PAM: ',icx,icy,sensor,PFAx,PFAy,angx,angy
598    
599          if(sensor.lt.1.or.sensor.gt.2)then
600             print*,'xyz_PAM   ***ERROR*** wrong input '
601             print*,'sensor ',sensor
602             icx=0
603             icy=0
604          endif
605    
606  *     -----------------  *     -----------------
607  *     CLUSTER X  *     CLUSTER X
608  *     -----------------  *     -----------------      
   
609        if(icx.ne.0)then        if(icx.ne.0)then
610    
611           viewx   = VIEW(icx)           viewx   = VIEW(icx)
# Line 604  c      print*,'## xyz_PAM: ',icx,icy,sen Line 613  c      print*,'## xyz_PAM: ',icx,icy,sen
613           nplx    = npl(VIEW(icx))           nplx    = npl(VIEW(icx))
614           resxPAM = RESXAV           resxPAM = RESXAV
615           stripx  = float(MAXS(icx))           stripx  = float(MAXS(icx))
616    
617             if(
618         $        viewx.lt.1.or.        
619         $        viewx.gt.12.or.
620         $        nldx.lt.1.or.
621         $        nldx.gt.3.or.
622         $        stripx.lt.1.or.
623         $        stripx.gt.3072.or.
624         $        .false.)then
625                print*,'xyz_PAM   ***ERROR*** wrong input '
626                print*,'icx ',icx,'view ',viewx,'nld ',nldx,'strip ',stripx
627                icx = 0
628                goto 10
629             endif
630    
631  *        --------------------------  *        --------------------------
632  *        magnetic-field corrections  *        magnetic-field corrections
633  *        --------------------------  *        --------------------------
# Line 664  c$$$         print*,fbad_cog(4,icx) Line 688  c$$$         print*,fbad_cog(4,icx)
688           elseif(PFAx.eq.'ETA2')then           elseif(PFAx.eq.'ETA2')then
689    
690              stripx  = stripx + pfaeta2(icx,angx)                        stripx  = stripx + pfaeta2(icx,angx)          
691              resxPAM = risx_eta2(abs(angx))              resxPAM = risxeta2(abs(angx))
692              resxPAM = resxPAM*fbad_cog(2,icx)              resxPAM = resxPAM*fbad_cog(2,icx)
693              if(DEBUG.and.fbad_cog(2,icx).ne.1)              if(DEBUG.and.fbad_cog(2,icx).ne.1)
694       $           print*,'BAD icx >>> ',viewx,fbad_cog(2,icx)       $           print*,'BAD icx >>> ',viewx,fbad_cog(2,icx)
# Line 672  c$$$         print*,fbad_cog(4,icx) Line 696  c$$$         print*,fbad_cog(4,icx)
696           elseif(PFAx.eq.'ETA3')then                                   elseif(PFAx.eq.'ETA3')then                        
697    
698              stripx  = stripx + pfaeta3(icx,angx)                        stripx  = stripx + pfaeta3(icx,angx)          
699              resxPAM = risx_eta3(abs(angx))                                    resxPAM = risxeta3(abs(angx))                      
700              resxPAM = resxPAM*fbad_cog(3,icx)                            resxPAM = resxPAM*fbad_cog(3,icx)              
701              if(DEBUG.and.fbad_cog(3,icx).ne.1)              c            if(DEBUG.and.fbad_cog(3,icx).ne.1)            
702       $           print*,'BAD icx >>> ',viewx,fbad_cog(3,icx)  c     $           print*,'BAD icx >>> ',viewx,fbad_cog(3,icx)
703    
704           elseif(PFAx.eq.'ETA4')then                                   elseif(PFAx.eq.'ETA4')then                        
705    
706              stripx  = stripx + pfaeta4(icx,angx)                          stripx  = stripx + pfaeta4(icx,angx)            
707              resxPAM = risx_eta4(abs(angx))                                    resxPAM = risxeta4(abs(angx))                      
708              resxPAM = resxPAM*fbad_cog(4,icx)                            resxPAM = resxPAM*fbad_cog(4,icx)              
709              if(DEBUG.and.fbad_cog(4,icx).ne.1)                c            if(DEBUG.and.fbad_cog(4,icx).ne.1)              
710       $           print*,'BAD icx >>> ',viewx,fbad_cog(4,icx)  c     $           print*,'BAD icx >>> ',viewx,fbad_cog(4,icx)
711    
712           elseif(PFAx.eq.'ETA')then             elseif(PFAx.eq.'ETA')then  
713    
714              stripx  = stripx + pfaeta(icx,angx)                          stripx  = stripx + pfaeta(icx,angx)            
715              resxPAM = ris_eta(icx,angx)                      c            resxPAM = riseta(icx,angx)                    
716                resxPAM = riseta(viewx,angx)                    
717              resxPAM = resxPAM*fbad_eta(icx,angx)                          resxPAM = resxPAM*fbad_eta(icx,angx)            
718              if(DEBUG.and.fbad_cog(2,icx).ne.1)                c            if(DEBUG.and.fbad_cog(2,icx).ne.1)              
719       $           print*,'BAD icx >>> ',viewx,fbad_cog(2,icx)  c     $           print*,'BAD icx >>> ',viewx,fbad_cog(2,icx)
720    
721             elseif(PFAx.eq.'ETAL')then  
722    
723                stripx  = stripx + pfaetal(icx,angx)            
724                resxPAM = riseta(viewx,angx)                    
725                resxPAM = resxPAM*fbad_eta(icx,angx)            
726    c            if(DEBUG.and.fbad_cog(2,icx).ne.1)              
727    c     $           print*,'BAD icx >>> ',viewx,fbad_cog(2,icx)
728    
729           elseif(PFAx.eq.'COG')then                     elseif(PFAx.eq.'COG')then          
730    
# Line 715  c$$$            print*,icx,' *** ',cc Line 748  c$$$            print*,icx,' *** ',cc
748  c$$$            print*,icx,' *** ',resxPAM  c$$$            print*,icx,' *** ',resxPAM
749           endif           endif
750    
751        endif   10   endif
752          
753        
754  *     -----------------  *     -----------------
755  *     CLUSTER Y  *     CLUSTER Y
756  *     -----------------  *     -----------------
# Line 729  c$$$            print*,icx,' *** ',resxP Line 763  c$$$            print*,icx,' *** ',resxP
763           resyPAM = RESYAV           resyPAM = RESYAV
764           stripy = float(MAXS(icy))           stripy = float(MAXS(icy))
765    
766             if(
767         $        viewy.lt.1.or.        
768         $        viewy.gt.12.or.
769         $        nldy.lt.1.or.
770         $        nldy.gt.3.or.
771         $        stripy.lt.1.or.
772         $        stripy.gt.3072.or.
773         $        .false.)then
774                print*,'xyz_PAM   ***ERROR*** wrong input '
775                print*,'icy ',icy,'view ',viewy,'nld ',nldy,'strip ',stripy
776                icy = 0
777                goto 20
778             endif
779    
780           if(icx.ne.0.and.(nply.ne.nplx.or.nldy.ne.nldx))then           if(icx.ne.0.and.(nply.ne.nplx.or.nldy.ne.nldx))then
781              if(DEBUG) then              if(DEBUG) then
782                 print*,'xyz_PAM   ***ERROR*** invalid cluster couple!!! '                 print*,'xyz_PAM   ***ERROR*** invalid cluster couple!!! '
# Line 782  c$$$         print*,fbad_cog(4,icy) Line 830  c$$$         print*,fbad_cog(4,icy)
830           elseif(PFAy.eq.'ETA2')then           elseif(PFAy.eq.'ETA2')then
831    
832              stripy  = stripy + pfaeta2(icy,angy)                        stripy  = stripy + pfaeta2(icy,angy)          
833              resyPAM = risy_eta2(abs(angy))                            resyPAM = risyeta2(abs(angy))              
834              resyPAM = resyPAM*fbad_cog(2,icy)              resyPAM = resyPAM*fbad_cog(2,icy)
835              if(DEBUG.and.fbad_cog(2,icy).ne.1)  c            if(DEBUG.and.fbad_cog(2,icy).ne.1)
836       $           print*,'BAD icy >>> ',viewy,fbad_cog(2,icy)  c     $           print*,'BAD icy >>> ',viewy,fbad_cog(2,icy)
837    
838           elseif(PFAy.eq.'ETA3')then                                 elseif(PFAy.eq.'ETA3')then                      
839    
840              stripy  = stripy + pfaeta3(icy,angy)              stripy  = stripy + pfaeta3(icy,angy)
841              resyPAM = resyPAM*fbad_cog(3,icy)                resyPAM = resyPAM*fbad_cog(3,icy)  
842              if(DEBUG.and.fbad_cog(3,icy).ne.1)  c            if(DEBUG.and.fbad_cog(3,icy).ne.1)
843       $           print*,'BAD icy >>> ',viewy,fbad_cog(3,icy)  c     $           print*,'BAD icy >>> ',viewy,fbad_cog(3,icy)
844    
845           elseif(PFAy.eq.'ETA4')then             elseif(PFAy.eq.'ETA4')then  
846    
847              stripy  = stripy + pfaeta4(icy,angy)              stripy  = stripy + pfaeta4(icy,angy)
848              resyPAM = resyPAM*fbad_cog(4,icy)              resyPAM = resyPAM*fbad_cog(4,icy)
849              if(DEBUG.and.fbad_cog(4,icy).ne.1)  c            if(DEBUG.and.fbad_cog(4,icy).ne.1)
850       $           print*,'BAD icy >>> ',viewy,fbad_cog(4,icy)  c     $           print*,'BAD icy >>> ',viewy,fbad_cog(4,icy)
851    
852           elseif(PFAy.eq.'ETA')then           elseif(PFAy.eq.'ETA')then
853    
854              stripy  = stripy + pfaeta(icy,angy)              stripy  = stripy + pfaeta(icy,angy)
855              resyPAM = ris_eta(icy,angy)    c            resyPAM = riseta(icy,angy)  
856                resyPAM = riseta(viewy,angy)  
857              resyPAM = resyPAM*fbad_eta(icy,angy)              resyPAM = resyPAM*fbad_eta(icy,angy)
858              if(DEBUG.and.fbad_cog(2,icy).ne.1)  c            if(DEBUG.and.fbad_cog(2,icy).ne.1)
859       $           print*,'BAD icy >>> ',viewy,fbad_cog(2,icy)  c     $           print*,'BAD icy >>> ',viewy,fbad_cog(2,icy)
860    
861             elseif(PFAy.eq.'ETAL')then
862    
863                stripy  = stripy + pfaetal(icy,angy)
864                resyPAM = riseta(viewy,angy)  
865                resyPAM = resyPAM*fbad_eta(icy,angy)
866    c            if(DEBUG.and.fbad_cog(2,icy).ne.1)
867    c     $           print*,'BAD icy >>> ',viewy,fbad_cog(2,icy)
868    
869           elseif(PFAy.eq.'COG')then           elseif(PFAy.eq.'COG')then
870    
# Line 832  c$$$            print*,icy,' *** ',resyP Line 889  c$$$            print*,icy,' *** ',resyP
889           endif           endif
890    
891    
892        endif   20   endif
893    
894  c      print*,'## stripx,stripy ',stripx,stripy  c$$$      print*,'## stripx,stripy ',stripx,stripy
895    
896  c===========================================================  c===========================================================
897  C     COUPLE  C     COUPLE
# Line 1050  c      print*,'## xPAM_B,yPAM_B,zPAM_B ' Line 1107  c      print*,'## xPAM_B,yPAM_B,zPAM_B '
1107   100  continue   100  continue
1108        end        end
1109    
1110    ************************************************************************
1111    *     Call xyz_PAM subroutine with default PFA and fill the mini2 common.
1112    *     (done to be called from c/c++)
1113    ************************************************************************
1114    
1115          subroutine xyzpam(ip,icx,icy,lad,sensor,ax,ay,bfx,bfy)
1116    
1117          include 'commontracker.f'
1118          include 'level1.f'
1119          include 'common_mini_2.f'
1120          include 'common_xyzPAM.f'
1121          include 'common_mech.f'
1122          include 'calib.f'
1123          
1124    *     flag to chose PFA
1125    c$$$      character*10 PFA
1126    c$$$      common/FINALPFA/PFA
1127    
1128          integer icx,icy           !X-Y cluster ID
1129          integer sensor
1130          character*4 PFAx,PFAy     !PFA to be used
1131          real ax,ay                !X-Y geometric angle
1132          real bfx,bfy              !X-Y b-field components
1133    
1134          ipx=0
1135          ipy=0      
1136          
1137    c$$$      PFAx = 'COG4'!PFA
1138    c$$$      PFAy = 'COG4'!PFA
1139    
1140          if(icx.gt.nclstr1.or.icy.gt.nclstr1)then
1141                print*,'xyzpam: ***WARNING*** clusters ',icx,icy
1142         $           ,' does not exists (nclstr1=',nclstr1,')'
1143                icx = -1*icx
1144                icy = -1*icy
1145                return
1146            
1147          endif
1148          
1149          call idtoc(pfaid,PFAx)
1150          call idtoc(pfaid,PFAy)
1151    
1152    c$$$      call xyz_PAM(icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy)
1153    
1154    c$$$      print*,icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy
1155          
1156          if(icx.ne.0.and.icy.ne.0)then
1157    
1158             ipx=npl(VIEW(icx))
1159             ipy=npl(VIEW(icy))
1160    c$$$         if( (nplanes-ipx+1).ne.ip.or.(nplanes-ipy+1).ne.ip )
1161    c$$$     $        print*,'xyzpam: ***WARNING*** clusters ',icx,icy
1162    c$$$     $        ,' does not belong to the correct plane: ',ip,ipx,ipy
1163            
1164             if( (nplanes-ipx+1).ne.ip )then
1165                print*,'xyzpam: ***WARNING*** cluster ',icx
1166         $           ,' does not belong to plane: ',ip
1167                icx = -1*icx
1168                return
1169             endif
1170             if( (nplanes-ipy+1).ne.ip )then
1171                print*,'xyzpam: ***WARNING*** cluster ',icy
1172         $           ,' does not belong to plane: ',ip
1173                icy = -1*icy
1174                return
1175             endif
1176    
1177             call xyz_PAM(icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy)
1178    
1179             xgood(ip) = 1.
1180             ygood(ip) = 1.
1181             resx(ip)  = resxPAM
1182             resy(ip)  = resyPAM
1183    
1184             xm(ip) = xPAM
1185             ym(ip) = yPAM
1186             zm(ip) = zPAM
1187             xm_A(ip) = 0.
1188             ym_A(ip) = 0.
1189             xm_B(ip) = 0.
1190             ym_B(ip) = 0.
1191    
1192    c         zv(ip) = zPAM
1193    
1194          elseif(icx.eq.0.and.icy.ne.0)then
1195    
1196             ipy=npl(VIEW(icy))
1197    c$$$         if((nplanes-ipy+1).ne.ip)
1198    c$$$     $        print*,'xyzpam: ***WARNING*** clusters ',icx,icy
1199    c$$$     $        ,' does not belong to the correct plane: ',ip,ipx,ipy
1200             if( (nplanes-ipy+1).ne.ip )then
1201                print*,'xyzpam: ***WARNING*** cluster ',icy
1202         $           ,' does not belong to plane: ',ip
1203                icy = -1*icy
1204                return
1205             endif
1206    
1207             call xyz_PAM(icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy)
1208            
1209             xgood(ip) = 0.
1210             ygood(ip) = 1.
1211             resx(ip)  = 1000.
1212             resy(ip)  = resyPAM
1213    
1214             xm(ip) = -100.
1215             ym(ip) = -100.
1216             zm(ip) = (zPAM_A+zPAM_B)/2.
1217             xm_A(ip) = xPAM_A
1218             ym_A(ip) = yPAM_A
1219             xm_B(ip) = xPAM_B
1220             ym_B(ip) = yPAM_B
1221    
1222    c         zv(ip) = (zPAM_A+zPAM_B)/2.
1223            
1224          elseif(icx.ne.0.and.icy.eq.0)then
1225    
1226             ipx=npl(VIEW(icx))
1227    c$$$         if((nplanes-ipx+1).ne.ip)
1228    c$$$     $        print*,'xyzpam: ***WARNING*** clusters ',icx,icy
1229    c$$$     $        ,' does not belong to the correct plane: ',ip,ipx,ipy
1230    
1231             if( (nplanes-ipx+1).ne.ip )then
1232                print*,'xyzpam: ***WARNING*** cluster ',icx
1233         $           ,' does not belong to plane: ',ip
1234                icx = -1*icx
1235                return
1236             endif
1237    
1238             call xyz_PAM(icx,icy,sensor,PFAx,PFAy,ax,ay,bfx,bfy)
1239          
1240             xgood(ip) = 1.
1241             ygood(ip) = 0.
1242             resx(ip)  = resxPAM
1243             resy(ip)  = 1000.
1244    
1245             xm(ip) = -100.
1246             ym(ip) = -100.
1247             zm(ip) = (zPAM_A+zPAM_B)/2.
1248             xm_A(ip) = xPAM_A
1249             ym_A(ip) = yPAM_A
1250             xm_B(ip) = xPAM_B
1251             ym_B(ip) = yPAM_B
1252            
1253    c         zv(ip) = (zPAM_A+zPAM_B)/2.
1254    
1255          else
1256    
1257             il = 2
1258             if(lad.ne.0)il=lad
1259             is = 1
1260             if(sensor.ne.0)is=sensor
1261    c         print*,nplanes-ip+1,il,is
1262    
1263             xgood(ip) = 0.
1264             ygood(ip) = 0.
1265             resx(ip)  = 1000.
1266             resy(ip)  = 1000.
1267    
1268             xm(ip) = -100.
1269             ym(ip) = -100.          
1270             zm(ip) = z_mech_sensor(nplanes-ip+1,il,is)*1000./1.d4
1271             xm_A(ip) = 0.
1272             ym_A(ip) = 0.
1273             xm_B(ip) = 0.
1274             ym_B(ip) = 0.
1275    
1276    c         zv(ip) = z_mech_sensor(nplanes-ip+1,il,is)*1000./1.d4
1277    
1278          endif
1279    
1280          if(DEBUG)then
1281    c         print*,'----------------------------- track coord'
1282    22222    format(i2,' * ',3f10.4,' --- ',4f10.4,' --- ',2f4.0,2f10.5)
1283             write(*,22222)ip,zm(ip),xm(ip),ym(ip)
1284         $        ,xm_A(ip),ym_A(ip),xm_B(ip),ym_B(ip)
1285         $        ,xgood(ip),ygood(ip),resx(ip),resy(ip)
1286    c$$$         print*,'-----------------------------'
1287          endif
1288          end
1289    
1290  ********************************************************************************  ********************************************************************************
1291  ********************************************************************************  ********************************************************************************
# Line 1522  c      include 'level1.f' Line 1758  c      include 'level1.f'
1758  *     mask views with too many clusters  *     mask views with too many clusters
1759        do iv=1,nviews        do iv=1,nviews
1760           if( ncl_view(iv).gt. nclusterlimit)then           if( ncl_view(iv).gt. nclusterlimit)then
1761              mask_view(iv) = 1  c            mask_view(iv) = 1
1762                mask_view(iv) = mask_view(iv) + 2**0
1763              if(DEBUG)print*,' * WARNING * cl_to_couple: n.clusters > '              if(DEBUG)print*,' * WARNING * cl_to_couple: n.clusters > '
1764       $           ,nclusterlimit,' on view ', iv,' --> masked!'       $           ,nclusterlimit,' on view ', iv,' --> masked!'
1765           endif           endif
# Line 1667  c                  cut = chcut * sch(npl Line 1904  c                  cut = chcut * sch(npl
1904       $                 'couples on plane ',nplx,       $                 'couples on plane ',nplx,
1905       $                 'exceeds vector dimention '       $                 'exceeds vector dimention '
1906       $                 ,'( ',ncouplemax,' ) --> masked!'       $                 ,'( ',ncouplemax,' ) --> masked!'
1907                    mask_view(nviewx(nplx)) = 2  c                  mask_view(nviewx(nplx)) = 2
1908                    mask_view(nviewy(nply)) = 2  c                  mask_view(nviewy(nply)) = 2
1909                      mask_view(nviewx(nplx))= mask_view(nviewx(nplx))+ 2**1
1910                      mask_view(nviewy(nply))= mask_view(nviewy(nply))+ 2**1
1911                    goto 10                    goto 10
1912                 endif                 endif
1913                                
# Line 1769  c      double precision xm3,ym3,zm3 Line 2008  c      double precision xm3,ym3,zm3
2008  *     --------------------------------------------  *     --------------------------------------------
2009        do ip=1,nplanes        do ip=1,nplanes
2010           if(ncp_plane(ip).gt.ncouplelimit)then           if(ncp_plane(ip).gt.ncouplelimit)then
2011              mask_view(nviewx(ip)) = 8  c            mask_view(nviewx(ip)) = 8
2012              mask_view(nviewy(ip)) = 8  c            mask_view(nviewy(ip)) = 8
2013                mask_view(nviewx(ip)) = mask_view(nviewx(ip)) + 2**7
2014                mask_view(nviewy(ip)) = mask_view(nviewy(ip)) + 2**7
2015           endif           endif
2016        enddo        enddo
2017    
# Line 1823  c     $                       (icx2,icy2 Line 2064  c     $                       (icx2,icy2
2064  c                           good2=.false.  c                           good2=.false.
2065  c                           goto 880 !fill ntp and go to next event  c                           goto 880 !fill ntp and go to next event
2066                             do iv=1,12                             do iv=1,12
2067                                mask_view(iv) = 3  c                              mask_view(iv) = 3
2068                                  mask_view(iv) = mask_view(iv)+ 2**2
2069                             enddo                             enddo
2070                             iflag=1                             iflag=1
2071                             return                             return
# Line 1902  c     $                                 Line 2144  c     $                                
2144  c                                    good2=.false.  c                                    good2=.false.
2145  c                                    goto 880 !fill ntp and go to next event  c                                    goto 880 !fill ntp and go to next event
2146                                      do iv=1,nviews                                      do iv=1,nviews
2147                                         mask_view(iv) = 4  c                                       mask_view(iv) = 4
2148                                           mask_view(iv)=mask_view(iv)+ 2**3
2149                                      enddo                                      enddo
2150                                      iflag=1                                      iflag=1
2151                                      return                                      return
# Line 2136  c         if(ncpused.lt.ncpyz_min)goto 2 Line 2379  c         if(ncpused.lt.ncpyz_min)goto 2
2379  c               good2=.false.  c               good2=.false.
2380  c     goto 880         !fill ntp and go to next event  c     goto 880         !fill ntp and go to next event
2381              do iv=1,nviews              do iv=1,nviews
2382                 mask_view(iv) = 5  c               mask_view(iv) = 5
2383                   mask_view(iv) = mask_view(iv) + 2**4
2384              enddo              enddo
2385              iflag=1              iflag=1
2386              return              return
# Line 2358  c         if(ncpused.lt.ncpxz_min)goto 2 Line 2602  c         if(ncpused.lt.ncpxz_min)goto 2
2602  c     good2=.false.  c     good2=.false.
2603  c     goto 880         !fill ntp and go to next event  c     goto 880         !fill ntp and go to next event
2604              do iv=1,nviews              do iv=1,nviews
2605                 mask_view(iv) = 6  c               mask_view(iv) = 6
2606                   mask_view(iv) =  mask_view(iv) + 2**5
2607              enddo              enddo
2608              iflag=1              iflag=1
2609              return              return
# Line 2691  c                                 chi2=- Line 2936  c                                 chi2=-
2936  c                                 good2=.false.  c                                 good2=.false.
2937  c                                 goto 880 !fill ntp and go to next event                      c                                 goto 880 !fill ntp and go to next event                    
2938                                   do iv=1,nviews                                   do iv=1,nviews
2939                                      mask_view(iv) = 7  c                                    mask_view(iv) = 7
2940                                        mask_view(iv) = mask_view(iv) + 2**6
2941                                   enddo                                   enddo
2942                                   iflag=1                                   iflag=1
2943                                   return                                   return
# Line 3525  c         print*,'* ',ip,bfx,bfy,angx,an Line 3771  c         print*,'* ',ip,bfx,bfy,angx,an
3771  c           >>> is a couple  c           >>> is a couple
3772              cltrx(ip,ntr)   = clx(nplanes-ip+1,icp_cp(id))              cltrx(ip,ntr)   = clx(nplanes-ip+1,icp_cp(id))
3773              cltry(ip,ntr)   = cly(nplanes-ip+1,icp_cp(id))              cltry(ip,ntr)   = cly(nplanes-ip+1,icp_cp(id))
3774                
3775    c$$$            nnnnx = npfastrips(clx(nplanes-ip+1,icp_cp(id)),PFA,angx)
3776    c$$$            nnnny = npfastrips(cly(nplanes-ip+1,icp_cp(id)),PFA,angy)            
3777    c$$$            xbad(ip,ntr)= nbadstrips(nnnnx,clx(nplanes-ip+1,icp_cp(id)))
3778    c$$$            ybad(ip,ntr)= nbadstrips(nnnny,cly(nplanes-ip+1,icp_cp(id)))
3779                xbad(ip,ntr)= nbadstrips(4,clx(nplanes-ip+1,icp_cp(id)))
3780                ybad(ip,ntr)= nbadstrips(4,cly(nplanes-ip+1,icp_cp(id)))
3781    
 c$$$            if(is_cp(id).ne.ssensor)  
 c$$$     $           print*,'ERROR is sensor assignment (couple)'  
 c$$$     $           ,is_cp(id),ssensor  
 c$$$            if(LADDER(clx(nplanes-ip+1,icp_cp(id))).ne.sladder)  
 c$$$     $           print*,'ERROR is ladder assignment (couple)'  
 c$$$     $           ,LADDER(clx(nplanes-ip+1,icp_cp(id))),sladder  
               
             nnnnx = npfastrips(clx(nplanes-ip+1,icp_cp(id)),PFA,angx)  
             nnnny = npfastrips(cly(nplanes-ip+1,icp_cp(id)),PFA,angy)              
             xbad(ip,ntr)= nbadstrips(nnnnx,clx(nplanes-ip+1,icp_cp(id)))  
             ybad(ip,ntr)= nbadstrips(nnnny,cly(nplanes-ip+1,icp_cp(id)))  
3782    
3783              if(nsatstrips(clx(nplanes-ip+1,icp_cp(id))).gt.0)              if(nsatstrips(clx(nplanes-ip+1,icp_cp(id))).gt.0)
3784       $           dedx_x(ip,ntr)=-dedx_x(ip,ntr)       $           dedx_x(ip,ntr)=-dedx_x(ip,ntr)
# Line 3544  c$$$     $           ,LADDER(clx(nplanes Line 3786  c$$$     $           ,LADDER(clx(nplanes
3786       $           dedx_y(ip,ntr)=-dedx_y(ip,ntr)       $           dedx_y(ip,ntr)=-dedx_y(ip,ntr)
3787    
3788           elseif(icl.ne.0)then           elseif(icl.ne.0)then
3789  c           >>> is a singlet  
 c$$$            if(LADDER(icl).ne.sladder)  
 c$$$     $           print*,'ERROR is ladder assignment (single)'  
 c$$$     $           ,LADDER(icl),sladder  
3790              if(mod(VIEW(icl),2).eq.0)then              if(mod(VIEW(icl),2).eq.0)then
3791                 cltrx(ip,ntr)=icl                 cltrx(ip,ntr)=icl
3792                 nnnnn = npfastrips(icl,PFA,angx)  c$$$               nnnnn = npfastrips(icl,PFA,angx)
3793                 xbad(ip,ntr) = nbadstrips(nnnnn,icl)  c$$$               xbad(ip,ntr) = nbadstrips(nnnnn,icl)
3794                   xbad(ip,ntr) = nbadstrips(4,icl)
3795    
3796                 if(nsatstrips(icl).gt.0)dedx_x(ip,ntr)=-dedx_x(ip,ntr)                 if(nsatstrips(icl).gt.0)dedx_x(ip,ntr)=-dedx_x(ip,ntr)
3797              elseif(mod(VIEW(icl),2).eq.1)then              elseif(mod(VIEW(icl),2).eq.1)then
3798                 cltry(ip,ntr)=icl                 cltry(ip,ntr)=icl
3799                 nnnnn = npfastrips(icl,PFA,angy)  c$$$               nnnnn = npfastrips(icl,PFA,angy)
3800                 ybad(ip,ntr) = nbadstrips(nnnnn,icl)  c$$$               ybad(ip,ntr) = nbadstrips(nnnnn,icl)
3801                   ybad(ip,ntr) = nbadstrips(4,icl)
3802                 if(nsatstrips(icl).gt.0)dedx_y(ip,ntr)=-dedx_y(ip,ntr)                 if(nsatstrips(icl).gt.0)dedx_y(ip,ntr)=-dedx_y(ip,ntr)
3803              endif              endif
3804    
3805           endif                     endif          
3806    
3807        enddo        enddo
# Line 3593  c$$$      print*,'---------------------- Line 3836  c$$$      print*,'----------------------
3836        nclsy = 0        nclsy = 0
3837    
3838        do iv = 1,nviews        do iv = 1,nviews
3839           if( mask_view(iv).ne.0 )good2(iv) = 20+mask_view(iv)  c         if( mask_view(iv).ne.0 )good2(iv) = 20+mask_view(iv)
3840             good2(iv) = good2(iv) + mask_view(iv)*2**8
3841        enddo        enddo
3842    
3843        do icl=1,nclstr1        do icl=1,nclstr1

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.23