--- DarthVader/CalorimeterLevel2/src/calol2tr.for 2006/11/14 14:08:50 1.7 +++ DarthVader/CalorimeterLevel2/src/calol2tr.for 2007/01/27 06:22:19 1.13 @@ -55,7 +55,7 @@ COMMON / CH / CHECK SAVE / CH / C - COMMON / CALOFIT / VARFIT, NPFIT + COMMON / CALOFIT / VARFIT, NPFIT, IWPL,CHTRACK SAVE / CALOFIT / C COMMON / pawcd / hmemor @@ -89,7 +89,7 @@ NLAST = 0. PLANETOT = 0. QMEAN = 0. - SELFTRIGGER = 0 +C SELFTRIGGER = 0 C C BEGIN WITH THE FISRT TRACK IF WE HAVE A TRACK FROM TRACKER C @@ -232,6 +232,7 @@ C C CALL SELFTRIGGER SUBROUTINE C + CALL VZERO(IWPL,2) CALL VZERO(VARCFIT,2) CALL VZERO(NPCFIT,2) CALL VZERO(TBAR,2*NPLA) @@ -252,14 +253,16 @@ C DO M = 1,2 C +c print *,' ax ',ax,' ay ',ay +c print *,' bx ',bx,' by ',by IF (NPCFIT(M).GE.2) THEN IF (M.EQ.1) THEN VARCFIT(1) = CHI2X - IMPX = 10. * ( AX + 12.1 ) + IMPX = AX ! PAMELA REF TANX = BX ELSE VARCFIT(2) = CHI2Y - IMPY = 10. * ( AY + 12.2 ) + IMPY = AY ! PAMELA REF TANY = BY ENDIF C @@ -274,34 +277,46 @@ C IF (M.EQ.1) THEN DISTX = PIANO(I) - 5.81 - Y(I) = DISTX * TANX + CX + Y(I) = (DISTX * TANX) + AX - XALIG +c CBAR(M,I) = Y(I) BAR(M,I) = Y(I) - CBAR(M,I) = Y(I) + CBAR(M,I) = (Y(I) + XALIG)/10. IF (I.EQ.22) MX=ABS(Y(1)-Y(22))/ABS(ZIN(1)-ZIN(22)) C ELSE DISTY = PIANO(I) - YY(I) = DISTY * TANY + CY + YY(I) = (DISTY * TANY) + AY - YALIG +c CBAR(M,I) = YY(I) BAR(M,I) = YY(I) - CBAR(M,I) = YY(I) + CBAR(M,I) = (YY(I) + YALIG)/10. IF (I.EQ.22) MY=ABS(Y(1)-Y(22))/ABS(ZIN(1)-ZIN(22)) C ENDIF CALL LASTRISCIA(BAR(M,I),IBAR(M,I)) cibar(M,I) = ibar(m,i) + IF (ibar(m,i).EQ.-1) THEN + CHTRACK = CHTRACK + 1 + ELSE + IWPL(M) = IWPL(M) + 1 + ENDIF ENDDO ENDIF C ENDDO C ENDIF -C IF (TRIGTY.GE.2.AND.HZN.NE.0) THEN -C IF (GOOD2.EQ.0) THEN -C PRINT *,' CALORIMETER - WARNING F77: unknown request' -C GOOD2 = 1 -C GOTO 50 -C ENDIF -C ENDIF +C + IF (TRIGTY.GE.2.AND.HZN.NE.0) THEN + IF (GOOD2.EQ.1) THEN + PRINT *,' CALORIMETER - WARNING F77: unknown request' + GOOD2 = 1 + GOTO 50 + ENDIF + IF ( NPCFIT(1).EQ.0.OR.NPCFIT(2).EQ.0 ) THEN + GOOD2 = 1 + GOTO 50 + ENDIF + ENDIF C 6996 CONTINUE C @@ -344,7 +359,7 @@ IF (TRIGTY.GE.2.AND.HZN.EQ.0.AND.GOOD2.EQ.0) THEN RIG = ELEN ! SELFTRIGGER RIGIDITY IF ( RIG.EQ.0. ) THEN - GOOD2 = 0 + GOOD2 = 1 PRINT *,' CALORIMETER - WARNING F77: ST track with R = 0' GOTO 50 ENDIF @@ -601,8 +616,6 @@ ENDIF ENDDO C - EINF = EMIN - ESUP = 50. C C CALCULATE PLANETOT AND QMEAN C @@ -613,8 +626,18 @@ NPIANI = 5 QMEAN = 0. INDEX = 0 - CALL ELIO(RPIANO,NPIANI,QMEAN,NTOT,INDEX) - PLANETOT = RPIANO(1) + RPIANO(2) +C + IF (TRIGTY.GE.2.AND.HZN.NE.0) THEN + EINF = 50. + ESUP = 15000. + CALL NUCLEI(RPIANO,NPIANI,QMEAN,NTOT,INDEX) + PLANETOT = RPIANO(1) + RPIANO(2) + ELSE + EINF = EMIN + ESUP = 15000. + CALL ELIO(RPIANO,NPIANI,QMEAN,NTOT,INDEX) + PLANETOT = RPIANO(1) + RPIANO(2) + ENDIF C 50 CONTINUE C