--- DarthVader/CalorimeterLevel2/src/direction.for 2007/01/22 09:17:01 1.2 +++ DarthVader/CalorimeterLevel2/src/direction.for 2007/11/22 13:53:28 1.7 @@ -19,23 +19,27 @@ INCLUDE 'INTEST.TXT' - REAL FLIMIT + REAL FLIMIT, FLIMIT2 INTEGER NVAR,NPAR PARAMETER (NVAR=1,NPAR=2) - PARAMETER (FLIMIT=10000) - REAL X(NPLA),Y(NPLA),W(NPLA) +c PARAMETER (FLIMIT=10000) +c PARAMETER (FLIMIT2=2000) +c PARAMETER (FLIMIT=500) + PARAMETER (FLIMIT=2000) + PARAMETER (FLIMIT2=500) + REAL X(NPLAV),Y(NPLAV),W(NPLAV) REAL DEVIA(2),TG(2) - REAL BAR(2,NPLA) + REAL BAR(2,NPLAV) REAL A, B, VAR REAL SA, SB, SVAR REAL SSA, SSB, SSVAR - REAL PIANO(22) + REAL PIANO(NPLAV) REAL VARFIT(2) INTEGER ICONT, M, I, SNPFIT,SSNPFIT INTEGER NPFIT(2), CHTRACK,IWPL(2) - INTEGER IBAR(2,NPLA) + INTEGER IBAR(2,NPLAV) COMMON/ANGOLO/BAR,IBAR SAVE /ANGOLO/ @@ -68,15 +72,17 @@ FMODE(M) = 0 10 CONTINUE ICONT = 0 - CALL VZERO(X,NPLA) - CALL VZERO(Y,NPLA) - CALL VZERO(W,NPLA) + CALL VZERO(X,NPLAV) + CALL VZERO(Y,NPLAV) + CALL VZERO(W,NPLAV) DO I = 1,NPLA C IF (MOD(M,2).EQ.0) THEN - X(I) = PIANO(I) - 5.81 + X(I) = PIANO(I) +C X(I) = PIANO(I) - 5.81 ELSE - X(I) = PIANO(I) + X(I) = PIANO(I) - 5.81 +C X(I) = PIANO(I) ENDIF Y(I) = 0. C @@ -95,19 +101,20 @@ ENDIF ENDIF C -C More importance to weigth and less cluster per plane +C No weigth and less cluster per plane C IF(FMODE(M).EQ.1) THEN IF (NCL(M,I).GE.1.AND.NCL(M,I).LE.2) THEN ICONT = ICONT + 1 Y(I) = CLUS(M,I,1) W(I) = ((CLUS(M,I,1+NCHA/2)**0.29))**2. +c W(I) = 1. ENDIF - IF (W(I).GT.2000.) THEN - W(I) = 2000. -c Y(I) = 0. -c ICONT = ICONT -1 - ENDIF +c IF (W(I).GT.2000.) THEN +cx W(I) = 2000. +cc Y(I) = 0. +cc ICONT = ICONT -1 +c ENDIF ENDIF c c One cluster per plane @@ -117,6 +124,7 @@ ICONT = ICONT + 1 Y(I) = CLUS(M,I,1) W(I) = ((CLUS(M,I,1+NCHA/2)**0.79))**2. +c W(I) = 1. ENDIF ENDIF c if (Y(I).eq.0.or.W(I).eq.2000.) NPFIT(M) = NPFIT(M) - 1 @@ -146,10 +154,10 @@ GOTO 10 ENDIF C -C TRY AGAIN IF STILL BAD AND WE HAVE AT LEAST 5 POINT TO MAKE THE FIT +C TRY AGAIN IF STILL BAD AND WE HAVE AT LEAST 10 POINT TO MAKE THE FIT C - IF ((ABS(VAR).GT.FLIMIT.OR.VAR.EQ.0.).AND.FMODE(M).EQ.1 - & .AND.NPFIT(M).GT.4) THEN + IF ((ABS(VAR).GT.FLIMIT2.OR.VAR.EQ.0.).AND.FMODE(M).EQ.1 + & .AND.SNPFIT.GT.5) THEN SSVAR = VAR SSB = B SSA = A