Merging THbtp and HBTP in one library. Comiplation on Windows/Cygwin
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Apr 2008 16:00:17 +0000 (16:00 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Apr 2008 16:00:17 +0000 (16:00 +0000)
26 files changed:
ALIROOT/binaliroot.pkg
ANALYSIS/binaliengui.pkg
EVE/binalieve.pkg
HBTP/libHBTP.pkg [deleted file]
HBTP/ranlux.f [deleted file]
HBTP/ranlux2.f [deleted file]
Makefile
THbtp/common_correlations.inc [moved from HBTP/common_correlations.inc with 100% similarity]
THbtp/common_coulomb.inc [moved from HBTP/common_coulomb.inc with 100% similarity]
THbtp/common_event_summary.inc [moved from HBTP/common_event_summary.inc with 100% similarity]
THbtp/common_histograms.inc [moved from HBTP/common_histograms.inc with 100% similarity]
THbtp/common_mesh.inc [moved from HBTP/common_mesh.inc with 100% similarity]
THbtp/common_parameters.inc [moved from HBTP/common_parameters.inc with 100% similarity]
THbtp/common_particle.inc [moved from HBTP/common_particle.inc with 100% similarity]
THbtp/common_sec_track.inc [moved from HBTP/common_sec_track.inc with 100% similarity]
THbtp/common_sec_track2.inc [moved from HBTP/common_sec_track2.inc with 100% similarity]
THbtp/common_track.inc [moved from HBTP/common_track.inc with 100% similarity]
THbtp/common_track2.inc [moved from HBTP/common_track2.inc with 100% similarity]
THbtp/hbt_event_processor.f [moved from HBTP/hbt_event_processor.f with 100% similarity]
THbtp/hbt_particle_st.inc [moved from HBTP/hbt_particle_st.inc with 100% similarity]
THbtp/hbt_sec_track2_st.inc [moved from HBTP/hbt_sec_track2_st.inc with 100% similarity]
THbtp/hbt_sec_track_st.inc [moved from HBTP/hbt_sec_track_st.inc with 100% similarity]
THbtp/hbt_track2_st.inc [moved from HBTP/hbt_track2_st.inc with 100% similarity]
THbtp/hbt_track_st.inc [moved from HBTP/hbt_track_st.inc with 100% similarity]
THbtp/libTHbtp.pkg
build/module.dep

index 5d62dce..1be6ca8 100644 (file)
@@ -21,14 +21,13 @@ ELIBS:= MUONcore MUONgeometry MUONrec MUONsim MUONbase MUONtrigger MUONraw MUONc
         FASTSIM microcern \
        RAWDatabase RAWDatarec RAWDatasim \
        HLTbase MUONevaluation \
-#       THbtp HBTP TEPEMGEN \
+#       THbtp TEPEMGEN \
 #      THerwig herwig TPHIC
 
 ifeq (macosx,$(ALICE_TARGET))
 
 ELIBSCPP:=$(filter-out microcern,$(ELIBS))
 ELIBSCPP:=$(filter-out lhapdf,$(ELIBSCPP))
-ELIBSCPP:=$(filter-out HBTP,$(ELIBSCPP))
 ELIBSCPP:=$(filter-out herwig,$(ELIBSCPP))
 PACKLDFLAGS:=$(LDFLAGS) $(ELIBSCPP:%=-Wl,-u,_G__cpp_setupG__%)
 # On Mac OS X gcc we need f2c
@@ -105,6 +104,6 @@ ARLIBS:= \
    RAW/tgt_$(ALICE_TARGET)/G__RAWDatarec.o $(LIBPATH)/libRAWDatarec.a \
    RAW/tgt_$(ALICE_TARGET)/G__MDC.o $(LIBPATH)/libMDC.a
 
-#SHLIBS:= $(BINLIBDIRS) -lEVGEN -lEGPythia6 -lPythia6 -lpythia6 -lAliPythia6 -llhapdf -lTHijing -lhijing -lTHbtp -lHBTP -lTHerwig -lherwig -lTEPEMGEN -lTPHIC -lFASTSIM -lmicrocern
+#SHLIBS:= $(BINLIBDIRS) -lEVGEN -lEGPythia6 -lPythia6 -lpythia6 -lAliPythia6 -llhapdf -lTHijing -lhijing -lTHbtp -lTHerwig -lherwig -lTEPEMGEN -lTPHIC -lFASTSIM -lmicrocern
 SHLIBS:= $(BINLIBDIRS) -lEVGEN -lEGPythia6 -lPythia6 -lpythia6 -lAliPythia6 -llhapdf -lTHijing -lhijing -lTHerwig -lherwig -lTPHIC -lFASTSIM -lmicrocern
 
index 696c9d1..ca889c0 100644 (file)
@@ -14,7 +14,7 @@ ELIBS    := Aliengui \
   ZDCbase ZDCsim ZDCrec VZERObase VZEROsim VZEROrec \
   EMCALbase EMCALsim EMCALrec EMCALjet \
   STRUCT T0base T0sim T0rec EVGEN STEERBase ESD AOD CDB STEER \
-  THijing hijing THbtp HBTP TEPEMGEN \
+  THijing hijing THbtp TEPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
   HLTbase \
@@ -29,7 +29,6 @@ ifeq (macosx,$(ALICE_TARGET))
 
 ELIBSCPP:=$(filter-out microcern,$(ELIBS))
 ELIBSCPP:=$(filter-out lhapdf,$(ELIBSCPP))
-ELIBSCPP:=$(filter-out HBTP,$(ELIBSCPP))
 ELIBSCPP:=$(filter-out herwig,$(ELIBSCPP))
 PACKLDFLAGS:=$(LDFLAGS) $(ELIBSCPP:%=-Wl,-u,_G__cpp_setupG__%)
 # On Mac OS X gcc we need f2c
index a3f847b..5cf803c 100644 (file)
@@ -19,7 +19,7 @@ ELIBS    := EveBase EveDet EveHLT \
   EMCALbase EMCALsim EMCALrec EMCALjet BCM \
   STRUCT T0base T0sim T0rec EVGEN STEERBase ESD AOD CDB STEER \
   THijing \
-  hijing THbtp HBTP TEPEMGEN \
+  hijing THbtp TEPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
   HLTbase XMLParser
@@ -35,7 +35,6 @@ ELIBSDIR+=/usr/X11R6/lib/
 
 ELIBSCPP:=$(filter-out microcern,$(ELIBS))
 ELIBSCPP:=$(filter-out lhapdf,$(ELIBSCPP))
-ELIBSCPP:=$(filter-out HBTP,$(ELIBSCPP))
 ELIBSCPP:=$(filter-out herwig,$(ELIBSCPP))
 PACKLDFLAGS:=$(LDFLAGS) $(ELIBSCPP:%=-Wl,-u,_G__cpp_setupG__%)
 ifeq (5,$(MACOSX_MINOR))
diff --git a/HBTP/libHBTP.pkg b/HBTP/libHBTP.pkg
deleted file mode 100644 (file)
index 1d9fb19..0000000
+++ /dev/null
@@ -1 +0,0 @@
-FSRCS  =  hbt_event_processor.f
\ No newline at end of file
diff --git a/HBTP/ranlux.f b/HBTP/ranlux.f
deleted file mode 100644 (file)
index 1957d47..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-C*
-C* $Id$
-C*
-C#include "gen/pilot.h"
-      SUBROUTINE RANLUX(RVEC,LENV)
-C         Subtract-and-borrow random number generator proposed by
-C         Marsaglia and Zaman, implemented by F. James with the name
-C         RCARRY in 1991, and later improved by Martin Luescher
-C         in 1993 to produce "Luxury Pseudorandom Numbers".
-C     Fortran 77 coded by F. James, 1993
-C
-C   LUXURY LEVELS.
-C   ------ ------      The available luxury levels are:
-C
-C  level 0  (p=24): equivalent to the original RCARRY of Marsaglia
-C           and Zaman, very long period, but fails many tests.
-C  level 1  (p=48): considerable improvement in quality over level 0,
-C           now passes the gap test, but still fails spectral test.
-C  level 2  (p=97): passes all known tests, but theoretically still
-C           defective.
-C  level 3  (p=223): DEFAULT VALUE.  Any theoretically possible
-C           correlations have very small chance of being observed.
-C  level 4  (p=389): highest possible luxury, all 24 bits chaotic.
-C
-C!!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-C!!!  Calling sequences for RANLUX:                                  ++
-C!!!      CALL RANLUX (RVEC, LEN)   returns a vector RVEC of LEN     ++
-C!!!                   32-bit random floating point numbers between  ++
-C!!!                   zero (not included) and one (also not incl.). ++
-C!!!      CALL RLUXGO(LUX,INT,K1,K2) initializes the generator from  ++
-C!!!               one 32-bit integer INT and sets Luxury Level LUX  ++
-C!!!               which is integer between zero and MAXLEV, or if   ++
-C!!!               LUX .GT. 24, it sets p=LUX directly.  K1 and K2   ++
-C!!!               should be set to zero unless restarting at a break++ 
-C!!!               point given by output of RLUXAT (see RLUXAT).     ++
-C!!!      CALL RLUXAT(LUX,INT,K1,K2) gets the values of four integers++
-C!!!               which can be used to restart the RANLUX generator ++
-C!!!               at the current point by calling RLUXGO.  K1 and K2++
-C!!!               specify how many numbers were generated since the ++
-C!!!               initialization with LUX and INT.  The restarting  ++
-C!!!               skips over  K1+K2*E9   numbers, so it can be long.++
-C!!!   A more efficient but less convenient way of restarting is by: ++
-C!!!      CALL RLUXIN(ISVEC)    restarts the generator from vector   ++
-C!!!                   ISVEC of 25 32-bit integers (see RLUXUT)      ++
-C!!!      CALL RLUXUT(ISVEC)    outputs the current values of the 25 ++
-C!!!                 32-bit integer seeds, to be used for restarting ++
-C!!!      ISVEC must be dimensioned 25 in the calling program        ++
-C!!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-      DIMENSION RVEC(LENV)
-      DIMENSION SEEDS(24), ISEEDS(24), ISDEXT(25)
-      PARAMETER (MAXLEV=4, LXDFLT=3)
-      DIMENSION NDSKIP(0:MAXLEV)
-      DIMENSION NEXT(24)
-      PARAMETER (TWOP12=4096., IGIGA=1000000000,JSDFLT=314159265)
-      PARAMETER (ITWO24=2**24, ICONS=2147483563)
-      SAVE NOTYET, I24, J24, CARRY, SEEDS, TWOM24, TWOM12, LUXLEV
-      SAVE NSKIP, NDSKIP, IN24, NEXT, KOUNT, MKOUNT, INSEED
-      INTEGER LUXLEV
-      LOGICAL NOTYET
-      DATA NOTYET, LUXLEV, IN24, KOUNT, MKOUNT /.TRUE., LXDFLT, 0,0,0/
-      DATA I24,J24,CARRY/24,10,0./
-C                               default
-C  Luxury Level   0     1     2   *3*    4
-      DATA NDSKIP/0,   24,   73,  199,  365 /
-Corresponds to p=24    48    97   223   389
-C     time factor 1     2     3     6    10   on slow workstation
-C                 1    1.5    2     3     5   on fast mainframe
-C
-C  NOTYET is .TRUE. if no initialization has been performed yet.
-C              Default Initialization by Multiplicative Congruential
-      IF (NOTYET) THEN
-         NOTYET = .FALSE.
-         JSEED = JSDFLT  
-         INSEED = JSEED
-         WRITE(6,'(A,I12)') ' RANLUX DEFAULT INITIALIZATION: ',JSEED
-         LUXLEV = LXDFLT
-         NSKIP = NDSKIP(LUXLEV)
-         LP = NSKIP + 24
-         IN24 = 0
-         KOUNT = 0
-         MKOUNT = 0
-         WRITE(6,'(A,I2,A,I4)')  ' RANLUX DEFAULT LUXURY LEVEL =  ',
-     +        LUXLEV,'      p =',LP
-            TWOM24 = 1.
-         DO 25 I= 1, 24
-            TWOM24 = TWOM24 * 0.5
-         K = JSEED/53668
-         JSEED = 40014*(JSEED-K*53668) -K*12211
-         IF (JSEED .LT. 0)  JSEED = JSEED+ICONS
-         ISEEDS(I) = MOD(JSEED,ITWO24)
-   25    CONTINUE
-         TWOM12 = TWOM24 * 4096.
-         DO 50 I= 1,24
-         SEEDS(I) = REAL(ISEEDS(I))*TWOM24
-         NEXT(I) = I-1
-   50    CONTINUE
-         NEXT(1) = 24
-         I24 = 24
-         J24 = 10
-         CARRY = 0.
-         IF (SEEDS(24) .EQ. 0.) CARRY = TWOM24
-      ENDIF
-C
-C          The Generator proper: "Subtract-with-borrow",
-C          as proposed by Marsaglia and Zaman,
-C          Florida State University, March, 1989
-C
-      DO 100 IVEC= 1, LENV
-      UNI = SEEDS(J24) - SEEDS(I24) - CARRY 
-      IF (UNI .LT. 0.)  THEN
-         UNI = UNI + 1.0
-         CARRY = TWOM24
-      ELSE
-         CARRY = 0.
-      ENDIF
-      SEEDS(I24) = UNI
-      I24 = NEXT(I24)
-      J24 = NEXT(J24)
-      RVEC(IVEC) = UNI
-C  small numbers (with less than 12 "significant" bits) are "padded".
-      IF (UNI .LT. TWOM12)  THEN
-         RVEC(IVEC) = RVEC(IVEC) + TWOM24*SEEDS(J24)
-C        and zero is forbidden in case someone takes a logarithm
-         IF (RVEC(IVEC) .EQ. 0.)  RVEC(IVEC) = TWOM24*TWOM24
-      ENDIF
-C        Skipping to luxury.  As proposed by Martin Luscher.
-      IN24 = IN24 + 1
-      IF (IN24 .EQ. 24)  THEN
-         IN24 = 0
-         KOUNT = KOUNT + NSKIP
-         DO 90 ISK= 1, NSKIP
-         UNI = SEEDS(J24) - SEEDS(I24) - CARRY
-         IF (UNI .LT. 0.)  THEN
-            UNI = UNI + 1.0
-            CARRY = TWOM24
-         ELSE
-            CARRY = 0.
-         ENDIF
-         SEEDS(I24) = UNI
-         I24 = NEXT(I24)
-         J24 = NEXT(J24)
-   90    CONTINUE
-      ENDIF
-  100 CONTINUE
-      KOUNT = KOUNT + LENV
-      IF (KOUNT .GE. IGIGA)  THEN
-         MKOUNT = MKOUNT + 1
-         KOUNT = KOUNT - IGIGA
-      ENDIF
-      RETURN
-C
-C           Entry to input and float integer seeds from previous run
-      ENTRY RLUXIN(ISDEXT)
-         NOTYET = .FALSE.
-         TWOM24 = 1.
-         DO 195 I= 1, 24
-         NEXT(I) = I-1
-  195    TWOM24 = TWOM24 * 0.5
-         NEXT(1) = 24
-         TWOM12 = TWOM24 * 4096.
-      WRITE(6,'(A)') ' FULL INITIALIZATION OF RANLUX WITH 25 INTEGERS:'
-      WRITE(6,'(5X,5I12)') ISDEXT
-      DO 200 I= 1, 24
-      SEEDS(I) = REAL(ISDEXT(I))*TWOM24
-  200 CONTINUE
-      CARRY = 0.
-      IF (ISDEXT(25) .LT. 0)  CARRY = TWOM24
-      ISD = IABS(ISDEXT(25))
-      I24 = MOD(ISD,100)
-      ISD = ISD/100
-      J24 = MOD(ISD,100)
-      ISD = ISD/100
-      IN24 = MOD(ISD,100)
-      ISD = ISD/100
-      LUXLEV = ISD
-        IF (LUXLEV .LE. MAXLEV) THEN
-          NSKIP = NDSKIP(LUXLEV)
-          WRITE (6,'(A,I2)') ' RANLUX LUXURY LEVEL SET BY RLUXIN TO: ',
-     +                         LUXLEV
-        ELSE  IF (LUXLEV .GE. 24) THEN
-          NSKIP = LUXLEV - 24
-          WRITE (6,'(A,I5)') ' RANLUX P-VALUE SET BY RLUXIN TO:',LUXLEV
-        ELSE
-          NSKIP = NDSKIP(MAXLEV)
-          WRITE (6,'(A,I5)') ' RANLUX ILLEGAL LUXURY RLUXIN: ',LUXLEV
-          LUXLEV = MAXLEV
-        ENDIF
-      INSEED = -1
-      RETURN
-C
-C                    Entry to ouput seeds as integers
-      ENTRY RLUXUT(ISDEXT)
-      DO 300 I= 1, 24
-         ISDEXT(I) = INT(SEEDS(I)*TWOP12*TWOP12)
-  300 CONTINUE
-      ISDEXT(25) = I24 + 100*J24 + 10000*IN24 + 1000000*LUXLEV
-      IF (CARRY .GT. 0.)  ISDEXT(25) = -ISDEXT(25)
-      RETURN
-C
-C                    Entry to output the "convenient" restart point
-      ENTRY RLUXAT(LOUT,INOUT,K1,K2)
-      LOUT = LUXLEV
-      INOUT = INSEED
-      K1 = KOUNT
-      K2 = MKOUNT
-      RETURN
-C
-C                    Entry to initialize from one or three integers
-      ENTRY RLUXGO(LUX,INS,K1,K2)
-         IF (LUX .LT. 0) THEN
-            LUXLEV = LXDFLT
-         ELSE IF (LUX .LE. MAXLEV) THEN
-            LUXLEV = LUX
-         ELSE IF (LUX .LT. 24 .OR. LUX .GT. 2000) THEN
-            LUXLEV = MAXLEV
-            WRITE (6,'(A,I7)') ' RANLUX ILLEGAL LUXURY RLUXGO: ',LUX
-         ELSE
-            LUXLEV = LUX
-            DO 310 ILX= 0, MAXLEV
-              IF (LUX .EQ. NDSKIP(ILX)+24)  LUXLEV = ILX
-  310       CONTINUE
-         ENDIF
-      IF (LUXLEV .LE. MAXLEV)  THEN
-         NSKIP = NDSKIP(LUXLEV)
-         WRITE(6,'(A,I2,A,I4)') ' RANLUX LUXURY LEVEL SET BY RLUXGO :',
-     +        LUXLEV,'     P=', NSKIP+24
-      ELSE
-          NSKIP = LUXLEV - 24
-          WRITE (6,'(A,I5)') ' RANLUX P-VALUE SET BY RLUXGO TO:',LUXLEV
-      ENDIF
-      IN24 = 0
-      IF (INS .LT. 0)  WRITE (6,'(A)')   
-     +   ' Illegal initialization by RLUXGO, negative input seed'
-      IF (INS .GT. 0)  THEN
-        JSEED = INS
-        WRITE(6,'(A,3I12)') ' RANLUX INITIALIZED BY RLUXGO FROM SEEDS',
-     +      JSEED, K1,K2
-      ELSE
-        JSEED = JSDFLT
-        WRITE(6,'(A)')' RANLUX INITIALIZED BY RLUXGO FROM DEFAULT SEED'
-      ENDIF
-      INSEED = JSEED
-      NOTYET = .FALSE.
-      TWOM24 = 1.
-         DO 325 I= 1, 24
-           TWOM24 = TWOM24 * 0.5
-         K = JSEED/53668
-         JSEED = 40014*(JSEED-K*53668) -K*12211
-         IF (JSEED .LT. 0)  JSEED = JSEED+ICONS
-         ISEEDS(I) = MOD(JSEED,ITWO24)
-  325    CONTINUE
-      TWOM12 = TWOM24 * 4096.
-         DO 350 I= 1,24
-         SEEDS(I) = REAL(ISEEDS(I))*TWOM24
-         NEXT(I) = I-1
-  350    CONTINUE
-      NEXT(1) = 24
-      I24 = 24
-      J24 = 10
-      CARRY = 0.
-      IF (SEEDS(24) .EQ. 0.) CARRY = TWOM24
-C        If restarting at a break point, skip K1 + IGIGA*K2
-C        Note that this is the number of numbers delivered to
-C        the user PLUS the number skipped (if luxury .GT. 0).
-      KOUNT = K1
-      MKOUNT = K2
-      IF (K1+K2 .NE. 0)  THEN
-        DO 500 IOUTER= 1, K2+1
-          INNER = IGIGA
-          IF (IOUTER .EQ. K2+1)  INNER = K1
-          DO 450 ISK= 1, INNER
-            UNI = SEEDS(J24) - SEEDS(I24) - CARRY 
-            IF (UNI .LT. 0.)  THEN
-               UNI = UNI + 1.0
-               CARRY = TWOM24
-            ELSE
-               CARRY = 0.
-            ENDIF
-            SEEDS(I24) = UNI
-            I24 = NEXT(I24)
-            J24 = NEXT(J24)
-  450     CONTINUE
-  500   CONTINUE
-C         Get the right value of IN24 by direct calculation
-        IN24 = MOD(KOUNT, NSKIP+24)
-        IF (MKOUNT .GT. 0)  THEN
-           IZIP = MOD(IGIGA, NSKIP+24)
-           IZIP2 = MKOUNT*IZIP + IN24
-           IN24 = MOD(IZIP2, NSKIP+24)
-        ENDIF
-C       Now IN24 had better be between zero and 23 inclusive
-        IF (IN24 .GT. 23) THEN
-           WRITE (6,'(A/A,3I11,A,I5)')  
-     +    '  Error in RESTARTING with RLUXGO:','  The values', INS,
-     +     K1, K2, ' cannot occur at luxury level', LUXLEV
-           IN24 = 0
-        ENDIF
-      ENDIF
-      RETURN
-      END
diff --git a/HBTP/ranlux2.f b/HBTP/ranlux2.f
deleted file mode 100644 (file)
index 50df59d..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-C*
-C* $Id$
-C*
-C#include "gen/pilot.h"
-      SUBROUTINE RANLUX2(RVEC,LENV,Input_seed)
-C         Subtract-and-borrow random number generator proposed by
-C         Marsaglia and Zaman, implemented by F. James with the name
-C         RCARRY in 1991, and later improved by Martin Luescher
-C         in 1993 to produce "Luxury Pseudorandom Numbers".
-C     Fortran 77 coded by F. James, 1993
-C
-C   LUXURY LEVELS.
-C   ------ ------      The available luxury levels are:
-C
-C  level 0  (p=24): equivalent to the original RCARRY of Marsaglia
-C           and Zaman, very long period, but fails many tests.
-C  level 1  (p=48): considerable improvement in quality over level 0,
-C           now passes the gap test, but still fails spectral test.
-C  level 2  (p=97): passes all known tests, but theoretically still
-C           defective.
-C  level 3  (p=223): DEFAULT VALUE.  Any theoretically possible
-C           correlations have very small chance of being observed.
-C  level 4  (p=389): highest possible luxury, all 24 bits chaotic.
-C
-C!!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-C!!!  Calling sequences for RANLUX:                                  ++
-C!!!      CALL RANLUX (RVEC, LEN)   returns a vector RVEC of LEN     ++
-C!!!                   32-bit random floating point numbers between  ++
-C!!!                   zero (not included) and one (also not incl.). ++
-C!!!      CALL RLUXGO(LUX,INT,K1,K2) initializes the generator from  ++
-C!!!               one 32-bit integer INT and sets Luxury Level LUX  ++
-C!!!               which is integer between zero and MAXLEV, or if   ++
-C!!!               LUX .GT. 24, it sets p=LUX directly.  K1 and K2   ++
-C!!!               should be set to zero unless restarting at a break++ 
-C!!!               point given by output of RLUXAT (see RLUXAT).     ++
-C!!!      CALL RLUXAT(LUX,INT,K1,K2) gets the values of four integers++
-C!!!               which can be used to restart the RANLUX generator ++
-C!!!               at the current point by calling RLUXGO.  K1 and K2++
-C!!!               specify how many numbers were generated since the ++
-C!!!               initialization with LUX and INT.  The restarting  ++
-C!!!               skips over  K1+K2*E9   numbers, so it can be long.++
-C!!!   A more efficient but less convenient way of restarting is by: ++
-C!!!      CALL RLUXIN(ISVEC)    restarts the generator from vector   ++
-C!!!                   ISVEC of 25 32-bit integers (see RLUXUT)      ++
-C!!!      CALL RLUXUT(ISVEC)    outputs the current values of the 25 ++
-C!!!                 32-bit integer seeds, to be used for restarting ++
-C!!!      ISVEC must be dimensioned 25 in the calling program        ++
-C!!! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-      DIMENSION RVEC(LENV)
-      DIMENSION SEEDS(24), ISEEDS(24), ISDEXT(25)
-      PARAMETER (MAXLEV=4, LXDFLT=3)
-      DIMENSION NDSKIP(0:MAXLEV)
-      DIMENSION NEXT(24)
-      PARAMETER (TWOP12=4096., IGIGA=1000000000,JSDFLT=314159265)
-      PARAMETER (ITWO24=2**24, ICONS=2147483563)
-      SAVE NOTYET, I24, J24, CARRY, SEEDS, TWOM24, TWOM12, LUXLEV
-      SAVE NSKIP, NDSKIP, IN24, NEXT, KOUNT, MKOUNT, INSEED
-      INTEGER LUXLEV
-      Integer Input_seed,JSDFLT_set
-      LOGICAL NOTYET
-      DATA NOTYET, LUXLEV, IN24, KOUNT, MKOUNT /.TRUE., LXDFLT, 0,0,0/
-      DATA I24,J24,CARRY/24,10,0./
-CCC  Set starting seed value:
-      If(Input_seed.gt.0) then
-         JSDFLT_set = Input_seed
-      Else
-         JSDFLT_set = JSDFLT
-      End If
-C                               default
-C  Luxury Level   0     1     2   *3*    4
-      DATA NDSKIP/0,   24,   73,  199,  365 /
-Corresponds to p=24    48    97   223   389
-C     time factor 1     2     3     6    10   on slow workstation
-C                 1    1.5    2     3     5   on fast mainframe
-C
-C  NOTYET is .TRUE. if no initialization has been performed yet.
-C              Default Initialization by Multiplicative Congruential
-      IF (NOTYET) THEN
-         NOTYET = .FALSE.
-         JSEED = JSDFLT_set  
-         INSEED = JSEED
-         WRITE(6,'(A,I12)') ' RANLUX DEFAULT INITIALIZATION: ',JSEED
-         LUXLEV = LXDFLT
-         NSKIP = NDSKIP(LUXLEV)
-         LP = NSKIP + 24
-         IN24 = 0
-         KOUNT = 0
-         MKOUNT = 0
-         WRITE(6,'(A,I2,A,I4)')  ' RANLUX DEFAULT LUXURY LEVEL =  ',
-     +        LUXLEV,'      p =',LP
-            TWOM24 = 1.
-         DO 25 I= 1, 24
-            TWOM24 = TWOM24 * 0.5
-         K = JSEED/53668
-         JSEED = 40014*(JSEED-K*53668) -K*12211
-         IF (JSEED .LT. 0)  JSEED = JSEED+ICONS
-         ISEEDS(I) = MOD(JSEED,ITWO24)
-   25    CONTINUE
-         TWOM12 = TWOM24 * 4096.
-         DO 50 I= 1,24
-         SEEDS(I) = REAL(ISEEDS(I))*TWOM24
-         NEXT(I) = I-1
-   50    CONTINUE
-         NEXT(1) = 24
-         I24 = 24
-         J24 = 10
-         CARRY = 0.
-         IF (SEEDS(24) .EQ. 0.) CARRY = TWOM24
-      ENDIF
-C
-C          The Generator proper: "Subtract-with-borrow",
-C          as proposed by Marsaglia and Zaman,
-C          Florida State University, March, 1989
-C
-      DO 100 IVEC= 1, LENV
-      UNI = SEEDS(J24) - SEEDS(I24) - CARRY 
-      IF (UNI .LT. 0.)  THEN
-         UNI = UNI + 1.0
-         CARRY = TWOM24
-      ELSE
-         CARRY = 0.
-      ENDIF
-      SEEDS(I24) = UNI
-      I24 = NEXT(I24)
-      J24 = NEXT(J24)
-      RVEC(IVEC) = UNI
-C  small numbers (with less than 12 "significant" bits) are "padded".
-      IF (UNI .LT. TWOM12)  THEN
-         RVEC(IVEC) = RVEC(IVEC) + TWOM24*SEEDS(J24)
-C        and zero is forbidden in case someone takes a logarithm
-         IF (RVEC(IVEC) .EQ. 0.)  RVEC(IVEC) = TWOM24*TWOM24
-      ENDIF
-C        Skipping to luxury.  As proposed by Martin Luscher.
-      IN24 = IN24 + 1
-      IF (IN24 .EQ. 24)  THEN
-         IN24 = 0
-         KOUNT = KOUNT + NSKIP
-         DO 90 ISK= 1, NSKIP
-         UNI = SEEDS(J24) - SEEDS(I24) - CARRY
-         IF (UNI .LT. 0.)  THEN
-            UNI = UNI + 1.0
-            CARRY = TWOM24
-         ELSE
-            CARRY = 0.
-         ENDIF
-         SEEDS(I24) = UNI
-         I24 = NEXT(I24)
-         J24 = NEXT(J24)
-   90    CONTINUE
-      ENDIF
-  100 CONTINUE
-      KOUNT = KOUNT + LENV
-      IF (KOUNT .GE. IGIGA)  THEN
-         MKOUNT = MKOUNT + 1
-         KOUNT = KOUNT - IGIGA
-      ENDIF
-      RETURN
-C
-C           Entry to input and float integer seeds from previous run
-      ENTRY RLUXIN(ISDEXT)
-         NOTYET = .FALSE.
-         TWOM24 = 1.
-         DO 195 I= 1, 24
-         NEXT(I) = I-1
-  195    TWOM24 = TWOM24 * 0.5
-         NEXT(1) = 24
-         TWOM12 = TWOM24 * 4096.
-      WRITE(6,'(A)') ' FULL INITIALIZATION OF RANLUX WITH 25 INTEGERS:'
-      WRITE(6,'(5X,5I12)') ISDEXT
-      DO 200 I= 1, 24
-      SEEDS(I) = REAL(ISDEXT(I))*TWOM24
-  200 CONTINUE
-      CARRY = 0.
-      IF (ISDEXT(25) .LT. 0)  CARRY = TWOM24
-      ISD = IABS(ISDEXT(25))
-      I24 = MOD(ISD,100)
-      ISD = ISD/100
-      J24 = MOD(ISD,100)
-      ISD = ISD/100
-      IN24 = MOD(ISD,100)
-      ISD = ISD/100
-      LUXLEV = ISD
-        IF (LUXLEV .LE. MAXLEV) THEN
-          NSKIP = NDSKIP(LUXLEV)
-          WRITE (6,'(A,I2)') ' RANLUX LUXURY LEVEL SET BY RLUXIN TO: ',
-     +                         LUXLEV
-        ELSE  IF (LUXLEV .GE. 24) THEN
-          NSKIP = LUXLEV - 24
-          WRITE (6,'(A,I5)') ' RANLUX P-VALUE SET BY RLUXIN TO:',LUXLEV
-        ELSE
-          NSKIP = NDSKIP(MAXLEV)
-          WRITE (6,'(A,I5)') ' RANLUX ILLEGAL LUXURY RLUXIN: ',LUXLEV
-          LUXLEV = MAXLEV
-        ENDIF
-      INSEED = -1
-      RETURN
-C
-C                    Entry to ouput seeds as integers
-      ENTRY RLUXUT(ISDEXT)
-      DO 300 I= 1, 24
-         ISDEXT(I) = INT(SEEDS(I)*TWOP12*TWOP12)
-  300 CONTINUE
-      ISDEXT(25) = I24 + 100*J24 + 10000*IN24 + 1000000*LUXLEV
-      IF (CARRY .GT. 0.)  ISDEXT(25) = -ISDEXT(25)
-      RETURN
-C
-C                    Entry to output the "convenient" restart point
-      ENTRY RLUXAT(LOUT,INOUT,K1,K2)
-      LOUT = LUXLEV
-      INOUT = INSEED
-      K1 = KOUNT
-      K2 = MKOUNT
-      RETURN
-C
-C                    Entry to initialize from one or three integers
-      ENTRY RLUXGO(LUX,INS,K1,K2)
-         IF (LUX .LT. 0) THEN
-            LUXLEV = LXDFLT
-         ELSE IF (LUX .LE. MAXLEV) THEN
-            LUXLEV = LUX
-         ELSE IF (LUX .LT. 24 .OR. LUX .GT. 2000) THEN
-            LUXLEV = MAXLEV
-            WRITE (6,'(A,I7)') ' RANLUX ILLEGAL LUXURY RLUXGO: ',LUX
-         ELSE
-            LUXLEV = LUX
-            DO 310 ILX= 0, MAXLEV
-              IF (LUX .EQ. NDSKIP(ILX)+24)  LUXLEV = ILX
-  310       CONTINUE
-         ENDIF
-      IF (LUXLEV .LE. MAXLEV)  THEN
-         NSKIP = NDSKIP(LUXLEV)
-         WRITE(6,'(A,I2,A,I4)') ' RANLUX LUXURY LEVEL SET BY RLUXGO :',
-     +        LUXLEV,'     P=', NSKIP+24
-      ELSE
-          NSKIP = LUXLEV - 24
-          WRITE (6,'(A,I5)') ' RANLUX P-VALUE SET BY RLUXGO TO:',LUXLEV
-      ENDIF
-      IN24 = 0
-      IF (INS .LT. 0)  WRITE (6,'(A)')   
-     +   ' Illegal initialization by RLUXGO, negative input seed'
-      IF (INS .GT. 0)  THEN
-        JSEED = INS
-        WRITE(6,'(A,3I12)') ' RANLUX INITIALIZED BY RLUXGO FROM SEEDS',
-     +      JSEED, K1,K2
-      ELSE
-        JSEED = JSDFLT_set
-        WRITE(6,'(A)')' RANLUX INITIALIZED BY RLUXGO FROM DEFAULT SEED'
-      ENDIF
-      INSEED = JSEED
-      NOTYET = .FALSE.
-      TWOM24 = 1.
-         DO 325 I= 1, 24
-           TWOM24 = TWOM24 * 0.5
-         K = JSEED/53668
-         JSEED = 40014*(JSEED-K*53668) -K*12211
-         IF (JSEED .LT. 0)  JSEED = JSEED+ICONS
-         ISEEDS(I) = MOD(JSEED,ITWO24)
-  325    CONTINUE
-      TWOM12 = TWOM24 * 4096.
-         DO 350 I= 1,24
-         SEEDS(I) = REAL(ISEEDS(I))*TWOM24
-         NEXT(I) = I-1
-  350    CONTINUE
-      NEXT(1) = 24
-      I24 = 24
-      J24 = 10
-      CARRY = 0.
-      IF (SEEDS(24) .EQ. 0.) CARRY = TWOM24
-C        If restarting at a break point, skip K1 + IGIGA*K2
-C        Note that this is the number of numbers delivered to
-C        the user PLUS the number skipped (if luxury .GT. 0).
-      KOUNT = K1
-      MKOUNT = K2
-      IF (K1+K2 .NE. 0)  THEN
-        DO 500 IOUTER= 1, K2+1
-          INNER = IGIGA
-          IF (IOUTER .EQ. K2+1)  INNER = K1
-          DO 450 ISK= 1, INNER
-            UNI = SEEDS(J24) - SEEDS(I24) - CARRY 
-            IF (UNI .LT. 0.)  THEN
-               UNI = UNI + 1.0
-               CARRY = TWOM24
-            ELSE
-               CARRY = 0.
-            ENDIF
-            SEEDS(I24) = UNI
-            I24 = NEXT(I24)
-            J24 = NEXT(J24)
-  450     CONTINUE
-  500   CONTINUE
-C         Get the right value of IN24 by direct calculation
-        IN24 = MOD(KOUNT, NSKIP+24)
-        IF (MKOUNT .GT. 0)  THEN
-           IZIP = MOD(IGIGA, NSKIP+24)
-           IZIP2 = MKOUNT*IZIP + IN24
-           IN24 = MOD(IZIP2, NSKIP+24)
-        ENDIF
-C       Now IN24 had better be between zero and 23 inclusive
-        IF (IN24 .GT. 23) THEN
-           WRITE (6,'(A/A,3I11,A,I5)')  
-     +    '  Error in RESTARTING with RLUXGO:','  The values', INS,
-     +     K1, K2, ' cannot occur at luxury level', LUXLEV
-           IN24 = 0
-        ENDIF
-      ENDIF
-      RETURN
-      END
index 18a6391..3e65191 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -91,7 +91,7 @@ endif
 
 ALIROOTMODULES := STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS \
       ACORDE HMPID T0 BCM STRUCT EVGEN RALICE VZERO \
-      THijing THbtp HBTP EMCAL HBTAN \
+      THijing THbtp EMCAL HBTAN \
       THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS \
       JETAN HLT LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet
 
@@ -431,7 +431,6 @@ distclean: clean-all
 clean-aliroot:   $(patsubst %,%/module.mk,$(ALIROOTMODULES)) $(patsubst %,clean-%,$(ALIROOTMODULES))
 
 CHECKMODULES := $(MODULES)
-CHECKMODULES := $(filter-out HBTP,$(CHECKMODULES))
 CHECKMODULES := $(filter-out TPHIC,$(CHECKMODULES))
 CHECKMODULES := $(filter-out LHAPDF,$(CHECKMODULES))
 CHECKMODULES := $(filter-out MICROCERN,$(CHECKMODULES))
similarity index 100%
rename from HBTP/common_mesh.inc
rename to THbtp/common_mesh.inc
similarity index 100%
rename from HBTP/common_track.inc
rename to THbtp/common_track.inc
similarity index 100%
rename from HBTP/hbt_track_st.inc
rename to THbtp/hbt_track_st.inc
index a22ef7e..1fa9090 100644 (file)
@@ -1,3 +1,5 @@
+#-*- Mode: Makefile -*-
+FSRCS  =  hbt_event_processor.f
 SRCS= THBTprocessor.cxx AliGenHBTprocessor.cxx
 
 HDRS= $(SRCS:.cxx=.h)
@@ -6,3 +8,9 @@ DHDR= THBTprocessorLinkDef.h
 
 EXPORT:=HBTprocCOMMON.h THBTprocessor.h
 
+ifeq (win32gcc,$(ALICE_TARGET))
+PACKSOFLAGS:= $(SOFLAGS) -L$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET) \
+                         -lSTEER -lEVGEN -lSTEERBase -lmicrocern \
+                         -L$(shell root-config --libdir) -lEG
+endif
+
index c7e71f2..8772f66 100644 (file)
@@ -8,7 +8,6 @@ EVGEN/module.mk:        EVGEN/libEVGEN.pkg
 FMD/module.mk:         FMD/libFMDbase.pkg FMD/libFMDsim.pkg FMD/libFMDrec.pkg FMD/libFMDutil.pkg FMD/libFMDflow.pkg
 FASTSIM/module.mk:     FASTSIM/libFASTSIM.pkg
 HBTAN/module.mk:       HBTAN/libHBTAN.pkg
-HBTP/module.mk:                HBTP/libHBTP.pkg
 HERWIG/module.mk:      HERWIG/libherwig.pkg
 HIJING/module.mk:      HIJING/libhijing.pkg
 HLT/module.mk:         HLT/bindHLTdumpraw.pkg  HLT/libAliHLTRCU.pkg HLT/libHLTbase.pkg HLT/libAliHLTComp.pkg HLT/libAliHLTSample.pkg HLT/libHLTinterface.pkg HLT/libAliHLTHOMER.pkg HLT/libAliHLTTPC.pkg HLT/libHLTrec.pkg HLT/libAliHLTITS.pkg HLT/libAliHLTTRD.pkg HLT/libHLTshuttle.pkg HLT/libAliHLTMUON.pkg HLT/libAliHLTTrigger.pkg HLT/libHLTsim.pkg HLT/libAliHLTPHOS.pkg HLT/libAliHLTUtil.pkg
@@ -168,4 +167,5 @@ $(LIBPATH)/libAliHLTTRD.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libA
 $(LIBPATH)/libAliHLTTPC.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libAliHLTRCU.$(SOEXT) $(LIBPATH)/libAliHLTUtil.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libCDB.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libTPCrec.$(SOEXT) $(LIBPATH)/libTPCbase.$(SOEXT) $(LIBPATH)/libRAWDatarec.$(SOEXT)
 $(LIBPATH)/libAliHLTMUON.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libMUONmapping.$(SOEXT) $(LIBPATH)/libMUONbase.$(SOEXT) $(LIBPATH)/libMUONevaluation.$(SOEXT) $(LIBPATH)/libMUONsim.$(SOEXT) $(LIBPATH)/libMUONcore.$(SOEXT) $(LIBPATH)/libMUONcalib.$(SOEXT) $(LIBPATH)/libMUONgeometry.$(SOEXT) $(LIBPATH)/libMUONraw.$(SOEXT) $(LIBPATH)/libCDB.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libRAWDatarec.$(SOEXT)
 $(LIBPATH)/libHBTAN.$(SOEXT): $(LIBPATH)/libAnalysisOld.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT)
+$(LIBPATH)/libTHbtp.$(SOEXT): $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libEVGEN.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libmicrocern.$(SOEXT)
 endif