--- DarthVader/TrackerLevel2/src/F77/cncomp.f 2007/08/31 14:56:52 1.9 +++ DarthVader/TrackerLevel2/src/F77/cncomp.f 2014/01/16 15:29:52 1.10 @@ -13,12 +13,16 @@ include 'level1.f' include 'common_reduction.f' include 'calib.f' + integer errflag !error flag to mark no signal free VA1 integer clstr_old(nstrips_va1) !flag storage vector - real signal(nstrips_va1) !"signal" (=adc-ped) value storage vector - real smean, ssigma !"signal" mean and sigma - real cut !"strange" strip exclusion cut +c EM GCC4.7 - trying to avoind implicit conversion from REAL(8) to REAL(4) so use double everywhere in routines and cast to float only when +c variables from common includes are used + real(8) signal(nstrips_va1) !"signal" (=adc-ped) value storage vector + real(8) smean, ssigma !"signal" mean and sigma + real(8) cut !"strange" strip exclusion cut +c END EM integer newclstr !flag to warn about new found clusters to be c ! excluded from common noise computation @@ -179,10 +183,11 @@ do k=1,nstrips_va1 !loops on strips * tags strange, bad or signal-affected strips iok = strange(i,j,k)*bad(i,j,k)*clstr(i,j,k) - cn(i,j) = cn(i,j) + (DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok - cnrms(i,j) = cnrms(i,j) - $ + (DBLE(adc(i,j,k)) - pedestal(i,j,k)) - $ *(DBLE(adc(i,j,k)) - pedestal(i,j,k))*iok + cn(i,j) = cn(i,j) + $ + REAL((adc(i,j,k)) - pedestal(i,j,k))*REAL(iok) ! EM GCC4.7 CN IS DEFINED AS REAL NOT DOUBLE + cnrms(i,j) = cnrms(i,j) !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE + $ + (REAL(adc(i,j,k)) - pedestal(i,j,k)) !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE + $ *(REAL(adc(i,j,k)) - pedestal(i,j,k))*REAL(iok) !EM GCC4.7 CNRMS IS DEFINED AS REAL NOT DOUBLE ncn = ncn + iok !counts number of strips in cn computation enddo @@ -200,8 +205,8 @@ gulp=1 cnn(i,j) = 0 else - cn(i,j)=cn(i,j)/DBLE(ncn) !<<<< computes common noise - cnrms(i,j)= SQRT( cnrms(i,j)/DBLE(ncn) - cn(i,j)**2 ) + cn(i,j)=cn(i,j)/REAL(ncn) !<<<< computes common noise EM GCC4.7 CN IS REAL NOT DOUBLE + cnrms(i,j)= SQRT( cnrms(i,j)/REAL(ncn) - cn(i,j)**2 ) ! EM GCC4.7 CN IS REAL NOT DOUBLE cnn(i,j) = ncn gulp=0 c$$$ print*,'Event ',eventn(1) @@ -248,10 +253,10 @@ ! seed integer ir, il !flags to exit loop on reaching VA1 extremes - real valuec !cluster seed signal + real(8) valuec !cluster seed signal EM GCC4.7 real cut,stripcut !cluster seed cut - real valuel, valuer !left and right strips signal + real(8) valuel, valuer !left and right strips signal EM GCC4.7 real stripcnincut !strip include cut skip = 0 !initializes skip