Removed ASV version in AliL3FileHandler by another effective i/o method using index...
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Jul 2003 19:22:32 +0000 (19:22 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Jul 2003 19:22:32 +0000 (19:22 +0000)
53 files changed:
HLT/.cvsignore [new file with mode: 0644]
HLT/Makefile
HLT/Makefile.conf
HLT/Makefile.rules
HLT/bin/sethlt.csh
HLT/bin/sethlt.sh
HLT/bin/sethlt_cern.csh
HLT/bin/sethlt_cern.sh
HLT/bin/usehlt.csh
HLT/bin/usehlt.sh
HLT/comp/AliL3FitUtilities.c
HLT/doc/README
HLT/doc/changelog.bin [new file with mode: 0644]
HLT/doc/changelog.comp [new file with mode: 0644]
HLT/doc/changelog.doc [new file with mode: 0644]
HLT/doc/changelog.exa [new file with mode: 0644]
HLT/doc/changelog.hough [new file with mode: 0644]
HLT/doc/changelog.kalman [new file with mode: 0644]
HLT/doc/changelog.misc [new file with mode: 0644]
HLT/doc/changelog.programs [new file with mode: 0644]
HLT/doc/changelog.src [new file with mode: 0644]
HLT/doc/changelog.top [new file with mode: 0644]
HLT/doc/changelog.trigger [new file with mode: 0644]
HLT/exa/.cvsignore [new file with mode: 0644]
HLT/exa/.rootrc [new file with mode: 0644]
HLT/exa/binary.C
HLT/exa/rootlogon.C
HLT/exa/runtracker.C
HLT/hough/AliL3HistogramAdaptive.cxx
HLT/programs/ali2raw.cxx
HLT/programs/convcosmicsfile.cxx
HLT/programs/gettransform.cxx
HLT/programs/read.cxx
HLT/programs/runhough.cxx
HLT/programs/runit.cxx
HLT/programs/runtracker.cxx
HLT/programs/runvhdlcf.cxx
HLT/programs/runvhdlhough.cxx
HLT/programs/speedtest.cxx
HLT/programs/speedtest.h
HLT/src/AliL3ClustFinderNew.cxx
HLT/src/AliL3ConfMapPoint.cxx
HLT/src/AliL3ConfMapPoint.h
HLT/src/AliL3ConfMapper.cxx
HLT/src/AliL3ConfMapper.h
HLT/src/AliL3Display.cxx
HLT/src/AliL3FileHandler.cxx
HLT/src/AliL3FileHandler.h
HLT/src/AliL3Logger.h
HLT/src/AliL3RawDataFileHandler.cxx
HLT/src/AliL3Transform.cxx
HLT/src/AliL3Transform.h
HLT/src/AliLevel3.cxx

diff --git a/HLT/.cvsignore b/HLT/.cvsignore
new file mode 100644 (file)
index 0000000..bc20f21
--- /dev/null
@@ -0,0 +1,3 @@
+*.sh 
+lib* 
+*~ 
index c5700a5..3a926fe 100644 (file)
@@ -18,19 +18,23 @@ libs:
 clean:
        for i in $(MAKEDIRS) ; do cd $$i && $(MAKE) clean ; cd .. ; done
 
+realclean: clean
+       rm -rf $(ALIHLT_LIBDIR) 
+
 print:
        @echo "ROOTSYS           = $(ROOTSYS)"
        @echo "ALICE_ROOT        = $(ALICE_ROOT)"
        @echo ""
        @echo "ALIHLT_BASEDIR    = $(ALIHLT_BASEDIR)"
        @echo "ALIHLT_TOPDIR     = $(ALIHLT_TOPDIR)"
+       @echo "ALIHLT_LIBDIR     = $(ALIHLT_LIBDIR)"
        @echo "ALIHLT_MLUCDIR    = $(ALIHLT_MLUCDIR)"
        @echo "ALIHLT_USEPACKAGE = $(ALIHLT_USEPACKAGE)"
        @echo "ALIHLT_NOLOGGING  = $(ALIHLT_NOLOGGING)"
        @echo "ALIHLT_DOMC       = $(ALIHLT_DOMC)"
-       @echo "ALIHLT_HAVEASV    = $(ALIHLT_HAVEASV)"
        @echo "ALIHLT_ALIDETECT  = $(ALIHLT_ALIDETECT)"
 
 help:
        cat doc/README
 
+.phony: help print clean realclean
index ac32e5e..2f7b031 100644 (file)
@@ -40,13 +40,6 @@ ifeq ($(ALIHLT_DOMC),true)
 DOMC = 1
 endif
 
-#Switch on effective digit data handling 
-#in case you are not using patched AliTPC. 
-#This only has an effect if using ALIROOT.
-ifeq ($(ALIHLT_HAVEASV),true)
-ASVVERSION = 1
-endif
-
 #Switch on ALIROOT version detection by cvs command
 ifeq ($(ALIHLT_ALIDETECT),true)
 USECVS = 1
index 910a4b1..cc7e1b8 100644 (file)
@@ -3,11 +3,12 @@
 # Makefile.rules for HLT code. #
 #                              #
 # Author: Anders Vestbo,       #
-#         Constantin Loizide   #                    
+#         Constantin Loizides  #                    
 ################################
 
 #----------------------------------------------------
-# !!! Dont change anything here !!!
+# !!! Dont change anything here                 !!!
+# !!! and if you have to send a mail to authors !!!
 #----------------------------------------------------
 
 DEFSTR = -Dno_root
@@ -50,9 +51,6 @@ INCLUDES += -I/prog/alice/level3/kip/MLUC/include
 endif
 endif
 
-ifeq ($(ASVVERSION),1)
-DEFSTR += -DASVVERSION
-endif
 
 DEFSTR += $(EXTRADEF)
 
@@ -105,7 +103,6 @@ print:
        @echo "ALIHLT_USEPACKAGE = $(ALIHLT_USEPACKAGE)"
        @echo "ALIHLT_NOLOGGING  = $(ALIHLT_NOLOGGING)"
        @echo "ALIHLT_DOMC       = $(ALIHLT_DOMC)"
-       @echo "ALIHLT_HAVEASV    = $(ALIHLT_HAVEASV)"
        @echo "ALIHLT_ALIDETECT  = $(ALIHLT_ALIDETECT)"
        @echo "ROOTSTR           = $(ROOTSTR)"
        @echo "ALIROOTSTR        = $(ALIROOTSTR)"
@@ -121,12 +118,14 @@ printall: print
 
 clean:
        rm -f $(OBJDIR)/*.o
-       rm -f $(ALIHLT_LIBSO)
        rm -f $(DICT) $(DICTH) 
        rm -rf $(OBJDIR)
 
 so:
        rm -f $(ALIHLT_LIBSO)
 
+realclean: clean so
+
+
+.phony: help print printall clean so realclean
 
-.phony: print clean so
index c377f06..7373982 100755 (executable)
@@ -15,7 +15,6 @@ setenv ALIHLT_LIBDIR ${ALIHLT_TOPDIR}/lib_${ALIHLT_USEPACKAGE}
 
 setenv ALIHLT_NOLOGGING false
 setenv ALIHLT_DOMC true
-setenv ALIHLT_HAVEASV true
 setenv ALIHLT_ALIDETECT true
 
 setenv ALIHLT_MLUCDIR ${ALIHLT_BASEDIR}/kip/MLUC
index dafe5fe..bea7588 100755 (executable)
@@ -19,7 +19,6 @@ export ALIHLT_LIBDIR=$ALIHLT_TOPDIR/lib_$ALIHLT_USEPACKAGE
 
 export ALIHLT_NOLOGGING=false
 export ALIHLT_DOMC=true
-export ALIHLT_HAVEASV=true
 export ALIHLT_ALIDETECT=true
 
 export ALIHLT_MLUCDIR=/usr/local/kip/MLUC
index e54ba4b..813f17a 100755 (executable)
@@ -12,7 +12,6 @@ setenv ALIHLT_LIBDIR ${ALIHLT_TOPDIR}/lib_${ALIHLT_USEPACKAGE}
 
 setenv ALIHLT_NOLOGGING false
 setenv ALIHLT_DOMC true
-setenv ALIHLT_HAVEASV true
 setenv ALIHLT_ALIDETECT true
 
 setenv ALIHLT_MLUCDIR ${ALIHLT_BASEDIR}/kip/MLUC
index 52e3126..b2333e4 100755 (executable)
@@ -12,7 +12,6 @@ export ALIHLT_LIBDIR=$ALIHLT_TOPDIR/lib_$ALIHLT_USEPACKAGE
 
 export ALIHLT_NOLOGGING=true
 export ALIHLT_DOMC=true
-export ALIHLT_HAVEASV=false
 export ALIHLT_ALIDETECT=false
 
 #export ALIHLT_MLUCDIR=/usr/local/kip/MLUC
index d764ab6..d5a1cee 100755 (executable)
@@ -13,5 +13,4 @@ setenv ALIHLT_LIBDIR ${ALIHLT_TOPDIR}/lib_${ALIHLT_USEPACKAGE}
 
 #setenv ALIHLT_NOLOGGING false
 #setenv ALIHLT_DOMC true
-#setenv ALIHLT_HAVEASV true
 #setenv ALIHLT_ALIDETECT true
index 9328c4e..24a1f1e 100755 (executable)
@@ -13,5 +13,4 @@ export ALIHLT_LIBDIR=$ALIHLT_TOPDIR/lib_$ALIHLT_USEPACKAGE
 
 #export ALIHLT_NOLOGGING=false
 #export ALIHLT_DOMC=true
-#export ALIHLT_HAVEASV=true
 #export ALIHLT_ALIDETECT=true
index 1a829dc..541e3c2 100644 (file)
@@ -142,8 +142,8 @@ void f2gauss5(double x,double a[],double *y,double dyda[],int na)
 void nrerror(char error_text[])
 /* Numerical Recipes standard error handler */
 {
-  printf("%s\n",error_text);
-  exit(1);
+  //printf("%s\n",error_text);
+  //exit(1);
 }
 
 void free_vector(double *v, long nl, long nh)
@@ -209,7 +209,7 @@ double **matrix(long nrl,long nrh,long ncl,long nch)
        return m;
 }
 
-void gaussj(double **a, int n, double **b, int m)
+int gaussj(double **a, int n, double **b, int m)
 {
        int *indxc,*indxr,*ipiv;
        int i,icol,irow,j,k,l,ll;
@@ -235,6 +235,7 @@ void gaussj(double **a, int n, double **b, int m)
                                                free_ivector(indxr,1,n);
                                                free_ivector(indxc,1,n);
                                                nrerror("gaussj: Singular Matrix-1");
+                                               return -1;
                                        }
                                }
                ++(ipiv[icol]);
@@ -249,9 +250,13 @@ void gaussj(double **a, int n, double **b, int m)
                        free_ivector(indxr,1,n);
                        free_ivector(indxc,1,n);
                        nrerror("gaussj: Singular Matrix-2");
+                       return -1;
                }
                if (mabs(a[icol][icol]) < EPSILON ) 
-                       nrerror("gaussj: a[icol][icol] == 0");
+                 {
+                   nrerror("gaussj: a[icol][icol] == 0");
+                   return -1;
+                 }
                pivinv=1.0/a[icol][icol];
 
                pivinv=1.0/a[icol][icol];
@@ -274,6 +279,7 @@ void gaussj(double **a, int n, double **b, int m)
        free_ivector(ipiv,1,n);
        free_ivector(indxr,1,n);
        free_ivector(indxc,1,n);
+       return 0;
 }
 
 void covsrt(double **covar, int ma, int ia[], int mfit)
@@ -328,12 +334,12 @@ void mrqcof(double x[], double y[], double sig[], int ndata, double a[], int ia[
        free_vector(dyda,1,ma);
 }
 
-void mrqmin(double x[], double y[], double sig[], int ndata, double a[], int ia[],
+int mrqmin(double x[], double y[], double sig[], int ndata, double a[], int ia[],
        int ma, double **covar, double **alpha, double *chisq,
        void (*funcs)(double, double [], double *, double [], int), double *alamda)
 {
        void covsrt(double **covar, int ma, int ia[], int mfit);
-       void gaussj(double **a, int n, double **b, int m);
+       int gaussj(double **a, int n, double **b, int m);
        void mrqcof(double x[], double y[], double sig[], int ndata, double a[],
                int ia[], int ma, double **alpha, double beta[], double *chisq,
                void (*funcs)(double, double [], double *, double [], int));
@@ -365,15 +371,22 @@ void mrqmin(double x[], double y[], double sig[], int ndata, double a[], int ia[
                        oneda[j][1]=beta[j];
                }
        }
-       gaussj(covar,mfit,oneda,1);
+       if(gaussj(covar,mfit,oneda,1)<0)
+         {
+           free_matrix(oneda,1,mfit,1,1);
+           free_vector(da,1,ma);
+           free_vector(beta,1,ma);
+           free_vector(atry,1,ma);
+           return -1;
+         }
        for (j=1;j<=mfit;j++) da[j]=oneda[j][1];
        if (*alamda == 0.0) {
-               covsrt(covar,ma,ia,mfit);
+               covsrt(covar,ma,ia,mfit);
                free_matrix(oneda,1,mfit,1,1);
                free_vector(da,1,ma);
                free_vector(beta,1,ma);
                free_vector(atry,1,ma);
-               return;
+               return 0;
        }
        for (j=0,l=1;l<=ma;l++)
                if (ia[l]) atry[l]=a[l]+da[++j];
@@ -397,6 +410,7 @@ void mrqmin(double x[], double y[], double sig[], int ndata, double a[], int ia[
                *alamda *= 10.0;
                *chisq=ochisq;
        }
+       return 0;
 }
 
 
@@ -411,20 +425,35 @@ int lev_marq_fit( double x[], double y[], double sig[], int NPT, double a[], int
 
        if( setjmp(env) == 0 ) {        
                alamda = -1;
-               mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda);
+               if(mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda)<0)
+                 {
+                   free_matrix(alpha,1,MA,1,MA);
+                   free_matrix(covar,1,MA,1,MA);
+                   return -1;
+                 }
                k=1;
                itst=0;
                for (;;) {
                        k++;
                        ochisq=chisq;
-                       mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda);
+                       if(mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda)<0)
+                         {
+                           free_matrix(alpha,1,MA,1,MA);
+                           free_matrix(covar,1,MA,1,MA);
+                           return -1;
+                         }
                        if (chisq > ochisq)
                                itst=0;
                        else if (fabs(ochisq-chisq) < 0.1)
                                itst++;
                        if (itst < 4) continue;
                        alamda=0.0;
-                       mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda);
+                       if(mrqmin(x,y,sig,NPT,a,ia,MA,covar,alpha,&chisq,funcs,&alamda)<0)
+                         {
+                           free_matrix(alpha,1,MA,1,MA);
+                           free_matrix(covar,1,MA,1,MA);
+                           return -1;
+                         }
                        *chisq_p = chisq;
                        for (i=1;i<=MA;i++) 
                                dev[i] = sqrt(covar[i][i]);
@@ -438,7 +467,7 @@ int lev_marq_fit( double x[], double y[], double sig[], int NPT, double a[], int
          //if( control_g.print_fit_errors==2 )
          fprintf( stderr, " runtime error\n" );
 
-               free_matrix(alpha,1,MA,1,MA);
+               free_matrix(alpha,1,MA,1,MA);
                free_matrix(covar,1,MA,1,MA);
                return -1;
        }
index 892bc6a..64191a0 100644 (file)
@@ -42,7 +42,6 @@ Compiliation flags:
 
 $ALIHLT_NOLOGGING (false) --> use HLT logger classes (requires MLUC lib)
 $ALIHLT_DOMC (true)       --> store Monte Carlo ids (for ALIROOT package)
-$ALIHLT_HAVEASV (true)    --> have patched ALITPC class for fast digit I/O
 $ALIHLT_ALIDETECT (true)  --> detect ALIROOT version using cvs
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/HLT/doc/changelog.bin b/HLT/doc/changelog.bin
new file mode 100644 (file)
index 0000000..ca6bd2c
--- /dev/null
@@ -0,0 +1,33 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/bin/sethlt_cern.csh, /cvs/hltcvs/level3code/bin/sethlt_cern.sh, /cvs/hltcvs/level3code/bin/sethlt.csh, /cvs/hltcvs/level3code/bin/sethlt.sh, /cvs/hltcvs/level3code/bin/usehlt.csh, /cvs/hltcvs/level3code/bin/usehlt.sh:
+       Removed ASV version, as the new AliL3FileHandler does not need (but still would be faster using the patched AliTPC class).
+
+2003-07-27  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/bin/sethlt_cern.csh: Cern env setting script.
+
+       * /cvs/hltcvs/level3code/bin/sethlt_cern.sh:
+       Added two more scripts for cern default settings.
+
+       * /cvs/hltcvs/level3code/bin/compileall.sh: Bugfix.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/bin/sethlt.csh:
+       Now it is working; damn c-shell
+
+       * /cvs/hltcvs/level3code/bin/usehlt.csh:
+       Little script to change the package.
+
+       * /cvs/hltcvs/level3code/bin/sethlt.csh: Setting file for c-shells.
+
+       * /cvs/hltcvs/level3code/bin/usehlt.sh:
+       Switch usepackage by sourcing usehlt.sh.
+
+       * /cvs/hltcvs/level3code/bin/sethlt.sh:
+       Sample settings for hlt compilation.
+
+       * /cvs/hltcvs/level3code/bin/ali.sh, /cvs/hltcvs/level3code/bin/alone.sh, /cvs/hltcvs/level3code/bin/cleanall.sh, /cvs/hltcvs/level3code/bin/compileall.sh, /cvs/hltcvs/level3code/bin/root.sh:
+       Little scripts for compilation.
+
diff --git a/HLT/doc/changelog.comp b/HLT/doc/changelog.comp
new file mode 100644 (file)
index 0000000..9002367
--- /dev/null
@@ -0,0 +1,334 @@
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       Changes to compile standalone.
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Little bugfix to add .c functions.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Changes to reflect the new makefile strategy.
+
+2003-07-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       Added html tags
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3FitUtilities.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /cvs/hltcvs/level3code/comp/bitio.h, /cvs/hltcvs/level3code/comp/errhand.h:
+       Added html tags for documentation.
+
+2003-07-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Include misc as well and print rootcint command.
+
+2003-07-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3FitUtilities.h, /cvs/hltcvs/level3code/comp/bitio.h:
+       Added extern "C" decleration of the C functions which are used in C++ classes.
+       This was obviously not strictly necessary in some compilers later than 2.95,
+       but when compiling with 2.95 I was not able to link anymore. And it also
+       _should_ be defined like this of course. Since the files are also processed
+       by C compiler, a check has to be done in order only to use the extern "C" flags
+       when compiling in C++, as the C compiler does not now this flag.
+
+2003-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx:
+       Added gccversion check.
+
+2003-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       Changed pointer to input data from AliL3MemHandler to AliL3SpacePointData.
+       In addition a array of int holding the number of clusters in each
+       subsector is provided. Same thing as being done in e.g. AliL3Fitter.
+       Added option to process on patch-level for various reason. This option
+       is controlled by the flag fSinglePatch set in LoadData, and should only
+       be used with care, since there are some functions which expects whole
+       slices; these have to be changed when running fSinglePatch=0.
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       Forgot this one last time
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx:
+       Cosmetic changes only
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx:
+       Changed the return of most functions ot boolean, in order to perform
+       external checks when things are not working.
+       Also changed the comparison of original data to those of 8 bit data, and
+       not 10bit.
+
+2003-06-04  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3FitUtilities.c:
+       Stop writing error messages all the time
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx:
+       - Fixed a memory leakage problem in FitClusters.
+       - In LoadSeeds, enable the possibility of track extending over 3
+       sectors.
+
+2003-05-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       Minor updates connected to last checkin.
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Stable version again. Taking offline tracks as input for cluster fitting seem
+       to work now. However, when finding and fitting clusters this way, and using
+       these clusters as input for compression, the final offline tracking
+       efficiency drops a few percent compared to the original. The source of this
+       drop seems to be that the residuals in the outer padrows are too large
+       for the cluster fitting algorithm to locate the cluster based on the
+       calculated track crossing with padrow.
+
+2003-05-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h:
+       Bugfix. In CheckCluster one has to check whether a fit attempt
+       has been done by track->IsSet(row). This was earlier done in FitClusters,
+       but this produced some memory leakage.
+
+2003-04-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       Bugfix in CalculateClusterWidths
+
+2003-04-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Changes:
+       - AliL3ClusterFitter/AliL3ModelTrack :
+         One bit in AliL3ClusterModel::fPresent is reserved for fit attempt
+       - Enable multiple event handling in AliL3DataCompressor
+
+       * /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       Added function LoadOfflineData, which allows to use offline
+       reconstruced tracks as input for the compression.
+
+2003-04-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Mostly cleaning up and making nicer code. Some changes in AliL3ClusterFitter:
+       -WriteClusters has been moved from AliL3Modeller.
+       -Implementation of seeds coming from tracking in outer padrows.
+
+2003-04-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       New version of compression classes. The main changes are:
+       - AliL3DataCompressor has been completely rewritten. Instead of
+       storing remaining digits, the remaining clusters are stored. Also,
+       the remaining clusters which are stored can be cleaned,
+       meaning that one only stores clusters which are on certain padrows.
+       In particular one stores everything which is on
+       padrows used for seeding in offline.
+       - New data structures for remaining clusters in AliL3Models.h
+       - Some bugfixes in AliL3ModelTrack. In CalculateClusterWidths,
+       one can specify a flag to parametrize cluster errors from
+       the cluster widths.
+
+2003-03-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       Removed cluster charge field from the AliL3TrackModel, since it is
+       not used anyhow. Some fixes in AliL3ModelTrack, most important one
+       a bug in destructor where not everything was deleted.
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: Added defs string to rootcint
+
+2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3FitUtilities.c, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /cvs/hltcvs/level3code/comp/Makefile:
+       Checking in all changes which gas been done the latest month.
+       Basically a lot of rewrites, specially in the cluster fitter class.
+       All code was tagged before this checkin.
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: Changed definition of TOPDIR
+
+2002-11-12  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /cvs/hltcvs/level3code/comp/AliL3FitUtilities.c, /cvs/hltcvs/level3code/comp/AliL3FitUtilities.h:
+       Checking in the seeds of new cluster fitting code.
+
+2002-10-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       More or less working version now. Everything is handled in the
+       AliL3DataCompressor class. Remaining digits are written to rootfile
+       and processed by the offline cluster finder. In AliL3Modeller::CheckCluster
+       it is also checked how big/small the cluster is in order not to save
+       overlapping/noise clusters.
+
+2002-10-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /cvs/hltcvs/level3code/comp/Makefile:
+       New interface class for the compression classes.
+       Contains all the functions needed to do the different
+       steps; modelling - compressing - uncompressing - running offline etc.
+
+2002-10-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       Changed parameters of WriteRootFile
+
+2002-10-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h:
+       Added new function AliL3Modeller::CheckCluster. Function checks if the
+       cluster corresponding to a certain track crossing point is a good cluster;
+       if it is isolated and only 1 peak. If not, cluster is saved as remaining
+       digits.
+
+2002-10-11  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Can print compression ratio to file in AliL3Compress::PrintCompRatio.
+       Minor changes to AliL3Modeller; differ between fTimeOverlap (pad)
+       and fTimeSearch (newly added boolean). The latter is used when searhcing
+       for a cluster around the track crossing point, while the first is only
+       used when checking for overlaps.
+
+2002-10-04  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Some changes resulting from last week work. The mc stuff has been removed.
+       Added possibility to not save the width when compressing file; this is one
+       by setting the flag AliL3Compress::fWriteShape.
+
+       The status of the code is that it seems to be more or less working. The
+       efficiency drops a little bit when running it through offline, but this
+       is mainly because overlapping clusters are not deconvoluted, and 2 clusters
+       found by the offline cluster finder will be 1 cluster after compressing/
+       decompressing. The only way to get rid of this, is to include some
+       deconvolution in the AliL3Modeller::FindClusters.
+
+2002-08-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/Makefile:
+       Little changes to make g++ version 3.2 compile the comp library.
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Changes for independant library of standalone l3 code.
+
+2002-07-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Added possibility to compile and run with mc information. This was done
+       by adding a new data member to AliL3ClusterModel (in AliL3Models.h), and
+       a function AliL3Modeller::GetTrackID.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Minor changes to make it work with new Top Makefile. Also have generated code separated for each USEPACKAGE now.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: New topdir Makefile
+
+2002-05-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       Forgot this one last time...
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx: Latest version
+
+2002-05-30  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/bitio.c, /cvs/hltcvs/level3code/comp/bitio.h, /cvs/hltcvs/level3code/comp/errhand.c, /cvs/hltcvs/level3code/comp/errhand.h:
+       Changes to make AliL3Compress work with new AliL3MemHandler::Init.
+
+2002-05-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/run.C: Macro that should lie in exa
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Models.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /cvs/hltcvs/level3code/comp/bitio.c:
+       Moving to static AliL3Transform.
+       Some changes has been made since last checkin;
+       some smaller bugfixes everywhere. The number of pads in a cluster is stored,
+       because there are some cluster containing only 1 pad which create problems
+       when restoring the data. In principle one has to remove these clusters
+       before writing them, but this has not been incorporated yet.
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Root objects are compiled in lib_ROOT from now on.
+
+2002-04-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Minor changes to check for NOLOGGING env str
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Improved Makefile, by setting logging path, TOPDIR and LIBDIR.
+
+2002-04-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Added the USEPACKAGE option in Makefile.
+
+2002-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile:
+       Can compile with or without aliroot.
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       A bugfix in AliL3Modeller::FindClusters. Changed parameter list in AliL3ModelTrack::GetParSigma**. Added function AliL3Compress::PrintCompRatio.
+
+2002-03-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       Major bugfix in AliL3Compress::WriteRestoredData(). Also added naming conventions on the various data files.
+
+2002-03-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       Checking in for the weekend. Compressing/uncompressing works. Restoring data - building clusters seem to work, at least for one track.
+
+2002-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: Check for lib directories
+
+2002-02-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: Minor updates
+
+       * /cvs/hltcvs/level3code/comp/AliL3Models.h:
+       Data structures for track and clusters
+
+       * /cvs/hltcvs/level3code/comp/run.C: Example how to run script
+
+       * /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h:
+       Checking in for the weekend
+
+2002-01-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/Makefile: Including latest changes
+
+       * /cvs/hltcvs/level3code/comp/bitio.h, /cvs/hltcvs/level3code/comp/errhand.c, /cvs/hltcvs/level3code/comp/errhand.h, /cvs/hltcvs/level3code/comp/bitio.c:
+       Functions for bitio. Taken as is from The Data Compression Book
+
+       * /cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       Class for doing model compression
+
+2002-01-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /cvs/hltcvs/level3code/comp/Makefile, /cvs/hltcvs/level3code/comp/rootlogon.C, /cvs/hltcvs/level3code/comp/AliL3Modeller.h, /cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       Started classes for modeling and compression
+
diff --git a/HLT/doc/changelog.doc b/HLT/doc/changelog.doc
new file mode 100644 (file)
index 0000000..38729f5
--- /dev/null
@@ -0,0 +1,20 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/doc/README:
+       Removed ASV version, as the new AliL3FileHandler does not need (but still would be faster using the patched AliTPC class).
+
+2003-07-27  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/doc/README: Added _cern.
+
+       * /cvs/hltcvs/level3code/doc/README: Added a few more lines.
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/doc/README: Second version of the README file.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/doc/README:
+       Dummy readme file, the real has to be written.
+
diff --git a/HLT/doc/changelog.exa b/HLT/doc/changelog.exa
new file mode 100644 (file)
index 0000000..deec83b
--- /dev/null
@@ -0,0 +1,521 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C: Added more comments.
+
+       * /cvs/hltcvs/level3code/exa/binary.C: Added altro flag.
+
+2003-07-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C:
+       Added more comments, and check if transformer was really initialized.
+
+       * /cvs/hltcvs/level3code/exa/testfile.C:
+       Removed the testfile as everything is working :-)
+
+       * /cvs/hltcvs/level3code/exa/testfile.C:
+       Test add to see wether Andi is notified.
+
+       * /cvs/hltcvs/level3code/exa/.cvsignore: Made a list out of it.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: Use libdir for loading libs.
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/.cvsignore: Added further files.
+
+       * /cvs/hltcvs/level3code/exa/runcf.C: Added comments
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Changes to reflect the new makefile strategy.
+
+2003-07-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runcf.C:
+       Example how to run the cluster finder standalone
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/.rootrc: Added .rootrc file.
+
+       * /cvs/hltcvs/level3code/exa/.cvsignore: Added .cvsignore file.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: Adjusted path.
+
+2003-07-10  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runkalman.C:
+       Macro for running the kalman filter.
+
+2003-04-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C: Minimum changed.
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Added label.
+
+2003-04-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Added possibility to enter good-file also as trigger file.
+
+2003-04-17  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Min 5 tracks have to be in the triggered events -> MakePileup.C
+
+       * /cvs/hltcvs/level3code/exa/runMakePileup.C: Added new parameter.
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Removed warning.
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: uncomment output.
+
+2003-04-15  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Have minimum trigger events of 5.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Solved little bugs from last checking.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Added check for pileup event to have more than 5 tracks.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: Default is AliL3Logger now
+
+2003-04-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/display.C: Removed Logger from macro.
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C:
+       Little change to have output path for points and tracks.
+
+       * /cvs/hltcvs/level3code/exa/binary.C: Added root vars.
+
+2003-04-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/binary.C, /cvs/hltcvs/level3code/exa/runtracker.C:
+       Changed variable types to conv.
+
+2003-03-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Bugfix
+
+2003-03-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: please try
+
+2003-03-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Bugfix
+
+2003-03-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       version with produced ppr results.
+
+2003-03-21  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/PlotPythiaEvent.C: Small changes.
+
+2003-03-20  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C: Added comments.
+
+2003-03-17  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/PlotPythiaEvent.C:
+       Corrected error in plotting secondary vertices.
+
+2003-03-12  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/fill_pp.C, /cvs/hltcvs/level3code/exa/MakePileup.C, /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Added extensive comments.
+
+2003-03-08  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker_pp.C: use pp params.
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       my first eff calculator for pileup, has some problems and no time to debug...
+
+       * /cvs/hltcvs/level3code/exa/fill_pp.C:
+       added eval function and some plot function as well as functions to make ntuples.
+
+2003-03-07  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Added test_pp which does the counting for the triggered and fake tracks.
+
+       * /cvs/hltcvs/level3code/exa/fill_pp.C: Added print function.
+
+2003-03-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C: Bugfix
+
+2003-03-06  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/display.C:
+       Added little function to display pp event.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: Added Transformer path.
+
+2003-03-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/fill_pp.C:
+       Macro that reads one track array and stores it in an ntuple in a rootfile which is updated. That way one can get all needed trackinfo into one single root file for later analysis.
+
+       * /cvs/hltcvs/level3code/exa/runtracker_pp.C: Little changes.
+
+2003-03-05  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Added AliL3Evaluate::AssignIDs function.
+
+2003-03-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Added eval_pp function as a quick reference how to use the AliL3Eval class.
+
+2003-03-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker_pp.C:
+       Added some function to evalute pile up events.
+
+       * /cvs/hltcvs/level3code/exa/display.C: Not finished but working.
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C:
+       Added some comments for parameters.
+
+       * /cvs/hltcvs/level3code/exa/read.C: Cosmetic change
+
+2003-02-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C:
+       Updated macro. Most important change is that tracking parameters are
+       read from an external macro, in order to more easily use the correctly
+       tuned parameters for each multiplicity.
+
+       * /cvs/hltcvs/level3code/exa/SetTrackingParameters_1000bf02.C:
+       Updated parameters for tracking. Should be read by runtracker.C macro.
+
+       * /cvs/hltcvs/level3code/exa/SetTrackingParameters_1000bf04.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_2000bf02.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_2000bf04.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_4000bf02.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_4000bf04.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_8000bf02.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_8000bf04.C, /cvs/hltcvs/level3code/exa/SetTrackingParameters_pp.C:
+       SetTrackingParameters_1000bf02.C
+
+2003-02-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runMakePileup.C:
+       Use compiled pileup macro for production of pp events.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Little change for default beh.
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Added locally compiled macros.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Little bug concerning absolute pileupdirpath.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Added starting event and stopping event because we cannot store all events in one digitfile.
+
+       * /cvs/hltcvs/level3code/exa/read.C:
+       Added starting event in read_event_tree.
+
+       * /cvs/hltcvs/level3code/exa/read.C:
+       Added function for testing digitfile.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Choose events randomly. Solved bug of last checking which made macro crash when merging.
+
+2003-02-25  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/PlotPythiaEvent.C:
+       Small change for writing histograms to file.
+
+2003-02-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/binary.C: Update to new binary file name
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runtracker_pp.C:
+       Added first simple evaluation.
+
+       * /cvs/hltcvs/level3code/exa/runtracker.C:
+       Added simple support for aliroot file and digit file tracking.
+
+       * /cvs/hltcvs/level3code/exa/read.C:
+       Added read function for pileup events.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Added real support of MC ids.
+
+       * /cvs/hltcvs/level3code/exa/Eval.C, /cvs/hltcvs/level3code/exa/eval.C:
+       No one remembers what they were good for.
+
+2003-02-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       10 bits for event number in trackID
+
+2003-02-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: Copy of Anders rootlogin.
+
+       * /cvs/hltcvs/level3code/exa/make_init.C:
+       Not needed -> see AliL3Transform::MakeInit().
+
+2003-02-21  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Add MCid assigning.
+
+       * /cvs/hltcvs/level3code/exa/PlotPythiaEvent.C:
+       Macro for plotting secondary vertices.
+
+       * /cvs/hltcvs/level3code/exa/MakePythia.C:
+       First version of macro to make pp-events with pythia.
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C: Added pileup for 100 events.
+
+       * /cvs/hltcvs/level3code/exa/runtracker_pp.C:
+       First version of pp tracker.
+
+2003-02-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Updated
+
+2003-02-20  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Added MC lib and change logic for path of libs.
+
+2003-02-20  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C: Improved reading
+
+2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.C:
+       Moved from old program/MakePileup.cxx. Code was updated to save
+       MCIDs of the trigger event in order to do detailed analysis.
+
+2003-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runhough.C:
+       Updated according to changes in libraries
+
+2002-11-13  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/binary.C: Little changes.
+
+2002-10-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/binary.C:
+       Added function that writes new rootfile with digits from the
+       binary files. This is done in order to get the same cuts;
+       adc saturation, 45 degree cone etc, into the offline chain.
+
+2002-09-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/read.C, /cvs/hltcvs/level3code/exa/runtracker.C:
+       Little changes for aliroot version 3.08.
+
+2002-09-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/binary.C:
+       Little bugfix for new aliroot version 3.08.
+
+       * /cvs/hltcvs/level3code/exa/display.C: Little change.
+
+       * /cvs/hltcvs/level3code/exa/binary.C, /cvs/hltcvs/level3code/exa/Binary.C:
+       Moved Binary.C to binary.C.
+
+       * /cvs/hltcvs/level3code/exa/Display.C:
+       Deleted as functionality is now in dislplay.C and AliL3Display class.
+
+       * /cvs/hltcvs/level3code/exa/make_init.C, /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Moved Make_Init.C to make_init.c.
+
+       * /cvs/hltcvs/level3code/exa/Binary.C: Changed for new Aliroot version.
+
+2002-09-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Moved this functionaly to a functio in AliL3Transform::MakeInitFile.
+       This macro can now be used to create default values for AliL3Transform.cxx.
+
+2002-08-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C: Little bugfix.
+
+2002-07-07  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/display.C, /cvs/hltcvs/level3code/exa/Display.C, /cvs/hltcvs/level3code/exa/Eval.C, /cvs/hltcvs/level3code/exa/eval.C, /cvs/hltcvs/level3code/exa/Make_Init.C, /cvs/hltcvs/level3code/exa/read.C, /cvs/hltcvs/level3code/exa/rootlogon.C, /cvs/hltcvs/level3code/exa/runhough.C, /cvs/hltcvs/level3code/exa/runtracker.C, /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Smaller changes to make macros work with newest lib version. Also added some comments.
+
+       * /cvs/hltcvs/level3code/exa/convert.C: Convert 10 bit data to 8 bit.
+
+2002-06-10  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C:
+       Make singlepatch work with new AliL3Transform.
+
+2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runhough.C: Latest version
+
+2002-05-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/runhough.C: Bugfix
+
+       * /cvs/hltcvs/level3code/exa/houghtest.C, /cvs/hltcvs/level3code/exa/rootlogon.C, /cvs/hltcvs/level3code/exa/runhough.C:
+       Renamed houghtest.C to runhough.C
+
+       * /cvs/hltcvs/level3code/exa/houghtest.C:
+       Some minor changes in AliL3Hough
+
+2002-05-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/display.C, /cvs/hltcvs/level3code/exa/Display.C, /cvs/hltcvs/level3code/exa/rootlogon.C, /cvs/hltcvs/level3code/exa/runtracker.C, /cvs/hltcvs/level3code/exa/test.C:
+       Renamed macro test.C in runtracker.C
+
+2002-05-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/houghtest.C:
+       Example macro how to run Hough.
+
+2002-05-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C:
+       Changed default path value to ".".
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Incorporated BFieldFactor from gAlice->Field()->Factor().
+
+2002-05-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C: Added comment line.
+
+2002-05-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C: Bugfix in previous checkin.
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Added some gas and electronic parameters.
+
+2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Changes as a result of making AliL3Transform static.
+
+2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.cxx, /cvs/hltcvs/level3code/exa/MakePileup.h:
+       Moved to misc
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C:
+       Added new fields for new Transformer Object config
+
+       * /cvs/hltcvs/level3code/exa/Binary.C: Added new Transformer Object.
+
+2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Loading all present HLT libaries
+
+       * /cvs/hltcvs/level3code/exa/test.C:
+       Incorporated latest changes in AliLevel3 class.
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C: also checks timebins
+
+2002-01-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/read.C:
+       Added macro for simply reading a binary rawdata file
+
+       * /cvs/hltcvs/level3code/exa/test.C:
+       Added possibility to run several events, and do seperate settings for nonvertex tracking. Basically a result of working with p-p collisions.
+
+       * /cvs/hltcvs/level3code/exa/eval.C, /cvs/hltcvs/level3code/exa/display.C:
+       Minor changes
+
+2002-01-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: New library paths
+
+2002-01-11  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C: Latest changes
+
+2002-01-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.h, /cvs/hltcvs/level3code/exa/MakePileup.cxx:
+       Update
+
+       * /cvs/hltcvs/level3code/exa/MakePileup.cxx, /cvs/hltcvs/level3code/exa/MakePileup.h:
+       Functions to make pileup events.
+
+2001-12-11  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C: possible to only do 1 slice
+
+2001-12-10  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/trigger_pp.C:
+       Example how to read reconstructed tracks, and load generated particles in pp-events
+
+2001-11-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/display.C:
+       Example of how to use display class
+
+2001-08-17  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C, /cvs/hltcvs/level3code/exa/test.C, /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/Display.C:
+       update to version V3.05
+
+2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C: new paths
+
+2001-05-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Eval.C:
+       Example how to use AliL3Evaluate class
+
+2001-05-01  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Make_Init.C: add fNTimeBins
+
+2001-04-06  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/eval.C: Exampel to use AliL3Evaluate
+
+2001-03-26  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/test.C: minor changes
+
+2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Changed to /usr/local/anders/aliroot/mylibs
+
+2001-03-22  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/exa/Binary.C: typo in function name
+
+       * /cvs/hltcvs/level3code/exa/test.C: Imported the example macros
+
+       * /cvs/hltcvs/level3code/exa/test.C: New file.
+
+       * /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/Display.C, /cvs/hltcvs/level3code/exa/Make_Init.C, /cvs/hltcvs/level3code/exa/rootlogon.C:
+       Imported the example macros
+
+       * /cvs/hltcvs/level3code/exa/Binary.C, /cvs/hltcvs/level3code/exa/Display.C, /cvs/hltcvs/level3code/exa/Make_Init.C, /cvs/hltcvs/level3code/exa/rootlogon.C:
+       New file.
+
diff --git a/HLT/doc/changelog.hough b/HLT/doc/changelog.hough
new file mode 100644 (file)
index 0000000..6b35914
--- /dev/null
@@ -0,0 +1,705 @@
+2003-07-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx:
+       Added std for gcc-3
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/Makefile, /cvs/hltcvs/level3code/hough/Makefile.standalone:
+       Removed, use ALIHLT_USEPACKAGE=STANDALONE instead.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Changes to reflect the new makefile strategy.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx:
+       g++ 3.3.1 requires explicit cast.
+
+2003-07-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/Makefile:
+       Added html tags for documentation. Some of the classes has also undergone
+       smaller modifications, - hopefully not too critical.
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.h, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       Added html tags for documentation.
+
+2003-07-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Include misc as well and print rootcint command.
+
+2003-07-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h:
+       Bugfix and some changes. Changes in the code which caclculates border line
+       where to do the transform.
+
+2003-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       Changed Draw function, because it didn't work.
+
+2003-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       Changes for gcc-3.3; solved some virtual overload function ambiguosities.
+
+2003-05-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h:
+       Transform global regions
+
+2003-05-13  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       Little bug fix.
+
+2003-04-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Bugfix in Max Finder borders thanks to Sondre.
+
+2003-02-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       Optimize for speed.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Added adding of a one but commented it out again.
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Added defs string to rootcint
+
+2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       Checking in all the changes for the last couple of months.
+       All files were tagged prior to this checkin.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h:
+       3D transform
+
+2003-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Set fDoMC to kFALSE in ctor. Also fill the charge in the transform.
+
+2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       Commented class which is defined in Makefile
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Changed definition of TOPDIR
+
+2003-01-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       Minor bugfix
+
+2002-12-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       Generate data now in 3 dimensions. This means that the clusters
+       are really 2d for every padrow. Timedirection is gauss smeared
+       according to the drift distance.
+
+2002-12-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       Several bugfixes
+
+2002-12-10  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       Checking in code which until now only existed as macros in my
+       home directory. The class contains functions to generate data,
+       which should resemble tpc rawdata without any geant stuff in of
+       course. Is primarily used to investigate the properties of the
+       models, spread of peaks etc.
+
+2002-12-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h:
+       Seems to be working properly now.
+
+2002-11-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       Fill charge as default
+
+2002-11-15  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       Added Kappa information.
+
+2002-11-13  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       Changes to show that do_mc is not yet working. Everything else is and was working now.
+
+2002-10-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Added new function AliL3Hough::MergeEtaSlices which merges tracks which
+       appear in 2 neighbouring eta slices. The tracks are matching if they have
+       identical kappa and psi; they appear in the same bin. The one with the
+       lower threshold are removed from the track array.
+
+       There is also a bugfix in AliL3HoughTransformer::GetEta, the sign should
+       not be swicthed on the other half of TPC, because the sign is already included
+       in the (GetEtaMax() - GetEtaMin()).
+
+       Also the DoMC flag in the AliL3HoughTransformer ctor.
+
+2002-09-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       Changes done for new aliroot version. Faster calculation through saving LUT for kappa.
+
+2002-09-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       Read from rootfile called digitfile.root in AliL3Hough.cxx.
+       Bugfix in the rest.
+
+2002-08-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx: Cosmetic.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx:
+       Added default values to default constructor.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       New VHDL transformer code. Implemented iterative approach. Old code moved locally to *.old.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       Small bugfix concerning calculation of eta.
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Added LUT transformer and new function to set parameter for VHDL transformer.
+
+2002-08-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Include AliL3StandardIncludes.h in AliL3HistogramAdaptive as well, and not in AliL3Histogram.h
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       Made Constantins last checkin compile ;-)
+
+2002-08-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/Makefile, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       Little changes to make g++ version 3.2 compile the hough library.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       Merged version. Bug still remains. New implementation started with AliL3HoughTransformerLUT.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       Fast Hough transformer using extensivle LUT for geometry and cos/sin functions.
+
+2002-08-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Some new changes in the adaptive histogram. Binsize in kappa are determined
+       from a given Pt resolution. Changes in AliL3Histogram class in order to make
+       the corresponding functions virtual, and the data members protected.
+
+2002-08-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Another bugfix connected to fTrackID histograms
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Added private data member Bool_t fDoMC, in order to control the mc
+       information storage. Default is switched off, because it currently
+       uses _a lot_ of memory.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Bugfix from the last checkin
+
+2002-08-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
+       Cosmetic changes, and a new function AliL3Hough::ProcessPatchIter.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Cosmetic changes.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Added mc functionality. If compiled with do_mc flag, the transformer will
+       fill arrays which are similar to the histograms with the particle id's
+       of the digits. The corresponding id of a given bin in a histogram, can
+       be obtained by the function AliL3HoughTransformer::GetTrackID. The id
+       returned is the id with the most hits in the corresponding bin.
+
+2002-08-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h:
+       New histogram class in order to have a nonlinear binsize.
+
+2002-08-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h:
+       New toy class which works on clusters found by the fast cluster finder.
+       Not included in Makefiles yet.
+
+2002-08-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       Also add the number of entries when adding 2 histograms.
+
+2002-08-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Changed the content array (fContent) of the histogram to integers
+       instead of double. In principle only integer is needed, and I really
+       don't remember now why I set it to be double.
+
+2002-08-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       Slice information is needed by the transformer in
+       AliL3HoughTransformer::GetEta, because the the sign
+       of the eta changes on the other half of the TPC.
+       Minor change in AliL3HoughMaxFinder; adjusted the
+       interface of FindPeak1 in order to be consistent.
+
+2002-07-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Get the BField from AliL3Transform. This was hardcoded up to now.
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       New code which is much closer to the possible VHDL implementation. Should also be considerably faster (40 percent) than the normal transformer, but unfortunately has some bugs.
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Little changes to make it work with GetEta function of HoughTransformer. Also litte changes to make it work and debug with the VHDL Hough Transformer.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Little changes to make it work with new base class.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h:
+       Added virtual function Init for setting the slice, patch and n_eta_seg information. Also have GetEta function which calculates eta according to slice info (minus sign) and Print function for debugging to get the parameters used by the VHDL Transformer.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       Changes for independant library of standalone l3 code.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       Removed Clusterfinder class from link list.
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Changes for independant library of standalone l3 code.
+
+       * /cvs/hltcvs/level3code/hough/Makefile.standalone:
+       Newline added at the end of file.
+
+2002-07-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       New function, CreateRootHisto(). Just to seperate it from Draw
+
+2002-07-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Merging my version with Constantins last checkin.
+       New function added EvaluatePatch(), which only looks
+       in 1 patch, instead of globally looking at the slice.
+       Small bugfix in AliL3HoughEval.
+
+2002-07-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Added function SetTransformerParams for setting Histogram Parameters of Transformer. And some litte code cleanups, see Init function.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Gradient check reverted, but also commented out.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h:
+       Have definable geometry file.
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Add version support for vhdl hough.
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Minor changes to make it work with new Top Makefile. Also have generated code separated for each USEPACKAGE now.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: New topdir Makefile
+
+2002-05-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Some changes in AliL3Hough::Evaluate. Comments have been added in the code.
+       Added some timing outputs in AliL3Hough.
+       In AliL3HoughEval::LookInsideRoad; removed the check whether the tracks is
+       leaving the slice; because this fails when the tracks is bending _in_ to the
+       slice. In the argument, one can also access the number of padrows which where
+       good; meaning padrows along the road which had signal.
+       In AliL3HoughMaxFinder; currently the check for the gradient is commented out.
+
+2002-05-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/Makefile:
+       Bugfix in AliL3Hough::FindTrackCandidates; when track->SetEta, one has to
+       check the current slice, in order to get minus sign on other half of TPC.
+       Included an upper threshold in AliL3HoughBaseTransformer; all digits with
+       high values than this are not transformed.
+
+2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Made display class work. Also added it to makefile.
+
+2002-05-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Changes done to include new ALiL3HoughTransformerVhdl.
+
+2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       Made it possible to read different and several events from rootfile.
+       Also included a ntuppel, for storing different characteristics of the
+       peaks in AliL3HoughMaxFinder.
+
+2002-05-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       Bugfix in line 314; paranthes missing
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /cvs/hltcvs/level3code/hough/GetGoodParticles.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Moved GetGoodParticles to alimacros
+
+2002-05-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/Makefile:
+       Can now use 8 bit data as input, by setting the apropriate
+       flag in AliL3Hough::Init.
+
+2002-05-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Cleaning up. Made some changes in AliL3HoughMaxFinder. Peaks are now
+       stored in private arrays, and does not have to be passed as arguments
+       for every function. Instead, they should be reached with getters.
+       Some minor cleaning was also done in AliL3Hough and AliL3HoughEval.
+
+2002-05-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Forgot to remove #include in previous checkin
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       Get the Bfield from AliL3Transform
+
+2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/GetGoodParticles.cxx:
+       Changes as a result of making AliL3Transform static.
+
+2002-04-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Some additional changes related to the previous changes. AliL3Transform
+       object has now to be passed to the AliL3HoughBaseTransformer in order to
+       avoid giving the path where the config file is to the AliL3HoughBaseTransformer
+       object.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Made a new abstract base class; AliL3HoughBaseTransformer for different implementations
+       of the circle Hough transform. All the member functions which were previously in
+       AliL3HoughTransformer are virtual in this class, and should be appropriately overloaded
+       in the underlying implementations.
+
+2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/hough.C, /cvs/hltcvs/level3code/hough/hough_line.C, /cvs/hltcvs/level3code/hough/hough_line_merge.C, /cvs/hltcvs/level3code/hough/hough_merge.C, /cvs/hltcvs/level3code/hough/hough_mergehistos.C, /cvs/hltcvs/level3code/hough/rootlogon.C, /cvs/hltcvs/level3code/hough/test.C, /cvs/hltcvs/level3code/hough/testPF.C:
+       Removing old scripts no longer used.
+
+2002-04-20  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       More comments for documentation.
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Root objects are compiled in lib_ROOT from now on.
+
+2002-04-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Does not compile GetGoodParticles in case of no AliROOT.
+
+2002-04-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Minor changes to check for NOLOGGING env str
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMerger.h:
+       MergeEtaSlices and MergeTracks are currently empty.
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Improved Makefile, by setting logging path, TOPDIR and LIBDIR.
+
+2002-04-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       Added the USEPACKAGE option in Makefile.
+
+2002-04-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Added function AliL3HoughTransformer::GetEtaIndex. Modified AliL3Hough::WriteTracks.
+
+2002-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Check for lib directories
+
+2002-02-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Minor updates
+
+       * /cvs/hltcvs/level3code/hough/Makefile.standalone, /cvs/hltcvs/level3code/hough/rootlogon.C, /cvs/hltcvs/level3code/hough/test.C, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       Checking in for the weekend
+
+2002-01-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile:
+       New makefile. Written by me, hence better
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h:
+       Should only have one of these files
+
+2002-01-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       SetNHits, in order to make the IO work in memhandler class.
+
+2002-01-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile.standalone:
+       Makefile for standalone program
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       Minor changes
+
+       * /cvs/hltcvs/level3code/hough/test.C: More functions
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       Added SetTgl in Set()
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
+       Added test if the track is leaving the sector, in that case this should be taken account for when evaluating the number of rows it should cross.
+
+2001-12-10  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/GetGoodParticles.h, /cvs/hltcvs/level3code/hough/test.C, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Defs.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       Checking in latest changes.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.h, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx:
+       Merging classes
+
+2001-11-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Added new classes
+
+2001-11-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h:
+       New display class
+
+2001-11-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       Bugfix in SetTrackParameters, wrong charge...
+
+2001-11-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Moved AliL3HoughTrack to hough
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       Moved classes from src
+
+2001-11-13  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/rootlogon.C:
+       New path to Timms shared library
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Possible to compile without ROOT
+
+       * /cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /cvs/hltcvs/level3code/hough/GetGoodParticles.h:
+       Possible to specify a number of slices, instead of only one
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       Added some histos in CompareMC, and new function FindEta()
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       UpdateRowPointer is now static function in memhandler.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/Makefile, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.h:
+       Changed name of merger
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerger.h:
+       Changed name of merger to AliL3HoughMerger
+
+2001-11-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram1D.h:
+       Added 1D histograms.
+
+2001-10-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Latest update, bugfix i think
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       Added function CompareMC
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       Bugfix in destructor etc.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Added Reset function
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/Makefile:
+       Added function GetGoodParticles
+
+       * /cvs/hltcvs/level3code/hough/GetGoodParticles.h, /cvs/hltcvs/level3code/hough/GetGoodParticles.cxx:
+       Added function to extract good particles
+
+2001-09-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/rootlogon.C, /cvs/hltcvs/level3code/hough/test.C:
+       results of cleanup
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Rewriting and cleaning up
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h: blabla
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Added threshold
+
+2001-09-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/test.C: Adding example macro
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx: Added function Add
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.h: Bugfix
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h: 6 patches
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Cleaning up a lot
+
+2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Another bugfix
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Bugfix in previous commitment
+
+       * /cvs/hltcvs/level3code/hough/Makefile: Changed path of mylibs
+
+2001-07-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/Makefile, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Updating
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h: Added histoclass
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Some changes
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h: Added to constants
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       Just testing
+
+2001-06-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Major changes
+
+2001-06-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       Wrote a new class
+
+2001-04-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/testPF.C, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/hough_mergehistos.C:
+       Updating before easter
+
+2001-03-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Transform.h, /cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       Removed obsolete code, and removed a typo
+
+       * /cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       Added new base class
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx:
+       Removed obsolete code
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /cvs/hltcvs/level3code/hough/hough_merge.C, /cvs/hltcvs/level3code/hough/Makefile, /cvs/hltcvs/level3code/hough/testPF.C, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3Defs.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
+       Updating changes before the weekend
+
+2001-03-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/testPF.C: Added a macro
+
+       * /cvs/hltcvs/level3code/hough/hough_merge.C, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /cvs/hltcvs/level3code/hough/hough.C:
+       General updates
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       Debugging update
+
+2001-03-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/hough.C, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       Added new peakfinder
+
+2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/hough_mergehistos.C, /cvs/hltcvs/level3code/hough/rootlogon.C:
+       Imported Hough code
+
+       * /cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /cvs/hltcvs/level3code/hough/AliL3Histogram.h, /cvs/hltcvs/level3code/hough/hough_mergehistos.C, /cvs/hltcvs/level3code/hough/rootlogon.C:
+       New file.
+
+       * /cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /cvs/hltcvs/level3code/hough/AliL3Transform.h, /cvs/hltcvs/level3code/hough/hough.C, /cvs/hltcvs/level3code/hough/hough_line.C, /cvs/hltcvs/level3code/hough/hough_line_merge.C, /cvs/hltcvs/level3code/hough/hough_merge.C, /cvs/hltcvs/level3code/hough/Makefile:
+       Imported Hough code
+
+       * /cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /cvs/hltcvs/level3code/hough/AliL3Transform.h, /cvs/hltcvs/level3code/hough/hough.C, /cvs/hltcvs/level3code/hough/hough_line.C, /cvs/hltcvs/level3code/hough/hough_line_merge.C, /cvs/hltcvs/level3code/hough/hough_merge.C, /cvs/hltcvs/level3code/hough/Makefile:
+       New file.
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.h, /cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       Imported Hough code
+
+       * /cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughMerge.h, /cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       New file.
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       Imported Hough code
+
+       * /cvs/hltcvs/level3code/hough/AliL3Defs.h, /cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       New file.
+
diff --git a/HLT/doc/changelog.kalman b/HLT/doc/changelog.kalman
new file mode 100644 (file)
index 0000000..40c124c
--- /dev/null
@@ -0,0 +1,13 @@
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h:
+       Added html tags for documentation.
+
+2003-07-10  Thomas Vik  <tvik@hansa00>
+
+       * /cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
+       Kalman track class.
+
+       * /cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       Base class.
+
diff --git a/HLT/doc/changelog.misc b/HLT/doc/changelog.misc
new file mode 100644 (file)
index 0000000..cd713eb
--- /dev/null
@@ -0,0 +1,217 @@
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       Changes to compile standalone.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Changes to reflect the new makefile strategy.
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h: Cosmetics.
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       So it works as in the old version but produces warnings.
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       Test if this works for the html generation.
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h, /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /cvs/hltcvs/level3code/misc/AliL3FFloat.h, /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /cvs/hltcvs/level3code/misc/AliL3Stopwatch.h, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /cvs/hltcvs/level3code/misc/AliL3TransBit.cxx, /cvs/hltcvs/level3code/misc/AliL3TransBit.h, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       Added html tags for documentation and updated version/copyright info.
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /cvs/hltcvs/level3code/misc/Makefile:
+       Added the *Real* functions from AliL3Transform.
+
+2003-07-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Include updates, take out AliL3TPCMapping and print rootcint.
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.h:
+       Marked AliL3TPCMapping as old and unfinished code.
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       Changes to make work with cint and gcc-3.3.1; changed DEBUG to VHDLDEBUG
+
+2003-05-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       Moved Debug switch to .cxx
+
+2003-04-10  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /cvs/hltcvs/level3code/misc/AliL3TPCMapping-iroc.generated, /cvs/hltcvs/level3code/misc/AliL3TPCMapping-oroc.generated, /cvs/hltcvs/level3code/misc/Makefile:
+       Added new class for TPC mapping.
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile: Added defs string to rootcint
+
+2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h:
+       Check whether USEFFLOAT variable is set, because if not
+       rootcint returns error message.
+
+2003-01-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Added misc to the include list. This should in principle
+       already be there.
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile: Changed definition of TOPDIR
+
+2002-11-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       Added deconvolution.
+
+2002-09-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       Little bug when reporting row merge error.
+
+2002-09-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h:
+       Added AliL3Transbit entry.
+
+       * /cvs/hltcvs/level3code/misc/AliL3TransBit.cxx:
+       Little bugfix vor gcc 3.2.
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3DataHandler.h:
+       Cosmetics.
+
+       * /cvs/hltcvs/level3code/misc/Makefile: Change for AliL3Transbit.
+
+       * /cvs/hltcvs/level3code/misc/AliL3TransBit.cxx, /cvs/hltcvs/level3code/misc/AliL3TransBit.h, /cvs/hltcvs/level3code/misc/AliTransBit.cxx, /cvs/hltcvs/level3code/misc/AliTransBit.h:
+       Moved from AliTransbit to AliL3Transbit.
+
+2002-08-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3FFloat.h: Cosmetics.
+
+2002-08-27  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       Merged problems solved.
+
+2002-08-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       Fixing a serious bug
+
+2002-08-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /cvs/hltcvs/level3code/misc/AliL3FFloat.h, /cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliTransBit.cxx, /cvs/hltcvs/level3code/misc/Makefile:
+       Little changes to make g++ version 3.2 compile the misc library.
+
+2002-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx: Added some comments
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile: Added AliL3Stopwatch.
+
+       * /cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /cvs/hltcvs/level3code/misc/AliL3Stopwatch.h:
+       Class for timing measurements, taken from ROOT and made changes to compile it without ROOT/ALIROOT.
+
+2002-07-07  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /cvs/hltcvs/level3code/misc/AliL3FFloat.h, /cvs/hltcvs/level3code/misc/Makefile:
+       More exact rounding function, but also much slower.
+
+2002-07-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/Makefile:
+       Changes for fixed point class.
+
+       * /cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /cvs/hltcvs/level3code/misc/AliL3FFloat.h:
+       Class for fixed point operations.
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       Comment changes for htlm docu.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       Minor changes at comments.
+
+       * /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       Solved bug which gave a difference to the VHLD code.
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Minor changes to make it work with new Top Makefile. Also have generated code separated for each USEPACKAGE now.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile: New topdir makefile
+
+2002-06-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h, /cvs/hltcvs/level3code/misc/Makefile:
+       Created cluster finder class that simulates the VHDL cluster finder on Altro data.
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       Added read support for Altro like data.
+
+2002-06-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/MakePileup.cxx, /cvs/hltcvs/level3code/misc/MakePileup.h:
+       MakePileup moved to programs directory
+
+2002-05-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       Added capability to handle backlinked list properly.
+
+2002-05-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       Bugfix; Need Init(slice,patch)
+
+2002-05-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       Bugfix in GetMemorySize.
+
+       * /cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliTransBit.cxx, /cvs/hltcvs/level3code/misc/AliTransBit.h, /cvs/hltcvs/level3code/misc/Makefile:
+       New class AliL3DataHandler, for handling 8 bit data. Similiar and closely related to its mother AliL3MemHandler.
+
+2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/MakePileup.cxx, /cvs/hltcvs/level3code/misc/MakePileup.h:
+       Moved from exa
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       Added class description comments.
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Root objects are compiled in lib_ROOT from now on.
+
+2002-04-17  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       Converts Digits in Memory to Altro like back linked list and stores them
+       in Hexadezimal 16 Bit numbers. Ascii or Binary files are supported.
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/Makefile:
+       Added AliL3AltroMemHandler.
+
+2002-04-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/Makefile:
+       Minor changes to check for NOLOGGING env str
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /cvs/hltcvs/level3code/misc/AliTransBit.cxx, /cvs/hltcvs/level3code/misc/AliTransBit.h, /cvs/hltcvs/level3code/misc/Makefile:
+       Conversion table class for 10-8bit compression.
+
diff --git a/HLT/doc/changelog.programs b/HLT/doc/changelog.programs
new file mode 100644 (file)
index 0000000..f12ab67
--- /dev/null
@@ -0,0 +1,213 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/speedtest.cxx, /cvs/hltcvs/level3code/programs/speedtest.h, /cvs/hltcvs/level3code/programs/ali2raw.cxx, /cvs/hltcvs/level3code/programs/convcosmicsfile.cxx, /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runhough.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runtracker.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx, /cvs/hltcvs/level3code/programs/runvhdlhough.cxx:
+       Added copyright info.
+
+2003-07-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runtracker.cxx: Cosmetic
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ali2raw.cxx, /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
+       Changes to compile standalone.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Changes to reflect the new makefile strategy.
+
+       * /cvs/hltcvs/level3code/programs/read.cxx: Cosmetics.
+
+2003-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ali2raw.cxx, /cvs/hltcvs/level3code/programs/convcosmicsfile.cxx, /cvs/hltcvs/level3code/programs/ConvCosmicsFile.cxx, /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runtracker.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx, /cvs/hltcvs/level3code/programs/runvhdlhough.cxx:
+       Changes for gcc-3.3
+
+2003-05-15  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runvhdlhough.cxx:
+       just checked it but needs lot of work..
+
+2003-05-13  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ConvCosmicsFile.cxx:
+       Little cosmetical changes.
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Little changes mostly cosmetic
+
+2003-04-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ali2raw.cxx, /cvs/hltcvs/level3code/programs/ConvCosmicsFile.cxx, /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runhough.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runtracker.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx, /cvs/hltcvs/level3code/programs/speedtest.cxx:
+       More or less useful changes, mostly cosmetic.
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Added missling lib dependencies.
+
+2003-04-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ConvCosmicsFile.cxx:
+       Added some more comments (in German) which I got from Roland via ICQ.
+
+2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/MakePileup.cxx, /cvs/hltcvs/level3code/programs/MakePileup.h:
+       Moved to exa
+
+2003-02-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ali2raw.cxx, /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runhough.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runtracker.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
+       Changes for Root Types.
+
+       * /cvs/hltcvs/level3code/programs/ConvCosmicsFile.cxx:
+       Program to convert binary cosmics from BigEndian to LittleEndian and vice versa.
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Changed definition of TOPDIR
+
+2002-11-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
+       Added deconvolution switch.
+
+2002-10-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Added entry for runtracker. Also some changes in order to use this
+       Makefile when compiling without any ROOT whatsoever; USEPACKAGE=STANDALONE.
+
+       * /cvs/hltcvs/level3code/programs/runtracker.cxx:
+       Standalone program for running the track finder.
+
+2002-09-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/read.cxx:
+       Rows per patch are locally stored.
+
+2002-09-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runit.cxx:
+       Little bugfixes for new alitroot version.
+
+2002-09-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/runhough.cxx, /cvs/hltcvs/level3code/programs/runit.cxx:
+       Little bugfix vor aliversion 3.08.
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Compiles now using top makefile.
+
+       * /cvs/hltcvs/level3code/programs/gettransform.cxx, /cvs/hltcvs/level3code/programs/read.cxx:
+       Little changes, mostly cosmetic.
+
+       * /cvs/hltcvs/level3code/programs/Makefile: Added runhough.cxx.
+
+       * /cvs/hltcvs/level3code/programs/runhough.cxx:
+       Program to run hough transform standalone.
+
+2002-07-08  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/ali2raw.cxx:
+       Program that converts from ali digits into l3 raw data. Corresponding macro is Binary.C.
+
+2002-07-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runit.cxx, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
+       Changes to use AliL3Logger correctly in standalone programs.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Minor changes to make it work with new Top Makefile. Also have generated code separated for each USEPACKAGE now.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile: New topdir makefile
+
+2002-06-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Small changes to run on single patches.
+
+       * /cvs/hltcvs/level3code/programs/Makefile, /cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
+       Sample program to run VHDL cluster finder.
+
+       * /cvs/hltcvs/level3code/programs/read.cxx:
+       Changes to read also Altro like data.
+
+2002-06-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/MakePileup.cxx, /cvs/hltcvs/level3code/programs/MakePileup.h:
+       MakePileup moved from misc directoy to program directory.
+
+2002-06-10  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/read.cxx, /cvs/hltcvs/level3code/programs/runit.cxx:
+       Solved bug forgetting to use AliL3MemHandler->Init(slice,patch).
+
+       * /cvs/hltcvs/level3code/programs/read.cxx: Check consecutive rows.
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Changes for error calculation of Cluster Finder.
+
+2002-06-06  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Minor changes to use new AliL3ClusterFinder class.
+
+2002-05-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/read.cxx:
+       Changes done to make read work with new AliL3AltroMemHandler.
+
+2002-05-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile: Addes gettransform.
+
+       * /cvs/hltcvs/level3code/programs/gettransform.cxx:
+       First checkin of program to extract parameters from AliL3Transform to be used for the VHDL implementation of the Hough transform.
+
+       * /cvs/hltcvs/level3code/programs/read.cxx: Use new Transformer.
+
+2002-05-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Minor corrections after big transformer changes
+
+2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Changes as a result of making AliL3Transform static.
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/doit: Moved to Makefile.
+
+2002-04-17  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/read.cxx:
+       Sample program showing howto read raw data and convert them to an Altrolike Ascii data structure
+
+       * /cvs/hltcvs/level3code/programs/Makefile: Read program added
+
+2002-04-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Minor changes to check for NOLOGGING env str and solved some very minor bugs
+
+       * /cvs/hltcvs/level3code/programs/runit.cxx:
+       Sample program for using the simple fast cluster finder.
+
+       * /cvs/hltcvs/level3code/programs/Makefile:
+       Makefile for small HLT programs created.
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/programs/doit, /cvs/hltcvs/level3code/programs/speedtest.cxx, /cvs/hltcvs/level3code/programs/speedtest.h:
+       Moved from src
+
diff --git a/HLT/doc/changelog.src b/HLT/doc/changelog.src
new file mode 100644 (file)
index 0000000..493ea8b
--- /dev/null
@@ -0,0 +1,1529 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx: Added comment.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Removed ASV version, as the new AliL3FileHandler does not need (but still would be faster using the patched AliTPC class).
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Added fIndex to generate slice and row index for faster access of the digittree. no more need ffor ASVVERSION. Complete rewrite of the reading (ali2digit) functions.
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Uncommented debug output.
+
+2003-07-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Started looking/changing and added creation of standard tpc param object if it was not found in the aliroot file.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Commented out debug code.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Config file is created now in tmp/$user/l3config-date. param object is created if not found in aliroot file, a warning is produced.
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx: Cosmetical changes.
+
+2003-07-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Set fVersion back to default when reading from a rootfile,
+       in order to avoid a warning in Init function.
+
+2003-07-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx:
+       Added static flag for not doing the conformal mapping.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Dont store -1 patch number in spacepoints but use zero instead.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       Added some debug output.
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Added some prints to log and changed threshold behaviour for straigth cosmics tracks
+
+       * /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       Changed to our type definition.
+
+       * /cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx:
+       Solved bug closing wrong mapping pointer.
+
+2003-07-27  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Changes to compile without changes to ALIROOT version v3-09-Releases.
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Changes to compile also with ROOT or STANDALONE.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Changes to reflect the new makefile strategy.
+
+       * /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h:
+       Renamed AliL3LinkDef.h into AliL3SrcLinkDef.h to reflect module name changes in the Makefile.
+
+2003-07-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Cleaning up albis bad solutions
+
+2003-07-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h:
+       Class for reading cosmics data into HLT data structures, providing pedestral substraction and storing raw cosmics data.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Solved overflow problem for cosmics data using ULong64_t for the error in time direction.
+
+       * /cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       Added Long64_t and ULong64_t types.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h:
+       Added comments.
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Added virtual functions for AliL3RawDataHandler.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Added flag fRawSP, if it is on, then the cf will leave spacepoints in raw co-system, default is off.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added fSectorLow variable and more setters.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Added fSectorLow variable.
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3DigitData.h, /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3StandardIncludes.h, /cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /cvs/hltcvs/level3code/src/AliL3VertexData.h, /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3Benchmark.h, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.h, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3InterMerger.h, /cvs/hltcvs/level3code/src/AliL3Logger.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3VertexArray.h, /cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /cvs/hltcvs/level3code/src/AliL3Vertex.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Added html tags for documentation.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.h:
+       Removed.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.h:
+       Little changes before file goes to attic.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Moved the *Real* functions to misc/AliL3TPCMapping
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Changed handling of initfile: there is now a method for reading and
+       saving the file seperately. That means one can change settings of the
+       transformer and save that settings to a given file.
+
+2003-07-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Include recursive and print rootcint command.
+
+       * /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/AliL3Logging.h:
+       Changes to generate stub file with g++-3.3.1 and rootcint and new MLUC 0.3.37.
+
+2003-07-19  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Bugfix of last checking, AliL3Transformer produces now the same results as the old version.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Big Changes:
+       a) Added VersionType enum: There are now 2 different versions
+       for aliroot and for cosmics, the old version is deprecated and needs to
+       redo l3transform configs.
+       b) Added a view tables for Sector2Slice and Slice2Sector mappings, for
+       sin and cos lookups, for patches and row settings
+       c) Added a lot of setters and getters
+       d) Added GetRealX, GetRealY and GetRealNPad functions implementing the
+       GSI mapping. This functions are not used inside AliL3Transform, so
+       calling them, does not change the members of the class.
+       e) Added a few more boundary checks
+       f) __old__ sections mark former code and will vanish if everything is
+       working
+
+2003-07-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Version field is being loaded in config file.
+
+2003-07-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h, /cvs/hltcvs/level3code/src/Makefile:
+       Added RawData FileHandler class for the cosmics data test.
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Changed char to Char_t
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.cxx:
+       stupid warning solved due commenting.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added setters (and some more getters), changed some members to const plus little cosmetics.
+
+2003-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3StandardIncludes.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Changes to make the code work for gcc-3.3
+
+2003-05-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Added option to write "altro" digits in AliDigits2Binary.
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Smaller changes:
+       - Can set flag NoCF if you dont want to run with the cluster finder.
+       - If you set npatches=0, tracking is done only in the outer 4 patches.
+       - FreeDigitsTree after one event has been processed, in case you are reading
+       from aliroot file you dont have to delete the AliLevel3 object for every
+       event.
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx:
+       Dont draw benchmark graph by default
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       In SetPointers, check for sufficient number of clusters to build a
+       track. If there are no clusters in a certain sector (as may happen in naked
+       pp event), return without initializing the memory, because that takes cputime.
+
+2003-04-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added getter GetSolenoidField
+
+2003-04-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h:
+       Going back to the old previous GetCrossingPoint function. The idea
+       was to use CalculateReferencePoint for all calculations of the
+       crossing points between track and padrow, but this function only
+       works if angle!=0 (it uses y=ax+b parametrization), so only works
+       for global coordinates. So for local coordinates GetCrossingPoint
+       should be used.
+
+2003-04-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx: Changed some comments
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx: Included TError.h
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h:
+       Removed obsolute code in GetCrossingPoint. This function did the same
+       thing as CalculateReferencePoint, only the latter one takes global
+       track parameters as input.
+
+2003-04-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Dont show error message when searching for the alirunfile.root, only show it if it could not be found.
+
+2003-04-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h:
+       In Rotate, set the r0 and phi0, because they might be used in UpdateToFirstPoint.
+       In CalculateCrossingAngle, one can specify slice, and the calculation is done
+       in global coordinates. In this way, one does not have to rotate the track to
+       local coordinates in order to calculate this angle.
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Mods in CalculateResiduals
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Default disregard single pad clusters
+
+2003-04-11  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Bugfix in AliPoints2Memory. In case fPatch==-1, 0 has to be
+       written to the pointid.
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Added getter GetFilePointer
+
+2003-04-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Another bugfix in GetPadRow.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx: Bugfix in GetPadRow
+
+2003-04-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added function GetPadRow(float x), which returns the nearest
+       padrow for a given x value (in local coordinates).
+
+2003-03-10  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Fixing a quite serious bug in the global merging procedures:
+
+       In AliL3ConfMapTrack::FillTrack, the first point on the track should
+       not be set for z, since this later refers to the impact parameter
+       from the track fit. The first point is set only temporary here for x and y,
+       but in UpdateToFirstPoint this point is overwritten by the track swim point.
+       fLastPoint however, still refers to the cluster position of the outermost point.
+
+       In AliL3Fitter there was also a bug in FitLine which produced completely
+       wrong values for tanl, and further for all fit values operating in the
+       (s,z)-plane.
+
+2003-03-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Bugifx from last checkin.
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Check if clusters has mcid -1, because if it does it is noise.
+       Important for pileup studies where you assign -1 to clusters
+       coming from the piled up events.
+
+2003-03-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Bugfix from last checkin
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Moved UpdateToFirstPoint from AliL3ConfMapTrack to AliL3Track. Also,
+       the SetFirstPoint and SetLastPoint are done after both track fitting on
+       sector level and global fitting after sector merging.
+
+2003-03-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Forgot root version string in PrintCompileOptions().
+
+2003-03-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Cosmetic
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Bugfix in GetMCTrackLabel
+
+2003-03-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Added print option to see what the f***ing cvs command is actually doing...
+
+2003-03-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Added trailing \ for directories, it does not harm if you also supply one, but if you forgot, it will still work.
+
+2003-02-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Commented out two lines which produce crash in some pp events.
+
+2003-02-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Clear lastindex when freeing the tree and check if valid tree exists before reading digits in Ali2 functions.
+
+2003-02-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Small change with fBenchmark
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Increasing the maximum number of clusters in order to cope with
+       dn/dy=8000 events.
+
+2003-02-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Making compilable with gcc-32
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Added some new steps for fBenchmark
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Added quick and dirty hack to circumvent negativ numbers for trackids while merging events.
+
+       * /cvs/hltcvs/level3code/src/Makefile: Added defs string to rootcint
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Check for valid trackfile.
+
+2003-02-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h: Added GetTracks()
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       10 bits for event number in trackID
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Added missing feature of Constantins latest change
+
+2003-02-24  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Bug in Binary2Memory where zero digits on a row breaked in the read loop.
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Strange bug in Init where for patch equals one GetLastRow(-1) hast to be called.
+
+2003-02-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       In GetMCTrackLabel also check if at least half of the innermost 10%
+       clusters are assigned correctly. This is done by offline, and should
+       therefore also be done by HLT.
+
+2003-02-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/Makefile:
+       Fixed Constantins bugs
+
+2003-02-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/Makefile:
+       Added version information of compile time options to AliL3Transformer::PrintCompileOptions().
+
+2003-02-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       BField information interface with AliROOT changed again. It turned out
+       that the previous change I commited does not apply correctly to all
+       events. Now it should be correct.
+
+2003-02-20  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Bugfix
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.h, /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h, /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx:
+       Added AliL3Fitter to compile in Makefile. This class is also used
+       to do a global fit of the tracks _after_ track merging across
+       sector boundaries.
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Changes for making and tracking pileup events. In
+       AliL3FileHandler::AliAltroDigits2Memory you can set a flag
+       which saves the event number in the 7 upper bits of the fTrackID
+       field in the digits. This flag is set from exa/MakePileup.C.
+       In AliLevel3 you can specify that you want to track a pileup event
+       by setting DoPileup().
+
+2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Changed binary name convention to also include event number. Also, when
+       binary files contain whole patches, the patch number is -1.
+       Also some other smaller changes, like default switching global mergin
+       between sector boundaries on.
+
+       * /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx: Small cleanup
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.cxx: Renamed cluster errors
+
+       * /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Renamed the cluster errors to fSigmaY2/fSigmaZ2, in order not to confuse
+       cluster widths with space point errors.
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Possible to evaluate more events at the same time.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Calculating angle of tracklet.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.h: AliL3ConfMapper.cxx
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx:
+       Calculated cluster widths are multiplied with a constant in order to
+       make them similar to the space point errors.
+
+2003-02-13  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added functions GetParSigmaY2 and GetParSigmaZ2
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h:
+       Can read slice files
+
+2003-02-12  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Bugfix: Calculated cluster widths (RMS) were not transformed to local
+       coordinates! This caused 1 whole day of confusion.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added data member fOmegaTau
+
+2003-02-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Can specify eventnr.
+
+2003-02-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added a needed setter and getter
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Save MCid in AliPoints2Memory
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Read offline clusters from multiple events
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       If cluster width calculation is switched on, check if the calculated
+       sigma┬▓ is negative.
+
+2003-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Bugfix. Default ctor sets fFirstPoint and fLastPoint to zero. This fix
+       removed some occasional floating point exception in
+       AliL3TrackArray::WriteTracks.
+
+2003-02-04  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Bugfix. Check the diff to the previous version to see which.
+       Actually i don't understand why this has not been discovered before.
+       It is quite obvious that the loop can easily go out of range.
+
+2003-01-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       How the extract the BField in AliROOT has changed, it is not extracted
+       via the function gAlice->Field()->Map(), which returns a value 0-2.
+       0: 0.2 T
+       1: 0.4 T
+       2: 0.5 T
+       The gAlice->Field()->Factor() can not be used anymore, as it seem always
+       to be 1 in AliROOT version V3.09->.
+       Hence a new data member called fBFieldMap has been added, and the fBField
+       is set correspondingly when reading from either rootfile or l3transform.
+
+2003-01-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Bugfix from last checkin
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Insignificant bugfixes
+
+2003-01-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added function GetPatch
+
+2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Bugfix after last checkin
+
+2003-01-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Updated function EvaluatePoints.
+
+       * /cvs/hltcvs/level3code/src/AliL3LinkDef.h: Removed obsolute lines
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile: Changed definition of TOPDIR
+
+2003-01-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h: Added function Deg2Raw
+
+2002-11-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Smaller changes. A few lines in order to make filling an ntuppel
+       work with the current version of ROOT (bug in ROOT).
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Changes so that one can read slice by slice also from
+       binary files format.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Small bugfix in InitSector
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Default match should be 2
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Small bugfix in CalculateEgdePoint
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.h:
+       Updates to make it work
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx:
+       Also write errors to textfile
+
+2002-11-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Bugfix in GetEta(raw coordinates); needs slice.
+
+2002-11-13  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx: Cosmetics.
+
+2002-11-12  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       New function AliAltroDigits2Memory. This function removes single timebins, single
+       as in both time and pad.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Can specify patch=-1, this means all numbers will be relative to a whole
+       slice. E.g. GetNRows(-1) return the number 159 (all rows in a slice).
+
+2002-11-08  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Severe bugfix in Memory2CompMemory. Actually this bug was introduced by
+       myself some weeks ago, but for some strange reason did not cause any
+       crashes until now. The problem was checking for ADC saturation, which uses
+       AliL3Transform::GetADCSat(), but this is sometimes set to 1024 and this
+       of course is a problem since we are only reserving 10 bits per ADC when
+       writing to binary files. I actually spend 2 hours figuring out this
+       FUCKING bug.
+
+2002-10-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Removed a lot of code, and some changes. Basically removed all of
+       the alirootcode in order to speed up the evaluation process.
+
+2002-10-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Bugfix in AliPoints2Memory
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Minor changes in AliDigits2RootFile
+
+2002-10-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Check for ADC saturation in AliDigits2Memory.
+       Bugfix in AliDigits2RootFile; now correct writing of
+       track id's to the digits.
+
+2002-10-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx: Bugfix in Init.
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added ADC saturation in AliL3Transform.
+
+2002-10-14  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Bugfix in AliPoints2Memory
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx: Commented out fInterMerger
+
+2002-10-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Added a few more explaining lines in class description.
+
+2002-10-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Perform check on cos(crossing_angle_with_padrow) in GetCrossingAngle().
+       Every once in a while this number is equal to one, which results in
+       return value being NaN.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Serious bugfix in Local2Raw function. This function failed to transform
+       corretly on the z<0 side of the tpc, because of a "wrongly" check. I have
+       no idea why I did not see this bug before, but probably because the
+       function is seldom used.
+
+2002-09-20  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Fixing the previous unresolved bug before I was going on vacation.
+       When using the AliLevel3 tracking class and reading from a rootfile
+       with the patched AliTPC (ASV) version, one can only read 1 whole slice
+       at once (npatches=1). This because in AliLevel3 class only 1 instance
+       of the AliL3FileHandler is taking care of reading the data from all
+       patches, and therefore the AliL3FileHandler::fLastIndex method fails when
+       reading patch by patch. This problem did not show up in the AliL3Hough,
+       because there you have one AliL3FileHandler per patch.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Check if the provided path is a rootfile or a directory by using the
+       IsZombie() function; the file pointer is not zero if the provided
+       string is a directory.
+
+       Use global pointer gSystem instead of creating a new instance of the
+       TUnixSystem class. This in order to get rid of a error message during
+       runtime.
+
+2002-09-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx: Cosmetic
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Changed the row numbering in the patches to match the latest technical
+       layout as much as possible. The numbers are taken from mapping tables
+       provided by GSI (Dr.Frankenfeld). The implementation is still not identical
+       to the actual foreseen layout, as there are some pads (FEC) which are
+       physically located in the area we have been calling patch 1 which actually
+       belong to patch 0. But this is only concerns 1 or 2 FECs as far as I could
+       see from the tables.
+
+2002-09-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added boolean return values to Init, Make_Init_File and Read_Init function. Check for given root file.
+
+       * /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Added ASVVERSION define.
+
+2002-09-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Changing hardcoded values.
+
+2002-09-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Changed from hardcoded param to a version which gets the param string from AliL3Transform::GetParamName().
+
+2002-09-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       More changes as a consequence of changing the pad geomtry in the new
+       AliROOT. Some hardcoded values which were set to 176 has now been changed
+       to AliL3Transform::GetNRows() etc. Also the remaining hardcoded AliTPCParam
+       and digits tree object names has been changed in AliL3FileHandler.
+       There were and still are a bug in the AliL3Merger class in FillNTuppel,
+       which I was not able to figure out, so I switched off. This only affects
+       the SlowMerging methods in the track mergers, and should be looked at more
+       if needed in the future.
+
+2002-09-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Bugfix in AliL3Transform. Changed the strings of the AliTPCParam and
+       Digitstree objects corresponding to the new AliROOT.
+
+2002-08-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: Small bugfix
+
+2002-08-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3Benchmark.h, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Little changes to make g++ version 3.2 compile the src library. Problems remaining for ALIROOT lib.
+
+       * /cvs/hltcvs/level3code/src/AliL3StandardIncludes.h:
+       Standard include file to include different files for different compiler versions.
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Added compiler version information and standard include file for rootcint.
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3Benchmark.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Changes for independant library of standalone l3 code. Most of them are by having #ifdef no_root preprocessor switches, but also added AliL3Stopwatch in AliL3Benchmark class.
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Changes for independant library of standalone l3 code.
+
+2002-07-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Added -Duse_root to USEPACKAGE=ALIROOT section.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added fBFACT=0.0029... value. GetBFieldValue() returns now fBField*fBFACT.
+
+2002-07-03  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       Solved little pointer bug that prevented logger classes to be used in standalone programs.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Minor changes and cosmetics according to Anders.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Cosmetic changes on top, to make hltm documentation in root to work
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3Logger.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Minor changes, mostly cosmetic or comments
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Minor changes to make it work with new Top Makefile. Also have generated code separated for each USEPACKAGE now.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile: New topdir makefile
+
+2002-06-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Solved bug to not merge clusters on the same pad.
+
+2002-06-07  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h, /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx:
+       Changes done to make the Cluser Finder calculate the errors in Pad and Time direction. Also minor changes to other classes, mainly cosmetic.
+
+2002-06-06  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Have some new set functions. Remove deconv=true setting from init.
+
+2002-05-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h: Added getter GetNRows()
+
+       * /cvs/hltcvs/level3code/src/Makefile: Added a flag
+
+2002-05-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Bugfix in AliL3FileHandler::GetDigitsTree.
+       Added a new function AliL3FileHandler::FreeDigitsTree(), in order
+       to be able to clear the digits tree from memory, without deleting
+       the object. Useful feature if you want to loop over several events
+       in a single rootfile.
+
+2002-05-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Moved some getters to AliL3MemHandler
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Smaller changes
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Made all AliL3FileHandler specific functions virtual in AliL3MemHandler.
+
+2002-05-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Solved merge problem of last checkin.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h, /cvs/hltcvs/level3code/src/Makefile:
+       Minor changes to make tracking work with new Aliroot version v3.07.03
+
+2002-05-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/Makefile:
+       Added AliL3Evaluate in case compiling with AliROOT
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx: Switched on slow merging.
+
+2002-05-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Bugfix from previos ci
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Do not give *row to Init
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Fix in AliDigits2Memory. Do not remove single timebins on one pad, because
+       they can be a part of a bigger cluster...
+
+2002-05-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       BField is now also read from configuration.
+
+2002-05-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Bugfix in GetPadPitchWidth(patch). return inner width if patch < 2, not patch<=2.
+
+2002-05-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Small change in GetCrossingAngle.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added some more datamembers, related to gas and electronics.
+       Corresponding getters has been added, and they have also been
+       added to the Init function, and exa/Make_Init.C.
+
+2002-05-05  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Commented out cout in WriteClusters
+
+2002-05-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Forgot to remove #include in previous checkin
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Moved all the constants from AliL3Defs.h to static AliL3Transform. No
+       longer need for AliL3Defs.h, and it has therefore been removed.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added the magnetic field as a static member of the AliL3Transform class,
+       together with setter and getter. This makes it possible to change the
+       field without recompiling. Earlier this had to be set in AliL3Defs.h as
+       a constant global variable.
+
+2002-05-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Forgot to check in this the last time. Some changes in AliL3MemHandler as
+       a consequence of writing child class AliL3DataHandler. fInBinary and fOutBinary
+       has been made protected, and CompBinary2Memory and Memory2CompBinary has been
+       made virtual.
+
+2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Major changes in the AliL3Transform class. The class has been made completely
+       static, which means that no objects needs to be created anymore. This has also
+       made impact all classes which use this class (this is more or less all of them),
+       so that no private AliL3Transform* is needed anymore etc. I think I have managed
+       to implement the changes everywhere, at least it compiles successfully and exa/test.C
+       runs smoothly. The only rather important thing one has to remember is to initialize
+       the correct detector parameters by calling AliL3Transform::Init(path). If not,
+       default parameters will be used (currently corresponding to AliROOT version 3.06).
+
+2002-04-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h: Cleaning up.
+
+2002-04-24  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Some more comments.
+
+2002-04-20  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added several GET-Functions, fixed bug in old config.
+
+2002-04-19  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Added fZLength and fZOffset, fixed a few bugs in the new init method.
+
+2002-04-19  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx: Inserted image on top.
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Root objects are compiled in lib_ROOT from now on.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added fVersion field to differentiate the old and new config version.
+
+2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Cleaned up some more in AliL3MemHandler, by removing the AliL3Transform in
+       arguments of member functions. This also required some changes in AliLevel3,
+       which make use of these functions.
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Changed AliLevel3::Init to public, and this should then be called after
+       the ctor. Here one should provide the path where the data are located,
+       and also the parameter file. Else, some cleaning where done, -> fOutputFile
+       was no longer needing, and has been removed. For example script how to run
+       the new AliLevel3 class, checkout latest version of test.C in exa.
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile.AliROOT, /cvs/hltcvs/level3code/src/Makefile_Root:
+       Not needed any more.
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Added npatches to Init.
+
+2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Removed private member AliL3FileHandler::fTransformer, and moved AliL3MemHandler::fTransformer
+       to protected. This means that both the filehandler and memhandler always has to get
+       the transformer from AliL3MemHandler::Init(AliL3Transform *).
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h:
+       Added new Init(char *pathname)  function to read a l3transform.config file. Old init kept for backward compatibility.
+
+2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: Last cosmetic changes
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: More cosmetic
+
+2002-04-18  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Cosmetic changes for the integration of doxygen
+
+2002-04-17  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Changed documentation for doxygen.
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Comments updated and merge problems solved.
+
+2002-04-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Comments formatted the way THtml likes it.
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: Added more comments.
+
+2002-04-16  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       Minor changes to check for NOLOGGING env str
+
+2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/doit, /cvs/hltcvs/level3code/src/speedtest.cxx, /cvs/hltcvs/level3code/src/speedtest.h:
+       moving into programs
+
+       * /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/Makefile:
+       More improved Makefile, setting logging paths, TOPDIR and LIBDIR.
+
+2002-04-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/Makefile:
+       Changed Makefile and AliL3RootTypes.h in order to define usepackage (ROOT, ALIROOT
+       do_mc) in Makefile only.
+
+2002-04-09  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Added capability of searching neighboring digits for particle id in function AliDigits2RootFile.
+
+2002-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Changed test in AliDigits2RootFile to check for charge below threshold, not charge==0. This function can then be used together with AliL3Compress::WriteRootFile.
+
+2002-03-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Added new function, fTracker->InitVolumes()
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Bugfix in CalculateHelix(). Kappa is given proper sign, earlier it was always positive.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       Remaining from previous co
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Changes and optimization for pp-running
+
+2002-02-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       The default should be not to save mcid
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3DigitData.h, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       Added the possibility to save the particle id's through the chain, if detailed efficiency studies are needed. This work only in the case where you are reading digits from a alirootfile-> AliL3FileHandler::AliL3Digits2Memory. The id is saved in the digit structure and then in the space point structure. The option is switched on in do_mc in AliL3RootTypes.h
+
+2002-02-05  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile: Check for lib directories
+
+2002-02-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile: A little bugfix
+
+       * /cvs/hltcvs/level3code/src/Makefile: Minor updates
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/Makefile.AliROOT, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Checking in for the weekend
+
+2002-01-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile:
+       New makefile. Written by me, hence better
+
+       * /cvs/hltcvs/level3code/src/Makefile.AliROOT:
+       Makefile from aliroot. The one that was used before.
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h: Only 1 file
+
+2002-01-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Load digitstree only once
+
+2002-01-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h:
+       Smaller changes
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Added writeout path
+
+2002-01-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h: Changed to normal bfield
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx: Added debugs
+
+2001-12-10  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Smaller changes
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Possible to switch onoff deconv
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx: Smaller changes
+
+       * /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/AliL3LinkDef.h:
+       Adding AliL3Fitter
+
+       * /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx:
+       Check if track crosses more than one slice boundary, and if so merge them all. This will only be necessary if the magnetic field is higher than normally.
+
+       * /cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /cvs/hltcvs/level3code/src/AliL3Fitter.h:
+       Refitting tracks after tracking
+
+2001-12-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       Multimerge: When doing global merging, take the parameters of the track which has the most hits
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       Made it possible to use different cuts for nonvertex tracking
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Some changes to make is possible to run several events, and also some settings for possible nonvertex tracking options
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       Added new function; GetClosest which calculates the point of closest approach to the vertex.
+
+       * /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.h:
+       Bugfix. Use local method CheckTracks instead of derived method TrackDiff in SlowMerge. This is because the tracks are in GLOBAL coordinates, not local as TrackDiff assumes.
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx:
+       Getting bfield from common file; AliL3Defs.h
+
+2001-12-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Possible to read several events from same rootfile
+
+2001-11-29  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Added debug logging in SetPointers
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Don't specify fEta to tracker
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Same bugfix in raw2local
+
+2001-11-28  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx: Bugfix in raw2local
+
+2001-11-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Bugfix in DisplayTracks()
+
+       * /cvs/hltcvs/level3code/src/Makefile: Moved classes
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.h:
+       Addded possibilily to rotate track in AddTracks
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h:
+       Bugfix in SetZ0, which is actually the first point
+
+       * /cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3VertexArray.h, /cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliL3Vertex.h, /cvs/hltcvs/level3code/src/AliL3Merger.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx, /cvs/hltcvs/level3code/src/AliL3InterMerger.h, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx:
+       Addons for html documentation
+
+2001-11-16  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx: Bugfix in AddTracks
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.h: Made CalculateHelix virtual
+
+       * /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3Merger.h:
+       Added possibility for Hough use
+
+       * /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/Makefile:
+       Moved AliL3HoughTrack to hough
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       Moving classes to /hough
+
+2001-11-13  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Extended Global2Local to include slice as input
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Made UpdateRowPointer static
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Made some changes in DefineGoodparticles; Allowing to read good tracks from file
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Updates to aliroot V3.06
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       Made Compare() and Set virtual in AliL3Track and derived classes
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Some changes in AliDigits2RootFile
+
+2001-11-01  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       Modified AddTracks. Should be backward compatible
+
+2001-10-25  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Logging.h: Changed path to timm code
+
+2001-10-23  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Bugfix in GetEta(padrow,pad,time)
+
+       * /cvs/hltcvs/level3code/src/AliL3Logging.h:
+       Timms code compatible again
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       Bugfix in AliDigits2RootFile, and AliDigits2Memory
+
+2001-10-12  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       Added function AliDigits2RootFile
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Added function UpdateRowPointer
+
+2001-09-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx: Changed to 6 patches
+
+2001-09-18  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Added new funtion GetEta
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3Benchmark.h:
+       Added a static function GetCpuTime
+
+2001-08-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Updates in EvaluatePoints
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Optimization
+
+2001-08-21  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Changed to new clusterfinder
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx: Bugfix
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx: bugfix
+
+       * /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/AliL3LinkDef.h:
+       Added new clusterfinder
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       Added deconvolution
+
+2001-08-20  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Fixing rounding error in digitMC info
+
+2001-08-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Updates for AliROOT V3.05
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       A new improved cluster finder
+
+2001-08-17  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       proteced against non existing inputfile
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: use memset
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       Initialize Memory in Function Write and Allocate
+
+2001-08-15  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       changed to 6 patches
+
+       * /cvs/hltcvs/level3code/src/AliL3Logging.h: changed printout
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.h:
+       changed to n patches
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx: remove printout
+
+2001-08-07  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Added fEta back again, fixed
+
+2001-08-07  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       New AliRoot Coordinate System
+
+2001-07-31  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx: Changed path of geofile
+
+2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       several bugfixes
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Bugfix in fTracker->InitSector
+
+2001-07-30  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       V3.04 -> V3.05: Init and npadrow changed
+
+2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h:
+       Bugfixes
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx:
+       Bugfix
+
+2001-07-30  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       Run with dummy Logging class
+
+2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Update bugfixes
+
+       * /cvs/hltcvs/level3code/src/Makefile: Bugfix in previous commitment
+
+       * /cvs/hltcvs/level3code/src/Makefile: Changed path of mylibs
+
+2001-07-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       Updating
+
+2001-07-26  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       changed (AliL3RandomDigitData **)new Int_t[] to new AliL3RandomDigitData *[]
+
+2001-07-20  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx:
+       Updating bugfixes and default values
+
+2001-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx: Bugfix
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.h:
+       Added function AddLast(AliL3Track *track)
+
+2001-05-03  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx: Minor changes
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       Removing obsolete code
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       Some updates
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Changed max number if hits
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Added some functions
+
+2001-05-01  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx:
+       improved calculation of RMS
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx: bugfix in CalcEdgePoint
+
+2001-04-27  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       Cleaning up some more
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       Cleaning up after last changes
+
+2001-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Changed number of timebins to 446
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3Track.h:
+       Added some functions
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       Added residual calc. and ntuppels
+
+2001-04-06  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       Simplification for Fast Simulator
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx: cleanup
+
+       * /cvs/hltcvs/level3code/src/Makefile, /cvs/hltcvs/level3code/src/Makefile_Root:
+       add mrproper and wipe
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       minor changes, bugfix for FastSim
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       Changed max_num_of_hits to 120000
+
+2001-04-04  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.cxx: minor changes for Benchmark
+
+2001-03-26  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliLevel3.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Bugfix using Aliroot Inputfiles, changes in Init selectiong rows
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx: Bugfix in SetSize
+
+       * /cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       make use_aliroot default, comment if using Makefile_Root
+
+       * /cvs/hltcvs/level3code/src/Makefile_Root, /cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /cvs/hltcvs/level3code/src/AliLevel3_Root.h, /cvs/hltcvs/level3code/src/AliLevel3.h, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       removed class AliLevel3_Root, use AliLevel3 instead
+
+2001-03-22  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       cleanup in Read
+
+2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3Track.cxx: Removed junk
+
+       * /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx: Modified AddTracks
+
+2001-03-22  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       change in file including
+
+2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/src/Makefile: Changed target directory
+
+2001-03-22  Uli Frankenfeld  <franken@hansa00>
+
+       * /cvs/hltcvs/level3code/src/.nfs002b88e300000129: Removed junk
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.h, /cvs/hltcvs/level3code/src/AliLevel3_Root.h, /cvs/hltcvs/level3code/src/speedtest.h:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.h, /cvs/hltcvs/level3code/src/AliLevel3_Root.h, /cvs/hltcvs/level3code/src/speedtest.h:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /cvs/hltcvs/level3code/src/Makefile_Root, /cvs/hltcvs/level3code/src/speedtest.cxx:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /cvs/hltcvs/level3code/src/AliLevel3.cxx, /cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /cvs/hltcvs/level3code/src/Makefile_Root, /cvs/hltcvs/level3code/src/speedtest.cxx:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/.nfs002b88e300000129:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Display.cxx, /cvs/hltcvs/level3code/src/AliL3Display.h, /cvs/hltcvs/level3code/src/AliL3Track.h, /cvs/hltcvs/level3code/src/.nfs002b88e300000129:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /cvs/hltcvs/level3code/src/Makefile:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.h, /cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /cvs/hltcvs/level3code/src/AliL3FileHandler.h, /cvs/hltcvs/level3code/src/AliL3Logging.h, /cvs/hltcvs/level3code/src/AliL3RootTypes.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /cvs/hltcvs/level3code/src/Makefile:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /cvs/hltcvs/level3code/src/AliL3Track.cxx, /cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/doit:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /cvs/hltcvs/level3code/src/AliL3Logger.h, /cvs/hltcvs/level3code/src/doit:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Merger.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.h, /cvs/hltcvs/level3code/src/AliL3VertexData.h, /cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /cvs/hltcvs/level3code/src/AliL3Vertex.h, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3Defs.h, /cvs/hltcvs/level3code/src/AliL3Merger.h, /cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /cvs/hltcvs/level3code/src/AliL3TrackArray.h, /cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /cvs/hltcvs/level3code/src/AliL3Transform.h, /cvs/hltcvs/level3code/src/AliL3VertexArray.h, /cvs/hltcvs/level3code/src/AliL3VertexData.h, /cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /cvs/hltcvs/level3code/src/AliL3Vertex.h, /cvs/hltcvs/level3code/src/AliLevel3.h:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /cvs/hltcvs/level3code/src/AliL3DigitData.h, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /cvs/hltcvs/level3code/src/AliL3InterMerger.h, /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /cvs/hltcvs/level3code/src/AliL3DigitData.h, /cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /cvs/hltcvs/level3code/src/AliL3InterMerger.h, /cvs/hltcvs/level3code/src/AliL3LinkDef.h, /cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       New file.
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinder.h, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       Imported the source files
+
+       * /cvs/hltcvs/level3code/src/AliL3ClustFinder.h, /cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       New file.
+
diff --git a/HLT/doc/changelog.top b/HLT/doc/changelog.top
new file mode 100644 (file)
index 0000000..5b410a2
--- /dev/null
@@ -0,0 +1,75 @@
+2003-07-29  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf, /cvs/hltcvs/level3code/Makefile.rules:
+       Removed ASV version, as the new AliL3FileHandler does not need (but still would be faster using the patched AliTPC class).
+
+2003-07-28  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/.cvsignore: Hopefully it works as a list.
+
+       * /cvs/hltcvs/level3code/Makefile.rules: Added realclean.
+
+2003-07-26  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.rules:
+       Added more printout in printall.
+
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf, /cvs/hltcvs/level3code/Makefile.rules:
+       Split Makefiles into Makefile.conf and Makefile.rules; have new variable names which have to be exported. They all start with AliHLT_! Also have help, print and printall default targets.
+
+       * /cvs/hltcvs/level3code/.cvsignore: A few ignore settings.
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Added some comments to understand the flag. Removed the special treatment of debian systems, as the code now also compiles witch g++-3.3.1
+
+2003-05-14  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf: Solved accentally last checkin.
+
+       * /cvs/hltcvs/level3code/Makefile.conf: Moved Debug switch to .cxx
+
+2003-02-21  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Cosmetic only: Trim spaces in gccversion info.
+
+2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Small changes in order to make compiling easier for new users.
+
+2002-10-15  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Flag for compiling on the alpha.
+
+2002-09-04  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf: Added ASVVERSION define.
+
+2002-08-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Added compiler version information macro to differentiate between gcc version 2.x and 3.x.
+
+2002-07-11  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Changes for independant library of standalone l3 code.
+
+2002-07-02  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       Minor changes at new Top Makefile.
+
+2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/Makefile.conf:
+       New topdir Makefile for compiling all libraries in the HLT tree.
+       Also, a Makefile.conf is added in order to define all the common
+       defininitions, flags etc.
+
diff --git a/HLT/doc/changelog.trigger b/HLT/doc/changelog.trigger
new file mode 100644 (file)
index 0000000..cfb37c9
--- /dev/null
@@ -0,0 +1,28 @@
+2003-07-25  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/trigger/Makefile:
+       Changes to reflect the new makefile strategy.
+
+2003-07-22  Constantin Loizides  <loizides@hansa00>
+
+       * /cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /cvs/hltcvs/level3code/trigger/AliL3Trigger.h, /cvs/hltcvs/level3code/trigger/AliL3TriggerLinkDef.h:
+       Added html tags for documentation.
+
+       * /cvs/hltcvs/level3code/trigger/Makefile:
+       Little changes, to make it consistent with the other Makefiles.
+
+2003-05-30  Gaute Ovrebekk  <ovrebekk@hansa00>
+
+       * /cvs/hltcvs/level3code/trigger/AliD0toKpi.cxx, /cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /cvs/hltcvs/level3code/trigger/AliD0vtxFinderBkg_pp_VTX.C, /cvs/hltcvs/level3code/trigger/AliD0vtxFinderSgn_pp_VTX.C, /cvs/hltcvs/level3code/trigger/AliL3TriggerLinkDef.h, /cvs/hltcvs/level3code/trigger/Makefile:
+       Added first verison of D0 TriggerCode
+
+2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/trigger/AliL3Trigger.cxx, /cvs/hltcvs/level3code/trigger/AliL3Trigger.h:
+       Changes as a result of making AliL3Transform static.
+
+2002-03-06  Anders Strand Vestbo  <vestbo@hansa00>
+
+       * /cvs/hltcvs/level3code/trigger/AliL3Trigger.h, /cvs/hltcvs/level3code/trigger/AliL3Trigger.cxx:
+       Added trigger code. For the moment only preliminary code for pileup removal
+
diff --git a/HLT/exa/.cvsignore b/HLT/exa/.cvsignore
new file mode 100644 (file)
index 0000000..b68f052
--- /dev/null
@@ -0,0 +1,9 @@
+*.so 
+*.root 
+*.eps 
+AliLevel3.log 
+alice.geo 
+tracker 
+*transform.config
+
+
diff --git a/HLT/exa/.rootrc b/HLT/exa/.rootrc
new file mode 100644 (file)
index 0000000..895ef7c
--- /dev/null
@@ -0,0 +1,179 @@
+# @(#) $Id$
+# Author: C. Loizides
+
+# ROOT Environment settings are handled via the class TEnv. To see
+# which values are active do: gEnv->Print().
+
+# Path used by dynamic loader to find shared libraries and macros
+# Paths are different for Unix and Windows. The example shows the defaults
+# for all ROOT applications for either Unix or Windows.
+#Unix.*.Root.DynamicPath:    .:/usr/store/root-v.3.05.05/lib/root
+#Unix.*.Root.MacroPath:      .:/usr/store/root-v.3.05.05/share/root/macros
+#WinNT.*.Root.DynamicPath:   .;/usr/store/root-v.3.05.05/bin;$(PATH)
+#WinNT.*.Root.MacroPath:     .;/usr/store/root-v.3.05.05/share/root/macros
+
+# Path where to look for TrueType fonts
+#Unix.*.Root.UseTTFonts:     true
+#Unix.*.Root.TTFontPath:     /usr/store/root-v.3.05.05/share/root/fonts
+
+# Use thread library (if exists)
+#Unix.*.Root.UseThreads:     false
+
+# Show where item is found in the specified path
+#Root.ShowPath:           false
+
+# Activate memory statistics (size and cnt is used to trap allocation of
+# blocks of a certain size after cnt times)
+#Root.MemStat:            0
+#Root.MemStat.size:      -1
+#Root.MemStat.cnt:       -1
+#Root.ObjectStat:         0
+
+# Activate memory leak checker (use in conjunction with $ROOTSYS/bin/memprobe)
+# Currently only works on Linux with gcc.
+#Root.MemCheck:           0
+#Root.MemCheckFile:       memcheck.out
+
+# Global debug mode. When >0 turns on progressively more details debugging.
+#Root.Debug:              0
+#Root.Stacktrace:         yes
+
+# Settings for X11 behaviour.
+#X11.Sync:                no
+#X11.FindBestVisual:      yes
+
+# Default editor
+#Unix.*.Editor:           vi
+#WinNT.*.Editor:          notepad
+
+# Default Fitter (current choices are Minuit and Fumili)
+#Root.Fitter:             Minuit
+
+# Specify list of file endings which TTabCom (TAB completion) should ignore.
+#TabCom.FileIgnore:       .cpp:.h:.cmz
+
+# TCanvas specific settings. Opaque move and resize show full pad during
+# the operation instead of only the outline. Especially for resize you'll
+# need serious CPU power. UseScreenFactor=true means to size canvas according
+# to size of screen, so a canvas still looks good on a low resolution
+# laptop screen without having to change canvas size in macros.
+# HighLightColor 2 = red. ShowEventStatus allows the event status bar to
+# be turned on by default. AutoExec allows TExec objects to be executed
+# on mouse and key events.
+#Canvas.MoveOpaque:          false
+#Canvas.ResizeOpaque:        false
+#Canvas.UseScreenFactor:     true
+#Canvas.HighLightColor:      2
+#Canvas.ShowEventStatus:     false
+Canvas.AutoExec:            true
+
+# Default histogram binnings for TTree::Draw()
+#Hist.Binning.1D.x:          100
+
+#Hist.Binning.2D.x:           40
+#Hist.Binning.2D.y:           40
+#Hist.Binning.2D.Prof:       100
+
+#Hist.Binning.3D.x:           20
+#Hist.Binning.3D.y:           20
+#Hist.Binning.3D.z:           20
+#Hist.Binning.3D.Profx:      100
+#Hist.Binning.3D.Profy:      100
+
+# THtml specific settings (for more see doc of THtml class)
+Unix.*.Root.Html.SourceDir:  $(LEVEL3BASE)/level3code/src:$(LEVEL3BASE)/level3code/hough:$(LEVEL3BASE)/level3code/misc:$(LEVEL3BASE)/level3code/comp
+#WinNT.*.Root.Html.SourceDir: .;src;include
+Root.Html.OutputDir:         $(LEVEL3BASE)/htmldoc/
+#Root.Html.Homepage:
+#Root.Html.Header:
+#Root.Html.Footer:
+#Root.Html.Description:      //____________________
+Root.Html.Author:           // Author:
+#Root.Html.LastUpdate:       // @(#)
+Root.Html.Copyright:        //*-- Copyright
+
+# GUI specific settings
+#Gui.Backend:                native
+#Unix.*.Gui.NormalFont:      -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1
+#Unix.*.Gui.BoldFont:        -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1
+#Unix.*.Gui.SmallFont:       -adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-iso8859-1
+#Unix.*.Gui.ProportionalFont: -adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-1
+#WinNT.*.Gui.NormalFont:     -adobe-helvetica-medium-r-*-*-15-*-*-*-*-*-iso8859-1
+#WinNT.*.Gui.BoldFont:       -adobe-helvetica-bold-r-*-*-15-*-*-*-*-*-iso8859-1
+#WinNT.*.Gui.SmallFont:      -adobe-helvetica-medium-r-*-*-15-*-*-*-*-*-iso8859-1
+#WinNT.*.Gui.ProportionalFont: -adobe-courier-medium-r-*-*-15-*-*-*-*-*-iso8859-1
+#Gui.BackgroundColor:        #c0c0c0
+#Gui.ForegroundColor:        black
+#Gui.SelectForegroundColor:  white
+#Gui.SelectBackgroundColor:  #000080
+#Gui.IconPath:               $(HOME)/icons:/usr/store/root-v.3.05.05/share/root/icons:.
+#Gui.MimeTypeFile:           $(HOME)/.root.mimes
+# If above does not exists defaults to this:
+#Gui.MimeTypeFile:           /usr/store/root-v.3.05.05/etc/root.mimes
+# Can be either small, big, list, details
+#Browser.IconStyle:          small
+# Can be either name, type, size, date
+#Browser.SortBy:             name
+#Browser.GroupView:          1000
+#Browser.ShowHidden:         no
+
+# Rint (interactive ROOT executable) specific alias, logon and logoff macros
+#Rint.Load:               rootalias.C
+#Rint.Logon:              rootlogon.C
+#Rint.Logoff:             rootlogoff.C
+# Record session commands, set to "-" to turn off command recording
+#Rint.History:            $(HOME)/.root_hist
+
+# ACLiC customization.
+# ACLiC.Linkdef specifies the suffix that will be added to the script name to
+# try to locate a custom linkdef file when generating the dictionary.
+#ACLiC.Linkdef:          _linkdef
+# Set a top directory for storing the libraries produced by ACLiC
+#ACLiC.BuildDir:        /where/I/would/like/my/compiled/scripts
+
+# Default authentication method for rootd (0=clear, 1=SRP, 2=Krb5)
+#Rootd.Authentication:   0
+
+# Default authentication method for proofd (0=clear, 1=SRP, 2=Krb5)
+#Proofd.Authentication:  0
+
+# Plugin library handlers
+#Plugin.TFile:        ^rfio:    TRFIOFile     RFIO    "TRFIOFile(const char*,Option_t*,const char*,Int_t)"
+#+Plugin.TFile:       ^dcache:  TDCacheFile   DCache  "TDCacheFile(const char*,Option_t*,const char*,Int_t)"
+#+Plugin.TFile:       ^chirp:   TChirpFile    Chirp   "TChirpFile(const char*,Option_t*,const char*,Int_t)"
+#Plugin.TSystem:      ^rfio:    TRFIOSystem   RFIO    "TRFIOSystem()"
+#Plugin.TSQLServer:   ^mysql:   TMySQLServer  MySQL   "TMySQLServer(const char*,const char*,const char*)"
+#+Plugin.TSQLServer:  ^pgsql:   TPgSQLServer  PgSQL   "TPgSQLServer(const char*,const char*,const char*)"
+#+Plugin.TSQLServer:  ^sapdb:   TSapDBServer  SapDB   "TSapDBServer(const char*,const char*,const char*)"
+#+Plugin.TSQLServer:  ^oracle:  TOracleServer Oracle  "TOracleServer(const char*,const char*,const char*)"
+#Plugin.TGrid:        ^alien    TAlien        RAliEn  "TAlien(const char*,const char*,const char*,const char*)"
+#Plugin.TVirtualPad:         *  TPad          Gpad         "TPad()"
+#Plugin.TVirtualHistPainter: *  THistPainter  HistPainter  "THistPainter()"
+#Plugin.TVirtualTreePlayer:  *  TTreePlayer   TreePlayer   "TTreePlayer()"
+#Plugin.TVirtualTreeViewer:  *  TTreeViewer   TreeViewer   "TTreeViewer(const TTree*)"
+#Plugin.TVirtualGeoPainter:  *  TGeoPainter   GeomPainter  "TGeoPainter()"
+#Plugin.TVirtualUtil3D:      *  TUtil3D       Graf3d       "TUtil3D()"
+#Plugin.TVirtualUtilHist:    *  TUtilHist     Hist         "TUtilHist()"
+#Plugin.TVirtualUtilPad:     *  TUtilPad      Gpad         "TUtilPad()"
+#Plugin.TVirtualFitter:  Minuit TFitter       Minuit       "TFitter(Int_t)"
+#+Plugin.TVirtualFitter: Fumili TFumili       Fumili       "TFumili(Int_t)"
+#Plugin.TVirtualPS:      ps     TPostScript   Postscript   "TPostScript()"
+#+Plugin.TVirtualPS:     svg    TSVG          Postscript   "TSVG()"
+#Plugin.TViewerX3D:          *  TViewerX3D    X3d          "TViewerX3D(TVirtualPad*,Option_t*,const char*,UInt_t,UInt_t)"
+#Plugin.TMinuitGraph:        *  TGraph        Graf         "TGraph(Int_t,const Double_t*,const Double_t*)"
+#Plugin.TVirtualProof:       *  TProof        Proof        "TProof(const char*,const char*,const char*,Int_t)"
+#Plugin.TPaletteEditor:      *  TASPaletteEditor  ASImage  "TASPaletteEditor(TAttImage*,UInt_t,UInt_t)"
+#Plugin.TImage:              *  TASImage          ASImage  "TASImage()"
+#Plugin.TFileDrawMap         *  TFileDrawMap  TreePlayer   "TFileDrawMap(const TFile*, const char*, const char*)"
+#Plugin.TVirtualX:    x11       TGX11         GX11         "TGX11(const char*,const char*)"
+#+Plugin.TVirtualX:   x11ttf    TGX11TTF      GX11TTF      "TGX11TTF()"
+#+Plugin.TVirtualX:   win32     TGWin32       Win32        "TGWin32(const char*,const char*)"
+#+Plugin.TVirtualX:   win32gdk  TGWin32       Win32gdk     "TGWin32(const char*,const char*)"
+#Plugin.TGuiFactory:  root      TRootGuiFactory Gui        "TRootGuiFactory()"
+#+Plugin.TGuiFactory: win32     TWin32GuiFactory Win32     "TWin32GuiFactory()"
+#Plugin.TProofProgressDialog: * TProofProgressDialog ProofGui  "TProofProgressDialog(TVirtualProof*,const char*,Int_t,Long64_t,Long64_t)"
+
+# Example of custom setting for the Rint application (root.exe).
+# This overrides the default specified above for a generic application.
+# Color 5 is yellow.
+#Rint.Canvas.HighLightColor:      5
index 3bf7321..287fb95 100644 (file)
@@ -4,21 +4,23 @@
    Macro for converting AliRoot digits into L3 RawData. 
    Binary creates for each patch its own file. 
    Singlepatch uses one file per slice (sp=kTRUE). 
-   Run with ALIROOT (not root)
+   Use altro=kFALSE if you dont want to 
+   filter out single timebins
+
+   Run with ALIROOT (not ROOT)
 */
 
-binary(Char_t* inpath,Char_t *outpath,Int_t first,Int_t last,Int_t event,Bool_t sp=kFALSE){
+binary(Char_t* inpath,Char_t *outpath,Int_t first,Int_t last,Int_t event,Bool_t sp=kFALSE,Bool_t altro=kTRUE){
 
   AliL3Transform::Init(inpath,kTRUE);
 
   if(sp) {
-    singlepatch(inpath,outpath,first,last,event);
+    singlepatch(inpath,outpath,first,last,event,altro);
     return;
   }
 
   Char_t name[256];
   const Int_t npatch = 6;
-  Bool_t altrodigits=kFALSE;
 
   sprintf(name,"%s/digitfile.root",inpath);
   AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
@@ -30,7 +32,7 @@ binary(Char_t* inpath,Char_t *outpath,Int_t first,Int_t last,Int_t event,Bool_t
       fFileHandler->Init(slice,patch);      
       sprintf(name,"%s/digits_%d_%d_%d.raw",outpath,event,slice,patch);
       fFileHandler->SetBinaryOutput(name);
-      fFileHandler->AliDigits2CompBinary(event,altrodigits);
+      fFileHandler->AliDigits2CompBinary(event,altro);
       fFileHandler->CloseBinaryOutput();      
       fFileHandler->Free();
       cerr<<" done"<<endl;
@@ -39,6 +41,31 @@ binary(Char_t* inpath,Char_t *outpath,Int_t first,Int_t last,Int_t event,Bool_t
   fFileHandler->CloseAliInput();
 }
 
+void singlepatch(Char_t* inpath,Char_t *outpath,Int_t first=0, Int_t last=0,Int_t event=0,Bool_t altro=kTRUE)
+{
+   
+  Char_t name[256];
+  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
+  sprintf(name,"%s/digitfile.root",inpath);
+  fFileHandler->SetAliInput(name);
+  
+  Int_t patch=-1;
+  for(Int_t slice=first; slice<=last; slice++)
+    {
+      cerr<<"reading slice: "<<slice;
+      fFileHandler->Free();
+      fFileHandler->Init(slice,patch);
+      sprintf(name,"%s/digits_%d_%d_%d.raw",outpath,event,slice,patch);
+      fFileHandler->SetBinaryOutput(name);
+      fFileHandler->AliDigits2CompBinary(event,altro);
+      fFileHandler->CloseBinaryOutput();      
+      cerr<<" done"<<endl;
+    }
+  fFileHandler->CloseAliInput();
+  
+}
+
 void write2rootfile(Char_t *in,Int_t first,Int_t last,Char_t *path)
 {
   //Write new rootfile, using data from the binary files. 
@@ -63,31 +90,6 @@ void write2rootfile(Char_t *in,Int_t first,Int_t last,Char_t *path)
     }
   
 }
-void singlepatch(Char_t* inpath,Char_t *outpath,Int_t first=0, Int_t last=0,Int_t event=0)
-{
-   
-  Char_t name[256];
-  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
-  sprintf(name,"%s/digitfile.root",inpath);
-  fFileHandler->SetAliInput(name);
-  
-  Bool_t altrodigits=kFALSE;
-  Int_t patch=-1;
-  for(Int_t slice=first; slice<=last; slice++)
-    {
-      cerr<<"reading slice: "<<slice;
-      fFileHandler->Free();
-      fFileHandler->Init(slice,patch);
-      sprintf(name,"%s/digits_%d_%d_%d.raw",outpath,event,slice,patch);
-      fFileHandler->SetBinaryOutput(name);
-      fFileHandler->AliDigits2CompBinary(event,altrodigits);
-      fFileHandler->CloseBinaryOutput();      
-      cerr<<" done"<<endl;
-    }
-  fFileHandler->CloseAliInput();
-  
-}
 
 void make_init_file(Char_t *f,Char_t *path="./"){
   AliL3Transform::MakeInitFile(f,path);
index bae7e5d..7530bde 100644 (file)
     {
       if(getenv("ALIHLT_MLUCDIR")) {
         if(strcmp("false",getenv("ALIHLT_NOLOGGING"))==0) gSystem->Load("$(ALIHLT_MLUCDIR/lib/libMLUC");
-        gSystem->Load("$(ALIHLT_TOPDIR)/lib_$(ALIHLT_USEPACKAGE)/libAliL3Src");
-        gSystem->Load("$(ALIHLT_TOPDIR)/lib_$(ALIHLT_USEPACKAGE)/libAliL3Misc");
-        gSystem->Load("$(ALIHLT_TOPDIR)/lib_$(ALIHLT_USEPACKAGE)/libAliL3Hough");
-        gSystem->Load("$(ALIHLT_TOPDIR)/lib_$(ALIHLT_USEPACKAGE)/libAliL3Comp");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Src");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Misc");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Hough");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Comp");
       } else {
         if(strcmp("false",getenv("ALIHLT_NOLOGGING"))==0) gSystem->Load("$(ALIHLT_BASEDIR)/kip/MLUC/lib/linux-i386/libMLUC.so");
         gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliL3Src");
@@ -45,9 +45,9 @@
   if(strcmp("true",getenv("ALIHLT_DOMC"))==0) gSystem->SetIncludePath(" -Ddo_mc");
   gSystem->SetIncludePath(" -I$ALIHLT_TOPDIR/hough -I$ALIHLT_TOPDIR/src -I$ALIHLT_TOPDIR/comp -I$ALIHLT_TOPDIR/misc -I$ALICE_ROOT/include/ -I$ALICE_ROOT/TPC -I$ALICE_ROOT/CONTAINERS -I$ALICE_ROOT/STEER ");
  
-  if(!strcmp("true",getenv("ALIHLT_NOLOGGING"))){
-    //AliL3Logger gLogger;
-    //gLogger.UseStream();
+  if(strcmp("false",getenv("ALIHLT_NOLOGGING"))==0){
+    AliL3Logger gLogger;
+    gLogger.UseStream();
   }
 
 /*
index b3b2afd..2729c57 100644 (file)
@@ -3,10 +3,11 @@
 /**
    Run this macro for cluster finder and track follower 
    (see steering class AliLevel3).
-   In argument path, you have to provide the path to where the directory where the data files
-   should be located. In case of reading from a rootfile, you have to
-   make a symbolic link "digitfile.root" which points to the rootfile containing AliROOT 
-   digits tree.
+   In argument path, you have to provide the path to the directory 
+   where the data files should be located. In case of reading from a rootfile, you have to
+   make a symbolic link "digitfile.root", which points to the rootfile containing AliROOT 
+   digits tree and a symbolic link "alirunfile.root" pointing to a file containing
+   the ALIROOT geometry (TPC param). RUN with ALIROOT (not ROOT) if using root files.
 */
 
 void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t nevent=1,Char_t *opath="./")
@@ -15,10 +16,17 @@ void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t neven
   Bool_t binary=kFALSE; //Assume input is RLE binary files, or rootfile.
   Bool_t pileup=kFALSE; //Assume input is pileup event = non RLE binary files.
   Int_t npatches = 1;   //Options; 1, 2 and 6.
-  Char_t trackparams[] = "SetTrackingParameters_pp.C"; //Set this to correspond with mult. and BField
-  
-  AliL3Transform::Init(path,!binary);
+  Char_t trackparams[] = "SetTrackingParameters_4000bf04.C"; //Set this to correspond 
+                                                             //with mult. and BField
   
+  //for aliroot the path should point to a file 
+  //containing the tpc geometry called alirunfile.root
+  Bool_t isinit=AliL3Transform::Init(path,!binary);
+  if(!isinit){
+    cerr << "Could not create transform settings, please check log for error messages!" << endl;
+    return;
+  }
+
   for(Int_t ev=0; ev<nevent; ev++)
     {
       if(binary)
index 8209f86..6504db8 100644 (file)
@@ -3,13 +3,16 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include <string.h>
 #include "AliL3StandardIncludes.h"
 #include "AliL3Logging.h"
 #include "AliL3HistogramAdaptive.h"
 #include "AliL3Transform.h"
 #include "AliL3Track.h"
 
+#if GCCVERSION == 3
+using namespace std;
+#endif
+
 //_____________________________________________________________
 // AliL3HistogramAdaptive
 //
@@ -69,7 +72,7 @@ Int_t AliL3HistogramAdaptive::InitPtBins()
       delta_pt = fPtres*local_pt;
       pt += delta_pt;
       bin++;
-      //      cout<<"Setting "<<bin<<" at step "<<local_pt<<" "<<pt<<" interval "<<delta_pt<<endl;
+      //cout<<"Setting "<<bin<<" at step "<<local_pt<<" "<<pt<<" interval "<<delta_pt<<endl;
     }
 
   return (bin+1)*2; //Both negative and positive kappa.
@@ -101,7 +104,7 @@ Int_t AliL3HistogramAdaptive::FindXbin(Double_t x)
   
   Double_t ptfind = fabs(AliL3Transform::GetBFact()*AliL3Transform::GetBField()/x);
   if(ptfind < fMinPt || ptfind > fMaxPt) return -1;
-  //  cout<<"Looking for pt "<<ptfind<<endl;
+  //cout<<"Looking for pt "<<ptfind<<endl;
   Double_t pt = fMinPt;
   Double_t delta_pt,local_pt;
   Int_t bin=0;
@@ -121,7 +124,7 @@ Int_t AliL3HistogramAdaptive::FindXbin(Double_t x)
   if(bin >= fNxbins/2)
     cerr<<"AliL3HistogramAdaptive::FindXbin : Bin out of range : "<<bin<<endl;
   
-  //  cout<<"Found xbin "<<bin<<" and x is "<<x<<endl;
+  //cout<<"Found xbin "<<bin<<" and x is "<<x<<endl;
   if(x < 0)
     {
       //        cout<<"returning xbin "<<bin<<endl;
@@ -142,7 +145,7 @@ Int_t AliL3HistogramAdaptive::FindYbin(Double_t y)
 
 Double_t AliL3HistogramAdaptive::GetBinCenterX(Int_t xbin)
 {
-  //    cout<<"Looking for bin "<<xbin<<endl;
+  //cout<<"Looking for bin "<<xbin<<endl;
   if(xbin < 0 || xbin > fNxbins)
     {
       cerr<<"AliL3HistogramAdaptive::GetBinCenterX : Xbin out of range "<<xbin<<endl;
@@ -160,10 +163,10 @@ Double_t AliL3HistogramAdaptive::GetBinCenterX(Int_t xbin)
        break;
       bin++;
     }
-  //    cout<<"get center at ptinterval "<<local_pt<<" "<<pt;
+  //cout<<"get center at ptinterval "<<local_pt<<" "<<pt;
   
   Double_t kappa = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/(local_pt + 0.5*delta_pt);
-  //    cout<<" found pt "<<local_pt+delta_pt*0.5<<" kappa "<<kappa<<" xbin "<<xbin<<" fNxbins/2-1 "<<fNxbins/2-1<<endl;
+  //cout<<" found pt "<<local_pt+delta_pt*0.5<<" kappa "<<kappa<<" xbin "<<xbin<<" fNxbins/2-1 "<<fNxbins/2-1<<endl;
   if(xbin == bin)
     return -1.*kappa;
   else
index d8b6f71..00c0d85 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$ 
 
-//   Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+// Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 #ifndef use_aliroot
 BOMB THE COMPILE: USEPACKAGE=ALIROOT
index 8537c2e..0108ea3 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$
 
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 /**
  Program to convert big <-> little endian cosmics data of 02/2003.
index 7125e66..6eee667 100644 (file)
@@ -1,6 +1,8 @@
-//$Id$
+// $Id$
+
+// Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
-//Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 
 /**
    This program extracts parameters and lookup tables needed for the
index e2e3f26..070cfaf 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$
 
-// Author: Constantin Loizides <mailto: loizides@ikf.uni-frankfurt.de
+// Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de
+//*-- Copyright &copy ALICE HLT Group
 
 
 #include "AliL3StandardIncludes.h"
index 0709580..6f51814 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$
 
-// Author: Constantin Loizides <mailto: loizides@ikf.uni-frankfurt.de
+// Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de
+//*-- Copyright &copy ALICE HLT Group
 
 #include <AliL3StandardIncludes.h>
 
index 8dea62a..8129ab4 100644 (file)
@@ -1,6 +1,8 @@
 // $Id$
 
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
+
 
 /**
  Example program how to run the "standalone" clusterfinder.
index d2ce240..efe2225 100644 (file)
@@ -1,7 +1,7 @@
-//$Id$
+// @(#) $Id$
 
-// Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
-//*-- Copyright &copy ASV
+// Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 #include "AliL3StandardIncludes.h"
 
@@ -34,8 +34,8 @@ int main(Int_t argc,Char_t **argv)
   sl2 = atoi(argv[3]);
   
   AliLevel3 level3;
-  level3.Init(path,kTRUE);
-  level3.SetClusterFinderParam(0.2,0.3,kFALSE);
+  level3.Init(path,kTRUE,1);
+  level3.SetClusterFinderParam(0,0,kTRUE);
   
   Int_t phi_segments,eta_segments,trackletlength,tracklength;
   Int_t rowscopetracklet,rowscopetrack;
@@ -53,9 +53,9 @@ int main(Int_t argc,Char_t **argv)
   goodDist = 5;
   maxphi=100;
   maxeta=100;
-  hitChi2Cut = 20;//100
-  goodHitChi2 = 10;//20;
-  trackChi2Cut = 50;
+  hitChi2Cut = 15;//100
+  goodHitChi2 = 5;//20;
+  trackChi2Cut = 10;
   
   //main vertex tracking parameters:
   level3.SetTrackerParam(phi_segments,eta_segments,trackletlength,tracklength,
@@ -65,7 +65,7 @@ int main(Int_t argc,Char_t **argv)
   
   //level3.WriteFiles("data/");
   level3.ProcessEvent(sl1,sl2);
-  level3.DoBench("benchmark_0");
+  level3.DoBench("1000tango");
 
   return 0;
 }
index 179fdae..d31d6a6 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$
    
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 
 #include "AliL3StandardIncludes.h"
index 379b9c6..a28297a 100644 (file)
@@ -1,6 +1,7 @@
 // $Id$
    
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 
 #include "AliL3StandardIncludes.h"
index 85c9f2c..b989155 100644 (file)
@@ -1,5 +1,9 @@
 // $Id$
 
+// Author: Uli Frankenfeld <uli.frankenfeld@gsi.de>
+//*-- Copyright &copy ALICE HLT Group
+
+
 #include "speedtest.h"
 
 int main(int arg,char **arc){
index f099ed8..9d0cede 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 #include <iostream.h>
 #define ALIL3LOGGING_H
 class AliL3Log{
index b5619df..5d13a61 100644 (file)
@@ -1,7 +1,7 @@
-//$Id$
+// @(#) $Id$
 
-// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
-//*-- Copyright &copy ASV 
+// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
+//*-- Copyright &copy ALICE HLT Group
 
 #include "AliL3StandardIncludes.h"
 
@@ -437,8 +437,11 @@ void AliL3ClustFinderNew::WriteClusters(Int_t n_clusters,ClusterData *list)
       fSpacePointData[counter].fPadRow = fCurrentRow;
       fSpacePointData[counter].fSigmaY2 = fpad2;
       fSpacePointData[counter].fSigmaZ2  = ftime2;
+
+      Int_t patch=fCurrentPatch;
+      if(patch==-1) patch=0; //never store negative patch number
       fSpacePointData[counter].fID = counter
-       +((fCurrentSlice&0x7f)<<25)+((fCurrentPatch&0x7)<<22);//Uli
+       +((fCurrentSlice&0x7f)<<25)+((patch&0x7)<<22);//Uli
 #ifdef do_mc
       Int_t trackID[3];
       GetTrackID((Int_t)rint(fpad),(Int_t)rint(ftime),trackID);
index 8fdd67e..bdadde2 100644 (file)
@@ -22,6 +22,8 @@
 
 ClassImp(AliL3ConfMapPoint)
 
+Bool_t AliL3ConfMapPoint::fDontMap=kFALSE;
+
 AliL3ConfMapPoint::AliL3ConfMapPoint()
 {
   //Constructor
@@ -93,10 +95,8 @@ void AliL3ConfMapPoint::Setup(AliL3Vertex *vertex)
   return;
 }
 
-void AliL3ConfMapPoint::SetIntPoint(const Double_t in_x,const Double_t in_y, 
-                              const Double_t in_z,
-                              const Double_t in_x_err, const Double_t in_y_err, 
-                              const Double_t in_z_err)
+void AliL3ConfMapPoint::SetIntPoint(const Double_t in_x,const Double_t in_y,const Double_t in_z,
+                                   const Double_t in_x_err,const Double_t in_y_err,const Double_t in_z_err)
 {
   // Defines a new interaction point. This point is needed to calculate
   // the conformal coordinates.
@@ -155,6 +155,15 @@ void AliL3ConfMapPoint::SetConfCoord()
   // assumed to be at (0, 0, 0). Otherwise the function will use the
   // interaction point specified by fXt and fYt.
 
+  if(fDontMap){
+    fXprime = x;
+    fYprime = y;
+    fWxy = 0;
+    s = 0; //track trajectory
+    fWz = 0;
+    return;
+  }
+
   Double_t r2;
   Double_t xyErrorScale = 1;
   Double_t szErrorScale = 1;
@@ -163,19 +172,12 @@ void AliL3ConfMapPoint::SetConfCoord()
     {
       fXprime =  fXv / r2;
       fYprime = -fYv / r2;
-      //  fXprimeerr = TMath::Sqrt(TMath::Power((-fXv * fXv +   fYv*fYv) * fXverr, 2) + TMath::Power( 2*fXv*fYv*fYverr, 2)) / TMath::Power(fXv*fXv + fYv*fYv, 2);
-      // fXprimeerr = TMath::Sqrt(TMath::Power((-fXv * fXv - 3*fYv*fYv) * fYverr, 2) + TMath::Power(-2*fXv*fYv*fXverr, 2)) / TMath::Power(fXv*fXv + fYv*fYv, 2);
-    
       
       //set weights:
-      //fWxy = r2*r2 / (TMath::Power(xyErrorScale,2)*(TMath::Power(xerr,2)+TMath::Power(yerr,2)));
       fWxy = r2*r2 / ((xyErrorScale*xyErrorScale)*((xerr*xerr)+(yerr*yerr)));
       s = 0; //track trajectory
-      //fWz = (Double_t)(1./TMath::Power(szErrorScale*zerr,2));
       fWz = (Double_t)(1./(szErrorScale*zerr*zerr));
-    }
-  
-  else {
+    } else {
     fXprime    = 0.;
     fYprime    = 0.;
     fXprimeerr = 0.;
index 7857b55..94aaa3a 100644 (file)
@@ -17,7 +17,7 @@ class AliL3ConfMapPoint {
   Int_t fTrackNumber;
   Int_t fNextHitNumber;
   Bool_t fUsed;
-    Int_t fPadrow;
+  Int_t fPadrow;
   Int_t fSector;
 
   //global coordinates and their errors
@@ -63,7 +63,8 @@ class AliL3ConfMapPoint {
   Double_t   fPhi;         // angle phi
   Double_t   fEta;         // pseudorapidity
   
-  
+  static Bool_t fDontMap; //flag to switch off mapping  
+
  public:
 
   AliL3ConfMapPoint();
@@ -100,27 +101,27 @@ class AliL3ConfMapPoint {
   //AliL3ConfMapTrack *GetTrack(TClonesArray *tracks) const;
   
   Bool_t GetUsage() const {return fUsed;}
-  Double_t   GetPhi() const          { return fPhi;        }
-  Double_t   GetEta() const          { return fEta;        }
-  
-  Double_t   GetXprime() const       { return fXprime;     }
-  Double_t   GetYprime() const       { return fYprime;     }
-  Double_t   GetXprimeerr() const    { return fXprimeerr;  }
-  Double_t   GetYprimeerr() const    { return fYprimeerr;  }
-  
-  Double_t   GetXt() const           { return fXt;         }
-  Double_t   GetYt() const           { return fYt;         }
-  Double_t   GetZt() const           { return fZt;         }
-  Double_t   GetXterr() const        { return fXterr;      }
-  Double_t   GetYterr() const        { return fYterr;      }
-  Double_t   GetZterr() const        { return fZterr;      }
-  
-  Double_t   GetXv() const           { return fXv;         }
-  Double_t   GetYv() const           { return fYv;         }
-  Double_t   GetZv() const           { return fZv;         }
-  Double_t   GetXverr() const        { return fXverr;      }
-  Double_t   GetYverr() const        { return fYverr;      }
-  Double_t   GetZverr() const        { return fZverr;      }
+  Double_t GetPhi() const {return fPhi;}
+  Double_t GetEta() const {return fEta;}
+  
+  Double_t GetXprime() const    {return fXprime;}
+  Double_t GetYprime() const    {return fYprime;}
+  Double_t GetXprimeerr() const {return fXprimeerr;}
+  Double_t GetYprimeerr() const {return fYprimeerr;}
+  
+  Double_t GetXt() const           { return fXt;         }
+  Double_t GetYt() const           { return fYt;         }
+  Double_t GetZt() const           { return fZt;         }
+  Double_t GetXterr() const        { return fXterr;      }
+  Double_t GetYterr() const        { return fYterr;      }
+  Double_t GetZterr() const        { return fZterr;      }
+  
+  Double_t GetXv() const           { return fXv;         }
+  Double_t GetYv() const           { return fYv;         }
+  Double_t GetZv() const           { return fZv;         }
+  Double_t GetXverr() const        { return fXverr;      }
+  Double_t GetYverr() const        { return fYverr;      }
+  Double_t GetZverr() const        { return fZverr;      }
 
   Int_t GetHitNumber() const {return fHitNumber;}
   Int_t GetNextHitNumber() const {return fNextHitNumber;}
@@ -128,6 +129,8 @@ class AliL3ConfMapPoint {
   //  Int_t const *GetMCTrackID()     const {return fMCTrackID;}
   
   // setter
+  static void SetDontMap(Bool_t b){fDontMap=b;}
+
   void SetX(Double_t f) {x=f;}
   void SetY(Double_t f) {y=f;}
   void SetZ(Double_t f) {z=f;}
@@ -144,42 +147,42 @@ class AliL3ConfMapPoint {
 
   void SetUsage(Bool_t f) {fUsed=f;}
     
-  void    SetPhi(Double_t f)         {           fPhi = f; }
-  void    SetEta(Double_t f)         {           fEta = f; }
-  
-  void    SetXprime(Double_t f)      {        fXprime = f; }
-  void    SetYprime(Double_t f)      {        fYprime = f; }
-  void    SetXprimeerr(Double_t f)   {     fXprimeerr = f; }
-  void    SetYprimeerr(Double_t f)   {     fYprimeerr = f; }
-  
-  void    SetXt(Double_t f)          {            fXt = f; }
-  void    SetYt(Double_t f)          {            fYt = f; }
-  void    SetZt(Double_t f)          {            fZt = f; }
-  void    SetXterr(Double_t f)       {         fXterr = f; }
-  void    SetYterr(Double_t f)       {         fYterr = f; }
-  void    SetZterr(Double_t f)       {         fZterr = f; }
-  
-  void    SetXv(Double_t f)          {            fXv = f; }
-  void    SetYv(Double_t f)          {            fYv = f; }
-  void    SetZv(Double_t f)          {            fZv = f; }
-  void    SetXverr(Double_t f)       {         fXverr = f; }
-  void    SetYverr(Double_t f)       {         fYverr = f; }
-  void    SetZverr(Double_t f)       {         fZverr = f; }
-  
-  void    SetHitNumber(Int_t f) {fHitNumber=f;}
-  void    SetTrackNumber(Int_t f) {fTrackNumber=f;}
-  void    SetNextHitNumber(Int_t f) {fNextHitNumber=f;}
-
-  void    Setup(AliL3Vertex *vertex);// does the usual setup in the right order
-  void    SetAngles();// calculate spherical angles and set values
-  void    SetIntPoint(const Double_t in_x = 0.,const Double_t in_y = 0.,
-                     const Double_t in_z = 0.,const Double_t in_x_err = 0., 
-                     const Double_t in_y_err = 0., const Double_t in_z_err = 0.);  
+  void SetPhi(Double_t f)         {           fPhi = f; }
+  void SetEta(Double_t f)         {           fEta = f; }
+  
+  void SetXprime(Double_t f)      {        fXprime = f; }
+  void SetYprime(Double_t f)      {        fYprime = f; }
+  void SetXprimeerr(Double_t f)   {     fXprimeerr = f; }
+  void SetYprimeerr(Double_t f)   {     fYprimeerr = f; }
+  
+  void SetXt(Double_t f)          {            fXt = f; }
+  void SetYt(Double_t f)          {            fYt = f; }
+  void SetZt(Double_t f)          {            fZt = f; }
+  void SetXterr(Double_t f)       {         fXterr = f; }
+  void SetYterr(Double_t f)       {         fYterr = f; }
+  void SetZterr(Double_t f)       {         fZterr = f; }
+  
+  void SetXv(Double_t f)          {            fXv = f; }
+  void SetYv(Double_t f)          {            fYv = f; }
+  void SetZv(Double_t f)          {            fZv = f; }
+  void SetXverr(Double_t f)       {         fXverr = f; }
+  void SetYverr(Double_t f)       {         fYverr = f; }
+  void SetZverr(Double_t f)       {         fZverr = f; }
+  
+  void SetHitNumber(Int_t f) {fHitNumber=f;}
+  void SetTrackNumber(Int_t f) {fTrackNumber=f;}
+  void SetNextHitNumber(Int_t f) {fNextHitNumber=f;}
+
+  void Setup(AliL3Vertex *vertex);// does the usual setup in the right order
+  void SetAngles();// calculate spherical angles and set values
+  void SetIntPoint(const Double_t in_x = 0.,const Double_t in_y = 0.,
+                  const Double_t in_z = 0.,const Double_t in_x_err = 0., 
+                  const Double_t in_y_err = 0., const Double_t in_z_err = 0.);  
   //-> set interaction point
-  void    SetShiftedCoord();// set shifted coordinates  
-  void    SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
-  void    SetConfCoord();// conformal mapping
-  
+  void SetShiftedCoord();// set shifted coordinates  
+  void SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
+  void SetConfCoord();// conformal mapping
+
   ClassDef(AliL3ConfMapPoint, 1)   //Conformal mapping hit class.
 };
 
index 114b79e..73624ab 100644 (file)
@@ -6,13 +6,13 @@
 #include "AliL3StandardIncludes.h"
 #include <sys/time.h>
 
-#include "AliL3ConfMapper.h"
 #include "AliL3Logging.h" 
 #include "AliL3Vertex.h"
 #include "AliL3ConfMapTrack.h"
 #include "AliL3ConfMapPoint.h"
 #include "AliL3TrackArray.h"
 #include "AliL3Transform.h"
+#include "AliL3ConfMapper.h"
 
 /** \class AliL3ConfMapper
 <pre>
@@ -41,7 +41,6 @@ AliL3ConfMapper::AliL3ConfMapper()
   fBench = (Bool_t)true;
   fParamSet = (Bool_t)false;
   fVertexConstraint = (Bool_t)true;
-  
 }
 
 
@@ -105,7 +104,7 @@ void AliL3ConfMapper::InitVolumes()
 }
 
 void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
-{
+{ //sector means slice here
   //Initialize tracker for tracking in a given sector.
   //Resets track and hit arrays.
   //Here it is also possible to specify a subsector, by defining
@@ -132,7 +131,6 @@ void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
   else
     {
       fEtaMin = 0;
-      //fEtaMax = sector < 18 ? 1 : -1;
       fEtaMax = sector < 18 ? 0.9 : -0.9;
     }
   
@@ -153,8 +151,6 @@ void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
   fTrack->Reset();
 }
 
-
-
 Bool_t AliL3ConfMapper::ReadHits(UInt_t count, AliL3SpacePointData* hits )
 {
   Int_t nhit=(Int_t)count; 
@@ -170,12 +166,11 @@ Bool_t AliL3ConfMapper::ReadHits(UInt_t count, AliL3SpacePointData* hits )
   return true;
 }
 
-
 void AliL3ConfMapper::SetPointers()
 {
-  
   //Check if there are not enough clusters to make a track in this sector
   //Can happen in pp events.
+
   if(fClustersUnused < fMinPoints[fVertexConstraint])
     return;
   
@@ -190,7 +185,6 @@ void AliL3ConfMapper::SetPointers()
   Int_t local_counter=0;
   for(Int_t j=0; j<fClustersUnused; j++)
     {
-      
       //AliL3ConfMapPoint *thisHit = (AliL3ConfMapPoint*)fHit->At(j);
       AliL3ConfMapPoint *thisHit = &(fHit[j]);
 
@@ -206,6 +200,7 @@ void AliL3ConfMapper::SetPointers()
       
       if(thisHit->phiIndex<1 || thisHit->phiIndex>fNumPhiSegment)
        {
+         //cout << "Phiindex: " << thisHit->phiIndex << " " << thisHit->GetPhi() << endl;
          fPhiHitsOutOfRange++;
          continue;
        }
@@ -213,6 +208,7 @@ void AliL3ConfMapper::SetPointers()
       thisHit->etaIndex=(Int_t)((thisHit->GetEta()-fEtaMin)/etaSlice + 1);
       if(thisHit->etaIndex<1 || thisHit->etaIndex>fNumEtaSegment)
        {
+         //cout << "Etaindex: " << thisHit->etaIndex << " " << thisHit->GetEta() << endl;
          fEtaHitsOutOfRange++;
          continue;
        }
@@ -233,8 +229,6 @@ void AliL3ConfMapper::SetPointers()
       else
        ((AliL3ConfMapPoint *)(fRow[(localrow-fRowMin)].last))->nextRowHit = thisHit;
        fRow[(localrow-fRowMin)].last = (void *)thisHit;
-       
-       
     }
   
   if(fClustersUnused>0 && local_counter==0)
@@ -242,9 +236,10 @@ void AliL3ConfMapper::SetPointers()
       <<AliL3Log::kDec<<"No points passed to track finder, hits out of range: "
       <<fEtaHitsOutOfRange+fPhiHitsOutOfRange<<ENDLOG;
 
+  Int_t hits_accepted=fClustersUnused-(fEtaHitsOutOfRange+fPhiHitsOutOfRange);
   LOG(AliL3Log::kInformational,"AliL3ConfMapper::SetPointers","Setup")
     <<"Setup finished, hits out of range: "<<fEtaHitsOutOfRange+fPhiHitsOutOfRange
-    <<" hits accepted "<<fClustersUnused<<ENDLOG;
+    <<" hits accepted "<<hits_accepted<<ENDLOG;
 }
 
 void AliL3ConfMapper::MainVertexTracking_a()
@@ -260,6 +255,7 @@ void AliL3ConfMapper::MainVertexTracking_a()
 
   Double_t initCpuTime,cpuTime;
   initCpuTime = CpuTime();
+
   SetPointers();
   SetVertexConstraint(true);
   cpuTime = CpuTime() - initCpuTime;
@@ -358,8 +354,7 @@ void AliL3ConfMapper::NonVertexSettings(Int_t trackletlength, Int_t tracklength,
   SetMinPoints(tracklength,(Bool_t)false);
 }
 
-void AliL3ConfMapper::SetTrackCuts(Double_t hitChi2Cut, Double_t goodHitChi2, Double_t trackChi2Cut,Int_t maxdist,
-                                  Bool_t vertexconstraint)
+void AliL3ConfMapper::SetTrackCuts(Double_t hitChi2Cut, Double_t goodHitChi2, Double_t trackChi2Cut,Int_t maxdist,Bool_t vertexconstraint)
 {
   //Settings for tracks. The cuts are:
   //HitChi2Cut:     Maximum hit chi2
@@ -401,6 +396,7 @@ void AliL3ConfMapper::ClusterLoop()
     {
       if(fRow[(row_segm-fRowMin)].first && ((AliL3ConfMapPoint*)fRow[(row_segm-fRowMin)].first)->GetPadRow() < fRowMin + 1)
        break;
+
       for(hit = (AliL3ConfMapPoint*)fRow[(row_segm-fRowMin)].first; hit!=0; hit=hit->nextRowHit)
        {
          if(hit->GetUsage() == true)
@@ -866,6 +862,7 @@ Int_t AliL3ConfMapper::FillTracks()
     {
       AliL3ConfMapTrack *track = (AliL3ConfMapTrack*)fTrack->GetTrack(i);
       track->Fill(fVertex,fMaxDca);
+      
     }
   return 1;
 
index cacc330..12f2bfd 100644 (file)
@@ -4,7 +4,6 @@
 #define ALIL3_ConfMapper
 
 #include "AliL3RootTypes.h"
-
 #include "AliL3SpacePointData.h"
 
 class AliL3ConfMapPoint;
@@ -25,7 +24,7 @@ class AliL3ConfMapper {
 
  private:
 
-  Bool_t fBench; //run-time measurements)
+  Bool_t fBench; //run-time measurements
 
   Int_t nTracks; //number of tracks build.
 
@@ -69,10 +68,10 @@ class AliL3ConfMapper {
   
   // Cuts
   Double_t fMaxAngleTracklet[2];  //limit of angle between to pieces of a tracklet
-  Int_t fMaxDist[2];                 //maximum distance between two hits 
-  Double_t fHitChi2Cut[2];           //Maximum hit chi2
-  Double_t fGoodHitChi2[2];          //Chi2 to stop looking for next hit
-  Double_t fTrackChi2Cut[2];         //Maximum track chi2
+  Int_t fMaxDist[2];              //maximum distance between two hits 
+  Double_t fHitChi2Cut[2];        //Maximum hit chi2
+  Double_t fGoodHitChi2[2];       //Chi2 to stop looking for next hit
+  Double_t fTrackChi2Cut[2];      //Maximum track chi2
   Double_t fGoodDist;             //In segment building, distance consider good enough
   Double_t fMaxPhi;
   Double_t fMaxEta;
@@ -133,10 +132,7 @@ class AliL3ConfMapper {
   Int_t GetNumberOfTracks() {return nTracks;}
   AliL3TrackArray *GetTracks() {return fTrack;}
   Double_t GetMaxDca()  const {return fMaxDca;}
-  AliL3Vertex* GetVertex() const
-         {
-         return fVertex;
-         }
+  AliL3Vertex* GetVertex() const {return fVertex;}
 
   //setters
   void SetTrackCuts(Double_t hitChi2Cut, Double_t goodHitChi2, Double_t trackChi2Cut, Int_t maxdist,Bool_t vertexconstraint); 
index 890e986..def309f 100644 (file)
@@ -152,7 +152,7 @@ void AliL3Display::DisplayTracks(Int_t min_hits,Bool_t x3don,Float_t thr)
     {
       AliL3Track *gtrack = fTracks->GetCheckedTrack(j); 
       if(!gtrack) continue;
-      if(gtrack->GetPt()<thr) continue;        
+      if((thr>=0)&&(gtrack->GetPt()<thr)) continue;        
       Int_t nHits = gtrack->GetNHits();
       UInt_t *hitnum = gtrack->GetHitNumbers();
       if(nHits < min_hits) continue;
@@ -160,10 +160,12 @@ void AliL3Display::DisplayTracks(Int_t min_hits,Bool_t x3don,Float_t thr)
       Int_t hitcount=0;
       for(Int_t h=0; h<nHits; h++)
        {
+
          UInt_t id=hitnum[h];
          Int_t slice = (id>>25) & 0x7f;
          Int_t patch = (id>>22) & 0x7;
          UInt_t pos = id&0x3fffff;           
+         //cout << h << " id " << pos << endl;
          AliL3SpacePointData *points = fClusters[slice][patch];
          if(slice < fMinSlice || slice > fMaxSlice)
            continue;
@@ -173,7 +175,12 @@ void AliL3Display::DisplayTracks(Int_t min_hits,Bool_t x3don,Float_t thr)
              <<"No points at slice "<<slice<<" patch "<<patch<<" pos "<<pos<<ENDLOG;
            continue;
          }
-         if(pos>=fNcl[slice][patch]) {printf("Error \n"); continue;}
+         if(pos>=fNcl[slice][patch]){
+           LOG(AliL3Log::kError,"AliL3Display::DisplayTracks","Clusterarray")
+             <<"Pos is too large: pos "<<pos <<" ncl "<<fNcl[slice][patch]<<ENDLOG;
+           continue;
+         }
+
          Float_t xyz_tmp[3];
          xyz_tmp[0] = points[pos].fX;
          xyz_tmp[1] = points[pos].fY;
@@ -249,14 +256,12 @@ void AliL3Display::DisplayClusters(Bool_t x3don)
          Float_t xyz[3];
          for(Int_t i=0; i<npoints; i++)
            {
-             
              xyz[0] = points[i].fX;
              xyz[1] = points[i].fY;
              xyz[2] = points[i].fZ;
              //AliL3Transform::Local2Global(xyz,s);
              pm->SetPoint(i,xyz[0],xyz[1],xyz[2]); 
-             
-           }
+           }
          pm->SetMarkerColor(2);
          pm->Draw("");
        }
@@ -329,11 +334,15 @@ void AliL3Display::DisplayAll(Int_t min_hits,Bool_t x3don)
          
          AliL3SpacePointData *points = fClusters[slice][patch];
          if(!points) {
-           LOG(AliL3Log::kError,"AliL3Display::DisplayTracks","Clusterarray")
+           LOG(AliL3Log::kError,"AliL3Display::DisplayAll","Clusterarray")
              <<"No points at slice "<<slice<<" patch "<<patch<<" pos "<<pos<<ENDLOG;
            continue;
          }
-         if(pos>=fNcl[slice][patch]) {printf("Error \n"); continue;}
+         if(pos>=fNcl[slice][patch]) {
+           LOG(AliL3Log::kError,"AliL3Display::DisplayAll","Clusterarray")
+             <<"Pos is too large: pos "<<pos <<" ncl "<<fNcl[slice][patch]<<ENDLOG;
+           continue;
+         }
          xcl[h] = points[pos].fX;
          ycl[h] = points[pos].fY;
          zcl[h] = points[pos].fZ;
index 6656ab2..16f7861 100644 (file)
@@ -1,12 +1,13 @@
 // @(#) $Id$
 
-// Author: Uli Frankenfeld <mailto:franken@fi.uib.no>, Anders Vestbo <mailto:vestbo$fi.uib.no>
+// Author: Uli Frankenfeld <mailto:franken@fi.uib.no>, Anders Vestbo <mailto:vestbo$fi.uib.no>, C. Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group 
 
 #include "AliL3StandardIncludes.h"
 #include <TClonesArray.h>
 #include <TSystem.h>
 
+#include <AliTPCParamSR.h>
 #include <AliTPCDigitsArray.h>
 #include <AliTPCClustersArray.h>
 #include <AliTPCcluster.h>
@@ -75,6 +76,11 @@ AliL3FileHandler::AliL3FileHandler()
   fLastIndex=0;
   fDigits=0;
   fDigitsTree=0;
+  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
+    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+      fIndex[i][j]=-1;
+  }
+  fIndexCreated=kFALSE;
 }
 
 AliL3FileHandler::~AliL3FileHandler()
@@ -83,7 +89,6 @@ AliL3FileHandler::~AliL3FileHandler()
   if(fMC) CloseMCOutput();
   FreeDigitsTree();
   if(fInAli) CloseAliInput();
-  
 }
 
 void AliL3FileHandler::FreeDigitsTree()
@@ -98,6 +103,11 @@ void AliL3FileHandler::FreeDigitsTree()
   fDigitsTree->Delete();
   fDigitsTree=0;
   fLastIndex=0;
+  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
+    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+      fIndex[i][j]=-1;
+  }
+  fIndexCreated=kFALSE;
 }
 
 Bool_t AliL3FileHandler::SetMCOutput(Char_t *name)
@@ -141,6 +151,13 @@ Bool_t AliL3FileHandler::SetAliInput()
     return kFALSE;
   }
   fParam = (AliTPCParam*)fInAli->Get(AliL3Transform::GetParamName());
+  if(!fParam){
+    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File")
+      <<"No TPC parameters found in \""<<fInAli->GetName()
+      <<"\", creating standard parameters "
+      <<"which might not be what you want!"<<ENDLOG;
+    fParam = new AliTPCParamSR;
+  }
   if(!fParam){ 
     LOG(AliL3Log::kError,"AliL3FileHandler::SetAliInput","File Open")
       <<"No AliTPCParam "<<AliL3Transform::GetParamName()<<" in File "<<fInAli->GetName()<<ENDLOG;
@@ -185,7 +202,6 @@ void AliL3FileHandler::CloseAliInput()
   if(fInAli->IsOpen()) fInAli->Close();
   delete fInAli;
   fInAli = 0;
-  
 }
 
 Bool_t AliL3FileHandler::IsDigit(Int_t event)
@@ -236,15 +252,52 @@ Bool_t AliL3FileHandler::AliDigits2CompBinary(Int_t event,Bool_t altro)
   Bool_t out = kTRUE;
   UInt_t ndigits=0;
   AliL3DigitRowData *digits=0;
-  if(!altro)
-    digits = AliDigits2Memory(ndigits,event);
-  else
+  if(altro)
     digits = AliAltroDigits2Memory(ndigits,event);
+  else
+    digits = AliDigits2Memory(ndigits,event);
   out = Memory2CompBinary(ndigits,digits);
   Free();
   return out;
 }
 
+Bool_t AliL3FileHandler::CreateIndex()
+{
+  //create the access index
+
+  LOG(AliL3Log::kInformational,"AliL3FileHandler::CreateIndex","Index")
+    <<"Starting to create index, this can take a while."<<ENDLOG;
+
+  fIndexCreated=kFALSE;
+  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
+    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+      fIndex[i][j]=-1;
+  }
+
+  for(Int_t n=0; n<fDigitsTree->GetEntries(); n++){
+    Int_t sector, row;
+    Int_t lslice,lrow;
+    fDigitsTree->GetEvent(n);
+    fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
+    if(!AliL3Transform::Sector2Slice(lslice,lrow,sector,row)){
+      LOG(AliL3Log::kError,"AliL3FileHandler::CreateIndex","Slice/Row")
+       <<AliL3Log::kDec<<"Index could not be created. Wrong values "
+       <<sector<<" "<<row<<ENDLOG;
+      return kFALSE;
+    }
+    //cout << lslice << " " << lrow << " " << sector << " " << row << endl;
+    if(fIndex[lslice][lrow]==-1) fIndex[lslice][lrow]=n;
+  }
+
+  //for(Int_t i=0;i<AliL3Transform::GetNSlice();i++) cout << i << " " << fIndex[i][0] << endl;
+
+  LOG(AliL3Log::kInformational,"AliL3FileHandler::CreateIndex","Index")
+    <<"Index successfully created."<<ENDLOG;
+
+  fIndexCreated=kTRUE;
+  return fIndexCreated;
+}
+
 AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event)
 {
   //Read data from AliROOT file into memory, and store it in the HLT data format.
@@ -269,46 +322,48 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
   
   UShort_t dig;
   Int_t time,pad,sector,row;
+  Int_t lslice,lrow;
   Int_t nrows=0;
   Int_t ndigitcount=0;
   Int_t entries = (Int_t)fDigitsTree->GetEntries();
   Int_t ndigits[entries];
-  Int_t lslice,lrow;
   Float_t xyz[3];
-  
-  for(Int_t n=fLastIndex; n<fDigitsTree->GetEntries(); n++)
-    {
-      fDigitsTree->GetEvent(n);
-      fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
-      //if(fSlice != lslice || lrow<fRowMin || lrow>fRowMax) continue;
-      if(lslice < fSlice) continue;
-      if(lslice != fSlice) break;
-      if(lrow < fRowMin) continue;
-      if(lrow > fRowMax) break;
-      
-      ndigits[lrow] = 0;
-      fDigits->First();
-      do {
-        time=fDigits->CurrentRow();
-        pad=fDigits->CurrentColumn();
-        dig = fDigits->GetDigit(time,pad);
-        if(dig <= fParam->GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
-       
-       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
-       if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
-         continue;
 
-        ndigits[lrow]++; //for this row only
-        ndigitcount++;   //total number of digits to be published
+  for(Int_t r=fRowMin;r<=fRowMax;r++){
+    Int_t n=fIndex[fSlice][r];
+    if(n==-1) continue; //no data on that row
+    
+    fDigitsTree->GetEvent(n);
+    fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
+    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
 
-      } while (fDigits->Next());
-      //cout << lrow << " " << ndigits[lrow] << " - " << ndigitcount << endl;
-      nrows++;
+    if(lrow!=r){
+      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2Memory","Row")
+       <<AliL3Log::kDec<<"Rows dont match "<<lrow<<" "<<r<<ENDLOG;
     }
 
+    ndigits[lrow] = 0;
+    fDigits->First();
+    do {
+      time=fDigits->CurrentRow();
+      pad=fDigits->CurrentColumn();
+      dig = fDigits->GetDigit(time,pad);
+      if(dig <= fParam->GetZeroSup()) continue;
+      if(dig >= AliL3Transform::GetADCSat())
+       dig = AliL3Transform::GetADCSat();
+      
+      AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+      if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
+       continue; // why 230???
+
+      ndigits[lrow]++; //for this row only
+      ndigitcount++;   //total number of digits to be published
+
+    } while (fDigits->Next());
+    //cout << lrow << " " << ndigits[lrow] << " - " << ndigitcount << endl;
+    nrows++;
+  }
+
   Int_t size = sizeof(AliL3DigitData)*ndigitcount
     + nrows*sizeof(AliL3DigitRowData);
 
@@ -318,63 +373,59 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
   data=(AliL3DigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
   AliL3DigitRowData *tempPt = data;
-  for(Int_t n=fLastIndex; n<fDigitsTree->GetEntries(); n++)
-    {
-      fDigitsTree->GetEvent(n);
-      fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
-      //if(fSlice != lslice || lrow<fRowMin || lrow>fRowMax) continue;
-      if(lslice < fSlice) continue;
-      if(lslice != fSlice) break;
-      if(lrow < fRowMin) continue;
-      if(lrow > fRowMax) break;
-
-      tempPt->fRow = lrow;
-      tempPt->fNDigit = ndigits[lrow];
-
-      Int_t localcount=0;
-      fDigits->First();
-      do {
-       time=fDigits->CurrentRow();
-        pad=fDigits->CurrentColumn();
-        dig = fDigits->GetDigit(time,pad);
-       if (dig <= fParam->GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
 
-       //Exclude data outside cone:
-       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
-       if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
-         continue;
+  for(Int_t r=fRowMin;r<=fRowMax;r++){
+    Int_t n=fIndex[fSlice][r];
 
-        if(localcount >= ndigits[lrow])
-          LOG(AliL3Log::kFatal,"AliL3FileHandler::AliDigits2Binary","Memory")
-           <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
-           <<ndigits[lrow]<<ENDLOG;
+    if(n==-1) continue; //no data on that row
+    
+    fDigitsTree->GetEvent(n);
+    fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
+    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+    if(lrow!=r){
+      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2Memory","Row")
+       <<AliL3Log::kDec<<"Rows dont match "<<lrow<<" "<<r<<ENDLOG;
+    }
+    tempPt->fRow = lrow;
+    tempPt->fNDigit = ndigits[lrow];
+
+    Int_t localcount=0;
+    fDigits->First();
+    do {
+      time=fDigits->CurrentRow();
+      pad=fDigits->CurrentColumn();
+      dig = fDigits->GetDigit(time,pad);
+      if (dig <= fParam->GetZeroSup()) continue;
+      if(dig >= AliL3Transform::GetADCSat())
+       dig = AliL3Transform::GetADCSat();
+
+      //Exclude data outside cone:
+      AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+      if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
+       continue; // why 230???
+
+      if(localcount >= ndigits[lrow])
+       LOG(AliL3Log::kFatal,"AliL3FileHandler::AliDigits2Binary","Memory")
+         <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+         <<ndigits[lrow]<<ENDLOG;
        
-        tempPt->fDigitData[localcount].fCharge=dig;
-        tempPt->fDigitData[localcount].fPad=pad;
-        tempPt->fDigitData[localcount].fTime=time;
+      tempPt->fDigitData[localcount].fCharge=dig;
+      tempPt->fDigitData[localcount].fPad=pad;
+      tempPt->fDigitData[localcount].fTime=time;
 #ifdef do_mc
-       tempPt->fDigitData[localcount].fTrackID[0] = fDigits->GetTrackID(time,pad,0);
-       tempPt->fDigitData[localcount].fTrackID[1] = fDigits->GetTrackID(time,pad,1);
-       tempPt->fDigitData[localcount].fTrackID[2] = fDigits->GetTrackID(time,pad,2);
+      tempPt->fDigitData[localcount].fTrackID[0] = fDigits->GetTrackID(time,pad,0);
+      tempPt->fDigitData[localcount].fTrackID[1] = fDigits->GetTrackID(time,pad,1);
+      tempPt->fDigitData[localcount].fTrackID[2] = fDigits->GetTrackID(time,pad,2);
 #endif
-        localcount++;
-      } while (fDigits->Next());
+      localcount++;
+    } while (fDigits->Next());
 
-      Byte_t *tmp = (Byte_t*)tempPt;
-      Int_t size = sizeof(AliL3DigitRowData)
+    Byte_t *tmp = (Byte_t*)tempPt;
+    Int_t size = sizeof(AliL3DigitRowData)
                                       + ndigits[lrow]*sizeof(AliL3DigitData);
-      tmp += size;
-      tempPt = (AliL3DigitRowData*)tmp;
-#ifdef ASVVERSION
-      fLastIndex=n;
-#endif
-    }
-#ifdef ASVVERSION
-  fLastIndex++;
-#endif
+    tmp += size;
+    tempPt = (AliL3DigitRowData*)tmp;
+  }
   return data;
 }
 
@@ -406,7 +457,6 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
       return 0;
     }
   
-  
   if(!fDigitsTree)
     if(!GetDigitsTree(event)) return 0;
   
@@ -417,132 +467,134 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
   Int_t entries = (Int_t)fDigitsTree->GetEntries();
   Int_t ndigits[entries];
   Int_t lslice,lrow;
+  Int_t zerosupval=AliL3Transform::GetZeroSup();
   Float_t xyz[3];
   
-  for(Int_t n=fLastIndex; n<fDigitsTree->GetEntries(); n++)
-    {
-      fDigitsTree->GetEvent(n);
-      fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
-      //if(fSlice != lslice || lrow<fRowMin || lrow>fRowMax) continue;
-      if(lslice < fSlice) continue;
-      if(lslice != fSlice) break;
-      if(lrow < fRowMin) continue;
-      if(lrow > fRowMax) break;
-
-      ndigits[lrow] = 0;
-      fDigits->ExpandBuffer();
-      fDigits->ExpandTrackBuffer();
-      for(Int_t i=0; i<fDigits->GetNCols(); i++)
-       {
-         for(Int_t j=0; j<fDigits->GetNRows(); j++)
-           {
-             pad=i;
-             time=j;
-             dig = fDigits->GetDigitFast(time,pad);
-             if(dig <= fParam->GetZeroSup()) continue;
-             if(dig >= AliL3Transform::GetADCSat())
-               dig = AliL3Transform::GetADCSat();
+  for(Int_t r=fRowMin;r<=fRowMax;r++){
+    Int_t n=fIndex[fSlice][r];
+    if(n==-1) continue; //no data on that row
+    
+    fDigitsTree->GetEvent(n);
+    fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
+    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+
+    if(lrow!=r){
+      LOG(AliL3Log::kError,"AliL3FileHandler::AliAltroDigits2Memory","Row")
+       <<AliL3Log::kDec<<"Rows dont match "<<lrow<<" "<<r<<ENDLOG;
+    }
+
+    ndigits[lrow] = 0;
+    fDigits->ExpandBuffer();
+    fDigits->ExpandTrackBuffer();
+    for(Int_t i=0; i<fDigits->GetNCols(); i++){
+      for(Int_t j=0; j<fDigits->GetNRows(); j++){
+       pad=i;
+       time=j;
+       dig = fDigits->GetDigitFast(time,pad);
+       if(dig <= zerosupval) continue;
+       if(dig >= AliL3Transform::GetADCSat())
+         dig = AliL3Transform::GetADCSat();
+
+       //Check for single timebins, and remove them because they are noise for sure.
+       if(i>0 && i<fDigits->GetNCols()-1 && j>0 && j<fDigits->GetNRows()-1)
+         if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+            fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+            fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+            fDigits->GetDigitFast(time,pad+1)<=zerosupval)
+           continue;
              
-             //Check for single timebins, and remove them because they are noise for sure.
-             if(i>0 && i<fDigits->GetNCols()-1 && j>0 && j<fDigits->GetNRows()-1)
-               if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
+       //Boundaries:
+       if(i==0) //pad==0
+         {
+           if(j < fDigits->GetNRows()-1 && j > 0) 
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval)
                  continue;
-             
-             //Boundaries:
-             if(i==0) //pad ==0
-               {
-                 if(j < fDigits->GetNRows()-1 && j > 0) 
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(j > 0)
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             if(j==0)
-               {
-                 if(i < fDigits->GetNCols()-1 && i > 0)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(i > 0)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-
-             if(i == fDigits->GetNCols()-1)
-               {
-                 
-                 if(j>0 && j<fDigits->GetNRows()-1)
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(j==0 && j<fDigits->GetNRows()-1)
-                   {
-                     if(fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else 
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             
-             if(j==fDigits->GetNRows()-1)
-               {
-                 if(i>0 && i<fDigits->GetNCols()-1)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
+             }
+           else if(j > 0)
+             {
+                     if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                        fDigits->GetDigitFast(time,pad+1)<=zerosupval)
                        continue;
                    }
-                 else if(i==0 && fDigits->GetNCols()-1)
-                   {
-                     if(fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else 
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
-             if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
-               continue;
+         }
+       if(j==0)
+         {
+           if(i < fDigits->GetNCols()-1 && i > 0)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval)
+                 continue;
+             }
+           else if(i > 0)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval)
+                 continue;
+             }
+         }
+
+       if(i==fDigits->GetNCols()-1)
+         {
+           if(j>0 && j<fDigits->GetNRows()-1)
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+           else if(j==0 && j<fDigits->GetNRows()-1)
+             {
+               if(fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+           else 
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+         }
+       
+       if(j==fDigits->GetNRows()-1)
+         {
+           if(i>0 && i<fDigits->GetNCols()-1)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+           else if(i==0 && fDigits->GetNCols()-1)
+             {
+               if(fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+           else 
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+         }
+
+       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
+         continue; 
              
-             ndigits[lrow]++; //for this row only
-             ndigitcount++;   //total number of digits to be published
-           }
-       }
-      nrows++;
+       ndigits[lrow]++; //for this row only
+       ndigitcount++;   //total number of digits to be published
+      }
     }
+    
+    nrows++;
+  }
+  
   Int_t size = sizeof(AliL3DigitData)*ndigitcount
     + nrows*sizeof(AliL3DigitRowData);
 
@@ -552,169 +604,161 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
   data=(AliL3DigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
   AliL3DigitRowData *tempPt = data;
-  for(Int_t n=fLastIndex; n<fDigitsTree->GetEntries(); n++)
-    {
-      fDigitsTree->GetEvent(n);
-      fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
-      //if(fSlice != lslice || lrow<fRowMin || lrow>fRowMax) continue;
-      if(lslice < fSlice) continue;
-      if(lslice != fSlice) break;
-      if(lrow < fRowMin) continue;
-      if(lrow > fRowMax) break;
-
-      tempPt->fRow = lrow;
-      tempPt->fNDigit = ndigits[lrow];
-
-      Int_t localcount=0;
-      fDigits->ExpandBuffer();
-      fDigits->ExpandTrackBuffer();
-      for(Int_t i=0; i<fDigits->GetNCols(); i++)
-       {
-         for(Int_t j=0; j<fDigits->GetNRows(); j++)
-           {
-             pad=i;
-             time=j;
-             dig = fDigits->GetDigitFast(time,pad);
-             if(dig <= fParam->GetZeroSup()) continue;
-             if(dig >= AliL3Transform::GetADCSat())
-               dig = AliL3Transform::GetADCSat();
-             
-             //Check for single timebins, and remove them because they are noise for sure.
-             if(i>0 && i<fDigits->GetNCols()-1 && j>0 && j<fDigits->GetNRows()-1)
-               if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                  fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
-                 continue;
+  for(Int_t r=fRowMin;r<=fRowMax;r++){
+    Int_t n=fIndex[fSlice][r];
+    if(n==-1) continue; //no data on that row
+    
+    fDigitsTree->GetEvent(n);
+    fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
+    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
 
-             //Boundaries:
-             if(i==0) //pad ==0
-               {
-                 if(j < fDigits->GetNRows()-1 && j > 0) 
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(j > 0)
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             if(j==0)
-               {
-                 if(i < fDigits->GetNCols()-1 && i > 0)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(i > 0)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-
-             if(i == fDigits->GetNCols()-1)
-               {
-                 
-                 if(j>0 && j<fDigits->GetNRows()-1)
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(j==0 && j<fDigits->GetNRows()-1)
-                   {
-                     if(fDigits->GetDigitFast(time+1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else 
-                   {
-                     if(fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             
-             if(j==fDigits->GetNRows()-1)
-               {
-                 if(i>0 && i<fDigits->GetNCols()-1)
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else if(i==0 && fDigits->GetNCols()-1)
-                   {
-                     if(fDigits->GetDigitFast(time,pad+1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-                 else 
-                   {
-                     if(fDigits->GetDigitFast(time,pad-1)<=fParam->GetZeroSup() &&
-                        fDigits->GetDigitFast(time-1,pad)<=fParam->GetZeroSup())
-                       continue;
-                   }
-               }
-             
+    if(lrow!=r){
+      LOG(AliL3Log::kError,"AliL3FileHandler::AliAltroDigits2Memory","Row")
+       <<AliL3Log::kDec<<"Rows dont match "<<lrow<<" "<<r<<ENDLOG;
+    }
+
+    tempPt->fRow = lrow;
+    tempPt->fNDigit = ndigits[lrow];
+
+    Int_t localcount=0;
+    fDigits->ExpandBuffer();
+    fDigits->ExpandTrackBuffer();
+    for(Int_t i=0; i<fDigits->GetNCols(); i++){
+      for(Int_t j=0; j<fDigits->GetNRows(); j++){
+       pad=i;
+       time=j;
+       dig = fDigits->GetDigitFast(time,pad);
+       if(dig <= zerosupval) continue;
+       if(dig >= AliL3Transform::GetADCSat())
+         dig = AliL3Transform::GetADCSat();
              
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
-             if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
-               continue;
+       //Check for single timebins, and remove them because they are noise for sure.
+       if(i>0 && i<fDigits->GetNCols()-1 && j>0 && j<fDigits->GetNRows()-1)
+         if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+            fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+            fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+            fDigits->GetDigitFast(time,pad+1)<=zerosupval)
+           continue;
+
+       //Boundaries:
+       if(i==0) //pad ==0
+         {
+           if(j < fDigits->GetNRows()-1 && j > 0) 
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval)
+                 continue;
+             }
+           else if(j > 0)
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval)
+                 continue;
+             }
+         }
+       if(j==0)
+         {
+           if(i < fDigits->GetNCols()-1 && i > 0)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval)
+                 continue;
+             }
+           else if(i > 0)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval)
+                 continue;
+             }
+         }
+       
+       if(i == fDigits->GetNCols()-1)
+         {
+           if(j>0 && j<fDigits->GetNRows()-1)
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+           else if(j==0 && j<fDigits->GetNRows()-1)
+             {
+               if(fDigits->GetDigitFast(time+1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+           else 
+             {
+               if(fDigits->GetDigitFast(time-1,pad)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad-1)<=zerosupval)
+                 continue;
+             }
+         }
+       if(j==fDigits->GetNRows()-1)
+         {
+           if(i>0 && i<fDigits->GetNCols()-1)
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+           else if(i==0 && fDigits->GetNCols()-1)
+             {
+               if(fDigits->GetDigitFast(time,pad+1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+           else 
+             {
+               if(fDigits->GetDigitFast(time,pad-1)<=zerosupval &&
+                  fDigits->GetDigitFast(time-1,pad)<=zerosupval)
+                 continue;
+             }
+         }
+       
+       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
+         continue;
            
-             if(localcount >= ndigits[lrow])
-               LOG(AliL3Log::kFatal,"AliL3FileHandler::AliDigits2Binary","Memory")
-                 <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
-                 <<ndigits[lrow]<<ENDLOG;
-             
-             tempPt->fDigitData[localcount].fCharge=dig;
-             tempPt->fDigitData[localcount].fPad=pad;
-             tempPt->fDigitData[localcount].fTime=time;
+       if(localcount >= ndigits[lrow])
+         LOG(AliL3Log::kFatal,"AliL3FileHandler::AliAltroDigits2Binary","Memory")
+           <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+           <<ndigits[lrow]<<ENDLOG;
+       
+       tempPt->fDigitData[localcount].fCharge=dig;
+       tempPt->fDigitData[localcount].fPad=pad;
+       tempPt->fDigitData[localcount].fTime=time;
 #ifdef do_mc
-             tempPt->fDigitData[localcount].fTrackID[0] = (fDigits->GetTrackIDFast(time,pad,0)-2);
-             tempPt->fDigitData[localcount].fTrackID[1] = (fDigits->GetTrackIDFast(time,pad,1)-2);
-             tempPt->fDigitData[localcount].fTrackID[2] = (fDigits->GetTrackIDFast(time,pad,2)-2);
-             if(eventmerge == kTRUE) //careful track mc info will be touched
-               {//Event are going to be merged, so event number is stored in the upper 10 bits.
-                 tempPt->fDigitData[localcount].fTrackID[0] += 128; //leave some room
-                 tempPt->fDigitData[localcount].fTrackID[1] += 128; //for neg. numbers
-                 tempPt->fDigitData[localcount].fTrackID[2] += 128;
-                 tempPt->fDigitData[localcount].fTrackID[0] += ((event&0x3ff)<<22);
-                 tempPt->fDigitData[localcount].fTrackID[1] += ((event&0x3ff)<<22);
-                 tempPt->fDigitData[localcount].fTrackID[2] += ((event&0x3ff)<<22);
-               }
-#endif
-             localcount++;
-           }
-       }
-      
-      Byte_t *tmp = (Byte_t*)tempPt;
-      Int_t size = sizeof(AliL3DigitRowData)
-       + ndigits[lrow]*sizeof(AliL3DigitData);
-      tmp += size;
-      tempPt = (AliL3DigitRowData*)tmp;
-#ifdef ASVVERSION
-      fLastIndex=n;
+       tempPt->fDigitData[localcount].fTrackID[0] = (fDigits->GetTrackIDFast(time,pad,0)-2);
+       tempPt->fDigitData[localcount].fTrackID[1] = (fDigits->GetTrackIDFast(time,pad,1)-2);
+       tempPt->fDigitData[localcount].fTrackID[2] = (fDigits->GetTrackIDFast(time,pad,2)-2);
+       if(eventmerge == kTRUE) //careful track mc info will be touched
+         {//Event are going to be merged, so event number is stored in the upper 10 bits.
+           tempPt->fDigitData[localcount].fTrackID[0] += 128; //leave some room
+           tempPt->fDigitData[localcount].fTrackID[1] += 128; //for neg. numbers
+           tempPt->fDigitData[localcount].fTrackID[2] += 128;
+           tempPt->fDigitData[localcount].fTrackID[0] += ((event&0x3ff)<<22);
+           tempPt->fDigitData[localcount].fTrackID[1] += ((event&0x3ff)<<22);
+           tempPt->fDigitData[localcount].fTrackID[2] += ((event&0x3ff)<<22);
+         }
 #endif
+       localcount++;
+      }
     }
-#ifdef ASVVERSION
-  fLastIndex++;
-#endif
+      
+    Byte_t *tmp = (Byte_t*)tempPt;
+    Int_t size = sizeof(AliL3DigitRowData)
+      + ndigits[lrow]*sizeof(AliL3DigitData);
+    tmp += size;
+    tempPt = (AliL3DigitRowData*)tmp;
+  }
   return data;
 }
-
 Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
 {
   //Connects to the TPC digit tree in the AliROOT file.
@@ -730,7 +774,8 @@ Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
       return kFALSE;
     }
   fDigitsTree->GetBranch("Segment")->SetAddress(&fDigits);
-  return kTRUE;
+
+  return CreateIndex();
 }
 
 void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile)
index 5d457e4..13f721c 100644 (file)
@@ -29,8 +29,13 @@ class AliL3FileHandler:public AliL3MemHandler{
   TTree *fDigitsTree;
   FILE *fMC;//!
   
+  Bool_t fIndexCreated;   //is index created
+  Int_t  fIndex[36][159]; //stores index over digitstree 
+                          //for faster access w/o ASVVERSION
+
   Bool_t GetDigitsTree(Int_t event);
-  
+  Bool_t CreateIndex();  //create the index
+
  public:
   AliL3FileHandler();
   virtual ~AliL3FileHandler();
index eba2a4c..8040e74 100644 (file)
@@ -10,16 +10,16 @@ class MLUCLogServer;
 
 class AliL3Logger{
   public:
-  static int kAll;
-  static int kDebug;
-  static int kInformational;
-  static int kWarning;
-  static int kError;
-  static int kFatal;
+  static Int_t kAll;
+  static Int_t kDebug;
+  static Int_t kInformational;
+  static Int_t kWarning;
+  static Int_t kError;
+  static Int_t kFatal;
   AliL3Logger();
   virtual ~AliL3Logger();
-  void Set(int l);
-  void UnSet(int l);
+  void Set(Int_t l);
+  void UnSet(Int_t l);
   void UseDevNull();
   void UseStdout();
   void UseStderr();
index 1fb6da4..71db861 100644 (file)
@@ -223,13 +223,13 @@ Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(ifstream *file)
 
 void AliL3RawDataFileHandler::CloseRawPedestalsInput()
 {
-  if(!fInRaw){
+  if(!fInRawPed){
     LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseRawPedestalsInput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
-  if(fInRawPed->is_open()) fInRaw->close();
-  delete fInRaw;
+  if(fInRawPed->is_open()) fInRawPed->close();
+  delete fInRawPed;
   fInRaw = 0;
 }
 
index 7d580ca..c0f9817 100644 (file)
@@ -724,9 +724,7 @@ Bool_t AliL3Transform::Init(Char_t* path,Bool_t UseAliTPCParam)
   strcpy(pathname,path);
 
   //test whether provided path is the file itself
-  //Long_t id=0,size=0,flags=0,modtime=0;
-  //gSystem->GetPathInfo(pathname, &id, &size, &flags, &modtime);
-  Int_t isdir = 0;// (Int_t)flags & 2;
+  Int_t isdir = 0;
   DIR *testdir=opendir(pathname);
   if(testdir){
     isdir=1;
@@ -889,22 +887,19 @@ Bool_t AliL3Transform::ReadInit(Char_t *path)
       sprintf(filename,"%s",path); 
     }
   gErrorIgnoreLevel=saveErrIgLevel;
-  //finally make dummy init file /tmp/l3transform.config
-  if(MakeInitFile(filename,"/tmp/"))
-    { 
-      Bool_t ret=Init("/tmp/");
-      //Move the temp file to /tmp/l3transform.config-"time in seconds"
-      TTimeStamp time;
-      sprintf(filename,"/tmp/l3transform.config-%ld",(long)time.GetSec()); 
-      gSystem->Rename("/tmp/l3transform.config",filename);
-      return ret;
-    }
 
-  return kFALSE;
+  //finally make dummy init file /tmp/$USER/l3transform.config-`date`
+  Char_t tmppath[1024];
+  sprintf(tmppath,"/tmp/%s",gSystem->Getenv("USER"));
+  gSystem->mkdir(tmppath);
+  TTimeStamp time;
+  Char_t tmpfile[1024];
+  sprintf(tmpfile,"%s/l3transform.config-%d",tmppath,(Int_t)time.GetSec());
+  return MakeInitFile(filename,tmpfile);
 #endif  
 }
 
-Bool_t AliL3Transform::MakeInitFile(Char_t *filename,Char_t *path)
+Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
 {
   //Get the parameters from rootfile, and store it on the file "l3transform.config"
   //which is being read by Init. fVersion will be fV_aliroot!
@@ -914,26 +909,28 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *filename,Char_t *path)
     <<"You have to compile with use_aliroot flag in order to use this function"<<ENDLOG;
   return kFALSE;
 #else
-  TFile *rootfile = TFile::Open(filename);
+  TFile *rootfile = TFile::Open(rootfilename);
   if(!rootfile)
     {
       LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
-       <<"Could not open file: "<<filename<<ENDLOG;
+       <<"Could not open file: "<<rootfilename<<ENDLOG;
       return kFALSE;
     }
   AliRun *gAlice = (AliRun*)rootfile->Get("gAlice");
   if(!gAlice)
     {
       LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
-       <<"No gAlice in file: "<<filename<<ENDLOG;
+       <<"No gAlice in file: "<<rootfilename<<ENDLOG;
       return kFALSE;
     }  
   AliTPCParamSR *param=(AliTPCParamSR*)rootfile->Get(GetParamName());
   if(!param)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
-       <<"No TPC parameters found"<<ENDLOG;
-      return kFALSE;
+      LOG(AliL3Log::kWarning,"AliL3Transform::MakeInitFile","File")
+       <<"No TPC parameters found in \""<<rootfilename
+        <<"\", creating standard parameters "
+       <<"which might not be what you want!"<<ENDLOG;
+      param=new AliTPCParamSR;
     }
 
   AliTPCPRF2D    * prfinner    = new AliTPCPRF2D;
@@ -1034,11 +1031,7 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *filename,Char_t *path)
     if(i<fNSectorLow) fSectorLow[i]=1;
     else fSectorLow[i]=0;
   }
-  //generate filename
-  Char_t tofile[1024];
-  sprintf(tofile,"%s/l3transform.config",path);
-  //cout << tofile <<endl;
-  return SaveInitFile(tofile);
+  return SaveInitFile(filename);
 #endif
 }
 
@@ -1048,7 +1041,8 @@ Bool_t AliL3Transform::SaveInitFile(Char_t *filenamepath)
   
   FILE *f = fopen(filenamepath,"w");
   if(!f){
-    //todo
+    LOG(AliL3Log::kError,"AliL3Transform::SaveInitFile","File")
+       <<"Could not open file: "<<filenamepath<<ENDLOG;
     return kFALSE;
   }
 
@@ -1601,10 +1595,4 @@ void AliL3Transform::PrintCompileOptions()
 #else
   cout << "NOT using logging classes (MLUC): -Duse_logging not was given." << endl;
 #endif
-
-#ifdef ASVVERSION
-  cout << "Using ASV version for the digitization: -DASVVERSION was given." << endl;
-#else
-  cout << "NOT using ASV version for the digitization: -DASVVERSION was not given." << endl;
-#endif
 }
index 9b9fdbe..315160c 100644 (file)
@@ -62,10 +62,10 @@ class AliL3Transform {
 
  public:
   static Bool_t Init(Char_t* path,Bool_t UseAliTPCParam=kFALSE); //init transformer settings (versions)
-  static Bool_t MakeInitFile(Char_t *filename,Char_t *path);     //create the init file in path
-  static Bool_t ReadInit(Char_t *path);                          //read init (possibly from root file)
-  static Bool_t ReadInitFile(Char_t *path);                      //read init from text file 
-  static Bool_t SaveInitFile(Char_t *filename);                  //save parameters in init file
+  static Bool_t MakeInitFile(Char_t *rootfilename,Char_t *filename); //create the init file from rootfile
+  static Bool_t ReadInit(Char_t *path);         //read init (possibly from root file)
+  static Bool_t ReadInitFile(Char_t *path);     //read init from text file 
+  static Bool_t SaveInitFile(Char_t *filename); //save parameters in init file
 
   //setters
   static void SetNPatches(Int_t i){fNPatches = i;}
index ceeb85b..9a52127 100644 (file)
@@ -115,15 +115,7 @@ AliLevel3::AliLevel3(TFile *in)
 
 void AliLevel3::Init(Char_t *path,Bool_t binary,Int_t npatches)
 {
-  /*#ifdef ASVVERSION
-  if(npatches != 1 && binary == kFALSE)
-    {
-      LOG(AliL3Log::kWarning,"AliLevel3::Init","NPatches")
-       <<"You can only read data slice by slice (1 patch) when reading from a rootfile and using the patched (ASV) AliTPC version."<<ENDLOG;
-      npatches = 1;
-    }
-#endif
-  */
+
   if(!binary && !fInputFile)
     {
       LOG(AliL3Log::kError,"AliLevel3::Init","Files")
@@ -399,15 +391,15 @@ void AliLevel3::ProcessSlice(Int_t slice){
          sprintf(name,"digits_%d_%d_%d.raw",fEvent,slice,patch);
         fBenchmark->Stop("Dummy Unpacker");
 
-        if(0){    //Ali to Binary
+        if(0){   //Ali to Binary
           fFileHandler->SetBinaryOutput(name);
           fFileHandler->AliDigits2CompBinary();
           fFileHandler->CloseBinaryOutput();
         }
   
-        if(1){     //Ali to Memory
+        if(1){   //Ali to Memory
           digits=(AliL3DigitRowData *)fFileHandler->AliAltroDigits2Memory(ndigits,fEvent);
-          if(0){   //Memory to Binary
+          if(0){ //Memory to Binary
             fFileHandler->SetBinaryOutput(name);
             fFileHandler->Memory2CompBinary(ndigits,digits);
             fFileHandler->CloseBinaryOutput();