]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
L3 becomes HLT
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Nov 2006 17:45:45 +0000 (17:45 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Nov 2006 17:45:45 +0000 (17:45 +0000)
357 files changed:
ALIROOT/binaliroot.pkg
ANALYSIS/binaliengui.pkg
EVE/binalieve.pkg
EVE/macros/alieve_loadlibs.C
HLT/BASE/AliHLTStdIncludes.h
HLT/ChangeLog
HLT/ITS/AliHLTITSLinkDef.h [new file with mode: 0644]
HLT/ITS/AliHLTITSVertexerZ.cxx [moved from HLT/ITS/AliL3ITSVertexerZ.cxx with 96% similarity]
HLT/ITS/AliHLTITSVertexerZ.h [moved from HLT/ITS/AliL3ITSVertexerZ.h with 79% similarity]
HLT/ITS/AliHLTITSclusterer.cxx [moved from HLT/ITS/AliL3ITSclusterer.cxx with 92% similarity]
HLT/ITS/AliHLTITSclusterer.h [moved from HLT/ITS/AliL3ITSclusterer.h with 77% similarity]
HLT/ITS/AliHLTITStrack.cxx [moved from HLT/ITS/AliL3ITStrack.cxx with 90% similarity]
HLT/ITS/AliHLTITStrack.h [moved from HLT/ITS/AliL3ITStrack.h with 77% similarity]
HLT/ITS/AliHLTITStracker.cxx [moved from HLT/ITS/AliL3ITStracker.cxx with 93% similarity]
HLT/ITS/AliHLTITStracker.h [moved from HLT/ITS/AliL3ITStracker.h with 77% similarity]
HLT/ITS/AliL3ITSLinkDef.h [deleted file]
HLT/ITS/RunHLTITS.C
HLT/Makefile.rules
HLT/TPCLib/AliHLTTPCBenchmark.h
HLT/TPCLib/AliHLTTPCClustFinderNew.cxx
HLT/TPCLib/AliHLTTPCClustFinderNew.h
HLT/TPCLib/AliHLTTPCClusterFinder.cxx
HLT/TPCLib/AliHLTTPCClusterFinder.h
HLT/TPCLib/AliHLTTPCConfMapFit.cxx
HLT/TPCLib/AliHLTTPCConfMapFit.h
HLT/TPCLib/AliHLTTPCConfMapPoint.cxx
HLT/TPCLib/AliHLTTPCConfMapPoint.h
HLT/TPCLib/AliHLTTPCConfMapTrack.cxx
HLT/TPCLib/AliHLTTPCConfMapTrack.h
HLT/TPCLib/AliHLTTPCConfMapper.cxx
HLT/TPCLib/AliHLTTPCConfMapper.h
HLT/TPCLib/AliHLTTPCDataCompressorHelper.cxx
HLT/TPCLib/AliHLTTPCDataCompressorHelper.h
HLT/TPCLib/AliHLTTPCDigitData.h
HLT/TPCLib/AliHLTTPCFileHandler.cxx
HLT/TPCLib/AliHLTTPCFileHandler.h
HLT/TPCLib/AliHLTTPCFitter.cxx
HLT/TPCLib/AliHLTTPCFitter.h
HLT/TPCLib/AliHLTTPCGlobalMerger.cxx
HLT/TPCLib/AliHLTTPCGlobalMerger.h
HLT/TPCLib/AliHLTTPCInterMerger.cxx
HLT/TPCLib/AliHLTTPCInterMerger.h
HLT/TPCLib/AliHLTTPCLog.cxx
HLT/TPCLib/AliHLTTPCLog.h
HLT/TPCLib/AliHLTTPCLogging.h
HLT/TPCLib/AliHLTTPCMemHandler.cxx
HLT/TPCLib/AliHLTTPCMemHandler.h
HLT/TPCLib/AliHLTTPCMerger.cxx
HLT/TPCLib/AliHLTTPCMerger.h
HLT/TPCLib/AliHLTTPCModelTrack.cxx
HLT/TPCLib/AliHLTTPCModelTrack.h
HLT/TPCLib/AliHLTTPCModels.h
HLT/TPCLib/AliHLTTPCRootTypes.h
HLT/TPCLib/AliHLTTPCSpacePointData.h
HLT/TPCLib/AliHLTTPCTrack.cxx
HLT/TPCLib/AliHLTTPCTrack.h
HLT/TPCLib/AliHLTTPCTrackArray.cxx
HLT/TPCLib/AliHLTTPCTrackArray.h
HLT/TPCLib/AliHLTTPCTrackMerger.cxx
HLT/TPCLib/AliHLTTPCTrackMerger.h
HLT/TPCLib/AliHLTTPCTrackSegmentData.h
HLT/TPCLib/AliHLTTPCTransform.cxx
HLT/TPCLib/AliHLTTPCTransform.h
HLT/TPCLib/AliHLTTPCVertex.cxx
HLT/TPCLib/AliHLTTPCVertex.h
HLT/TPCLib/AliHLTTPCVertexArray.cxx
HLT/TPCLib/AliHLTTPCVertexArray.h
HLT/TPCLib/AliHLTTPCVertexData.h
HLT/TPCLib/AliHLTTPCVertexFinder.cxx
HLT/TPCLib/AliHLTTPCVertexFinder.h
HLT/TPCLib/OnlineDisplay/AliHLTTPCDisplay.cxx
HLT/TPCLib/OnlineDisplay/AliHLTTPCDisplay.h
HLT/bin/sethlt.sh
HLT/comp/AliHLTClusterFitter.cxx [moved from HLT/comp/AliL3ClusterFitter.cxx with 74% similarity]
HLT/comp/AliHLTClusterFitter.h [moved from HLT/comp/AliL3ClusterFitter.h with 57% similarity]
HLT/comp/AliHLTCompLinkDef.h [new file with mode: 0644]
HLT/comp/AliHLTCompress.cxx [moved from HLT/comp/AliL3Compress.cxx with 63% similarity]
HLT/comp/AliHLTCompress.h [new file with mode: 0644]
HLT/comp/AliHLTCompressAC.cxx [moved from HLT/comp/AliL3CompressAC.cxx with 76% similarity]
HLT/comp/AliHLTCompressAC.h [moved from HLT/comp/AliL3CompressAC.h with 72% similarity]
HLT/comp/AliHLTDataCompressor.cxx [moved from HLT/comp/AliL3DataCompressor.cxx with 68% similarity]
HLT/comp/AliHLTDataCompressor.h [moved from HLT/comp/AliL3DataCompressor.h with 74% similarity]
HLT/comp/AliHLTDataCompressorHelper.cxx [new file with mode: 0644]
HLT/comp/AliHLTDataCompressorHelper.h [moved from HLT/comp/AliL3DataCompressorHelper.h with 88% similarity]
HLT/comp/AliHLTFitUtilities.c [moved from HLT/comp/AliL3FitUtilities.c with 99% similarity]
HLT/comp/AliHLTFitUtilities.h [moved from HLT/comp/AliL3FitUtilities.h with 96% similarity]
HLT/comp/AliHLTModelTrack.cxx [new file with mode: 0644]
HLT/comp/AliHLTModelTrack.h [moved from HLT/comp/AliL3ModelTrack.h with 78% similarity]
HLT/comp/AliHLTModeller.cxx [moved from HLT/comp/AliL3Modeller.cxx with 68% similarity]
HLT/comp/AliHLTModeller.h [moved from HLT/comp/AliL3Modeller.h with 70% similarity]
HLT/comp/AliHLTModels.h [moved from HLT/comp/AliL3Models.h with 50% similarity]
HLT/comp/AliHLTOfflineDataCompressor.cxx [moved from HLT/comp/AliL3OfflineDataCompressor.cxx with 76% similarity]
HLT/comp/AliHLTOfflineDataCompressor.h [new file with mode: 0644]
HLT/comp/AliL3CompLinkDef.h [deleted file]
HLT/comp/AliL3Compress.h [deleted file]
HLT/comp/AliL3DataCompressorHelper.cxx [deleted file]
HLT/comp/AliL3ModelTrack.cxx [deleted file]
HLT/comp/AliL3OfflineDataCompressor.h [deleted file]
HLT/comp/Makefile
HLT/comp/rootlogon.C
HLT/doc/README
HLT/doc/changelog.bin
HLT/doc/changelog.comp
HLT/doc/changelog.doc
HLT/doc/changelog.exa
HLT/doc/changelog.hough
HLT/doc/changelog.kalman
HLT/doc/changelog.misc
HLT/doc/changelog.programs
HLT/doc/changelog.src
HLT/doc/changelog.top
HLT/doc/changelog.trigger
HLT/doc/l3transform-062003.config
HLT/doc/l3transform-cosmic-022003.config
HLT/exa/MakePileup.C
HLT/exa/SetFitParameters.C
HLT/exa/SetHoughParameters.C
HLT/exa/SetTrackingParameters_2000bf02.C
HLT/exa/SetTrackingParameters_2000bf04.C
HLT/exa/SetTrackingParameters_4000bf02.C
HLT/exa/SetTrackingParameters_4000bf04.C
HLT/exa/SetTrackingParameters_8000bf02.C
HLT/exa/SetTrackingParameters_8000bf04.C
HLT/exa/SetTrackingParameters_pp.C
HLT/exa/binary.C
HLT/exa/convert.C
HLT/exa/ddl2binary.C
HLT/exa/deconvclusters.C
HLT/exa/display.C
HLT/exa/evalrowhough.C
HLT/exa/evaltracker.C
HLT/exa/fill_pp.C
HLT/exa/read.C
HLT/exa/rootlogon-old.C
HLT/exa/rootlogon.C
HLT/exa/runcf.C
HLT/exa/runhough.C
HLT/exa/runkalman.C
HLT/exa/runrowhough.C
HLT/exa/runtracker.C
HLT/exa/runtracker_pp.C
HLT/exa/trigger_pp.C
HLT/hough/AliHLTHistogram.cxx [moved from HLT/hough/AliL3Histogram.cxx with 71% similarity]
HLT/hough/AliHLTHistogram.h [moved from HLT/hough/AliL3Histogram.h with 77% similarity]
HLT/hough/AliHLTHistogram1D.cxx [moved from HLT/hough/AliL3Histogram1D.cxx with 69% similarity]
HLT/hough/AliHLTHistogram1D.h [moved from HLT/hough/AliL3Histogram1D.h with 75% similarity]
HLT/hough/AliHLTHistogramAdaptive.cxx [moved from HLT/hough/AliL3HistogramAdaptive.cxx with 73% similarity]
HLT/hough/AliHLTHistogramAdaptive.h [moved from HLT/hough/AliL3HistogramAdaptive.h with 60% similarity]
HLT/hough/AliHLTHough.cxx [moved from HLT/hough/AliL3Hough.cxx with 70% similarity]
HLT/hough/AliHLTHough.h [moved from HLT/hough/AliL3Hough.h with 73% similarity]
HLT/hough/AliHLTHoughBaseTransformer.cxx [moved from HLT/hough/AliL3HoughBaseTransformer.cxx with 62% similarity]
HLT/hough/AliHLTHoughBaseTransformer.h [moved from HLT/hough/AliL3HoughBaseTransformer.h with 76% similarity]
HLT/hough/AliHLTHoughClusterTransformer.cxx [moved from HLT/hough/AliL3HoughClusterTransformer.cxx with 65% similarity]
HLT/hough/AliHLTHoughClusterTransformer.h [moved from HLT/hough/AliL3HoughClusterTransformer.h with 51% similarity]
HLT/hough/AliHLTHoughDisplay.cxx [moved from HLT/hough/AliL3HoughDisplay.cxx with 63% similarity]
HLT/hough/AliHLTHoughDisplay.h [new file with mode: 0644]
HLT/hough/AliHLTHoughEval.cxx [moved from HLT/hough/AliL3HoughEval.cxx with 67% similarity]
HLT/hough/AliHLTHoughEval.h [new file with mode: 0644]
HLT/hough/AliHLTHoughGlobalMerger.cxx [new file with mode: 0644]
HLT/hough/AliHLTHoughGlobalMerger.h [new file with mode: 0644]
HLT/hough/AliHLTHoughIntMerger.cxx [moved from HLT/hough/AliL3HoughIntMerger.cxx with 57% similarity]
HLT/hough/AliHLTHoughIntMerger.h [new file with mode: 0644]
HLT/hough/AliHLTHoughKalmanTrack.cxx [moved from HLT/hough/AliL3HoughKalmanTrack.cxx with 79% similarity]
HLT/hough/AliHLTHoughKalmanTrack.h [moved from HLT/hough/AliL3HoughKalmanTrack.h with 69% similarity]
HLT/hough/AliHLTHoughLinkDef.h [new file with mode: 0644]
HLT/hough/AliHLTHoughMaxFinder.cxx [moved from HLT/hough/AliL3HoughMaxFinder.cxx with 89% similarity]
HLT/hough/AliHLTHoughMaxFinder.h [moved from HLT/hough/AliL3HoughMaxFinder.h with 66% similarity]
HLT/hough/AliHLTHoughMerger.cxx [moved from HLT/hough/AliL3HoughMerger.cxx with 67% similarity]
HLT/hough/AliHLTHoughMerger.h [new file with mode: 0644]
HLT/hough/AliHLTHoughTest.cxx [moved from HLT/hough/AliL3HoughTest.cxx with 64% similarity]
HLT/hough/AliHLTHoughTest.h [new file with mode: 0644]
HLT/hough/AliHLTHoughTrack.cxx [moved from HLT/hough/AliL3HoughTrack.cxx with 68% similarity]
HLT/hough/AliHLTHoughTrack.h [moved from HLT/hough/AliL3HoughTrack.h with 84% similarity]
HLT/hough/AliHLTHoughTransformer.cxx [moved from HLT/hough/AliL3HoughTransformer.cxx with 56% similarity]
HLT/hough/AliHLTHoughTransformer.h [moved from HLT/hough/AliL3HoughTransformer.h with 64% similarity]
HLT/hough/AliHLTHoughTransformerGlobal.cxx [moved from HLT/hough/AliL3HoughTransformerGlobal.cxx with 60% similarity]
HLT/hough/AliHLTHoughTransformerGlobal.h [moved from HLT/hough/AliL3HoughTransformerGlobal.h with 54% similarity]
HLT/hough/AliHLTHoughTransformerLUT.cxx [moved from HLT/hough/AliL3HoughTransformerLUT.cxx with 71% similarity]
HLT/hough/AliHLTHoughTransformerLUT.h [moved from HLT/hough/AliL3HoughTransformerLUT.h with 73% similarity]
HLT/hough/AliHLTHoughTransformerNew.cxx [moved from HLT/hough/AliL3HoughTransformerNew.cxx with 50% similarity]
HLT/hough/AliHLTHoughTransformerNew.h [moved from HLT/hough/AliL3HoughTransformerNew.h with 50% similarity]
HLT/hough/AliHLTHoughTransformerRow.cxx [moved from HLT/hough/AliL3HoughTransformerRow.cxx with 76% similarity]
HLT/hough/AliHLTHoughTransformerRow.h [moved from HLT/hough/AliL3HoughTransformerRow.h with 74% similarity]
HLT/hough/AliHLTHoughTransformerVhdl.cxx [moved from HLT/hough/AliL3HoughTransformerVhdl.cxx with 79% similarity]
HLT/hough/AliHLTHoughTransformerVhdl.h [moved from HLT/hough/AliL3HoughTransformerVhdl.h with 61% similarity]
HLT/hough/AliL3HoughDisplay.h [deleted file]
HLT/hough/AliL3HoughEval.h [deleted file]
HLT/hough/AliL3HoughGlobalMerger.cxx [deleted file]
HLT/hough/AliL3HoughGlobalMerger.h [deleted file]
HLT/hough/AliL3HoughIntMerger.h [deleted file]
HLT/hough/AliL3HoughLinkDef.h [deleted file]
HLT/hough/AliL3HoughMerger.h [deleted file]
HLT/hough/AliL3HoughTest.h [deleted file]
HLT/hough/Makefile
HLT/kalman/AliHLTKalman.cxx [moved from HLT/kalman/AliL3Kalman.cxx with 73% similarity]
HLT/kalman/AliHLTKalman.h [new file with mode: 0644]
HLT/kalman/AliHLTKalmanLinkDef.h [new file with mode: 0644]
HLT/kalman/AliHLTKalmanTrack.cxx [moved from HLT/kalman/AliL3KalmanTrack.cxx with 89% similarity]
HLT/kalman/AliHLTKalmanTrack.h [moved from HLT/kalman/AliL3KalmanTrack.h with 83% similarity]
HLT/kalman/AliL3Kalman.h [deleted file]
HLT/kalman/AliL3KalmanLinkDef.h [deleted file]
HLT/kalman/Makefile
HLT/libAliL3Comp.pkg [deleted file]
HLT/libAliL3Hough.pkg [deleted file]
HLT/libAliL3ITS.pkg [deleted file]
HLT/libAliL3MUON.pkg [deleted file]
HLT/libAliL3Misc.pkg [deleted file]
HLT/libAliL3Src.pkg [deleted file]
HLT/misc/AliHLTAltroMemHandler.cxx [moved from HLT/misc/AliL3AltroMemHandler.cxx with 72% similarity]
HLT/misc/AliHLTAltroMemHandler.h [moved from HLT/misc/AliL3AltroMemHandler.h with 86% similarity]
HLT/misc/AliHLTDDLDataFileHandler.cxx [moved from HLT/misc/AliL3DDLDataFileHandler.cxx with 61% similarity]
HLT/misc/AliHLTDDLDataFileHandler.h [moved from HLT/misc/AliL3DDLDataFileHandler.h with 50% similarity]
HLT/misc/AliHLTDDLRawReader.cxx [moved from HLT/misc/AliL3DDLRawReader.cxx with 74% similarity]
HLT/misc/AliHLTDDLRawReader.h [moved from HLT/misc/AliL3DDLRawReader.h with 83% similarity]
HLT/misc/AliHLTDDLRawReaderFile.cxx [moved from HLT/misc/AliL3DDLRawReaderFile.cxx with 83% similarity]
HLT/misc/AliHLTDDLRawReaderFile.h [moved from HLT/misc/AliL3DDLRawReaderFile.h with 63% similarity]
HLT/misc/AliHLTDDLTPCRawStream.cxx [moved from HLT/misc/AliL3DDLTPCRawStream.cxx with 82% similarity]
HLT/misc/AliHLTDDLTPCRawStream.h [moved from HLT/misc/AliL3DDLTPCRawStream.h with 83% similarity]
HLT/misc/AliHLTDataHandler.cxx [moved from HLT/misc/AliL3DataHandler.cxx with 75% similarity]
HLT/misc/AliHLTDataHandler.h [new file with mode: 0644]
HLT/misc/AliHLTFFloat.cxx [moved from HLT/misc/AliL3FFloat.cxx with 62% similarity]
HLT/misc/AliHLTFFloat.h [new file with mode: 0644]
HLT/misc/AliHLTMiscLinkDef.h [new file with mode: 0644]
HLT/misc/AliHLTStopwatch.cxx [moved from HLT/misc/AliL3Stopwatch.cxx with 75% similarity]
HLT/misc/AliHLTStopwatch.h [moved from HLT/misc/AliL3Stopwatch.h with 86% similarity]
HLT/misc/AliHLTTPCMapping-iroc.generated [new file with mode: 0644]
HLT/misc/AliHLTTPCMapping-oroc.generated [new file with mode: 0644]
HLT/misc/AliHLTTPCMapping.cxx [moved from HLT/misc/AliL3TPCMapping.cxx with 88% similarity]
HLT/misc/AliHLTTPCMapping.h [moved from HLT/misc/AliL3TPCMapping.h with 93% similarity]
HLT/misc/AliHLTTransBit.cxx [moved from HLT/misc/AliL3TransBit.cxx with 92% similarity]
HLT/misc/AliHLTTransBit.h [moved from HLT/misc/AliL3TransBit.h with 57% similarity]
HLT/misc/AliHLTVHDLClusterFinder.cxx [moved from HLT/misc/AliL3VHDLClusterFinder.cxx with 83% similarity]
HLT/misc/AliHLTVHDLClusterFinder.h [moved from HLT/misc/AliL3VHDLClusterFinder.h with 88% similarity]
HLT/misc/AliL3DataHandler.h [deleted file]
HLT/misc/AliL3FFloat.h [deleted file]
HLT/misc/AliL3MiscLinkDef.h [deleted file]
HLT/misc/AliL3TPCMapping-iroc.generated [deleted file]
HLT/misc/AliL3TPCMapping-oroc.generated [deleted file]
HLT/misc/Makefile
HLT/programs/Makefile
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/programs/tpcbeamtestdisplay.cxx
HLT/programs/tpcbeamtesttracker.cxx
HLT/sim/AliHLTGenerator.cxx [moved from HLT/sim/AliL3Generator.cxx with 57% similarity]
HLT/sim/AliHLTGenerator.h [new file with mode: 0644]
HLT/sim/AliL3Generator.h [deleted file]
HLT/src/AliHLTBenchmark.cxx [moved from HLT/src/AliL3Benchmark.cxx with 86% similarity]
HLT/src/AliHLTBenchmark.h [moved from HLT/src/AliL3Benchmark.h with 72% similarity]
HLT/src/AliHLTClustFinderNew.cxx [moved from HLT/src/AliL3ClustFinderNew.cxx with 78% similarity]
HLT/src/AliHLTClustFinderNew.h [moved from HLT/src/AliL3ClustFinderNew.h with 78% similarity]
HLT/src/AliHLTConfMapFit.cxx [moved from HLT/src/AliL3ConfMapFit.cxx with 81% similarity]
HLT/src/AliHLTConfMapFit.h [new file with mode: 0644]
HLT/src/AliHLTConfMapPoint.cxx [moved from HLT/src/AliL3ConfMapPoint.cxx with 84% similarity]
HLT/src/AliHLTConfMapPoint.h [moved from HLT/src/AliL3ConfMapPoint.h with 83% similarity]
HLT/src/AliHLTConfMapTrack.cxx [moved from HLT/src/AliL3ConfMapTrack.cxx with 73% similarity]
HLT/src/AliHLTConfMapTrack.h [moved from HLT/src/AliL3ConfMapTrack.h with 68% similarity]
HLT/src/AliHLTConfMapper.cxx [moved from HLT/src/AliL3ConfMapper.cxx with 73% similarity]
HLT/src/AliHLTConfMapper.h [moved from HLT/src/AliL3ConfMapper.h with 76% similarity]
HLT/src/AliHLTDigitData.h [new file with mode: 0644]
HLT/src/AliHLTDisplay.cxx [moved from HLT/src/AliL3Display.cxx with 80% similarity]
HLT/src/AliHLTDisplay.h [moved from HLT/src/AliL3Display.h with 56% similarity]
HLT/src/AliHLTEvaluate.cxx [moved from HLT/src/AliL3Evaluate.cxx with 78% similarity]
HLT/src/AliHLTEvaluate.h [moved from HLT/src/AliL3Evaluate.h with 82% similarity]
HLT/src/AliHLTFileHandler.cxx [moved from HLT/src/AliL3FileHandler.cxx with 73% similarity]
HLT/src/AliHLTFileHandler.h [moved from HLT/src/AliL3FileHandler.h with 69% similarity]
HLT/src/AliHLTFitter.cxx [moved from HLT/src/AliL3Fitter.cxx with 86% similarity]
HLT/src/AliHLTFitter.h [new file with mode: 0644]
HLT/src/AliHLTGlobalMerger.cxx [moved from HLT/src/AliL3GlobalMerger.cxx with 77% similarity]
HLT/src/AliHLTGlobalMerger.h [new file with mode: 0644]
HLT/src/AliHLTInterMerger.cxx [moved from HLT/src/AliL3InterMerger.cxx with 67% similarity]
HLT/src/AliHLTInterMerger.h [moved from HLT/src/AliL3InterMerger.h with 55% similarity]
HLT/src/AliHLTLog.cxx [new file with mode: 0644]
HLT/src/AliHLTLog.h [moved from HLT/src/AliL3Log.h with 68% similarity]
HLT/src/AliHLTLogger.cxx [moved from HLT/src/AliL3Logger.cxx with 51% similarity]
HLT/src/AliHLTLogger.h [moved from HLT/src/AliL3Logger.h with 78% similarity]
HLT/src/AliHLTLogging.h [new file with mode: 0644]
HLT/src/AliHLTMemHandler.cxx [moved from HLT/src/AliL3MemHandler.cxx with 62% similarity]
HLT/src/AliHLTMemHandler.h [moved from HLT/src/AliL3MemHandler.h with 65% similarity]
HLT/src/AliHLTMerger.cxx [moved from HLT/src/AliL3Merger.cxx with 70% similarity]
HLT/src/AliHLTMerger.h [new file with mode: 0644]
HLT/src/AliHLTRawDataFileHandler.cxx [moved from HLT/src/AliL3RawDataFileHandler.cxx with 63% similarity]
HLT/src/AliHLTRawDataFileHandler.h [moved from HLT/src/AliL3RawDataFileHandler.h with 83% similarity]
HLT/src/AliHLTReconstructor.cxx
HLT/src/AliHLTReconstructor.h
HLT/src/AliHLTRootTypes.h [moved from HLT/src/AliL3RootTypes.h with 96% similarity]
HLT/src/AliHLTSpacePointData.h [moved from HLT/src/AliL3SpacePointData.h with 71% similarity]
HLT/src/AliHLTSrcLinkDef.h [new file with mode: 0644]
HLT/src/AliHLTStandardIncludes.h [moved from HLT/src/AliL3StandardIncludes.h with 100% similarity]
HLT/src/AliHLTTPCBeamTestMemHandler.cxx [moved from HLT/src/AliL3TPCBeamTestMemHandler.cxx with 64% similarity]
HLT/src/AliHLTTPCBeamTestMemHandler.h [moved from HLT/src/AliL3TPCBeamTestMemHandler.h with 74% similarity]
HLT/src/AliHLTTPCtracker.cxx [moved from HLT/src/AliL3TPCtracker.cxx with 84% similarity]
HLT/src/AliHLTTPCtracker.h [moved from HLT/src/AliL3TPCtracker.h with 84% similarity]
HLT/src/AliHLTTrack.cxx [moved from HLT/src/AliL3Track.cxx with 75% similarity]
HLT/src/AliHLTTrack.h [moved from HLT/src/AliL3Track.h with 92% similarity]
HLT/src/AliHLTTrackArray.cxx [moved from HLT/src/AliL3TrackArray.cxx with 65% similarity]
HLT/src/AliHLTTrackArray.h [new file with mode: 0644]
HLT/src/AliHLTTrackMerger.cxx [moved from HLT/src/AliL3TrackMerger.cxx with 67% similarity]
HLT/src/AliHLTTrackMerger.h [moved from HLT/src/AliL3TrackMerger.h with 56% similarity]
HLT/src/AliHLTTrackSegmentData.h [moved from HLT/src/AliL3TrackSegmentData.h with 87% similarity]
HLT/src/AliHLTTransform.cxx [moved from HLT/src/AliL3Transform.cxx with 82% similarity]
HLT/src/AliHLTTransform.h [moved from HLT/src/AliL3Transform.h with 98% similarity]
HLT/src/AliHLTVertex.cxx [moved from HLT/src/AliL3Vertex.cxx with 60% similarity]
HLT/src/AliHLTVertex.h [moved from HLT/src/AliL3Vertex.h with 73% similarity]
HLT/src/AliHLTVertexArray.cxx [moved from HLT/src/AliL3VertexArray.cxx with 83% similarity]
HLT/src/AliHLTVertexArray.h [moved from HLT/src/AliL3VertexArray.h with 73% similarity]
HLT/src/AliHLTVertexData.h [moved from HLT/src/AliL3VertexData.h with 65% similarity]
HLT/src/AliHLTVertexFinder.cxx [moved from HLT/src/AliL3VertexFinder.cxx with 59% similarity]
HLT/src/AliHLTVertexFinder.h [moved from HLT/src/AliL3VertexFinder.h with 60% similarity]
HLT/src/AliL3ConfMapFit.h [deleted file]
HLT/src/AliL3DigitData.h [deleted file]
HLT/src/AliL3Fitter.h [deleted file]
HLT/src/AliL3GlobalMerger.h [deleted file]
HLT/src/AliL3Log.cxx [deleted file]
HLT/src/AliL3Logging.h [deleted file]
HLT/src/AliL3Merger.h [deleted file]
HLT/src/AliL3SrcLinkDef.h [deleted file]
HLT/src/AliL3TrackArray.h [deleted file]
HLT/src/AliLevel3.cxx
HLT/src/AliLevel3.h
HLT/src/Makefile
HLT/src/l3transform.config
HLT/trigger/AliD0Trigger.cxx
HLT/trigger/AliD0Trigger.h
HLT/trigger/AliHLTTrigger.cxx [moved from HLT/trigger/AliL3Trigger.cxx with 59% similarity]
HLT/trigger/AliHLTTrigger.h [new file with mode: 0644]
HLT/trigger/AliHLTTriggerLinkDef.h [moved from HLT/trigger/AliL3TriggerLinkDef.h with 100% similarity]
HLT/trigger/AliL3Trigger.h [deleted file]
HLT/trigger/Makefile
JETAN/jetan2004/AliJetParticlesReaderHLT.cxx
JETAN/jetan2004/rootlogon.C
MONITOR/AliMonitorHLT.cxx
MONITOR/AliMonitorHLTHough.cxx
MONITOR/AliMonitorProcess.cxx
MONITOR/AliMonitorProcess.h
MONITOR/binmonitorCheck.pkg
MONITOR/binmonitorGDC.pkg
MONITOR/client.C
MONITOR/monitor.C
MONITOR/monitorGDC.cxx
RAW/AliHoughFilter.cxx
RAW/Makefile
RAW/binalimdc.pkg
RAW/bindateStream.pkg
STEER/AliReconstruction.cxx
build/module.dep
macros/loadlibs.C
macros/loadlibsrec.C

index 7e2d484c89ee2a3a8731497e43421be6c6980a84..c29f98e2077ad7b20b47fe7ac8ef9d3835556dd5 100644 (file)
@@ -18,8 +18,8 @@ ELIBS:= MUONgeometry MUONrec MUONsim MUONbase MUONraw MUONmapping \
         hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
         FASTSIM microcern \
        RAWDatabase RAWDatarec RAWDatasim \
-       AliL3Src AliL3Comp AliL3Misc AliL3MUON \
-       AliL3Hough AliL3ITS \
+       AliHLTSrc AliHLTComp AliHLTMisc AliHLTMUON \
+       AliHLTHough AliHLTITS \
 #      THerwig herwig TPHIC
 
 ifeq (macosx,$(ALICE_TARGET))
index df1442c43c87ffd37c1376761bab68a87970fb0f..ce2dd76c269097271e779f876af794c0df388803 100644 (file)
@@ -16,8 +16,8 @@ ELIBS    := Aliengui MUONgeometry MUONrec MUONsim MUONbase MUONraw MUONmapping \
   hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
-  AliL3Src AliL3Comp AliL3Misc AliL3MUON \
-  AliL3Hough AliL3ITS
+  AliHLTSrc AliHLTComp AliHLTMisc AliHLTMUON \
+  AliHLTHough AliHLTITS
 
 PACKBLIBS := -L$(ROOTSYS)/lib $(ROOTCLIBS) $(ROOTPLIBS) $(SYSLIBS)
 
index 59bbd03a42775c0f6fdc03985839a90c28f5bb83..178c60d550bf8d9e70f61bea95e086f61d30e346 100644 (file)
@@ -17,8 +17,8 @@ ELIBS    := Reve Alieve \
   hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
-  AliL3Src AliL3Comp AliL3Misc AliL3MUON \
-  AliL3Hough AliL3ITS \
+  AliHLTSrc AliHLTComp AliHLTMisc AliHLTMUON \
+  AliHLTHough AliHLTITS \
 # THerwig herwig TPHIC
 
 PACKBLIBS := $(ROOTCLIBS) $(ROOTPLIBS) -lTreePlayer -lGeomPainter -lGed -lRGL $(SYSLIBS)
index 1d8bd68561fc2196dfbb5b27bea3c8acb813c5e3..8ba5488c5305d15957303714a1b5ac83f5060e1a 100644 (file)
@@ -93,12 +93,12 @@ void alieve_loadlibs ()
   gSystem->Load("libTOFsim");
   gSystem->Load("libTOFrec");
 
-  gSystem->Load("libAliL3ITS");
-  gSystem->Load("libAliL3Src");
-  gSystem->Load("libAliL3Misc");
-  gSystem->Load("libAliL3Comp");
+  gSystem->Load("libAliHLTITS");
+  gSystem->Load("libAliHLTSrc");
+  gSystem->Load("libAliHLTMisc");
+  gSystem->Load("libAliHLTComp");
   gSystem->Load("libThread");
-  gSystem->Load("libAliL3Hough");
+  gSystem->Load("libAliHLTHough");
   gSystem->Load("libANALYSIS");
 
   gSystem->Load("libAlieve.so");
index 47acaea8c5372a7dce44dce38a7539c620680fa6..2e447841659f081a9601dd29e57a25be279f85a1 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original file : src/AliL3StandardIncludes.h,v 1.5
+// Original file : src/AliHLTStandardIncludes.h,v 1.5
 
 #ifndef ALIHLTSTDINCLUDESH
 #define ALIHLTSTDINCLUDESH
index f6b90627be12aea2ed8325daf9d677e11853e7c3..6220e8c8ceff27df02d5058f9ad8842d01c52315 100644 (file)
 
 2005-09-07 Files imported from src comp and kalman into new TPCLib
        a short history of files ...
-       AliHLTTPCBenchmark.cxx                           AliL3Benchmark.cxx,v 1.10 2005/06/14 10:55:21 cvetan Exp 
-       AliHLTTPCBenchmark.h                             AliL3Benchmark.h,v 1.6 2004/06/26 11:39:40 loizides 
-       AliHLTTPCClusterFinder.cxx                       original AliL3ClustFinderNew.cxx
-       AliHLTTPCClusterFinder.h                         original AliL3ClustFinderNew.h                                          
-       AliHLTTPCClustFinderNew.cxx                      AliL3ClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan Exp  
-       AliHLTTPCClustFinderNew.h                        AliL3ClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides Exp          
-       AliHLTTPCConfMapFit.cxx                          AliL3ConfMapFit.cxx,v 1.14 2005/06/14 10:55:21 cvetan Exp      
-       AliHLTTPCConfMapFit.h                            AliL3ConfMapFit.h,v 1.5 2004/07/05 09:03:11 loizides Exp          
-       AliHLTTPCConfMapper.cxx                          AliL3ConfMapper.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $    
-       AliHLTTPCConfMapper.h                            AliL3ConfMapper.h,v 1.11 2004/07/05 09:03:11 loizides Exp $              
-       AliHLTTPCConfMapPoint.cxx                        AliL3ConfMapPoint.cxx,v 1.10 2005/06/23 17:46:55 hristov Exp $ 
-       AliHLTTPCConfMapPoint.h                          AliL3ConfMapPoint.h,v 1.8 2005/06/23 17:46:55 hristov Exp $    
-       AliHLTTPCConfMapTrack.cxx                        AliL3ConfMapTrack.cxx,v 1.16 2005/06/14 10:55:21 cvetan Exp $  
-       AliHLTTPCConfMapTrack.h                          AliL3ConfMapTrack.h,v 1.4 2004/06/16 11:25:06 loizides Exp $   
+       AliHLTTPCBenchmark.cxx                           AliHLTBenchmark.cxx,v 1.10 2005/06/14 10:55:21 cvetan Exp 
+       AliHLTTPCBenchmark.h                             AliHLTBenchmark.h,v 1.6 2004/06/26 11:39:40 loizides 
+       AliHLTTPCClusterFinder.cxx                       original AliHLTClustFinderNew.cxx
+       AliHLTTPCClusterFinder.h                         original AliHLTClustFinderNew.h                                                 
+       AliHLTTPCClustFinderNew.cxx                      AliHLTClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan Exp         
+       AliHLTTPCClustFinderNew.h                        AliHLTClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides Exp                 
+       AliHLTTPCConfMapFit.cxx                          AliHLTConfMapFit.cxx,v 1.14 2005/06/14 10:55:21 cvetan Exp     
+       AliHLTTPCConfMapFit.h                            AliHLTConfMapFit.h,v 1.5 2004/07/05 09:03:11 loizides Exp         
+       AliHLTTPCConfMapper.cxx                          AliHLTConfMapper.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $   
+       AliHLTTPCConfMapper.h                            AliHLTConfMapper.h,v 1.11 2004/07/05 09:03:11 loizides Exp $             
+       AliHLTTPCConfMapPoint.cxx                        AliHLTConfMapPoint.cxx,v 1.10 2005/06/23 17:46:55 hristov Exp $        
+       AliHLTTPCConfMapPoint.h                          AliHLTConfMapPoint.h,v 1.8 2005/06/23 17:46:55 hristov Exp $           
+       AliHLTTPCConfMapTrack.cxx                        AliHLTConfMapTrack.cxx,v 1.16 2005/06/14 10:55:21 cvetan Exp $ 
+       AliHLTTPCConfMapTrack.h                          AliHLTConfMapTrack.h,v 1.4 2004/06/16 11:25:06 loizides Exp $  
        AliHLTTPC.cxx                                    AliLevel3.cxx,v 1.42 2004/06/11 16:06:33 loizides Exp $
                                                                Mod: Digits-thing
-       AliHLTTPCDigitData.h                             AliL3DigitData.h,v 1.5 2004/05/12 11:51:27 loizides Exp $      
-       AliHLTTPCDisplay.cxx                             AliL3Display.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $
+       AliHLTTPCDigitData.h                             AliHLTDigitData.h,v 1.5 2004/05/12 11:51:27 loizides Exp $     
+       AliHLTTPCDisplay.cxx                             AliHLTDisplay.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $
                                                                Mod.
-       AliHLTTPCDisplay.h                               AliL3Display.h,v 1.14 2004/06/30 08:30:14 loizides Exp $
+       AliHLTTPCDisplay.h                               AliHLTDisplay.h,v 1.14 2004/06/30 08:30:14 loizides Exp $
                                                                Mod. 
-       AliHLTTPCFileHandler.cxx                         AliL3FileHandler.cxx,v 1.49 2005/06/23 17:46:55 hristov Exp $           
-       AliHLTTPCFileHandler.h                           AliL3FileHandler.h,v 1.19 2004/06/11 16:06:33 loizides Exp $   
-       AliHLTTPCFitter.cxx                              AliL3Fitter.cxx,v 1.14 2005/06/14 10:55:21 cvetan Exp $        
-       AliHLTTPCFitter.h                                AliL3Fitter.h,v 1.7 2004/07/05 09:02:18 loizides Exp $         
-       AliHLTTPCGlobalMerger.cxx                        AliL3GlobalMerger.cxx,v 1.13 2005/06/14 10:55:21 cvetan Exp $  
-       AliHLTTPCGlobalMerger.h                          AliL3GlobalMerger.h,v 1.6 2004/02/02 15:00:34 loizides Exp $   
+       AliHLTTPCFileHandler.cxx                         AliHLTFileHandler.cxx,v 1.49 2005/06/23 17:46:55 hristov Exp $          
+       AliHLTTPCFileHandler.h                           AliHLTFileHandler.h,v 1.19 2004/06/11 16:06:33 loizides Exp $  
+       AliHLTTPCFitter.cxx                              AliHLTFitter.cxx,v 1.14 2005/06/14 10:55:21 cvetan Exp $       
+       AliHLTTPCFitter.h                                AliHLTFitter.h,v 1.7 2004/07/05 09:02:18 loizides Exp $                
+       AliHLTTPCGlobalMerger.cxx                        AliHLTGlobalMerger.cxx,v 1.13 2005/06/14 10:55:21 cvetan Exp $ 
+       AliHLTTPCGlobalMerger.h                          AliHLTGlobalMerger.h,v 1.6 2004/02/02 15:00:34 loizides Exp $  
        AliHLTTPC.h                                      AliLevel3.h,v 1.24 2004/06/11 16:06:33 loizides 
                                                                Added AliHLTDigitReaderUnpacked  
-       AliHLTTPCInterMerger.cxx                         AliL3InterMerger.cxx,v 1.8 2005/06/14 10:55:21 cvetan Exp $    
-       AliHLTTPCInterMerger.h                           AliL3InterMerger.h,v 1.4 2004/02/02 15:00:34 loizides Exp $    
-       AliHLTTPCLog.cxx                                 AliL3Log.cxx,v 1.1 2004/05/14 09:37:22 loizides Exp $  
-       AliHLTTPCLogging.h                               AliL3Logging.h,v 1.11 2004/10/09 11:28:31 loizides Exp $       
-       AliHLTTPCLog.h                                   AliL3Log.h,v 1.2 2004/06/11 16:06:33 loizides Exp $    
-       AliHLTTPCMemHandler.cxx                          AliL3MemHandler.cxx,v 1.52 2005/06/14 10:55:21 cvetan Exp $    
-       AliHLTTPCMemHandler.h                            AliL3MemHandler.h,v 1.30 2004/10/06 08:51:20 cvetan Exp $               
-       AliHLTTPCMerger.cxx                              AliL3Merger.cxx,v 1.16 2005/06/14 10:55:21 cvetan Exp $        
-       AliHLTTPCMerger.h                                AliL3Merger.h,v 1.8 2004/06/11 16:06:33 loizides Exp $ 
-       AliHLTTPCRootTypes.h                             AliL3RootTypes.h,v 1.12 2004/06/15 14:02:38 loizides Exp $     
-       AliHLTTPCSpacePointData.h                        AliL3SpacePointData.h,v1.4 2003/07/27 21:02:09 loizides Exp $
+       AliHLTTPCInterMerger.cxx                         AliHLTInterMerger.cxx,v 1.8 2005/06/14 10:55:21 cvetan Exp $   
+       AliHLTTPCInterMerger.h                           AliHLTInterMerger.h,v 1.4 2004/02/02 15:00:34 loizides Exp $   
+       AliHLTTPCLog.cxx                                 AliHLTLog.cxx,v 1.1 2004/05/14 09:37:22 loizides Exp $ 
+       AliHLTTPCLogging.h                               AliHLTLogging.h,v 1.11 2004/10/09 11:28:31 loizides Exp $      
+       AliHLTTPCLog.h                                   AliHLTLog.h,v 1.2 2004/06/11 16:06:33 loizides Exp $   
+       AliHLTTPCMemHandler.cxx                          AliHLTMemHandler.cxx,v 1.52 2005/06/14 10:55:21 cvetan Exp $   
+       AliHLTTPCMemHandler.h                            AliHLTMemHandler.h,v 1.30 2004/10/06 08:51:20 cvetan Exp $              
+       AliHLTTPCMerger.cxx                              AliHLTMerger.cxx,v 1.16 2005/06/14 10:55:21 cvetan Exp $       
+       AliHLTTPCMerger.h                                AliHLTMerger.h,v 1.8 2004/06/11 16:06:33 loizides Exp $        
+       AliHLTTPCRootTypes.h                             AliHLTRootTypes.h,v 1.12 2004/06/15 14:02:38 loizides Exp $    
+       AliHLTTPCSpacePointData.h                        AliHLTSpacePointData.h,v1.4 2003/07/27 21:02:09 loizides Exp $
                                                                Added: Bool_t fUsed;
-       AliHLTTPCStandardIncludes.h                      AliL3StandardIncludes.h,v 1.5 2005/06/14 10:55:21 cvetan Exp $ 
-       AliHLTTPCTrackArray.cxx                          AliL3TrackArray.cxx,v 1.21 2005/06/14 10:55:21 cvetan Exp $    
-       AliHLTTPCTrackArray.h                            AliL3TrackArray.h,v 1.7 2004/06/11 16:06:33 loizides Exp $     
-       AliHLTTPCTrack.cxx                               AliL3Track.cxx,v 1.322005/06/14 10:55:21 cvetan Exp $  
-       AliHLTTPCTrack.h                                 AliL3Track.h,v 1.18 2005/03/31 04:48:58 cvetan Exp $   
-       AliHLTTPCTrackMerger.cxx                         AliL3TrackMerger.cxx,v 1.12 2005/06/14 10:55:21 cvetan Exp $   
-       AliHLTTPCTrackMerger.h                           AliL3TrackMerger.h,v 1.6 2005/04/19 04:29:01 cvetan Exp $      
-       AliHLTTPCTrackSegmentData.h                      AliL3TrackSegmentData.h,v 1.7 2005/03/31 04:48:59 cvetan Exp $ 
-       AliHLTTPCTransform.cxx                           AliL3Transform.cxx,v 1.53 2005/06/14 10:55:21 cvetan Exp $     
-       AliHLTTPCTransform.h                             AliL3Transform.h,v 1.37 2005/06/14 10:55:21 cvetan Exp $       
-       AliHLTTPCVertexArray.cxx                         AliL3VertexArray.cxx,v 1.7 2005/06/14 10:55:21 cvetan Exp $    
-       AliHLTTPCVertexArray.h                           AliL3VertexArray.h,v 1.4 2004/06/11 16:06:33 loizides Exp $    
-       AliHLTTPCVertex.cxx                              AliL3Vertex.cxx,v 1.5 2004/07/02 11:41:18 loizides Exp $       
-       AliHLTTPCVertexData.h                            AliL3VertexData.h,v 1.2 2003/07/27 21:02:09 loizides Exp $     
-       AliHLTTPCVertexFinder.cxx                        AliL3VertexFinder.cxx,v 1.9 2005/06/14 10:55:21 cvetan Exp $   
-       AliHLTTPCVertexFinder.h                          AliL3VertexFinder.h,v 1.7 2004/06/18 10:55:26 loizides Exp $   
-       AliHLTTPCVertex.h                                AliL3Vertex.h,v 1.4 2004/07/02 11:41:18 loizides Exp $
-       AliHLTTPCDataCompressorHelper.cxx                From comp: AliL3DataCompressorHelper.cxx,v 1.5 2004/06/15 10:26:57 hristov Exp $
-       AliHLTTPCDataCompressorHelper.h                  From comp: AliL3DataCompressorHelper.h,v 1.4 2004/06/15 10:26:57 hristov Exp $
-       AliHLTTPCModels.h                                From comp: AliL3Models.h,v 1.11 2004/05/17 16:37:19 hristov Exp $
-       AliHLTTPCModelTrack.h                            From comp: AliL3ModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov Exp $
-       AliHLTTPCModelTrack.cxx                          From comp: AliL3ModelTrack.cxx,v 1.18 2005/02/14 11:50:11 hristov Exp $
+       AliHLTTPCStandardIncludes.h                      AliHLTStandardIncludes.h,v 1.5 2005/06/14 10:55:21 cvetan Exp $        
+       AliHLTTPCTrackArray.cxx                          AliHLTTrackArray.cxx,v 1.21 2005/06/14 10:55:21 cvetan Exp $   
+       AliHLTTPCTrackArray.h                            AliHLTTrackArray.h,v 1.7 2004/06/11 16:06:33 loizides Exp $    
+       AliHLTTPCTrack.cxx                               AliHLTTrack.cxx,v 1.322005/06/14 10:55:21 cvetan Exp $ 
+       AliHLTTPCTrack.h                                 AliHLTTrack.h,v 1.18 2005/03/31 04:48:58 cvetan Exp $  
+       AliHLTTPCTrackMerger.cxx                         AliHLTTrackMerger.cxx,v 1.12 2005/06/14 10:55:21 cvetan Exp $  
+       AliHLTTPCTrackMerger.h                           AliHLTTrackMerger.h,v 1.6 2005/04/19 04:29:01 cvetan Exp $     
+       AliHLTTPCTrackSegmentData.h                      AliHLTTrackSegmentData.h,v 1.7 2005/03/31 04:48:59 cvetan Exp $        
+       AliHLTTPCTransform.cxx                           AliHLTTransform.cxx,v 1.53 2005/06/14 10:55:21 cvetan Exp $    
+       AliHLTTPCTransform.h                             AliHLTTransform.h,v 1.37 2005/06/14 10:55:21 cvetan Exp $      
+       AliHLTTPCVertexArray.cxx                         AliHLTVertexArray.cxx,v 1.7 2005/06/14 10:55:21 cvetan Exp $   
+       AliHLTTPCVertexArray.h                           AliHLTVertexArray.h,v 1.4 2004/06/11 16:06:33 loizides Exp $   
+       AliHLTTPCVertex.cxx                              AliHLTVertex.cxx,v 1.5 2004/07/02 11:41:18 loizides Exp $      
+       AliHLTTPCVertexData.h                            AliHLTVertexData.h,v 1.2 2003/07/27 21:02:09 loizides Exp $    
+       AliHLTTPCVertexFinder.cxx                        AliHLTVertexFinder.cxx,v 1.9 2005/06/14 10:55:21 cvetan Exp $  
+       AliHLTTPCVertexFinder.h                          AliHLTVertexFinder.h,v 1.7 2004/06/18 10:55:26 loizides Exp $  
+       AliHLTTPCVertex.h                                AliHLTVertex.h,v 1.4 2004/07/02 11:41:18 loizides Exp $
+       AliHLTTPCDataCompressorHelper.cxx                From comp: AliHLTDataCompressorHelper.cxx,v 1.5 2004/06/15 10:26:57 hristov Exp $
+       AliHLTTPCDataCompressorHelper.h                  From comp: AliHLTDataCompressorHelper.h,v 1.4 2004/06/15 10:26:57 hristov Exp $
+       AliHLTTPCModels.h                                From comp: AliHLTModels.h,v 1.11 2004/05/17 16:37:19 hristov Exp $
+       AliHLTTPCModelTrack.h                            From comp: AliHLTModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov Exp $
+       AliHLTTPCModelTrack.cxx                          From comp: AliHLTModelTrack.cxx,v 1.18 2005/02/14 11:50:11 hristov Exp $
        AliHLTTPCRawDataFormat.h                         from online Pub/Sub framework
        AliHLTTPCClusterDataFormat.h                     from online Pub/Sub framework  
        AliHLTTPCTrackletDataFormat.h                    from online Pub/Sub framework  
diff --git a/HLT/ITS/AliHLTITSLinkDef.h b/HLT/ITS/AliHLTITSLinkDef.h
new file mode 100644 (file)
index 0000000..26b0ba9
--- /dev/null
@@ -0,0 +1,15 @@
+
+#ifdef __CINT__
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#ifdef use_aliroot
+#pragma link C++ class AliHLTITStrack; 
+#pragma link C++ class AliHLTITStracker; 
+#pragma link C++ class AliHLTITSVertexerZ;
+#pragma link C++ class AliHLTITSclusterer;
+#endif
+
+#endif
similarity index 96%
rename from HLT/ITS/AliL3ITSVertexerZ.cxx
rename to HLT/ITS/AliHLTITSVertexerZ.cxx
index c61ba897d297ec4008c70f968b5af7de32fd3aab..3e3716aaffd29d69a50dceffed10da538aee5233 100644 (file)
@@ -12,7 +12,7 @@
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-#include "AliL3ITSVertexerZ.h"
+#include "AliHLTITSVertexerZ.h"
 #include<TString.h>
 #include<TH1.h>
 #include<TMath.h>
@@ -29,9 +29,9 @@
 //          Origin: Cvetan Cheshkov, CERN, Cvetan.Cheshkov@cern.ch
 //-------------------------------------------------------------------------
 
-ClassImp(AliL3ITSVertexerZ)
+ClassImp(AliHLTITSVertexerZ)
 
-AliL3ITSVertexerZ::AliL3ITSVertexerZ():AliITSVertexerZ(){
+AliHLTITSVertexerZ::AliHLTITSVertexerZ():AliITSVertexerZ(){
   // Constructor in case that there is no runloader
 
   SetDiffPhiMax();
@@ -52,13 +52,13 @@ AliL3ITSVertexerZ::AliL3ITSVertexerZ():AliITSVertexerZ(){
   SetDebug();
 }
 
-AliL3ITSVertexerZ::AliL3ITSVertexerZ(TString filename,Float_t x0, Float_t y0):AliITSVertexerZ(filename,x0,y0)
+AliHLTITSVertexerZ::AliHLTITSVertexerZ(TString filename,Float_t x0, Float_t y0):AliITSVertexerZ(filename,x0,y0)
 {
   // Standard Constructor
 }
 
 //______________________________________________________________________
-AliESDVertex* AliL3ITSVertexerZ::FindVertexForCurrentEvent(Int_t evnumber){
+AliESDVertex* AliHLTITSVertexerZ::FindVertexForCurrentEvent(Int_t evnumber){
   // Defines the AliESDVertex for the current event
 
   fCurrentVertex = 0;
@@ -87,7 +87,7 @@ AliESDVertex* AliL3ITSVertexerZ::FindVertexForCurrentEvent(Int_t evnumber){
 }
 
 //______________________________________________________________________
-AliESDVertex* AliL3ITSVertexerZ::FindVertexForCurrentEvent(AliITSgeom *geom,TTree *tR){
+AliESDVertex* AliHLTITSVertexerZ::FindVertexForCurrentEvent(AliITSgeom *geom,TTree *tR){
   // Defines the AliESDVertex for the current event
 
   fCurrentVertex = 0;
similarity index 79%
rename from HLT/ITS/AliL3ITSVertexerZ.h
rename to HLT/ITS/AliHLTITSVertexerZ.h
index c265a33b16dfb6d0dd4deeb497e439bc8ad20b86..b258cf759254f5977a14e39cde6a3964bda56ee2 100644 (file)
@@ -20,15 +20,17 @@ class TTree;
 class AliITSgeom;
 
 //-------------------------------------------------------------------------
-class AliL3ITSVertexerZ : public AliITSVertexerZ {
+class AliHLTITSVertexerZ : public AliITSVertexerZ {
 public:
-  AliL3ITSVertexerZ();
-  AliL3ITSVertexerZ(TString filename,Float_t x0=0., Float_t y0=0.);
+  AliHLTITSVertexerZ();
+  AliHLTITSVertexerZ(TString filename,Float_t x0=0., Float_t y0=0.);
 
   AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb);
   AliESDVertex* FindVertexForCurrentEvent(AliITSgeom *geom,TTree *tR);
 
-  ClassDef(AliL3ITSVertexerZ,1)   //HLT ITS vertexer
+  ClassDef(AliHLTITSVertexerZ,1)   //HLT ITS vertexer
 };
 
+typedef AliHLTITSVertexerZ AliL3ITSVertexerZ; // for backward compatibility
+
 #endif
similarity index 92%
rename from HLT/ITS/AliL3ITSclusterer.cxx
rename to HLT/ITS/AliHLTITSclusterer.cxx
index 1b7108a66595a346baea8bb044805b1bbad89ca8..79ebc6b35ea26956de1f0d665b6656ba4ba01c9c 100644 (file)
@@ -22,7 +22,7 @@
 //          Origin: Cvetan Cheshkov, CERN, Cvetan.Cheshkov@cern.ch
 //-------------------------------------------------------------------------
 
-#include "AliL3ITSclusterer.h"
+#include "AliHLTITSclusterer.h"
 #include "AliRawReader.h"
 #include "AliITSgeom.h"
 #include "AliITSRawStreamSPD.h"
 #include <TTree.h>
 #include <TClonesArray.h>
 
-ClassImp(AliL3ITSclusterer)
+ClassImp(AliHLTITSclusterer)
 
-AliL3ITSclusterer::AliL3ITSclusterer(const AliITSgeom *geom):AliITSclustererV2(geom)
+AliHLTITSclusterer::AliHLTITSclusterer(const AliITSgeom *geom):AliITSclustererV2(geom)
 {
 fNModule = geom->GetIndexMax();
 }
 
-void AliL3ITSclusterer::Digits2Clusters(AliRawReader* rawReader,TTree *cTree)
+void AliHLTITSclusterer::Digits2Clusters(AliRawReader* rawReader,TTree *cTree)
 {
 
   TClonesArray *array=new TClonesArray("AliITSclusterV2",1000);
similarity index 77%
rename from HLT/ITS/AliL3ITSclusterer.h
rename to HLT/ITS/AliHLTITSclusterer.h
index 254a4c8e4fc77ce5ea956bc44540f52cc1b3ed71..ba8e3fd206cff84581872761375428f5cb695859 100644 (file)
@@ -19,17 +19,19 @@ class AliITSgeom;
 class AliRawReader;
 
 //-------------------------------------------------------------------------
-class AliL3ITSclusterer : public AliITSclustererV2 {
+class AliHLTITSclusterer : public AliITSclustererV2 {
 public:
-  AliL3ITSclusterer():AliITSclustererV2(){fNModule = 0;}
-  AliL3ITSclusterer(const AliITSgeom *geom);
+  AliHLTITSclusterer():AliITSclustererV2(){fNModule = 0;}
+  AliHLTITSclusterer(const AliITSgeom *geom);
 
   void Digits2Clusters(AliRawReader* rawReader,TTree *cTree);
 
 private:
   Int_t fNModule;             // total number of modules
  
-  ClassDef(AliL3ITSclusterer,1)   //HLT ITS clusterer
+  ClassDef(AliHLTITSclusterer,1)   //HLT ITS clusterer
 };
 
+typedef AliHLTITSclusterer AliL3ITSclusterer; // for backward compatibility
+
 #endif
similarity index 90%
rename from HLT/ITS/AliL3ITStrack.cxx
rename to HLT/ITS/AliHLTITStrack.cxx
index 5fe23392f1b87a0f429251db68be42258b65935f..d4842575b73df48867aa879110bca20295496fd1 100644 (file)
 
 #include <TMath.h>
 
-#include "AliL3ITStrack.h"
+#include "AliHLTITStrack.h"
 
-ClassImp(AliL3ITStrack)
+ClassImp(AliHLTITStrack)
 
 //____________________________________________________________________________
-AliL3ITStrack::AliL3ITStrack()
+AliHLTITStrack::AliHLTITStrack()
               :AliITStrackV2()
 {
   //------------------------------------------------------------------
@@ -35,7 +35,7 @@ AliL3ITStrack::AliL3ITStrack()
 }
 
 //____________________________________________________________________________
-AliL3ITStrack::AliL3ITStrack(AliESDtrack& t)
+AliHLTITStrack::AliHLTITStrack(AliESDtrack& t)
               :AliITStrackV2(t)
 {
   //------------------------------------------------------------------
@@ -44,7 +44,7 @@ AliL3ITStrack::AliL3ITStrack(AliESDtrack& t)
 }
 
 //____________________________________________________________________________
-AliL3ITStrack::AliL3ITStrack(const AliL3ITStrack& t) 
+AliHLTITStrack::AliHLTITStrack(const AliHLTITStrack& t) 
               : AliITStrackV2(t)
 {
   //------------------------------------------------------------------
@@ -53,11 +53,11 @@ AliL3ITStrack::AliL3ITStrack(const AliL3ITStrack& t)
 }
 
 //_____________________________________________________________________________
-Int_t AliL3ITStrack::Compare(const TObject *o) const {
+Int_t AliHLTITStrack::Compare(const TObject *o) const {
   //-----------------------------------------------------------------
   // This function compares tracks according to the their curvature
   //-----------------------------------------------------------------
-  AliL3ITStrack *t=(AliL3ITStrack*)o;
+  AliHLTITStrack *t=(AliHLTITStrack*)o;
   Double_t co=TMath::Abs(t->Get1Pt());
   Double_t c =TMath::Abs(Get1Pt());
   //  Double_t co=t->GetSigmaY2()*t->GetSigmaZ2();
similarity index 77%
rename from HLT/ITS/AliL3ITStrack.h
rename to HLT/ITS/AliHLTITStrack.h
index 6e7621c02d0463c41f038bcde0cb9567a9d1fd67..2a29c72827344658ae547e0d4b816fd9438c1d3a 100644 (file)
 
 #include <AliITStrackV2.h>
 
-class AliL3ITStrack : public AliITStrackV2 {
+class AliHLTITStrack : public AliITStrackV2 {
 public:
-  AliL3ITStrack();
-  AliL3ITStrack(AliESDtrack& t);
-  AliL3ITStrack(const AliL3ITStrack& t);
+  AliHLTITStrack();
+  AliHLTITStrack(AliESDtrack& t);
+  AliHLTITStrack(const AliHLTITStrack& t);
 
   Int_t Compare(const TObject *o) const;
 
-  ClassDef(AliL3ITStrack,2)   //HLT ITS reconstructed track
+  ClassDef(AliHLTITStrack,2)   //HLT ITS reconstructed track
 };
 
+typedef AliHLTITStrack AliL3ITStrack; // for backward compatibility
+
 #endif
similarity index 93%
rename from HLT/ITS/AliL3ITStracker.cxx
rename to HLT/ITS/AliHLTITStracker.cxx
index 8a9ba3738c9c215f66c2ecd619daf385446d4c0d..ed125f21068724bc5570c8f144fbf5a11481666b 100644 (file)
 //-------------------------------------------------------------------------
 
 #include "AliESD.h"
-#include "AliL3ITStrack.h"
-#include "AliL3ITStracker.h"
+#include "AliHLTITStrack.h"
+#include "AliHLTITStracker.h"
 
-ClassImp(AliL3ITStracker)
+ClassImp(AliHLTITStracker)
 
 static Int_t CorrectForDeadZoneMaterial(AliITStrackV2 *t) {
   //--------------------------------------------------------------------
@@ -60,7 +60,7 @@ static Int_t CorrectForDeadZoneMaterial(AliITStrackV2 *t) {
   return 0;
 }
 
-Int_t AliL3ITStracker::Clusters2Tracks(AliESD *event) {
+Int_t AliHLTITStracker::Clusters2Tracks(AliESD *event) {
   //--------------------------------------------------------------------
   // This functions reconstructs HLT ITS tracks
   //--------------------------------------------------------------------
@@ -74,9 +74,9 @@ Int_t AliL3ITStracker::Clusters2Tracks(AliESD *event) {
 
       AliESDtrack *esd=event->GetTrack(nentr);
 
-      AliL3ITStrack *t=0;
+      AliHLTITStrack *t=0;
       try {
-        t=new AliL3ITStrack(*esd);
+        t=new AliHLTITStrack(*esd);
       } catch (const Char_t *msg) {
         Warning("Clusters2Tracks",msg);
         delete t;
@@ -105,7 +105,7 @@ Int_t AliL3ITStracker::Clusters2Tracks(AliESD *event) {
   for (fPass=0; fPass<2; fPass++) {
      Int_t &constraint=fConstraint[fPass]; if (constraint<0) continue;
      for (Int_t i=0; i<nentr; i++) {
-       AliL3ITStrack *t=(AliL3ITStrack*)itsTracks.UncheckedAt(i);
+       AliHLTITStrack *t=(AliHLTITStrack*)itsTracks.UncheckedAt(i);
        if (t==0) continue;              //this track has been already tracked
        Int_t tpcLabel=t->GetLabel(); //save the TPC track label
        ResetTrackToFollow(*t);
@@ -142,7 +142,7 @@ Int_t AliL3ITStracker::Clusters2Tracks(AliESD *event) {
   return 0;
 }
 
-Int_t AliL3ITStracker::PropagateBack(AliESD *event) {
+Int_t AliHLTITStracker::PropagateBack(AliESD *event) {
   //--------------------------------------------------------------------
   // This functions propagates reconstructed ITS tracks back
   //--------------------------------------------------------------------
@@ -151,7 +151,7 @@ Int_t AliL3ITStracker::PropagateBack(AliESD *event) {
   return 0;
 }
 
-Int_t AliL3ITStracker::RefitInward(AliESD *event) {
+Int_t AliHLTITStracker::RefitInward(AliESD *event) {
   //--------------------------------------------------------------------
   // This functions refits ITS tracks using the 
   // "inward propagated" TPC tracks
similarity index 77%
rename from HLT/ITS/AliL3ITStracker.h
rename to HLT/ITS/AliHLTITStracker.h
index a7efbd88860c08ffc00a142edec21086a54db316..581ea41faabae4e9cb6e79ca8fb1f80688098438 100644 (file)
 
 class AliESD;
 class AliITSgeom;
-class AliL3ITStrack;
+class AliHLTITStrack;
 
 //-------------------------------------------------------------------------
-class AliL3ITStracker : public AliITStrackerV2 {
+class AliHLTITStracker : public AliITStrackerV2 {
 public:
-  AliL3ITStracker():AliITStrackerV2(){ fConstraint[0]=1; fConstraint[1]=0; }
-  AliL3ITStracker(const AliITSgeom *geom) : AliITStrackerV2(geom){ fConstraint[0]=1; fConstraint[1]=0; }
+  AliHLTITStracker():AliITStrackerV2(){ fConstraint[0]=1; fConstraint[1]=0; }
+  AliHLTITStracker(const AliITSgeom *geom) : AliITStrackerV2(geom){ fConstraint[0]=1; fConstraint[1]=0; }
 
   Int_t Clusters2Tracks(AliESD *event);
   Int_t PropagateBack(AliESD *event);
   Int_t RefitInward(AliESD *event);
 
-  ClassDef(AliL3ITStracker,1)   //HLT ITS tracker
+  ClassDef(AliHLTITStracker,1)   //HLT ITS tracker
 };
 
+typedef AliHLTITStracker AliL3ITStracker; // for backward compatibility
+
 #endif
diff --git a/HLT/ITS/AliL3ITSLinkDef.h b/HLT/ITS/AliL3ITSLinkDef.h
deleted file mode 100644 (file)
index ed3665e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#ifdef use_aliroot
-#pragma link C++ class AliL3ITStrack; 
-#pragma link C++ class AliL3ITStracker; 
-#pragma link C++ class AliL3ITSVertexerZ;
-#pragma link C++ class AliL3ITSclusterer;
-#endif
-
-#endif
index bcb12f84b451debb993ffb599925c177ad46366d..e79c75d8e9ce111adb391fc59a57c7962cf45cdc 100644 (file)
   #include "AliMagF.h"
   #include "AliGenEventHeader.h"
 
-  #include "AliL3ITStrack.h"
-  #include "AliL3ITStracker.h"
-  #include "AliL3ITSVertexerZ.h"
+  #include "AliHLTITStrack.h"
+  #include "AliHLTITStracker.h"
+  #include "AliHLTITSVertexerZ.h"
 #endif
 
 //extern TSystem *gSystem;
 
 Int_t RunHLTITS(Int_t nev=1,Int_t run=0) {
 
-  //  gSystem->Load("libAliL3ITS.so");
+  //  gSystem->Load("libAliHLTITS.so");
 
   TStopwatch timer;
   timer.Start();
@@ -91,7 +91,7 @@ Int_t RunHLTITS(Int_t nev=1,Int_t run=0) {
    geom->ReadNewFile("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det");
 
    //An instance of the HLT ITS tracker
-   AliL3ITStracker itsTracker(geom);
+   AliHLTITStracker itsTracker(geom);
 
    TFile *ef=TFile::Open("AliESDs.root");
    if (!ef || !ef->IsOpen()) {cerr<<"Can't AliESDs.root !\n"; return 1;}
@@ -120,7 +120,7 @@ Int_t RunHLTITS(Int_t nev=1,Int_t run=0) {
      Double_t cvtx[3]={0.005,0.005,0.010};
      cout<<"MC vertex position: "<<v[2]<<endl;
 
-     AliL3ITSVertexerZ vertexer("null");
+     AliHLTITSVertexerZ vertexer("null");
      AliESDVertex* vertex = NULL;
      TStopwatch timer2;
      timer2.Start();
index cee7c148e2654353ac11bd300de8fc64d4140d5a..b15f3c3b9946cc52e4f9915a04df8af0fe636602 100644 (file)
@@ -106,7 +106,7 @@ $(ALIHLT_STATIC): $(STATICOBJS)
 $(DICT): $(HDRS)
        @echo "Generating dictionary..."
        rootcint -f $(DICT) -c $(CINTCXXFLAGS) $(INCLUDES) \
-                    $(DEFSTR) -include AliL3StandardIncludes.h $(HDRS)
+                    $(DEFSTR) -include AliHLTStandardIncludes.h $(HDRS)
 
 $(OBJDIR)/%.o: %.cxx 
        $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
index d60972d8babe236a3862a6c179c8d377d4f145d4..9ff5f54a37825188cbd72010b662756dd157b2cb 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Benchmark.h,v 1.6 2004/06/26 11:39:40 loizides 
+// Original: AliHLTBenchmark.h,v 1.6 2004/06/26 11:39:40 loizides 
 
 #ifndef AliHLTTPCBenchmarkH
 #define AliHLTTPCBenchmarkH
index e7922d36680967ff380f6fd813d71878ca5aa9ec..68da982e028e787b25ae70a52a40af643080c885 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-//Original: AliL3ClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan 
+//Original: AliHLTClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
index 10b69fc9e6346d62cf9c87fbebfd5ac163f73380..6a85c13801656370c837f5badb2c5afe4ee6eafb 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
+// Original: AliHLTClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
 #ifndef AliHLTTPC_ClustFinderNew
 #define AliHLTTPC_ClustFinderNew
 
index 162036448a691a5f4018e3e1a5c98911e40c4be5..daaad6aa5fd22995ae644c8e4b69946e6a504cec 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan Exp 
+// Original: AliHLTClustFinderNew.cxx,v 1.29 2005/06/14 10:55:21 cvetan Exp 
 
 /**************************************************************************
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
index c7494def705b87c85801771eb27030ada3d0b258..65e6584c02b8c201454364dbc7a1e539957c9757 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
+// Original: AliHLTClustFinderNew.h,v 1.13 2004/06/18 10:55:26 loizides 
 
 #ifndef AliHLTTPC_ClusterFinder
 #define AliHLTTPC_ClusterFinder
index 441233d4da368e46e01cdc0fb072e4eb6c8fe5c9..c97e8a00afa1a24b3cc5dcbe0c03a44bf5d98d01 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapFit.cxx,v 1.14 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTConfMapFit.cxx,v 1.14 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index b68a483a2d918323f2f52e879cf593353e2f156d..447848a180b9ee567e300000cc9c9a0c395bcbcd 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapFit.h,v 1.5 2004/07/05 09:03:11 loizides 
+// Original: AliHLTConfMapFit.h,v 1.5 2004/07/05 09:03:11 loizides 
 
 #ifndef ALIHLTTPC_ConfMapFit
 #define ALIHLTTPC_ConfMapFit
index 3ed2a9c3e5ba98b499ac1df74a6200cfd695b542..91ae732629bf1d8857cb7db61097a9f9823620ce 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapPoint.cxx,v 1.10 2005/06/23 17:46:55 hristov 
+// Original: AliHLTConfMapPoint.cxx,v 1.10 2005/06/23 17:46:55 hristov 
 
 // Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 99dcbfeed13067d25d49452a73862dfa071f05ae..4e9d7e8e57286acb7f96a3a74885cb7fe312bbbe 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapPoint.h,v 1.8 2005/06/23 17:46:55 hristov 
+// Original: AliHLTConfMapPoint.h,v 1.8 2005/06/23 17:46:55 hristov 
 
 #ifndef ALIHLTTPCConfMapPointH
 #define ALIHLTTPCConfMapPointH
index 27d07f26a195e44daf72e52375a7cca89835c0cb..3959ff9e5bf6143166d91f298acfe5677c4dcf60 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapTrack.cxx,v 1.16 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTConfMapTrack.cxx,v 1.16 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
index 19eb646d04b3d1bff0b6261891381b5155ff2e2d..0f8d4fcb55c56e9b6ea053c1d41212768b5da873 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapTrack.h,v 1.4 2004/06/16 11:25:06 loizides 
+// Original: AliHLTConfMapTrack.h,v 1.4 2004/06/16 11:25:06 loizides 
 
 #ifndef ALIHLTTPC_ConfMapTrack
 #define ALIHLTTPC_ConfMapTrack
index 736e0405c9509bfe3cb4c699bd455c51f1dbf1a0..a47ecfcc76f32366d117b842e0dbbc68a27a2708 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapper.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $
+// Original: AliHLTConfMapper.cxx,v 1.26 2005/06/14 10:55:21 cvetan Exp $
 
 /** \class AliHLTTPCConfMapper
 <pre>
index da0f3922a3de01173687fc21e2cc66ac13b9b062..8f04c73f14bf7e7047e019e0b5dffa7bf5d119c8 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ConfMapper.h,v 1.11 2004/07/05 09:03:11 loizides 
+// Original: AliHLTConfMapper.h,v 1.11 2004/07/05 09:03:11 loizides 
 
 #ifndef ALIHLTTPCCONFMAPPER_H
 #define ALIHLTTPCCONFMAPPER_H
index 6c733e455139c1bfa15c132b6ab92846c0efb658..b54cfb7c5f5057fca6f59897314c4469aec349a9 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3DataCompressorHelper.cxx,v 1.5 2004/06/15 10:26:57 hristov Exp $
+// Original: AliHLTDataCompressorHelper.cxx,v 1.5 2004/06/15 10:26:57 hristov Exp $
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 3adf71662bf2f5985c5fdeb6812e1f9120e3decf..d079a3b7ceecac87915692d518a7b4c3e2110cc5 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3DataCompressorHelper.h,v 1.4 2004/06/15 10:26:57 hristov Exp $
+// Original: AliHLTDataCompressorHelper.h,v 1.4 2004/06/15 10:26:57 hristov Exp $
 
 #ifndef AliHLTTPC_DataCompressorHelper
 #define AliHLTTPC_DataCompressorHelper
index d7700aa336acc277197562d33450d0c70a27adfe..0f2a99f90efbd334c47ff0b714a0676c2835b21c 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3DigitData.h,v 1.5 2004/05/12 11:51:27 loizides 
+// Original: AliHLTDigitData.h,v 1.5 2004/05/12 11:51:27 loizides 
 
 #ifndef _ALIHLTTPCDIGITDATA_H_
 #define _ALIHLTTPCDIGITDATA_H_
index 3ae48ae6b2318871472c1aa5bf1a24814f9ea23e..cbb70c9fa336e8fb8c56cdea2f8a3c7f4be34018 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3FileHandler.cxx,v 1.49 2005/06/23 17:46:55 hristov 
+// Original: AliHLTFileHandler.cxx,v 1.49 2005/06/23 17:46:55 hristov 
 
 // 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 
index 2a200d3cc39830c174a4728b8a0bd472f18c245b..02f009a3b9f1fa8fa892016bb3f3e7605fe2ca87 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3FileHandler.h,v 1.19 2004/06/11 16:06:33 loizides 
+// Original: AliHLTFileHandler.h,v 1.19 2004/06/11 16:06:33 loizides 
 
 #ifndef ALIHLTTPCFILEHANDLER_H
 #define ALIHLTTPCFILEHANDLER_H
index 56589496280da769b6e4f42ed6bcc82096cb04df..b697aa81cada2929ec31cdf9a659c473cac95d27 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Fitter.cxx,v 1.14 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTFitter.cxx,v 1.14 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
index dab28a6d17e4fac056185b52ca1672d8255498d9..bcc93e55034f48e2e6d46b2663f0cf5c7bbb5b01 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Fitter.h,v 1.7 2004/07/05 09:02:18 loizides 
+// Original: AliHLTFitter.h,v 1.7 2004/07/05 09:02:18 loizides 
 
 #ifndef ALIHLTTPCFITTER_H
 #define ALIHLTTPCFITTER_H
index cbe02e24dff2a17c5ae9f6c250566a031d6e27ae..817f33d28ba084dfa88ed67ed1f05f84c3264078 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3GlobalMerger.cxx,v 1.13 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTGlobalMerger.cxx,v 1.13 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
index 03bfdb795bf92a445670310ce941799a771473b7..a9c9323afa72a0da5220f82d4934c613b63fe209 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3GlobalMerger.h,v 1.6 2004/02/02 15:00:34 loizides 
+// Original: AliHLTGlobalMerger.h,v 1.6 2004/02/02 15:00:34 loizides 
 
 #ifndef ALIHLTTPC_GLOBALMERGER_H
 #define ALIHLTTPC_GLOBALMERGER_H
index dcc9b1504980f4476d315867e873230e10a3adcc..9a8f4db1cde92da3b2bfdf5c9d9519505e89529f 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3InterMerger.cxx,v 1.8 2005/06/14 10:55:21 cvetan
+// Original: AliHLTInterMerger.cxx,v 1.8 2005/06/14 10:55:21 cvetan
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 897fabf7cd464f695a3754ee1380601c899bbbb7..7a6bea31bde2d5042a7df5551c74b67beee5f090 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3InterMerger.h,v 1.4 2004/02/02 15:00:34 loizides Exp $
+// Original: AliHLTInterMerger.h,v 1.4 2004/02/02 15:00:34 loizides Exp $
 
 #ifndef ALIHLTTPCINTERMERGER_H
 #define ALIHLTTPCINTERMERGER_H
index ceba38cade060689101e8ce1aedc5b15eb4ea559..d6b73fd7dda1627b4d5495c28a9c8edb365c8087 100644 (file)
@@ -1,5 +1,5 @@
 // $Id$
-// Original: AliL3Log.cxx,v 1.1 2004/05/14 09:37:22 loizides 
+// Original: AliHLTLog.cxx,v 1.1 2004/05/14 09:37:22 loizides 
 
 #ifndef use_logging
 
index 05aadcb9217fad7e80317071d98e10f508d642f6..1535302bca1855c8658b4211c82c7f6c5b9777a3 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Log.h,v 1.2 2004/06/11 16:06:33 loizides Exp $
+// Original: AliHLTLog.h,v 1.2 2004/06/11 16:06:33 loizides Exp $
 
 #ifndef ALIHLTTPCLOG_H
 #define ALIHLTTPCLOG_H
index e95137046c5b9369d6de85dc072958a9850a8f76..b06dded73d1dd0871df6bad9f08ccf0002a310fb 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Logging.h,v 1.11 2004/10/09 11:28:31 loizides 
+// Original: AliHLTLogging.h,v 1.11 2004/10/09 11:28:31 loizides 
 
 #ifndef ALIHLTTPCLOGGING_H
 #define ALIHLTTPCLOGGING_H
index 4a4d8b5925c646669aafc6aca2f4653acb3a3c1e..f631238f91b57b78170bb7b61120c8ba5c918395 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3MemHandler.cxx,v 1.52 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTMemHandler.cxx,v 1.52 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>, Anders Vestbo <mailto:vestbo$fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group 
index d9bc0d5764cc1d67e8548dd0a14c7cdf1dcb7df4..407cbb2254c0e376bdf0d26e610a6350ea2964f4 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3MemHandler.h,v 1.30 2004/10/06 08:51:20 cvetan 
+// Original: AliHLTMemHandler.h,v 1.30 2004/10/06 08:51:20 cvetan 
 #ifndef ALIHLTTPC_MEMHANDLER_H
 #define ALIHLTTPC_MEMHANDLER_H
 
index cfab694cab512e2fe857334a97ebd018bc3f488b..7f4bcafdbfd8e6c06ab059cd46b25ac844fd3fbd 100644 (file)
@@ -1,5 +1,5 @@
 //$Id$
-// Original: AliL3Merger.cxx,v 1.16 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTMerger.cxx,v 1.16 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy Uli 
index a74ea792edf2dd089189d8d809f2a3fcaf06ef03..ba03ef353d6d87fe45fc6767658b6d60154d9b30 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Merger.h,v 1.8 2004/06/11 16:06:33 loizides 
+// Original: AliHLTMerger.h,v 1.8 2004/06/11 16:06:33 loizides 
 #ifndef ALIHLTTPCMERGER_H
 #define ALIHLTTPCMERGER_H
 //#define PI 3.14159265358979312
index 374f8273c8a521ca448cd02cbf0f08f2fe40e75c..35dcb306187da25efd25dc1be67af77a26b4c6be 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ModelTrack.cxx,v 1.18 2005/02/14 11:50:11 hristov 
+// Original: AliHLTModelTrack.cxx,v 1.18 2005/02/14 11:50:11 hristov 
 // Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 //_____________________________________________________________
index 9169bc64dcc90a32edbada0dd03db9246f8d3e99..ec87706c1f2cfce42b16ac172a02b4511309309e 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3ModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov 
+// Original: AliHLTModelTrack.h,v 1.13 2004/06/15 10:26:57 hristov 
 
 #ifndef AliHLTTPCModel_Track
 #define AliHLTTPCModel_Track
index 72569438d749c13060e22543e4551af79a65cf56..0b4562fbbd910be185e64b3d9dec8e6a016d976c 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Models.h,v 1.11 2004/05/17 16:37:19 hristov 
+// Original: AliHLTModels.h,v 1.11 2004/05/17 16:37:19 hristov 
 
 #ifndef AliHLTTPCModels_H
 #define AliHLTTPCModels_H
index a32f13b06180a23e8b70402962612e1a559d265a..75ff85328749731a7379ae2c65e83b3ff7a70449 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3RootTypes.h,v 1.12 2004/06/15 14:02:38 loizides 
+// Original: AliHLTRootTypes.h,v 1.12 2004/06/15 14:02:38 loizides 
 #ifndef ALIHLTTPCROOTTYPES_H
 #define ALIHLTTPCROOTTYPES_H
 
index eb97c4440048f0711416313b827a653244f3bbaf..8b6b1d0e254c4f4b993497bc40974d158a40ed29 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3SpacePointData.h,v 1.4 2003/07/27 21:02:09 loizides 
+// Original: AliHLTSpacePointData.h,v 1.4 2003/07/27 21:02:09 loizides 
 
 #ifndef SPACEPOINTDATA_H
 #define SPACEPOINTDATA_H
index 11a4fcfbc39e76eaf8d0b0c3646fe109b47e0b02..ddea52d63ff0f1bc4e6002b2011cfaecbe3f42cf 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Track.cxx,v 1.32 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTTrack.cxx,v 1.32 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo$fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 40b8ac5385b13bad64c466f26e7a4742afac33f5..bc766a8f764d2821df7ec23143ddc7ec3ffcc619 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Track.h,v 1.18 2005/03/31 04:48:58 cvetan 
+// Original: AliHLTTrack.h,v 1.18 2005/03/31 04:48:58 cvetan 
 #ifndef ALIHLTTPCTRACK_H
 #define ALIHLTTPCTRACK_H
 
index 06aa48a6e5bd22185fad4dc861f67f828fcb2b1b..4e8d79a4f9b705bd7737aeb2b179ea8767501b1f 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3TrackArray.cxx,v 1.21 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTTrackArray.cxx,v 1.21 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index d90d0d522d027bdcb747d9410c78d534eb3f091b..8d5a5e125c26add9a01529cddc5ff9ba708f249f 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3TrackArray.h,v 1.7 2004/06/11 16:06:33 loizides 
+// Original: AliHLTTrackArray.h,v 1.7 2004/06/11 16:06:33 loizides 
 #ifndef ALIHLTTPCTRACKARRAY_H
 #define ALIHLTTPCTRACKARRAY_H
 
index 3971f41c98280a160202bc45326cca4d514e56c0..d395e684a76c448ef0748cd22d12124faa90ec91 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3TrackMerger.cxx,v 1.12 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTTrackMerger.cxx,v 1.12 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 7706ea3f290a385dac47d084175156345aaabbfe..1f979550910f4994d0aface2581d844c9d8471fe 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3TrackMerger.h,v 1.6 2005/04/19 04:29:01 cvetan 
+// Original: AliHLTTrackMerger.h,v 1.6 2005/04/19 04:29:01 cvetan 
 #ifndef ALIHLTTPCTRACKMERGER_H
 #define ALIHLTTPCTRACKMERGER_H
 
index db5d878ce68c8938fb6819e93f8edf1bd89aab29..87c610add63f18ca6517f875353bcba35b3636c9 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3TrackSegmentData.h,v 1.7 2005/03/31 04:48:59 cvetan 
+// Original: AliHLTTrackSegmentData.h,v 1.7 2005/03/31 04:48:59 cvetan 
 #ifndef _ALIHLTTPCTRACKSEGMENTDATA_H_
 #define _ALIHLTTPCTRACKSEGMENTDATA_H_
 
index 534aaf4591ea11358718a8d63f2439c56ecf83ad..5c98b126f30598145aab3cec6c8737f3e3cca043 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Transform.cxx,v 1.53 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTTransform.cxx,v 1.53 2005/06/14 10:55:21 cvetan 
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
index dbcd62abeda2818c3169228696db9a907105cd5d..d7ecd2c0abd788529ccbae7b49ad5023a56640ff 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Transform.h,v 1.37 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTTransform.h,v 1.37 2005/06/14 10:55:21 cvetan 
 
 #ifndef ALIHLTTPCTRANSFORM_H
 #define ALIHLTTPCTRANSFORM_H
index 0d674733506abf33bf3499f1239c046c6273b5a8..9da716807cb7edd529dd9e2531399ae76da5dc07 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Vertex.cxx,v 1.5 2004/07/02 11:41:18 loizides Exp $
+// Original: AliHLTVertex.cxx,v 1.5 2004/07/02 11:41:18 loizides Exp $
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 05f73b17541dd99a5be6f27d28b3f1d1a49e599d..d4ac331ebd5c7fa370ba6a31a95148095a9dda41 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Vertex.h,v 1.4 2004/07/02 11:41:18 loizides 
+// Original: AliHLTVertex.h,v 1.4 2004/07/02 11:41:18 loizides 
 
 #ifndef ALIHLTTPCVERTEX_H
 #define ALIHLTTPCVERTEX_H
index 9f08be1e65ea7c3483313f9242db397315f44943..a5e38eb7240cb0376edba85948b6d1c5b8827530 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3VertexArray.cxx,v 1.7 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTVertexArray.cxx,v 1.7 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 1ba1d38d1db2002b8fe8635d3ba00d62cdc5985c..8860e5e240098ac1686ec9ae4ac6197bdceac116 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3VertexArray.h,v 1.4 2004/06/11 16:06:33 loizides 
+// Original: AliHLTVertexArray.h,v 1.4 2004/06/11 16:06:33 loizides 
 
 #ifndef AliHLTTPCVERTEXARRAY_H
 #define AliHLTTPCVERTEXARRAY_H
index 24111012c01e2ff2c4fadcf52e7f335bbed963be..80a3872fdaf693b013d2f1cdd6fa1fc1ecbf5622 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3VertexData.h,v 1.2 2003/07/27 21:02:09 loizides 
+// Original: AliHLTVertexData.h,v 1.2 2003/07/27 21:02:09 loizides 
 
 #ifndef VERTEXDATA_H
 #define VERTEXDATA_H
index 977433d701d22c6d0ff5f89dccaeb4d8cb308a00..28eeaa679d0647337ab169a1902273e9b15f80b1 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3VertexFinder.cxx,v 1.9 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTVertexFinder.cxx,v 1.9 2005/06/14 10:55:21 cvetan 
 
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
index 6d61723f69bd1ce4d2473611707475de5c3f1477..9174d06ff77cc102c14a58b3f6d59e88fbf4c4f0 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3VertexFinder.h,v 1.7 2004/06/18 10:55:26 loizides 
+// Original: AliHLTVertexFinder.h,v 1.7 2004/06/18 10:55:26 loizides 
 
 #ifndef AliHLTTPCVERTEXFINDER_H
 #define AliHLTTPCVERTEXFINDER_H
index 3e87898c5ffb1e5d1c2e613a0e09cbd22707fdd9..27de97d4de2c3950bbd6c98121a1b41c2d6ab4a8 100644 (file)
@@ -1,5 +1,5 @@
 // @(#) $Id$
-// Original: AliL3Display.cxx,v 1.26 2005/06/14 10:55:21 cvetan 
+// Original: AliHLTDisplay.cxx,v 1.26 2005/06/14 10:55:21 cvetan 
 
 /** \class AliHLTTPCDisplay
 <pre>
index 376ea8c0e269f495e9f522262b6df7b1561fb070..ec0189c849208e5be80c58721f4572d2960530c7 100644 (file)
@@ -1,6 +1,6 @@
 // XEmacs -*-C++-*-
 // @(#) $Id$
-// Original: AliL3Display.h,v 1.14 2004/06/30 08:30:14 loizides 
+// Original: AliHLTDisplay.h,v 1.14 2004/06/30 08:30:14 loizides 
 
 #ifndef ALIHLTTPCDISPLAY_H
 #define ALIHLTTPCDISPLAY_H
index c8c50a9e55934eb9f5bffcaa9ba7fd44bb4c7132..e2d4edc198699c35ae6ef9afe1c1483386a2e37e 100755 (executable)
@@ -5,9 +5,9 @@
 export CVS_RSH=ssh
 export CVSROOT=$USER@kjekspc1.fi.uib.no:/cvs/hltcvs
 #export CVSIGNORE="lib src hough comp exa programs misc trigger sim 
-#AliL3CompCint.h AliL3CompCint.cxx AliL3HoughCint.h 
-#AliL3HoughCint.cxx AliL3Cint.cxx AliL3Cint.h lib_ROOT lib_ALIROOT
-#AliL3MiscCint.cxx AliL3MiscCint.h"
+#AliHLTCompCint.h AliHLTCompCint.cxx AliHLTHoughCint.h 
+#AliHLTHoughCint.cxx AliHLTCint.cxx AliHLTCint.h lib_ROOT lib_ALIROOT
+#AliHLTMiscCint.cxx AliHLTMiscCint.h"
 
 export ALIHLT_USEPACKAGE=ALIROOT
 #export ALIHLT_USEPACKAGE=ROOT
similarity index 74%
rename from HLT/comp/AliL3ClusterFitter.cxx
rename to HLT/comp/AliHLTClusterFitter.cxx
index a18846de3fe017794b4392026d4637704dec8004..3dd1e418e356901c33ffc2fe2de2cf5415e76531 100644 (file)
@@ -2,39 +2,39 @@
 
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
-/** /class AliL3ClusterFitter
+/** /class AliHLTClusterFitter
 //<pre>
 //_____________________________________________________________
 //
-//  AliL3ClusterFitter
+//  AliHLTClusterFitter
 //
 </pre>
 */
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3ClusterFitter.h"
-#include "AliL3FitUtilities.h"
-#include "AliL3DigitData.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3TrackArray.h"
-#include "AliL3MemHandler.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTClusterFitter.h"
+#include "AliHLTFitUtilities.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTSpacePointData.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3ClusterFitter)
+ClassImp(AliHLTClusterFitter)
 
-Int_t AliL3ClusterFitter::fgBadFitError=0;
-Int_t AliL3ClusterFitter::fgFitError=0;
-Int_t AliL3ClusterFitter::fgResultError=0;
-Int_t AliL3ClusterFitter::fgFitRangeError=0;
+Int_t AliHLTClusterFitter::fgBadFitError=0;
+Int_t AliHLTClusterFitter::fgFitError=0;
+Int_t AliHLTClusterFitter::fgResultError=0;
+Int_t AliHLTClusterFitter::fgFitRangeError=0;
 
-AliL3ClusterFitter::AliL3ClusterFitter()
+AliHLTClusterFitter::AliHLTClusterFitter()
 {
   // default constructor
   plane=0;
@@ -56,7 +56,7 @@ AliL3ClusterFitter::AliL3ClusterFitter()
   fEvent=0;
 }
 
-AliL3ClusterFitter::AliL3ClusterFitter(Char_t *path)
+AliHLTClusterFitter::AliHLTClusterFitter(Char_t *path)
 {
   // constructor
   strcpy(fPath,path);
@@ -79,7 +79,7 @@ AliL3ClusterFitter::AliL3ClusterFitter(Char_t *path)
   fEvent=0;
 }
 
-AliL3ClusterFitter::~AliL3ClusterFitter()
+AliHLTClusterFitter::~AliHLTClusterFitter()
 {
   // destructor
   if(fSeeds)
@@ -88,27 +88,27 @@ AliL3ClusterFitter::~AliL3ClusterFitter()
     delete [] fClusters;
 }
 
-void AliL3ClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3TrackArray *tracks)
+void AliHLTClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliHLTTrackArray *tracks)
 {
   //Assuming tracklets found by the line transform
 
   fSlice=slice;
   fPatch=patch;
   
-  if(rowrange[0] > AliL3Transform::GetLastRow(patch) || rowrange[1] < AliL3Transform::GetFirstRow(patch))
-    cerr<<"AliL3ClusterFitter::Init : Wrong rows "<<rowrange[0]<<" "<<rowrange[1]<<endl;
+  if(rowrange[0] > AliHLTTransform::GetLastRow(patch) || rowrange[1] < AliHLTTransform::GetFirstRow(patch))
+    cerr<<"AliHLTClusterFitter::Init : Wrong rows "<<rowrange[0]<<" "<<rowrange[1]<<endl;
   fRowMin=rowrange[0];
   fRowMax=rowrange[1];
 
   if(fRowMin < 0)
     fRowMin = 0;
-  if(fRowMax > AliL3Transform::GetLastRow(fPatch))
-    fRowMax = AliL3Transform::GetLastRow(fPatch);
+  if(fRowMax > AliHLTTransform::GetLastRow(fPatch))
+    fRowMax = AliHLTTransform::GetLastRow(fPatch);
   
   fFitted=fFailed=0;
   
-  Int_t ntimes = AliL3Transform::GetNTimeBins()+1;
-  Int_t npads = AliL3Transform::GetNPads(AliL3Transform::GetLastRow(fPatch))+1;//Max num of pads.
+  Int_t ntimes = AliHLTTransform::GetNTimeBins()+1;
+  Int_t npads = AliHLTTransform::GetNPads(AliHLTTransform::GetLastRow(fPatch))+1;//Max num of pads.
   Int_t bounds = ntimes*npads;
   if(fRow)
     delete [] fRow;
@@ -116,13 +116,13 @@ void AliL3ClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3Track
   if(fTracks)
     delete fTracks;
   
-  fTracks = new AliL3TrackArray("AliL3ModelTrack");
+  fTracks = new AliHLTTrackArray("AliHLTModelTrack");
   
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
-      AliL3ModelTrack *mtrack = (AliL3ModelTrack*)fTracks->NextTrack();
+      AliHLTModelTrack *mtrack = (AliHLTModelTrack*)fTracks->NextTrack();
       mtrack->Init(slice,patch);
       mtrack->SetTgl(track->GetTgl());
       mtrack->SetRowRange(rowrange[0],rowrange[1]);
@@ -130,13 +130,13 @@ void AliL3ClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3Track
        {
          Float_t hit[3];
          track->GetLineCrossingPoint(j,hit);
-         hit[0] += AliL3Transform::Row2X(track->GetFirstRow());
+         hit[0] += AliHLTTransform::Row2X(track->GetFirstRow());
          Float_t r = sqrt(hit[0]*hit[0] + hit[1]*hit[1]);
          hit[2] = r*track->GetTgl();
          Int_t se,ro;
-         AliL3Transform::Slice2Sector(slice,j,se,ro);
-         AliL3Transform::Local2Raw(hit,se,ro);
-         if(hit[1]<0 || hit[1]>=AliL3Transform::GetNPads(j) || hit[2]<0 || hit[2]>=AliL3Transform::GetNTimeBins())
+         AliHLTTransform::Slice2Sector(slice,j,se,ro);
+         AliHLTTransform::Local2Raw(hit,se,ro);
+         if(hit[1]<0 || hit[1]>=AliHLTTransform::GetNPads(j) || hit[2]<0 || hit[2]>=AliHLTTransform::GetNTimeBins())
            {
              mtrack->SetPadHit(j,-1);
              mtrack->SetTimeHit(j,-1);
@@ -144,8 +144,8 @@ void AliL3ClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3Track
            }
          mtrack->SetPadHit(j,hit[1]);
          mtrack->SetTimeHit(j,hit[2]);
-         mtrack->SetCrossingAngleLUT(j,fabs(track->GetPsiLine() - AliL3Transform::Pi()/2));
-         //if(mtrack->GetCrossingAngleLUT(j) > AliL3Transform::Deg2Rad(20))
+         mtrack->SetCrossingAngleLUT(j,fabs(track->GetPsiLine() - AliHLTTransform::Pi()/2));
+         //if(mtrack->GetCrossingAngleLUT(j) > AliHLTTransform::Deg2Rad(20))
          //  cout<<"Angle "<<mtrack->GetCrossingAngleLUT(j)<<" psiline "<<track->GetPsiLine()*180/3.1415<<endl;
          mtrack->CalculateClusterWidths(j);
        }
@@ -153,42 +153,42 @@ void AliL3ClusterFitter::Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3Track
   //  cout<<"Copied "<<fTracks->GetNTracks()<<" tracks "<<endl;
 }
 
-void AliL3ClusterFitter::Init(Int_t slice,Int_t patch)
+void AliHLTClusterFitter::Init(Int_t slice,Int_t patch)
 {
   // Initialization
   fSlice=slice;
   fPatch=patch;
   
-  fRowMin=AliL3Transform::GetFirstRow(patch);
-  fRowMax=AliL3Transform::GetLastRow(patch);
+  fRowMin=AliHLTTransform::GetFirstRow(patch);
+  fRowMax=AliHLTTransform::GetLastRow(patch);
   
   fFitted=fFailed=0;
   
-  Int_t ntimes = AliL3Transform::GetNTimeBins()+1;
-  Int_t npads = AliL3Transform::GetNPads(AliL3Transform::GetLastRow(fPatch))+1;//Max num of pads.
+  Int_t ntimes = AliHLTTransform::GetNTimeBins()+1;
+  Int_t npads = AliHLTTransform::GetNPads(AliHLTTransform::GetLastRow(fPatch))+1;//Max num of pads.
   Int_t bounds = ntimes*npads;
   if(fRow)
     delete [] fRow;
   fRow = new Digit[bounds];
   if(fTracks)
     delete fTracks;
-  fTracks = new AliL3TrackArray("AliL3ModelTrack");  
+  fTracks = new AliHLTTrackArray("AliHLTModelTrack");  
 
 }
 
-void AliL3ClusterFitter::LoadLocalSegments()
+void AliHLTClusterFitter::LoadLocalSegments()
 {
   // loads local segments
   Char_t filename[1024];
   sprintf(filename,"%s/hough/tracks_ho_%d_%d_%d.raw",fPath,fEvent,fSlice,fPatch);
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   mem.SetBinaryInput(filename);
   mem.Binary2TrackArray(fTracks);
   mem.CloseBinaryInput();
   
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
 
       track->CalculateHelix();
@@ -204,11 +204,11 @@ void AliL3ClusterFitter::LoadLocalSegments()
            continue;
          
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(fSlice,j,sector,row);
-         AliL3Transform::Local2Raw(xyzCross,sector,row);
+         AliHLTTransform::Slice2Sector(fSlice,j,sector,row);
+         AliHLTTransform::Local2Raw(xyzCross,sector,row);
          
-         if(xyzCross[1] < 0 || xyzCross[1] >= AliL3Transform::GetNPads(j) ||
-            xyzCross[2] < 0 || xyzCross[2] >= AliL3Transform::GetNTimeBins()) //track goes out of range
+         if(xyzCross[1] < 0 || xyzCross[1] >= AliHLTTransform::GetNPads(j) ||
+            xyzCross[2] < 0 || xyzCross[2] >= AliHLTTransform::GetNTimeBins()) //track goes out of range
            continue;
          
          track->SetPadHit(j,xyzCross[1]);
@@ -223,7 +223,7 @@ void AliL3ClusterFitter::LoadLocalSegments()
     }
 }
 
-void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,Float_t zvertex)
+void AliHLTClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,Float_t zvertex)
 {
   //Function assumes _global_ tracks written to a single file.
   cout<<"Loading the seeds"<<endl;
@@ -235,14 +235,14 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
   else
     sprintf(fname,"%s/hough/tracks_%d.raw",fPath,fEvent);
   
-  cout<<"AliL3ClusterFitter::LoadSeeds : Loading input tracks from "<<fname<<endl;
+  cout<<"AliHLTClusterFitter::LoadSeeds : Loading input tracks from "<<fname<<endl;
   
-  AliL3MemHandler tfile;
+  AliHLTMemHandler tfile;
   tfile.SetBinaryInput(fname);
   
   if(fSeeds)
     delete fSeeds;
-  fSeeds = new AliL3TrackArray("AliL3ModelTrack");
+  fSeeds = new AliHLTTrackArray("AliHLTModelTrack");
 
   tfile.Binary2TrackArray(fSeeds);
   tfile.CloseBinaryInput();
@@ -253,12 +253,12 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
   Int_t clustercount=0;
   for(Int_t i=0; i<fSeeds->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fSeeds->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fSeeds->GetCheckedTrack(i);
       if(!track) continue;
 
       if(!offline)
        {
-         if(i==0) cerr<<"AliL3ClusterFitter::LoadSeeds : Cutting on pt of 4 GeV!!"<<endl;
+         if(i==0) cerr<<"AliHLTClusterFitter::LoadSeeds : Cutting on pt of 4 GeV!!"<<endl;
          if(track->GetPt() > 4.) 
            {
              fSeeds->Remove(i);
@@ -289,8 +289,8 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
          
          //Calculate the crossing point between track and padrow
          Float_t angle = 0; //Perpendicular to padrow in local coordinates
-         AliL3Transform::Local2GlobalAngle(&angle,slice);
-         if(!track->CalculateReferencePoint(angle,AliL3Transform::Row2X(j)))
+         AliHLTTransform::Local2GlobalAngle(&angle,slice);
+         if(!track->CalculateReferencePoint(angle,AliHLTTransform::Row2X(j)))
            {
              //cerr<<"No crossing in slice "<<slice<<" padrow "<<j<<endl;
              continue;
@@ -301,10 +301,10 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
          xyzCross[2] += zvertex;
          
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(slice,j,sector,row);
-         AliL3Transform::Global2Raw(xyzCross,sector,row);
+         AliHLTTransform::Slice2Sector(slice,j,sector,row);
+         AliHLTTransform::Global2Raw(xyzCross,sector,row);
          //cout<<"Examining slice "<<slice<<" row "<<j<<" pad "<<xyzCross[1]<<" time "<<xyzCross[2]<<endl;
-         if(xyzCross[1] < 0 || xyzCross[1] >= AliL3Transform::GetNPads(j)) //Track leaves the slice
+         if(xyzCross[1] < 0 || xyzCross[1] >= AliHLTTransform::GetNPads(j)) //Track leaves the slice
            {
            newslice:
              
@@ -335,8 +335,8 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
                }
              //cout<<"Track leaving, trying slice "<<slice<<endl;
              angle=0;
-             AliL3Transform::Local2GlobalAngle(&angle,slice);
-             if(!track->CalculateReferencePoint(angle,AliL3Transform::Row2X(j)))
+             AliHLTTransform::Local2GlobalAngle(&angle,slice);
+             if(!track->CalculateReferencePoint(angle,AliHLTTransform::Row2X(j)))
                {
                  cerr<<"No crossing in slice "<<slice<<" padrow "<<j<<endl;
                  continue;
@@ -348,9 +348,9 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
              xyzCross[2] = track->GetPointZ();
              xyzCross[2] += zvertex;
              Int_t sector,row;
-             AliL3Transform::Slice2Sector(slice,j,sector,row);
-             AliL3Transform::Global2Raw(xyzCross,sector,row);
-             if(xyzCross[1] < 0 || xyzCross[1] >= AliL3Transform::GetNPads(j)) //track is in the borderline
+             AliHLTTransform::Slice2Sector(slice,j,sector,row);
+             AliHLTTransform::Global2Raw(xyzCross,sector,row);
+             if(xyzCross[1] < 0 || xyzCross[1] >= AliHLTTransform::GetNPads(j)) //track is in the borderline
                {
                  if(xyzCross[1] > 0 && lastcross > 0 || xyzCross[1] < 0 && lastcross < 0)
                    goto newslice;
@@ -362,10 +362,10 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
                }
            }
          
-         if(xyzCross[2] < 0 || xyzCross[2] >= AliL3Transform::GetNTimeBins())//track goes out of range
+         if(xyzCross[2] < 0 || xyzCross[2] >= AliHLTTransform::GetNTimeBins())//track goes out of range
            continue;
          
-         if(xyzCross[1] < 0 || xyzCross[1] >= AliL3Transform::GetNPads(j))
+         if(xyzCross[1] < 0 || xyzCross[1] >= AliHLTTransform::GetNPads(j))
            {
              cerr<<"Slice "<<slice<<" padrow "<<j<<" pad "<<xyzCross[1]<<" time "<<xyzCross[2]<<endl;
              track->Print();
@@ -375,7 +375,7 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
          track->SetPadHit(j,xyzCross[1]);
          track->SetTimeHit(j,xyzCross[2]);
          angle=0;
-         AliL3Transform::Local2GlobalAngle(&angle,slice);
+         AliHLTTransform::Local2GlobalAngle(&angle,slice);
          Float_t crossingangle = track->GetCrossingAngle(j,slice);
          track->SetCrossingAngleLUT(j,crossingangle);
          
@@ -392,56 +392,56 @@ void AliL3ClusterFitter::LoadSeeds(Int_t *rowrange,Bool_t offline,Int_t eventnr,
   cout<<"Loaded "<<fSeeds->GetNTracks()<<" seeds and "<<clustercount<<" clusters"<<endl;
 }
 
-void AliL3ClusterFitter::FindClusters()
+void AliHLTClusterFitter::FindClusters()
 {
   // finds clusters
   if(!fTracks)
     {
-      cerr<<"AliL3ClusterFitter::Process : No tracks"<<endl;
+      cerr<<"AliHLTClusterFitter::Process : No tracks"<<endl;
       return;
     }
   if(!fRowData)
     {
-      cerr<<"AliL3ClusterFitter::Process : No data "<<endl;
+      cerr<<"AliHLTClusterFitter::Process : No data "<<endl;
       return;
     }
   
-  AliL3DigitRowData *rowPt = fRowData;
-  AliL3DigitData *digPt=0;
+  AliHLTDigitRowData *rowPt = fRowData;
+  AliHLTDigitData *digPt=0;
 
   Int_t pad,time;
   Short_t charge;
   
   if(fRowMin < 0)
     {
-      fRowMin = AliL3Transform::GetFirstRow(fPatch);
-      fRowMax = AliL3Transform::GetLastRow(fPatch);
+      fRowMin = AliHLTTransform::GetFirstRow(fPatch);
+      fRowMax = AliHLTTransform::GetLastRow(fPatch);
     }
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
       if((Int_t)rowPt->fRow < fRowMin)
        {
-         AliL3MemHandler::UpdateRowPointer(rowPt);
+         AliHLTMemHandler::UpdateRowPointer(rowPt);
          continue;
        }
       else if((Int_t)rowPt->fRow > fRowMax)
        break;
       else if((Int_t)rowPt->fRow != i)
        {
-         cerr<<"AliL3ClusterFitter::FindClusters : Mismatching row numbering "<<i<<" "<<rowPt->fRow<<endl;
+         cerr<<"AliHLTClusterFitter::FindClusters : Mismatching row numbering "<<i<<" "<<rowPt->fRow<<endl;
          exit(5);
        }
       fCurrentPadRow = i;
-      memset((void*)fRow,0,(AliL3Transform::GetNTimeBins()+1)*(AliL3Transform::GetNPads(i)+1)*sizeof(Digit));
-      digPt = (AliL3DigitData*)rowPt->fDigitData;
+      memset((void*)fRow,0,(AliHLTTransform::GetNTimeBins()+1)*(AliHLTTransform::GetNPads(i)+1)*sizeof(Digit));
+      digPt = (AliHLTDigitData*)rowPt->fDigitData;
 
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
          pad = digPt[j].fPad;
          time = digPt[j].fTime;
          charge = digPt[j].fCharge;
-         fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fCharge = charge;
-         fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fUsed = kFALSE;
+         fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fCharge = charge;
+         fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fUsed = kFALSE;
          //cout<<"Row "<<i<<" pad "<<pad<<" time "<<time<<" charge "<<charge<<endl;
        }
       
@@ -462,14 +462,14 @@ void AliL3ClusterFitter::FindClusters()
          
          for(Int_t k=0; k<fProcessTracks->GetNTracks(); k++)
            {
-             AliL3ModelTrack *track = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(k);
+             AliHLTModelTrack *track = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(k);
              if(!track) continue;
              
              if(fSeeding)
                if(track->GetClusterModel(i)->fSlice != fSlice) continue;
              
-             if(track->GetPadHit(i) < 0 || track->GetPadHit(i) > AliL3Transform::GetNPads(i)-1 ||
-                track->GetTimeHit(i) < 0 || track->GetTimeHit(i) > AliL3Transform::GetNTimeBins()-1)
+             if(track->GetPadHit(i) < 0 || track->GetPadHit(i) > AliHLTTransform::GetNPads(i)-1 ||
+                track->GetTimeHit(i) < 0 || track->GetTimeHit(i) > AliHLTTransform::GetNTimeBins()-1)
                {
                  track->SetCluster(i,0,0,0,0,0,0);
                  continue;
@@ -479,7 +479,7 @@ void AliL3ClusterFitter::FindClusters()
                fFailed++;
            }
        }
-      AliL3MemHandler::UpdateRowPointer(rowPt);
+      AliHLTMemHandler::UpdateRowPointer(rowPt);
     }
   
   fSeeding = kTRUE;
@@ -496,11 +496,11 @@ void AliL3ClusterFitter::FindClusters()
 
 }
 
-Bool_t AliL3ClusterFitter::CheckCluster(Int_t trackindex)
+Bool_t AliHLTClusterFitter::CheckCluster(Int_t trackindex)
 {
   //Check if this is a single or overlapping cluster
   
-  AliL3ModelTrack *track = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(trackindex);
+  AliHLTModelTrack *track = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(trackindex);
   
   Int_t row = fCurrentPadRow;
   
@@ -518,7 +518,7 @@ Bool_t AliL3ClusterFitter::CheckCluster(Int_t trackindex)
       if(fDebug)
        cout<<"Failed to fit cluster at row "<<row<<" pad "<<(Int_t)rint(track->GetPadHit(row))<<" time "
            <<(Int_t)rint(track->GetTimeHit(row))<<" hitcharge "
-           <<fRow[(AliL3Transform::GetNTimeBins()+1)*(Int_t)rint(track->GetPadHit(row))+(Int_t)rint(track->GetTimeHit(row))].fCharge<<endl;
+           <<fRow[(AliHLTTransform::GetNTimeBins()+1)*(Int_t)rint(track->GetPadHit(row))+(Int_t)rint(track->GetTimeHit(row))].fCharge<<endl;
       fgFitRangeError++;
       return kFALSE;
     }
@@ -527,7 +527,7 @@ Bool_t AliL3ClusterFitter::CheckCluster(Int_t trackindex)
 
   for(Int_t t=trackindex+1; t<fProcessTracks->GetNTracks(); t++)
     {
-      AliL3ModelTrack *tr = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(t);
+      AliHLTModelTrack *tr = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(t);
       if(!tr) continue;
       if(fSeeding)
        if(tr->GetClusterModel(row)->fSlice != fSlice) continue;
@@ -572,16 +572,16 @@ Bool_t AliL3ClusterFitter::CheckCluster(Int_t trackindex)
   return kTRUE;
 }
 
-Bool_t AliL3ClusterFitter::SetFitRange(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange)
+Bool_t AliHLTClusterFitter::SetFitRange(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange)
 {
   // sets the fit range
   Int_t row = fCurrentPadRow;
-  Int_t nt = AliL3Transform::GetNTimeBins()+1;
+  Int_t nt = AliHLTTransform::GetNTimeBins()+1;
   
   Int_t nsearchbins=0;
-  if(row < AliL3Transform::GetNRowLow())
+  if(row < AliHLTTransform::GetNRowLow())
     nsearchbins=25;
-  else if(row < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1())
+  else if(row < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1())
     nsearchbins=25;
   else
     nsearchbins=25;
@@ -648,7 +648,7 @@ Bool_t AliL3ClusterFitter::SetFitRange(AliL3ModelTrack *track,Int_t *padrange,In
                  j=timemax;
                  while(abs(timemax-j) < zw)
                    {
-                     if(i<0 || i>=AliL3Transform::GetNPads(row) || j<0 || j>=AliL3Transform::GetNTimeBins()) break;
+                     if(i<0 || i>=AliHLTTransform::GetNPads(row) || j<0 || j>=AliHLTTransform::GetNTimeBins()) break;
                      if(fRow[nt*i+j].fCharge)
                        {
                          if(i < padrange[0]) padrange[0]=i;
@@ -672,7 +672,7 @@ Bool_t AliL3ClusterFitter::SetFitRange(AliL3ModelTrack *track,Int_t *padrange,In
        {
        for(Int_t j=timemax-zw; j<=timemax+zw; j++)
        {
-       if(i<0 || i>=AliL3Transform::GetNPads(row) || j<0 || j>=AliL3Transform::GetNTimeBins()) continue;
+       if(i<0 || i>=AliHLTTransform::GetNPads(row) || j<0 || j>=AliHLTTransform::GetNTimeBins()) continue;
        if(fRow[nt*i+j].fCharge)
        {
        if(i < padrange[0]) padrange[0]=i;
@@ -691,13 +691,13 @@ Bool_t AliL3ClusterFitter::SetFitRange(AliL3ModelTrack *track,Int_t *padrange,In
   return kFALSE;
 }
 
-Bool_t AliL3ClusterFitter::IsMaximum(Int_t pad,Int_t time)
+Bool_t AliHLTClusterFitter::IsMaximum(Int_t pad,Int_t time)
 {
   // checks the maximum
-  if(pad<0 || pad >= AliL3Transform::GetNPads(fCurrentPadRow) ||
-     time<0 || time >= AliL3Transform::GetNTimeBins())
+  if(pad<0 || pad >= AliHLTTransform::GetNPads(fCurrentPadRow) ||
+     time<0 || time >= AliHLTTransform::GetNTimeBins())
     return kFALSE;
-  Int_t nt = AliL3Transform::GetNTimeBins()+1;
+  Int_t nt = AliHLTTransform::GetNTimeBins()+1;
   if(fRow[nt*pad+time].fUsed == kTRUE) return kFALSE; //Peak has been assigned before
   Int_t charge = fRow[nt*pad+time].fCharge;
   if(charge == 1024 || charge==0) return kFALSE;
@@ -718,13 +718,13 @@ Bool_t AliL3ClusterFitter::IsMaximum(Int_t pad,Int_t time)
   return kTRUE;
 }
 
-void AliL3ClusterFitter::CalculateWeightedMean(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange)
+void AliHLTClusterFitter::CalculateWeightedMean(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange)
 {
   // calculates weighted mean
   Float_t sum=0;
   Int_t npads=0;
   Float_t pad=0,time=0;
-  Int_t nt = AliL3Transform::GetNTimeBins()+1;
+  Int_t nt = AliHLTTransform::GetNTimeBins()+1;
   for(Int_t i=padrange[0]; i<=padrange[1]; i++)
     {
       Int_t lsum=0;
@@ -747,15 +747,15 @@ void AliL3ClusterFitter::CalculateWeightedMean(AliL3ModelTrack *track,Int_t *pad
     track->SetCluster(fCurrentPadRow,0,0,0,0,0,0);
 }
 
-void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange)
+void AliHLTClusterFitter::FitClusters(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange)
 {
   //Handle single and overlapping clusters
   
   /*
   if( (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDPad) <= 1 || 
-      (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDPad) >= AliL3Transform::GetNPads(fCurrentPadRow)-2 ||
+      (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDPad) >= AliHLTTransform::GetNPads(fCurrentPadRow)-2 ||
       (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDTime) <= 1 ||
-      (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDTime) >= AliL3Transform::GetNTimeBins()-2)
+      (Int_t)rint(track->GetClusterModel(fCurrentPadRow)->fDTime) >= AliHLTTransform::GetNTimeBins()-2)
     {
       CalculateWeightedMean(track,padrange,timerange);
       return;
@@ -765,7 +765,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
   Int_t maxTracks = FIT_MAXPAR/NUM_PARS;
   if(track->GetNOverlaps(fCurrentPadRow) > maxTracks)
     {
-      cerr<<"AliL3ClusterFitter::FitOverlappingClusters : Too many overlapping tracks"<<endl;
+      cerr<<"AliHLTClusterFitter::FitOverlappingClusters : Too many overlapping tracks"<<endl;
       return;
     }
   Int_t *overlaps = track->GetOverlaps(fCurrentPadRow);
@@ -776,11 +776,11 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
   Int_t k=-1;
   while(k < track->GetNOverlaps(fCurrentPadRow))
     {
-      AliL3ModelTrack *tr=0;
+      AliHLTModelTrack *tr=0;
       if(k==-1)
        tr = track;
       else
-       tr = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
+       tr = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
       k++;
       if(!tr) continue;
       if(!tr->IsSet(fCurrentPadRow) && !tr->IsPresent(fCurrentPadRow))//cluster has not been set and is not present
@@ -815,11 +815,11 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
   //Fill the overlapping tracks:
   while(k < track->GetNOverlaps(fCurrentPadRow))
     {
-      AliL3ModelTrack *tr=0;
+      AliHLTModelTrack *tr=0;
       if(k==-1)
        tr = track;
       else
-       tr = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
+       tr = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
       k++;
       if(!tr) continue;
       
@@ -829,7 +829,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
       //The local maxima is temporary stored in the cluster model:
       Int_t hitpad = (Int_t)rint(tr->GetClusterModel(fCurrentPadRow)->fDPad);  
       Int_t hittime = (Int_t)rint(tr->GetClusterModel(fCurrentPadRow)->fDTime);
-      Int_t charge = fRow[(AliL3Transform::GetNTimeBins()+1)*hitpad + hittime].fCharge;
+      Int_t charge = fRow[(AliHLTTransform::GetNTimeBins()+1)*hitpad + hittime].fCharge;
       
       if(fDebug)
        cout<<"Fitting track cluster, pad "<<tr->GetPadHit(fCurrentPadRow)<<" time "
@@ -864,7 +864,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
        {
          if(!tr->IsPresent(fCurrentPadRow))
            {
-             cerr<<"AliL3ClusterFitter::FindClusters : Cluster not present; there is a bug here"<<endl;
+             cerr<<"AliHLTClusterFitter::FindClusters : Cluster not present; there is a bug here"<<endl;
              exit(5);
            }
          Int_t charge;
@@ -913,7 +913,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
       Int_t timeNum=0;
       for(Int_t j=timerange[0]; j<=timerange[1]; j++)
        {
-         Int_t charge = fRow[(AliL3Transform::GetNTimeBins()+1)*i + j].fCharge;
+         Int_t charge = fRow[(AliHLTTransform::GetNTimeBins()+1)*i + j].fCharge;
          
          if(charge <= 0) continue;
 
@@ -983,11 +983,11 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
   nOverlaps=0;
   while(k < track->GetNOverlaps(fCurrentPadRow))
     {
-      AliL3ModelTrack *tr=0;
+      AliHLTModelTrack *tr=0;
       if(k==-1)
        tr = track;
       else
-       tr = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
+       tr = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[k]);
       k++;
       if(!tr) continue;
       if(!tr->IsPresent(fCurrentPadRow))
@@ -995,9 +995,9 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
          if(tr->IsSet(fCurrentPadRow)) continue;//This cluster has been set before
          
          Int_t lpatch;
-         if(fCurrentPadRow < AliL3Transform::GetNRowLow())
+         if(fCurrentPadRow < AliHLTTransform::GetNRowLow())
            lpatch=0;
-         else if(fCurrentPadRow < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1())
+         else if(fCurrentPadRow < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1())
            lpatch=1;
          else 
            lpatch=2;
@@ -1005,14 +1005,14 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
          //if(chisqF < fChiSqMax[(Int_t)overlapping])//cluster fit is good enough
          if(chisqF < fChiSqMax[lpatch])//cluster fit is good enough
            {
-             totCharge = (Int_t)(2*AliL3Transform::Pi() * a[nOverlaps*NUM_PARS+1] * a[nOverlaps*NUM_PARS+3] * a[nOverlaps*NUM_PARS+5]);
+             totCharge = (Int_t)(2*AliHLTTransform::Pi() * a[nOverlaps*NUM_PARS+1] * a[nOverlaps*NUM_PARS+3] * a[nOverlaps*NUM_PARS+5]);
              Float_t fpad = a[nOverlaps*NUM_PARS+2];
              Float_t ftime = a[nOverlaps*NUM_PARS+4];
-             if(totCharge < 0 || fpad < -1 || fpad > AliL3Transform::GetNPads(fCurrentPadRow) || 
-                ftime < -1 || ftime > AliL3Transform::GetNTimeBins())
+             if(totCharge < 0 || fpad < -1 || fpad > AliHLTTransform::GetNPads(fCurrentPadRow) || 
+                ftime < -1 || ftime > AliHLTTransform::GetNTimeBins())
                {
                  if(fDebug)
-                   cout<<"AliL3ClusterFitter::Fatal result(s) in fit; in slice "<<fSlice<<" row "<<fCurrentPadRow
+                   cout<<"AliHLTClusterFitter::Fatal result(s) in fit; in slice "<<fSlice<<" row "<<fCurrentPadRow
                        <<"; pad "<<fpad<<" time "<<ftime<<" charge "<<totCharge<<" xywidth "<<a[nOverlaps*NUM_PARS+3]
                        <<" zwidth "<<a[nOverlaps*NUM_PARS+5]<<" peakcharge "<<a[nOverlaps*NUM_PARS+1]<<endl;
                  tr->SetCluster(fCurrentPadRow,0,0,0,0,0,0);
@@ -1037,7 +1037,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
              //Set the digits to used:
              for(Int_t i=padrange[0]; i<=padrange[1]; i++)
              for(Int_t j=timerange[0]; j<=timerange[1]; j++)
-             fRow[(AliL3Transform::GetNTimeBins()+1)*i + j].fUsed = kTRUE;
+             fRow[(AliHLTTransform::GetNTimeBins()+1)*i + j].fUsed = kTRUE;
              */
              fFitted++;
            }
@@ -1056,7 +1056,7 @@ void AliL3ClusterFitter::FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_
   delete [] plane;
 }
 
-void AliL3ClusterFitter::SetClusterfitFalse(AliL3ModelTrack *track)
+void AliHLTClusterFitter::SetClusterfitFalse(AliHLTModelTrack *track)
 {
   //Cluster fit failed, so set the clusters to all the participating
   //tracks to zero.
@@ -1065,18 +1065,18 @@ void AliL3ClusterFitter::SetClusterfitFalse(AliL3ModelTrack *track)
   Int_t *overlaps = track->GetOverlaps(fCurrentPadRow);
   while(i < track->GetNOverlaps(fCurrentPadRow))
     {
-      AliL3ModelTrack *tr=0;
+      AliHLTModelTrack *tr=0;
       if(i==-1)
        tr = track;
       else
-       tr = (AliL3ModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[i]);
+       tr = (AliHLTModelTrack*)fProcessTracks->GetCheckedTrack(overlaps[i]);
       i++;
       if(!tr) continue;
       
       //Set the digit data to unused, so it can be fitted to another bastard:
       Int_t hitpad = (Int_t)rint(tr->GetClusterModel(fCurrentPadRow)->fDPad);  
       Int_t hittime = (Int_t)rint(tr->GetClusterModel(fCurrentPadRow)->fDTime);
-      fRow[(AliL3Transform::GetNTimeBins()+1)*hitpad + hittime].fUsed = kFALSE;
+      fRow[(AliHLTTransform::GetNTimeBins()+1)*hitpad + hittime].fUsed = kFALSE;
       
       tr->SetCluster(fCurrentPadRow,0,0,0,0,0,0);
     }
@@ -1084,19 +1084,19 @@ void AliL3ClusterFitter::SetClusterfitFalse(AliL3ModelTrack *track)
 }
 
 
-void AliL3ClusterFitter::AddClusters()
+void AliHLTClusterFitter::AddClusters()
 {
   // adds clusters
   if(!fClusters)
     {
-      fClusters = new AliL3SpacePointData[fNMaxClusters];
+      fClusters = new AliHLTSpacePointData[fNMaxClusters];
       fNClusters=0;
     }
   
   if(fDebug)
     cout<<"Writing cluster in slice "<<fSlice<<" patch "<<fPatch<<endl;
   
-  AliL3TrackArray *tracks=0;
+  AliHLTTrackArray *tracks=0;
   if(fSeeding==kTRUE)
     tracks = fSeeds;
   else
@@ -1107,7 +1107,7 @@ void AliL3ClusterFitter::AddClusters()
   
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *tr = (AliL3ModelTrack*)tracks->GetCheckedTrack(i);
+      AliHLTModelTrack *tr = (AliHLTModelTrack*)tracks->GetCheckedTrack(i);
       if(!tr) continue;
       
       UInt_t *hitids = tr->GetHitNumbers();
@@ -1124,8 +1124,8 @@ void AliL3ClusterFitter::AddClusters()
          tr->GetTime(i,time);
          tr->GetClusterCharge(i,charge);
 
-         if(pad < -1 || pad >= AliL3Transform::GetNPads(i) || 
-            time < -1 || time >= AliL3Transform::GetNTimeBins())
+         if(pad < -1 || pad >= AliHLTTransform::GetNPads(i) || 
+            time < -1 || time >= AliHLTTransform::GetNTimeBins())
            {
              continue;
 //           cout<<"slice "<<fSlice<<" row "<<i<<" pad "<<pad<<" time "<<time<<endl;
@@ -1139,13 +1139,13 @@ void AliL3ClusterFitter::AddClusters()
          tr->GetSigmaZ2(i,zwidth);
          Float_t xyz[3];
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(fSlice,i,sector,row);
+         AliHLTTransform::Slice2Sector(fSlice,i,sector,row);
          
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+         AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
          
          if(fNClusters >= fNMaxClusters)
            {
-             cerr<<"AliL3ClusterFitter::AddClusters : Too many clusters "<<fNClusters<<endl;
+             cerr<<"AliHLTClusterFitter::AddClusters : Too many clusters "<<fNClusters<<endl;
              exit(5);
            }
          
@@ -1154,15 +1154,15 @@ void AliL3ClusterFitter::AddClusters()
          fClusters[fNClusters].fZ = xyz[2];
          fClusters[fNClusters].fCharge = charge;
          fClusters[fNClusters].fPadRow = i;
-         Int_t pa = AliL3Transform::GetPatch(i);
+         Int_t pa = AliHLTTransform::GetPatch(i);
          if(xywidth==0 || zwidth==0)
-           cerr<<"AliL3ClusterFitter::AddClusters : Cluster with zero width"<<endl;
+           cerr<<"AliHLTClusterFitter::AddClusters : Cluster with zero width"<<endl;
          if(xywidth>0)
-           fClusters[fNClusters].fSigmaY2 = xywidth*pow(AliL3Transform::GetPadPitchWidth(pa),2);
+           fClusters[fNClusters].fSigmaY2 = xywidth*pow(AliHLTTransform::GetPadPitchWidth(pa),2);
          else
            fClusters[fNClusters].fSigmaY2 = 1;
          if(zwidth>0)
-           fClusters[fNClusters].fSigmaZ2 = zwidth*pow(AliL3Transform::GetZWidth(),2);
+           fClusters[fNClusters].fSigmaZ2 = zwidth*pow(AliHLTTransform::GetZWidth(),2);
          else
            fClusters[fNClusters].fSigmaZ2 = 1;
          Int_t pat=fPatch;
@@ -1170,9 +1170,9 @@ void AliL3ClusterFitter::AddClusters()
            pat=0;
          fClusters[fNClusters].fID = fNClusters + ((fSlice&0x7f)<<25)+((pat&0x7)<<22);
          
-         if(nhits >= AliL3Transform::GetNRows())
+         if(nhits >= AliHLTTransform::GetNRows())
            {
-             cerr<<"AliL3ClusterFitter::AddClusters : Cluster counter of out range "<<nhits<<endl;
+             cerr<<"AliHLTClusterFitter::AddClusters : Cluster counter of out range "<<nhits<<endl;
              exit(5);
            }
          hitids[nhits++] = fClusters[fNClusters].fID;
@@ -1183,12 +1183,12 @@ void AliL3ClusterFitter::AddClusters()
          Int_t ftime = (Int_t)rint(time);
          if(fpad < 0)
            fpad=0;
-         if(fpad >= AliL3Transform::GetNPads(i))
-           fpad = AliL3Transform::GetNPads(i)-1;
+         if(fpad >= AliHLTTransform::GetNPads(i))
+           fpad = AliHLTTransform::GetNPads(i)-1;
          if(ftime<0)
            ftime=0;
-         if(ftime >= AliL3Transform::GetNTimeBins())
-           ftime = AliL3Transform::GetNTimeBins()-1;
+         if(ftime >= AliHLTTransform::GetNTimeBins())
+           ftime = AliHLTTransform::GetNTimeBins()-1;
          GetTrackID(fpad,ftime,trackID);
          fClusters[fNClusters].fTrackID[0] = trackID[0];
          fClusters[fNClusters].fTrackID[1] = trackID[1];
@@ -1204,18 +1204,18 @@ void AliL3ClusterFitter::AddClusters()
     }
 }
 
-void AliL3ClusterFitter::WriteTracks(Int_t minHits)
+void AliHLTClusterFitter::WriteTracks(Int_t minHits)
 {
   // writes tracks
   if(!fSeeds)
     return;
   
-  AliL3TrackArray *fakes = new AliL3TrackArray();
+  AliHLTTrackArray *fakes = new AliHLTTrackArray();
   
   Int_t clustercount=0;
   for(Int_t i=0; i<fSeeds->GetNTracks(); i++)
     {
-      AliL3ModelTrack *tr = (AliL3ModelTrack*)fSeeds->GetCheckedTrack(i);
+      AliHLTModelTrack *tr = (AliHLTModelTrack*)fSeeds->GetCheckedTrack(i);
       if(!tr) continue;
       if(tr->GetNHits() < minHits)
        {
@@ -1227,7 +1227,7 @@ void AliL3ClusterFitter::WriteTracks(Int_t minHits)
   
   cout<<"Writing "<<clustercount<<" clusters"<<endl;
   fSeeds->Compress();
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   Char_t filename[1024];
   sprintf(filename,"%s/fitter/tracks_%d.raw",fPath,fEvent);
   mem.SetBinaryOutput(filename);
@@ -1243,10 +1243,10 @@ void AliL3ClusterFitter::WriteTracks(Int_t minHits)
   delete fakes;
 }
 
-void AliL3ClusterFitter::WriteClusters(Bool_t global)
+void AliHLTClusterFitter::WriteClusters(Bool_t global)
 {
   // writes clusters
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   if(fDebug)
     cout<<"Write "<<fNClusters<<" clusters to file"<<endl;
   Char_t filename[1024];
similarity index 57%
rename from HLT/comp/AliL3ClusterFitter.h
rename to HLT/comp/AliHLTClusterFitter.h
index c6997b2d53227b1a3c452c30125c56ae64b20956..a087637f4f6c9ab056b427db9c3242635d5a5212 100644 (file)
@@ -1,23 +1,23 @@
 // @(#) $Id$
 
-#ifndef AliL3_ClusterFitter
-#define AliL3_ClusterFitter
+#ifndef AliHLT_ClusterFitter
+#define AliHLT_ClusterFitter
 
-#include "AliL3Modeller.h"
-#include "AliL3Transform.h"
+#include "AliHLTModeller.h"
+#include "AliHLTTransform.h"
 
-class AliL3ModelTrack;
-class AliL3TrackArray;
-class AliL3SpacePointData;
+class AliHLTModelTrack;
+class AliHLTTrackArray;
+class AliHLTSpacePointData;
 
-class AliL3ClusterFitter : public AliL3Modeller {
+class AliHLTClusterFitter : public AliHLTModeller {
   
  public:
-  AliL3ClusterFitter();
-  AliL3ClusterFitter(Char_t *path);
-  virtual ~AliL3ClusterFitter();
+  AliHLTClusterFitter();
+  AliHLTClusterFitter(Char_t *path);
+  virtual ~AliHLTClusterFitter();
   
-  void Init(Int_t slice,Int_t patch,Int_t *rowrange,AliL3TrackArray *tracks);
+  void Init(Int_t slice,Int_t patch,Int_t *rowrange,AliHLTTrackArray *tracks);
   void Init(Int_t slice,Int_t patch);
   void LoadSeeds(Int_t *rowrange,Bool_t offline=kTRUE,Int_t eventnr=0,Float_t zvertex=0.0);
   void LoadLocalSegments();
@@ -32,10 +32,10 @@ class AliL3ClusterFitter : public AliL3Modeller {
   void SetOuterWidthFactor(Float_t y,Float_t z) {fYOuterWidthFactor=y; fZOuterWidthFactor=z;}
   
   Float_t GetYWidthFactor() const
-    {return fCurrentPadRow < AliL3Transform::GetLastRow(1) ? fYInnerWidthFactor : fYOuterWidthFactor;}
+    {return fCurrentPadRow < AliHLTTransform::GetLastRow(1) ? fYInnerWidthFactor : fYOuterWidthFactor;}
   Float_t GetZWidthFactor() const 
-    {return fCurrentPadRow < AliL3Transform::GetLastRow(1) ? fZInnerWidthFactor : fZOuterWidthFactor;}
-  AliL3TrackArray *GetSeeds() {return fSeeds;}
+    {return fCurrentPadRow < AliHLTTransform::GetLastRow(1) ? fZInnerWidthFactor : fZOuterWidthFactor;}
+  AliHLTTrackArray *GetSeeds() {return fSeeds;}
   
  private:
   Int_t fNmaxOverlaps; // Max number of overlaps
@@ -56,19 +56,21 @@ class AliL3ClusterFitter : public AliL3Modeller {
   Int_t fNMaxClusters; // Max number of clusters
   Int_t fNClusters; // umver of clusters
   Int_t fEvent; // Current event
-  AliL3TrackArray *fSeeds; //! Array of seed
-  AliL3TrackArray *fProcessTracks; //! Array of processed tracks
-  AliL3SpacePointData *fClusters; //! Array of clusters
+  AliHLTTrackArray *fSeeds; //! Array of seed
+  AliHLTTrackArray *fProcessTracks; //! Array of processed tracks
+  AliHLTSpacePointData *fClusters; //! Array of clusters
   
-  void FitClusters(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
+  void FitClusters(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange);
   Bool_t CheckCluster(Int_t trackindex);
   Bool_t IsMaximum(Int_t pad,Int_t time);
-  Bool_t SetFitRange(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
-  void SetClusterfitFalse(AliL3ModelTrack *track);
-  void CalculateWeightedMean(AliL3ModelTrack *track,Int_t *padrange,Int_t *timerange);
+  Bool_t SetFitRange(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange);
+  void SetClusterfitFalse(AliHLTModelTrack *track);
+  void CalculateWeightedMean(AliHLTModelTrack *track,Int_t *padrange,Int_t *timerange);
   
-  ClassDef(AliL3ClusterFitter,1) 
+  ClassDef(AliHLTClusterFitter,1) 
 
 };
 
+typedef AliHLTClusterFitter AliL3ClusterFitter; // for backward compatibility
+
 #endif
diff --git a/HLT/comp/AliHLTCompLinkDef.h b/HLT/comp/AliHLTCompLinkDef.h
new file mode 100644 (file)
index 0000000..7451f23
--- /dev/null
@@ -0,0 +1,42 @@
+// @(#) $Id$
+
+#ifdef __CINT__
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ typedef AliL3Modeller; 
+#ifndef macosx
+#pragma link C++ typedef AliL3ModelTrack; 
+#endif
+#pragma link C++ typedef AliL3Compress; 
+#pragma link C++ typedef AliL3CompressAC; 
+#pragma link C++ typedef AliL3ClusterFitter; 
+#pragma link C++ typedef AliL3DataCompressor; 
+#pragma link C++ typedef AliL3ClusterModel; 
+#ifndef macosx
+#pragma link C++ typedef AliL3DataCompressorHelper; 
+#endif
+#ifdef use_aliroot
+#pragma link C++ typedef AliL3OfflineDataCompressor; 
+#endif
+
+#pragma link C++ class AliHLTModeller; 
+#ifndef macosx
+#pragma link C++ class AliHLTModelTrack; 
+#endif
+#pragma link C++ class AliHLTCompress; 
+#pragma link C++ class AliHLTCompressAC; 
+#pragma link C++ class AliHLTClusterFitter; 
+#pragma link C++ class AliHLTDataCompressor; 
+#pragma link C++ class AliHLTClusterModel; 
+#ifndef macosx
+#pragma link C++ class AliHLTDataCompressorHelper; 
+#endif
+#ifdef use_aliroot
+#pragma link C++ class AliHLTOfflineDataCompressor; 
+#endif
+
+#endif
+
similarity index 63%
rename from HLT/comp/AliL3Compress.cxx
rename to HLT/comp/AliHLTCompress.cxx
index 2bbf8b99e29e571a29646cdd149133bc00be68b8..b94973446b01f31527433b2e61ca276b3efc1e40 100644 (file)
@@ -4,24 +4,24 @@
 //*-- Copyright &copy ALICE HLT Group
 //_____________________________________________________________
 //
-//  AliL3Compress
+//  AliHLTCompress
 //
 // Class for compressing and uncompressing data.
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #include "bitio.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Models.h"
-#include "AliL3DigitData.h"
-#include "AliL3Logging.h"
-#include "AliL3TrackArray.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DataCompressorHelper.h"
-#include "AliL3DataCompressor.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTModels.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDataCompressorHelper.h"
+#include "AliHLTDataCompressor.h"
+#include "AliHLTSpacePointData.h"
 
 #if 0
 #ifdef use_root
 #include <TRandom.h>
 #endif
 #ifdef use_aliroot
-#include "AliL3FileHandler.h"
+#include "AliHLTFileHandler.h"
 #endif
 #endif
 
-#include "AliL3Compress.h"
+#include "AliHLTCompress.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 
-ClassImp(AliL3Compress)
+ClassImp(AliHLTCompress)
 
-AliL3Compress::AliL3Compress()
+AliHLTCompress::AliHLTCompress()
 {
   // default constructor
   fTracks=0;
@@ -53,7 +53,7 @@ AliL3Compress::AliL3Compress()
   fEvent=-1;
 }
 
-AliL3Compress::AliL3Compress(Int_t slice,Int_t patch,Char_t *path,Bool_t writeshape,Int_t event)
+AliHLTCompress::AliHLTCompress(Int_t slice,Int_t patch,Char_t *path,Bool_t writeshape,Int_t event)
 {
   // constructor
   fEvent=event;
@@ -64,14 +64,14 @@ AliL3Compress::AliL3Compress(Int_t slice,Int_t patch,Char_t *path,Bool_t writesh
   fWriteShape=writeshape;
 }
 
-AliL3Compress::~AliL3Compress()
+AliHLTCompress::~AliHLTCompress()
 {
   // destructor
   if(fTracks)
     delete fTracks;
 }
 
-Bool_t AliL3Compress::WriteFile(AliL3TrackArray *tracks,Char_t *filename)
+Bool_t AliHLTCompress::WriteFile(AliHLTTrackArray *tracks,Char_t *filename)
 {
   // writes file
   Char_t fname[1024];
@@ -85,17 +85,17 @@ Bool_t AliL3Compress::WriteFile(AliL3TrackArray *tracks,Char_t *filename)
   FILE *file = fopen(fname,"w");
   if(!file)
     {
-      cerr<<"AliL3Compress::WriteFile : Error opening file "<<fname<<endl;
+      cerr<<"AliHLTCompress::WriteFile : Error opening file "<<fname<<endl;
       return kFALSE;
     }
   Short_t ntracks = tracks->GetNTracks();
     
   Int_t count=0;
-  AliL3ClusterModel *clusters=0;
-  AliL3TrackModel *model=0;
+  AliHLTClusterModel *clusters=0;
+  AliHLTTrackModel *model=0;
   for(Int_t i=0; i<ntracks; i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)tracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
 
       //Do not save useless tracks or clusters:
@@ -106,9 +106,9 @@ Bool_t AliL3Compress::WriteFile(AliL3TrackArray *tracks,Char_t *filename)
       model = track->GetModel();
       //if(model->fNClusters==0) continue;
       clusters = track->GetClusters();
-      if(fwrite(model,sizeof(AliL3TrackModel),1,file)!=1) break;
-      //if(fwrite(clusters,model->fNClusters*sizeof(AliL3ClusterModel),1,file)!=1) break;
-      if(fwrite(clusters,AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel),1,file)!=1) break;
+      if(fwrite(model,sizeof(AliHLTTrackModel),1,file)!=1) break;
+      //if(fwrite(clusters,model->fNClusters*sizeof(AliHLTClusterModel),1,file)!=1) break;
+      if(fwrite(clusters,AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel),1,file)!=1) break;
       count++;
       
     }
@@ -116,7 +116,7 @@ Bool_t AliL3Compress::WriteFile(AliL3TrackArray *tracks,Char_t *filename)
   return kTRUE;
 }
 
-Bool_t AliL3Compress::ReadFile(Char_t which,Char_t *filename)
+Bool_t AliHLTCompress::ReadFile(Char_t which,Char_t *filename)
 {
   //Read the trackfile.
 
@@ -141,7 +141,7 @@ Bool_t AliL3Compress::ReadFile(Char_t which,Char_t *filename)
        }
       else
        {
-         cerr<<"AliL3Compress::ReadFile() : Wrong option"<<endl;
+         cerr<<"AliHLTCompress::ReadFile() : Wrong option"<<endl;
          return kFALSE;
        }
     }
@@ -149,23 +149,23 @@ Bool_t AliL3Compress::ReadFile(Char_t which,Char_t *filename)
   FILE *file = fopen(fname,"r");
   if(!file)
     {
-      cerr<<"AliL3Compress::ReadFile : Cannot open file "<<fname<<endl;
+      cerr<<"AliHLTCompress::ReadFile : Cannot open file "<<fname<<endl;
       return kFALSE;
     }
 
   if(fTracks)
     delete fTracks;
-  fTracks = new AliL3TrackArray("AliL3ModelTrack");
+  fTracks = new AliHLTTrackArray("AliHLTModelTrack");
   
   while(!feof(file))
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->NextTrack();
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->NextTrack();
       track->Init(fSlice,fPatch);
-      AliL3TrackModel *model = track->GetModel();
-      AliL3ClusterModel *clusters = track->GetClusters();
-      if(fread(model,sizeof(AliL3TrackModel),1,file)!=1) break;
-      //if(fread(clusters,model->fNClusters*sizeof(AliL3ClusterModel),1,file)!=1) break;
-      if(fread(clusters,AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel),1,file)!=1) break;
+      AliHLTTrackModel *model = track->GetModel();
+      AliHLTClusterModel *clusters = track->GetClusters();
+      if(fread(model,sizeof(AliHLTTrackModel),1,file)!=1) break;
+      //if(fread(clusters,model->fNClusters*sizeof(AliHLTClusterModel),1,file)!=1) break;
+      if(fread(clusters,AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel),1,file)!=1) break;
       track->FillTrack();
     }
 
@@ -174,7 +174,7 @@ Bool_t AliL3Compress::ReadFile(Char_t which,Char_t *filename)
   return kTRUE;
 }
 
-Bool_t AliL3Compress::CompressFile()
+Bool_t AliHLTCompress::CompressFile()
 {
   // compresses file
   Char_t fname[100];
@@ -192,12 +192,12 @@ Bool_t AliL3Compress::CompressFile()
   FILE *input = fopen(fname,"r");
   if(!input)
     {
-      cerr<<"AliL3Compress::CompressFile() : Error opening file: "<<fname<<endl;
+      cerr<<"AliHLTCompress::CompressFile() : Error opening file: "<<fname<<endl;
       return kFALSE;
     }
 
-  AliL3TrackModel track;
-  AliL3ClusterModel cluster;
+  AliHLTTrackModel track;
+  AliHLTClusterModel cluster;
   Int_t temp;
   Int_t power;
   
@@ -205,24 +205,24 @@ Bool_t AliL3Compress::CompressFile()
   timeo=pado=chargeo=padshapeo=timeshapeo=0;
   while(!feof(input))
     {
-      if(fread(&track,sizeof(AliL3TrackModel),1,input)!=1) break;
+      if(fread(&track,sizeof(AliHLTTrackModel),1,input)!=1) break;
       
       if(output->mask != 0x80) //Write the current byte to file.
        {
-         //cerr<<"\nAliL3Compress::CompressFile() : Writing overhead bits!!!"<<endl;
+         //cerr<<"\nAliHLTCompress::CompressFile() : Writing overhead bits!!!"<<endl;
          if(putc(output->rack,output->file )!=output->rack)
-           cerr<<"AliL3Compress::ComressFile : Error writing to bitfile"<<endl;
+           cerr<<"AliHLTCompress::ComressFile : Error writing to bitfile"<<endl;
          output->mask=0x80;
          output->rack=0;
        }
       
       //Write track parameters:
-      fwrite(&track,sizeof(AliL3TrackModel),1,output->file);
+      fwrite(&track,sizeof(AliHLTTrackModel),1,output->file);
       
       Int_t origslice=-1,slice,clustercount=0;
-      for(Int_t i=0; i<AliL3Transform::GetNRows(fPatch); i++)
+      for(Int_t i=0; i<AliHLTTransform::GetNRows(fPatch); i++)
        {
-         if(fread(&cluster,sizeof(AliL3ClusterModel),1,input)!=1) break;
+         if(fread(&cluster,sizeof(AliHLTClusterModel),1,input)!=1) break;
          
          //Write empty flag:
          temp = (Int_t)cluster.fPresent;
@@ -231,7 +231,7 @@ Bool_t AliL3Compress::CompressFile()
          
          if(cluster.fSlice<0 || cluster.fSlice>35)
            {
-             cerr<<"AliL3DataCompress::CompressFile : Fucked up slice number :"<<cluster.fSlice<<endl;
+             cerr<<"AliHLTDataCompress::CompressFile : Fucked up slice number :"<<cluster.fSlice<<endl;
              exit(5);
            }
          
@@ -260,14 +260,14 @@ Bool_t AliL3Compress::CompressFile()
            OutputBit(output,0);
          else
            OutputBit(output,1);
-         power = 1<<(AliL3DataCompressorHelper::GetNTimeBits()-1);
+         power = 1<<(AliHLTDataCompressorHelper::GetNTimeBits()-1);
          if(abs(temp)>=power)
            {
              //cout<<abs(temp)<<" "<<power<<endl;
              timeo++;
              temp=power - 1;
            }
-         OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNTimeBits()-1));
+         OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNTimeBits()-1));
          
          //Write pad information:
          temp = (Int_t)rint(cluster.fDPad);
@@ -275,23 +275,23 @@ Bool_t AliL3Compress::CompressFile()
            OutputBit(output,0);
          else
            OutputBit(output,1);
-         power = 1<<(AliL3DataCompressorHelper::GetNPadBits()-1);
+         power = 1<<(AliHLTDataCompressorHelper::GetNPadBits()-1);
          if(abs(temp)>=power)
            {
              pado++;
              temp=power - 1;
            }
-         OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNPadBits()-1));
+         OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNPadBits()-1));
          
          //Write charge information:
          temp = (Int_t)cluster.fDCharge;
-         power = 1<<(AliL3DataCompressorHelper::GetNChargeBits());
+         power = 1<<(AliHLTDataCompressorHelper::GetNChargeBits());
          if(abs(temp)>=power)
            {
              chargeo++;
              temp=power - 1;
            }
-         OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNChargeBits()));
+         OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNChargeBits()));
          
          if(fWriteShape)
            {
@@ -301,26 +301,26 @@ Bool_t AliL3Compress::CompressFile()
                OutputBit(output,0);
              else
                OutputBit(output,1);
-             power = 1<<(AliL3DataCompressorHelper::GetNShapeBits()-1);
+             power = 1<<(AliHLTDataCompressorHelper::GetNShapeBits()-1);
              if(abs(temp) >= power)
                {
                  padshapeo++;
                  temp = power - 1;
                }
-             OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              
              temp = (Int_t)rint(cluster.fDSigmaZ);
              if(temp<0)
                OutputBit(output,0);
              else
                OutputBit(output,1);
-             power = 1<<(AliL3DataCompressorHelper::GetNShapeBits()-1);
+             power = 1<<(AliHLTDataCompressorHelper::GetNShapeBits()-1);
              if(abs(temp) >= power)
                {
                  timeshapeo++;
                  temp=power - 1;
                }
-             OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNShapeBits()-1));
            }
          
          clustercount++;
@@ -341,7 +341,7 @@ Bool_t AliL3Compress::CompressFile()
   return kTRUE;
 }
 
-Bool_t AliL3Compress::ExpandFile()
+Bool_t AliHLTCompress::ExpandFile()
 {
   // expands file
   Char_t fname[100];
@@ -358,26 +358,26 @@ Bool_t AliL3Compress::ExpandFile()
   FILE *output = fopen(fname,"w");
   if(!output)
     {
-      cerr<<"AliL3Compress::ExpandFile() : Error opening file: "<<fname<<endl;
+      cerr<<"AliHLTCompress::ExpandFile() : Error opening file: "<<fname<<endl;
       return kFALSE;
     }
 
-  AliL3TrackModel trackmodel;
-  AliL3ClusterModel *clusters=0;
+  AliHLTTrackModel trackmodel;
+  AliHLTClusterModel *clusters=0;
   Int_t count=0;
   
-  clusters = new AliL3ClusterModel[(AliL3Transform::GetNRows(fPatch))];
+  clusters = new AliHLTClusterModel[(AliHLTTransform::GetNRows(fPatch))];
   while(!feof(input->file))
     {
       input->mask=0x80;//make sure we read a new byte from file.
       
       //Read and write track:
-      if(fread(&trackmodel,sizeof(AliL3TrackModel),1,input->file)!=1) break;
-      fwrite(&trackmodel,sizeof(AliL3TrackModel),1,output);
+      if(fread(&trackmodel,sizeof(AliHLTTrackModel),1,input->file)!=1) break;
+      fwrite(&trackmodel,sizeof(AliHLTTrackModel),1,output);
 
-      memset(clusters,0,AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel));
+      memset(clusters,0,AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel));
       Int_t origslice=-1,clustercount=0;
-      for(Int_t i=0; i<AliL3Transform::GetNRows(fPatch); i++)
+      for(Int_t i=0; i<AliHLTTransform::GetNRows(fPatch); i++)
        {
          Int_t temp,sign;
          
@@ -412,33 +412,33 @@ Bool_t AliL3Compress::ExpandFile()
          
          //Read time information:
          sign=InputBit(input);
-         temp = InputBits(input,(AliL3DataCompressorHelper::GetNTimeBits()-1));
+         temp = InputBits(input,(AliHLTDataCompressorHelper::GetNTimeBits()-1));
          if(!sign)
            temp*=-1;
          clusters[i].fDTime = temp;
          
          //Read pad information:
          sign=InputBit(input);
-         temp = InputBits(input,(AliL3DataCompressorHelper::GetNPadBits()-1));
+         temp = InputBits(input,(AliHLTDataCompressorHelper::GetNPadBits()-1));
          if(!sign)
            temp*=-1;
          clusters[i].fDPad = temp;
          
          //Read charge information:
-         temp=InputBits(input,(AliL3DataCompressorHelper::GetNChargeBits()));
+         temp=InputBits(input,(AliHLTDataCompressorHelper::GetNChargeBits()));
          clusters[i].fDCharge = temp;
          
          if(fWriteShape)
            {
              //Read shape information:
              sign = InputBit(input);
-             temp = InputBits(input,(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             temp = InputBits(input,(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              if(!sign)
                temp*=-1;
              clusters[i].fDSigmaY = temp;
              
              sign = InputBit(input);
-             temp = InputBits(input,(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             temp = InputBits(input,(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              if(!sign)
                temp*=-1;
              clusters[i].fDSigmaZ = temp;
@@ -446,8 +446,8 @@ Bool_t AliL3Compress::ExpandFile()
          clustercount++;
        }
       count++;
-      //fwrite(clusters,(trackmodel.fNClusters)*sizeof(AliL3ClusterModel),1,output);
-      fwrite(clusters,AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel),1,output);
+      //fwrite(clusters,(trackmodel.fNClusters)*sizeof(AliHLTClusterModel),1,output);
+      fwrite(clusters,AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel),1,output);
     }
   
   delete [] clusters;
@@ -456,12 +456,12 @@ Bool_t AliL3Compress::ExpandFile()
   return kTRUE;
 }
 
-void AliL3Compress::CompressRemaining(AliL3SpacePointData *clusters[36][6],UInt_t nclusters[36][6])
+void AliHLTCompress::CompressRemaining(AliHLTSpacePointData *clusters[36][6],UInt_t nclusters[36][6])
 {
   //Write the remaining clusters in a compressed format.
 
   Char_t filename[1024];
-  Int_t nrows = AliL3Transform::GetNRows();
+  Int_t nrows = AliHLTTransform::GetNRows();
   Int_t *npoints = new Int_t[nrows];
   for(Int_t slice=0; slice<=35; slice++)
     {
@@ -471,10 +471,10 @@ void AliL3Compress::CompressRemaining(AliL3SpacePointData *clusters[36][6],UInt_
          BIT_FILE *output = OpenOutputBitFile(filename);
          if(!output)
            {
-             cerr<<"AliL3Compress::CompressRemaining : Cannot open file "<<filename<<endl;
+             cerr<<"AliHLTCompress::CompressRemaining : Cannot open file "<<filename<<endl;
              exit(5);
            }
-         AliL3SpacePointData *cl = clusters[slice][patch];
+         AliHLTSpacePointData *cl = clusters[slice][patch];
          memset(npoints,0,nrows*sizeof(Int_t));
          
          UInt_t i;
@@ -503,7 +503,7 @@ void AliL3Compress::CompressRemaining(AliL3SpacePointData *clusters[36][6],UInt_
                  OutputBits(output,padrow,8);//Write padrow #
                  if(npoints[padrow] >= 1<<10)
                    {
-                     cerr<<"AliL3Compress::CompressRemaining : Too many remaining clusters "<<npoints[padrow]<<endl;
+                     cerr<<"AliHLTCompress::CompressRemaining : Too many remaining clusters "<<npoints[padrow]<<endl;
                      exit(5);
                    }
                  OutputBits(output,npoints[padrow],10);//Write number of clusters on this padrow
@@ -512,48 +512,48 @@ void AliL3Compress::CompressRemaining(AliL3SpacePointData *clusters[36][6],UInt_
              
              Float_t xyz[3] = {cl[i].fX,cl[i].fY,cl[i].fZ};
              Int_t sector,row,buff;
-             AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-             AliL3Transform::Global2Raw(xyz,sector,row);
+             AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+             AliHLTTransform::Global2Raw(xyz,sector,row);
              
-             Float_t padw = sqrt(cl[i].fSigmaY2) / AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(padrow));
-             Float_t timew = sqrt(cl[i].fSigmaZ2) / AliL3Transform::GetZWidth();
+             Float_t padw = sqrt(cl[i].fSigmaY2) / AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(padrow));
+             Float_t timew = sqrt(cl[i].fSigmaZ2) / AliHLTTransform::GetZWidth();
              
              //Check for saturation in the widths.
              //Basically only store a certain number of decimals here, and cut the widths which is higher:
-             if(padw >= (1<<AliL3DataCompressorHelper::GetNShapeBitsRemaining()) / AliL3DataCompressorHelper::GetPadPrecisionFactor())
-               padw = (1<<AliL3DataCompressorHelper::GetNShapeBitsRemaining()) / AliL3DataCompressorHelper::GetPadPrecisionFactor() - 1/AliL3DataCompressorHelper::GetPadPrecisionFactor();
-             if(timew >= (1<<AliL3DataCompressorHelper::GetNShapeBitsRemaining()) / AliL3DataCompressorHelper::GetTimePrecisionFactor())
-               timew = (1<<AliL3DataCompressorHelper::GetNShapeBitsRemaining()) / AliL3DataCompressorHelper::GetTimePrecisionFactor() - 1/AliL3DataCompressorHelper::GetTimePrecisionFactor();;
+             if(padw >= (1<<AliHLTDataCompressorHelper::GetNShapeBitsRemaining()) / AliHLTDataCompressorHelper::GetPadPrecisionFactor())
+               padw = (1<<AliHLTDataCompressorHelper::GetNShapeBitsRemaining()) / AliHLTDataCompressorHelper::GetPadPrecisionFactor() - 1/AliHLTDataCompressorHelper::GetPadPrecisionFactor();
+             if(timew >= (1<<AliHLTDataCompressorHelper::GetNShapeBitsRemaining()) / AliHLTDataCompressorHelper::GetTimePrecisionFactor())
+               timew = (1<<AliHLTDataCompressorHelper::GetNShapeBitsRemaining()) / AliHLTDataCompressorHelper::GetTimePrecisionFactor() - 1/AliHLTDataCompressorHelper::GetTimePrecisionFactor();;
              
              //Write pad
-             buff = (Int_t)rint(xyz[1]*AliL3DataCompressorHelper::GetPadPrecisionFactor());
+             buff = (Int_t)rint(xyz[1]*AliHLTDataCompressorHelper::GetPadPrecisionFactor());
              if(buff<0)
                {
-                 cerr<<"AliL3Compress:CompressRemaining : Wrong pad value "<<buff<<endl;
+                 cerr<<"AliHLTCompress:CompressRemaining : Wrong pad value "<<buff<<endl;
                  exit(5);
                }
-             OutputBits(output,buff,AliL3DataCompressorHelper::GetNPadBitsRemaining());
+             OutputBits(output,buff,AliHLTDataCompressorHelper::GetNPadBitsRemaining());
              
              //Write time
-             buff = (Int_t)rint(xyz[2]*AliL3DataCompressorHelper::GetTimePrecisionFactor());
+             buff = (Int_t)rint(xyz[2]*AliHLTDataCompressorHelper::GetTimePrecisionFactor());
              if(buff<0)
                {
-                 cerr<<"AliL3Compress:CompressRemaining : Wrong time value "<<buff<<endl;
+                 cerr<<"AliHLTCompress:CompressRemaining : Wrong time value "<<buff<<endl;
                  exit(5);
                }
-             OutputBits(output,buff,AliL3DataCompressorHelper::GetNTimeBitsRemaining());
+             OutputBits(output,buff,AliHLTDataCompressorHelper::GetNTimeBitsRemaining());
              
              //Write widths
-             buff = (Int_t)rint(padw*AliL3DataCompressorHelper::GetPadPrecisionFactor());
-             OutputBits(output,buff,AliL3DataCompressorHelper::GetNShapeBitsRemaining());
-             buff = (Int_t)rint(timew*AliL3DataCompressorHelper::GetTimePrecisionFactor());
-             OutputBits(output,buff,AliL3DataCompressorHelper::GetNShapeBitsRemaining());
+             buff = (Int_t)rint(padw*AliHLTDataCompressorHelper::GetPadPrecisionFactor());
+             OutputBits(output,buff,AliHLTDataCompressorHelper::GetNShapeBitsRemaining());
+             buff = (Int_t)rint(timew*AliHLTDataCompressorHelper::GetTimePrecisionFactor());
+             OutputBits(output,buff,AliHLTDataCompressorHelper::GetNShapeBitsRemaining());
              
              //Write charge 
              buff = cl[i].fCharge;
-             if(buff >= 1<<(AliL3DataCompressorHelper::GetNChargeBits()))
-               buff = (1<<(AliL3DataCompressorHelper::GetNChargeBits()))-1;
-             OutputBits(output,buff,AliL3DataCompressorHelper::GetNChargeBits());
+             if(buff >= 1<<(AliHLTDataCompressorHelper::GetNChargeBits()))
+               buff = (1<<(AliHLTDataCompressorHelper::GetNChargeBits()))-1;
+             OutputBits(output,buff,AliHLTDataCompressorHelper::GetNChargeBits());
            }
          
          CloseOutputBitFile(output);
@@ -563,7 +563,7 @@ void AliL3Compress::CompressRemaining(AliL3SpacePointData *clusters[36][6],UInt_
   delete [] npoints;
 }
 
-void AliL3Compress::ExpandRemaining(TempCluster **clusters,Int_t *ncl, Int_t /*maxpoints*/)
+void AliHLTCompress::ExpandRemaining(TempCluster **clusters,Int_t *ncl, Int_t /*maxpoints*/)
 {
   //Expand the remaining clusters stored using function CompressRemaining
   
@@ -595,21 +595,21 @@ void AliL3Compress::ExpandRemaining(TempCluster **clusters,Int_t *ncl, Int_t /*m
                  clusters[slice][ncl[slice]].fPadrow = padrow;
 
                  //Read pad
-                 buff = InputBits(input,AliL3DataCompressorHelper::GetNPadBitsRemaining());
-                 clusters[slice][ncl[slice]].fPad = (Float_t)buff/AliL3DataCompressorHelper::GetPadPrecisionFactor();
+                 buff = InputBits(input,AliHLTDataCompressorHelper::GetNPadBitsRemaining());
+                 clusters[slice][ncl[slice]].fPad = (Float_t)buff/AliHLTDataCompressorHelper::GetPadPrecisionFactor();
                  
                  //Read time
-                 buff = InputBits(input,AliL3DataCompressorHelper::GetNTimeBitsRemaining());
-                 clusters[slice][ncl[slice]].fTime = (Float_t)buff/AliL3DataCompressorHelper::GetTimePrecisionFactor();
+                 buff = InputBits(input,AliHLTDataCompressorHelper::GetNTimeBitsRemaining());
+                 clusters[slice][ncl[slice]].fTime = (Float_t)buff/AliHLTDataCompressorHelper::GetTimePrecisionFactor();
                  
                  //Read widths 
-                 buff = InputBits(input,AliL3DataCompressorHelper::GetNShapeBitsRemaining());
-                 clusters[slice][ncl[slice]].fSigmaY2 = pow((Float_t)buff/AliL3DataCompressorHelper::GetPadPrecisionFactor(),2);
-                 buff = InputBits(input,AliL3DataCompressorHelper::GetNShapeBitsRemaining());
-                 clusters[slice][ncl[slice]].fSigmaZ2 = pow((Float_t)buff/AliL3DataCompressorHelper::GetPadPrecisionFactor(),2);
+                 buff = InputBits(input,AliHLTDataCompressorHelper::GetNShapeBitsRemaining());
+                 clusters[slice][ncl[slice]].fSigmaY2 = pow((Float_t)buff/AliHLTDataCompressorHelper::GetPadPrecisionFactor(),2);
+                 buff = InputBits(input,AliHLTDataCompressorHelper::GetNShapeBitsRemaining());
+                 clusters[slice][ncl[slice]].fSigmaZ2 = pow((Float_t)buff/AliHLTDataCompressorHelper::GetPadPrecisionFactor(),2);
                  
                  //Read charge
-                 buff = InputBits(input,AliL3DataCompressorHelper::GetNChargeBits());
+                 buff = InputBits(input,AliHLTDataCompressorHelper::GetNChargeBits());
                  clusters[slice][ncl[slice]].fCharge = buff;
                  
                  ncl[slice]++;
@@ -621,10 +621,10 @@ void AliL3Compress::ExpandRemaining(TempCluster **clusters,Int_t *ncl, Int_t /*m
     }
 }
 
-void AliL3Compress::PrintCompRatio(ofstream *outfile)
+void AliHLTCompress::PrintCompRatio(ofstream *outfile)
 {
   // prints the compression ratio
-  AliL3MemHandler *mem = new AliL3MemHandler();
+  AliHLTMemHandler *mem = new AliHLTMemHandler();
   Char_t fname[1024];
   UInt_t remainSize=0,digitSize=0;
   for(Int_t i=0; i<36; i++)
@@ -655,13 +655,13 @@ void AliL3Compress::PrintCompRatio(ofstream *outfile)
   
   if(digitSize==0)
     {
-      cerr<<"AliL3Compress::PrintCompRatio : Zero digit size, not able to obtain comp. ratios!"<<endl;
+      cerr<<"AliHLTCompress::PrintCompRatio : Zero digit size, not able to obtain comp. ratios!"<<endl;
       return;
     }
   
   Float_t compratio = (Float_t)(compressSize + remainSize)/(Float_t)digitSize;
   Float_t entropy[3];
-  Int_t trackSize = GetEntropy(entropy[0],entropy[1],entropy[2])*sizeof(AliL3TrackModel);
+  Int_t trackSize = GetEntropy(entropy[0],entropy[1],entropy[2])*sizeof(AliHLTTrackModel);
   if(outfile)
     {
       ofstream &out = *outfile;
@@ -680,7 +680,7 @@ void AliL3Compress::PrintCompRatio(ofstream *outfile)
   cout<<"Entropy of residuals : "<<entropy[0]<<" "<<entropy[1]<<endl;
 }
 
-Int_t AliL3Compress::GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t &chargeEntropy)
+Int_t AliHLTCompress::GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t &chargeEntropy)
 {
   //Calculate the entropy of the quantized residuals in both directions
   
@@ -697,9 +697,9 @@ Int_t AliL3Compress::GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t
 
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
          if(!track->IsPresent(padrow)) continue;
          Int_t dpad = abs((Int_t)rint(track->GetClusterModel(padrow)->fDPad));
@@ -707,7 +707,7 @@ Int_t AliL3Compress::GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t
          Int_t dcharge = (Int_t)track->GetClusterModel(padrow)->fDCharge;
          if(dpad >= knmax || dtime >= knmax || dcharge >= knmax)
            {
-             cerr<<"AliL3Compress::GetEntropy : Quantization out of range: "<<dpad<<" "<<dtime<<" "<<dcharge<<endl;
+             cerr<<"AliHLTCompress::GetEntropy : Quantization out of range: "<<dpad<<" "<<dtime<<" "<<dcharge<<endl;
              break;
            }
          pads[dpad]++;
diff --git a/HLT/comp/AliHLTCompress.h b/HLT/comp/AliHLTCompress.h
new file mode 100644 (file)
index 0000000..92cae5d
--- /dev/null
@@ -0,0 +1,43 @@
+// @(#) $Id$
+
+#ifndef AliHLT_Compress
+#define AliHLT_Compress
+
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTDataCompressor.h"
+
+class AliHLTCompress {
+  
+ public:
+  AliHLTCompress();
+  AliHLTCompress(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
+  virtual ~AliHLTCompress();
+  
+  Bool_t WriteFile(AliHLTTrackArray *tracks,Char_t *filename=0);
+  Bool_t ReadFile(Char_t which,Char_t *filename=0);
+  virtual Bool_t CompressFile();
+  virtual Bool_t ExpandFile();
+  void CompressRemaining(AliHLTSpacePointData *points[36][6],UInt_t npoints[36][6]);
+  void ExpandRemaining(TempCluster **clusters,Int_t *ncl,Int_t maxclusters);
+  virtual void PrintCompRatio(STDOF *outfile=0);
+  Int_t GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t &chargeEntropy);
+  
+  AliHLTTrackArray *GetTracks() {return fTracks;}
+  
+ protected:
+  AliHLTTrackArray *fTracks; //! Array of tracks
+  Int_t fSlice; // Slice
+  Int_t fPatch; // Patch
+  Char_t fPath[100]; // Path to the files
+  Bool_t fWriteShape; // Flag to write the shape
+  Int_t fEvent; // Current event
+
+  
+  ClassDef(AliHLTCompress,1) 
+
+};
+
+typedef AliHLTCompress AliL3Compress; // for backward compatibility
+
+#endif
similarity index 76%
rename from HLT/comp/AliL3CompressAC.cxx
rename to HLT/comp/AliHLTCompressAC.cxx
index 368bc2acf667a90ab6d1c08bcdfddbdccb9c7f0e..6fb57acfd67d3a6d947bba12c408be28c00f687d 100644 (file)
@@ -4,7 +4,7 @@
 //*-- Copyright &copy ALICE HLT Group
 //_____________________________________________________________
 //
-//  AliL3CompressAC
+//  AliHLTCompressAC
 //
 // Compression class which performs Arithmetic Coding of the quantized residuals.
 // The implemented algorithm is inspired by the examples in The Data Compression Book 
 using namespace std;
 #endif
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3TrackArray.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Compress.h"
-#include "AliL3DataCompressorHelper.h"
-#include "AliL3CompressAC.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTCompress.h"
+#include "AliHLTDataCompressorHelper.h"
+#include "AliHLTCompressAC.h"
 
 
-ClassImp(AliL3CompressAC)
+ClassImp(AliHLTCompressAC)
 
-AliL3CompressAC::AliL3CompressAC()
+AliHLTCompressAC::AliHLTCompressAC()
 {
   // default constructor
   fCount=0;
@@ -39,8 +39,8 @@ AliL3CompressAC::AliL3CompressAC()
   fCode=0;
 }
 
-AliL3CompressAC::AliL3CompressAC(Int_t slice,Int_t patch,Char_t *path,Bool_t writeshape,Int_t event) :
-  AliL3Compress(slice,patch,path,writeshape,event)
+AliHLTCompressAC::AliHLTCompressAC(Int_t slice,Int_t patch,Char_t *path,Bool_t writeshape,Int_t event) :
+  AliHLTCompress(slice,patch,path,writeshape,event)
 {
   // constructor
   fCount=0;
@@ -53,13 +53,13 @@ AliL3CompressAC::AliL3CompressAC(Int_t slice,Int_t patch,Char_t *path,Bool_t wri
   fCode=0;
 }
 
-AliL3CompressAC::~AliL3CompressAC()
+AliHLTCompressAC::~AliHLTCompressAC()
 {
   // destructor
   ClearArrays();
 }
 
-void AliL3CompressAC::ClearArrays()
+void AliHLTCompressAC::ClearArrays()
 {
   // cleans all arrays
   fMax=0;
@@ -69,7 +69,7 @@ void AliL3CompressAC::ClearArrays()
     delete [] fTotals;
 }
 
-void AliL3CompressAC::BuildModel(BIT_FILE *output)
+void AliHLTCompressAC::BuildModel(BIT_FILE *output)
 {
   //Build the model from the input data, i.e. probability distributions of the quantized residuals.
   
@@ -80,18 +80,18 @@ void AliL3CompressAC::BuildModel(BIT_FILE *output)
   UInt_t * temp = new UInt_t[nmax];
   memset(&temp[0],0,nmax*sizeof(UInt_t));
 
-  AliL3TrackArray *tracks = GetTracks();
+  AliHLTTrackArray *tracks = GetTracks();
   for(Int_t t=0; t<tracks->GetNTracks(); t++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)tracks->GetCheckedTrack(t);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)tracks->GetCheckedTrack(t);
       if(!track) continue;
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
          if(!track->IsPresent(padrow)) continue;
          qres = abs((Int_t)rint(track->GetClusterModel(padrow)->fDPad));
          if(qres >= nmax)
            {
-             cerr<<"AliL3CompressAC::BuildModel() : Residual values seems way too big!"<<endl;
+             cerr<<"AliHLTCompressAC::BuildModel() : Residual values seems way too big!"<<endl;
              continue;
            }
          if(qres > fMax)
@@ -143,7 +143,7 @@ void AliL3CompressAC::BuildModel(BIT_FILE *output)
   delete [] temp;
 }
 
-void AliL3CompressAC::RebuildModel(BIT_FILE *input)
+void AliHLTCompressAC::RebuildModel(BIT_FILE *input)
 {
   //Rebuild the model from the counts written to the beginning of the compressed file.
   
@@ -154,11 +154,11 @@ void AliL3CompressAC::RebuildModel(BIT_FILE *input)
   FillTotals();
 }
 
-void AliL3CompressAC::FillTotals()
+void AliHLTCompressAC::FillTotals()
 {
   //Fill the array of totals, which is actually the model being used during encoding/decoding.
   if(fMax == 0)
-    cerr<<"AliL3CompressAC::FillTotals : max value is zero!"<<endl;
+    cerr<<"AliHLTCompressAC::FillTotals : max value is zero!"<<endl;
 
   fTotals = new UInt_t[fMax+3];//up to max, and one reserved for endofstream symbol
   
@@ -171,7 +171,7 @@ void AliL3CompressAC::FillTotals()
   fTotals[fMax+2] = fTotals[fMax+1]+1;//Used for the scale
 }
 
-void AliL3CompressAC::PrintTotals() const
+void AliHLTCompressAC::PrintTotals() const
 {
   // prints totals
   cout<<"Totals:"<<endl;
@@ -181,7 +181,7 @@ void AliL3CompressAC::PrintTotals() const
     }
 }
 
-void AliL3CompressAC::InitEncoder()
+void AliHLTCompressAC::InitEncoder()
 {
   // inits the encoder
   fLow = 0;
@@ -189,7 +189,7 @@ void AliL3CompressAC::InitEncoder()
   fUnderflowBits=0;
 }
 
-void AliL3CompressAC::InitDecoder(BIT_FILE *input)
+void AliHLTCompressAC::InitDecoder(BIT_FILE *input)
 {
   // inits the decoder
   fCode=0;
@@ -202,7 +202,7 @@ void AliL3CompressAC::InitDecoder(BIT_FILE *input)
   fHigh = 0xffff;
 }
 
-void AliL3CompressAC::ConvertIntToSymbol(Int_t value)
+void AliHLTCompressAC::ConvertIntToSymbol(Int_t value)
 {
   // converst integer to symbol
   UInt_t range = fHigh - fLow + 1;
@@ -210,7 +210,7 @@ void AliL3CompressAC::ConvertIntToSymbol(Int_t value)
   fLow = fLow + (UShort_t)((range*fTotals[value])/fTotals[fMax+2]);
 }
 
-UInt_t AliL3CompressAC::ConvertSymbolToInt()
+UInt_t AliHLTCompressAC::ConvertSymbolToInt()
 {
   // converts symbol to integer
   UInt_t range = (UInt_t)(fHigh-fLow) + 1;
@@ -222,7 +222,7 @@ UInt_t AliL3CompressAC::ConvertSymbolToInt()
   return j;
 }
 
-void AliL3CompressAC::EncodeSymbol(BIT_FILE *output)
+void AliHLTCompressAC::EncodeSymbol(BIT_FILE *output)
 {
   // encodes symbol
   while(1)
@@ -250,7 +250,7 @@ void AliL3CompressAC::EncodeSymbol(BIT_FILE *output)
     }
 }
 
-void AliL3CompressAC::RemoveSymbolFromStream(BIT_FILE *input,Int_t j)
+void AliHLTCompressAC::RemoveSymbolFromStream(BIT_FILE *input,Int_t j)
 {
   // remves symbol fro stream
   UInt_t range = (UInt_t)(fHigh-fLow)+1;
@@ -276,7 +276,7 @@ void AliL3CompressAC::RemoveSymbolFromStream(BIT_FILE *input,Int_t j)
     }
 }
 
-void AliL3CompressAC::FlushEncoder(BIT_FILE *output)
+void AliHLTCompressAC::FlushEncoder(BIT_FILE *output)
 {
   //Flush the encoder:
   OutputBit(output,fLow & 0x4000);
@@ -287,7 +287,7 @@ void AliL3CompressAC::FlushEncoder(BIT_FILE *output)
 }
 
 
-Bool_t AliL3CompressAC::CompressFile()
+Bool_t AliHLTCompressAC::CompressFile()
 {
   // comresses file
   Char_t fname[100];
@@ -305,24 +305,24 @@ Bool_t AliL3CompressAC::CompressFile()
   FILE *input = fopen(fname,"r");
   if(!input)
     {
-      cerr<<"AliL3CompressAC::CompressFileAC() : Error opening file: "<<fname<<endl;
+      cerr<<"AliHLTCompressAC::CompressFileAC() : Error opening file: "<<fname<<endl;
       return kFALSE;
     }
   
   BuildModel(output);
 
-  AliL3TrackModel track;
+  AliHLTTrackModel track;
   Int_t temp,power,i,j;
   
   fseek(input,0,SEEK_END);
   UInt_t size = ftell(input);
   rewind(input);
-  Int_t trackcount = size/(sizeof(AliL3TrackModel) + sizeof(AliL3ClusterModel)*AliL3Transform::GetNRows(fPatch));
+  Int_t trackcount = size/(sizeof(AliHLTTrackModel) + sizeof(AliHLTClusterModel)*AliHLTTransform::GetNRows(fPatch));
   
   //Write the number of tracks in the beginning of stream.
   fwrite(&trackcount,sizeof(Int_t),1,output->file);
   
-  AliL3ClusterModel **clusters = new AliL3ClusterModel*[trackcount];
+  AliHLTClusterModel **clusters = new AliHLTClusterModel*[trackcount];
   Int_t *clustercount = new Int_t[trackcount];
   i=0;
   
@@ -330,19 +330,19 @@ Bool_t AliL3CompressAC::CompressFile()
   //Store the clusters in memory for later encoding and storing.
   while(!feof(input))
     {
-      if(fread(&track,sizeof(AliL3TrackModel),1,input)!=1) break;
-      fwrite(&track,sizeof(AliL3TrackModel),1,output->file);
+      if(fread(&track,sizeof(AliHLTTrackModel),1,input)!=1) break;
+      fwrite(&track,sizeof(AliHLTTrackModel),1,output->file);
       
-      clusters[i] = new AliL3ClusterModel[AliL3Transform::GetNRows()];
+      clusters[i] = new AliHLTClusterModel[AliHLTTransform::GetNRows()];
       clustercount[i]=0;
       
       //Read in the clusters:
-      fread(clusters[i],sizeof(AliL3ClusterModel),AliL3Transform::GetNRows(fPatch),input);
+      fread(clusters[i],sizeof(AliHLTClusterModel),AliHLTTransform::GetNRows(fPatch),input);
       i++;
     }
   if(i != trackcount)
     {
-      cerr<<"AliL3CompressAC::CompressFile : Mismatching file size and trackcount "<<i<<" "<<trackcount<<endl;
+      cerr<<"AliHLTCompressAC::CompressFile : Mismatching file size and trackcount "<<i<<" "<<trackcount<<endl;
       exit(5);
     }
   fclose(input);
@@ -351,7 +351,7 @@ Bool_t AliL3CompressAC::CompressFile()
   for(i=0; i<trackcount; i++)
     {
       Int_t origslice=-1,slice;
-      for(j=0; j<AliL3Transform::GetNRows(fPatch); j++)
+      for(j=0; j<AliHLTTransform::GetNRows(fPatch); j++)
        {
          temp = (Int_t)clusters[i][j].fPresent;
          OutputBit(output,temp);
@@ -359,7 +359,7 @@ Bool_t AliL3CompressAC::CompressFile()
          
          if(clusters[i][j].fSlice<0 || clusters[i][j].fSlice>35)
            {
-             cerr<<"AliL3DataCompress::CompressFile : Fucked up slice number :"<<clusters[i][j].fSlice<<endl;
+             cerr<<"AliHLTDataCompress::CompressFile : Fucked up slice number :"<<clusters[i][j].fSlice<<endl;
              exit(5);
            }
          
@@ -399,12 +399,12 @@ Bool_t AliL3CompressAC::CompressFile()
          
          //Write charge information:
          temp = (Int_t)clusters[i][j].fDCharge;
-         power = 1<<(AliL3DataCompressorHelper::GetNChargeBits());
+         power = 1<<(AliHLTDataCompressorHelper::GetNChargeBits());
          if(abs(temp)>=power)
            {
              temp=power - 1;
            }
-         OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNChargeBits()));
+         OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNChargeBits()));
 
          //Write sign information of the residuals:
          temp = (Int_t)rint(clusters[i][j].fDTime);
@@ -426,24 +426,24 @@ Bool_t AliL3CompressAC::CompressFile()
                OutputBit(output,0);
              else
                OutputBit(output,1);
-             power = 1<<(AliL3DataCompressorHelper::GetNShapeBits()-1);
+             power = 1<<(AliHLTDataCompressorHelper::GetNShapeBits()-1);
              if(abs(temp) >= power)
                {
                  temp = power - 1;
                }
-             OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              
              temp = (Int_t)rint(clusters[i][j].fDSigmaZ);
              if(temp<0)
                OutputBit(output,0);
              else
                OutputBit(output,1);
-             power = 1<<(AliL3DataCompressorHelper::GetNShapeBits()-1);
+             power = 1<<(AliHLTDataCompressorHelper::GetNShapeBits()-1);
              if(abs(temp) >= power)
                {
                  temp=power - 1;
                }
-             OutputBits(output,abs(temp),(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             OutputBits(output,abs(temp),(AliHLTDataCompressorHelper::GetNShapeBits()-1));
            }
          clustercount[i]++;
        }
@@ -458,7 +458,7 @@ Bool_t AliL3CompressAC::CompressFile()
     {
       Int_t counter=0;
       
-      for(j=0; j<AliL3Transform::GetNRows(fPatch); j++)
+      for(j=0; j<AliHLTTransform::GetNRows(fPatch); j++)
        {
          if(!clusters[i][j].fPresent) continue;
          temp = abs((Int_t)rint(clusters[i][j].fDTime));
@@ -472,7 +472,7 @@ Bool_t AliL3CompressAC::CompressFile()
        }
       if(counter != clustercount[i])
        {
-         cerr<<"AliL3CompressAC::CompressFile : Mismatching clustercount "<<counter<<" "<<clustercount[i]<<endl;
+         cerr<<"AliHLTCompressAC::CompressFile : Mismatching clustercount "<<counter<<" "<<clustercount[i]<<endl;
          exit(5);
        }
 
@@ -494,7 +494,7 @@ Bool_t AliL3CompressAC::CompressFile()
   return kTRUE;
 }
 
-Bool_t AliL3CompressAC::ExpandFile()
+Bool_t AliHLTCompressAC::ExpandFile()
 {
   // expands file
   Char_t fname[100];
@@ -511,7 +511,7 @@ Bool_t AliL3CompressAC::ExpandFile()
   FILE *output = fopen(fname,"w");
   if(!output)
     {
-      cerr<<"AliL3Compress::ExpandFile() : Error opening file: "<<fname<<endl;
+      cerr<<"AliHLTCompress::ExpandFile() : Error opening file: "<<fname<<endl;
       return kFALSE;
     }
   
@@ -520,21 +520,21 @@ Bool_t AliL3CompressAC::ExpandFile()
   int trackcount,i,j;
   fread(&trackcount,sizeof(Int_t),1,input->file);
 
-  AliL3TrackModel *trackmodels = new AliL3TrackModel[trackcount];
-  AliL3ClusterModel **clusters = new AliL3ClusterModel*[trackcount];
+  AliHLTTrackModel *trackmodels = new AliHLTTrackModel[trackcount];
+  AliHLTClusterModel **clusters = new AliHLTClusterModel*[trackcount];
   Int_t *clustercount = new Int_t[trackcount];
 
-  fread(trackmodels,sizeof(AliL3TrackModel),trackcount,input->file);
+  fread(trackmodels,sizeof(AliHLTTrackModel),trackcount,input->file);
   
   for(i=0; i<trackcount; i++)
     {
-      clusters[i] = new AliL3ClusterModel[AliL3Transform::GetNRows(fPatch)];
+      clusters[i] = new AliHLTClusterModel[AliHLTTransform::GetNRows(fPatch)];
       clustercount[i]=0;
 
       //Read the fixed size variables:
       Int_t origslice=-1;
       Int_t temp,sign;
-      for(j=0; j<AliL3Transform::GetNRows(fPatch); j++)
+      for(j=0; j<AliHLTTransform::GetNRows(fPatch); j++)
        {
          //Read empty flag:
          temp = InputBit(input);
@@ -580,7 +580,7 @@ Bool_t AliL3CompressAC::ExpandFile()
                    }
                  if(origslice < 0 || origslice > 35)
                    {
-                     cerr<<"AliL3CompressAC::ExpandFile : Bad slice number "<<temp<<endl;
+                     cerr<<"AliHLTCompressAC::ExpandFile : Bad slice number "<<temp<<endl;
                      exit(5);
                    }
                  clusters[i][j].fSlice = origslice;
@@ -588,7 +588,7 @@ Bool_t AliL3CompressAC::ExpandFile()
            }
          
          //Read charge information:
-         temp=InputBits(input,(AliL3DataCompressorHelper::GetNChargeBits()));
+         temp=InputBits(input,(AliHLTDataCompressorHelper::GetNChargeBits()));
          clusters[i][j].fDCharge = temp;
          
          //Read sign information of the residuals:
@@ -607,13 +607,13 @@ Bool_t AliL3CompressAC::ExpandFile()
          if(fWriteShape)
            {
              sign = InputBit(input);
-             temp = InputBits(input,(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             temp = InputBits(input,(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              if(!sign)
                temp*=-1;
              clusters[i][j].fDSigmaY = temp;
              
              sign = InputBit(input);
-             temp = InputBits(input,(AliL3DataCompressorHelper::GetNShapeBits()-1));
+             temp = InputBits(input,(AliHLTDataCompressorHelper::GetNShapeBits()-1));
              if(!sign)
                temp*=-1;
              clusters[i][j].fDSigmaZ = temp;
@@ -628,7 +628,7 @@ Bool_t AliL3CompressAC::ExpandFile()
   for(i=0; i<trackcount; i++)
     {
       Int_t count=0;
-      for(j=0; j<AliL3Transform::GetNRows(fPatch); j++)
+      for(j=0; j<AliHLTTransform::GetNRows(fPatch); j++)
        {
          if(!clusters[i][j].fPresent) continue;
            
@@ -644,7 +644,7 @@ Bool_t AliL3CompressAC::ExpandFile()
 
       if(count != clustercount[i])
        {
-         cerr<<"AliL3CompressAC::ExpandFile : Mismatching clustercount "<<count<<" "<<clustercount[i]<<endl;
+         cerr<<"AliHLTCompressAC::ExpandFile : Mismatching clustercount "<<count<<" "<<clustercount[i]<<endl;
          exit(5);
        }
     }
@@ -652,15 +652,15 @@ Bool_t AliL3CompressAC::ExpandFile()
   //Now there should be a endofstream indicator, if not something went wrong during encoding/decoding.
   temp = ConvertSymbolToInt();
   if((UShort_t)temp != fMax + 1)
-    cerr<<"AliL3CompressAC::ExpandFile : Missing the endofstream indicator!"<<endl;
+    cerr<<"AliHLTCompressAC::ExpandFile : Missing the endofstream indicator!"<<endl;
   
   CloseInputBitFile(input);
 
   //Write everything to the uncompressed outfile:
   for(i=0; i<trackcount; i++)
     {
-      fwrite(&trackmodels[i],sizeof(AliL3TrackModel),1,output);
-      fwrite(clusters[i],AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel),1,output);
+      fwrite(&trackmodels[i],sizeof(AliHLTTrackModel),1,output);
+      fwrite(clusters[i],AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel),1,output);
     }
   
   fclose(output);
@@ -674,10 +674,10 @@ Bool_t AliL3CompressAC::ExpandFile()
   return kTRUE;
 }
 
-void AliL3CompressAC::PrintCompRatio(ofstream *outfile)
+void AliHLTCompressAC::PrintCompRatio(ofstream *outfile)
 {
   // pristc compression ratio
-  AliL3MemHandler *mem = new AliL3MemHandler();
+  AliHLTMemHandler *mem = new AliHLTMemHandler();
   Char_t fname[1024];
   UInt_t remainSize=0,digitSize=0;
   for(Int_t i=0; i<36; i++)
@@ -708,13 +708,13 @@ void AliL3CompressAC::PrintCompRatio(ofstream *outfile)
   
   if(digitSize==0)
     {
-      cerr<<"AliL3Compress::PrintCompRatio : Zero digit size, not able to obtain comp. ratios!"<<endl;
+      cerr<<"AliHLTCompress::PrintCompRatio : Zero digit size, not able to obtain comp. ratios!"<<endl;
       return;
     }
   
   Float_t compratio = (Float_t)(compressSize + remainSize)/(Float_t)digitSize;
   Float_t entropy[3];
-  Int_t trackSize = GetEntropy(entropy[0],entropy[1],entropy[2])*sizeof(AliL3TrackModel);
+  Int_t trackSize = GetEntropy(entropy[0],entropy[1],entropy[2])*sizeof(AliHLTTrackModel);
   if(outfile)
     {
       ofstream &out = *outfile;
similarity index 72%
rename from HLT/comp/AliL3CompressAC.h
rename to HLT/comp/AliHLTCompressAC.h
index 71e6f1d6be83dd61b8814bcb84ec07121a27e1fd..8c507b6c20f6547f91dc92a5d3189203d5c237f9 100644 (file)
@@ -1,17 +1,17 @@
 // @(#) $Id$
 
-#ifndef AliL3_CompressAC
-#define AliL3_CompressAC
+#ifndef AliHLT_CompressAC
+#define AliHLT_CompressAC
 
-#include "AliL3Compress.h"
+#include "AliHLTCompress.h"
 #include "bitio.h"
 
-class AliL3CompressAC : public AliL3Compress {
+class AliHLTCompressAC : public AliHLTCompress {
   
  public:
-  AliL3CompressAC();
-  AliL3CompressAC(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
-  virtual ~AliL3CompressAC();
+  AliHLTCompressAC();
+  AliHLTCompressAC(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
+  virtual ~AliHLTCompressAC();
   
   Bool_t CompressFile();
   Bool_t ExpandFile();
@@ -43,8 +43,10 @@ class AliL3CompressAC : public AliL3Compress {
   void RemoveSymbolFromStream(BIT_FILE *input,Int_t j);  
   void FlushEncoder(BIT_FILE *output);
   
-  ClassDef(AliL3CompressAC,1) 
+  ClassDef(AliHLTCompressAC,1) 
 
 };
 
+typedef AliHLTCompressAC AliL3CompressAC; // for backward compatibility
+
 #endif
similarity index 68%
rename from HLT/comp/AliL3DataCompressor.cxx
rename to HLT/comp/AliHLTDataCompressor.cxx
index cebd9e81b7cea7e9f63cca94d58145e18301d8ac..c507f5809899ec2c3e67bb4e3faaaaa89f0cfbe4 100644 (file)
@@ -4,27 +4,27 @@
 //*-- Copyright &copy ALICE HLT Group
 //_____________________________________________________________
 //
-//  AliL3DataCompression
+//  AliHLTDataCompression
 //
 // Interface class; binary <-> AliROOT handling of TPC data compression classes.
 //
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3CompressAC.h"
-#include "AliL3TrackArray.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3Benchmark.h"
-#include "AliL3ClusterFitter.h"
+#include "AliHLTLogging.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTCompressAC.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTBenchmark.h"
+#include "AliHLTClusterFitter.h"
 
 #ifdef use_aliroot
-#include "AliL3FileHandler.h"
+#include "AliHLTFileHandler.h"
 #include <AliTPCcluster.h>
 #include <AliTPCParamSR.h>
 #include <AliTPCDigitsArray.h>
@@ -43,8 +43,8 @@
 #include <TH2F.h>
 #endif
 
-#include "AliL3DataCompressorHelper.h"
-#include "AliL3DataCompressor.h"
+#include "AliHLTDataCompressorHelper.h"
+#include "AliHLTDataCompressor.h"
 #include <math.h>
 
 #if __GNUC__ == 3
@@ -52,9 +52,9 @@ using namespace std;
 #endif
 
 
-ClassImp(AliL3DataCompressor)
+ClassImp(AliHLTDataCompressor)
 
-AliL3DataCompressor::AliL3DataCompressor()
+AliHLTDataCompressor::AliHLTDataCompressor()
 {
   // default constructor
   fBenchmark=0;
@@ -67,14 +67,14 @@ AliL3DataCompressor::AliL3DataCompressor()
   fCompRatioFile=0;
   fNusedClusters=0;
   fNunusedClusters=0;
-  memset(fClusters,0,36*6*sizeof(AliL3SpacePointData*));
+  memset(fClusters,0,36*6*sizeof(AliHLTSpacePointData*));
 }
 
-AliL3DataCompressor::AliL3DataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape)
+AliHLTDataCompressor::AliHLTDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape)
 {
   // constructor
   strcpy(fPath,path);
-  fBenchmark = new AliL3Benchmark();
+  fBenchmark = new AliHLTBenchmark();
   fInputTracks=0;
   fKeepRemaining=keep;
   fWriteClusterShape = writeshape;
@@ -83,7 +83,7 @@ AliL3DataCompressor::AliL3DataCompressor(Char_t *path,Bool_t keep,Bool_t writesh
   fNusedClusters=0;
   fNunusedClusters=0;
   fNoCompression=kFALSE;
-  memset(fClusters,0,36*6*sizeof(AliL3SpacePointData*));
+  memset(fClusters,0,36*6*sizeof(AliHLTSpacePointData*));
 #ifdef use_root
   Char_t name[1024];
   sprintf(name,"rm -f %s/comp/*",path);//Clean the directory
@@ -92,7 +92,7 @@ AliL3DataCompressor::AliL3DataCompressor(Char_t *path,Bool_t keep,Bool_t writesh
   OpenOutputFile();
 }
 
-AliL3DataCompressor::~AliL3DataCompressor()
+AliHLTDataCompressor::~AliHLTDataCompressor()
 {
   // destructor
   if(fInputTracks)
@@ -109,17 +109,17 @@ AliL3DataCompressor::~AliL3DataCompressor()
   CloseOutputFile();
 }
 
-void AliL3DataCompressor::DoBench(Char_t *fname)
+void AliHLTDataCompressor::DoBench(Char_t *fname)
 {
   // does benchmarking
   fBenchmark->Analyze(fname);
 }
 
-void AliL3DataCompressor::OpenOutputFile()
+void AliHLTDataCompressor::OpenOutputFile()
 {
   // opens the output file
 #ifndef use_aliroot
-   LOG(AliL3Log::kError,"AliL3DataCompressor::OpenOutputFile","Version")
+   LOG(AliHLTLog::kError,"AliHLTDataCompressor::OpenOutputFile","Version")
      <<"You have to compile with use_aliroot flag in order to use this function"<<ENDLOG;
 #else
   Char_t filename[1024];
@@ -133,7 +133,7 @@ void AliL3DataCompressor::OpenOutputFile()
 
   sprintf(filename,"%s/alirunfile.root",fPath);
   TFile *f = TFile::Open(filename);
-  AliTPCParam *param = (AliTPCParam*)f->Get(AliL3Transform::GetParamName());
+  AliTPCParam *param = (AliTPCParam*)f->Get(AliHLTTransform::GetParamName());
   sprintf(filename,"%s/comp/AliTPCclusters.root",fPath);
   fOutputFile = TFile::Open(filename,"RECREATE");
   param->Write(param->GetTitle());
@@ -141,7 +141,7 @@ void AliL3DataCompressor::OpenOutputFile()
 #endif
 }
 
-void AliL3DataCompressor::CloseOutputFile()
+void AliHLTDataCompressor::CloseOutputFile()
 {
   // closes the output file
   if(fCompRatioFile)
@@ -162,12 +162,12 @@ void AliL3DataCompressor::CloseOutputFile()
   fOutputFile=0;
 }
 
-void AliL3DataCompressor::LoadData(Int_t event,Bool_t sp)
+void AliHLTDataCompressor::LoadData(Int_t event,Bool_t sp)
 {
   // Loads data
   fSinglePatch=sp;
   fEvent=event;
-  AliL3MemHandler *clusterfile[36][6];
+  AliHLTMemHandler *clusterfile[36][6];
   Char_t fname[1024];
   for(Int_t s=0; s<=35; s++)
     {
@@ -176,14 +176,14 @@ void AliL3DataCompressor::LoadData(Int_t event,Bool_t sp)
          if(fClusters[s][p])
            delete fClusters[s][p];
          fClusters[s][p] = 0;
-         clusterfile[s][p] = new AliL3MemHandler();
+         clusterfile[s][p] = new AliHLTMemHandler();
          if(fSinglePatch)
            sprintf(fname,"%s/cf/points_%d_%d_%d.raw",fPath,fEvent,s,-1);
          else
            sprintf(fname,"%s/cf/points_%d_%d_%d.raw",fPath,fEvent,s,p);
          clusterfile[s][p]->SetBinaryInput(fname);
          
-         fClusters[s][p] = (AliL3SpacePointData*)clusterfile[s][p]->Allocate();
+         fClusters[s][p] = (AliHLTSpacePointData*)clusterfile[s][p]->Allocate();
          clusterfile[s][p]->Binary2Memory(fNcl[s][p],fClusters[s][p]);
          clusterfile[s][p]->CloseBinaryInput();
          
@@ -194,29 +194,29 @@ void AliL3DataCompressor::LoadData(Int_t event,Bool_t sp)
   
   //cout<<endl<<"Reading from offlinecf"<<endl<<endl;
   sprintf(fname,"%s/cf/tracks_%d.raw",fPath,fEvent);
-  AliL3MemHandler *tfile = new AliL3MemHandler();
+  AliHLTMemHandler *tfile = new AliHLTMemHandler();
   tfile->SetBinaryInput(fname);
   
   if(fInputTracks)
     delete fInputTracks;
-  fInputTracks = new AliL3TrackArray();
+  fInputTracks = new AliHLTTrackArray();
   tfile->Binary2TrackArray(fInputTracks);
   tfile->CloseBinaryInput();
   delete tfile;
 }
 
-void AliL3DataCompressor::FillData(Int_t minHits,Bool_t expand)
+void AliHLTDataCompressor::FillData(Int_t minHits,Bool_t expand)
 {
   
   //Fill the track data into track and cluster structures, and write to file.
   //Preparation for compressing it.
   
   cout<<"Filling data; "<<fInputTracks->GetNTracks()<<" tracks"<<endl;
-  AliL3TrackArray *comptracks = new AliL3TrackArray("AliL3ModelTrack");
+  AliHLTTrackArray *comptracks = new AliHLTTrackArray("AliHLTModelTrack");
   fInputTracks->QSort();
   for(Int_t i=0; i<fInputTracks->GetNTracks(); i++)
     {
-      AliL3Track *intrack = fInputTracks->GetCheckedTrack(i);
+      AliHLTTrack *intrack = fInputTracks->GetCheckedTrack(i);
       if(!intrack) continue;
 
       if(intrack->GetNHits()<minHits) break;
@@ -224,7 +224,7 @@ void AliL3DataCompressor::FillData(Int_t minHits,Bool_t expand)
       
       intrack->CalculateHelix();
       
-      AliL3ModelTrack *outtrack = (AliL3ModelTrack*)comptracks->NextTrack();
+      AliHLTModelTrack *outtrack = (AliHLTModelTrack*)comptracks->NextTrack();
       outtrack->SetNHits(intrack->GetNHits());
       outtrack->SetRowRange(intrack->GetFirstRow(),intrack->GetLastRow());
       outtrack->SetFirstPoint(intrack->GetFirstPointX(),intrack->GetFirstPointY(),intrack->GetFirstPointZ());
@@ -247,16 +247,16 @@ void AliL3DataCompressor::FillData(Int_t minHits,Bool_t expand)
          UInt_t pos = id&0x3fffff;          
 
          //UInt_t size;
-         AliL3SpacePointData *points = fClusters[slice][patch];//->GetDataPointer(size);
+         AliHLTSpacePointData *points = fClusters[slice][patch];//->GetDataPointer(size);
          Float_t xyz[3] = {points[pos].fX,points[pos].fY,points[pos].fZ};
          Int_t padrow = points[pos].fPadRow;
 
          //Calculate the crossing point between track and padrow
          Float_t angle = 0; //Perpendicular to padrow in local coordinates
-         AliL3Transform::Local2GlobalAngle(&angle,slice);
-         if(!intrack->CalculateReferencePoint(angle,AliL3Transform::Row2X(padrow)))
+         AliHLTTransform::Local2GlobalAngle(&angle,slice);
+         if(!intrack->CalculateReferencePoint(angle,AliHLTTransform::Row2X(padrow)))
            {
-             cerr<<"AliL3DataCompressor::FillData : Error in crossing point calc on slice "<<slice<<" row "<<padrow<<endl;
+             cerr<<"AliHLTDataCompressor::FillData : Error in crossing point calc on slice "<<slice<<" row "<<padrow<<endl;
              break;
              //outtrack->Print(kFALSE);
              //exit(5);
@@ -265,9 +265,9 @@ void AliL3DataCompressor::FillData(Int_t minHits,Bool_t expand)
          Float_t xyzCross[3] = {intrack->GetPointX(),intrack->GetPointY(),intrack->GetPointZ()};
 
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-         AliL3Transform::Global2Raw(xyzCross,sector,row);
-         AliL3Transform::Global2Raw(xyz,sector,row);
+         AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+         AliHLTTransform::Global2Raw(xyzCross,sector,row);
+         AliHLTTransform::Global2Raw(xyz,sector,row);
          
          outtrack->SetPadHit(padrow,xyzCross[1]);
          outtrack->SetTimeHit(padrow,xyzCross[2]);
@@ -277,34 +277,34 @@ void AliL3DataCompressor::FillData(Int_t minHits,Bool_t expand)
 
          if(fWriteClusterShape)
            {
-             Int_t patch = AliL3Transform::GetPatch(padrow);
-             Float_t sigmaY2 = points[pos].fSigmaY2 / pow(AliL3Transform::GetPadPitchWidth(patch),2);
-             Float_t sigmaZ2 = points[pos].fSigmaZ2 / pow(AliL3Transform::GetZWidth(),2);
+             Int_t patch = AliHLTTransform::GetPatch(padrow);
+             Float_t sigmaY2 = points[pos].fSigmaY2 / pow(AliHLTTransform::GetPadPitchWidth(patch),2);
+             Float_t sigmaZ2 = points[pos].fSigmaZ2 / pow(AliHLTTransform::GetZWidth(),2);
              outtrack->SetCluster(padrow,xyz[1],xyz[2],points[pos].fCharge,sigmaY2,sigmaZ2,3);
            }
          else
            outtrack->SetCluster(padrow,xyz[1],xyz[2],points[pos].fCharge,0,0,3);
          
-         //IMPORTANT: Set the slice in which cluster is, you need it in AliL3ModelTrack::FillTrack!
+         //IMPORTANT: Set the slice in which cluster is, you need it in AliHLTModelTrack::FillTrack!
          outtrack->GetClusterModel(padrow)->fSlice=slice;
          points[pos].fCharge = 0;//Mark this cluster as used.
          fNusedClusters++;
        }
       if(!expand)
-       outtrack->SetNClusters(AliL3Transform::GetNRows(-1));
+       outtrack->SetNClusters(AliHLTTransform::GetNRows(-1));
     }
   if(expand)
     ExpandTrackData(comptracks);
   
   cout<<"Writing "<<comptracks->GetNTracks()<<" tracks to file"<<endl;
-  AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+  AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
   comp->WriteFile(comptracks);
   delete comp;
   delete comptracks;
   
 }
 
-void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
+void AliHLTDataCompressor::ExpandTrackData(AliHLTTrackArray *tracks)
 {
   //Loop over tracks and try to assign unused clusters.
   //Only clusters which are closer than the max. residual are taken.
@@ -312,15 +312,15 @@ void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
   cout<<"Expanding "<<tracks->GetNTracks()<<" tracks"<<endl;
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)tracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
-      if(track->GetNHits() == AliL3Transform::GetNRows()) continue;
+      if(track->GetNHits() == AliHLTTransform::GetNRows()) continue;
       
       Int_t nhits = track->GetNHits();
       //cout<<"Expanding track with "<<nhits<<" clusters"<<endl;
       
       Int_t lastSlice=-1;
-      for(Int_t padrow=AliL3Transform::GetNRows()-1; padrow>=0; padrow--)
+      for(Int_t padrow=AliHLTTransform::GetNRows()-1; padrow>=0; padrow--)
        {
          if(track->IsPresent(padrow))
            {
@@ -348,31 +348,31 @@ void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
              continue;
          
          //UInt_t size;
-         AliL3SpacePointData *points = fClusters[lastSlice][0];//->GetDataPointer(size);
+         AliHLTSpacePointData *points = fClusters[lastSlice][0];//->GetDataPointer(size);
          
          Float_t angle = 0;
-         AliL3Transform::Local2GlobalAngle(&angle,lastSlice);
-         if(!track->CalculateReferencePoint(angle,AliL3Transform::Row2X(padrow)))
+         AliHLTTransform::Local2GlobalAngle(&angle,lastSlice);
+         if(!track->CalculateReferencePoint(angle,AliHLTTransform::Row2X(padrow)))
            continue;
          Float_t xyzCross[3] = {track->GetPointX(),track->GetPointY(),track->GetPointZ()};
-         AliL3Transform::Global2LocHLT(xyzCross,lastSlice);
+         AliHLTTransform::Global2LocHLT(xyzCross,lastSlice);
          Float_t mindist = 123456789;
-         AliL3SpacePointData *closest=0;
+         AliHLTSpacePointData *closest=0;
          for(UInt_t j=0; j<fNcl[lastSlice][0]; j++)
            {
              if(points[j].fCharge == 0) continue;// || points[j].fPadRow != padrow) continue;
              if(points[j].fPadRow < padrow) continue;
              if(points[j].fPadRow > padrow) break;
              Float_t xyz[3] = {points[j].fX,points[j].fY,points[j].fZ};
-             AliL3Transform::Global2LocHLT(xyz,lastSlice);
+             AliHLTTransform::Global2LocHLT(xyz,lastSlice);
              
              //Check for overflow:
-             Int_t temp = (Int_t)rint((xyzCross[1]-xyz[1])/AliL3DataCompressorHelper::GetXYResidualStep(padrow));
-             if( abs(temp) > 1<<(AliL3DataCompressorHelper::GetNPadBits()-1))
+             Int_t temp = (Int_t)rint((xyzCross[1]-xyz[1])/AliHLTDataCompressorHelper::GetXYResidualStep(padrow));
+             if( abs(temp) > 1<<(AliHLTDataCompressorHelper::GetNPadBits()-1))
                continue;
              
-             temp = (Int_t)rint((xyzCross[2]-xyz[2])/AliL3DataCompressorHelper::GetZResidualStep(padrow));
-             if( abs(temp) > 1<<(AliL3DataCompressorHelper::GetNTimeBits()-1))
+             temp = (Int_t)rint((xyzCross[2]-xyz[2])/AliHLTDataCompressorHelper::GetZResidualStep(padrow));
+             if( abs(temp) > 1<<(AliHLTDataCompressorHelper::GetNTimeBits()-1))
                continue;
              
              Float_t dist = sqrt( pow(xyzCross[1]-xyz[1],2) + pow(xyzCross[2]-xyz[2],2) );
@@ -386,9 +386,9 @@ void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
            {
              Int_t sector,row;
              Float_t xyz[3] = {closest->fX,closest->fY,closest->fZ};
-             AliL3Transform::Slice2Sector(lastSlice,padrow,sector,row);
-             AliL3Transform::Local2Raw(xyzCross,sector,row);
-             AliL3Transform::Global2Raw(xyz,sector,row);
+             AliHLTTransform::Slice2Sector(lastSlice,padrow,sector,row);
+             AliHLTTransform::Local2Raw(xyzCross,sector,row);
+             AliHLTTransform::Global2Raw(xyz,sector,row);
              
              track->SetPadHit(padrow,xyzCross[1]);
              track->SetTimeHit(padrow,xyzCross[2]);
@@ -398,21 +398,21 @@ void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
                  Float_t angle = track->GetCrossingAngle(padrow,lastSlice);
                  track->SetCrossingAngleLUT(padrow,angle);
                  track->CalculateClusterWidths(padrow,kTRUE);
-                 Int_t patch = AliL3Transform::GetPatch(padrow);
-                 Float_t sigmaY2 = closest->fSigmaY2 / pow(AliL3Transform::GetPadPitchWidth(patch),2);
-                 Float_t sigmaZ2 = closest->fSigmaZ2 / pow(AliL3Transform::GetZWidth(),2);
+                 Int_t patch = AliHLTTransform::GetPatch(padrow);
+                 Float_t sigmaY2 = closest->fSigmaY2 / pow(AliHLTTransform::GetPadPitchWidth(patch),2);
+                 Float_t sigmaZ2 = closest->fSigmaZ2 / pow(AliHLTTransform::GetZWidth(),2);
                  track->SetCluster(padrow,xyz[1],xyz[2],closest->fCharge,sigmaY2,sigmaZ2,3);
                }
              else
                track->SetCluster(padrow,xyz[1],xyz[2],closest->fCharge,0,0,3);
              nhits++;
              
-             //IMPORTANT: Set the slice in which cluster is, you need it in AliL3ModelTrack::FillTrack!
+             //IMPORTANT: Set the slice in which cluster is, you need it in AliHLTModelTrack::FillTrack!
              track->GetClusterModel(padrow)->fSlice=lastSlice;
              closest->fCharge = 0;//Mark this cluster as used.
            }
        }
-      track->SetNClusters(AliL3Transform::GetNRows());
+      track->SetNClusters(AliHLTTransform::GetNRows());
       //cout<<"Track was assigned "<<nhits<<" clusters"<<endl;
     }
   
@@ -420,14 +420,14 @@ void AliL3DataCompressor::ExpandTrackData(AliL3TrackArray *tracks)
 
 
 
-void AliL3DataCompressor::DetermineMinBits()
+void AliHLTDataCompressor::DetermineMinBits()
 {
   //Make a pass through the modelled data (after FillData has been done) to determine
   //how many bits is needed to encode the residuals _without_ overflows.
   
-  AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+  AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
   comp->ReadFile('m');
-  AliL3TrackArray *tracks = comp->GetTracks();
+  AliHLTTrackArray *tracks = comp->GetTracks();
   if(tracks->GetNTracks()==0)
     {
       delete comp;
@@ -438,16 +438,16 @@ void AliL3DataCompressor::DetermineMinBits()
   Int_t dpad,dtime,charge,dsigmaY,dsigmaZ,npadbits,ntimebits,nchargebits,nshapebits=0;
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)tracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
          if(!track->IsPresent(padrow)) continue;
-         dpad = AliL3DataCompressorHelper::Abs(AliL3DataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDPad));
-         dtime = AliL3DataCompressorHelper::Abs(AliL3DataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDTime));
-         charge = AliL3DataCompressorHelper::Abs((Int_t)track->GetClusterModel(padrow)->fDCharge);
-         dsigmaY = AliL3DataCompressorHelper::Abs(AliL3DataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDSigmaY));
-         dsigmaZ = AliL3DataCompressorHelper::Abs(AliL3DataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDSigmaZ));
+         dpad = AliHLTDataCompressorHelper::Abs(AliHLTDataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDPad));
+         dtime = AliHLTDataCompressorHelper::Abs(AliHLTDataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDTime));
+         charge = AliHLTDataCompressorHelper::Abs((Int_t)track->GetClusterModel(padrow)->fDCharge);
+         dsigmaY = AliHLTDataCompressorHelper::Abs(AliHLTDataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDSigmaY));
+         dsigmaZ = AliHLTDataCompressorHelper::Abs(AliHLTDataCompressorHelper::Nint(track->GetClusterModel(padrow)->fDSigmaZ));
          if(dpad > maxpad)
            maxpad=dpad;
          if(dtime > maxtime)
@@ -467,12 +467,12 @@ void AliL3DataCompressor::DetermineMinBits()
   if(fWriteClusterShape)
     nshapebits = (Int_t)ceil(log(Double_t(maxsigma))/log(2.)) + 1;
   
-  nchargebits = AliL3DataCompressorHelper::GetNChargeBits();
+  nchargebits = AliHLTDataCompressorHelper::GetNChargeBits();
   cout<<"Updating bitnumbers; pad "<<npadbits<<" time "<<ntimebits<<" charge "<<nchargebits<<" shape "<<nshapebits<<endl;
-  AliL3DataCompressorHelper::SetBitNumbers(npadbits,ntimebits,nchargebits,nshapebits);
+  AliHLTDataCompressorHelper::SetBitNumbers(npadbits,ntimebits,nchargebits,nshapebits);
 }
 
-void AliL3DataCompressor::WriteRemaining(Bool_t select)
+void AliHLTDataCompressor::WriteRemaining(Bool_t select)
 {
   //Write remaining clusters (not assigned to any tracks) to file
 
@@ -485,13 +485,13 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
   
   if(!fSinglePatch)
     {
-      cerr<<"AliL3Compressor::WriteRemaining : You have to modify this function when not running singlepatch"<<endl;
+      cerr<<"AliHLTCompressor::WriteRemaining : You have to modify this function when not running singlepatch"<<endl;
       return;
     }
   if(!fNoCompression)
     {
       cout<<"Compressing remaining clusters "<<endl;
-      AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+      AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
       comp->CompressRemaining(fClusters,fNcl);
       delete comp;
       return;
@@ -499,7 +499,7 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
   else
     {
       cout<<"Writing remaining clusters"<<endl;
-      Int_t nrows = AliL3Transform::GetNRows();
+      Int_t nrows = AliHLTTransform::GetNRows();
       Int_t *npoints = new Int_t[nrows];
       Char_t filename[1024];
       for(Int_t i=0; i<=35; i++)
@@ -510,11 +510,11 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
              FILE *outfile = fopen(filename,"w");
              if(!outfile)
                {
-                 cerr<<"AliL3DataCompressor::WriteRemaining : Cannot open file "<<filename<<endl;
+                 cerr<<"AliHLTDataCompressor::WriteRemaining : Cannot open file "<<filename<<endl;
                  exit(5);
                }
 
-             AliL3SpacePointData *points = fClusters[i][patch];
+             AliHLTSpacePointData *points = fClusters[i][patch];
          
              memset(npoints,0,nrows*sizeof(Int_t));
          
@@ -525,7 +525,7 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
                }
              Int_t size =0;
              Byte_t *data = 0;
-             AliL3RemainingRow *tempPt=0;
+             AliHLTRemainingRow *tempPt=0;
          
              Int_t lastRow = -2;
              Int_t localcounter=0;
@@ -541,12 +541,12 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
                        {
                          if(!tempPt)
                            {
-                             cerr<<"AliL3DataCompressor::WriteRemaining : Zero row pointer "<<endl;
+                             cerr<<"AliHLTDataCompressor::WriteRemaining : Zero row pointer "<<endl;
                              exit(5);
                            }
                          if(localcounter != tempPt->fNClusters)
                            {
-                             cerr<<"AliL3DataCompressor::WriteRemaining : Mismatching clustercounter "<<localcounter<<" "
+                             cerr<<"AliHLTDataCompressor::WriteRemaining : Mismatching clustercounter "<<localcounter<<" "
                                  <<(Int_t)tempPt->fNClusters<<endl;
                              exit(5);
                            }
@@ -555,9 +555,9 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
                        }
                      if(data)
                        delete [] data;
-                     size = sizeof(AliL3RemainingRow) + npoints[padrow]*sizeof(AliL3RemainingCluster);
+                     size = sizeof(AliHLTRemainingRow) + npoints[padrow]*sizeof(AliHLTRemainingCluster);
                      data = new Byte_t[size];
-                     tempPt = (AliL3RemainingRow*)data;
+                     tempPt = (AliHLTRemainingRow*)data;
                  
                      localcounter=0;
                      tempPt->fPadRow = padrow;
@@ -566,18 +566,18 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
                    }
                  if(localcounter >= npoints[padrow])
                    {
-                     cerr<<"AliL3DataCompressor::WriteRemaining : Cluster counter out of range: "
+                     cerr<<"AliHLTDataCompressor::WriteRemaining : Cluster counter out of range: "
                          <<localcounter<<" "<<npoints[padrow]<<endl;
                      exit(5);
                    }
              
                  Float_t xyz[3] = {points[j].fX,points[j].fY,points[j].fZ};
                  Int_t sector,row;
-                 AliL3Transform::Slice2Sector(i,padrow,sector,row);
-                 AliL3Transform::Global2Raw(xyz,sector,row);
+                 AliHLTTransform::Slice2Sector(i,padrow,sector,row);
+                 AliHLTTransform::Global2Raw(xyz,sector,row);
                  
-                 Float_t padw = points[j].fSigmaY2 / pow(AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(padrow)),2);
-                 Float_t timew = points[j].fSigmaZ2 / pow(AliL3Transform::GetZWidth(),2);
+                 Float_t padw = points[j].fSigmaY2 / pow(AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(padrow)),2);
+                 Float_t timew = points[j].fSigmaZ2 / pow(AliHLTTransform::GetZWidth(),2);
                  tempPt->fClusters[localcounter].fPad = xyz[1];
                  tempPt->fClusters[localcounter].fTime = xyz[2];
                  tempPt->fClusters[localcounter].fCharge = points[j].fCharge;
@@ -598,7 +598,7 @@ void AliL3DataCompressor::WriteRemaining(Bool_t select)
     }  
 }
 
-void AliL3DataCompressor::SelectRemainingClusters()
+void AliHLTDataCompressor::SelectRemainingClusters()
 {
   //Select which remaining clusters to write in addition to the compressed data.
   //In particular one can here make sure that "important" clusters are not missed:
@@ -613,20 +613,20 @@ void AliL3DataCompressor::SelectRemainingClusters()
   //intact.....
   
   cout<<"Cleaning up clusters"<<endl;
-  Int_t nrows = AliL3Transform::GetNRows();
+  Int_t nrows = AliHLTTransform::GetNRows();
   Int_t gap=(Int_t)(0.125*nrows), shift=(Int_t)(0.5*gap);
   
   for(Int_t slice=0; slice<36; slice++)
     {
-      AliL3SpacePointData *points = fClusters[slice][0];
+      AliHLTSpacePointData *points = fClusters[slice][0];
       for(UInt_t i=0; i<fNcl[slice][0]; i++)
        {
          if(points[i].fCharge == 0) continue; //Already removed
          Int_t padrow = (Int_t)points[i].fPadRow;
          
          //Check the widths (errors) of the cluster, and remove big bastards:
-         Float_t padw = sqrt(points[i].fSigmaY2) / AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(padrow));
-         Float_t timew = sqrt(points[i].fSigmaZ2) / AliL3Transform::GetZWidth();
+         Float_t padw = sqrt(points[i].fSigmaY2) / AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(padrow));
+         Float_t timew = sqrt(points[i].fSigmaZ2) / AliHLTTransform::GetZWidth();
          if(padw >= 2.55 || timew >= 2.55)//Because we use 1 byte to store
            {
              points[i].fCharge = 0;
@@ -635,15 +635,15 @@ void AliL3DataCompressor::SelectRemainingClusters()
 
          Float_t xyz[3] = {points[i].fX,points[i].fY,points[i].fZ};
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-         AliL3Transform::Global2Raw(xyz,sector,row);
+         AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+         AliHLTTransform::Global2Raw(xyz,sector,row);
          
          if(padrow >= nrows-1-gap-shift) continue;//save all the clusters in this region
          
          //if(padrow >= nrows-1-shift) continue;
 
          //Save the clusters at the borders:
-         //if(xyz[1] < 3 || xyz[1] >= AliL3Transform::GetNPads(padrow)-4)
+         //if(xyz[1] < 3 || xyz[1] >= AliHLTTransform::GetNPads(padrow)-4)
          // continue;
 
          //Save clusters on padrows used for offline seeding:
@@ -658,28 +658,28 @@ void AliL3DataCompressor::SelectRemainingClusters()
   
 }
 
-void AliL3DataCompressor::CompressAndExpand(Bool_t arithmeticCoding)
+void AliHLTDataCompressor::CompressAndExpand(Bool_t arithmeticCoding)
 {
   //Read tracks/clusters from file, compress data and uncompress it. Write compression rates to file.
   if(fNoCompression)
     return;
   
   cout<<"Compressing and expanding data"<<endl;
-  AliL3Compress *comp = 0;
+  AliHLTCompress *comp = 0;
   if(arithmeticCoding)
-    comp = new AliL3CompressAC(-1,-1,fPath,fWriteClusterShape,fEvent);
+    comp = new AliHLTCompressAC(-1,-1,fPath,fWriteClusterShape,fEvent);
   else
-    comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+    comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
   comp->CompressFile();
   comp->ExpandFile();
   comp->PrintCompRatio(fCompRatioFile);
   delete comp;
   
   ofstream &out = *fCompRatioFile;
-  out<<AliL3DataCompressorHelper::GetNPadBits()<<' '<<AliL3DataCompressorHelper::GetNTimeBits()<<' '
-     <<AliL3DataCompressorHelper::GetNChargeBits()<<' '<<AliL3DataCompressorHelper::GetNShapeBits()<<' '
-     <<AliL3DataCompressorHelper::GetNPadBitsRemaining()<<' '<<AliL3DataCompressorHelper::GetNTimeBitsRemaining()<<' '
-     <<AliL3DataCompressorHelper::GetNShapeBitsRemaining()<<endl;
+  out<<AliHLTDataCompressorHelper::GetNPadBits()<<' '<<AliHLTDataCompressorHelper::GetNTimeBits()<<' '
+     <<AliHLTDataCompressorHelper::GetNChargeBits()<<' '<<AliHLTDataCompressorHelper::GetNShapeBits()<<' '
+     <<AliHLTDataCompressorHelper::GetNPadBitsRemaining()<<' '<<AliHLTDataCompressorHelper::GetNTimeBitsRemaining()<<' '
+     <<AliHLTDataCompressorHelper::GetNShapeBitsRemaining()<<endl;
   /*
   //Write the ratio between used and unused clusters to comp file:
   out<<fNusedClusters<<' '<<fNunusedClusters<<endl;
@@ -687,14 +687,14 @@ void AliL3DataCompressor::CompressAndExpand(Bool_t arithmeticCoding)
 }
 
 
-void AliL3DataCompressor::RestoreData(Bool_t remainingOnly)
+void AliHLTDataCompressor::RestoreData(Bool_t remainingOnly)
 {
   //Restore the uncompressed data together with the remaining clusters,
   //and write to a final cluster file which serves as an input to the
   //final offline tracker.
   
 #ifndef use_aliroot
-   LOG(AliL3Log::kError,"AliL3DataCompressor::RestoreData","Version")
+   LOG(AliHLTLog::kError,"AliHLTDataCompressor::RestoreData","Version")
      <<"You have to compile with use_aliroot flag in order to use this function"<<ENDLOG;
 #else
 
@@ -719,16 +719,16 @@ void AliL3DataCompressor::RestoreData(Bool_t remainingOnly)
   sprintf(filename,"%s/digitfile.root",fPath);
   TFile *rootfile = TFile::Open(filename);
   rootfile->cd();
-  AliTPCParam *param = (AliTPCParam*)rootfile->Get(AliL3Transform::GetParamName());
+  AliTPCParam *param = (AliTPCParam*)rootfile->Get(AliHLTTransform::GetParamName());
 
   AliTPCDigitsArray *darray = new AliTPCDigitsArray();
   darray->Setup(param);
   darray->SetClass("AliSimDigits");
-  sprintf(filename,"TreeD_%s_%d",AliL3Transform::GetParamName(),fEvent);
+  sprintf(filename,"TreeD_%s_%d",AliHLTTransform::GetParamName(),fEvent);
   Bool_t ok = darray->ConnectTree(filename);
   if(!ok)
     {
-      cerr<<"AliL3DataCompressor::RestoreData : Problems connecting tree"<<endl;
+      cerr<<"AliHLTDataCompressor::RestoreData : Problems connecting tree"<<endl;
       return;
     }
 
@@ -754,35 +754,35 @@ void AliL3DataCompressor::RestoreData(Bool_t remainingOnly)
 
       Int_t falseid=0;
       Int_t counter=0;
-      for(Int_t padrow=AliL3Transform::GetFirstRow(-1); padrow<=AliL3Transform::GetLastRow(-1); padrow++)
+      for(Int_t padrow=AliHLTTransform::GetFirstRow(-1); padrow<=AliHLTTransform::GetLastRow(-1); padrow++)
        {
          Int_t sec,row;
-         AliL3Transform::Slice2Sector(slice,padrow,sec,row);
+         AliHLTTransform::Slice2Sector(slice,padrow,sec,row);
          AliTPCClustersRow *clrow=carray->CreateRow(sec,row);
          AliSimDigits *digits = (AliSimDigits*)darray->LoadRow(sec,row);
          digits->ExpandBuffer();
          digits->ExpandTrackBuffer();
-         Int_t patch = AliL3Transform::GetPatch(padrow);
+         Int_t patch = AliHLTTransform::GetPatch(padrow);
          while(counter < ncl[slice] && clPt[counter]->fPadrow == padrow)
            {
              Float_t temp[3];
-             AliL3Transform::Raw2Local(temp,sec,row,clPt[counter]->fPad,clPt[counter]->fTime);
+             AliHLTTransform::Raw2Local(temp,sec,row,clPt[counter]->fPad,clPt[counter]->fTime);
              
              AliTPCcluster *c = new AliTPCcluster();
              c->SetY(temp[1]);
              c->SetZ(temp[2]);
              c->SetQ(clPt[counter]->fCharge);
              
-             c->SetSigmaY2(clPt[counter]->fSigmaY2*pow(AliL3Transform::GetPadPitchWidth(patch),2));
-             c->SetSigmaZ2(clPt[counter]->fSigmaZ2*pow(AliL3Transform::GetZWidth(),2));
-             Int_t pad = AliL3DataCompressorHelper::Nint(clPt[counter]->fPad);
-             Int_t time = AliL3DataCompressorHelper::Nint(clPt[counter]->fTime);
+             c->SetSigmaY2(clPt[counter]->fSigmaY2*pow(AliHLTTransform::GetPadPitchWidth(patch),2));
+             c->SetSigmaZ2(clPt[counter]->fSigmaZ2*pow(AliHLTTransform::GetZWidth(),2));
+             Int_t pad = AliHLTDataCompressorHelper::Nint(clPt[counter]->fPad);
+             Int_t time = AliHLTDataCompressorHelper::Nint(clPt[counter]->fTime);
              
              if(pad < 0)
                pad=0;
-             if(pad >= AliL3Transform::GetNPads(padrow))
-               pad = AliL3Transform::GetNPads(padrow)-1;
-             if(time < 0 || time >= AliL3Transform::GetNTimeBins())
+             if(pad >= AliHLTTransform::GetNPads(padrow))
+               pad = AliHLTTransform::GetNPads(padrow)-1;
+             if(time < 0 || time >= AliHLTTransform::GetNTimeBins())
                cerr<<"row "<<padrow<<" pad "<<pad<<" time "<<time<<endl;
              
              for(Int_t lab=0; lab<3; lab++)
@@ -797,7 +797,7 @@ void AliL3DataCompressor::RestoreData(Bool_t remainingOnly)
                  if(lab==0 && c->GetLabel(0) < 0)
                    {
                      falseid++;
-                     //AliL3Transform::Local2Global(temp,slice);
+                     //AliHLTTransform::Local2Global(temp,slice);
                      //cout<<"slice "<<slice<<" padrow "<<padrow<<" y "<<temp[1]<<" z "<<temp[2]<<" label "<<c->GetLabel(0)<<endl;
                    }
                }
@@ -833,10 +833,10 @@ void AliL3DataCompressor::RestoreData(Bool_t remainingOnly)
 #endif
 }
 
-void AliL3DataCompressor::ReadUncompressedData(TempCluster **clusters,Int_t *ncl,const Int_t kmaxpoints)
+void AliHLTDataCompressor::ReadUncompressedData(TempCluster **clusters,Int_t *ncl,const Int_t kmaxpoints)
 {
   // Reads uncompressed data  
-  AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+  AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
   if(fNoCompression)
     {
       cout<<endl<<"Reading unmodified data, no compression has been done here!!!!"<<endl<<endl;
@@ -848,16 +848,16 @@ void AliL3DataCompressor::ReadUncompressedData(TempCluster **clusters,Int_t *ncl
       comp->ReadFile('u');
     }
   
-  AliL3TrackArray *tracks = comp->GetTracks();
+  AliHLTTrackArray *tracks = comp->GetTracks();
   
   //Float_t totcounter=0,pcounter=0,tcounter=0;
   Int_t charge;
   Float_t pad,time,sigmaY2,sigmaZ2;
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)tracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
-      for(Int_t padrow=0; padrow < AliL3Transform::GetNRows(-1); padrow++)
+      for(Int_t padrow=0; padrow < AliHLTTransform::GetNRows(-1); padrow++)
        {
          if(!track->IsPresent(padrow)) continue;
          track->GetPad(padrow,pad);
@@ -867,16 +867,16 @@ void AliL3DataCompressor::ReadUncompressedData(TempCluster **clusters,Int_t *ncl
          track->GetSigmaZ2(padrow,sigmaZ2);
          Int_t slice = track->GetClusterModel(padrow)->fSlice;
          /*
-           if(pad < -1 || pad > AliL3Transform::GetNPads(padrow) || time < -1 || time > AliL3Transform::GetNTimeBins())
+           if(pad < -1 || pad > AliHLTTransform::GetNPads(padrow) || time < -1 || time > AliHLTTransform::GetNTimeBins())
            {
-           cerr<<"AliL3DataCompressor::ReadUncompressData : Wrong pad "<<pad<<" or time "<<time<<" on row "<<padrow<<" track index "<<i<<endl;
+           cerr<<"AliHLTDataCompressor::ReadUncompressData : Wrong pad "<<pad<<" or time "<<time<<" on row "<<padrow<<" track index "<<i<<endl;
            track->Print();
            exit(5);
            }
          */
          if(ncl[slice] >= kmaxpoints)
            {
-             cerr<<"AliL3DataCompressor::ReadUncompressedData : Too many clusters"<<endl;
+             cerr<<"AliHLTDataCompressor::ReadUncompressedData : Too many clusters"<<endl;
              exit(5);
            }
          clusters[slice][ncl[slice]].fPad = pad;
@@ -892,20 +892,20 @@ void AliL3DataCompressor::ReadUncompressedData(TempCluster **clusters,Int_t *ncl
   delete comp;
 }
 
-void AliL3DataCompressor::ReadRemaining(TempCluster **clusters,Int_t *ncl,const Int_t kmaxpoints)
+void AliHLTDataCompressor::ReadRemaining(TempCluster **clusters,Int_t *ncl,const Int_t kmaxpoints)
 {
   // reads remaining clusters  
   cout<<"Reading remaining clusters "<<endl;
   if(!fNoCompression)
     {
-      AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+      AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
       comp->ExpandRemaining(clusters,ncl,kmaxpoints);
       delete comp;
       return;
     }
   else
     {
-      AliL3MemHandler mem;
+      AliHLTMemHandler mem;
       Char_t filename[1024];
       for(Int_t slice=0; slice<=35; slice++)
        {
@@ -914,45 +914,45 @@ void AliL3DataCompressor::ReadRemaining(TempCluster **clusters,Int_t *ncl,const
              sprintf(filename,"%s/comp/remains_%d_%d_%d.raw",fPath,fEvent,slice,-1);
          
              mem.SetBinaryInput(filename);
-             AliL3RemainingRow *tempPt = (AliL3RemainingRow*)mem.Allocate();
+             AliHLTRemainingRow *tempPt = (AliHLTRemainingRow*)mem.Allocate();
          
              Int_t nrows=0;
              FILE *infile = mem.GetFilePointer();
              while(!feof(infile))
                {
                  Byte_t *dPt = (Byte_t*)tempPt;
-                 if(fread(tempPt,sizeof(AliL3RemainingRow),1,infile)!=1) break;
+                 if(fread(tempPt,sizeof(AliHLTRemainingRow),1,infile)!=1) break;
              
-                 dPt += sizeof(AliL3RemainingRow);
+                 dPt += sizeof(AliHLTRemainingRow);
              
-                 Int_t size = sizeof(AliL3RemainingCluster)*tempPt->fNClusters;
+                 Int_t size = sizeof(AliHLTRemainingCluster)*tempPt->fNClusters;
              
                  fread(dPt,size,1,infile);
                  dPt += size;
-                 tempPt = (AliL3RemainingRow*)dPt;
+                 tempPt = (AliHLTRemainingRow*)dPt;
                  nrows++;
                }
          
              mem.CloseBinaryInput();
              UInt_t dummy;
-             tempPt = (AliL3RemainingRow*)mem.GetDataPointer(dummy);
+             tempPt = (AliHLTRemainingRow*)mem.GetDataPointer(dummy);
          
              for(Int_t i=0; i<nrows; i++)
                {
-                 AliL3RemainingCluster *points = tempPt->fClusters;
+                 AliHLTRemainingCluster *points = tempPt->fClusters;
                  Int_t padrow = (Int_t)tempPt->fPadRow;
                  //Int_t sector,row;
-                 //AliL3Transform::Slice2Sector(slice,padrow,sector,row);
+                 //AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
                  //cout<<"Loading slice "<<slice<<" row "<<padrow<<" with "<<(Int_t)tempPt->fNClusters<<" clusters "<<endl;
                  for(Int_t j=0; j<tempPt->fNClusters; j++)
                    {
                  
-                     //Float_t xyz[3] = {AliL3Transform::Row2X(padrow),points[j].fY,points[j].fZ};
-                     //AliL3Transform::Local2Raw(xyz,sector,row);
+                     //Float_t xyz[3] = {AliHLTTransform::Row2X(padrow),points[j].fY,points[j].fZ};
+                     //AliHLTTransform::Local2Raw(xyz,sector,row);
                  
                      if(ncl[slice] >= kmaxpoints)
                        {
-                         cerr<<"AliL3DataCompressor::ReadRemaining : Too many clusters"<<endl;
+                         cerr<<"AliHLTDataCompressor::ReadRemaining : Too many clusters"<<endl;
                          exit(5);
                        }
                      //cout<<"slice "<<slice<<" padrow "<<padrow<<" pad "<<xyz[1]<<" time "<<xyz[2]<<endl;
@@ -966,9 +966,9 @@ void AliL3DataCompressor::ReadRemaining(TempCluster **clusters,Int_t *ncl,const
                      ncl[slice]++;
                    }
                  Byte_t *dPt = (Byte_t*)tempPt;
-                 Int_t size = sizeof(AliL3RemainingRow) + tempPt->fNClusters*sizeof(AliL3RemainingCluster);
+                 Int_t size = sizeof(AliHLTRemainingRow) + tempPt->fNClusters*sizeof(AliHLTRemainingCluster);
                  dPt += size;
-                 tempPt = (AliL3RemainingRow*)dPt;
+                 tempPt = (AliHLTRemainingRow*)dPt;
                }
          
              mem.Free();
@@ -977,7 +977,7 @@ void AliL3DataCompressor::ReadRemaining(TempCluster **clusters,Int_t *ncl,const
     }
 }
 
-void AliL3DataCompressor::QSort(TempCluster **a, Int_t first, Int_t last)
+void AliHLTDataCompressor::QSort(TempCluster **a, Int_t first, Int_t last)
 {
   // Implementation of quick sort
   static TempCluster *tmp;
@@ -1016,7 +1016,7 @@ void AliL3DataCompressor::QSort(TempCluster **a, Int_t first, Int_t last)
    }
 }
 
-Int_t AliL3DataCompressor::Compare(TempCluster *a,TempCluster *b)
+Int_t AliHLTDataCompressor::Compare(TempCluster *a,TempCluster *b)
 {
   // compares two clusters
   if(a->fPadrow < b->fPadrow) return -1;
similarity index 74%
rename from HLT/comp/AliL3DataCompressor.h
rename to HLT/comp/AliHLTDataCompressor.h
index a67bcf3b117a9a69f432c42a1aa1c908dd1f7972..7effe6cbdd7d5324dbb01c608ac5f5f2ed4a76de 100644 (file)
@@ -1,14 +1,14 @@
 // @(#) $Id$
 
-#ifndef AliL3_DataCompressor
-#define AliL3_DataCompressor
+#ifndef AliHLT_DataCompressor
+#define AliHLT_DataCompressor
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3SpacePointData;
-class AliL3Benchmark;
-class AliL3TrackArray;
-class AliL3Track;
+class AliHLTSpacePointData;
+class AliHLTBenchmark;
+class AliHLTTrackArray;
+class AliHLTTrack;
 
 #ifdef use_root
 class TH2F;
@@ -24,12 +24,12 @@ struct TempCluster {
   Int_t fPadrow; // Pad row
 };
 
-class AliL3DataCompressor {
+class AliHLTDataCompressor {
   
  public:
-  AliL3DataCompressor();
-  AliL3DataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape);
-  virtual ~AliL3DataCompressor();
+  AliHLTDataCompressor();
+  AliHLTDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape);
+  virtual ~AliHLTDataCompressor();
   
   virtual void LoadData(Int_t event,Bool_t sp=kTRUE);
   virtual void FillData(Int_t minhits,Bool_t expand);
@@ -56,9 +56,9 @@ class AliL3DataCompressor {
   Bool_t fNoCompression; //Just process the data through the chain, but do not compress. (input=output). Mostly for debugging...
 
  private:
-  AliL3Benchmark *fBenchmark;    //! Benchmark
-  AliL3TrackArray *fInputTracks; //! Array of input tracks
-  AliL3SpacePointData *fClusters[36][6]; //! Array of pointers to clusters
+  AliHLTBenchmark *fBenchmark;    //! Benchmark
+  AliHLTTrackArray *fInputTracks; //! Array of input tracks
+  AliHLTSpacePointData *fClusters[36][6]; //! Array of pointers to clusters
   ofstream *fCompRatioFile;      //! Stream to write the ration between use and unused clusters
 #ifdef use_root
   TFile *fOutputFile;            //! Output file
@@ -68,7 +68,7 @@ class AliL3DataCompressor {
   UInt_t fNcl[36][6]; // Array containing numbers of clusters
    
   void SelectRemainingClusters();
-  void ExpandTrackData(AliL3TrackArray *tracks);
+  void ExpandTrackData(AliHLTTrackArray *tracks);
   void ReadUncompressedData(TempCluster **clusters,Int_t *ncl,const Int_t maxpoints);
   void ReadRemaining(TempCluster **clusters,Int_t *ncl,const Int_t maxpoints);
   void QSort(TempCluster **a, Int_t first, Int_t last);
@@ -76,8 +76,10 @@ class AliL3DataCompressor {
   void OpenOutputFile();
   void CloseOutputFile();
   
-  ClassDef(AliL3DataCompressor,1) 
+  ClassDef(AliHLTDataCompressor,1) 
 
 };
 
+typedef AliHLTDataCompressor AliL3DataCompressor; // for backward compatibility
+
 #endif
diff --git a/HLT/comp/AliHLTDataCompressorHelper.cxx b/HLT/comp/AliHLTDataCompressorHelper.cxx
new file mode 100644 (file)
index 0000000..8d80fe0
--- /dev/null
@@ -0,0 +1,170 @@
+// @(#) $Id$
+
+// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
+//*-- Copyright &copy ALICE HLT Group
+
+#include "AliHLTStandardIncludes.h"
+
+#include "AliHLTRootTypes.h"
+#include "AliHLTTransform.h"
+
+#include "AliHLTDataCompressorHelper.h"
+
+#if __GNUC__ >= 3
+using namespace std;
+#endif
+
+//_____________________________________________________________
+//
+//  AliHLTDataCompression
+//
+// Interface class; binary <-> AliROOT handling of TPC data compression classes.
+//
+
+
+ClassImp(AliHLTDataCompressorHelper)
+
+
+Int_t AliHLTDataCompressorHelper::fgNumTimeBits = 12;
+Int_t AliHLTDataCompressorHelper::fgNumPadBits = 12;
+Int_t AliHLTDataCompressorHelper::fgNumChargeBits = 14;
+Int_t AliHLTDataCompressorHelper::fgNumShapeBits = 14;
+Float_t AliHLTDataCompressorHelper::fgXYResidualStep1 = 0.03;
+Float_t AliHLTDataCompressorHelper::fgXYResidualStep2 = 0.03;
+Float_t AliHLTDataCompressorHelper::fgXYResidualStep3 = 0.03;
+Float_t AliHLTDataCompressorHelper::fgZResidualStep1 = 0.05;
+Float_t AliHLTDataCompressorHelper::fgZResidualStep2 = 0.05;
+Float_t AliHLTDataCompressorHelper::fgZResidualStep3 = 0.05;
+Float_t AliHLTDataCompressorHelper::fgXYWidthStep = 0.005;
+Float_t AliHLTDataCompressorHelper::fgZWidthStep = 0.005;
+Int_t AliHLTDataCompressorHelper::fgClusterCharge = 100;
+Int_t AliHLTDataCompressorHelper::fgNumPadBitsRemaining = 18;
+Int_t AliHLTDataCompressorHelper::fgNumTimeBitsRemaining = 19;
+Int_t AliHLTDataCompressorHelper::fgNumShapeBitsRemaining = 11;
+
+void AliHLTDataCompressorHelper::SetBitNumbers(Int_t pad,Int_t time,Int_t charge,Int_t shape)
+{
+  // sets the numbers of bits
+  fgNumPadBits = pad;
+  fgNumTimeBits = time;
+  fgNumChargeBits = charge;
+  fgNumShapeBits = shape;
+}
+
+void AliHLTDataCompressorHelper::SetTransverseResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width)
+{
+  // sets the transverse resolution
+  fgXYResidualStep1 = res1;
+  fgXYResidualStep2 = res2;
+  fgXYResidualStep3 = res3;
+  fgXYWidthStep = width;
+}
+
+void AliHLTDataCompressorHelper::SetLongitudinalResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width)
+{
+  // sets the longitudinal resolution
+  fgZResidualStep1 = res1;
+  fgZResidualStep2 = res2;
+  fgZResidualStep3 = res3;
+  fgZWidthStep = width;
+}
+
+void AliHLTDataCompressorHelper::SetRemainingBitNumbers(Int_t pad,Int_t time,Int_t shape)
+{
+  // sets the numbers of remaining bits
+  fgNumPadBitsRemaining = pad;
+  fgNumTimeBitsRemaining = time;
+  fgNumShapeBitsRemaining = shape;
+}
+
+Float_t AliHLTDataCompressorHelper::GetXYResidualStep(Int_t row) 
+{
+  // gets the XY residual step
+  if(row < AliHLTTransform::GetNRowLow())
+    return fgXYResidualStep1;
+  else if(row < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1())
+    return fgXYResidualStep2;
+  else if(row < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1() + AliHLTTransform::GetNRowUp2())
+    return fgXYResidualStep3;
+  else
+    {
+      cerr<<"AliHLTDataCompressorHelper::GetXYResidualStep : Wrong row number "<<row<<endl;
+      return -1;
+    }
+}
+
+Float_t AliHLTDataCompressorHelper::GetZResidualStep(Int_t row) 
+{
+  // gets the Z residual step
+  if(row < AliHLTTransform::GetNRowLow())
+    return fgZResidualStep1;
+  else if(row < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1())
+    return fgZResidualStep2;
+  else if(row < AliHLTTransform::GetNRowLow() + AliHLTTransform::GetNRowUp1() + AliHLTTransform::GetNRowUp2())
+    return fgZResidualStep3;
+  else
+    {
+      cerr<<"AliHLTDataCompressorHelper::GetXYResidualStep : Wrong row number "<<row<<endl;
+      return -1;
+    }
+}
+
+Float_t AliHLTDataCompressorHelper::GetPadPrecisionFactor()
+{
+  // gets pad precision factor
+  Int_t nbits = fgNumPadBitsRemaining;
+  if(nbits >=21)
+    return 10000;
+  if(nbits >= 18)
+    return 1000;
+  if(nbits >= 14) 
+    return 100;
+  if(nbits >= 11)
+    return 10;
+  if(nbits >= 8)
+    return 1;
+  else 
+    {
+      cerr<<"AliHLTDataCompressorHelper::GetRemainingPadFactor : Too few bits for the pad direction: "<<nbits<<endl;
+      return 1;
+    }
+}
+
+Float_t AliHLTDataCompressorHelper::GetTimePrecisionFactor()
+{
+  // gest time precision factor
+  Int_t nbits = fgNumTimeBitsRemaining;
+  if(nbits >=23)
+    return 10000;
+  if(nbits >= 19)
+    return 1000;
+  if(nbits >= 16) 
+    return 100;
+  if(nbits >= 13)
+    return 10;
+  if(nbits >= 9)
+    return 1;
+  else 
+    {
+      cerr<<"AliHLTDataCompressorHelper::GetRemainingPadFactor : Too few bits for the pad direction: "<<nbits<<endl;
+      return 1;
+    }
+}
+
+
+Int_t AliHLTDataCompressorHelper::Nint(Double_t x)
+{
+   // Round to nearest integer. Rounds half integers 
+   // to the nearest even integer.
+
+   Int_t i=0;
+   if (x >= 0) {
+      i = Int_t(x + 0.5);
+      if (x + 0.5 == Double_t(i) && i & 1) i--;
+   } else {
+      i = Int_t(x - 0.5);
+      if (x - 0.5 == Double_t(i) && i & 1) i++;
+
+   }
+   return i;
+}
similarity index 88%
rename from HLT/comp/AliL3DataCompressorHelper.h
rename to HLT/comp/AliHLTDataCompressorHelper.h
index 58b5e5ffbc5a8da545e78959bb8c705cd0e1770f..88085df664f260bcfb90f7407ce10f313a8194cb 100644 (file)
@@ -1,14 +1,14 @@
 // @(#) $Id$
 
-#ifndef AliL3_DataCompressorHelper
-#define AliL3_DataCompressorHelper
+#ifndef AliHLT_DataCompressorHelper
+#define AliHLT_DataCompressorHelper
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3DataCompressorHelper {
+class AliHLTDataCompressorHelper {
   
  public:
-  virtual ~AliL3DataCompressorHelper() {}
+  virtual ~AliHLTDataCompressorHelper() {}
 
   static void SetBitNumbers(Int_t pad,Int_t time,Int_t charge,Int_t shape);
   static void SetTransverseResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width=0.005);
@@ -54,8 +54,10 @@ class AliL3DataCompressorHelper {
   static Int_t fgClusterCharge; // Cluster charge
 
 
-  ClassDef(AliL3DataCompressorHelper,1) 
+  ClassDef(AliHLTDataCompressorHelper,1) 
 
 };
 
+typedef AliHLTDataCompressorHelper AliL3DataCompressorHelper; // for backward compatibility
+
 #endif
similarity index 99%
rename from HLT/comp/AliL3FitUtilities.c
rename to HLT/comp/AliHLTFitUtilities.c
index 3639874c2ba914df360184590a25b16ab7b1689b..485359809c72cd113ef359fe0ed36694ab4dc291 100644 (file)
@@ -4,7 +4,7 @@
 #include <stdlib.h>
 #include <math.h>
 #include <setjmp.h>
-#include "AliL3FitUtilities.h"
+#include "AliHLTFitUtilities.h"
 
 jmp_buf env;
 
similarity index 96%
rename from HLT/comp/AliL3FitUtilities.h
rename to HLT/comp/AliHLTFitUtilities.h
index 9e71163094220b6a876d915c1244e2bb36ec1c31..6b22e367c47fc27b50ef0ff1145b359dfcb75eee 100644 (file)
@@ -1,7 +1,7 @@
 /*@(#) $Id$*/
 
-#ifndef AliL3FitUtilities
-#define AliL3FitUtilities
+#ifndef AliHLTFitUtilities
+#define AliHLTFitUtilities
 
 /*This we do because this file is read both with c and c++ compiler, 
   and extern "C" is needed only in case of c++. */
diff --git a/HLT/comp/AliHLTModelTrack.cxx b/HLT/comp/AliHLTModelTrack.cxx
new file mode 100644 (file)
index 0000000..7867c89
--- /dev/null
@@ -0,0 +1,683 @@
+// @(#) $Id$
+
+// Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
+//*-- Copyright &copy ALICE HLT Group
+//_____________________________________________________________
+// AliHLTModelTrack
+//
+// 
+
+
+#include "AliHLTStandardIncludes.h"
+
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVertex.h"
+#include "AliHLTDataCompressorHelper.h"
+
+#include "AliHLTModelTrack.h"
+
+#if __GNUC__ >= 3
+using namespace std;
+#endif
+
+ClassImp(AliHLTModelTrack)
+
+AliHLTModelTrack::AliHLTModelTrack() 
+{
+  // default constructor
+  fNClusters = 0;
+  fClusters = 0;
+  fOverlap = 0;
+  fPad=0;
+  fTime=0;
+  fNoverlaps=0;
+  fClusterCharge=0;
+  fTrackModel=0;
+  fCrossingAngle=0;
+  fParSigmaY2=0;
+  fParSigmaZ2=0;
+  fArraysCreated=kFALSE;
+}
+
+
+AliHLTModelTrack::~AliHLTModelTrack()
+{
+  // destructor
+  DeleteArrays();
+}
+
+void AliHLTModelTrack::DeleteArrays()
+{
+  // deletes all arrays
+  if(fClusters)
+    delete [] fClusters;
+  if(fPad)
+    delete [] fPad;
+  if(fTime)
+    delete [] fTime;
+  if(fCrossingAngle)
+    delete [] fCrossingAngle;
+  if(fParSigmaY2)
+    delete [] fParSigmaY2;
+  if(fParSigmaZ2)
+    delete [] fParSigmaZ2;
+  if(fTrackModel)
+    delete fTrackModel;
+  if(fNoverlaps)
+    delete [] fNoverlaps;
+  if(fOverlap)
+    {
+      for(Int_t i=0; i<AliHLTTransform::GetNRows(fPatch); i++)
+       delete [] fOverlap[i];
+      delete [] fOverlap;
+    }
+  fArraysCreated=kFALSE;
+}
+
+void AliHLTModelTrack::Init(Int_t /*slice*/,Int_t patch)
+{
+  // Initialization
+  if(fArraysCreated)
+    {               
+      DeleteArrays();
+    }
+  fNClusters=AliHLTTransform::GetNRows(patch);
+  fPatch=patch;
+  Int_t nrows = AliHLTTransform::GetNRows(fPatch);
+  fClusters = new AliHLTClusterModel[nrows];
+  fPad = new Float_t[nrows];
+  fTime = new Float_t[nrows];
+  fCrossingAngle = new Float_t[nrows];
+  fParSigmaY2 = new Float_t[nrows];
+  fParSigmaZ2 = new Float_t[nrows];
+  fTrackModel = new AliHLTTrackModel;
+  
+  fOverlap = new Int_t*[nrows];
+  fNoverlaps = new Int_t[nrows];
+  fMaxOverlaps = 5;
+  
+  memset(fNoverlaps,0,nrows*sizeof(Int_t));
+  memset(fClusters,0,nrows*sizeof(AliHLTClusterModel));
+  memset(fPad,0,nrows*sizeof(Float_t));
+  memset(fTime,0,nrows*sizeof(Float_t));
+  memset(fCrossingAngle,0,nrows*sizeof(Float_t));
+  memset(fParSigmaY2,0,nrows*sizeof(Float_t));
+  memset(fParSigmaZ2,0,nrows*sizeof(Float_t));
+  memset(fTrackModel,0,sizeof(AliHLTTrackModel));
+  for(Int_t i=0; i<nrows; i++)
+    {
+      fOverlap[i] = new Int_t[fMaxOverlaps];
+      for(Int_t j=0; j<fMaxOverlaps; j++)
+       fOverlap[i][j]=-1;
+      fClusters[i].fSlice = -1;
+    }
+  fArraysCreated=kTRUE;
+}
+
+
+
+void AliHLTModelTrack::CalculateClusterWidths(Int_t row,Bool_t parametrize)
+{
+  //Cluster widths
+  
+  Float_t xyz[3];
+  Int_t sr,lr;
+  Int_t index = row - AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::CalculcateClusterWidths : Wrond index "<<index<<" row "<<row<<endl;
+      return;
+    }
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  AliHLTTransform::Slice2Sector(0,row,sr,lr);
+  AliHLTTransform::Raw2Local(xyz,sr,lr,GetPadHit(row),GetTimeHit(row));
+  fParSigmaY2[index] = AliHLTTransform::GetParSigmaY2(row,xyz[2],GetCrossingAngleLUT(row));
+  fParSigmaZ2[index] = AliHLTTransform::GetParSigmaZ2(row,xyz[2],GetTgl());
+  
+  if(parametrize)
+    {
+      fParSigmaY2[index] = (fParSigmaY2[index] + (1./12)*pow(AliHLTTransform::GetPadPitchWidth(patch),2) );
+      fParSigmaY2[index] *= 0.108;
+      if(patch<2)
+       fParSigmaY2[index] *= 2.07;
+     
+      fParSigmaZ2[index] = (fParSigmaZ2[index] + (1./12)*pow(AliHLTTransform::GetZWidth(),2) );
+      fParSigmaZ2[index] *= 0.169;
+      if(patch<2)
+       fParSigmaZ2[index] *= 1.77;
+    }
+  
+  //convert to raw coordinates:
+  fParSigmaY2[index] /= pow(AliHLTTransform::GetPadPitchWidth(patch),2);
+  fParSigmaZ2[index] /= pow(AliHLTTransform::GetZWidth(),2);
+}
+
+void AliHLTModelTrack::SetCluster(Int_t row,Float_t fpad,Float_t ftime,Float_t charge,
+                                Float_t sigmaY2,Float_t sigmaZ2,Int_t npads)
+{
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  
+  //First bit: Cluster is present or not
+  //Second bit: Cluster was set, meaning an fit attempt was done (if true)
+  
+  cl->fPresent |= 0x2; //set second bit to true, because a fit attempt has been made
+  
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  if(!charge || npads == 1)
+    {
+      cl->fPresent &= ~0x1; //set first bit to false
+    }
+  else
+    {
+      cl->fPresent|=0x1;//set first bit to true
+      cl->fDPad = (fpad - GetPadHit(row))/(AliHLTDataCompressorHelper::GetXYResidualStep(row)/AliHLTTransform::GetPadPitchWidth(patch));
+      cl->fDTime = (ftime - GetTimeHit(row))/(AliHLTDataCompressorHelper::GetZResidualStep(row)/AliHLTTransform::GetZWidth());
+      cl->fDCharge = charge;
+      if(sigmaY2==0 && sigmaZ2==0)
+       {
+         cl->fDSigmaY=0;//if width is zero, shape is not supposed to be written
+         cl->fDSigmaZ=0;
+       }
+      else
+       {
+         //cl->fDSigmaY2 = (sigmaY2 - GetParSigmaY2(row))/(pow(AliHLTDataCompressorHelper::GetXYWidthStep(),2)/pow(AliHLTTransform::GetPadPitchWidth(patch),2));
+         //cl->fDSigmaZ2 = (sigmaZ2 - GetParSigmaZ2(row))/(pow(AliHLTDataCompressorHelper::GetZWidthStep(),2)/pow(AliHLTTransform::GetZWidth(),2));
+         cl->fDSigmaY = (sqrt(sigmaY2) - sqrt(GetParSigmaY2(row)))/(AliHLTDataCompressorHelper::GetXYWidthStep()/AliHLTTransform::GetPadPitchWidth(patch));
+         cl->fDSigmaZ = (sqrt(sigmaZ2) - sqrt(GetParSigmaZ2(row)))/(AliHLTDataCompressorHelper::GetZWidthStep()/AliHLTTransform::GetZWidth());
+       }
+      cl->fNPads = npads;
+    }
+}
+
+
+void AliHLTModelTrack::Set(AliHLTTrack *tpt)
+{
+  // Sets track and does initialization
+  AliHLTModelTrack *tr = (AliHLTModelTrack*)tpt;
+  SetRowRange(tr->GetFirstRow(),tr->GetLastRow());
+  SetPhi0(tr->GetPhi0());
+  SetKappa(tr->GetKappa());
+  SetFirstPoint(tr->GetFirstPointX(),tr->GetFirstPointY(),tr->GetFirstPointZ());
+  SetLastPoint(tr->GetLastPointX(),tr->GetLastPointY(),tr->GetLastPointZ());
+  SetPt(tr->GetPt());
+  SetPsi(tr->GetPsi());
+  SetTgl(tr->GetTgl());
+  SetCharge(tr->GetCharge());
+  
+  if(fClusters)
+    {
+      cerr<<"AliHLTModelTrack::Set : Init has already been called for this object!"<<endl;
+      return;
+    }
+
+  //Init(tr->fSlice,tr->fPatch);
+  Init(0,tr->fPatch);
+  memcpy(fClusters,tr->fClusters,AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTClusterModel));
+  memcpy(fPad,tr->fPad,AliHLTTransform::GetNRows(fPatch)*sizeof(Float_t));
+  memcpy(fTime,tr->fTime,AliHLTTransform::GetNRows(fPatch)*sizeof(Float_t));
+  memcpy(fParSigmaY2,tr->fParSigmaY2,AliHLTTransform::GetNRows(fPatch)*sizeof(Float_t));
+  memcpy(fParSigmaZ2,tr->fParSigmaZ2,AliHLTTransform::GetNRows(fPatch)*sizeof(Float_t));
+  memcpy(fCrossingAngle,tr->fCrossingAngle,AliHLTTransform::GetNRows(fPatch)*sizeof(Float_t));
+  memcpy(fTrackModel,tr->fTrackModel,sizeof(AliHLTTrackModel));
+
+}
+
+Int_t AliHLTModelTrack::GetNPresentClusters()
+{
+  //Return the number of assigned clusters to the track.
+  //Differs from fNClusters, which should be equal to the 
+  //number of padrows in the present patch.
+  
+  Int_t count=0;
+
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
+    if(IsPresent(i))
+      count++;
+
+  return count;
+}
+
+void AliHLTModelTrack::FillModel()
+{
+  //Fill the track structure
+  
+  if(fNClusters != AliHLTTransform::GetNRows(fPatch))
+    {
+      cout<<"AliHLTModelTrack::FillModel : fNClusters != nrows; beware, this could be caused by a bug!!!"<<endl;
+      fNClusters = AliHLTTransform::GetNRows(fPatch);
+    }
+
+  if(!fTrackModel)
+    {
+      cerr<<"AliHLTModelTrack::FillModel() : No trackmodel "<<endl;
+      return;
+    }
+  Double_t impact[3];
+  AliHLTVertex vertex;
+  CalculateHelix();
+  GetClosestPoint(&vertex,impact[0],impact[1],impact[2]);
+  fTrackModel->fKappa = GetKappa();
+  fTrackModel->fPhi = atan2(impact[1],impact[0]);
+  fTrackModel->fD = sqrt(impact[0]*impact[0] + impact[1]*impact[1]);
+  fTrackModel->fZ0 = impact[2];
+  fTrackModel->fTgl = GetTgl();
+  
+  //We have to check on which of the vertex the track fit is lying
+  //This we need to encode the azimuthal angle coordinate of the center of curvature.
+  if(GetRadius() < sqrt(GetCenterX()*GetCenterX()+GetCenterY()*GetCenterY()))
+    fTrackModel->fD *=-1;
+  
+}
+
+void AliHLTModelTrack::FillTrack()
+{
+  //Fill the track parameters from the structure.
+  
+  if(!fTrackModel)
+    {
+      cerr<<"AliHLTModelTrack::FillTrack() : No data!!"<<endl;
+      return;
+    }
+  SetKappa(fTrackModel->fKappa);
+  Double_t impact[3],psi;
+  Float_t trackPhi0 = fTrackModel->fPhi;
+  if(fTrackModel->fD < 0)
+    trackPhi0 += AliHLTTransform::Pi();
+  Int_t charge = -1*(Int_t)copysign(1.,GetKappa());
+  impact[0] = fabs(fTrackModel->fD)*cos(fTrackModel->fPhi);
+  impact[1] = fabs(fTrackModel->fD)*sin(fTrackModel->fPhi);
+  impact[2] = fTrackModel->fZ0;
+
+  psi = trackPhi0 - charge*0.5*AliHLTTransform::Pi();
+  if(psi < 0) 
+    psi += 2*AliHLTTransform::Pi();
+
+  SetCharge(charge);
+  SetFirstPoint(impact[0],impact[1],impact[2]);
+  SetPsi(psi);
+  SetTgl(fTrackModel->fTgl);
+  SetPt((AliHLTTransform::GetBFact()*AliHLTTransform::GetBField())/fabs(GetKappa()));
+  fNClusters = AliHLTTransform::GetNRows(fPatch);
+  CalculateHelix();
+  
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
+    {
+      AliHLTClusterModel *cl = GetClusterModel(i);
+      if(!cl) continue;
+
+      if(cl->fSlice == -1)
+       {
+         SetPadHit(i,-1);
+         SetTimeHit(i,-1);
+         continue;
+       }
+      if(cl->fSlice < 0 || cl->fSlice > 35)
+       {
+         cerr<<"AliHLTModelTrack::FillTrack : Slice out of range "<<cl->fSlice<<" on row "<<i<<endl;
+         exit(5);
+       }
+      
+      Float_t angle = 0;
+      
+      AliHLTTransform::Local2GlobalAngle(&angle,cl->fSlice);
+      if(!CalculateReferencePoint(angle,AliHLTTransform::Row2X(i)))
+       {
+         if(IsPresent(i))
+           {
+             cerr<<"AliHLTModelTrack::FillTrack : Track does not cross slice "<<cl->fSlice<<" row "<<i<<" Points "
+                 <<GetPointX()<<" "<<GetPointY()<<" "<<GetPointZ()<<endl;
+             Print();
+             exit(5);
+           }
+         SetPadHit(i,-1);
+         SetTimeHit(i,-1);
+         continue;
+       }
+      Float_t hit[3] = {GetPointX(),GetPointY(),GetPointZ()};
+      Int_t sector,row;
+      AliHLTTransform::Slice2Sector(cl->fSlice,i,sector,row);
+      AliHLTTransform::Global2Raw(hit,sector,row);
+
+      SetPadHit(i,hit[1]);
+      SetTimeHit(i,hit[2]);
+
+      Float_t crossingangle = GetCrossingAngle(i,cl->fSlice);
+      
+      SetCrossingAngleLUT(i,crossingangle);
+      CalculateClusterWidths(i,kTRUE);
+      
+    }
+}
+
+void AliHLTModelTrack::SetPadHit(Int_t row,Float_t pad)
+{
+  // sets pad hit
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::SetPadHit() : Wrong index: "<<index<<endl;
+      return;
+    }
+  fPad[index]=pad;
+}
+
+void AliHLTModelTrack::SetTimeHit(Int_t row,Float_t time)
+{
+  // sets time hit
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::SetTimeHit() : Wrong index: "<<index<<endl;
+      return;
+    }
+  fTime[index]=time;
+}
+
+void AliHLTModelTrack::SetCrossingAngleLUT(Int_t row,Float_t angle)
+{
+  // sets LUT for crossing angle
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::SetCrossingAngle() : Wrong index: "<<index<<endl;
+      return;
+    }
+  fCrossingAngle[index]=angle;
+}
+
+void AliHLTModelTrack::SetOverlap(Int_t row,Int_t id)
+{
+  // sets overlap
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::SetOverlap() : Wrong index: "<<index<<endl;
+      return;
+    }
+  if(fNoverlaps[index] >= fMaxOverlaps) return;
+  fOverlap[index][fNoverlaps[index]++] = id;
+}
+
+Bool_t AliHLTModelTrack::IsPresent(Int_t row)
+{
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  return (Bool_t)(cl->fPresent & 0x1);
+}
+
+Bool_t AliHLTModelTrack::IsSet(Int_t row)
+{
+  // checks if row was set
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  return (Bool_t)(cl->fPresent & 0x2);
+}
+
+Int_t AliHLTModelTrack::GetNPads(Int_t row)
+{
+  // gets number of pads
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  return cl->fNPads;
+}
+
+Bool_t AliHLTModelTrack::GetPad(Int_t row,Float_t &pad)
+{
+  // gets pad
+  //(fpad - GetPadHit(row))/(AliHLTDataCompressorHelper::GetXYResidualStep(row)/AliHLTTransform::GetPadPitchWidth(patch));
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  pad = cl->fDPad*(AliHLTDataCompressorHelper::GetXYResidualStep(row)/AliHLTTransform::GetPadPitchWidth(patch)) + GetPadHit(row);
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetTime(Int_t row,Float_t &time)
+{
+  // gets time
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  time = cl->fDTime*(AliHLTDataCompressorHelper::GetZResidualStep(row)/AliHLTTransform::GetZWidth()) + GetTimeHit(row);
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetClusterCharge(Int_t row,Int_t &charge)
+{
+  // gets cluster's charge
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  charge = (Int_t)cl->fDCharge;// + AliHLTDataCompressorHelperHelper::GetClusterCharge();
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetSigmaY2(Int_t row,Float_t &sigma2)
+{
+  // gets SigmaY2
+  //cl->fDSigmaY = (sqrt(sigmaY2) - sqrt(GetParSigmaY2(row)))/(AliHLTDataCompressorHelper::GetXYWidthStep()/AliHLTTransform::GetPadPitchWidth(patch));
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  Float_t sigma = cl->fDSigmaY*(AliHLTDataCompressorHelper::GetXYWidthStep()/AliHLTTransform::GetPadPitchWidth(patch)) + sqrt(GetParSigmaY2(row));
+  sigma2 = sigma*sigma;
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetSigmaZ2(Int_t row,Float_t &sigma2)
+{
+  // gets SigmaZ2
+  //cl->fDSigmaZ = (sqrt(sigmaZ2) - sqrt(GetParSigmaZ2(row)))/(AliHLTDataCompressorHelper::GetZWidthStep()/AliHLTTransform::GetZWidth());
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  Float_t sigma = cl->fDSigmaZ*(AliHLTDataCompressorHelper::GetZWidthStep()/AliHLTTransform::GetZWidth()) + sqrt(GetParSigmaZ2(row));
+  sigma2 = sigma*sigma;
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetPadResidual(Int_t row,Float_t &res)
+{
+  // gets pad residual
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  res = cl->fDPad*(AliHLTDataCompressorHelper::GetXYResidualStep(row)/AliHLTTransform::GetPadPitchWidth(patch));
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetTimeResidual(Int_t row,Float_t &res)
+{
+  // gets time residual
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  res = cl->fDTime*(AliHLTDataCompressorHelper::GetZResidualStep(row)/AliHLTTransform::GetZWidth());
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetSigmaYResidual(Int_t row,Float_t &res)
+{
+  // gets SigmaY residual (?)
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  Int_t patch = AliHLTTransform::GetPatch(row);
+  res = cl->fDSigmaY*(AliHLTDataCompressorHelper::GetXYWidthStep()/AliHLTTransform::GetPadPitchWidth(patch));
+  return IsPresent(row);
+}
+
+Bool_t AliHLTModelTrack::GetSigmaZResidual(Int_t row,Float_t &res)
+{
+  // gets SigmaZ resigual (?)
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  res = cl->fDSigmaZ*(AliHLTDataCompressorHelper::GetZWidthStep()/AliHLTTransform::GetZWidth());
+  return IsPresent(row);
+}
+
+Int_t AliHLTModelTrack::GetSlice(Int_t row)
+{
+  // Gets slice
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  return cl->fSlice;
+}
+
+Float_t AliHLTModelTrack::GetPadHit(Int_t row)
+{
+  // Gets pad hit
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetPadHit() : Wrong index: "<<index<<" row "<<row<<endl;
+      return 0;
+    }
+  return fPad[index];
+}
+
+Float_t AliHLTModelTrack::GetTimeHit(Int_t row)
+{
+  // Gets time hit
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetTimeHit() : Wrong index: "<<index<<" row "<<row<<endl;
+      return 0;
+    }
+  return fTime[index];
+}
+
+Float_t AliHLTModelTrack::GetCrossingAngleLUT(Int_t row)
+{
+  // gets LUT for crossing angle
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetCrossingAngleLUT() : Wrong index: "<<index<<" row "<<row<<endl;
+      return 0;
+    }
+  return fCrossingAngle[index];
+}
+
+Float_t AliHLTModelTrack::GetParSigmaY2(Int_t row)
+{
+  // gets par SigmaY2 (?)
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetParSigmaY2() : Wrong index: "<<index<<" row "<<row<<endl;
+      return 0;
+    }
+  return fParSigmaY2[index];
+}
+
+Float_t AliHLTModelTrack::GetParSigmaZ2(Int_t row)
+{
+  // gets par SigmaZ2 (?)
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetParSigmaZ2() : Wrong index: "<<index<<" row "<<row<<endl;
+      return 0;
+    }
+  return fParSigmaZ2[index];
+}
+
+Int_t AliHLTModelTrack::GetNOverlaps(Int_t row)
+{
+  // gets number of overlaps
+  Int_t index = row - AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetOverlap() : Wrong index: "<<index<<endl;
+      return 0;
+    }
+  return fNoverlaps[index];
+}
+
+Int_t *AliHLTModelTrack::GetOverlaps(Int_t row)
+{
+  // gets overlaps
+  Int_t index = row - AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetOverlap() : Wrong index: "<<index<<endl;
+      return 0;
+    }
+  return fOverlap[index];
+}
+
+AliHLTClusterModel *AliHLTModelTrack::GetClusterModel(Int_t row)
+{
+  // gets cluster model
+  if(!fClusters) return 0; 
+  Int_t index = row-AliHLTTransform::GetFirstRow(fPatch);
+  if(index < 0 || index > AliHLTTransform::GetNRows(fPatch))
+    {
+      cerr<<"AliHLTModelTrack::GetClusterModel() : Wrong index: "<<index<<endl;
+      return 0;
+    }
+  return &fClusters[index];
+}
+
+void AliHLTModelTrack::Print(Bool_t everything)
+{
+  //Print info
+
+  cout<<"First point "<<GetFirstPointX()<<" "<<GetFirstPointY()<<" "<<GetFirstPointZ()<<endl;
+  cout<<"Last point "<<GetLastPointX()<<" "<<GetLastPointY()<<" "<<GetLastPointZ()<<endl;
+  cout<<"Pt "<<GetPt()<<" kappa "<<GetKappa()<<" tgl "<<GetTgl()<<" psi "<<GetPsi()<<" charge "<<GetCharge()<<endl;
+  cout<<"Center "<<GetCenterX()<<" "<<GetCenterY()<<endl<<endl;
+  if(!everything)
+    return;
+  cout<<"NHits "<<GetNClusters()<<endl;
+
+  cout<<"Clusters:"<<endl;
+  Int_t origslice=-1,counter=0;
+  Float_t fpad,ftime,sigmaY2,sigmaZ2;
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
+    {
+      AliHLTClusterModel *cl = GetClusterModel(i);
+      
+      if(!IsPresent(i))
+       {
+         cout<<i<<" Empty"<<" Slice "<<cl->fSlice<<" Padcrossing "<<GetPadHit(i)<<" Timecrossing "<<GetTimeHit(i)<<" ";
+         //AliHLTTransform::RawHLT2Global(xyz,cl->fSlice,i,GetPadHit(i),GetTimeHit(i));
+         //cout<<i<<" slice "<<cl->fSlice<<" x "<<xyz[0]<<" y "<<xyz[1]<<" z "<<xyz[2];
+       }
+      else
+       {
+         GetPad(i,fpad);
+         GetTime(i,ftime);
+         GetSigmaY2(i,sigmaY2);
+         GetSigmaZ2(i,sigmaZ2);
+         if(counter==0)
+           origslice=cl->fSlice;
+         else if(cl->fSlice != origslice)
+           cout<<"Change in slice "<<cl->fSlice<<" "<<origslice<<endl;
+         cout<<i<<" Slice "<<cl->fSlice<<" Dpad "<<cl->fDPad<<" Dtime "<<cl->fDTime<<" Dcharge "<<cl->fDCharge;
+         cout<<" sigmaY2 "<<sigmaY2<<" sigmaZ2 "<<sigmaZ2;
+         cout<<" parsigmaY2 "<<GetParSigmaY2(i)<<" parsigmaZ2 "<<GetParSigmaZ2(i);
+         cout<<" Pad "<<fpad<<" padhit "<<GetPadHit(i)<<" Time "<<ftime<<" timehit "<<GetTimeHit(i)<<" ";
+         counter++;
+       }
+      cout<<endl;
+    }
+}
+
+#ifdef do_mc
+void AliHLTModelTrack::SetClusterLabel(Int_t row,Int_t *trackID)
+{
+  // sets cluster label
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  cl->fTrackID[0] = trackID[0];
+  cl->fTrackID[1] = trackID[1];
+  cl->fTrackID[2] = trackID[2];
+#else
+  void AliHLTModelTrack::SetClusterLabel(Int_t /*row*/,Int_t */*trackID*/)
+{
+  // Does nothing if do_mc undefined
+  return;
+#endif
+}
+
+#ifdef do_mc
+void AliHLTModelTrack::GetClusterLabel(Int_t row,Int_t *trackID)
+{
+  // gets cluster label
+  AliHLTClusterModel *cl = GetClusterModel(row);
+  trackID[0] = cl->fTrackID[0];
+  trackID[1] = cl->fTrackID[1];
+  trackID[2] = cl->fTrackID[2];
+#else
+  void AliHLTModelTrack::GetClusterLabel(Int_t /*row*/,Int_t */*trackID*/)
+{
+  // Does nothing if do_mc undefined
+  return;
+#endif
+}
+
similarity index 78%
rename from HLT/comp/AliL3ModelTrack.h
rename to HLT/comp/AliHLTModelTrack.h
index 0fde3f195b1f013648e2c4f486c3bb2a34a20060..fbba1ec9c6088c77a1b4bcdac5b72d22e846810e 100644 (file)
@@ -1,16 +1,16 @@
 // @(#) $Id$
 
-#ifndef AliL3Model_Track
-#define AliL3Model_Track
+#ifndef AliHLTModel_Track
+#define AliHLTModel_Track
 
-#include "AliL3Track.h"
-#include "AliL3Models.h"
+#include "AliHLTTrack.h"
+#include "AliHLTModels.h"
 
-class AliL3ModelTrack : public AliL3Track {
+class AliHLTModelTrack : public AliHLTTrack {
 
  public:
-  AliL3ModelTrack();
-  virtual ~AliL3ModelTrack();
+  AliHLTModelTrack();
+  virtual ~AliHLTModelTrack();
   
   void Init(Int_t slice,Int_t patch);
   void CalculateClusterWidths(Int_t row,Bool_t parametrize=kFALSE);
@@ -18,7 +18,7 @@ class AliL3ModelTrack : public AliL3Track {
   void FillModel();
   void FillTrack();
   void Print(Bool_t everything=kTRUE);
-  void Set(AliL3Track *tpt);
+  void Set(AliHLTTrack *tpt);
 
   void SetPadHit(Int_t row,Float_t f);
   void SetTimeHit(Int_t row,Float_t f);
@@ -31,9 +31,9 @@ class AliL3ModelTrack : public AliL3Track {
   Bool_t IsPresent(Int_t row);
   Bool_t IsSet(Int_t row);
   
-  AliL3ClusterModel *GetClusters() {return fClusters;}
-  AliL3TrackModel *GetModel() {return fTrackModel;}
-  AliL3ClusterModel *GetClusterModel(Int_t row);
+  AliHLTClusterModel *GetClusters() {return fClusters;}
+  AliHLTTrackModel *GetModel() {return fTrackModel;}
+  AliHLTClusterModel *GetClusterModel(Int_t row);
   Int_t *GetOverlaps(Int_t row);
   Int_t GetNOverlaps(Int_t row);
   Int_t GetNPads(Int_t row);
@@ -58,8 +58,8 @@ class AliL3ModelTrack : public AliL3Track {
  private:
   
   Short_t fClusterCharge; //Average cluster charge
-  AliL3ClusterModel *fClusters; //! Clusters
-  AliL3TrackModel *fTrackModel; //! Track model
+  AliHLTClusterModel *fClusters; //! Clusters
+  AliHLTTrackModel *fTrackModel; //! Track model
   Short_t fNClusters; // Number of clusters
   Int_t fMaxOverlaps; // Max overlaps (?)
   Int_t *fNoverlaps; //! Number of overlaps
@@ -76,8 +76,10 @@ class AliL3ModelTrack : public AliL3Track {
   
   void DeleteArrays();
   
-  ClassDef(AliL3ModelTrack,1)
+  ClassDef(AliHLTModelTrack,1)
 
 };
 
+typedef AliHLTModelTrack AliL3ModelTrack; // for backward compatibility
+
 #endif
similarity index 68%
rename from HLT/comp/AliL3Modeller.cxx
rename to HLT/comp/AliHLTModeller.cxx
index fd6f0a0a48520ef52a506a1a58bbae3def712a6f..d63bc02f0be415dbca47288818eba6b83639cd92 100644 (file)
@@ -3,7 +3,7 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 //_____________________________________________________________
-// AliL3Modeller
+// AliHLTModeller
 //
 // Class for modeling TPC data.
 // 
 // and no deconvolution is done. 
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Modeller.h"
-#include "AliL3MemHandler.h"
-#include "AliL3TrackArray.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTModeller.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTSpacePointData.h"
 
 #ifdef use_aliroot
-#include "AliL3FileHandler.h"
+#include "AliHLTFileHandler.h"
 #endif
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3Modeller)
+ClassImp(AliHLTModeller)
 
-AliL3Modeller::AliL3Modeller()
+AliHLTModeller::AliHLTModeller()
 {
   // default constructor
   fMemHandler=0;
@@ -49,7 +49,7 @@ AliL3Modeller::AliL3Modeller()
 }
 
 
-AliL3Modeller::~AliL3Modeller()
+AliHLTModeller::~AliHLTModeller()
 {
   // destructor
   if(fMemHandler)
@@ -60,7 +60,7 @@ AliL3Modeller::~AliL3Modeller()
     delete [] fRow;
 }
 
-void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,Bool_t houghtracks,Bool_t binary)
+void AliHLTModeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,Bool_t houghtracks,Bool_t binary)
 {
   // Initialization
   fSlice = slice;
@@ -69,10 +69,10 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
 
   sprintf(fPath,"%s",path);
   
-  fTracks = new AliL3TrackArray("AliL3ModelTrack");
+  fTracks = new AliHLTTrackArray("AliHLTModelTrack");
   
   Char_t fname[100];
-  AliL3MemHandler *file = new AliL3MemHandler();
+  AliHLTMemHandler *file = new AliHLTMemHandler();
   if(!houghtracks)
     sprintf(fname,"%s/tracks_tr_%d_0.raw",trackdata,fSlice); //output tracks from the tracker (no merging)
   else 
@@ -80,7 +80,7 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
   //sprintf(fname,"%s/tracks_ho_%d_%d.raw",trackdata,fSlice,fPatch);
   if(!file->SetBinaryInput(fname))
     {
-      cerr<<"AliL3Modeller::Init : Error opening trackfile: "<<fname<<endl;
+      cerr<<"AliHLTModeller::Init : Error opening trackfile: "<<fname<<endl;
       return;
     }
   file->Binary2TrackArray(fTracks);
@@ -92,7 +92,7 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
   
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
       track->Init(fSlice,fPatch);
 
@@ -103,16 +103,16 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
       track->CalculateHelix();
     }    
   
-  Int_t ntimes = AliL3Transform::GetNTimeBins()+1;
-  Int_t npads = AliL3Transform::GetNPads(AliL3Transform::GetLastRow(fPatch))+1;//Max num of pads.
+  Int_t ntimes = AliHLTTransform::GetNTimeBins()+1;
+  Int_t npads = AliHLTTransform::GetNPads(AliHLTTransform::GetLastRow(fPatch))+1;//Max num of pads.
   Int_t bounds = ntimes*npads;
   fRow = new Digit[bounds];
   
   
   UInt_t ndigits=0;
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
 #ifdef use_aliroot
-  fMemHandler = new AliL3FileHandler();
+  fMemHandler = new AliHLTFileHandler();
   fMemHandler->Init(slice,patch);
   if(binary == kFALSE)
     {
@@ -125,17 +125,17 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
       sprintf(fname,"%sdigits_%d_%d.raw",fPath,fSlice,fPatch);
       if(!fMemHandler->SetBinaryInput(fname))
        {
-         cerr<<"AliL3Modeller::Init : Error opening file "<<fname<<endl;
+         cerr<<"AliHLTModeller::Init : Error opening file "<<fname<<endl;
          return;
        }
-      digits=(AliL3DigitRowData*)fMemHandler->CompBinary2Memory(ndigits);
+      digits=(AliHLTDigitRowData*)fMemHandler->CompBinary2Memory(ndigits);
     }
 #else
-  fMemHandler = new AliL3MemHandler();
+  fMemHandler = new AliHLTMemHandler();
   fMemHandler->Init(slice,patch);
   if(binary == kFALSE)
     {
-      cerr<<"AliL3Modeller::Init : Compile with AliROOT if you want rootfile as input"<<endl;
+      cerr<<"AliHLTModeller::Init : Compile with AliROOT if you want rootfile as input"<<endl;
       return;
     }
   else
@@ -143,64 +143,64 @@ void AliL3Modeller::Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,
       sprintf(fname,"%sdigits_%d_%d.raw",fPath,fSlice,fPatch);
       if(!fMemHandler->SetBinaryInput(fname))
        {
-         cerr<<"AliL3Modeller::Init : Error opening file "<<fname<<endl;
+         cerr<<"AliHLTModeller::Init : Error opening file "<<fname<<endl;
          return;
        }
     }
-  digits=(AliL3DigitRowData*)fMemHandler->CompBinary2Memory(ndigits);
+  digits=(AliHLTDigitRowData*)fMemHandler->CompBinary2Memory(ndigits);
 #endif
   
   SetInputData(digits);
 }
 
-void AliL3Modeller::FindClusters()
+void AliHLTModeller::FindClusters()
 {
   // Finds clusters
   if(fDebug)
-    cout<<"AliL3Modeller::FindClusters : Processing slice "<<fSlice<<" patch "<<fPatch<<endl;
+    cout<<"AliHLTModeller::FindClusters : Processing slice "<<fSlice<<" patch "<<fPatch<<endl;
   if(!fTracks)
     {
-      cerr<<"AliL3Modeller::Process : No tracks"<<endl;
+      cerr<<"AliHLTModeller::Process : No tracks"<<endl;
       return;
     }
   if(!fRowData)
     {
-      cerr<<"AliL3Modeller::Process : No data "<<endl;
+      cerr<<"AliHLTModeller::Process : No data "<<endl;
       return;
     }
   
-  AliL3DigitRowData *rowPt = fRowData;
-  AliL3DigitData *digPt=0;
+  AliHLTDigitRowData *rowPt = fRowData;
+  AliHLTDigitData *digPt=0;
 
   Int_t pad,time;
   Short_t charge;
   Cluster cluster;
   ClusterRegion region[200];
   
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
       if(i != (Int_t)rowPt->fRow)
        {
-         cerr<<"AliL3Modeller::FindClusters : Mismatching rownumbering "<<i<<" "<<rowPt->fRow<<endl;
+         cerr<<"AliHLTModeller::FindClusters : Mismatching rownumbering "<<i<<" "<<rowPt->fRow<<endl;
          return;
        }
       fCurrentPadRow = i;
-      memset((void*)fRow,0,(AliL3Transform::GetNTimeBins()+1)*(AliL3Transform::GetNPads(i)+1)*sizeof(Digit));
-      digPt = (AliL3DigitData*)rowPt->fDigitData;
+      memset((void*)fRow,0,(AliHLTTransform::GetNTimeBins()+1)*(AliHLTTransform::GetNPads(i)+1)*sizeof(Digit));
+      digPt = (AliHLTDigitData*)rowPt->fDigitData;
       //cout<<"Loading row "<<i<<" with "<<(Int_t)rowPt->fNDigit<<" digits"<<endl;
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
          pad = digPt[j].fPad;
          time = digPt[j].fTime;
          charge = digPt[j].fCharge;
-         fRow[(AliL3Transform::GetNTimeBins()+1)*pad + time].fCharge = charge;
-         fRow[(AliL3Transform::GetNTimeBins()+1)*pad + time].fUsed = kFALSE;
+         fRow[(AliHLTTransform::GetNTimeBins()+1)*pad + time].fCharge = charge;
+         fRow[(AliHLTTransform::GetNTimeBins()+1)*pad + time].fUsed = kFALSE;
          //cout<<"Row "<<i<<" pad "<<pad<<" time "<<time<<" charge "<<charge<<endl;
        }
       
       for(Int_t k=0; k<fTracks->GetNTracks(); k++)
        {
-         AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(k);
+         AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(k);
          if(!track) continue;
          
          if(track->GetPadHit(i)<0 || track->GetTimeHit(i)<0 || track->GetNOverlaps(i)>0)//track->GetOverlap(i)>=0)
@@ -232,9 +232,9 @@ void AliL3Modeller::FindClusters()
              Int_t ntimes=0;
              for(time=region[pad].fMintime; time<=region[pad].fMaxtime; time++)
                {
-                 charge = fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fCharge;
+                 charge = fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fCharge;
                  if(!charge) continue;
-                 if(fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fUsed == kTRUE)
+                 if(fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fUsed == kTRUE)
                    continue;
                  ntimes++;
                  
@@ -244,7 +244,7 @@ void AliL3Modeller::FindClusters()
                  cluster.fCharge += charge;
                  cluster.fSigmaY2 += pad*pad*charge;
                  cluster.fSigmaZ2 += time*time*charge;
-                 fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fUsed = kTRUE;
+                 fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fUsed = kTRUE;
                }
              if(ntimes)
                npads++;
@@ -260,16 +260,16 @@ void AliL3Modeller::FindClusters()
   //Debug:
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
-      if(track->GetNClusters() != AliL3Transform::GetNRows(fPatch))
-       cerr<<endl<<"Mismatching hitcounts; nclusters: "<<track->GetNClusters()<<" nrows "<<AliL3Transform::GetNRows(fPatch)<<endl<<endl;
+      if(track->GetNClusters() != AliHLTTransform::GetNRows(fPatch))
+       cerr<<endl<<"Mismatching hitcounts; nclusters: "<<track->GetNClusters()<<" nrows "<<AliHLTTransform::GetNRows(fPatch)<<endl<<endl;
     }
   
 }
 
 
-void AliL3Modeller::LocateCluster(AliL3ModelTrack *track,ClusterRegion *region,Int_t &padmin,Int_t &padmax)
+void AliHLTModeller::LocateCluster(AliHLTModelTrack *track,ClusterRegion *region,Int_t &padmin,Int_t &padmax)
 {
   //Set the cluster range
   //This method searches for _all_ nonzeros timebins which are neigbours.
@@ -301,9 +301,9 @@ void AliL3Modeller::LocateCluster(AliL3ModelTrack *track,ClusterRegion *region,I
          prtmax = middlemax;
          continue;
        }
-      else if(pad >= AliL3Transform::GetNPads(row))
+      else if(pad >= AliHLTTransform::GetNPads(row))
        {
-         padmax = AliL3Transform::GetNPads(row)-1;
+         padmax = AliHLTTransform::GetNPads(row)-1;
          break;
        }
       
@@ -318,12 +318,12 @@ void AliL3Modeller::LocateCluster(AliL3ModelTrack *track,ClusterRegion *region,I
              time = hittime+1;
              tm = kFALSE;
            }
-         else if(time >= AliL3Transform::GetNTimeBins())
+         else if(time >= AliHLTTransform::GetNTimeBins())
            {
-             //timemax = AliL3Transform::GetNTimeBins()-1;
+             //timemax = AliHLTTransform::GetNTimeBins()-1;
              break;
            }
-         charge = fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fCharge;
+         charge = fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fCharge;
          //if(row==0)
          //cout<<"charge "<<charge<<" at pad "<<pad<<" time "<<time<<endl;
          if(charge>0)
@@ -424,7 +424,7 @@ void AliL3Modeller::LocateCluster(AliL3ModelTrack *track,ClusterRegion *region,I
 }
 
 
-void AliL3Modeller::FillCluster(AliL3ModelTrack *track,Cluster *cluster,Int_t row,Int_t npads)
+void AliHLTModeller::FillCluster(AliHLTModelTrack *track,Cluster *cluster,Int_t row,Int_t npads)
 {
   // Fill clusters
   if(cluster->fCharge==0)
@@ -447,16 +447,16 @@ void AliL3Modeller::FillCluster(AliL3ModelTrack *track,Cluster *cluster,Int_t ro
 
 
 
-void AliL3Modeller::FillZeros(AliL3DigitRowData *rowPt,Bool_t reversesign)
+void AliHLTModeller::FillZeros(AliHLTDigitRowData *rowPt,Bool_t reversesign)
 {
   //Fill zero where data has been used.
 
-  AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+  AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
   for(UInt_t j=0; j<rowPt->fNDigit; j++)
     {
       Int_t pad = digPt[j].fPad;
       Int_t time = digPt[j].fTime;
-      if(fRow[(AliL3Transform::GetNTimeBins()+1)*pad+time].fUsed==kTRUE)
+      if(fRow[(AliHLTTransform::GetNTimeBins()+1)*pad+time].fUsed==kTRUE)
        {
          if(reversesign)
            {
@@ -469,46 +469,46 @@ void AliL3Modeller::FillZeros(AliL3DigitRowData *rowPt,Bool_t reversesign)
     }
 }
 
-void AliL3Modeller::WriteRemaining()
+void AliHLTModeller::WriteRemaining()
 {
   //Write remaining (nonzero) digits to file.
   
-  AliL3DigitRowData *rowPt;
-  rowPt = (AliL3DigitRowData*)fRowData;
+  AliHLTDigitRowData *rowPt;
+  rowPt = (AliHLTDigitRowData*)fRowData;
   Int_t digitcount=0;
-  Int_t *ndigits=new Int_t[(AliL3Transform::GetNRows(fPatch))];
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  Int_t *ndigits=new Int_t[(AliHLTTransform::GetNRows(fPatch))];
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
-      AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
-      ndigits[(i-AliL3Transform::GetFirstRow(fPatch))]=0;
+      AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
+      ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))]=0;
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
          if(digPt[j].fCharge==0) continue;
          digitcount++;
-         ndigits[(i-AliL3Transform::GetFirstRow(fPatch))]++;
+         ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))]++;
        }
-      //cout<<"Difference "<<(int)ndigits[(i-AliL3Transform::GetFirstRow(fPatch))]<<" "<<(int)rowPt->fNDigit<<endl;
+      //cout<<"Difference "<<(int)ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))]<<" "<<(int)rowPt->fNDigit<<endl;
       fMemHandler->UpdateRowPointer(rowPt);
     }
   
-  Int_t size = digitcount*sizeof(AliL3DigitData) + AliL3Transform::GetNRows(fPatch)*sizeof(AliL3DigitRowData);
+  Int_t size = digitcount*sizeof(AliHLTDigitData) + AliHLTTransform::GetNRows(fPatch)*sizeof(AliHLTDigitRowData);
   Byte_t *data = new Byte_t[size];
   memset(data,0,size);
-  AliL3DigitRowData *tempPt = (AliL3DigitRowData*)data;
-  rowPt = (AliL3DigitRowData*)fRowData;
+  AliHLTDigitRowData *tempPt = (AliHLTDigitRowData*)data;
+  rowPt = (AliHLTDigitRowData*)fRowData;
   
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
       Int_t localcount=0;
       tempPt->fRow = i;
-      tempPt->fNDigit = ndigits[(i-AliL3Transform::GetFirstRow(fPatch))];
-      AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+      tempPt->fNDigit = ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))];
+      AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
          if(digPt[j].fCharge==0) continue;
-         if(localcount >= ndigits[(i-AliL3Transform::GetFirstRow(fPatch))])
+         if(localcount >= ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))])
            {
-             cerr<<"AliL3Modeller::WriteRemaining : Digitarray out of range!!"<<endl;
+             cerr<<"AliHLTModeller::WriteRemaining : Digitarray out of range!!"<<endl;
              return;
            }
          tempPt->fDigitData[localcount].fCharge = digPt[j].fCharge;
@@ -517,37 +517,37 @@ void AliL3Modeller::WriteRemaining()
 
          localcount++;
        }
-      if(ndigits[(i-AliL3Transform::GetFirstRow(fPatch))] != localcount)
+      if(ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))] != localcount)
        {
-         cerr<<"AliL3Modeller::WriteRemaining : Mismatch in digitcount"<<endl;
+         cerr<<"AliHLTModeller::WriteRemaining : Mismatch in digitcount"<<endl;
          return;
        }
       fMemHandler->UpdateRowPointer(rowPt);
       Byte_t *tmp = (Byte_t*)tempPt;
-      Int_t size = sizeof(AliL3DigitRowData) + ndigits[(i-AliL3Transform::GetFirstRow(fPatch))]*sizeof(AliL3DigitData);
+      Int_t size = sizeof(AliHLTDigitRowData) + ndigits[(i-AliHLTTransform::GetFirstRow(fPatch))]*sizeof(AliHLTDigitData);
       tmp += size;
-      tempPt = (AliL3DigitRowData*)tmp;
+      tempPt = (AliHLTDigitRowData*)tmp;
     }
 
   Char_t fname[100];
-  AliL3MemHandler *mem = new AliL3MemHandler();
+  AliHLTMemHandler *mem = new AliHLTMemHandler();
   sprintf(fname,"%s/comp/remains_%d_%d.raw",fPath,fSlice,fPatch);
   mem->Init(fSlice,fPatch);
   mem->SetBinaryOutput(fname);
-  mem->Memory2CompBinary((UInt_t)AliL3Transform::GetNRows(fPatch),(AliL3DigitRowData*)data);
+  mem->Memory2CompBinary((UInt_t)AliHLTTransform::GetNRows(fPatch),(AliHLTDigitRowData*)data);
   mem->CloseBinaryOutput();
   delete mem;
   delete [] data;
   delete [] ndigits;
 }
 
-void AliL3Modeller::RemoveBadTracks()
+void AliHLTModeller::RemoveBadTracks()
 {
   //Remove tracsk which should not be included in the compression scheme.
 
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+      AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
 
       if(track->GetPt() < 0.08)
@@ -564,29 +564,29 @@ void AliL3Modeller::RemoveBadTracks()
   
 }
 
-void AliL3Modeller::CalculateCrossingPoints()
+void AliHLTModeller::CalculateCrossingPoints()
 {
   // calculates crossing points
   if(fDebug)
     cout<<"Calculating crossing points on "<<fTracks->GetNTracks()<<" tracks"<<endl;
   if(!fTracks)
     {
-      cerr<<"AliL3Modeller::CalculateCrossingPoints(): No tracks"<<endl;
+      cerr<<"AliHLTModeller::CalculateCrossingPoints(): No tracks"<<endl;
       return;
     }
   Float_t hit[3];
   
   Int_t sector,row;
-  for(Int_t i=AliL3Transform::GetLastRow(fPatch); i>=AliL3Transform::GetFirstRow(fPatch); i--)
+  for(Int_t i=AliHLTTransform::GetLastRow(fPatch); i>=AliHLTTransform::GetFirstRow(fPatch); i--)
     {
       for(Int_t j=0; j<fTracks->GetNTracks(); j++)
        {
-         AliL3ModelTrack *track = (AliL3ModelTrack*)fTracks->GetCheckedTrack(j);
+         AliHLTModelTrack *track = (AliHLTModelTrack*)fTracks->GetCheckedTrack(j);
          if(!track) continue;
 
          if(!track->GetCrossingPoint(i,hit)) 
            {
-             //cerr<<"AliL3Modeller::CalculateCrossingPoints : Track "<<j<<" does not intersect row "<<i<<" :"<<endl<<
+             //cerr<<"AliHLTModeller::CalculateCrossingPoints : Track "<<j<<" does not intersect row "<<i<<" :"<<endl<<
              //        " pt "<<track->GetPt()<<
              //        " tgl "<<track->GetTgl()<<" psi "<<track->GetPsi()<<" charge "<<track->GetCharge()<<endl;
              //fTracks->Remove(j);
@@ -596,11 +596,11 @@ void AliL3Modeller::CalculateCrossingPoints()
            }
          //cout<<"X "<<hit[0]<<" Y "<<hit[1]<<" Z "<<hit[2]<<" tgl "<<track->GetTgl()<<endl;
          
-         AliL3Transform::Slice2Sector(fSlice,i,sector,row);
-         AliL3Transform::Local2Raw(hit,sector,row);
+         AliHLTTransform::Slice2Sector(fSlice,i,sector,row);
+         AliHLTTransform::Local2Raw(hit,sector,row);
          //cout<<"Pad "<<hit[1]<<" time "<<hit[2]<<" in sector "<<sector<<" row "<<row<<endl;
-         if(hit[1]<0 || hit[1]>AliL3Transform::GetNPads(i) ||
-            hit[2]<0 || hit[2]>AliL3Transform::GetNTimeBins())
+         if(hit[1]<0 || hit[1]>AliHLTTransform::GetNPads(i) ||
+            hit[2]<0 || hit[2]>AliHLTTransform::GetNTimeBins())
            {//Track is leaving the patch, so flag the track hits (<0)
              track->SetPadHit(i,-1);
              track->SetTimeHit(i,-1);
@@ -625,7 +625,7 @@ void AliL3Modeller::CalculateCrossingPoints()
     cout<<"And there are "<<fTracks->GetNTracks()<<" tracks remaining"<<endl;
 }
 
-void AliL3Modeller::CheckForOverlaps(Float_t dangle,Int_t *rowrange)
+void AliHLTModeller::CheckForOverlaps(Float_t dangle,Int_t *rowrange)
 {
   //Flag the tracks that overlap
   
@@ -633,7 +633,7 @@ void AliL3Modeller::CheckForOverlaps(Float_t dangle,Int_t *rowrange)
     cout<<"Checking for overlaps on "<<fTracks->GetNTracks()<<endl;
   Int_t counter=0;
   
-  for(Int_t k=AliL3Transform::GetFirstRow(fPatch); k<=AliL3Transform::GetLastRow(fPatch); k++)
+  for(Int_t k=AliHLTTransform::GetFirstRow(fPatch); k<=AliHLTTransform::GetLastRow(fPatch); k++)
     {
       if(rowrange)
        {
@@ -642,13 +642,13 @@ void AliL3Modeller::CheckForOverlaps(Float_t dangle,Int_t *rowrange)
        }
       for(Int_t i=0; i<fTracks->GetNTracks(); i++)
        {
-         AliL3ModelTrack *track1 = (AliL3ModelTrack*)fTracks->GetCheckedTrack(i);
+         AliHLTModelTrack *track1 = (AliHLTModelTrack*)fTracks->GetCheckedTrack(i);
          if(!track1) continue;
          if(track1->GetPadHit(k)<0 || track1->GetTimeHit(k)<0) continue;
          
          for(Int_t j=i+1; j<fTracks->GetNTracks(); j++)
            {
-             AliL3ModelTrack *track2 = (AliL3ModelTrack*)fTracks->GetCheckedTrack(j);
+             AliHLTModelTrack *track2 = (AliHLTModelTrack*)fTracks->GetCheckedTrack(j);
              if(!track2) continue;
              if(track2->GetPadHit(k)<0 || track2->GetTimeHit(k)<0) continue;
              
@@ -674,12 +674,12 @@ void AliL3Modeller::CheckForOverlaps(Float_t dangle,Int_t *rowrange)
 }
 
 
-void AliL3Modeller::CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigmaZ2)
+void AliHLTModeller::CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigmaZ2)
 {
   // calculates cluster's width
   Float_t padw,timew;
   
-  padw = AliL3Transform::GetPadPitchWidth(fPatch);
+  padw = AliHLTTransform::GetPadPitchWidth(fPatch);
   
   Float_t charge = (Float_t)cl->fCharge;
   Float_t pad = (Float_t)cl->fPad/charge;
@@ -700,7 +700,7 @@ void AliL3Modeller::CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigma
   */
 
   s2 = (Float_t)cl->fSigmaZ2/charge - time*time;
-  timew = AliL3Transform::GetZWidth();
+  timew = AliHLTTransform::GetZWidth();
   sigmaZ2 = (s2);// +1./12);//*timew*timew;
   
 
@@ -717,21 +717,21 @@ void AliL3Modeller::CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigma
 }
 
 #ifdef do_mc
-void AliL3Modeller::GetTrackID(Int_t pad,Int_t time,Int_t *trackID)
+void AliHLTModeller::GetTrackID(Int_t pad,Int_t time,Int_t *trackID)
 {
   // Gets track ID
-  AliL3DigitRowData *rowPt = (AliL3DigitRowData*)fRowData;
+  AliHLTDigitRowData *rowPt = (AliHLTDigitRowData*)fRowData;
   
   trackID[0]=trackID[1]=trackID[2]=-2;
   
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
       if(rowPt->fRow < (UInt_t)fCurrentPadRow)
        {
-         AliL3MemHandler::UpdateRowPointer(rowPt);
+         AliHLTMemHandler::UpdateRowPointer(rowPt);
          continue;
        }
-      AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+      AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
          Int_t cpad = digPt[j].fPad;
@@ -749,7 +749,7 @@ void AliL3Modeller::GetTrackID(Int_t pad,Int_t time,Int_t *trackID)
       break;
     }
 #else
-  void AliL3Modeller::GetTrackID(Int_t /*pad*/,Int_t /*time*/,Int_t */*trackID*/)
+  void AliHLTModeller::GetTrackID(Int_t /*pad*/,Int_t /*time*/,Int_t */*trackID*/)
 {
   // Does nothing if do_mc undefined
   return;
similarity index 70%
rename from HLT/comp/AliL3Modeller.h
rename to HLT/comp/AliHLTModeller.h
index eceb291d39069664e88d3a86db5d514ed77a4e0a..02d4857a07d032bb9b582976c5281cf187fc794f 100644 (file)
@@ -1,15 +1,15 @@
 // @(#) $Id$
 
-#ifndef AliL3_Modeller
-#define AliL3_Modeller
+#ifndef AliHLT_Modeller
+#define AliHLT_Modeller
 
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3TrackArray;
-class AliL3MemHandler;
-class AliL3DigitRowData;
-class AliL3ModelTrack;
+class AliHLTTrackArray;
+class AliHLTMemHandler;
+class AliHLTDigitRowData;
+class AliHLTModelTrack;
 
 struct Cluster {
   UInt_t fCharge; // Charge
@@ -29,12 +29,12 @@ struct ClusterRegion {
   Int_t fMaxtime; // Max time
 };
 
-class AliL3Modeller {
+class AliHLTModeller {
   
  public:
   
-  AliL3Modeller();
-  virtual ~AliL3Modeller();
+  AliHLTModeller();
+  virtual ~AliHLTModeller();
   
   virtual void FindClusters();
   void Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,Bool_t houghtracks,Bool_t binary=kTRUE);
@@ -43,7 +43,7 @@ class AliL3Modeller {
   void RemoveBadTracks();
   void WriteRemaining();
   
-  void SetInputData(AliL3DigitRowData *digits) {fRowData = digits;}
+  void SetInputData(AliHLTDigitRowData *digits) {fRowData = digits;}
   void SetTrackThreshold(Int_t i=0) {fTrackThreshold=i;}
   void SetOverlap(Int_t p=6,Int_t t=8) {fPadOverlap=p;fTimeOverlap=t;}
   void SetSearchRange(Int_t p=1,Int_t t=2) {fPadSearch=p;fTimeSearch=t;}
@@ -51,16 +51,16 @@ class AliL3Modeller {
   void SetOuterSearchRange(Int_t p,Int_t t) {fOuterPadSearch=p; fOuterTimeSearch=t;}
   void SetMaxClusterRange(Int_t p,Int_t t) {fMaxPads=p; fMaxTimebins=t;}
   void Debug() {fDebug=kTRUE;}
-  virtual Bool_t SetFitRange(AliL3ModelTrack */*track*/,Int_t */*p*/,Int_t */*t*/) {return kFALSE;}
+  virtual Bool_t SetFitRange(AliHLTModelTrack */*track*/,Int_t */*p*/,Int_t */*t*/) {return kFALSE;}
   virtual void SetNmaxOverlaps(Int_t /*i*/) {return;}
   virtual void SetChiSqMax(Float_t /*f*/,Int_t /*p*/) {return;}
   
-  AliL3TrackArray *GetTracks() {return fTracks;}
+  AliHLTTrackArray *GetTracks() {return fTracks;}
     
  protected:
   
-  AliL3TrackArray *fTracks; //! Array of tracks
-  AliL3DigitRowData *fRowData;//! Row data
+  AliHLTTrackArray *fTracks; //! Array of tracks
+  AliHLTDigitRowData *fRowData;//! Row data
   Digit *fRow; //! Current row
   Char_t fPath[1024]; // Path to the files
 
@@ -80,9 +80,9 @@ class AliL3Modeller {
   Int_t fSlice; // Slice
   Int_t fPatch; // Patch
   
-  void FillCluster(AliL3ModelTrack *track,Cluster *cluster,Int_t row,Int_t npads);
-  void FillZeros(AliL3DigitRowData *digPt,Bool_t reversesign=kFALSE);
-  void LocateCluster(AliL3ModelTrack *track,ClusterRegion *region,Int_t &padmin,Int_t &padmax);
+  void FillCluster(AliHLTModelTrack *track,Cluster *cluster,Int_t row,Int_t npads);
+  void FillZeros(AliHLTDigitRowData *digPt,Bool_t reversesign=kFALSE);
+  void LocateCluster(AliHLTModelTrack *track,ClusterRegion *region,Int_t &padmin,Int_t &padmax);
   void GetTrackID(Int_t pad,Int_t time,Int_t *trackID);
   
  private:
@@ -91,12 +91,14 @@ class AliL3Modeller {
   Float_t fPadOverlap; // Pad overlap (?)
   Float_t fTimeOverlap; // Time overlap (?)
   Int_t fTrackThreshold; //minimum weigth track need in order to be included.(=Nhits/weight)
-  AliL3MemHandler *fMemHandler; //! Pointer to the memory handler
+  AliHLTMemHandler *fMemHandler; //! Pointer to the memory handler
 
   void CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigmaZ2);
   
-  ClassDef(AliL3Modeller,1) //Modeller class
+  ClassDef(AliHLTModeller,1) //Modeller class
     
 };
 
+typedef AliHLTModeller AliL3Modeller; // for backward compatibility
+
 #endif
similarity index 50%
rename from HLT/comp/AliL3Models.h
rename to HLT/comp/AliHLTModels.h
index cf1d0d140a07161b55838e1d5481439513853786..ce1db445fa397535ddf56399b728f855555f7f43 100644 (file)
@@ -1,13 +1,13 @@
 // @(#) $Id$
 
-#ifndef AliL3Models_H
-#define AliL3Models_H
+#ifndef AliHLTModels_H
+#define AliHLTModels_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 const Int_t MaxNClusters = 32;
 
-struct AliL3ClusterModel {
+struct AliHLTClusterModel {
   Byte_t fPresent;
   Float_t fDTime;
   Float_t fDPad;
@@ -20,35 +20,39 @@ struct AliL3ClusterModel {
   Int_t fTrackID[3];
 #endif
 };
-typedef struct AliL3ClusterModel AliL3ClusterModel;
+typedef struct AliHLTClusterModel AliHLTClusterModel;
+typedef AliHLTClusterModel AliL3ClusterModel;
 
-struct AliL3RemainingCluster {
+struct AliHLTRemainingCluster {
   Float_t fPad;   
   Float_t fTime;  
   Float_t fSigmaY2;  
   Float_t fSigmaZ2;  
   UShort_t fCharge;
 };
-typedef struct AliL3RemainingCluster AliL3RemainingCluster;
+typedef struct AliHLTRemainingCluster AliHLTRemainingCluster;
+typedef AliHLTRemainingCluster AliL3RemainingCluster;
 
-struct AliL3RemainingRow {
+struct AliHLTRemainingRow {
   Byte_t fPadRow;       //1 byte
   UShort_t fNClusters;  //2 bytes
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-  AliL3RemainingCluster fClusters[1];
+  AliHLTRemainingCluster fClusters[1];
 #else
-  AliL3RemainingCluster fClusters[0];
+  AliHLTRemainingCluster fClusters[0];
 #endif
 };
-typedef struct AliL3RemainingRow AliL3RemainingRow;
+typedef struct AliHLTRemainingRow AliHLTRemainingRow;
+typedef AliHLTRemainingRow AliL3RemainingRow;
 
-struct AliL3TrackModel {//5 independent parameters is needed to encode the helix:
+struct AliHLTTrackModel {//5 independent parameters is needed to encode the helix:
   Float_t fKappa; //Curvature
   Float_t fPhi;   //Azimuthal angle of DCAO (distance of closest approach to origo)
   Float_t fD;     //radius of DCA0
   Float_t fZ0;    //z-coordinate of DCA0
   Float_t fTgl;   //tan of dipangle
 };
-typedef struct AliL3TrackModel AliL3TrackModel;
+typedef struct AliHLTTrackModel AliHLTTrackModel;
+typedef AliHLTTrackModel AliL3TrackModel;
 
 #endif
similarity index 76%
rename from HLT/comp/AliL3OfflineDataCompressor.cxx
rename to HLT/comp/AliHLTOfflineDataCompressor.cxx
index 08c9415128504b25315b030abccc79f504ab5752..5c6ec14180f389b3f0f79673fbd3e0fdf3a3b08f 100644 (file)
@@ -2,7 +2,7 @@
 
 //_____________________________________________________________
 //
-//  AliL3OfflineDataCompression
+//  AliHLTOfflineDataCompression
 //
 // Class to compress data with offline tracks
 // as seeds.
@@ -10,7 +10,7 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #include <AliTPCParamSR.h>
 #include <AliTPCClustersArray.h>
 #include <TSystem.h>
 #include <TH1F.h>
 
-#include "AliL3Transform.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3Compress.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTTransform.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTCompress.h"
+#include "AliHLTTrackArray.h"
 #include "bitio.h"
-#include "AliL3OfflineDataCompressor.h"
+#include "AliHLTOfflineDataCompressor.h"
 
 #if __GNUC__ == 3
 using namespace std;
 #endif
 
-ClassImp(AliL3OfflineDataCompressor)
+ClassImp(AliHLTOfflineDataCompressor)
 
-AliL3OfflineDataCompressor::AliL3OfflineDataCompressor()
+AliHLTOfflineDataCompressor::AliHLTOfflineDataCompressor()
 { //constructor
   fMarian = kFALSE;
   fTracker=0;
 }
 
-AliL3OfflineDataCompressor::AliL3OfflineDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape,Bool_t MI) 
-  : AliL3DataCompressor(path,keep,writeshape)
+AliHLTOfflineDataCompressor::AliHLTOfflineDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape,Bool_t MI) 
+  : AliHLTDataCompressor(path,keep,writeshape)
 { //constructor
   fMarian = MI;
   fTracker=0;
 }
 
-AliL3OfflineDataCompressor::~AliL3OfflineDataCompressor()
+AliHLTOfflineDataCompressor::~AliHLTOfflineDataCompressor()
 { //deconstructor
   if(fTracker)
     {
@@ -68,7 +68,7 @@ AliL3OfflineDataCompressor::~AliL3OfflineDataCompressor()
 }
 
 
-void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
+void AliHLTOfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
 {
   //Take offline reconstructed tracks as an input.
   //In this case, no remaining clusters are written.
@@ -83,7 +83,7 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
   fEvent = event;
 
   char filename[1024];
-  //AliKalmanTrack::SetConvConst(1000/0.299792458/AliL3Transform::GetSolenoidField());
+  //AliKalmanTrack::SetConvConst(1000/0.299792458/AliHLTTransform::GetSolenoidField());
   if(fMarian==kFALSE)
     sprintf(filename,"%s/offline/AliTPCclusters.root",fPath);
   else
@@ -92,7 +92,7 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
   bool compressed=0;
   if(compressed)
     {
-      cout<<"AliL3OfflineDataCompressor::LoadData : Taking compressed offline files!!"<<endl;
+      cout<<"AliHLTOfflineDataCompressor::LoadData : Taking compressed offline files!!"<<endl;
       sprintf(filename,"%s/comp/offline/AliTPCclusters.root",fPath);
     }
   TFile *in = TFile::Open(filename);
@@ -143,7 +143,7 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
   delete tracktree; 
   tf->Close();
   
-  AliL3TrackArray *comptracks = new AliL3TrackArray("AliL3ModelTrack");
+  AliHLTTrackArray *comptracks = new AliHLTTrackArray("AliHLTModelTrack");
   cout<<"Loaded "<<nentr<<" offline tracks"<<endl;
   Int_t slice,padrow;
   Int_t totcounter=0;
@@ -168,8 +168,8 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
        if(sec >= 18)
          sec += 18;
       
-      AliL3Transform::Sector2Slice(slice,padrow,sec,row);
-      Double_t par[5],xk=AliL3Transform::Row2X(padrow);
+      AliHLTTransform::Sector2Slice(slice,padrow,sec,row);
+      Double_t par[5],xk=AliHLTTransform::Row2X(padrow);
       track->PropagateTo(xk);
       track->GetExternalParameters(xk,par);
       Double_t psi = TMath::ASin(par[2]) + track->GetAlpha();
@@ -193,9 +193,9 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
       first[1] = par[0];
       first[2] = par[1];
 
-      AliL3Transform::Local2Global(first,slice);
+      AliHLTTransform::Local2Global(first,slice);
       
-      AliL3ModelTrack *outtrack = (AliL3ModelTrack*)comptracks->NextTrack();
+      AliHLTModelTrack *outtrack = (AliHLTModelTrack*)comptracks->NextTrack();
       outtrack->SetNHits(nhits);
       outtrack->SetFirstPoint(first[0],first[1],first[2]);
       outtrack->SetPt(1./pt1);
@@ -254,18 +254,18 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
            }
            
          //cout<<"sector "<<sec<<" row "<<row<<endl;
-         if(!AliL3Transform::Sector2Slice(slice,padrow,sec,row))
+         if(!AliHLTTransform::Sector2Slice(slice,padrow,sec,row))
            exit(5);
-         xyz[0] = AliL3Transform::Row2X(padrow);
+         xyz[0] = AliHLTTransform::Row2X(padrow);
          
          //cout<<"Hit in slice "<<slice<<" padrow "<<padrow<<" index "<<index<<" y "<<cluster->GetY()<<" z "<<cluster->GetZ()<<endl;
-         AliL3Transform::Local2Raw(xyz,sec,row);
+         AliHLTTransform::Local2Raw(xyz,sec,row);
          //cout<<"slice "<<slice<<" padrow "<<padrow<<" pad "<<xyz[1]<<" time "<<xyz[2]<<endl;
          
-         if(xyz[1] < -1 || xyz[1] > AliL3Transform::GetNPads(padrow) ||
-            xyz[2] < -1 || xyz[2] > AliL3Transform::GetNTimeBins())
+         if(xyz[1] < -1 || xyz[1] > AliHLTTransform::GetNPads(padrow) ||
+            xyz[2] < -1 || xyz[2] > AliHLTTransform::GetNTimeBins())
            {
-             cerr<<"AliL3DataCompressor::FillOfflineData : Wrong time "<<xyz[2]<<" in slice "
+             cerr<<"AliHLTDataCompressor::FillOfflineData : Wrong time "<<xyz[2]<<" in slice "
                  <<slice<<" padrow "<<padrow<<endl;
              cout<<"sector "<<sec<<" row "<<row<<endl;
              //cout<<"Hit in slice "<<slice<<" padrow "<<padrow<<" y "<<cluster->GetY()<<" z "<<cluster->GetZ()<<endl;
@@ -274,21 +274,21 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
            }
 
          Float_t angle = 0;
-         AliL3Transform::Local2GlobalAngle(&angle,slice);
-         if(!outtrack->CalculateReferencePoint(angle,AliL3Transform::Row2X(padrow)))
+         AliHLTTransform::Local2GlobalAngle(&angle,slice);
+         if(!outtrack->CalculateReferencePoint(angle,AliHLTTransform::Row2X(padrow)))
            {
-             cerr<<"AliL3DataCompressor::FillOfflineData : Error in crossing point calc on slice "
+             cerr<<"AliHLTDataCompressor::FillOfflineData : Error in crossing point calc on slice "
                  <<slice<<" row "<<padrow<<endl;
              exit(5);
            }
 
          Float_t xyzcross[3] = {outtrack->GetPointX(),outtrack->GetPointY(),outtrack->GetPointZ()};
-         AliL3Transform::Global2Raw(xyzcross,sec,row);
+         AliHLTTransform::Global2Raw(xyzcross,sec,row);
          /*
            if(fabs(xyzcross[1] - xyz[1]) > 10 ||
            fabs(xyzcross[2] - xyz[2]) > 10)
            {
-           cout<<"AliL3DataCompressor::FillOfflineData : Wrong crossing slice "<<slice<<" padrow "
+           cout<<"AliHLTDataCompressor::FillOfflineData : Wrong crossing slice "<<slice<<" padrow "
            <<padrow<<" pad "<<xyz[1]<<" padhit "<<xyzcross[1]<<" time "<<xyz[2]<<" timehit "<<xyzcross[2]<<endl;
            outtrack->Print();
            exit(5);
@@ -303,9 +303,9 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
              Float_t angle = outtrack->GetCrossingAngle(padrow,slice);
              outtrack->SetCrossingAngleLUT(padrow,angle);
              outtrack->CalculateClusterWidths(padrow,kTRUE);
-             Int_t patch = AliL3Transform::GetPatch(padrow);
-             Float_t sigmaY2 = cluster->GetSigmaY2() / pow(AliL3Transform::GetPadPitchWidth(patch),2);
-             Float_t sigmaZ2 = cluster->GetSigmaZ2() / pow(AliL3Transform::GetZWidth(),2);
+             Int_t patch = AliHLTTransform::GetPatch(padrow);
+             Float_t sigmaY2 = cluster->GetSigmaY2() / pow(AliHLTTransform::GetPadPitchWidth(patch),2);
+             Float_t sigmaZ2 = cluster->GetSigmaZ2() / pow(AliHLTTransform::GetZWidth(),2);
              outtrack->SetCluster(padrow,xyz[1],xyz[2],clustercharge,sigmaY2,sigmaZ2,3);
            }
          else
@@ -316,15 +316,15 @@ void AliL3OfflineDataCompressor::LoadData(Int_t event,Bool_t sp)
        }
     }
   
-  cout<<"AliL3DataCompressor::FillOfflineData : Wrote "<<totcounter<<" clusters"<<endl;
+  cout<<"AliHLTDataCompressor::FillOfflineData : Wrote "<<totcounter<<" clusters"<<endl;
   //Write tracks to file
-  AliL3Compress *comp = new AliL3Compress(-1,-1,fPath,fWriteClusterShape,fEvent);
+  AliHLTCompress *comp = new AliHLTCompress(-1,-1,fPath,fWriteClusterShape,fEvent);
   comp->WriteFile(comptracks);
   delete comp;
   delete comptracks;
 }
 
-void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
+void AliHLTOfflineDataCompressor::WriteRemaining(Bool_t select)
 {
   //Write remaining clusters (not assigned to any tracks) to file
   
@@ -338,7 +338,7 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
   
   if(!fSinglePatch)
     {
-      cerr<<"AliL3OfflineDataCompressor::WriteRemaining : You have to modify this function when not running singlepatch"<<endl;
+      cerr<<"AliHLTOfflineDataCompressor::WriteRemaining : You have to modify this function when not running singlepatch"<<endl;
       return;
     }
   
@@ -350,7 +350,7 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
     }
   
   cout<<"Writing remaining clusters "<<endl;
-  Int_t nrows = AliL3Transform::GetNRows(),sector,row,sec;
+  Int_t nrows = AliHLTTransform::GetNRows(),sector,row,sec;
 #ifdef asvversion
   AliTPCtracker *tracker = (AliTPCtracker*)fTracker;
 #endif
@@ -360,7 +360,7 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
       BIT_FILE *output = OpenOutputBitFile(filename);
       if(!output)
        {
-         cerr<<"AliL3OfflineDataCompressor::WriteRemaining : Cannot open file "<<filename<<endl;
+         cerr<<"AliHLTOfflineDataCompressor::WriteRemaining : Cannot open file "<<filename<<endl;
          exit(5);
        }
       
@@ -369,7 +369,7 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
       
       for(Int_t padrow=0; padrow < nrows; padrow++)
        {
-         AliL3Transform::Slice2Sector(slice,padrow,sector,row);
+         AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
          sec=sector;
          
          if(fMarian == kFALSE)
@@ -418,19 +418,19 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
              if(fWriteIdsToFile)
                idfile << cluster->GetLabel(0)<<' ';
              
-             Float_t xyz[3] = {AliL3Transform::Row2X(padrow),cluster->GetY(),cluster->GetZ()};
-             AliL3Transform::Local2Raw(xyz,sector,row);
+             Float_t xyz[3] = {AliHLTTransform::Row2X(padrow),cluster->GetY(),cluster->GetZ()};
+             AliHLTTransform::Local2Raw(xyz,sector,row);
 
-             Int_t patch = AliL3Transform::GetPatch(padrow);
-             Float_t padw = cluster->GetSigmaY2()/pow(AliL3Transform::GetPadPitchWidth(patch),2);
-             Float_t timew = cluster->GetSigmaZ2()/pow(AliL3Transform::GetZWidth(),2);
+             Int_t patch = AliHLTTransform::GetPatch(padrow);
+             Float_t padw = cluster->GetSigmaY2()/pow(AliHLTTransform::GetPadPitchWidth(patch),2);
+             Float_t timew = cluster->GetSigmaZ2()/pow(AliHLTTransform::GetZWidth(),2);
              
              Int_t buff;
              //Write pad
              buff = (Int_t)rint(xyz[1]*10);
              if(buff<0)
                {
-                 cerr<<"AliL3OfflineDataCompressor:WriteRemaining : Wrong pad value "<<buff<<endl;
+                 cerr<<"AliHLTOfflineDataCompressor:WriteRemaining : Wrong pad value "<<buff<<endl;
                  exit(5);
                }
              OutputBits(output,buff,11);
@@ -439,7 +439,7 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
              buff = (Int_t)rint(xyz[2]*10);
              if(buff<0)
                {
-                 cerr<<"AliL3OfflineDataCompressor:WriteRemaining : Wrong time value "<<buff<<endl;
+                 cerr<<"AliHLTOfflineDataCompressor:WriteRemaining : Wrong time value "<<buff<<endl;
                  exit(5);
                }
              OutputBits(output,buff,13);
@@ -468,12 +468,12 @@ void AliL3OfflineDataCompressor::WriteRemaining(Bool_t select)
     }
 }
 
-void AliL3OfflineDataCompressor::SelectRemainingClusters()
+void AliHLTOfflineDataCompressor::SelectRemainingClusters()
 {
   //select the remaining clusters 
   //which were not compressed  
   cout<<"Cleaning up clusters"<<endl;
-  Int_t nrows = AliL3Transform::GetNRows();
+  Int_t nrows = AliHLTTransform::GetNRows();
   Int_t gap=(Int_t)(0.125*nrows), shift=(Int_t)(0.5*gap);
   
   Int_t sector,row,sec;
@@ -486,7 +486,7 @@ void AliL3OfflineDataCompressor::SelectRemainingClusters()
       for(Int_t padrow=0; padrow < nrows; padrow++)
        {
                  
-         AliL3Transform::Slice2Sector(slice,padrow,sector,row);
+         AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
          sec=sector;
          
          if(fMarian == kFALSE)
@@ -510,8 +510,8 @@ void AliL3OfflineDataCompressor::SelectRemainingClusters()
                continue;
 
              //Check the widths (errors) of the cluster, and remove big bastards:
-             Float_t xyw = cluster->GetSigmaY2() / pow(AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(padrow)),2);
-             Float_t zw  = cluster->GetSigmaZ2() / pow(AliL3Transform::GetZWidth(),2);
+             Float_t xyw = cluster->GetSigmaY2() / pow(AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(padrow)),2);
+             Float_t zw  = cluster->GetSigmaZ2() / pow(AliHLTTransform::GetZWidth(),2);
              if(xyw >= 2.55 || zw >= 2.55)//Because we use 1 byte to store
                {
                  cluster->Use();
diff --git a/HLT/comp/AliHLTOfflineDataCompressor.h b/HLT/comp/AliHLTOfflineDataCompressor.h
new file mode 100644 (file)
index 0000000..89eef77
--- /dev/null
@@ -0,0 +1,37 @@
+// @(#) $Id$
+
+#ifndef ALIL3OFFLINEDATACOMPRESSOR_H
+#define ALIL3OFFLINEDATACOMPRESSOR_H
+
+#include "AliHLTRootTypes.h"
+#include "AliHLTDataCompressor.h"
+
+class AliTracker;
+
+class AliHLTOfflineDataCompressor : public AliHLTDataCompressor {
+  
+ public:
+  AliHLTOfflineDataCompressor();
+  AliHLTOfflineDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape,Bool_t MI=kFALSE);
+  virtual ~AliHLTOfflineDataCompressor();
+  
+  void LoadData(Int_t event,Bool_t sp=kTRUE);
+  void FillData(Int_t /*minhits*/,Bool_t /*expand*/) {return;};
+  void WriteRemaining(Bool_t select);
+
+ private:
+  AliHLTOfflineDataCompressor(const AliHLTOfflineDataCompressor& /*ac*/) : AliHLTDataCompressor() {;}
+  AliHLTOfflineDataCompressor& operator=(const AliHLTOfflineDataCompressor& /*ac*/){return *this;}
+
+  Bool_t fMarian;        // is Marian TPC tracking used
+  AliTracker *fTracker;  //!
+  
+  void SelectRemainingClusters();
+
+  ClassDef(AliHLTOfflineDataCompressor,1) 
+
+};
+
+typedef AliHLTOfflineDataCompressor AliL3OfflineDataCompressor; // for backward compatibility
+
+#endif
diff --git a/HLT/comp/AliL3CompLinkDef.h b/HLT/comp/AliL3CompLinkDef.h
deleted file mode 100644 (file)
index a2cb41a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// @(#) $Id$
-
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AliL3Modeller; 
-#ifndef macosx
-#pragma link C++ class AliL3ModelTrack; 
-#endif
-#pragma link C++ class AliL3Compress; 
-#pragma link C++ class AliL3CompressAC; 
-#pragma link C++ class AliL3ClusterFitter; 
-#pragma link C++ class AliL3DataCompressor; 
-#pragma link C++ class AliL3ClusterModel; 
-#ifndef macosx
-#pragma link C++ class AliL3DataCompressorHelper; 
-#endif
-#ifdef use_aliroot
-#pragma link C++ class AliL3OfflineDataCompressor; 
-#endif
-
-#endif
-
diff --git a/HLT/comp/AliL3Compress.h b/HLT/comp/AliL3Compress.h
deleted file mode 100644 (file)
index fb22cee..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// @(#) $Id$
-
-#ifndef AliL3_Compress
-#define AliL3_Compress
-
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-#include "AliL3DataCompressor.h"
-
-class AliL3Compress {
-  
- public:
-  AliL3Compress();
-  AliL3Compress(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
-  virtual ~AliL3Compress();
-  
-  Bool_t WriteFile(AliL3TrackArray *tracks,Char_t *filename=0);
-  Bool_t ReadFile(Char_t which,Char_t *filename=0);
-  virtual Bool_t CompressFile();
-  virtual Bool_t ExpandFile();
-  void CompressRemaining(AliL3SpacePointData *points[36][6],UInt_t npoints[36][6]);
-  void ExpandRemaining(TempCluster **clusters,Int_t *ncl,Int_t maxclusters);
-  virtual void PrintCompRatio(STDOF *outfile=0);
-  Int_t GetEntropy(Float_t &padEntropy,Float_t &timeEntropy,Float_t &chargeEntropy);
-  
-  AliL3TrackArray *GetTracks() {return fTracks;}
-  
- protected:
-  AliL3TrackArray *fTracks; //! Array of tracks
-  Int_t fSlice; // Slice
-  Int_t fPatch; // Patch
-  Char_t fPath[100]; // Path to the files
-  Bool_t fWriteShape; // Flag to write the shape
-  Int_t fEvent; // Current event
-
-  
-  ClassDef(AliL3Compress,1) 
-
-};
-
-#endif
diff --git a/HLT/comp/AliL3DataCompressorHelper.cxx b/HLT/comp/AliL3DataCompressorHelper.cxx
deleted file mode 100644 (file)
index e583019..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-// @(#) $Id$
-
-// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
-//*-- Copyright &copy ALICE HLT Group
-
-#include "AliL3StandardIncludes.h"
-
-#include "AliL3RootTypes.h"
-#include "AliL3Transform.h"
-
-#include "AliL3DataCompressorHelper.h"
-
-#if __GNUC__ >= 3
-using namespace std;
-#endif
-
-//_____________________________________________________________
-//
-//  AliL3DataCompression
-//
-// Interface class; binary <-> AliROOT handling of TPC data compression classes.
-//
-
-
-ClassImp(AliL3DataCompressorHelper)
-
-
-Int_t AliL3DataCompressorHelper::fgNumTimeBits = 12;
-Int_t AliL3DataCompressorHelper::fgNumPadBits = 12;
-Int_t AliL3DataCompressorHelper::fgNumChargeBits = 14;
-Int_t AliL3DataCompressorHelper::fgNumShapeBits = 14;
-Float_t AliL3DataCompressorHelper::fgXYResidualStep1 = 0.03;
-Float_t AliL3DataCompressorHelper::fgXYResidualStep2 = 0.03;
-Float_t AliL3DataCompressorHelper::fgXYResidualStep3 = 0.03;
-Float_t AliL3DataCompressorHelper::fgZResidualStep1 = 0.05;
-Float_t AliL3DataCompressorHelper::fgZResidualStep2 = 0.05;
-Float_t AliL3DataCompressorHelper::fgZResidualStep3 = 0.05;
-Float_t AliL3DataCompressorHelper::fgXYWidthStep = 0.005;
-Float_t AliL3DataCompressorHelper::fgZWidthStep = 0.005;
-Int_t AliL3DataCompressorHelper::fgClusterCharge = 100;
-Int_t AliL3DataCompressorHelper::fgNumPadBitsRemaining = 18;
-Int_t AliL3DataCompressorHelper::fgNumTimeBitsRemaining = 19;
-Int_t AliL3DataCompressorHelper::fgNumShapeBitsRemaining = 11;
-
-void AliL3DataCompressorHelper::SetBitNumbers(Int_t pad,Int_t time,Int_t charge,Int_t shape)
-{
-  // sets the numbers of bits
-  fgNumPadBits = pad;
-  fgNumTimeBits = time;
-  fgNumChargeBits = charge;
-  fgNumShapeBits = shape;
-}
-
-void AliL3DataCompressorHelper::SetTransverseResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width)
-{
-  // sets the transverse resolution
-  fgXYResidualStep1 = res1;
-  fgXYResidualStep2 = res2;
-  fgXYResidualStep3 = res3;
-  fgXYWidthStep = width;
-}
-
-void AliL3DataCompressorHelper::SetLongitudinalResolutions(Float_t res1,Float_t res2,Float_t res3,Float_t width)
-{
-  // sets the longitudinal resolution
-  fgZResidualStep1 = res1;
-  fgZResidualStep2 = res2;
-  fgZResidualStep3 = res3;
-  fgZWidthStep = width;
-}
-
-void AliL3DataCompressorHelper::SetRemainingBitNumbers(Int_t pad,Int_t time,Int_t shape)
-{
-  // sets the numbers of remaining bits
-  fgNumPadBitsRemaining = pad;
-  fgNumTimeBitsRemaining = time;
-  fgNumShapeBitsRemaining = shape;
-}
-
-Float_t AliL3DataCompressorHelper::GetXYResidualStep(Int_t row) 
-{
-  // gets the XY residual step
-  if(row < AliL3Transform::GetNRowLow())
-    return fgXYResidualStep1;
-  else if(row < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1())
-    return fgXYResidualStep2;
-  else if(row < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1() + AliL3Transform::GetNRowUp2())
-    return fgXYResidualStep3;
-  else
-    {
-      cerr<<"AliL3DataCompressorHelper::GetXYResidualStep : Wrong row number "<<row<<endl;
-      return -1;
-    }
-}
-
-Float_t AliL3DataCompressorHelper::GetZResidualStep(Int_t row) 
-{
-  // gets the Z residual step
-  if(row < AliL3Transform::GetNRowLow())
-    return fgZResidualStep1;
-  else if(row < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1())
-    return fgZResidualStep2;
-  else if(row < AliL3Transform::GetNRowLow() + AliL3Transform::GetNRowUp1() + AliL3Transform::GetNRowUp2())
-    return fgZResidualStep3;
-  else
-    {
-      cerr<<"AliL3DataCompressorHelper::GetXYResidualStep : Wrong row number "<<row<<endl;
-      return -1;
-    }
-}
-
-Float_t AliL3DataCompressorHelper::GetPadPrecisionFactor()
-{
-  // gets pad precision factor
-  Int_t nbits = fgNumPadBitsRemaining;
-  if(nbits >=21)
-    return 10000;
-  if(nbits >= 18)
-    return 1000;
-  if(nbits >= 14) 
-    return 100;
-  if(nbits >= 11)
-    return 10;
-  if(nbits >= 8)
-    return 1;
-  else 
-    {
-      cerr<<"AliL3DataCompressorHelper::GetRemainingPadFactor : Too few bits for the pad direction: "<<nbits<<endl;
-      return 1;
-    }
-}
-
-Float_t AliL3DataCompressorHelper::GetTimePrecisionFactor()
-{
-  // gest time precision factor
-  Int_t nbits = fgNumTimeBitsRemaining;
-  if(nbits >=23)
-    return 10000;
-  if(nbits >= 19)
-    return 1000;
-  if(nbits >= 16) 
-    return 100;
-  if(nbits >= 13)
-    return 10;
-  if(nbits >= 9)
-    return 1;
-  else 
-    {
-      cerr<<"AliL3DataCompressorHelper::GetRemainingPadFactor : Too few bits for the pad direction: "<<nbits<<endl;
-      return 1;
-    }
-}
-
-
-Int_t AliL3DataCompressorHelper::Nint(Double_t x)
-{
-   // Round to nearest integer. Rounds half integers 
-   // to the nearest even integer.
-
-   Int_t i=0;
-   if (x >= 0) {
-      i = Int_t(x + 0.5);
-      if (x + 0.5 == Double_t(i) && i & 1) i--;
-   } else {
-      i = Int_t(x - 0.5);
-      if (x - 0.5 == Double_t(i) && i & 1) i++;
-
-   }
-   return i;
-}
diff --git a/HLT/comp/AliL3ModelTrack.cxx b/HLT/comp/AliL3ModelTrack.cxx
deleted file mode 100644 (file)
index d2626f5..0000000
+++ /dev/null
@@ -1,683 +0,0 @@
-// @(#) $Id$
-
-// Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
-//*-- Copyright &copy ALICE HLT Group
-//_____________________________________________________________
-// AliL3ModelTrack
-//
-// 
-
-
-#include "AliL3StandardIncludes.h"
-
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3Vertex.h"
-#include "AliL3DataCompressorHelper.h"
-
-#include "AliL3ModelTrack.h"
-
-#if __GNUC__ >= 3
-using namespace std;
-#endif
-
-ClassImp(AliL3ModelTrack)
-
-AliL3ModelTrack::AliL3ModelTrack() 
-{
-  // default constructor
-  fNClusters = 0;
-  fClusters = 0;
-  fOverlap = 0;
-  fPad=0;
-  fTime=0;
-  fNoverlaps=0;
-  fClusterCharge=0;
-  fTrackModel=0;
-  fCrossingAngle=0;
-  fParSigmaY2=0;
-  fParSigmaZ2=0;
-  fArraysCreated=kFALSE;
-}
-
-
-AliL3ModelTrack::~AliL3ModelTrack()
-{
-  // destructor
-  DeleteArrays();
-}
-
-void AliL3ModelTrack::DeleteArrays()
-{
-  // deletes all arrays
-  if(fClusters)
-    delete [] fClusters;
-  if(fPad)
-    delete [] fPad;
-  if(fTime)
-    delete [] fTime;
-  if(fCrossingAngle)
-    delete [] fCrossingAngle;
-  if(fParSigmaY2)
-    delete [] fParSigmaY2;
-  if(fParSigmaZ2)
-    delete [] fParSigmaZ2;
-  if(fTrackModel)
-    delete fTrackModel;
-  if(fNoverlaps)
-    delete [] fNoverlaps;
-  if(fOverlap)
-    {
-      for(Int_t i=0; i<AliL3Transform::GetNRows(fPatch); i++)
-       delete [] fOverlap[i];
-      delete [] fOverlap;
-    }
-  fArraysCreated=kFALSE;
-}
-
-void AliL3ModelTrack::Init(Int_t /*slice*/,Int_t patch)
-{
-  // Initialization
-  if(fArraysCreated)
-    {               
-      DeleteArrays();
-    }
-  fNClusters=AliL3Transform::GetNRows(patch);
-  fPatch=patch;
-  Int_t nrows = AliL3Transform::GetNRows(fPatch);
-  fClusters = new AliL3ClusterModel[nrows];
-  fPad = new Float_t[nrows];
-  fTime = new Float_t[nrows];
-  fCrossingAngle = new Float_t[nrows];
-  fParSigmaY2 = new Float_t[nrows];
-  fParSigmaZ2 = new Float_t[nrows];
-  fTrackModel = new AliL3TrackModel;
-  
-  fOverlap = new Int_t*[nrows];
-  fNoverlaps = new Int_t[nrows];
-  fMaxOverlaps = 5;
-  
-  memset(fNoverlaps,0,nrows*sizeof(Int_t));
-  memset(fClusters,0,nrows*sizeof(AliL3ClusterModel));
-  memset(fPad,0,nrows*sizeof(Float_t));
-  memset(fTime,0,nrows*sizeof(Float_t));
-  memset(fCrossingAngle,0,nrows*sizeof(Float_t));
-  memset(fParSigmaY2,0,nrows*sizeof(Float_t));
-  memset(fParSigmaZ2,0,nrows*sizeof(Float_t));
-  memset(fTrackModel,0,sizeof(AliL3TrackModel));
-  for(Int_t i=0; i<nrows; i++)
-    {
-      fOverlap[i] = new Int_t[fMaxOverlaps];
-      for(Int_t j=0; j<fMaxOverlaps; j++)
-       fOverlap[i][j]=-1;
-      fClusters[i].fSlice = -1;
-    }
-  fArraysCreated=kTRUE;
-}
-
-
-
-void AliL3ModelTrack::CalculateClusterWidths(Int_t row,Bool_t parametrize)
-{
-  //Cluster widths
-  
-  Float_t xyz[3];
-  Int_t sr,lr;
-  Int_t index = row - AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::CalculcateClusterWidths : Wrond index "<<index<<" row "<<row<<endl;
-      return;
-    }
-  Int_t patch = AliL3Transform::GetPatch(row);
-  AliL3Transform::Slice2Sector(0,row,sr,lr);
-  AliL3Transform::Raw2Local(xyz,sr,lr,GetPadHit(row),GetTimeHit(row));
-  fParSigmaY2[index] = AliL3Transform::GetParSigmaY2(row,xyz[2],GetCrossingAngleLUT(row));
-  fParSigmaZ2[index] = AliL3Transform::GetParSigmaZ2(row,xyz[2],GetTgl());
-  
-  if(parametrize)
-    {
-      fParSigmaY2[index] = (fParSigmaY2[index] + (1./12)*pow(AliL3Transform::GetPadPitchWidth(patch),2) );
-      fParSigmaY2[index] *= 0.108;
-      if(patch<2)
-       fParSigmaY2[index] *= 2.07;
-     
-      fParSigmaZ2[index] = (fParSigmaZ2[index] + (1./12)*pow(AliL3Transform::GetZWidth(),2) );
-      fParSigmaZ2[index] *= 0.169;
-      if(patch<2)
-       fParSigmaZ2[index] *= 1.77;
-    }
-  
-  //convert to raw coordinates:
-  fParSigmaY2[index] /= pow(AliL3Transform::GetPadPitchWidth(patch),2);
-  fParSigmaZ2[index] /= pow(AliL3Transform::GetZWidth(),2);
-}
-
-void AliL3ModelTrack::SetCluster(Int_t row,Float_t fpad,Float_t ftime,Float_t charge,
-                                Float_t sigmaY2,Float_t sigmaZ2,Int_t npads)
-{
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  
-  //First bit: Cluster is present or not
-  //Second bit: Cluster was set, meaning an fit attempt was done (if true)
-  
-  cl->fPresent |= 0x2; //set second bit to true, because a fit attempt has been made
-  
-  Int_t patch = AliL3Transform::GetPatch(row);
-  if(!charge || npads == 1)
-    {
-      cl->fPresent &= ~0x1; //set first bit to false
-    }
-  else
-    {
-      cl->fPresent|=0x1;//set first bit to true
-      cl->fDPad = (fpad - GetPadHit(row))/(AliL3DataCompressorHelper::GetXYResidualStep(row)/AliL3Transform::GetPadPitchWidth(patch));
-      cl->fDTime = (ftime - GetTimeHit(row))/(AliL3DataCompressorHelper::GetZResidualStep(row)/AliL3Transform::GetZWidth());
-      cl->fDCharge = charge;
-      if(sigmaY2==0 && sigmaZ2==0)
-       {
-         cl->fDSigmaY=0;//if width is zero, shape is not supposed to be written
-         cl->fDSigmaZ=0;
-       }
-      else
-       {
-         //cl->fDSigmaY2 = (sigmaY2 - GetParSigmaY2(row))/(pow(AliL3DataCompressorHelper::GetXYWidthStep(),2)/pow(AliL3Transform::GetPadPitchWidth(patch),2));
-         //cl->fDSigmaZ2 = (sigmaZ2 - GetParSigmaZ2(row))/(pow(AliL3DataCompressorHelper::GetZWidthStep(),2)/pow(AliL3Transform::GetZWidth(),2));
-         cl->fDSigmaY = (sqrt(sigmaY2) - sqrt(GetParSigmaY2(row)))/(AliL3DataCompressorHelper::GetXYWidthStep()/AliL3Transform::GetPadPitchWidth(patch));
-         cl->fDSigmaZ = (sqrt(sigmaZ2) - sqrt(GetParSigmaZ2(row)))/(AliL3DataCompressorHelper::GetZWidthStep()/AliL3Transform::GetZWidth());
-       }
-      cl->fNPads = npads;
-    }
-}
-
-
-void AliL3ModelTrack::Set(AliL3Track *tpt)
-{
-  // Sets track and does initialization
-  AliL3ModelTrack *tr = (AliL3ModelTrack*)tpt;
-  SetRowRange(tr->GetFirstRow(),tr->GetLastRow());
-  SetPhi0(tr->GetPhi0());
-  SetKappa(tr->GetKappa());
-  SetFirstPoint(tr->GetFirstPointX(),tr->GetFirstPointY(),tr->GetFirstPointZ());
-  SetLastPoint(tr->GetLastPointX(),tr->GetLastPointY(),tr->GetLastPointZ());
-  SetPt(tr->GetPt());
-  SetPsi(tr->GetPsi());
-  SetTgl(tr->GetTgl());
-  SetCharge(tr->GetCharge());
-  
-  if(fClusters)
-    {
-      cerr<<"AliL3ModelTrack::Set : Init has already been called for this object!"<<endl;
-      return;
-    }
-
-  //Init(tr->fSlice,tr->fPatch);
-  Init(0,tr->fPatch);
-  memcpy(fClusters,tr->fClusters,AliL3Transform::GetNRows(fPatch)*sizeof(AliL3ClusterModel));
-  memcpy(fPad,tr->fPad,AliL3Transform::GetNRows(fPatch)*sizeof(Float_t));
-  memcpy(fTime,tr->fTime,AliL3Transform::GetNRows(fPatch)*sizeof(Float_t));
-  memcpy(fParSigmaY2,tr->fParSigmaY2,AliL3Transform::GetNRows(fPatch)*sizeof(Float_t));
-  memcpy(fParSigmaZ2,tr->fParSigmaZ2,AliL3Transform::GetNRows(fPatch)*sizeof(Float_t));
-  memcpy(fCrossingAngle,tr->fCrossingAngle,AliL3Transform::GetNRows(fPatch)*sizeof(Float_t));
-  memcpy(fTrackModel,tr->fTrackModel,sizeof(AliL3TrackModel));
-
-}
-
-Int_t AliL3ModelTrack::GetNPresentClusters()
-{
-  //Return the number of assigned clusters to the track.
-  //Differs from fNClusters, which should be equal to the 
-  //number of padrows in the present patch.
-  
-  Int_t count=0;
-
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
-    if(IsPresent(i))
-      count++;
-
-  return count;
-}
-
-void AliL3ModelTrack::FillModel()
-{
-  //Fill the track structure
-  
-  if(fNClusters != AliL3Transform::GetNRows(fPatch))
-    {
-      cout<<"AliL3ModelTrack::FillModel : fNClusters != nrows; beware, this could be caused by a bug!!!"<<endl;
-      fNClusters = AliL3Transform::GetNRows(fPatch);
-    }
-
-  if(!fTrackModel)
-    {
-      cerr<<"AliL3ModelTrack::FillModel() : No trackmodel "<<endl;
-      return;
-    }
-  Double_t impact[3];
-  AliL3Vertex vertex;
-  CalculateHelix();
-  GetClosestPoint(&vertex,impact[0],impact[1],impact[2]);
-  fTrackModel->fKappa = GetKappa();
-  fTrackModel->fPhi = atan2(impact[1],impact[0]);
-  fTrackModel->fD = sqrt(impact[0]*impact[0] + impact[1]*impact[1]);
-  fTrackModel->fZ0 = impact[2];
-  fTrackModel->fTgl = GetTgl();
-  
-  //We have to check on which of the vertex the track fit is lying
-  //This we need to encode the azimuthal angle coordinate of the center of curvature.
-  if(GetRadius() < sqrt(GetCenterX()*GetCenterX()+GetCenterY()*GetCenterY()))
-    fTrackModel->fD *=-1;
-  
-}
-
-void AliL3ModelTrack::FillTrack()
-{
-  //Fill the track parameters from the structure.
-  
-  if(!fTrackModel)
-    {
-      cerr<<"AliL3ModelTrack::FillTrack() : No data!!"<<endl;
-      return;
-    }
-  SetKappa(fTrackModel->fKappa);
-  Double_t impact[3],psi;
-  Float_t trackPhi0 = fTrackModel->fPhi;
-  if(fTrackModel->fD < 0)
-    trackPhi0 += AliL3Transform::Pi();
-  Int_t charge = -1*(Int_t)copysign(1.,GetKappa());
-  impact[0] = fabs(fTrackModel->fD)*cos(fTrackModel->fPhi);
-  impact[1] = fabs(fTrackModel->fD)*sin(fTrackModel->fPhi);
-  impact[2] = fTrackModel->fZ0;
-
-  psi = trackPhi0 - charge*0.5*AliL3Transform::Pi();
-  if(psi < 0) 
-    psi += 2*AliL3Transform::Pi();
-
-  SetCharge(charge);
-  SetFirstPoint(impact[0],impact[1],impact[2]);
-  SetPsi(psi);
-  SetTgl(fTrackModel->fTgl);
-  SetPt((AliL3Transform::GetBFact()*AliL3Transform::GetBField())/fabs(GetKappa()));
-  fNClusters = AliL3Transform::GetNRows(fPatch);
-  CalculateHelix();
-  
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
-    {
-      AliL3ClusterModel *cl = GetClusterModel(i);
-      if(!cl) continue;
-
-      if(cl->fSlice == -1)
-       {
-         SetPadHit(i,-1);
-         SetTimeHit(i,-1);
-         continue;
-       }
-      if(cl->fSlice < 0 || cl->fSlice > 35)
-       {
-         cerr<<"AliL3ModelTrack::FillTrack : Slice out of range "<<cl->fSlice<<" on row "<<i<<endl;
-         exit(5);
-       }
-      
-      Float_t angle = 0;
-      
-      AliL3Transform::Local2GlobalAngle(&angle,cl->fSlice);
-      if(!CalculateReferencePoint(angle,AliL3Transform::Row2X(i)))
-       {
-         if(IsPresent(i))
-           {
-             cerr<<"AliL3ModelTrack::FillTrack : Track does not cross slice "<<cl->fSlice<<" row "<<i<<" Points "
-                 <<GetPointX()<<" "<<GetPointY()<<" "<<GetPointZ()<<endl;
-             Print();
-             exit(5);
-           }
-         SetPadHit(i,-1);
-         SetTimeHit(i,-1);
-         continue;
-       }
-      Float_t hit[3] = {GetPointX(),GetPointY(),GetPointZ()};
-      Int_t sector,row;
-      AliL3Transform::Slice2Sector(cl->fSlice,i,sector,row);
-      AliL3Transform::Global2Raw(hit,sector,row);
-
-      SetPadHit(i,hit[1]);
-      SetTimeHit(i,hit[2]);
-
-      Float_t crossingangle = GetCrossingAngle(i,cl->fSlice);
-      
-      SetCrossingAngleLUT(i,crossingangle);
-      CalculateClusterWidths(i,kTRUE);
-      
-    }
-}
-
-void AliL3ModelTrack::SetPadHit(Int_t row,Float_t pad)
-{
-  // sets pad hit
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::SetPadHit() : Wrong index: "<<index<<endl;
-      return;
-    }
-  fPad[index]=pad;
-}
-
-void AliL3ModelTrack::SetTimeHit(Int_t row,Float_t time)
-{
-  // sets time hit
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::SetTimeHit() : Wrong index: "<<index<<endl;
-      return;
-    }
-  fTime[index]=time;
-}
-
-void AliL3ModelTrack::SetCrossingAngleLUT(Int_t row,Float_t angle)
-{
-  // sets LUT for crossing angle
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::SetCrossingAngle() : Wrong index: "<<index<<endl;
-      return;
-    }
-  fCrossingAngle[index]=angle;
-}
-
-void AliL3ModelTrack::SetOverlap(Int_t row,Int_t id)
-{
-  // sets overlap
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::SetOverlap() : Wrong index: "<<index<<endl;
-      return;
-    }
-  if(fNoverlaps[index] >= fMaxOverlaps) return;
-  fOverlap[index][fNoverlaps[index]++] = id;
-}
-
-Bool_t AliL3ModelTrack::IsPresent(Int_t row)
-{
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  return (Bool_t)(cl->fPresent & 0x1);
-}
-
-Bool_t AliL3ModelTrack::IsSet(Int_t row)
-{
-  // checks if row was set
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  return (Bool_t)(cl->fPresent & 0x2);
-}
-
-Int_t AliL3ModelTrack::GetNPads(Int_t row)
-{
-  // gets number of pads
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  return cl->fNPads;
-}
-
-Bool_t AliL3ModelTrack::GetPad(Int_t row,Float_t &pad)
-{
-  // gets pad
-  //(fpad - GetPadHit(row))/(AliL3DataCompressorHelper::GetXYResidualStep(row)/AliL3Transform::GetPadPitchWidth(patch));
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  Int_t patch = AliL3Transform::GetPatch(row);
-  pad = cl->fDPad*(AliL3DataCompressorHelper::GetXYResidualStep(row)/AliL3Transform::GetPadPitchWidth(patch)) + GetPadHit(row);
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetTime(Int_t row,Float_t &time)
-{
-  // gets time
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  time = cl->fDTime*(AliL3DataCompressorHelper::GetZResidualStep(row)/AliL3Transform::GetZWidth()) + GetTimeHit(row);
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetClusterCharge(Int_t row,Int_t &charge)
-{
-  // gets cluster's charge
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  charge = (Int_t)cl->fDCharge;// + AliL3DataCompressorHelperHelper::GetClusterCharge();
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetSigmaY2(Int_t row,Float_t &sigma2)
-{
-  // gets SigmaY2
-  //cl->fDSigmaY = (sqrt(sigmaY2) - sqrt(GetParSigmaY2(row)))/(AliL3DataCompressorHelper::GetXYWidthStep()/AliL3Transform::GetPadPitchWidth(patch));
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  Int_t patch = AliL3Transform::GetPatch(row);
-  Float_t sigma = cl->fDSigmaY*(AliL3DataCompressorHelper::GetXYWidthStep()/AliL3Transform::GetPadPitchWidth(patch)) + sqrt(GetParSigmaY2(row));
-  sigma2 = sigma*sigma;
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetSigmaZ2(Int_t row,Float_t &sigma2)
-{
-  // gets SigmaZ2
-  //cl->fDSigmaZ = (sqrt(sigmaZ2) - sqrt(GetParSigmaZ2(row)))/(AliL3DataCompressorHelper::GetZWidthStep()/AliL3Transform::GetZWidth());
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  Float_t sigma = cl->fDSigmaZ*(AliL3DataCompressorHelper::GetZWidthStep()/AliL3Transform::GetZWidth()) + sqrt(GetParSigmaZ2(row));
-  sigma2 = sigma*sigma;
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetPadResidual(Int_t row,Float_t &res)
-{
-  // gets pad residual
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  Int_t patch = AliL3Transform::GetPatch(row);
-  res = cl->fDPad*(AliL3DataCompressorHelper::GetXYResidualStep(row)/AliL3Transform::GetPadPitchWidth(patch));
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetTimeResidual(Int_t row,Float_t &res)
-{
-  // gets time residual
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  res = cl->fDTime*(AliL3DataCompressorHelper::GetZResidualStep(row)/AliL3Transform::GetZWidth());
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetSigmaYResidual(Int_t row,Float_t &res)
-{
-  // gets SigmaY residual (?)
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  Int_t patch = AliL3Transform::GetPatch(row);
-  res = cl->fDSigmaY*(AliL3DataCompressorHelper::GetXYWidthStep()/AliL3Transform::GetPadPitchWidth(patch));
-  return IsPresent(row);
-}
-
-Bool_t AliL3ModelTrack::GetSigmaZResidual(Int_t row,Float_t &res)
-{
-  // gets SigmaZ resigual (?)
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  res = cl->fDSigmaZ*(AliL3DataCompressorHelper::GetZWidthStep()/AliL3Transform::GetZWidth());
-  return IsPresent(row);
-}
-
-Int_t AliL3ModelTrack::GetSlice(Int_t row)
-{
-  // Gets slice
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  return cl->fSlice;
-}
-
-Float_t AliL3ModelTrack::GetPadHit(Int_t row)
-{
-  // Gets pad hit
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetPadHit() : Wrong index: "<<index<<" row "<<row<<endl;
-      return 0;
-    }
-  return fPad[index];
-}
-
-Float_t AliL3ModelTrack::GetTimeHit(Int_t row)
-{
-  // Gets time hit
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetTimeHit() : Wrong index: "<<index<<" row "<<row<<endl;
-      return 0;
-    }
-  return fTime[index];
-}
-
-Float_t AliL3ModelTrack::GetCrossingAngleLUT(Int_t row)
-{
-  // gets LUT for crossing angle
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetCrossingAngleLUT() : Wrong index: "<<index<<" row "<<row<<endl;
-      return 0;
-    }
-  return fCrossingAngle[index];
-}
-
-Float_t AliL3ModelTrack::GetParSigmaY2(Int_t row)
-{
-  // gets par SigmaY2 (?)
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetParSigmaY2() : Wrong index: "<<index<<" row "<<row<<endl;
-      return 0;
-    }
-  return fParSigmaY2[index];
-}
-
-Float_t AliL3ModelTrack::GetParSigmaZ2(Int_t row)
-{
-  // gets par SigmaZ2 (?)
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetParSigmaZ2() : Wrong index: "<<index<<" row "<<row<<endl;
-      return 0;
-    }
-  return fParSigmaZ2[index];
-}
-
-Int_t AliL3ModelTrack::GetNOverlaps(Int_t row)
-{
-  // gets number of overlaps
-  Int_t index = row - AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetOverlap() : Wrong index: "<<index<<endl;
-      return 0;
-    }
-  return fNoverlaps[index];
-}
-
-Int_t *AliL3ModelTrack::GetOverlaps(Int_t row)
-{
-  // gets overlaps
-  Int_t index = row - AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetOverlap() : Wrong index: "<<index<<endl;
-      return 0;
-    }
-  return fOverlap[index];
-}
-
-AliL3ClusterModel *AliL3ModelTrack::GetClusterModel(Int_t row)
-{
-  // gets cluster model
-  if(!fClusters) return 0; 
-  Int_t index = row-AliL3Transform::GetFirstRow(fPatch);
-  if(index < 0 || index > AliL3Transform::GetNRows(fPatch))
-    {
-      cerr<<"AliL3ModelTrack::GetClusterModel() : Wrong index: "<<index<<endl;
-      return 0;
-    }
-  return &fClusters[index];
-}
-
-void AliL3ModelTrack::Print(Bool_t everything)
-{
-  //Print info
-
-  cout<<"First point "<<GetFirstPointX()<<" "<<GetFirstPointY()<<" "<<GetFirstPointZ()<<endl;
-  cout<<"Last point "<<GetLastPointX()<<" "<<GetLastPointY()<<" "<<GetLastPointZ()<<endl;
-  cout<<"Pt "<<GetPt()<<" kappa "<<GetKappa()<<" tgl "<<GetTgl()<<" psi "<<GetPsi()<<" charge "<<GetCharge()<<endl;
-  cout<<"Center "<<GetCenterX()<<" "<<GetCenterY()<<endl<<endl;
-  if(!everything)
-    return;
-  cout<<"NHits "<<GetNClusters()<<endl;
-
-  cout<<"Clusters:"<<endl;
-  Int_t origslice=-1,counter=0;
-  Float_t fpad,ftime,sigmaY2,sigmaZ2;
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
-    {
-      AliL3ClusterModel *cl = GetClusterModel(i);
-      
-      if(!IsPresent(i))
-       {
-         cout<<i<<" Empty"<<" Slice "<<cl->fSlice<<" Padcrossing "<<GetPadHit(i)<<" Timecrossing "<<GetTimeHit(i)<<" ";
-         //AliL3Transform::RawHLT2Global(xyz,cl->fSlice,i,GetPadHit(i),GetTimeHit(i));
-         //cout<<i<<" slice "<<cl->fSlice<<" x "<<xyz[0]<<" y "<<xyz[1]<<" z "<<xyz[2];
-       }
-      else
-       {
-         GetPad(i,fpad);
-         GetTime(i,ftime);
-         GetSigmaY2(i,sigmaY2);
-         GetSigmaZ2(i,sigmaZ2);
-         if(counter==0)
-           origslice=cl->fSlice;
-         else if(cl->fSlice != origslice)
-           cout<<"Change in slice "<<cl->fSlice<<" "<<origslice<<endl;
-         cout<<i<<" Slice "<<cl->fSlice<<" Dpad "<<cl->fDPad<<" Dtime "<<cl->fDTime<<" Dcharge "<<cl->fDCharge;
-         cout<<" sigmaY2 "<<sigmaY2<<" sigmaZ2 "<<sigmaZ2;
-         cout<<" parsigmaY2 "<<GetParSigmaY2(i)<<" parsigmaZ2 "<<GetParSigmaZ2(i);
-         cout<<" Pad "<<fpad<<" padhit "<<GetPadHit(i)<<" Time "<<ftime<<" timehit "<<GetTimeHit(i)<<" ";
-         counter++;
-       }
-      cout<<endl;
-    }
-}
-
-#ifdef do_mc
-void AliL3ModelTrack::SetClusterLabel(Int_t row,Int_t *trackID)
-{
-  // sets cluster label
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  cl->fTrackID[0] = trackID[0];
-  cl->fTrackID[1] = trackID[1];
-  cl->fTrackID[2] = trackID[2];
-#else
-  void AliL3ModelTrack::SetClusterLabel(Int_t /*row*/,Int_t */*trackID*/)
-{
-  // Does nothing if do_mc undefined
-  return;
-#endif
-}
-
-#ifdef do_mc
-void AliL3ModelTrack::GetClusterLabel(Int_t row,Int_t *trackID)
-{
-  // gets cluster label
-  AliL3ClusterModel *cl = GetClusterModel(row);
-  trackID[0] = cl->fTrackID[0];
-  trackID[1] = cl->fTrackID[1];
-  trackID[2] = cl->fTrackID[2];
-#else
-  void AliL3ModelTrack::GetClusterLabel(Int_t /*row*/,Int_t */*trackID*/)
-{
-  // Does nothing if do_mc undefined
-  return;
-#endif
-}
-
diff --git a/HLT/comp/AliL3OfflineDataCompressor.h b/HLT/comp/AliL3OfflineDataCompressor.h
deleted file mode 100644 (file)
index 2376c42..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3OFFLINEDATACOMPRESSOR_H
-#define ALIL3OFFLINEDATACOMPRESSOR_H
-
-#include "AliL3RootTypes.h"
-#include "AliL3DataCompressor.h"
-
-class AliTracker;
-
-class AliL3OfflineDataCompressor : public AliL3DataCompressor {
-  
- public:
-  AliL3OfflineDataCompressor();
-  AliL3OfflineDataCompressor(Char_t *path,Bool_t keep,Bool_t writeshape,Bool_t MI=kFALSE);
-  virtual ~AliL3OfflineDataCompressor();
-  
-  void LoadData(Int_t event,Bool_t sp=kTRUE);
-  void FillData(Int_t /*minhits*/,Bool_t /*expand*/) {return;};
-  void WriteRemaining(Bool_t select);
-
- private:
-  AliL3OfflineDataCompressor(const AliL3OfflineDataCompressor& /*ac*/) : AliL3DataCompressor() {;}
-  AliL3OfflineDataCompressor& operator=(const AliL3OfflineDataCompressor& /*ac*/){return *this;}
-
-  Bool_t fMarian;        // is Marian TPC tracking used
-  AliTracker *fTracker;  //!
-  
-  void SelectRemainingClusters();
-
-  ClassDef(AliL3OfflineDataCompressor,1) 
-
-};
-
-#endif
index afcf9f716ea7c97fe123bb878666d61fc5a33619..244d49a7339a91e02ffe7b91877f4c7ff768ce07 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides  #
 ################################
 
-MODNAME = AliL3Comp
+MODNAME = AliHLTComp
 
 ifndef ALIHLT_TOPDIR
 ALIHLT_TOPDIR = $(shell pwd)/..
@@ -14,15 +14,15 @@ endif
 
 include $(ALIHLT_TOPDIR)/Makefile.conf
 
-SRCS =  AliL3Modeller.cxx AliL3ClusterFitter.cxx \
-        AliL3Compress.cxx  AliL3DataCompressor.cxx AliL3CompressAC.cxx
+SRCS =  AliHLTModeller.cxx AliHLTClusterFitter.cxx \
+        AliHLTCompress.cxx  AliHLTDataCompressor.cxx AliHLTCompressAC.cxx
 
 ifneq ($(ARCH),macosx)
 ## for macosx put into src as symbolic link
-SRCS += AliL3DataCompressorHelper.cxx AliL3ModelTrack.cxx
+SRCS += AliHLTDataCompressorHelper.cxx AliHLTModelTrack.cxx
 endif
 
-ADD_C_OBJS = $(OBJDIR)/bitio.o $(OBJDIR)/errhand.o $(OBJDIR)/AliL3FitUtilities.o
+ADD_C_OBJS = $(OBJDIR)/bitio.o $(OBJDIR)/errhand.o $(OBJDIR)/AliHLTFitUtilities.o
 
 ifeq ($(ALIHLT_USEPACKAGE),ROOT)
 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
@@ -30,7 +30,7 @@ OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(ADD_C_OBJS) $(DICTO)
 endif
 
 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
-SRCS += AliL3OfflineDataCompressor.cxx
+SRCS += AliHLTOfflineDataCompressor.cxx
 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(ADD_C_OBJS) $(DICTO)
 endif
@@ -48,8 +48,8 @@ $(OBJDIR)/bitio.o: bitio.c
 $(OBJDIR)/errhand.o: errhand.c
        $(CXX) $(CXXFLAGS) -c -o $(OBJDIR)/errhand.o errhand.c
 
-$(OBJDIR)/AliL3FitUtilities.o: AliL3FitUtilities.c
-       $(CXX) $(CXXFLAGS) -c -o $(OBJDIR)/AliL3FitUtilities.o AliL3FitUtilities.c
+$(OBJDIR)/AliHLTFitUtilities.o: AliHLTFitUtilities.c
+       $(CXX) $(CXXFLAGS) -c -o $(OBJDIR)/AliHLTFitUtilities.o AliHLTFitUtilities.c
 
 $(OBJDIR)/bitio.sto: bitio.c
        $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) -c -o $(OBJDIR)/bitio.sto bitio.c
@@ -57,5 +57,5 @@ $(OBJDIR)/bitio.sto: bitio.c
 $(OBJDIR)/errhand.sto: errhand.c
        $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) -c -o $(OBJDIR)/errhand.sto errhand.c
 
-$(OBJDIR)/AliL3FitUtilities.sto: AliL3FitUtilities.c
-       $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) -c -o $(OBJDIR)/AliL3FitUtilities.sto AliL3FitUtilities.c
+$(OBJDIR)/AliHLTFitUtilities.sto: AliHLTFitUtilities.c
+       $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) -c -o $(OBJDIR)/AliHLTFitUtilities.sto AliHLTFitUtilities.c
index 0a4a8f998d76854ba3d050dfdc8b562e75c09662..e18b4d1f7f530e0d3d34b90e55d44437f434651c 100644 (file)
@@ -15,9 +15,9 @@
   if(1)
     {
       gSystem->Load("$(LEVEL3)/kip/MLUC/lib/linux-i386/libMLUC.so");
-      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3");
-      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3Hough");
-      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliL3Comp");
+      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliHLT");
+      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliHLTHough");
+      gSystem->Load("$(LEVEL3)/lib_$(USERNAME)/libAliHLTComp");
       cout<<"HLT libraries loaded"<<endl;
     }
   gROOT->LoadMacro("$(HOME)/alirootcode/XFunct.C");
index dd8cde7bc533c84c84bea074bfd8e7791bd563e9..d957df6e58640ce5e4f4e58d1fdeba0e21d6ade0 100644 (file)
@@ -12,16 +12,16 @@ bin ............ small scripts to set env or to compile
 exa ............ sample macros showing how to use the code  
 kalman ......... (not usable at the moment)
 Makefile.conf .. checks environment for ALIHLT_* variables
-misc ........... lib AliL3Misc (different helper classes)
+misc ........... lib AliHLTMisc (different helper classes)
 sim ............ (not usable at the moment)
 trigger ........ (not usable at the moment)
-comp ........... lib AliL3Comp (compression and deconvolution)
+comp ........... lib AliHLTComp (compression and deconvolution)
 doc ............ hopefully contains information
-hough .......... lib AliL3Hough (different hough transforms)
+hough .......... lib AliHLTHough (different hough transforms)
 Makefile ....... main makefile (use make libs to compile all libs)
 Makefile.rules . most of the rules for all libs
 programs ....... sample programs showing how to use the code
-src ............ main lib AliL3Src (transformer, tracker and clusterer)
+src ............ main lib AliHLTSrc (transformer, tracker and clusterer)
 
 The compilation is controlled by the following variables:
 
index cd07fb036cbe780aada5f183a65a6db5c87d2509..78ae4b7d00a45875aea3b280ba93720604601fe3 100644 (file)
@@ -6,7 +6,7 @@
 2003-07-29  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/bin/sethlt_cern.csh, /alice/cvs/hltcvs/level3code/bin/sethlt_cern.sh, /alice/cvs/hltcvs/level3code/bin/sethlt.csh, /alice/cvs/hltcvs/level3code/bin/sethlt.sh, /alice/cvs/hltcvs/level3code/bin/usehlt.csh, /alice/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).
+       Removed ASV version, as the new AliHLTFileHandler does not need (but still would be faster using the patched AliTPC class).
 
 2003-07-27  Constantin Loizides  <loizides@hansa00>
 
index b8e7d36f1f7e4b0ab328104295bb30c838c8890e..3d4e64f97bf1920b9be33bc799c8c6886cf1cac4 100644 (file)
@@ -1,47 +1,47 @@
 2004-05-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c:
        Removed further warnings (gcc-2).
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.h:
        Removed warnings.
 
 2004-05-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx:
        Changes to compile standalone.
 
 2004-05-10  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.h:
        Removed every dependency to TMath, so that code compiles for STANDALONE version.
 
 2004-04-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
-       Included new class AliL3CompressAC in the library. This class is invoked
-       by default in the AliL3DataCompressor, and can be toggled by the argument
-       in AliL3DataCompressor::CompressAndExpand(bool).
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       Included new class AliHLTCompressAC in the library. This class is invoked
+       by default in the AliHLTDataCompressor, and can be toggled by the argument
+       in AliHLTDataCompressor::CompressAndExpand(bool).
 
 2004-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3CompressAC.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompressAC.h:
        New class implementing aritmetic coding of the quantized residual
        information in the data compression scheme. The class derives from
-       AliL3Compress, and is hence interfaced in the same way.
+       AliHLTCompress, and is hence interfaced in the same way.
 
 2004-03-20  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        Removed GCCVERSION string from code. Replaced by compiler internal
        macro __GNUC__ which is 3 for gcc version >3.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h:
        Added zvertex.
 
 2004-02-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Added some additional printout features in PrintCompRatio.
 
 2004-02-25  Constantin Loizides  <loizides@hansa00>
 
 2004-02-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        Added a flag in Init function to test whether this function has been
        called by the same object before. If that is the case, all internal
        arrays needs to be cleared before filling them again. Such a check is
-       necessary e.g. when using AliL3TrackArray::RemoveLast in which the
+       necessary e.g. when using AliHLTTrackArray::RemoveLast in which the
        object is _not_ deleted, but merely reused.
 
 2004-02-07  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx:
-       Two function calls changed to reflect latest changes in AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx:
+       Two function calls changed to reflect latest changes in AliHLTTransform.
 
 2004-02-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        Cosmetic change.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h:
        Included previously removed code in the WriteRemaining and ReadRemaining
        functions, which keeps the possibility of _not_ compressing the remaining
        clusters but storing them as is, meaning with a full floating point
        to run the chain without compressing any of the data. Also for debugging
        purposes only.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Models.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h:
        Reflecting the latest changes in compressing remaining clusters.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.h:
        Added possibility to externallly specify which precision to store
-       the remaining clusters in the AliL3Compress::CompressRemaining function.
+       the remaining clusters in the AliHLTCompress::CompressRemaining function.
        This is done by setting the number of bits in
-       AliL3DataCompressorHelper::SetRemainingBitNumbers.
+       AliHLTDataCompressorHelper::SetRemainingBitNumbers.
 
 2004-01-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
-       Changing the names of data members AliL3ClusterModel::fDSigmaY2 and fDSigmaZ2
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
+       Changing the names of data members AliHLTClusterModel::fDSigmaY2 and fDSigmaZ2
        to fDSigmaY and fDSigmaZ, in order to reflect the fact that their are really
        the sigmas and not sigma squared.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx: Bugfix.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx: Bugfix.
 
 2004-01-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx: Bugfix.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx: Bugfix.
 
 2004-01-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        Bugfix
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h:
        Added function to make a pass over the data and calculate how many bits
        is required to encode the residuals (assuming no further compression).
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Added function to calculate entropy of the quantized residuals.
 
 2004-01-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        - Changed back to the old method for quantizing the residuals, since
        there appeared some strange behaviour when running the code in multi-event
        mode. It still remains a mystery, so this problem has been postponed and will
        be solved sometime in the future.
        - Removed some obsolute code as a result of moving the handling of remaining
-       clusters from AliL3DataCompressor to AliL3Compress.
+       clusters from AliHLTDataCompressor to AliHLTCompress.
 
 2004-01-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressorHelper.h, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.h:
-       Introduced new class AliL3DataCompressorHandler, which is static
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressorHelper.h, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.h:
+       Introduced new class AliHLTDataCompressorHandler, which is static
        and capsulates all static calls from the former Compressor
        class in order to remove some very nasty dependencies.
        The other classes had to be adapter to call the
        right static function.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
        Changes to compile for MACOSX at core Makefiles. Check for
        $(ARCH) and -D$(ARCH). In order to solve cyclic dependencies
        for libs (which is _very_ bad, but the Linux linker is friendly)
        we dont do at the moment. SO: Linux users should see _NO_
        difference!!!
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx:
        Paranoic change :-)
 
 2004-01-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        New functions for quantization of pad and time.
 
 2004-01-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
-       Writing remaining clusters to file is now moved to AliL3Compress class.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
+       Writing remaining clusters to file is now moved to AliHLTCompress class.
        The clusters are now written using the bitio functions, as the data sizes
        used has been minimized.
 
 2004-01-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        - Modified how the remaining clusters are written (this will probably change
        again soon).
        - Added seperate fields for storing the pad and time shape -> can specify
 
 2003-12-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
        Changed the track parameters in the compression scheme. There are now 5
        floats (instead of 6) used to encode the properties of the helix. These
-       are defined (as before) in AliL3Models.h.
+       are defined (as before) in AliHLTModels.h.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c:
        - Removed obsolute code
-       - Bugfix in the fitting routing in AliL3FitUtilities.
+       - Bugfix in the fitting routing in AliHLTFitUtilities.
        - Small change in how the fit range in the padrow plane is estimated.
 
 2003-11-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        This class has to be reworked in order to compile with newer AliRoot versions after june 2003. In order to keep it in the repository I added a define asvversion, which has to MANUALLY be set, if one wants to use that class. The changes are in principle ease, one has to check the interface to the tracker classes and the positions are indicated by the defines.
 
 2003-11-13  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        Added additional data written to file
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h:
        Added some additional data members and storage
 
 2003-11-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h:
        Main changes:
        - New function LocalLocalSegments, for local (patch-like) tracks segments.
        - Some changes in search ranges and fit ranges.
 
 2003-09-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx:
        Commented compile breaking due to aliroot changes.
 
 2003-08-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
-       - Removed field fNClusters from AliL3TrackModel. The reason is the new scheme
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
+       - Removed field fNClusters from AliHLTTrackModel. The reason is the new scheme
        were the number of clusters is _not_ written for every track. Instead, we assume
        a potential number of clusters which is equal to the number of padrows in the
        patch/slice (this number then needs not to written). Then we denote whether a
        cluster is present or not by writing 1 bit for every padrow.
-       - The residual quantization (stored in AliL3DataCompressor) is now specified
+       - The residual quantization (stored in AliHLTDataCompressor) is now specified
        for the three different pad sizes.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3OfflineDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTOfflineDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
        Splitted handling of offline-data compression and HLT-data compression.
-       For offline-data input the new class AliL3OfflineDataCompressor is used.
-       This class is a child of AliL3DataCompressor, and has the exact same interface.
+       For offline-data input the new class AliHLTOfflineDataCompressor is used.
+       This class is a child of AliHLTDataCompressor, and has the exact same interface.
 
 2003-07-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx:
        Changes to compile standalone.
 
        * /alice/cvs/hltcvs/level3code/comp/Makefile:
 
 2003-07-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
        Added html tags
 
 2003-07-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /alice/cvs/hltcvs/level3code/comp/bitio.h, /alice/cvs/hltcvs/level3code/comp/errhand.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h, /alice/cvs/hltcvs/level3code/comp/bitio.h, /alice/cvs/hltcvs/level3code/comp/errhand.h:
        Added html tags for documentation.
 
 2003-07-21  Constantin Loizides  <loizides@hansa00>
 
 2003-07-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.h, /alice/cvs/hltcvs/level3code/comp/bitio.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.h, /alice/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
 
 2003-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx:
        Added gccversion check.
 
 2003-07-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
-       Changed pointer to input data from AliL3MemHandler to AliL3SpacePointData.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h:
+       Changed pointer to input data from AliHLTMemHandler to AliHLTSpacePointData.
        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.
+       subsector is provided. Same thing as being done in e.g. AliHLTFitter.
        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.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Forgot this one last time
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx:
        Cosmetic changes only
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.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
 
 2003-06-04  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c:
        Stop writing error messages all the time
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
        Minor updates connected to last checkin.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.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
 
 2003-05-08  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
        Bugfix in CalculateClusterWidths
 
 2003-04-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        Changes:
-       - AliL3ClusterFitter/AliL3ModelTrack :
-         One bit in AliL3ClusterModel::fPresent is reserved for fit attempt
-       - Enable multiple event handling in AliL3DataCompressor
+       - AliHLTClusterFitter/AliHLTModelTrack :
+         One bit in AliHLTClusterModel::fPresent is reserved for fit attempt
+       - Enable multiple event handling in AliHLTDataCompressor
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h:
        Added function LoadOfflineData, which allows to use offline
        reconstruced tracks as input for the compression.
 
 2003-04-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
-       Mostly cleaning up and making nicer code. Some changes in AliL3ClusterFitter:
-       -WriteClusters has been moved from AliL3Modeller.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
+       Mostly cleaning up and making nicer code. Some changes in AliHLTClusterFitter:
+       -WriteClusters has been moved from AliHLTModeller.
        -Implementation of seeds coming from tracking in outer padrows.
 
 2003-04-14  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
        New version of compression classes. The main changes are:
-       - AliL3DataCompressor has been completely rewritten. Instead of
+       - AliHLTDataCompressor 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,
+       - New data structures for remaining clusters in AliHLTModels.h
+       - Some bugfixes in AliHLTModelTrack. In CalculateClusterWidths,
        one can specify a flag to parametrize cluster errors from
        the cluster widths.
 
 2003-03-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/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
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx:
+       Removed cluster charge field from the AliHLTTrackModel, since it is
+       not used anyhow. Some fixes in AliHLTModelTrack, most important one
        a bug in destructor where not everything was deleted.
 
 2003-02-24  Constantin Loizides  <loizides@hansa00>
 
 2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h, /alice/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.
 
 2002-11-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliL3FitUtilities.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTClusterFitter.h, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.c, /alice/cvs/hltcvs/level3code/comp/AliHLTFitUtilities.h:
        Checking in the seeds of new cluster fitting code.
 
 2002-10-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.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
+       AliHLTDataCompressor class. Remaining digits are written to rootfile
+       and processed by the offline cluster finder. In AliHLTModeller::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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3DataCompressor.h, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTDataCompressor.h, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Changed parameters of WriteRootFile
 
 2002-10-14  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h:
-       Added new function AliL3Modeller::CheckCluster. Function checks if the
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h:
+       Added new function AliHLTModeller::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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
-       Can print compression ratio to file in AliL3Compress::PrintCompRatio.
-       Minor changes to AliL3Modeller; differ between fTimeOverlap (pad)
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
+       Can print compression ratio to file in AliHLTCompress::PrintCompRatio.
+       Minor changes to AliHLTModeller; 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>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.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.
+       by setting the flag AliHLTCompress::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.
+       deconvolution in the AliHLTModeller::FindClusters.
 
 2002-08-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/Makefile:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/Makefile:
        Little changes to make g++ version 3.2 compile the comp library.
 
 2002-07-11  Constantin Loizides  <loizides@hansa00>
 
 2002-07-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.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.
+       by adding a new data member to AliHLTClusterModel (in AliHLTModels.h), and
+       a function AliHLTModeller::GetTrackID.
 
 2002-07-02  Constantin Loizides  <loizides@hansa00>
 
 
 2002-05-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Forgot this one last time...
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx: Latest version
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx: Latest version
 
 2002-05-30  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/bitio.c, /alice/cvs/hltcvs/level3code/comp/bitio.h, /alice/cvs/hltcvs/level3code/comp/errhand.c, /alice/cvs/hltcvs/level3code/comp/errhand.h:
-       Changes to make AliL3Compress work with new AliL3MemHandler::Init.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/bitio.c, /alice/cvs/hltcvs/level3code/comp/bitio.h, /alice/cvs/hltcvs/level3code/comp/errhand.c, /alice/cvs/hltcvs/level3code/comp/errhand.h:
+       Changes to make AliHLTCompress work with new AliHLTMemHandler::Init.
 
 2002-05-22  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/comp/run.C: Macro that should lie in exa
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Models.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /alice/cvs/hltcvs/level3code/comp/bitio.c:
-       Moving to static AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h, /alice/cvs/hltcvs/level3code/comp/bitio.c:
+       Moving to static AliHLTTransform.
        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
        * /alice/cvs/hltcvs/level3code/comp/Makefile:
        Can compile with or without aliroot.
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
-       A bugfix in AliL3Modeller::FindClusters. Changed parameter list in AliL3ModelTrack::GetParSigma**. Added function AliL3Compress::PrintCompRatio.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h:
+       A bugfix in AliHLTModeller::FindClusters. Changed parameter list in AliHLTModelTrack::GetParSigma**. Added function AliHLTCompress::PrintCompRatio.
 
 2002-03-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
-       Major bugfix in AliL3Compress::WriteRestoredData(). Also added naming conventions on the various data files.
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
+       Major bugfix in AliHLTCompress::WriteRestoredData(). Also added naming conventions on the various data files.
 
 2002-03-15  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.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>
 
        * /alice/cvs/hltcvs/level3code/comp/Makefile: Minor updates
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Models.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModels.h:
        Data structures for track and clusters
 
        * /alice/cvs/hltcvs/level3code/comp/run.C: Example how to run script
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h:
        Checking in for the weekend
 
 2002-01-31  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/comp/bitio.h, /alice/cvs/hltcvs/level3code/comp/errhand.c, /alice/cvs/hltcvs/level3code/comp/errhand.h, /alice/cvs/hltcvs/level3code/comp/bitio.c:
        Functions for bitio. Taken as is from The Data Compression Book
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3Compress.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Compress.h:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTCompress.h:
        Class for doing model compression
 
 2002-01-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/comp/AliL3CompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.h, /alice/cvs/hltcvs/level3code/comp/Makefile, /alice/cvs/hltcvs/level3code/comp/rootlogon.C, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.h, /alice/cvs/hltcvs/level3code/comp/AliL3ModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliL3Modeller.cxx:
+       * /alice/cvs/hltcvs/level3code/comp/AliHLTCompLinkDef.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.h, /alice/cvs/hltcvs/level3code/comp/Makefile, /alice/cvs/hltcvs/level3code/comp/rootlogon.C, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.h, /alice/cvs/hltcvs/level3code/comp/AliHLTModelTrack.cxx, /alice/cvs/hltcvs/level3code/comp/AliHLTModeller.cxx:
        Started classes for modeling and compression
 
index 7d755ab7d28f944b96d7f3e0492b9f12c90c4b76..e3d460b7a6a19f3970c1f9efca73a8390163b09f 100644 (file)
@@ -32,7 +32,7 @@
 2003-07-29  Constantin Loizides  <loizides@hansa00>
 
        * /alice/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).
+       Removed ASV version, as the new AliHLTFileHandler does not need (but still would be faster using the patched AliTPC class).
 
 2003-07-27  Constantin Loizides  <loizides@hansa00>
 
index 2b6f4b15efc4013f64536960f622a220a8ba2933..269d704730d124dee8395bc56f2edc21afa079d6 100644 (file)
@@ -77,7 +77,7 @@
 2003-10-10  Thomas Vik  <tvik@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/runkalman.C:
-       Added call to function AliL3Transform::Init.
+       Added call to function AliHLTTransform::Init.
 
 2003-10-02  Anders Strand Vestbo  <vestbo@hansa00>
 
        Added check for pileup event to have more than 5 tracks.
 
        * /alice/cvs/hltcvs/level3code/exa/rootlogon.C:
-       Default is AliL3Logger now
+       Default is AliHLTLogger now
 
 2003-04-14  Constantin Loizides  <loizides@hansa00>
 
 2003-03-05  Thomas Vik  <tvik@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/trigger_pp.C:
-       Added AliL3Evaluate::AssignIDs function.
+       Added AliHLTEvaluate::AssignIDs function.
 
 2003-03-05  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/trigger_pp.C:
-       Added eval_pp function as a quick reference how to use the AliL3Eval class.
+       Added eval_pp function as a quick reference how to use the AliHLTEval class.
 
 2003-03-03  Constantin Loizides  <loizides@hansa00>
 
        Copy of Anders rootlogin.
 
        * /alice/cvs/hltcvs/level3code/exa/make_init.C:
-       Not needed -> see AliL3Transform::MakeInit().
+       Not needed -> see AliHLTTransform::MakeInit().
 
 2003-02-21  Thomas Vik  <tvik@hansa00>
 
        Moved Binary.C to binary.C.
 
        * /alice/cvs/hltcvs/level3code/exa/Display.C:
-       Deleted as functionality is now in dislplay.C and AliL3Display class.
+       Deleted as functionality is now in dislplay.C and AliHLTDisplay class.
 
        * /alice/cvs/hltcvs/level3code/exa/make_init.C, /alice/cvs/hltcvs/level3code/exa/Make_Init.C:
        Moved Make_Init.C to make_init.c.
 2002-09-02  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/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.
+       Moved this functionaly to a functio in AliHLTTransform::MakeInitFile.
+       This macro can now be used to create default values for AliHLTTransform.cxx.
 
 2002-08-29  Constantin Loizides  <loizides@hansa00>
 
 2002-06-10  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/Binary.C:
-       Make singlepatch work with new AliL3Transform.
+       Make singlepatch work with new AliHLTTransform.
 
 2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
 
        Renamed houghtest.C to runhough.C
 
        * /alice/cvs/hltcvs/level3code/exa/houghtest.C:
-       Some minor changes in AliL3Hough
+       Some minor changes in AliHLTHough
 
 2002-05-24  Constantin Loizides  <loizides@hansa00>
 
 2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/Binary.C, /alice/cvs/hltcvs/level3code/exa/Make_Init.C:
-       Changes as a result of making AliL3Transform static.
+       Changes as a result of making AliHLTTransform static.
 
 2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
 
 2001-05-03  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/exa/Eval.C:
-       Example how to use AliL3Evaluate class
+       Example how to use AliHLTEvaluate class
 
 2001-05-01  Uli Frankenfeld  <franken@hansa00>
 
 
 2001-04-06  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/exa/eval.C: Exampel to use AliL3Evaluate
+       * /alice/cvs/hltcvs/level3code/exa/eval.C: Exampel to use AliHLTEvaluate
 
 2001-03-26  Uli Frankenfeld  <franken@hansa00>
 
index 00164c89145d0de3182f77e1278f320254699846..ce3468498b437db2a2aa396145dae95563865b9f 100644 (file)
 2004-05-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx:
        Added define for AliHLTReconstructor.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added ifdefs for new_io runloader handling.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        changed abs to fabs.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx:
        Removed further compiler warnings.
 
 2004-05-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx:
        Removed compiler warnings.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        Needed to compile standalone.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.h:
        Newer, much faster and very efficient HT on rows (Cvetan).
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h:
        Added binsizes and proper setting of most parameters.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h:
        Added Cvetans Peakfinder.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx:
        Added support for runloader, and Cvetans Hough Transform and PeakFinder (version 4).
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added support for runloader.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Take bin values at borders.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Removed gcc warning.
 
 2004-05-07  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Needed to compile in aliroot.
 
 2004-04-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx:
        Make code compilable without specifying the ROWHOUGH compiling option
 
 2004-03-28  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h:
        Added old type for label.
 
 2004-03-20  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx:
        Removed GCCVERSION string from code. Replaced by compiler internal
        macro __GNUC__ which is 3 for gcc version >3.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h:
        Added zvertex.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added new row transformer (using special peakfinder method)
        Added in addition support for reading data directly from
        DATE, so that this version of hough transform can run directly
        on the GDCs or during some data challenges for testing.
        (changed methods init and constructor)
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Added GetPreciseBinCenter functions.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx:
        Cosmetics.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h:
        Added FindAdaptedRowPeaks function for row transformer.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        Added ROWHOUGH def for mc label.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h:
        Added zvertex information.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Added new row transformer and removed old gap transformer.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGap.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGap.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerRow.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGap.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGap.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerRow.h:
        Added Cvetans new version of fast Hough Transform called "Counting
        Gaps and Rows." The idea is to count the number of consecutive rows
        over gaps per entry of the Hough space. (The old version called
-       AliL3HoughTransformGap is removed.)
+       AliHLTHoughTransformGap is removed.)
 
 2004-02-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGap.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGap.cxx:
        Forgot to implement to virtual functions.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGap.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGap.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGap.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGap.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Added new transformer which is counting gaps in rows. not really tested yet.
 
 2004-02-10  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Bugfix in multievent handling reading from aliroot-files:
-       Before reading a new event, AliL3FileHandler::FreeDigitsTree() has
+       Before reading a new event, AliHLTFileHandler::FreeDigitsTree() has
        to be called, otherwise the same event is read again.
 
 2004-02-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
-       Removed occurencence of static and non const values like pi and BFACT. Use instead const functions given by AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
+       Removed occurencence of static and non const values like pi and BFACT. Use instead const functions given by AliHLTTransform.
 
 2004-02-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h:
        Faster histo access.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Bugfix for gcc-3.2; and fast filling methods, added switch to omit boundary checks, should be checked.
 
 2004-02-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Reworked the LUT version of the Hough Transform. This should be the default transformer now, it is 3 times faster than the normal transformer. It produces almost the same peaks, in a central event, a few differ. The reason seems to be due to rounding. The efficiency of the deconvoluter is verified to be the same, too.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Added ostream& <<operator for debugging purposes, because of that changed most get member function  to const.
 
 2004-01-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Changes to compile for MACOSX at core Makefiles. Check for
        $(ARCH) and -D$(ARCH). In order to solve cyclic dependencies
        for libs (which is _very_ bad, but the Linux linker is friendly)
 
 2003-11-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
-       Added an extra argument to function AliL3HoughMaxFinder::FindAdaptedPeaks.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h:
+       Added an extra argument to function AliHLTHoughMaxFinder::FindAdaptedPeaks.
 
 2003-11-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added support for different file types such as root, binary and DDL files.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Commented to get rid of a compiler warning here.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Changed argument in CreateHistograms from Double to Float.
 
 2003-11-13  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx:
        Minor changes.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.h:
        Smaller bugfixes, nothing important
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Bugfix in FindAdaptedPeaks
 
 2003-11-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        Checking in latest changes. The code is at the moment quite messy, but so is my head.
        Main changes:
-       - The AliL3Hough class has some new functions.
+       - The AliHLTHough class has some new functions.
                -SetTransformerParams, which basically sets the parameters of the histograms.
                -SetPeakThreshold()
                -AddTracks which adds the tracks to a global array (called for each slice)
-       - Default peak finder algorithm is now AliL3HoughMaxFinder::FindAdaptedPeaks().
+       - Default peak finder algorithm is now AliHLTHoughMaxFinder::FindAdaptedPeaks().
 
 2003-10-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx:
        Bugfix in the calculation of bin size in kappa.
        The bin size should be 2*delta_pt, since the size of one bin
        is +-1/2*delta_pt.
 
 2003-08-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
-       Bugfix from last changes of AliL3HistogramAdaptive. Also some minor
-       changes in AliL3Histogram class.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
+       Bugfix from last changes of AliHLTHistogramAdaptive. Also some minor
+       changes in AliHLTHistogram class.
 
 2003-08-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h:
        Added a LUT in order to speed up retrieval of bin numbers.
 
 2003-08-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx:
-       Follow change in base class AliL3Merger.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx:
+       Follow change in base class AliHLTMerger.
 
 2003-07-28  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx:
        Added std for gcc-3
 
 2003-07-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/Makefile.standalone:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/Makefile.standalone:
        Removed, use ALIHLT_USEPACKAGE=STANDALONE instead.
 
 2003-07-25  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/hough/Makefile:
        Changes to reflect the new makefile strategy.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx:
        g++ 3.3.1 requires explicit cast.
 
 2003-07-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Added html tags for documentation.
 
 2003-07-21  Constantin Loizides  <loizides@hansa00>
 
 2003-07-14  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Changed Draw function, because it didn't work.
 
 2003-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx:
        Changes for gcc-3.3; solved some virtual overload function ambiguosities.
 
 2003-05-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerGlobal.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerGlobal.h:
        Transform global regions
 
 2003-05-13  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx:
        Little bug fix.
 
 2003-04-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Bugfix in Max Finder borders thanks to Sondre.
 
 2003-02-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h:
        Optimize for speed.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Added adding of a one but commented it out again.
 
 2003-02-24  Constantin Loizides  <loizides@hansa00>
 
 2003-02-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Checking in all the changes for the last couple of months.
        All files were tagged prior to this checkin.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerNew.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerNew.h:
        3D transform
 
 2003-02-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Set fDoMC to kFALSE in ctor. Also fill the charge in the transform.
 
 2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h:
        Commented class which is defined in Makefile
 
 2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
 
 2003-01-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx:
        Minor bugfix
 
 2002-12-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.h:
        Several bugfixes
 
 2002-12-10  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTest.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTest.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
 
 2002-12-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h:
        Seems to be working properly now.
 
 2002-11-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx:
        Fill charge as default
 
 2002-11-15  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx:
        Added Kappa information.
 
 2002-11-13  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
-       Added new function AliL3Hough::MergeEtaSlices which merges tracks which
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
+       Added new function AliHLTHough::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
+       There is also a bugfix in AliHLTHoughTransformer::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.
+       Also the DoMC flag in the AliHLTHoughTransformer ctor.
 
 2002-09-05  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Changes done for new aliroot version. Faster calculation through saving LUT for kappa.
 
 2002-09-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx:
-       Read from rootfile called digitfile.root in AliL3Hough.cxx.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx:
+       Read from rootfile called digitfile.root in AliHLTHough.cxx.
        Bugfix in the rest.
 
 2002-08-29  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx: Cosmetic.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx: Cosmetic.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx:
        Added default values to default constructor.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        New VHDL transformer code. Implemented iterative approach. Old code moved locally to *.old.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h:
        Small bugfix concerning calculation of eta.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added LUT transformer and new function to set parameter for VHDL transformer.
 
 2002-08-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
-       Include AliL3StandardIncludes.h in AliL3HistogramAdaptive as well, and not in AliL3Histogram.h
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
+       Include AliHLTStandardIncludes.h in AliHLTHistogramAdaptive as well, and not in AliHLTHistogram.h
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h:
        Made Constantins last checkin compile ;-)
 
 2002-08-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Little changes to make g++ version 3.2 compile the hough library.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
-       Merged version. Bug still remains. New implementation started with AliL3HoughTransformerLUT.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
+       Merged version. Bug still remains. New implementation started with AliHLTHoughTransformerLUT.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerLUT.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerLUT.h:
        Fast Hough transformer using extensivle LUT for geometry and cos/sin functions.
 
 2002-08-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.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
+       from a given Pt resolution. Changes in AliHLTHistogram class in order to make
        the corresponding functions virtual, and the data members protected.
 
 2002-08-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Another bugfix connected to fTrackID histograms
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.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.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Bugfix from the last checkin
 
 2002-08-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
-       Cosmetic changes, and a new function AliL3Hough::ProcessPatchIter.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx:
+       Cosmetic changes, and a new function AliHLTHough::ProcessPatchIter.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Cosmetic changes.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.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
+       be obtained by the function AliHLTHoughTransformer::GetTrackID. The id
        returned is the id with the most hits in the corresponding bin.
 
 2002-08-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HistogramAdaptive.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogramAdaptive.h:
        New histogram class in order to have a nonlinear binsize.
 
 2002-08-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughClusterTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughClusterTransformer.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Also add the number of entries when adding 2 histograms.
 
 2002-08-07  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h:
        Slice information is needed by the transformer in
-       AliL3HoughTransformer::GetEta, because the the sign
+       AliHLTHoughTransformer::GetEta, because the the sign
        of the eta changes on the other half of the TPC.
-       Minor change in AliL3HoughMaxFinder; adjusted the
+       Minor change in AliHLTHoughMaxFinder; adjusted the
        interface of FindPeak1 in order to be consistent.
 
 2002-07-31  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
-       Get the BField from AliL3Transform. This was hardcoded up to now.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
+       Get the BField from AliHLTTransform. This was hardcoded up to now.
 
 2002-07-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.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.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.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.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        Little changes to make it work with new base class.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.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.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h:
        Changes for independant library of standalone l3 code.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h:
        Removed Clusterfinder class from link list.
 
        * /alice/cvs/hltcvs/level3code/hough/Makefile:
 
 2002-07-08  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        New function, CreateRootHisto(). Just to seperate it from Draw
 
 2002-07-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.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.
+       Small bugfix in AliHLTHoughEval.
 
 2002-07-05  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Gradient check reverted, but also commented out.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h:
        Have definable geometry file.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Add version support for vhdl hough.
 
        * /alice/cvs/hltcvs/level3code/hough/Makefile:
 
 2002-05-31  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/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
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
+       Some changes in AliHLTHough::Evaluate. Comments have been added in the code.
+       Added some timing outputs in AliHLTHough.
+       In AliHLTHoughEval::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.
+       In AliHLTHoughMaxFinder; currently the check for the gradient is commented out.
 
 2002-05-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile:
-       Bugfix in AliL3Hough::FindTrackCandidates; when track->SetEta, one has to
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       Bugfix in AliHLTHough::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
+       Included an upper threshold in AliHLTHoughBaseTransformer; all digits with
        high values than this are not transformed.
 
 2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Made display class work. Also added it to makefile.
 
 2002-05-29  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformerVhdl.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformerVhdl.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Changes done to include new ALiL3HoughTransformerVhdl.
 
 2002-05-29  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.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.
+       peaks in AliHLTHoughMaxFinder.
 
 2002-05-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx:
        Bugfix in line 314; paranthes missing
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Moved GetGoodParticles to alimacros
 
 2002-05-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Can now use 8 bit data as input, by setting the apropriate
-       flag in AliL3Hough::Init.
+       flag in AliHLTHough::Init.
 
 2002-05-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
-       Cleaning up. Made some changes in AliL3HoughMaxFinder. Peaks are now
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
+       Cleaning up. Made some changes in AliHLTHoughMaxFinder. 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.
+       Some minor cleaning was also done in AliHLTHough and AliHLTHoughEval.
 
 2002-05-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Forgot to remove #include in previous checkin
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
-       Get the Bfield from AliL3Transform
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
+       Get the Bfield from AliHLTTransform
 
 2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx:
-       Changes as a result of making AliL3Transform static.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx:
+       Changes as a result of making AliHLTTransform static.
 
 2002-04-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/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
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       Some additional changes related to the previous changes. AliHLTTransform
+       object has now to be passed to the AliHLTHoughBaseTransformer in order to
+       avoid giving the path where the config file is to the AliHLTHoughBaseTransformer
        object.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
-       Made a new abstract base class; AliL3HoughBaseTransformer for different implementations
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughBaseTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
+       Made a new abstract base class; AliHLTHoughBaseTransformer 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
+       AliHLTHoughTransformer are virtual in this class, and should be appropriately overloaded
        in the underlying implementations.
 
 2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
 
 2002-04-20  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        More comments for documentation.
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
 
 2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.h:
        MergeEtaSlices and MergeTracks are currently empty.
 
        * /alice/cvs/hltcvs/level3code/hough/Makefile:
 
 2002-04-08  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
-       Added function AliL3HoughTransformer::GetEtaIndex. Modified AliL3Hough::WriteTracks.
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       Added function AliHLTHoughTransformer::GetEtaIndex. Modified AliHLTHough::WriteTracks.
 
 2002-02-05  Anders Strand Vestbo  <vestbo@hansa00>
 
 
        * /alice/cvs/hltcvs/level3code/hough/Makefile: Minor updates
 
-       * /alice/cvs/hltcvs/level3code/hough/Makefile.standalone, /alice/cvs/hltcvs/level3code/hough/rootlogon.C, /alice/cvs/hltcvs/level3code/hough/test.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/Makefile.standalone, /alice/cvs/hltcvs/level3code/hough/rootlogon.C, /alice/cvs/hltcvs/level3code/hough/test.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx:
        Checking in for the weekend
 
 2002-01-23  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/hough/Makefile:
        New makefile. Written by me, hence better
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h:
        Should only have one of these files
 
 2002-01-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        SetNHits, in order to make the IO work in memhandler class.
 
 2002-01-18  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/hough/Makefile.standalone:
        Makefile for standalone program
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx:
        Minor changes
 
        * /alice/cvs/hltcvs/level3code/hough/test.C: More functions
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        Added SetTgl in Set()
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.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>
 
-       * /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h, /alice/cvs/hltcvs/level3code/hough/test.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h, /alice/cvs/hltcvs/level3code/hough/test.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Checking in latest changes.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughGlobalMerger.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughIntMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughGlobalMerger.cxx:
        Merging classes
 
 2001-11-27  Anders Strand Vestbo  <vestbo@hansa00>
 
 2001-11-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughDisplay.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughDisplay.h:
        New display class
 
 2001-11-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        Bugfix in SetTrackParameters, wrong charge...
 
 2001-11-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
-       Moved AliL3HoughTrack to hough
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       Moved AliHLTHoughTrack to hough
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTrack.cxx:
        Moved classes from src
 
 2001-11-13  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/hough/rootlogon.C:
        New path to Timms shared library
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Possible to compile without ROOT
 
        * /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h:
        Possible to specify a number of slices, instead of only one
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h:
        Added some histos in CompareMC, and new function FindEta()
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        UpdateRowPointer is now static function in memhandler.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.h:
        Changed name of merger
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerger.h:
-       Changed name of merger to AliL3HoughMerger
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerger.h:
+       Changed name of merger to AliHLTHoughMerger
 
 2001-11-07  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram1D.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram1D.h:
        Added 1D histograms.
 
 2001-10-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Latest update, bugfix i think
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h:
        Added function CompareMC
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx:
        Bugfix in destructor etc.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Added Reset function
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Added function GetGoodParticles
 
        * /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.h, /alice/cvs/hltcvs/level3code/hough/GetGoodParticles.cxx:
        * /alice/cvs/hltcvs/level3code/hough/rootlogon.C, /alice/cvs/hltcvs/level3code/hough/test.C:
        results of cleanup
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        Rewriting and cleaning up
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h: blabla
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h: blabla
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Added threshold
 
 2001-09-18  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/hough/test.C: Adding example macro
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Added function Add
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h: Bugfix
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h: Bugfix
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h: 6 patches
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h: 6 patches
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Cleaning up a lot
 
 2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
 
 2001-07-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Updating
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h:
        Added histoclass
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Some changes
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h: Added to constants
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h: Added to constants
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h:
        Just testing
 
 2001-06-29  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        Major changes
 
 2001-06-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx:
        Wrote a new class
 
 2001-04-06  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/testPF.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C:
+       * /alice/cvs/hltcvs/level3code/hough/testPF.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C:
        Updating before easter
 
 2001-03-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Transform.h, /alice/cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx:
        Removed obsolete code, and removed a typo
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Hough.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Hough.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHough.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHough.h:
        Added new base class
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.cxx:
        Removed obsolete code
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/testPF.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile, /alice/cvs/hltcvs/level3code/hough/testPF.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx:
        Updating changes before the weekend
 
 2001-03-26  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/hough/testPF.C: Added a macro
 
-       * /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h, /alice/cvs/hltcvs/level3code/hough/hough.C:
+       * /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h, /alice/cvs/hltcvs/level3code/hough/hough.C:
        General updates
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx:
        Debugging update
 
 2001-03-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h:
        Added new peakfinder
 
 2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C, /alice/cvs/hltcvs/level3code/hough/rootlogon.C:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C, /alice/cvs/hltcvs/level3code/hough/rootlogon.C:
        Imported Hough code
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Histogram.h, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C, /alice/cvs/hltcvs/level3code/hough/rootlogon.C:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHistogram.h, /alice/cvs/hltcvs/level3code/hough/hough_mergehistos.C, /alice/cvs/hltcvs/level3code/hough/rootlogon.C:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Transform.h, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/hough_line.C, /alice/cvs/hltcvs/level3code/hough/hough_line_merge.C, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/hough_line.C, /alice/cvs/hltcvs/level3code/hough/hough_line_merge.C, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile:
        Imported Hough code
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3Transform.h, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/hough_line.C, /alice/cvs/hltcvs/level3code/hough/hough_line_merge.C, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/hough/hough.C, /alice/cvs/hltcvs/level3code/hough/hough_line.C, /alice/cvs/hltcvs/level3code/hough/hough_line_merge.C, /alice/cvs/hltcvs/level3code/hough/hough_merge.C, /alice/cvs/hltcvs/level3code/hough/Makefile:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        Imported Hough code
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3HoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughMerge.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughTransformer.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTHoughLinkDef.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMaxFinder.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughMerge.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughPixel.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughTransformer.h:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h:
        Imported Hough code
 
-       * /alice/cvs/hltcvs/level3code/hough/AliL3Defs.h, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliL3HoughEval.h:
+       * /alice/cvs/hltcvs/level3code/hough/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.cxx, /alice/cvs/hltcvs/level3code/hough/AliHLTHoughEval.h:
        New file.
 
index 1f7bd0c56048e94023d095731b7639711c2ec028..02d8d8dc270777c693102b8ec653f85ed4791eb7 100644 (file)
@@ -1,40 +1,40 @@
 2004-05-03  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx:
        Added MakeSeed function.
 
 2004-03-18  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
-       Change in calling AliL3Transfrom::Global2Local command.
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx:
+       Change in calling AliHLTTransfrom::Global2Local command.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
        Changed global coordinates of padrows to local. Removed obsolete MakeSeed function.
 
 2004-02-02  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
        Added track label to rootfile with the kalman cariables.
 
 2003-10-13  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx:
        Added function to calculate Chi2 increment.
 
 2003-09-26  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
-       Changes to reflect changes in AliL3KalmanTrack::Init.
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
+       Changes to reflect changes in AliHLTKalmanTrack::Init.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx:
        Changes in the Init-function.
 
 2003-09-22  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h:
        Changed Init to do filtering without seed making.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
        Changes in make seeds.
 
        * /alice/cvs/hltcvs/level3code/kalman/Makefile:
 
 2003-09-02  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanLinkDef.h:
        Removed link to obsolete class.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
        Lots of changes and cleaned up.
 
 2003-08-05  Thomas Vik  <tvik@hansa00>
 
        * /alice/cvs/hltcvs/level3code/kalman/Makefile: Added makefile.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanLinkDef.h:
        *** empty log message ***
 
 2003-07-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h:
        Added html tags for documentation.
 
 2003-07-10  Thomas Vik  <tvik@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliL3KalmanTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalmanTrack.cxx:
        Kalman track class.
 
-       * /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.h, /alice/cvs/hltcvs/level3code/kalman/AliL3Kalman.cxx:
+       * /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.h, /alice/cvs/hltcvs/level3code/kalman/AliHLTKalman.cxx:
        Base class.
 
index 6ce7083aca911321c80e19877b9764ef9b6c4d33..84c7f29d22cae72f5f7e0d29a59f0a4ccf7f1146 100644 (file)
@@ -1,25 +1,25 @@
 2004-05-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Removed compiler warnings.
 
 2004-03-20  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Removed GCCVERSION string from code. Replaced by compiler internal
        macro __GNUC__ which is 3 for gcc version >3.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx:
        Added namespace for gcc-3.x
 
 2004-02-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx:
        Bugfix for gcc-3.2
 
 2004-01-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Changes to compile for MACOSX at core Makefiles. Check for
        $(ARCH) and -D$(ARCH). In order to solve cyclic dependencies
        for libs (which is _very_ bad, but the Linux linker is friendly)
        we dont do at the moment. SO: Linux users should see _NO_
        difference!!!
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReader.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLTPCRawStream.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReader.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLTPCRawStream.h:
        Update to ALIROOT head version.
 
 2003-11-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx:
        Added support for Daq datachallenge.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.h:
        Added missing header file to compile with head.
 
 2003-11-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx:
        Added changes to reflect latest developments in the head version. Again, misleadingly I used the newio flag to distiguish from older versions. In principle we should switch to aliroot versions later than 10 2003.
 
 2003-09-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.h:
        Added Thomas Kuhr changes for upcoming data challenge and aliroot v4-01-00 tag.
 
 2003-08-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReader.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReaderFile.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLRawReader.h, /alice/cvs/hltcvs/level3code/misc/AliL3DDLTPCRawStream.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DDLTPCRawStream.h, /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLDataFileHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReader.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReaderFile.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLRawReader.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLTPCRawStream.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDDLTPCRawStream.h, /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Added classes for tpc ddl to hlt binary conversion.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.cxx:
        Added aliroot copyright.
 
 2003-07-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h:
        Changes to compile standalone.
 
 2003-07-25  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/misc/Makefile:
        Changes to reflect the new makefile strategy.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h: Cosmetics.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h: Cosmetics.
 
 2003-07-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        So it works as in the old version but produces warnings.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Test if this works for the html generation.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.h, /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.h, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.h, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.h, /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.h, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h:
        Added html tags for documentation and updated version/copyright info.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
-       Added the *Real* functions from AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       Added the *Real* functions from AliHLTTransform.
 
 2003-07-21  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/misc/Makefile:
-       Include updates, take out AliL3TPCMapping and print rootcint.
+       Include updates, take out AliHLTTPCMapping and print rootcint.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.h:
-       Marked AliL3TPCMapping as old and unfinished code.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.h:
+       Marked AliHLTTPCMapping as old and unfinished code.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h:
        Changes to make work with cint and gcc-3.3.1; changed DEBUG to VHDLDEBUG
 
 2003-05-14  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h:
        Moved Debug switch to .cxx
 
 2003-04-10  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping.h, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping-iroc.generated, /alice/cvs/hltcvs/level3code/misc/AliL3TPCMapping-oroc.generated, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping.h, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping-iroc.generated, /alice/cvs/hltcvs/level3code/misc/AliHLTTPCMapping-oroc.generated, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Added new class for TPC mapping.
 
 2003-02-24  Constantin Loizides  <loizides@hansa00>
 
 2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h:
        Check whether USEFFLOAT variable is set, because if not
        rootcint returns error message.
 
 
 2002-11-14  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h:
        Added deconvolution.
 
 2002-09-16  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Little bug when reporting row merge error.
 
 2002-09-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h:
-       Added AliL3Transbit entry.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h:
+       Added AliHLTTransbit entry.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.cxx:
        Little bugfix vor gcc 3.2.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.h:
        Cosmetics.
 
-       * /alice/cvs/hltcvs/level3code/misc/Makefile: Change for AliL3Transbit.
+       * /alice/cvs/hltcvs/level3code/misc/Makefile: Change for AliHLTTransbit.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3TransBit.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h:
-       Moved from AliTransbit to AliL3Transbit.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTTransBit.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h:
+       Moved from AliTransbit to AliHLTTransbit.
 
 2002-08-29  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.h: Cosmetics.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.h: Cosmetics.
 
 2002-08-27  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx:
        Merged problems solved.
 
 2002-08-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx:
        Fixing a serious bug
 
 2002-08-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.h, /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.h, /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx:
        Added some comments
 
 2002-07-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/Makefile: Added AliL3Stopwatch.
+       * /alice/cvs/hltcvs/level3code/misc/Makefile: Added AliHLTStopwatch.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3Stopwatch.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTStopwatch.h:
        Class for timing measurements, taken from ROOT and made changes to compile it without ROOT/ALIROOT.
 
 2002-07-07  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        More exact rounding function, but also much slower.
 
 2002-07-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Changes for fixed point class.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3FFloat.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTFFloat.h:
        Class for fixed point operations.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Comment changes for htlm docu.
 
 2002-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.h:
        Minor changes at comments.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx:
        Solved bug which gave a difference to the VHLD code.
 
        * /alice/cvs/hltcvs/level3code/misc/Makefile:
 
 2002-06-14  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3VHDLClusterFinder.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTVHDLClusterFinder.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Created cluster finder class that simulates the VHDL cluster finder on Altro data.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.h:
        Added read support for Altro like data.
 
 2002-06-11  Constantin Loizides  <loizides@hansa00>
 
 2002-05-29  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.h:
        Added capability to handle backlinked list properly.
 
 2002-05-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx:
        Bugfix; Need Init(slice,patch)
 
 2002-05-01  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx:
        Bugfix in GetMemorySize.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3DataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
-       New class AliL3DataHandler, for handling 8 bit data. Similiar and closely related to its mother AliL3MemHandler.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTDataHandler.h, /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       New class AliHLTDataHandler, for handling 8 bit data. Similiar and closely related to its mother AliHLTMemHandler.
 
 2002-04-23  Anders Strand Vestbo  <vestbo@hansa00>
 
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.h:
        Added class description comments.
 
        * /alice/cvs/hltcvs/level3code/misc/Makefile:
 
 2002-04-17  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliL3AltroMemHandler.h:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.cxx, /alice/cvs/hltcvs/level3code/misc/AliHLTAltroMemHandler.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.
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
-       Added AliL3AltroMemHandler.
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       Added AliHLTAltroMemHandler.
 
 2002-04-16  Constantin Loizides  <loizides@hansa00>
 
 
 2002-04-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/misc/AliL3MiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
+       * /alice/cvs/hltcvs/level3code/misc/AliHLTMiscLinkDef.h, /alice/cvs/hltcvs/level3code/misc/AliTransBit.cxx, /alice/cvs/hltcvs/level3code/misc/AliTransBit.h, /alice/cvs/hltcvs/level3code/misc/Makefile:
        Conversion table class for 10-8bit compression.
 
index 58f0eaa3100f371e2ad0e28347fefee034753f7e..8adcf67cd32a4404b23e1ef3806ebccad9285bda 100644 (file)
 2002-07-05  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/Makefile, /alice/cvs/hltcvs/level3code/programs/read.cxx, /alice/cvs/hltcvs/level3code/programs/runit.cxx, /alice/cvs/hltcvs/level3code/programs/runvhdlcf.cxx:
-       Changes to use AliL3Logger correctly in standalone programs.
+       Changes to use AliHLTLogger correctly in standalone programs.
 
 2002-07-02  Constantin Loizides  <loizides@hansa00>
 
 2002-06-10  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/read.cxx, /alice/cvs/hltcvs/level3code/programs/runit.cxx:
-       Solved bug forgetting to use AliL3MemHandler->Init(slice,patch).
+       Solved bug forgetting to use AliHLTMemHandler->Init(slice,patch).
 
        * /alice/cvs/hltcvs/level3code/programs/read.cxx:
        Check consecutive rows.
 2002-06-06  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/runit.cxx:
-       Minor changes to use new AliL3ClusterFinder class.
+       Minor changes to use new AliHLTClusterFinder class.
 
 2002-05-29  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/read.cxx:
-       Changes done to make read work with new AliL3AltroMemHandler.
+       Changes done to make read work with new AliHLTAltroMemHandler.
 
 2002-05-18  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/Makefile: Addes gettransform.
 
        * /alice/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.
+       First checkin of program to extract parameters from AliHLTTransform to be used for the VHDL implementation of the Hough transform.
 
        * /alice/cvs/hltcvs/level3code/programs/read.cxx: Use new Transformer.
 
 2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/programs/runit.cxx:
-       Changes as a result of making AliL3Transform static.
+       Changes as a result of making AliHLTTransform static.
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
 
index d6a80509520954b1211ad88b365d1ed0ccf83546..cff62693a5dfaf93c91e011942dc997af8e76901 100644 (file)
@@ -1,77 +1,77 @@
 2004-05-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.h, /alice/cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.h, /alice/cvs/hltcvs/level3code/src/AliHLTSrcLinkDef.h:
        Added define for AliHLTReconstructor.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Bugfix for oldio.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx: Minor bugfix.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx: Minor bugfix.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Further compiler warning removed and flags for Sun/HP.
 
 2004-05-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx:
        Removed compiler warnings.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h:
        Added extended information if using -dROWHOUGHPARAMS
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h:
        Added pid information and label (even though
        label can be found with evaluate and not
        necessarily has to be stored in the track,
        it was necessary as we dont store clusters
        during the data challenge.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added -DROWHOUGHPARAMS and removed compiler warnings.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Removed compiler warnings and runloader added.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3DigitData.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDigitData.h:
        Workaround for Sun.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx:
        Added params for row hough transform and physics data
        challenge  reconstruction.
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Added support for RunLoader input (newio).
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Added PID, even though it is not the most natural thing to
        do it in the evaluation as this class is for MC.
        The reason we put it here is, that we want to avoid opening
        the cluster files another time, somewhere else in the
        code during the pdc.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Added userunloader to avoid deletion of deleted runloader object (newio) and solved bug for empty rows (thanks to Cvetan).
 
-       * /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.h, /alice/cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTReconstructor.h, /alice/cvs/hltcvs/level3code/src/AliHLTSrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
        Nice reconstruction class to use with PDC (only for AliRoot).
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3StandardIncludes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTStandardIncludes.h:
        Changes to compile standalone.
 
 2004-05-10  Kenneth Aamodt  <kenneth@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        (Partially) Inverted accidental last checkin done by Constantin and Kenneth in rush together with lots of beer.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Changed pointer into const pointer.
 
 2004-05-10  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h:
        Added reading from pointer.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h:
        Added fCharges.
 
 2004-05-07  Constantin Loizides  <loizides@hansa00>
 
 2004-04-01  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Bug fixed in GetZFast.
 
 2004-03-20  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Update version information.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3StandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTStandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Removed GCCVERSION string from code. Replaced by compiler internal
        macro __GNUC__ which is 3 for gcc version >3.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h:
        Added ROWHOUGH flag to store weight and track id
        in the track segment data structure. This is used
        for the new row transformer and probably only
        a temporary solution, as the proper way would be
-       to have a new AliL3HoughTrackRow class.
+       to have a new AliHLTHoughTrackRow class.
 
        By default the flag $ALIHLT_ROWHOUGH points to false,
        so there is no change to earlier versions.
 
 2004-03-15  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Bugfix related to track fit parameters <-> global track merging.
 
        It turned out that there was a slight problem with the global track
        merging in the case a vertex constraint was imposed in the circle fit.
        The problem is quite involved, and is due to inconsistency when storing
-       the socalled first point on the track in AliL3Track::*fFirstPoint. This
+       the socalled first point on the track in AliHLTTrack::*fFirstPoint. This
        point is set to the first point lying on the fit, but in the case of vertex
        constraint this point is correspondingly set to the point of closest
        approach to the vertex. HOWEVER, the global merger always assumes that
 
 2004-02-12  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added new function GetZFast, please dont use yet... its not finalized as the vertex has to be substracted.
 
 2004-02-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx:
-       Removed occurencence of static and non const values like pi and BFACT. Use instead const functions given by AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx:
+       Removed occurencence of static and non const values like pi and BFACT. Use instead const functions given by AliHLTTransform.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added transform functions which dont need to convert to sector, sector row level, if you specify slice and slice row. Also added const functions, so that compiler can optimize.
 
 2004-02-02  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Added static index support for aliroot files.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Added static index support. This means, that if you are working with several filehandlers on one rootfile, only once the index will be created. Be careful, only one such static index exists per session, so if you want to use two input digit root files, it would not why (but why would you need two?). Also you can load/store the index to a file (see the exa example) which decreases debugging time.
 
 2004-01-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Changes related to how the track parameters are calculated and stored.
        There should be no changes for normal use, i.e. the function calls are
        still the same. The changes are the following:
 
        - Most importantly, the first point on a track (accessible via
-       AliL3Track::GetFirstPoint()) is now calculated as the point lying on the helix
+       AliHLTTrack::GetFirstPoint()) is now calculated as the point lying on the helix
        fit. Earlier, this point was just the coordinates of the innermost assigned
        cluster of the track. This is in principle ok if you just want the quick
        "global" coordinates of the track; momentum etc.  However, for precisce local
        - A new static boolean has been introduced in AliLevel3::fDoVertexFit, which
        tells the track fitter to include the vertex in the fit or not.
 
-       - A (minor) bugfix was also done in AliL3TrackArray.
+       - A (minor) bugfix was also done in AliHLTTrackArray.
 
 2004-01-23  Constantin Loizides  <loizides@hansa00>
 
 
 2004-01-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTSrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
        Changes to compile for MACOSX at core Makefiles. Check for
        $(ARCH) and -D$(ARCH). In order to solve cyclic dependencies
        for libs (which is _very_ bad, but the Linux linker is friendly)
        we dont do at the moment. SO: Linux users should see _NO_
        difference!!!
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h:
        Changed to compile with gcc-3.4
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Changed to avoid warning of gcc-3.4.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Changed order to avoid warning of gcc-3.4.
 
 2003-11-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Added possibility to define where to set the track parameters:
        A new boolean static data member AliLevel3::fSetTracks2FirstPoint has been added.
        If this is true (default) the tracks are propagated to the first point
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Added support for Daq datachallenge.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Check if row numbering is wrong, print warning and continue.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Hopefully solved bug for empty rows. We use empty rows, and set fDigits=0.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Added comment that we use AddRandomData even though the name is strange, but I think we could also use AddData instead.
 
 2003-11-18  Anders Strand Vestbo  <vestbo@hansa00>
 
 2003-11-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx:
        Added total in output.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Added support for newer aliroot version than ali-head from june 2003, misleadingly I am using the newio flag to distiguish although it has nothing to with newio, but only with interface changes to galice.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Offline claims, they need that line, I (Constantin) dont see a reason for it.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Added one virtual function needed for newio.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Added newio handling, using the use_newio define switch.
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
 
 2003-10-24  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added rootfile ptr check and corrected wrong function names in logging.
 
 2003-10-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        - Can specify maximum pt range in ctor.
        - Minor cleaning up.
 
 2003-09-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added Thomas Kuhr changes for upcoming data challenge and aliroot v4-01-00 tag.
 
 2003-08-20  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
-       Added function AliL3Fitter::UpdateTrack. This function should be called
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Added function AliHLTFitter::UpdateTrack. This function should be called
        after a global track fit has been done (as is done in
        AliLevel3::FitGlobalTracks), in order to update the track parameters
        to the first point of the track.
 
 2003-08-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        When doing nonvertex tracking, check whether the parameters has been set
        properly. If they are not set explicitely (by doing a designated
        AliLevel3::SetTrackerParam with vertexconstraint=kFALSE), no secondaries
 
 2003-08-06  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Some structural changes with respect to the merging classes and how they
        are used in AliLevel3 class. The main reason for doing this was to enable
        to set parameters for the global track merging externally by introducing
        being called default parameters will be used, so for the moment nothing
        has changed for the normal user of the AliLevel3 class.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx:
        Multiple bugfix (only the important ones reported here):
        - There biggest was a problem of merging tracks between slice
        17 and 0 and 35 and 18 in the former version. The problem was actually
        - Also in CheckTracks (called from SlowMerge) did not check if the two tracks
        had different signs. Some tracks was therefore merged wrongly.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h:
        Changed the default path to the file containing the geometry of the
        TPC. It now looks in $ALIHLT_BASEDIR/geo for the file alice.geom.
 
 2003-08-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
-       Added virtual functions for the daughter classes AliL3RawDataFileHandler und AliL3DDLDataFileHandler.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
+       Added virtual functions for the daughter classes AliHLTRawDataFileHandler und AliHLTDDLDataFileHandler.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h:
        Added RawData2CompBinary function.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h:
        Changed comment from L3 to HLT; although that will be a long way to go...
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added printout when config file was successfully read.
 
 2003-07-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx:
        Bugfix in Merge(). When a track is merged with a track in a
        neighbouring sector, the current track loop has to finish.
        If not, a track might get merged with two different tracks.
        This bug was brought to you by Dr.Frankenfeld, and solved by
        me 2 years later...
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        The cluster charge was only written in case of fRawSP. Should of course
        ALWAYS be written.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Set bfield in MakeInitFile
 
 2003-07-29  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        What a bug... , so every rotation to slice 0 was infact a rotation to slice 35 and Andi did not realize :-)
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Added comment.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/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).
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Removed ASV version, as the new AliHLTFileHandler does not need (but still would be faster using the patched AliTPC class).
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.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.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Uncommented debug output.
 
 2003-07-28  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Started looking/changing and added creation of standard tpc param object if it was not found in the aliroot file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Commented out debug code.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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.
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx: Cosmetical changes.
 
 2003-07-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx:
        Added static flag for not doing the conformal mapping.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Dont store -1 patch number in spacepoints but use zero instead.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h:
        Added some debug output.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Added some prints to log and changed threshold behaviour for straigth cosmics tracks
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx:
        Changed to our type definition.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx:
        Solved bug closing wrong mapping pointer.
 
 2003-07-27  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Changes to compile without changes to ALIROOT version v3-09-Releases.
 
 2003-07-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTSrcLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Changes to compile also with ROOT or STANDALONE.
 
 2003-07-25  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Changes to reflect the new makefile strategy.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3SrcLinkDef.h:
-       Renamed AliL3LinkDef.h into AliL3SrcLinkDef.h to reflect module name changes in the Makefile.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTSrcLinkDef.h:
+       Renamed AliHLTLinkDef.h into AliHLTSrcLinkDef.h to reflect module name changes in the Makefile.
 
 2003-07-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Cleaning up albis bad solutions
 
 2003-07-24  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h:
        Class for reading cosmics data into HLT data structures, providing pedestral substraction and storing raw cosmics data.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Solved overflow problem for cosmics data using ULong64_t for the error in time direction.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h:
        Added Long64_t and ULong64_t types.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h:
        Added comments.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
-       Added virtual functions for AliL3RawDataHandler.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
+       Added virtual functions for AliHLTRawDataHandler.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Added flag fRawSP, if it is on, then the cf will leave spacepoints in raw co-system, default is off.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added fSectorLow variable and more setters.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added fSectorLow variable.
 
 2003-07-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3DigitData.h, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3StandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexData.h, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.h, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTDigitData.h, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTStandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexData.h, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Added html tags for documentation.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.h:
        Removed.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.h:
        Little changes before file goes to attic.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
-       Moved the *Real* functions to misc/AliL3TPCMapping
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Moved the *Real* functions to misc/AliHLTTPCMapping
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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.
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Include recursive and print rootcint command.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
-       Bugfix of last checking, AliL3Transformer produces now the same results as the old version.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
+       Bugfix of last checking, AliHLTTransformer produces now the same results as the old version.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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
        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
+       GSI mapping. This functions are not used inside AliHLTTransform, 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
 
 2003-07-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Version field is being loaded in config file.
 
 2003-07-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRawDataFileHandler.h, /alice/cvs/hltcvs/level3code/src/Makefile:
        Added RawData FileHandler class for the cosmics data test.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Changed char to Char_t
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx:
        stupid warning solved due commenting.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added setters (and some more getters), changed some members to const plus little cosmetics.
 
 2003-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3StandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTStandardIncludes.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Changes to make the code work for gcc-3.3
 
 2003-05-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Added option to write "altro" digits in AliDigits2Binary.
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        from aliroot file you dont have to delete the AliLevel3 object for every
        event.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx:
        Dont draw benchmark graph by default
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added getter GetSolenoidField
 
 2003-04-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.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
 
 2003-04-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Changed some comments
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Included TError.h
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.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.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Mods in CalculateResiduals
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Default disregard single pad clusters
 
 2003-04-11  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Bugfix in AliPoints2Memory. In case fPatch==-1, 0 has to be
        written to the pointid.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Added getter GetFilePointer
 
 2003-04-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Another bugfix in GetPadRow.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Bugfix in GetPadRow
 
 2003-04-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Fixing a quite serious bug in the global merging procedures:
 
-       In AliL3ConfMapTrack::FillTrack, the first point on the track should
+       In AliHLTConfMapTrack::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
+       In AliHLTFitter 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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Bugifx from last checkin.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Bugfix from last checkin
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
-       Moved UpdateToFirstPoint from AliL3ConfMapTrack to AliL3Track. Also,
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Moved UpdateToFirstPoint from AliHLTConfMapTrack to AliHLTTrack. 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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Forgot root version string in PrintCompileOptions().
 
 2003-03-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Cosmetic
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx: Cosmetic
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Bugfix in GetMCTrackLabel
 
 2003-03-05  Constantin Loizides  <loizides@hansa00>
 
 2003-03-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Commented out two lines which produce crash in some pp events.
 
 2003-02-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.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>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Small change with fBenchmark
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Making compilable with gcc-32
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
 
 2003-02-24  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Added quick and dirty hack to circumvent negativ numbers for trackids while merging events.
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Added defs string to rootcint
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Check for valid trackfile.
 
 2003-02-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h: Added GetTracks()
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h: Added GetTracks()
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        10 bits for event number in trackID
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
 
 2003-02-24  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Bug in Binary2Memory where zero digits on a row breaked in the read loop.
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
 
 2003-02-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
        Fixed Constantins bugs
 
 2003-02-21  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/Makefile:
-       Added version information of compile time options to AliL3Transformer::PrintCompileOptions().
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       Added version information of compile time options to AliHLTTransformer::PrintCompileOptions().
 
 2003-02-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Bugfix
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx:
-       Added AliL3Fitter to compile in Makefile. This class is also used
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx:
+       Added AliHLTFitter to compile in Makefile. This class is also used
        to do a global fit of the tracks _after_ track merging across
        sector boundaries.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Changes for making and tracking pileup events. In
-       AliL3FileHandler::AliAltroDigits2Memory you can set a flag
+       AliHLTFileHandler::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
        Also some other smaller changes, like default switching global mergin
        between sector boundaries on.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx: Small cleanup
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx: Small cleanup
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx:
        Renamed cluster errors
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Renamed the cluster errors to fSigmaY2/fSigmaZ2, in order not to confuse
        cluster widths with space point errors.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Possible to evaluate more events at the same time.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Calculating angle of tracklet.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
-       AliL3ConfMapper.cxx
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h:
+       AliHLTConfMapper.cxx
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added functions GetParSigmaY2 and GetParSigmaZ2
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h:
        Can read slice files
 
 2003-02-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Bugfix: Calculated cluster widths (RMS) were not transformed to local
        coordinates! This caused 1 whole day of confusion.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added data member fOmegaTau
 
 2003-02-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Can specify eventnr.
 
 2003-02-06  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added a needed setter and getter
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Save MCid in AliPoints2Memory
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Read offline clusters from multiple events
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        If cluster width calculation is switched on, check if the calculated
        sigma² is negative.
 
 2003-02-05  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Bugfix. Default ctor sets fFirstPoint and fLastPoint to zero. This fix
        removed some occasional floating point exception in
-       AliL3TrackArray::WriteTracks.
+       AliHLTTrackArray::WriteTracks.
 
 2003-02-04  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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
 
 2003-01-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Bugfix from last checkin
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Insignificant bugfixes
 
 2003-01-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added function GetPatch
 
 2003-01-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Bugfix after last checkin
 
 2003-01-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Updated function EvaluatePoints.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h:
        Removed obsolute lines
 
 2003-01-17  Anders Strand Vestbo  <vestbo@hansa00>
 
 2003-01-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added function Deg2Raw
 
 2002-11-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Smaller changes. A few lines in order to make filling an ntuppel
        work with the current version of ROOT (bug in ROOT).
 
        Changes so that one can read slice by slice also from
        binary files format.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Small bugfix in InitSector
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Default match should be 2
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Small bugfix in CalculateEgdePoint
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h:
        Updates to make it work
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx:
        Also write errors to textfile
 
 2002-11-15  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Bugfix in GetEta(raw coordinates); needs slice.
 
 2002-11-13  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx: Cosmetics.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx: Cosmetics.
 
 2002-11-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        New function AliAltroDigits2Memory. This function removes single timebins, single
        as in both time and pad.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.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
+       AliHLTTransform::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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Bugfix in AliPoints2Memory
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Minor changes in AliDigits2RootFile
 
 2002-10-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx: Bugfix in Init.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx: Bugfix in Init.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
-       Added ADC saturation in AliL3Transform.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Added ADC saturation in AliHLTTransform.
 
 2002-10-14  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Bugfix in AliPoints2Memory
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
 
 2002-10-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Added a few more explaining lines in class description.
 
 2002-10-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.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.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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
        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.
+       of the AliHLTFileHandler is taking care of reading the data from all
+       patches, and therefore the AliHLTFileHandler::fLastIndex method fails when
+       reading patch by patch. This problem did not show up in the AliHLTHough,
+       because there you have one AliHLTFileHandler per patch.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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.
 
 2002-09-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx: Cosmetic
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx: Cosmetic
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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
 
 2002-09-04  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added boolean return values to Init, Make_Init_File and Read_Init function. Check for given root file.
 
-       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Added ASVVERSION define.
 
 2002-09-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Changing hardcoded values.
 
 2002-09-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
-       Changed from hardcoded param to a version which gets the param string from AliL3Transform::GetParamName().
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Changed from hardcoded param to a version which gets the param string from AliHLTTransform::GetParamName().
 
 2002-09-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/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,
+       to AliHLTTransform::GetNRows() etc. Also the remaining hardcoded AliTPCParam
+       and digits tree object names has been changed in AliHLTFileHandler.
+       There were and still are a bug in the AliHLTMerger 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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
-       Bugfix in AliL3Transform. Changed the strings of the AliTPCParam and
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Bugfix in AliHLTTransform. Changed the strings of the AliTPCParam and
        Digitstree objects corresponding to the new AliROOT.
 
 2002-08-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: Small bugfix
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx: Small bugfix
 
 2002-08-25  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Little changes to make g++ version 3.2 compile the src library. Problems remaining for ALIROOT lib.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3StandardIncludes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTStandardIncludes.h:
        Standard include file to include different files for different compiler versions.
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
 
 2002-07-11  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/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.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/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 AliHLTStopwatch in AliHLTBenchmark class.
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Changes for independant library of standalone l3 code.
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Added -Duse_root to USEPACKAGE=ALIROOT section.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added fBFACT=0.0029... value. GetBFieldValue() returns now fBField*fBFACT.
 
 2002-07-03  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx:
        Solved little pointer bug that prevented logger classes to be used in standalone programs.
 
 2002-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Minor changes and cosmetics according to Anders.
 
 2002-07-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Cosmetic changes on top, to make hltm documentation in root to work
 
 2002-07-02  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Minor changes, mostly cosmetic or comments
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
 
 2002-06-14  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Solved bug to not merge clusters on the same pad.
 
 2002-06-07  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Have some new set functions. Remove deconv=true setting from init.
 
 2002-05-31  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added getter GetNRows()
 
        * /alice/cvs/hltcvs/level3code/src/Makefile: Added a flag
 
 2002-05-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
-       Bugfix in AliL3FileHandler::GetDigitsTree.
-       Added a new function AliL3FileHandler::FreeDigitsTree(), in order
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
+       Bugfix in AliHLTFileHandler::GetDigitsTree.
+       Added a new function AliHLTFileHandler::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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
-       Moved some getters to AliL3MemHandler
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
+       Moved some getters to AliHLTMemHandler
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Smaller changes
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx: Smaller changes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
-       Made all AliL3FileHandler specific functions virtual in AliL3MemHandler.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
+       Made all AliHLTFileHandler specific functions virtual in AliHLTMemHandler.
 
 2002-05-26  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Solved merge problem of last checkin.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
-       Added AliL3Evaluate in case compiling with AliROOT
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
+       Added AliHLTEvaluate in case compiling with AliROOT
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Switched on slow merging.
 
 2002-05-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Bugfix from previos ci
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Do not give *row to Init
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        BField is now also read from configuration.
 
 2002-05-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Bugfix in GetPadPitchWidth(patch). return inner width if patch < 2, not patch<=2.
 
 2002-05-07  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Small change in GetCrossingAngle.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Commented out cout in WriteClusters
 
 2002-05-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Forgot to remove #include in previous checkin
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/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.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Moved all the constants from AliHLTDefs.h to static AliHLTTransform. No
+       longer need for AliHLTDefs.h, and it has therefore been removed.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
-       Added the magnetic field as a static member of the AliL3Transform class,
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
+       Added the magnetic field as a static member of the AliHLTTransform 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
+       field without recompiling. Earlier this had to be set in AliHLTDefs.h as
        a constant global variable.
 
 2002-05-01  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/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
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
+       Forgot to check in this the last time. Some changes in AliHLTMemHandler as
+       a consequence of writing child class AliHLTDataHandler. fInBinary and fOutBinary
        has been made protected, and CompBinary2Memory and Memory2CompBinary has been
        made virtual.
 
 2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
-       Major changes in the AliL3Transform class. The class has been made completely
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       Major changes in the AliHLTTransform 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
+       so that no private AliHLTTransform* 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,
+       the correct detector parameters by calling AliHLTTransform::Init(path). If not,
        default parameters will be used (currently corresponding to AliROOT version 3.06).
 
 2002-04-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h: Cleaning up.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h: Cleaning up.
 
 2002-04-24  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Some more comments.
 
 2002-04-20  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added several GET-Functions, fixed bug in old config.
 
 2002-04-19  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added fZLength and fZOffset, fixed a few bugs in the new init method.
 
 2002-04-19  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Inserted image on top.
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/src/Makefile:
        Root objects are compiled in lib_ROOT from now on.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h:
        Added fVersion field to differentiate the old and new config version.
 
 2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
-       Cleaned up some more in AliL3MemHandler, by removing the AliL3Transform in
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       Cleaned up some more in AliHLTMemHandler, by removing the AliHLTTransform in
        arguments of member functions. This also required some changes in AliLevel3,
        which make use of these functions.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/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
 
 2002-04-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
-       Removed private member AliL3FileHandler::fTransformer, and moved AliL3MemHandler::fTransformer
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
+       Removed private member AliHLTFileHandler::fTransformer, and moved AliHLTMemHandler::fTransformer
        to protected. This means that both the filehandler and memhandler always has to get
-       the transformer from AliL3MemHandler::Init(AliL3Transform *).
+       the transformer from AliHLTMemHandler::Init(AliHLTTransform *).
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.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>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Last cosmetic changes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: More cosmetic
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx: More cosmetic
 
 2002-04-18  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Cosmetic changes for the integration of doxygen
 
 2002-04-17  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Changed documentation for doxygen.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Comments updated and merge problems solved.
 
 2002-04-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Comments formatted the way THtml likes it.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Added more comments.
 
 2002-04-16  Constantin Loizides  <loizides@hansa00>
        * /alice/cvs/hltcvs/level3code/src/doit, /alice/cvs/hltcvs/level3code/src/speedtest.cxx, /alice/cvs/hltcvs/level3code/src/speedtest.h:
        moving into programs
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/Makefile:
        More improved Makefile, setting logging paths, TOPDIR and LIBDIR.
 
 2002-04-15  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/Makefile:
-       Changed Makefile and AliL3RootTypes.h in order to define usepackage (ROOT, ALIROOT
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       Changed Makefile and AliHLTRootTypes.h in order to define usepackage (ROOT, ALIROOT
        do_mc) in Makefile only.
 
 2002-04-09  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Added capability of searching neighboring digits for particle id in function AliDigits2RootFile.
 
 2002-03-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/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.
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
+       Changed test in AliDigits2RootFile to check for charge below threshold, not charge==0. This function can then be used together with AliHLTCompress::WriteRootFile.
 
 2002-03-06  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Added new function, fTracker->InitVolumes()
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Bugfix in CalculateHelix(). Kappa is given proper sign, earlier it was always positive.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h:
        Remaining from previous co
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Changes and optimization for pp-running
 
 2002-02-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h:
        The default should be not to save mcid
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3DigitData.h, /alice/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
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTDigitData.h, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.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-> AliHLTFileHandler::AliHLTDigits2Memory. The id is saved in the digit structure and then in the space point structure. The option is switched on in do_mc in AliHLTRootTypes.h
 
 2002-02-05  Anders Strand Vestbo  <vestbo@hansa00>
 
 
        * /alice/cvs/hltcvs/level3code/src/Makefile: Minor updates
 
-       * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/Makefile.AliROOT, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/Makefile.AliROOT, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Checking in for the weekend
 
 2002-01-23  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/src/Makefile.AliROOT:
        Makefile from aliroot. The one that was used before.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h: Only 1 file
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h: Only 1 file
 
 2002-01-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Load digitstree only once
 
 2002-01-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h:
        Smaller changes
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
 
 2002-01-07  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h:
        Changed to normal bfield
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx:
        Added debugs
 
 2001-12-10  Anders Strand Vestbo  <vestbo@hansa00>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Smaller changes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Possible to switch onoff deconv
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx: Smaller changes
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx: Smaller changes
 
-       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h:
-       Adding AliL3Fitter
+       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h:
+       Adding AliHLTFitter
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.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.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Fitter.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Fitter.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFitter.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFitter.h:
        Refitting tracks after tracking
 
 2001-12-06  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx:
        Multimerge: When doing global merging, take the parameters of the track which has the most hits
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h:
        Made it possible to use different cuts for nonvertex tracking
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/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
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        Added new function; GetClosest which calculates the point of closest approach to the vertex.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.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.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx:
-       Getting bfield from common file; AliL3Defs.h
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx:
+       Getting bfield from common file; AliHLTDefs.h
 
 2001-12-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Possible to read several events from same rootfile
 
 2001-11-29  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Added debug logging in SetPointers
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Don't specify fEta to tracker
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Same bugfix in raw2local
 
 2001-11-28  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Bugfix in raw2local
 
 2001-11-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Bugfix in DisplayTracks()
 
        * /alice/cvs/hltcvs/level3code/src/Makefile: Moved classes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h:
        Addded possibilily to rotate track in AddTracks
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h:
        Bugfix in SetZ0, which is actually the first point
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.h, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx:
        Addons for html documentation
 
 2001-11-16  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx:
        Bugfix in AddTracks
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h:
        Made CalculateHelix virtual
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h:
        Added possibility for Hough use
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
-       Moved AliL3HoughTrack to hough
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/Makefile:
+       Moved AliHLTHoughTrack to hough
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx:
        Moving classes to /hough
 
 2001-11-13  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Extended Global2Local to include slice as input
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Made UpdateRowPointer static
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Made some changes in DefineGoodparticles; Allowing to read good tracks from file
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Updates to aliroot V3.06
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
-       Made Compare() and Set virtual in AliL3Track and derived classes
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx:
+       Made Compare() and Set virtual in AliHLTTrack and derived classes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Some changes in AliDigits2RootFile
 
 2001-11-01  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx:
        Modified AddTracks. Should be backward compatible
 
 2001-10-25  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logging.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h:
        Changed path to timm code
 
 2001-10-23  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Bugfix in GetEta(padrow,pad,time)
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logging.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h:
        Timms code compatible again
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        Bugfix in AliDigits2RootFile, and AliDigits2Memory
 
 2001-10-12  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h:
        Added function AliDigits2RootFile
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Added function UpdateRowPointer
 
 2001-09-21  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Changed to 6 patches
 
 2001-09-18  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Added new funtion GetEta
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h:
        Added a static function GetCpuTime
 
 2001-08-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Updates in EvaluatePoints
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx: Optimization
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx: Optimization
 
 2001-08-21  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Changed to new clusterfinder
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx: Bugfix
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx: Bugfix
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx: bugfix
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx: bugfix
 
-       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h:
+       * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h:
        Added new clusterfinder
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        Added deconvolution
 
 2001-08-20  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Fixing rounding error in digitMC info
 
 2001-08-17  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Updates for AliROOT V3.05
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinderNew.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinderNew.h:
        A new improved cluster finder
 
 2001-08-17  Uli Frankenfeld  <franken@hansa00>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        proteced against non existing inputfile
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx: use memset
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx: use memset
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
        Initialize Memory in Function Write and Allocate
 
 2001-08-15  Uli Frankenfeld  <franken@hansa00>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        changed to 6 patches
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logging.h: changed printout
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h: changed printout
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h:
        changed to n patches
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx:
        remove printout
 
 2001-08-07  Anders Strand Vestbo  <vestbo@hansa00>
 
 2001-08-07  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        New AliRoot Coordinate System
 
 2001-07-31  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Changed path of geofile
 
 2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        several bugfixes
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
 
 2001-07-30  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        V3.04 -> V3.05: Init and npadrow changed
 
 2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h:
        Bugfixes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx:
        Bugfix
 
 2001-07-30  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx:
        Run with dummy Logging class
 
 2001-07-30  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Update bugfixes
 
        * /alice/cvs/hltcvs/level3code/src/Makefile:
 
 2001-07-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx:
        Updating
 
 2001-07-26  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx:
-       changed (AliL3RandomDigitData **)new Int_t[] to new AliL3RandomDigitData *[]
+       * /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx:
+       changed (AliHLTRandomDigitData **)new Int_t[] to new AliHLTRandomDigitData *[]
 
 2001-07-20  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx:
        Updating bugfixes and default values
 
 2001-07-02  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx: Bugfix
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx: Bugfix
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h:
-       Added function AddLast(AliL3Track *track)
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h:
+       Added function AddLast(AliHLTTrack *track)
 
 2001-05-03  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx: Minor changes
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx: Minor changes
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h:
        Removing obsolete code
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx:
        Some updates
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Changed max number if hits
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Added some functions
 
 2001-05-01  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx:
        improved calculation of RMS
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx:
        bugfix in CalcEdgePoint
 
 2001-04-27  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h:
        Cleaning up some more
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h:
        Cleaning up after last changes
 
 2001-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Changed number of timebins to 446
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h:
        Added some functions
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        Added residual calc. and ntuppels
 
 2001-04-06  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx:
        Simplification for Fast Simulator
 
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx: cleanup
        * /alice/cvs/hltcvs/level3code/src/Makefile, /alice/cvs/hltcvs/level3code/src/Makefile_Root:
        add mrproper and wipe
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h:
        minor changes, bugfix for FastSim
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        Changed max_num_of_hits to 120000
 
 2001-04-04  Uli Frankenfeld  <franken@hansa00>
        * /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        Bugfix using Aliroot Inputfiles, changes in Init selectiong rows
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx:
        Bugfix in SetSize
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h:
        make use_aliroot default, comment if using Makefile_Root
 
-       * /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
+       * /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx:
        removed class AliLevel3_Root, use AliLevel3 instead
 
 2001-03-22  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx:
        cleanup in Read
 
 2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx: Removed junk
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx: Removed junk
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx:
        Modified AddTracks
 
 2001-03-22  Uli Frankenfeld  <franken@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx:
        change in file including
 
 2001-03-22  Anders Strand Vestbo  <vestbo@hansa00>
 
        * /alice/cvs/hltcvs/level3code/src/.nfs002b88e300000129: Removed junk
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/speedtest.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/speedtest.h:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.h, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/speedtest.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.h, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.h, /alice/cvs/hltcvs/level3code/src/speedtest.h:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/speedtest.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/speedtest.cxx:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/speedtest.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3.cxx, /alice/cvs/hltcvs/level3code/src/AliLevel3_Root.cxx, /alice/cvs/hltcvs/level3code/src/Makefile_Root, /alice/cvs/hltcvs/level3code/src/speedtest.cxx:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/.nfs002b88e300000129:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/.nfs002b88e300000129:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Display.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Display.h, /alice/cvs/hltcvs/level3code/src/AliL3Track.h, /alice/cvs/hltcvs/level3code/src/.nfs002b88e300000129:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTDisplay.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.h, /alice/cvs/hltcvs/level3code/src/.nfs002b88e300000129:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.h, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3FileHandler.h, /alice/cvs/hltcvs/level3code/src/AliL3Logging.h, /alice/cvs/hltcvs/level3code/src/AliL3RootTypes.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.h, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTFileHandler.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogging.h, /alice/cvs/hltcvs/level3code/src/AliHLTRootTypes.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.cxx, /alice/cvs/hltcvs/level3code/src/Makefile:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Track.cxx, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Transform.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.cxx:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Evaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliL3MemHandler.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTEvaluate.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTMemHandler.h:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliL3HoughTrack.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTHoughTrack.cxx:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/doit:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/doit:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Benchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliL3Logger.h, /alice/cvs/hltcvs/level3code/src/doit:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTBenchmark.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.cxx, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.h, /alice/cvs/hltcvs/level3code/src/doit:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexData.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexData.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3Defs.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.h, /alice/cvs/hltcvs/level3code/src/AliL3SpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackArray.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3TrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliL3Transform.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexArray.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexData.h, /alice/cvs/hltcvs/level3code/src/AliL3VertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3Vertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTDefs.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTSpacePointData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTTrackSegmentData.h, /alice/cvs/hltcvs/level3code/src/AliHLTTransform.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexArray.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexData.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertexFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTVertex.h, /alice/cvs/hltcvs/level3code/src/AliLevel3.h:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3DigitData.h, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTDigitData.h, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliL3DigitData.h, /alice/cvs/hltcvs/level3code/src/AliL3GlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3InterMerger.h, /alice/cvs/hltcvs/level3code/src/AliL3LinkDef.h, /alice/cvs/hltcvs/level3code/src/AliL3Merger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTConfMapper.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapPoint.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapTrack.h, /alice/cvs/hltcvs/level3code/src/AliHLTDigitData.h, /alice/cvs/hltcvs/level3code/src/AliHLTGlobalMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTInterMerger.h, /alice/cvs/hltcvs/level3code/src/AliHLTLinkDef.h, /alice/cvs/hltcvs/level3code/src/AliHLTMerger.cxx:
        New file.
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx:
        Imported the source files
 
-       * /alice/cvs/hltcvs/level3code/src/AliL3ClustFinder.h, /alice/cvs/hltcvs/level3code/src/AliL3ConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliL3Logger.cxx:
+       * /alice/cvs/hltcvs/level3code/src/AliHLTClustFinder.h, /alice/cvs/hltcvs/level3code/src/AliHLTConfMapFit.h, /alice/cvs/hltcvs/level3code/src/AliHLTLogger.cxx:
        New file.
 
index c7f6c433d4094f3cce9b2332d095b2316a67b6c3..9980f394a5099aac3db2475db2562add3fca96ef 100644 (file)
@@ -17,7 +17,7 @@
        in the track segment data structure. This is used
        for the new row transformer and probably only
        a temporary solution, as the proper way would be
-       to have a new AliL3HoughTrackRow class.
+       to have a new AliHLTHoughTrackRow class.
 
        By default the flag $ALIHLT_ROWHOUGH points to false,
        so there is no change to earlier versions.
@@ -54,7 +54,7 @@
 2003-07-29  Constantin Loizides  <loizides@hansa00>
 
        * /alice/cvs/hltcvs/level3code/Makefile.conf, /alice/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).
+       Removed ASV version, as the new AliHLTFileHandler does not need (but still would be faster using the patched AliTPC class).
 
 2003-07-28  Constantin Loizides  <loizides@hansa00>
 
index f472dfa07a77140a23a1729b3236f3f964e16b51..4f761d5156f3b4c8ca1beea2ff3c8277fafca1fd 100644 (file)
@@ -1,6 +1,6 @@
 2004-05-11  Gaute Ovrebekk  <ovrebekk@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/trigger/AliBarrelRec_TPCparam.C, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.C, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.cxx, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.h, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderBkg_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderSgn_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliITSFindClustersV2.C, /alice/cvs/hltcvs/level3code/trigger/AliL3TriggerLinkDef.h, /alice/cvs/hltcvs/level3code/trigger/Makefile, /alice/cvs/hltcvs/level3code/trigger/RunD0offline.C:
+       * /alice/cvs/hltcvs/level3code/trigger/AliBarrelRec_TPCparam.C, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.C, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.cxx, /alice/cvs/hltcvs/level3code/trigger/AliD0Trigger.h, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderBkg_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderSgn_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliITSFindClustersV2.C, /alice/cvs/hltcvs/level3code/trigger/AliHLTTriggerLinkDef.h, /alice/cvs/hltcvs/level3code/trigger/Makefile, /alice/cvs/hltcvs/level3code/trigger/RunD0offline.C:
        removeing macros
 
 2004-05-04  Gaute Ovrebekk  <ovrebekk@hansa00>
@@ -52,7 +52,7 @@
 
 2003-07-22  Constantin Loizides  <loizides@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /alice/cvs/hltcvs/level3code/trigger/AliL3Trigger.h, /alice/cvs/hltcvs/level3code/trigger/AliL3TriggerLinkDef.h:
+       * /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /alice/cvs/hltcvs/level3code/trigger/AliHLTTrigger.h, /alice/cvs/hltcvs/level3code/trigger/AliHLTTriggerLinkDef.h:
        Added html tags for documentation.
 
        * /alice/cvs/hltcvs/level3code/trigger/Makefile:
 
 2003-05-30  Gaute Ovrebekk  <ovrebekk@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.cxx, /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderBkg_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderSgn_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliL3TriggerLinkDef.h, /alice/cvs/hltcvs/level3code/trigger/Makefile:
+       * /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.cxx, /alice/cvs/hltcvs/level3code/trigger/AliD0toKpi.h, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderBkg_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliD0vtxFinderSgn_pp_VTX.C, /alice/cvs/hltcvs/level3code/trigger/AliHLTTriggerLinkDef.h, /alice/cvs/hltcvs/level3code/trigger/Makefile:
        Added first verison of D0 TriggerCode
 
 2002-04-26  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/trigger/AliL3Trigger.cxx, /alice/cvs/hltcvs/level3code/trigger/AliL3Trigger.h:
-       Changes as a result of making AliL3Transform static.
+       * /alice/cvs/hltcvs/level3code/trigger/AliHLTTrigger.cxx, /alice/cvs/hltcvs/level3code/trigger/AliHLTTrigger.h:
+       Changes as a result of making AliHLTTransform static.
 
 2002-03-06  Anders Strand Vestbo  <vestbo@hansa00>
 
-       * /alice/cvs/hltcvs/level3code/trigger/AliL3Trigger.h, /alice/cvs/hltcvs/level3code/trigger/AliL3Trigger.cxx:
+       * /alice/cvs/hltcvs/level3code/trigger/AliHLTTrigger.h, /alice/cvs/hltcvs/level3code/trigger/AliHLTTrigger.cxx:
        Added trigger code. For the moment only preliminary code for pileup removal
 
index 90ad4b90dbf3d7fa8c5d283b27d7f9fc263abcce..b6aaf8d6a4e3b4714e26ee7513f3a8d188c6d3db 100644 (file)
@@ -1,4 +1,4 @@
-void AliL3Transform::Init(){
+void AliHLTTransform::Init(){
   fVersion = 10;
   fBFieldFactor = 1.000;
   fSolenoidBField = 4.000;
index 7077a6917b303388f3c8532849a7d66a1e8306ef..337f4a404729180cbdfbb0189cb9004b06160383 100644 (file)
@@ -1,4 +1,4 @@
-void AliL3Transform::Init(){
+void AliHLTTransform::Init(){
   fVersion = 100;
   fBFieldFactor = 0.000;
   fSolenoidBField = 2.000;
index d9d61ae1594cba0df843641ee97991fe8ceba2b5..3ef1596ae0d7fef81a0aa36b61a83a3c9b25b6bb 100644 (file)
 */
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
+#include "AliHLTLogger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
 #include <TNtuple.h>
 #include <TRandom.h>
 #include <TSystem.h>
@@ -139,10 +139,10 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
   Int_t patch = -1; //All of slice.
 
   Int_t NEvents = npiles; //for compatibility with old version
-  AliL3FileHandler **hand=new AliL3FileHandler*[NEvents];
-  AliL3DigitRowData **data=new AliL3DigitRowData*[NEvents];
-  AliL3DigitData **rowData=new AliL3DigitData*[NEvents];
-  AliL3DigitData *test;
+  AliHLTFileHandler **hand=new AliHLTFileHandler*[NEvents];
+  AliHLTDigitRowData **data=new AliHLTDigitRowData*[NEvents];
+  AliHLTDigitData **rowData=new AliHLTDigitData*[NEvents];
+  AliHLTDigitData *test;
   Char_t Carry[1024];
   Int_t DigitsTot = 0;
   Int_t tot_dig=0;
@@ -151,14 +151,14 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
   Byte_t *NData;
 
   const Int_t maxdigits=50000;
-  AliL3DigitData *temp[maxdigits];
-  AliL3DigitData *temp2[maxdigits];
+  AliHLTDigitData *temp[maxdigits];
+  AliHLTDigitData *temp2[maxdigits];
   
   //Create 1 filehander per event:
   sprintf(Carry,"%s/digitfile.root",path);
   for(Int_t event=0; event<NEvents; event++)
     {
-      hand[event] = new AliL3FileHandler();
+      hand[event] = new AliHLTFileHandler();
       if(!hand[event]->SetAliInput(Carry))
        cerr<<" Error opening file :"<<Carry<<endl;
     }
@@ -177,13 +177,13 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
     //Find out how many digits to allocate per patch
     DigitsTot=0;
     Int_t sign = slice < 18 ? -1 : 1;
-    for(Int_t row = 0 ; row < AliL3Transform::GetNRows(patch) ; row++){
+    for(Int_t row = 0 ; row < AliHLTTransform::GetNRows(patch) ; row++){
       for(Int_t event = 0; event < NEvents ; event++){
-       rowData[event] = (AliL3DigitData *)data[event]->fDigitData;
+       rowData[event] = (AliHLTDigitData *)data[event]->fDigitData;
        for(UInt_t dig=0; dig<data[event]->fNDigit; dig++)
          {
            Int_t time = rowData[event][dig].fTime + sign*Offset[event];
-           if(time < AliL3Transform::GetNTimeBins() && time >= 0)
+           if(time < AliHLTTransform::GetNTimeBins() && time >= 0)
              DigitsTot++;
          }
 
@@ -192,26 +192,26 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
     }
 
     //cout << "Try to allocate : " << DigitsTot << endl;
-    Int_t AllDigitsSize = sizeof(AliL3DigitData) * DigitsTot + sizeof(AliL3DigitRowData) * AliL3Transform::GetNRows(patch);
+    Int_t AllDigitsSize = sizeof(AliHLTDigitData) * DigitsTot + sizeof(AliHLTDigitRowData) * AliHLTTransform::GetNRows(patch);
     NData = new Byte_t[AllDigitsSize];
     memset(NData,0,AllDigitsSize);
-    AliL3DigitRowData *AllRowData = (AliL3DigitRowData*)NData;
+    AliHLTDigitRowData *AllRowData = (AliHLTDigitRowData*)NData;
     //cout << "Allocated " << endl;
     
     //Reset the data pointers, because they changed when doing UpdateRowPointer.
     for(Int_t event=0; event<NEvents; event++)
-      data[event] = (AliL3DigitRowData*)hand[event]->GetDataPointer(size);
+      data[event] = (AliHLTDigitRowData*)hand[event]->GetDataPointer(size);
 
     //Pileup the event    
     tot_dig=0;
-    for(Int_t row = 0 ; row < AliL3Transform::GetNRows(patch) ; row++){
+    for(Int_t row = 0 ; row < AliHLTTransform::GetNRows(patch) ; row++){
       DigitsPerRow = 0;
       for(Int_t event = 0; event < NEvents ; event++){
-       rowData[event] = (AliL3DigitData *)data[event]->fDigitData;
+       rowData[event] = (AliHLTDigitData *)data[event]->fDigitData;
        for(UInt_t dig=0; dig<data[event]->fNDigit; dig++)
          {
            Int_t time = rowData[event][dig].fTime + sign*Offset[event];
-           if(time < AliL3Transform::GetNTimeBins() && time >= 0)
+           if(time < AliHLTTransform::GetNTimeBins() && time >= 0)
              DigitsPerRow++;
          }
       }
@@ -221,11 +221,11 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
       //because we have to sort them before storing them :
       MeVDigit = 0;
       for(Int_t event = 0; event < NEvents ; event++){
-       rowData[event] = (AliL3DigitData *)data[event]->fDigitData;
+       rowData[event] = (AliHLTDigitData *)data[event]->fDigitData;
        for(UInt_t digit = 0; digit < data[event]->fNDigit ; digit++){
 
          Int_t time = rowData[event][digit].fTime + sign*Offset[event];
-         if(time >= AliL3Transform::GetNTimeBins() || time < 0)
+         if(time >= AliHLTTransform::GetNTimeBins() || time < 0)
            continue;
          
          temp[MeVDigit] = &rowData[event][digit];
@@ -270,7 +270,7 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
       tot_dig+=final_count;
       AllRowData->fRow = row;
       AllRowData->fNDigit = final_count;
-      test = (AliL3DigitData *) AllRowData->fDigitData;
+      test = (AliHLTDigitData *) AllRowData->fDigitData;
 
       //and copy them to the new event:
       for(Int_t c=0; c<final_count; c++)
@@ -307,9 +307,9 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
        cerr<<"Error; final_count "<<final_count<<" MeVDigit "<<MeVDigit<<endl;
 
       Byte_t *tmp = (Byte_t *)AllRowData;
-      Int_t UpdateSize = sizeof(AliL3DigitRowData) + sizeof(AliL3DigitData)*final_count;
+      Int_t UpdateSize = sizeof(AliHLTDigitRowData) + sizeof(AliHLTDigitData)*final_count;
       tmp += UpdateSize;
-      AllRowData = (AliL3DigitRowData *) tmp; 
+      AllRowData = (AliHLTDigitRowData *) tmp; 
     }//end looping over row
 
     if(tot_dig>DigitsTot)
@@ -323,8 +323,8 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
        hand[event]->FreeDigitsTree();
       }
     
-    AliL3FileHandler *Out = new AliL3FileHandler();
-    AllRowData = (AliL3DigitRowData*)NData;
+    AliHLTFileHandler *Out = new AliHLTFileHandler();
+    AllRowData = (AliHLTDigitRowData*)NData;
     if(slice==0){
       if(pileupdir[0]=='/')
        sprintf(Carry,"mkdir -p %s/",pileupdir);
@@ -344,7 +344,7 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
        return;
       }
     cout << "Writing to file: " << Carry <<endl;
-    Out->Memory2Binary(AliL3Transform::GetNRows(patch),AllRowData);
+    Out->Memory2Binary(AliHLTTransform::GetNRows(patch),AllRowData);
     Out->CloseBinaryOutput();
     delete Out;
     delete [] NData;
@@ -361,9 +361,9 @@ void MakePileup(Char_t *path,Int_t startev,Int_t endev,Char_t *pileupdir="pileup
 void QSort(void **dPt,Int_t first,Int_t last)
 {
   //General sorting routine. only sorting the pointers.
-  AliL3DigitData **a = (AliL3DigitData**)dPt;
+  AliHLTDigitData **a = (AliHLTDigitData**)dPt;
   
-  AliL3DigitData *tmp;
+  AliHLTDigitData *tmp;
   int i; 
   int j;
   
@@ -401,8 +401,8 @@ void QSort(void **dPt,Int_t first,Int_t last)
 
 Int_t CompareDigits(void *dPt1,void *dPt2)
 {
-  AliL3DigitData *a = (AliL3DigitData*)dPt1;
-  AliL3DigitData *b = (AliL3DigitData*)dPt2;
+  AliHLTDigitData *a = (AliHLTDigitData*)dPt1;
+  AliHLTDigitData *b = (AliHLTDigitData*)dPt2;
   if(a->fPad==b->fPad && a->fTime == b->fTime) return 0;
   
   if(a->fPad<b->fPad) return -1;
index 20004be5f54bc1ee0db17255f5f64c5970c4c401..8ff0a434fdba90e4834d1724fb86cb8cb1e49ace 100644 (file)
@@ -1,6 +1,6 @@
 //$Id$
 
-void SetFitParameters(AliL3ClusterFitter *fitter)
+void SetFitParameters(AliHLTClusterFitter *fitter)
 {
   fitter->SetInnerWidthFactor(1,1);
   fitter->SetOuterWidthFactor(1,1);
index 9d68bbe63ea26afa4e9f437eb06e409fa15ab8cb..dc69f96e8e5f88a5bedffa59277f3be637561aa1 100644 (file)
@@ -1,6 +1,6 @@
 //$Id$
 
-void SetHoughParameters(AliL3Hough *hough,Char_t *path,Int_t tversion=1)
+void SetHoughParameters(AliHLTHough *hough,Char_t *path,Int_t tversion=1)
 {
   bool binary = kTRUE;    //binary files input
   int n_eta_segments=100;
index 4b6841890a488ac1b76417138a82609b4ea762a7..0cce5d1c809f782300f2f44568df15d7e99157d8 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 4;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index 0cc02eeb599d3e37abd61f51887ac798ee1d4489..d395de55a4423e0756b46a67b92c5ff6b47b0c02 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 5;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index 801a99bbff7fb83868cd93039329618c8726ec58..784b4695d4287c736f04a8890868c7d52bfdca5f 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 10;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index 900044cca3e8eb40341f6fa1a8a02096816b2dfa..852ecda537ebd524b34957ac62093f2918ea7651 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 10;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index e699ac7c85fefb9fa1a1413f6e4100cf2c194915..312ed53a0b233ffdc1d9f7ec39c3eebcaca1b7f9 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 3;
   rowscopetrack = 15;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index 1ab340b4f8c60fad074b792f5eb2ee79cece4e2b..d7ab61313bed1cb797edcafc07b051a2f363ab9f 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 15;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index fddc3fcca437e1c5267274bbc32da89c6ae51fea..d756b153f55918a03cf07466acd676c99d368ce4 100644 (file)
@@ -12,7 +12,7 @@ void SetTrackingParameters(AliLevel3 *tracker)
   rowscopetracklet = 2;
   rowscopetrack = 2;
   min_pt_fit = 0;
-  maxangle = 0.1745; //AliL3Transform::Deg2Rad(10);
+  maxangle = 0.1745; //AliHLTTransform::Deg2Rad(10);
   goodDist = 5;
   maxphi = 0.1;
   maxeta = 0.1;
index 37a1660d5308db416eada4e595c46b09a7b361d1..0120073f849b7b60808ad93c8b823a558be13dad 100644 (file)
@@ -12,7 +12,7 @@
 
 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);
+  AliHLTTransform::Init(inpath,kTRUE);
 
   if(sp) {
     singlepatch(inpath,outpath,first,last,event,altro);
@@ -23,7 +23,7 @@ binary(Char_t* inpath,Char_t *outpath,Int_t first,Int_t last,Int_t event,Bool_t
   const Int_t npatch = 6;
 
   sprintf(name,"%s/digitfile.root",inpath);
-  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
+  AliHLTFileHandler *fFileHandler = new AliHLTFileHandler(); 
   fFileHandler->SetAliInput(name);
 
   for(Int_t slice=first; slice<=last; slice++){
@@ -45,7 +45,7 @@ void singlepatch(Char_t* inpath,Char_t *outpath,Int_t first=0, Int_t last=0,Int_
 {
    
   Char_t name[256];
-  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
+  AliHLTFileHandler *fFileHandler = new AliHLTFileHandler(); 
   sprintf(name,"%s/digitfile.root",inpath);
   fFileHandler->SetAliInput(name);
   
@@ -69,7 +69,7 @@ void write2rootfile(Char_t *in,Int_t first,Int_t last,Char_t *path)
 {
   //Write new rootfile, using data from the binary files. 
 
-  AliL3Transform::Init(path);
+  AliHLTTransform::Init(path);
   char filename[1024];
   sprintf(filename,"%s/digitfile.root",path);
   file = TFile::Open(filename,"READ");
@@ -82,7 +82,7 @@ void write2rootfile(Char_t *in,Int_t first,Int_t last,Char_t *path)
     {
       for(Int_t patch=0; patch<=5; patch++)
        {
-         c = new AliL3Compress(slice,patch,path);
+         c = new AliHLTCompress(slice,patch,path);
          c->WriteRootFile(filename,in);
          delete c;
        }
@@ -91,5 +91,5 @@ void write2rootfile(Char_t *in,Int_t first,Int_t last,Char_t *path)
 }
 
 void make_init_file(Char_t *f,Char_t *path="./"){
-  AliL3Transform::MakeInitFile(f,path);
+  AliHLTTransform::MakeInitFile(f,path);
 }
index b6df74f3f81938c64a6d1fcce735948d230cf810..d9d2ea3ad2b60e9270c3f9889364fb7c6c9708ed 100644 (file)
@@ -7,10 +7,10 @@
 void convert(Int_t sl=0,Int_t sh=35,Char_t *path1="./", Char_t *path2="./")
 {
   char fname[250];
-  AliL3Logger l;
-  //l.UnSet(AliL3Logger::kDebug);
-  //l.UnSet(AliL3Logger::kAll);
-  //l.Set(AliL3Logger::kInformational);
+  AliHLTLogger l;
+  //l.UnSet(AliHLTLogger::kDebug);
+  //l.UnSet(AliHLTLogger::kAll);
+  //l.Set(AliHLTLogger::kInformational);
   l.UseStdout();
   //l.UseStream();
 
@@ -18,7 +18,7 @@ void convert(Int_t sl=0,Int_t sh=35,Char_t *path1="./", Char_t *path2="./")
     {
       for(int patch=0; patch<6; patch++)
        {
-         file = new AliL3DataHandler();
+         file = new AliHLTDataHandler();
          file->Init(slice,patch);
          sprintf(fname,"%s/digits_%d_%d.raw",path1,slice,patch);
          file->SetBinaryInput(fname);
@@ -36,15 +36,15 @@ void convert(Int_t sl=0,Int_t sh=35,Char_t *path1="./", Char_t *path2="./")
 #if 0
 void read()
 {
-  AliL3MemHandler *file = new AliL3DataHandler();
+  AliHLTMemHandler *file = new AliHLTDataHandler();
   file->SetBinaryInput("/prog/alice/data/new/fixed-slice0/rawdata_8bit/1part/digits_c8_0_5.raw");
   //file->SetBinaryInput("test.raw");
   UInt_t ndigits;
-  AliL3DigitRowData *data = (AliL3DigitRowData*)file->CompBinary2Memory(ndigits);
+  AliHLTDigitRowData *data = (AliHLTDigitRowData*)file->CompBinary2Memory(ndigits);
   
   cout<<"Number of rows: "<<ndigits<<endl;
   
-  AliL3DigitData *digPt=0;
+  AliHLTDigitData *digPt=0;
   for(int i=0; i<32; i++)
     {
       //cout<<(int)data->fRow<<endl;
index a7ae1b76598f05d45b0802670e7a7fa2457df715..fdd7489a1c2117e488da699bb5f5f97775c0610a 100644 (file)
@@ -14,7 +14,7 @@
 
 ddl2binary(Char_t* inpath,Char_t *outpath,Int_t first=0,Int_t last=35,Bool_t sp=kTRUE,Int_t event=-1){
 
-  AliL3Transform::Init(inpath); //expect l3transform.config in "inpath"
+  AliHLTTransform::Init(inpath); //expect l3transform.config in "inpath"
 
   Int_t patchfrom = 0;
   Int_t patchend = 6;
@@ -27,7 +27,7 @@ ddl2binary(Char_t* inpath,Char_t *outpath,Int_t first=0,Int_t last=35,Bool_t sp=
   sprintf(name,"%s/Ev0TPCslice",inpath);
 
   //create the file handler
-  AliL3DDLDataFileHandler *fFileHandler = new AliL3DDLDataFileHandler(); 
+  AliHLTDDLDataFileHandler *fFileHandler = new AliHLTDDLDataFileHandler(); 
   fFileHandler->SetReaderInput(name);
 
   for(Int_t slice=first; slice<=last; slice++){
index c2e4caabe8e9da08012d6e45cd3eb3aab8173151..f8e2ca0c8921e1cedfedf2854b06e3571cd0f5de 100644 (file)
@@ -1,7 +1,7 @@
 //$Id$
 
-/* Example of how to use the AliL3ClusterFitter to fit clusters
-   to the track candidates given as a AliL3TrackArray.
+/* Example of how to use the AliHLTClusterFitter to fit clusters
+   to the track candidates given as a AliHLTTrackArray.
 
    The path "path" should contain the link to the digitsfile, 
    and the directories called fitter (for the results) and hough
 */
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Track.h"
-#include "AliL3Transform.h"
-#include "AliL3Hough.h"
-#include "AliL3Fitter.h"
-#include "AliL3ClusterFitter.h"
-#include "AliL3Vertex.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHough.h"
+#include "AliHLTFitter.h"
+#include "AliHLTClusterFitter.h"
+#include "AliHLTVertex.h"
+#include "AliHLTTrackArray.h"
 #include <TNtuple.h>
 #include <TRandom.h>
 #include <TSystem.h>
 void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent=1)
 {
   
-  AliL3Transform::Init(path,kTRUE);
+  AliHLTTransform::Init(path,kTRUE);
   
   Char_t filename[1024];
-  AliL3FileHandler *file = new AliL3FileHandler(kTRUE); //static index
+  AliHLTFileHandler *file = new AliHLTFileHandler(kTRUE); //static index
   UInt_t ndigits=0;
   
   sprintf(filename,"%s/digitfile.root",path);
   file->SetAliInput(filename);
-  AliL3ClusterFitter *fitter = new AliL3ClusterFitter(path);
+  AliHLTClusterFitter *fitter = new AliHLTClusterFitter(path);
   
 #ifdef __CINT__
   Char_t macroname[1024];
@@ -66,10 +66,10 @@ void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent
   TStopwatch trefitter;trefitter.Stop();
 
   Int_t patch=-1;
-  Int_t rowrange[2] = {0,AliL3Transform::GetNRows()-1};  
+  Int_t rowrange[2] = {0,AliHLTTransform::GetNRows()-1};  
   for(Int_t ev=0; ev<nevent; ev++)
     {
-      AliL3FileHandler::LoadStaticIndex(0,ev);
+      AliHLTFileHandler::LoadStaticIndex(0,ev);
       fitter->LoadSeeds(rowrange,kFALSE,ev); //Takes input from global hough tracks
       
       for(Int_t slice=minslice; slice<=maxslice; slice++)
@@ -77,7 +77,7 @@ void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent
          tloader.Start(0);
          file->Init(slice,-1);
          cout<<"Processing event "<<ev<<" slice "<<slice<<" patch "<<patch<<endl;
-         AliL3DigitRowData *digits = (AliL3DigitRowData*)file->AliAltroDigits2Memory(ndigits,ev);
+         AliHLTDigitRowData *digits = (AliHLTDigitRowData*)file->AliAltroDigits2Memory(ndigits,ev);
          fitter->Init(slice,patch);
          fitter->SetInputData(digits);
          tloader.Stop();
@@ -94,10 +94,10 @@ void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent
       
       //If you want a refit of the clusters;-------------------------
       tloader.Start(0);
-      AliL3Vertex vertex;
-      AliL3TrackArray *tracks = fitter->GetSeeds(); //The seeds are the 
+      AliHLTVertex vertex;
+      AliHLTTrackArray *tracks = fitter->GetSeeds(); //The seeds are the 
                                                     //input tracks from circle HT
-      AliL3Fitter *ft = new AliL3Fitter(&vertex,1);
+      AliHLTFitter *ft = new AliHLTFitter(&vertex,1);
       sprintf(filename,"%s/fitter/",path);
       ft->LoadClusters(filename,0,kTRUE);
       tloader.Stop();
@@ -105,7 +105,7 @@ void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent
       trefitter.Start(0);
       for(Int_t i=0; i<tracks->GetNTracks(); i++)
        {
-         AliL3Track *track = tracks->GetCheckedTrack(i);
+         AliHLTTrack *track = tracks->GetCheckedTrack(i);
          if(!track) continue;
          if(track->GetNHits() < 40) continue;
          ft->SortTrackClusters(track);
@@ -131,15 +131,15 @@ void deconvclusters(Char_t *path,Int_t minslice=0,Int_t maxslice=35,Int_t nevent
 void deconvlocally(Char_t *path,Int_t minslice=0,Int_t maxslice=17)
 {
   
-  AliL3Transform::Init(path,kTRUE);
+  AliHLTTransform::Init(path,kTRUE);
   
   Char_t filename[1024];
-  AliL3FileHandler *file = new AliL3FileHandler(kTRUE);
+  AliHLTFileHandler *file = new AliHLTFileHandler(kTRUE);
   UInt_t ndigits=0;
   
   sprintf(filename,"%s/digitfile.root",path);
   file->SetAliInput(filename);
-  AliL3ClusterFitter *fitter = new AliL3ClusterFitter(path);
+  AliHLTClusterFitter *fitter = new AliHLTClusterFitter(path);
   
 #ifdef __CINT__
   Char_t macroname[1024];
@@ -162,7 +162,7 @@ void deconvlocally(Char_t *path,Int_t minslice=0,Int_t maxslice=17)
     {
       file->Init(slice,patch);
       cout<<"Processing slice "<<slice<<" patch "<<patch<<endl;
-      AliL3DigitRowData *digits = (AliL3DigitRowData*)file->AliAltroDigits2Memory(ndigits);
+      AliHLTDigitRowData *digits = (AliHLTDigitRowData*)file->AliAltroDigits2Memory(ndigits);
       
       fitter->Init(slice,patch);
       fitter->LoadLocalSegments();
index 2c277d88e4894a0ac589abcb9ed9e324f0de80b3..84f1b5ae8e8d5b77426286df977cf03df486c8b5 100644 (file)
@@ -2,7 +2,7 @@
 
 /**
    Macro for displaying L3 cluster/track or raw data. 
-   Uses the AliL3Display class. 
+   Uses the AliHLTDisplay class. 
 */
 
 void display(Int_t minslice,Int_t maxslice,Char_t *file="tracks.raw",Char_t *path="./",Char_t *gfile="$(ALIGEOPATH)/alice.geom")
@@ -10,7 +10,7 @@ void display(Int_t minslice,Int_t maxslice,Char_t *file="tracks.raw",Char_t *pat
   gStyle->SetOptStat(0);
   Int_t slice[2] = {minslice,maxslice};
 
-  AliL3Display *a = new AliL3Display(slice,gfile);
+  AliHLTDisplay *a = new AliHLTDisplay(slice,gfile);
   //a->Setup(file,path);
   a->Setup(file,path,0,kTRUE);
   
@@ -32,7 +32,7 @@ void display_cl(Int_t ev=0,Char_t *path="./",Char_t *gfile="$(LEVEL3)/GEO/alice.
   Char_t file[1024];
   sprintf(file,"%s/tracks_%d.raw",path,ev);
 
-  a = new AliL3Display(slice,gfile);
+  a = new AliHLTDisplay(slice,gfile);
   //a->Setup(file,path);
   a->Setup(file,path,ev,kTRUE);
   
index 2c09cceb51a398f303d0c3043667796708503235..d39473619e8bb75aac391cea0b68b800c81bbf77 100644 (file)
@@ -53,14 +53,14 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
 
   Char_t fname[1024];
   sprintf(fname,"%s/tracks_%d.raw",path,ievent);
-  AliL3FileHandler *tfile = new AliL3FileHandler();
+  AliHLTFileHandler *tfile = new AliHLTFileHandler();
   if(!tfile->SetBinaryInput(fname)){
-    LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+    LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
       <<"Inputfile "<<fname<<" does not exist"<<ENDLOG; 
     return;
   }
 
-  AliL3TrackArray *fTracks = new AliL3TrackArray("AliL3HoughTrack");
+  AliHLTTrackArray *fTracks = new AliHLTTrackArray("AliHLTHoughTrack");
   tfile->Binary2TrackArray(fTracks);
   //fTracks->QSort();
   tfile->CloseBinaryInput();
@@ -68,7 +68,7 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
 
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *track = fTracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *track = fTracks->GetCheckedTrack(i);
       if(!track) continue; 
       
       track->SetEta(fTracks->GetCheckedTrack(i)->GetPseudoRapidity());
@@ -83,7 +83,7 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
   ifstream in(filename);
   if(!in)
     {
-      cerr<<"AliL3Evaluate::GetGoodParticles : Problems opening file :"<<filename<<endl;
+      cerr<<"AliHLTEvaluate::GetGoodParticles : Problems opening file :"<<filename<<endl;
       return;
     }
 
@@ -100,7 +100,7 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
       fGoodGen++;
       if (fGoodGen==MaxTracks) 
        {
-         cerr<<"AliL3Evaluate::GetGoodParticles : Too many good tracks !\n";
+         cerr<<"AliHLTEvaluate::GetGoodParticles : Too many good tracks !\n";
          break;
        }
     }
@@ -113,7 +113,7 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
 
   if(!fGoodTracks)
     {
-      cerr<<"AliL3Evaluate::FillEffHistos : No good tracks"<<endl;
+      cerr<<"AliHLTEvaluate::FillEffHistos : No good tracks"<<endl;
       return;
     }
   cout<<"Comparing "<<fGoodGen<<" good tracks ..."<<endl;
@@ -144,7 +144,7 @@ void evalrowhough(Char_t *path="./fitter",Char_t *offlinepath="./",Int_t ievent=
       Int_t org_slice;
       for(Int_t k=0; k<fTracks->GetNTracks(); k++)
        {
-         AliL3HoughTrack *track = (AliL3HoughTrack *)fTracks->GetCheckedTrack(k);
+         AliHLTHoughTrack *track = (AliHLTHoughTrack *)fTracks->GetCheckedTrack(k);
          if(!track) continue;
          //      Int_t nHits = track->GetNumberOfPoints();
          //      if(nHits < fMinPointsOnTrack) break;
index 7e84cf34ca6aca0fea767f1e9afbfe1ceb70d650..ef6754c56e6b908e2015a6e91a5f6b46f2baa7ce 100644 (file)
    offlinepath : path to where the files containing lists of the simulated particles are located.
                  This are files generated by the AliTPCComparison macro (good_tracks_tpc)
 
-   All efficiencies and ptresoutions are filled in histograms (see AliL3Evaluate::CreateHistograms)
+   All efficiencies and ptresoutions are filled in histograms (see AliHLTEvaluate::CreateHistograms)
    and written to file.
 */
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3Evaluate.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
+#include "AliHLTLogger.h"
+#include "AliHLTEvaluate.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
 #include "AliLevel3.h"
 #include <TROOT.h>
 #include <TNtuple.h>
 void evaltracker(Char_t *path="./",Char_t *trackpath="./tracker/",char *offlinepath="./",int nevent=1)
 {
   //Make sure you got the correct parameters:
-  AliL3Transform::Init(path,kTRUE);
+  AliHLTTransform::Init(path,kTRUE);
   
   //Define which slices to include:
   Int_t slicerange[2]={0,35};
   
   //Define which padrows to include (should normally be all)
-  //Int_t rowrange[2]={AliL3Transform::GetFirstRow(-1),AliL3Transform::GetLastRow(-1)};
+  //Int_t rowrange[2]={AliHLTTransform::GetFirstRow(-1),AliHLTTransform::GetLastRow(-1)};
   
   //Define the minimum number of clusters on a simulated track to be found:
-  Int_t good = (Int_t)(0.4*AliL3Transform::GetNRows());
+  Int_t good = (Int_t)(0.4*AliHLTTransform::GetNRows());
   
   //Define the minumum number of clusters on a found track to be found (should normally be the same as above)
-  Int_t nclusters = (Int_t)(0.4*AliL3Transform::GetNRows());
+  Int_t nclusters = (Int_t)(0.4*AliHLTTransform::GetNRows());
   
   //Define which pt range to include
   Float_t ptmin = 0.1;
@@ -61,7 +61,7 @@ void evaltracker(Char_t *path="./",Char_t *trackpath="./tracker/",char *offlinep
   //Define the maximum ratio of false clusters which are allowed on a found track (default=0.1 -> 10%)
   Float_t maxfalseratio = 0.1;
   
-  AliL3Evaluate *a = new AliL3Evaluate(trackpath,nclusters,good,ptmin,ptmax,slicerange);
+  AliHLTEvaluate *a = new AliHLTEvaluate(trackpath,nclusters,good,ptmin,ptmax,slicerange);
   a->CreateHistos(20,0.1,4.1);//(nbins in pt,minpt,maxpt) -> the same as used by standard offline
   a->SetMaxFalseClusters(maxfalseratio);
   //a->SetStandardComparison(kFALSE); //use AliTPCComparison_HLT
index 557d0f4439edfd9fd5192203b796c32b99a51d2e..605d24a7d7c2980a8458ca2852be577955626f41 100644 (file)
 
 void fill_pp(Int_t ev=0,Char_t *path="./",Char_t *rfile="pptracks.root",Int_t saveev=-1)
 {
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStdout();
   //l.UseStream();
 
   if(getenv("TRANSFORMCONFIGPATH")){
-    AliL3Transform::Init(getenv("TRANSFORMCONFIGPATH"));
-  } else AliL3Transform::Init(path);
+    AliHLTTransform::Init(getenv("TRANSFORMCONFIGPATH"));
+  } else AliHLTTransform::Init(path);
 
   TNtuple *ntuppel = new TNtuple("ntuppel","pptracks","pt:phi:eta:xvert:yvert:zvert:imp:nhits:px:py:pz:event:mc");
   Float_t meas[13];  
@@ -38,19 +38,19 @@ void fill_pp(Int_t ev=0,Char_t *path="./",Char_t *rfile="pptracks.root",Int_t sa
   TFile file(rfile,"UPDATE");
   Char_t name[1024];
 
-  AliL3Evaluate *eval=new AliL3Evaluate(path,63,63);
+  AliHLTEvaluate *eval=new AliHLTEvaluate(path,63,63);
   eval->LoadData(ev,-1);
   eval->AssignIDs();
 
-  AliL3TrackArray *a=eval->GetTracks();
+  AliHLTTrackArray *a=eval->GetTracks();
   a->Compress();
 
-  AliL3Track t;
+  AliHLTTrack t;
   Float_t phi,pt,eta;
   Int_t id;
   Int_t nhits;
 
-  AliL3Vertex vertex;
+  AliHLTVertex vertex;
   Double_t xc,yc,zc,impact;
 
   Int_t ntracks=a.GetNTracks();
@@ -287,24 +287,24 @@ void plot_pp(Char_t *pfile, Int_t evi=0, Int_t eve=100)
 
 void eval_pp(Int_t ev=0,Char_t *path="./")
 {
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStdout();
   //l.UseStream();
 
-  AliL3Evaluate *eval=new AliL3Evaluate(path,63,63);
+  AliHLTEvaluate *eval=new AliHLTEvaluate(path,63,63);
   eval->LoadData(ev,-1);
   eval->AssignIDs();
 
-  AliL3TrackArray *a=eval->GetTracks();
+  AliHLTTrackArray *a=eval->GetTracks();
 
-  AliL3Track t;
+  AliHLTTrack t;
   Float_t phi,pt,tgl,eta;
   Int_t id;
   Int_t nhits;
   Int_t abspos=0,pos=0,absneg=0,neg=0;
   //assume vertex around zero
-  AliL3Vertex vertex;
+  AliHLTVertex vertex;
   Double_t xc,yc,zc,impact;
 
   Int_t nents=0;
@@ -495,31 +495,31 @@ void simple_eff_pp(Char_t *pfile, Char_t *reffile, Int_t evi=0, Int_t eve=100,In
     Store certain amount of track 
     arrays in a root file for later
     access - okay needs to many changes
-    in AliL3TrackArray and AliL3Track 
+    in AliHLTTrackArray and AliHLTTrack 
     classes so stopped working on it 
     (see fill_pp instead). 
 */
 
 void store_pp(Int_t evs=0,Int_t eve=100,Char_t *path="./",Char_t *rfile="tracks.root")
 {
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStdout();
   //l.UseStream();
 
   if(getenv("TRANSFORMCONFIGPATH")){
-    AliL3Transform::Init(getenv("TRANSFORMCONFIGPATH"));
+    AliHLTTransform::Init(getenv("TRANSFORMCONFIGPATH"));
   }
 
   TFile file(rfile,"UPDATE");
   Char_t name[1024];
 
   for(Int_t i=evs;i<eve;i++){
-    AliL3Evaluate *eval=new AliL3Evaluate(path,63,63);
+    AliHLTEvaluate *eval=new AliHLTEvaluate(path,63,63);
     eval->LoadData(i,-1);
     eval->AssignIDs();
 
-    AliL3TrackArray *a=eval->GetTracks();
+    AliHLTTrackArray *a=eval->GetTracks();
     sprintf(name,"tracks-%d",i);
     a->Compress();
     a->Write(name);
@@ -538,31 +538,31 @@ void store_pp(Int_t evs=0,Int_t eve=100,Char_t *path="./",Char_t *rfile="tracks.
 
 void load_pp(Int_t evs=0,Int_t eve=100,Char_t *path="./")
 {
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStdout();
   //l.UseStream();
 
   if(getenv("TRANSFORMCONFIGPATH")){
-    AliL3Transform::Init(getenv("TRANSFORMCONFIGPATH"));
+    AliHLTTransform::Init(getenv("TRANSFORMCONFIGPATH"));
   } else {
-    AliL3Transform::Init(path);
+    AliHLTTransform::Init(path);
   }
 
   for(Int_t j=evs;j<eve;j++){
 
-    AliL3Evaluate *eval=new AliL3Evaluate(path,63,63);
+    AliHLTEvaluate *eval=new AliHLTEvaluate(path,63,63);
     eval->LoadData(j,-1); //load whole patch
     eval->AssignIDs();
 
-    AliL3TrackArray *a=eval->GetTracks();
+    AliHLTTrackArray *a=eval->GetTracks();
 
-    AliL3Track t;
+    AliHLTTrack t;
     Float_t phi,pt,tgl,eta;
     Int_t id;
     Int_t nhits;
 
-    AliL3Vertex vertex;
+    AliHLTVertex vertex;
     Double_t xc,yc,zc,impact;
 
     Int_t nents=0;
index 075c0d7ada9bc7633a3d64c74333d925207850c1..f5947a9138ded64053d3d01a4837973c8d8b1503 100644 (file)
@@ -5,10 +5,10 @@
 
 
 #ifndef __CINT__
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
-#include "AliL3Logger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTLogger.h"
 #include <stdio.h>
 #include <iostream.h>
 #endif
 
 void read(Char_t *path="./",Int_t min=0,Int_t max=35)
 {
-  AliL3Transform::Init(path);
+  AliHLTTransform::Init(path);
 
   for(Int_t slice=0; slice<35; slice++)
     {
       Char_t fname[256];
       sprintf(fname,"%s/digits_%d_0.raw",path,slice);
-      AliL3FileHandler *file = new AliL3FileHandler();
+      AliHLTFileHandler *file = new AliHLTFileHandler();
       if(!file->SetBinaryInput(fname))
        {
          cerr<<"Error opening file "<<fname<<endl;
@@ -33,12 +33,12 @@ void read(Char_t *path="./",Int_t min=0,Int_t max=35)
       file->Init(slice,0,row);
 
       UInt_t size;
-      AliL3DigitRowData *data = file->CompBinary2Memory(size);
+      AliHLTDigitRowData *data = file->CompBinary2Memory(size);
       
       for(Int_t r=0; r<175; r++)
        {
          UInt_t padrow=data->fRow;
-         AliL3DigitData *dPt = (AliL3DigitData*)data->fDigitData;
+         AliHLTDigitData *dPt = (AliHLTDigitData*)data->fDigitData;
          cout<<"padrow "<<padrow<<" ndigits "<<data->fNDigit<<endl;
          
          for(Int_t d=0; d<(Int_t)data->fNDigit; d++)
@@ -59,12 +59,12 @@ void read(Char_t *path="./",Int_t min=0,Int_t max=35)
 void read_ali(Char_t *fname, Int_t sl=0, Int_t sh=35)
 {
   //need galice file or alirunfile.root link
-  if(AliL3Transform::Init(fname,kTRUE))
+  if(AliHLTTransform::Init(fname,kTRUE))
   {
     cout << "created temp init file!" << endl;
   }
 
-  AliL3FileHandler *fileHandler = new AliL3FileHandler();
+  AliHLTFileHandler *fileHandler = new AliHLTFileHandler();
 
   if(!fileHandler->SetAliInput(fname))
     {
@@ -76,13 +76,13 @@ void read_ali(Char_t *fname, Int_t sl=0, Int_t sh=35)
   UInt_t nrow=0;
 
   for(Int_t slice=sl; slice<=sl; slice++){
-    for(Int_t patch=0;patch<AliL3Transform::GetNPatches();patch++){
+    for(Int_t patch=0;patch<AliHLTTransform::GetNPatches();patch++){
 
       cerr<<"reading slice: "<<slice<<" patch: "<<patch<<endl;
 
       fileHandler->Free();
       fileHandler->Init(slice,patch);      
-      AliL3DigitRowData *data=fileHandler->AliDigits2Memory(nrow,event);
+      AliHLTDigitRowData *data=fileHandler->AliDigits2Memory(nrow,event);
       if(!data) cerr << "Obscure error while reading data." << endl;
       cerr<<" found "<< nrow << " rows" <<endl;
     }      
@@ -92,13 +92,13 @@ void read_ali(Char_t *fname, Int_t sl=0, Int_t sh=35)
 
 void read_pp(Char_t *path="./",Int_t min=0,Int_t max=35,Int_t ev=0)
 {
-  AliL3Transform::Init(path);
+  AliHLTTransform::Init(path);
 
   for(Int_t slice=min; slice<max; slice++)
     {
       Char_t fname[256];
       sprintf(fname,"%s/digits_%d_%d_-1.raw",path,ev,slice);
-      AliL3FileHandler *file = new AliL3FileHandler();
+      AliHLTFileHandler *file = new AliHLTFileHandler();
       if(!file->SetBinaryInput(fname))
        {
          cerr<<"Error opening file "<<fname<<endl;
@@ -108,15 +108,15 @@ void read_pp(Char_t *path="./",Int_t min=0,Int_t max=35,Int_t ev=0)
       file->Init(slice,-1);
 
       UInt_t size;
-      AliL3DigitRowData *data;
-      data=(AliL3DigitRowData*)file->Allocate(); //size from binary input
+      AliHLTDigitRowData *data;
+      data=(AliHLTDigitRowData*)file->Allocate(); //size from binary input
       file->Binary2Memory(size,data);
 
-      for(Int_t r=AliL3Transform::GetFirstRow(-1); r<AliL3Transform::GetLastRow(-1); r++)
+      for(Int_t r=AliHLTTransform::GetFirstRow(-1); r<AliHLTTransform::GetLastRow(-1); r++)
        {
 
          UInt_t padrow=data->fRow;
-         AliL3DigitData *dPt = (AliL3DigitData*)data->fDigitData;
+         AliHLTDigitData *dPt = (AliHLTDigitData*)data->fDigitData;
          cout<<r<<" "<<"padrow "<<padrow<<" ndigits "<<data->fNDigit<<endl;
          
          for(Int_t d=0; d<(Int_t)data->fNDigit; d++)
@@ -136,7 +136,7 @@ void read_pp(Char_t *path="./",Int_t min=0,Int_t max=35,Int_t ev=0)
 
 void read_event_tree(Char_t *rootfile,Int_t startev=0)
 {
-  AliL3FileHandler *handler = new AliL3FileHandler();
+  AliHLTFileHandler *handler = new AliHLTFileHandler();
   if(!handler->SetAliInput(rootfile)){
     cerr<<" Error opening file: "<<rootfile<<endl;
     return;
index 89413aa74fcd8cb8942708aeb00d451a50caa07b..f2d2579f89f2682008a5c1ea0ff7f7322bc4ce22 100644 (file)
     {
       if(getenv("ALIHLT_MLUCDIR")) {
         if(strcmp("false",getenv("ALIHLT_NOLOGGING"))==0) gSystem->Load("$(ALIHLT_MLUCDIR/lib/libMLUC");
-        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Src");
-        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Misc");
-        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Hough");
-        gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Comp");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTSrc");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTMisc");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTHough");
+        gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTComp");
       } 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");
-        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliL3Misc");
-        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliL3Hough");
-        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliL3Comp");
+        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliHLTSrc");
+        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliHLTMisc");
+        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliHLTHough");
+        gSystem->Load("$(ALIHLT_BASEDIR)/lib_$(USER)/libAliHLTComp");
       }
       cout<<"HLT libraries loaded"<<endl;
 
       if(strcmp("false",getenv("ALIHLT_NOLOGGING"))==0){
-       AliL3Logger gLogger;
+       AliHLTLogger gLogger;
        gLogger.UseStream();
       }
 
       if(getenv("ALIHLT_TRANSFORMFILE")){
        cout << "Loading config \"" << getenv("ALIHLT_TRANSFORMFILE") << "\": " << flush;
-       if(AliL3Transform::Init(getenv("ALIHLT_TRANSFORMFILE")))
+       if(AliHLTTransform::Init(getenv("ALIHLT_TRANSFORMFILE")))
          cout << "Ok!" << endl;
        else cout << "Failed!" << endl;
       }
index 991373c5d267c25d43aa785e09baf6eff503b150..841c5ddcfe89f3bf6fb20bcbe9dc4ee75ac25e9d 100644 (file)
 
   if(1)
     {
-      gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Src");
-      gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Misc");
-      gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Hough");
-      gSystem->Load("$(ALIHLT_LIBDIR)/libAliL3Comp");
+      gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTSrc");
+      gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTMisc");
+      gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTHough");
+      gSystem->Load("$(ALIHLT_LIBDIR)/libAliHLTComp");
       cout<<"HLT libraries loaded"<<endl;
     }
 
index 25e8d525fa9636fddca48f5a6a43324e570bceda..34689856546b60ad8579cc6d096c9e058885391d 100644 (file)
@@ -7,19 +7,19 @@
 
 void runcf(Char_t *path)
 {
-  AliL3Transform::Init(path,kTRUE);
+  AliHLTTransform::Init(path,kTRUE);
   
   Char_t fname[1024];
   Char_t digitfile[1024];
   sprintf(digitfile,"%s/digitfile.root",path);
   
   
-  AliL3MemHandler *memory = new AliL3MemHandler();
-  AliL3MemHandler *out = new AliL3MemHandler();
+  AliHLTMemHandler *memory = new AliHLTMemHandler();
+  AliHLTMemHandler *out = new AliHLTMemHandler();
 
   for(Int_t event=0; event<1; event++)
     {
-      AliL3FileHandler *file = new AliL3FileHandler();
+      AliHLTFileHandler *file = new AliHLTFileHandler();
       file->SetAliInput(digitfile);
       for(Int_t slice=0; slice<=35; slice++)
        {
@@ -29,13 +29,13 @@ void runcf(Char_t *path)
              file->Init(slice,patch);
              UInt_t ndigits=0;
              UInt_t maxclusters=100000;
-             UInt_t pointsize = maxclusters*sizeof(AliL3SpacePointData);
+             UInt_t pointsize = maxclusters*sizeof(AliHLTSpacePointData);
              
-             AliL3SpacePointData *points = (AliL3SpacePointData*)memory->Allocate(pointsize);
-             AliL3DigitRowData *digits = (AliL3DigitRowData*)file->AliAltroDigits2Memory(ndigits,event);
-             AliL3ClustFinderNew *cf = new AliL3ClustFinderNew();
+             AliHLTSpacePointData *points = (AliHLTSpacePointData*)memory->Allocate(pointsize);
+             AliHLTDigitRowData *digits = (AliHLTDigitRowData*)file->AliAltroDigits2Memory(ndigits,event);
+             AliHLTClustFinderNew *cf = new AliHLTClustFinderNew();
              //cf->SetMatchWidth(2);
-             cf->InitSlice(slice,patch,AliL3Transform::GetFirstRow(patch),AliL3Transform::GetLastRow(patch),maxclusters);
+             cf->InitSlice(slice,patch,AliHLTTransform::GetFirstRow(patch),AliHLTTransform::GetLastRow(patch),maxclusters);
              cf->SetSTDOutput(kTRUE);
              cf->SetThreshold(5);
              cf->SetDeconv(kTRUE);
index 786e4a95d2a80625872ba8a6a15ed1680d37afc1..b43649bb2ef74fc8949d3e3be570d61407af68f4 100644 (file)
@@ -2,7 +2,7 @@
 
 /**
    Run this macro for Hough track candidate finder
-   (see steering class AliL3Hough).
+   (see steering class AliHLTHough).
    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
 */
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
-#include "AliL3Hough.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Track.h"
-#include "AliL3HoughTrack.h"
+#include "AliHLTLogger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHough.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrack.h"
+#include "AliHLTHoughTrack.h"
 #include <TNtuple.h>
 #include <TRandom.h>
 #include <TSystem.h>
@@ -40,7 +40,7 @@
 void runhough(Char_t *path,Char_t *outpath,Int_t s1=0,Int_t s2=35,Int_t nevent=1)
 {
 
-  Bool_t isinit=AliL3Transform::Init(path,kTRUE);
+  Bool_t isinit=AliHLTTransform::Init(path,kTRUE);
   if(!isinit){
     cerr << "Could not create transform settings, please check log for error messages!" << endl;
     return;
@@ -49,7 +49,7 @@ void runhough(Char_t *path,Char_t *outpath,Int_t s1=0,Int_t s2=35,Int_t nevent=1
   Int_t tversion=1; //0 = normal transformer
                     //1 = LUT transformer
 
-  AliL3Hough *hough = new AliL3Hough();
+  AliHLTHough *hough = new AliHLTHough();
 #ifdef __CINT__
   Char_t macroname[1024];
   sprintf(macroname,"SetHoughParameters.C");
@@ -78,7 +78,7 @@ void runhough(Char_t *path,Char_t *outpath,Int_t s1=0,Int_t s2=35,Int_t nevent=1
 
   for(Int_t ev=0; ev<nevent; ev++)
     {
-      AliL3FileHandler::LoadStaticIndex(0,ev);
+      AliHLTFileHandler::LoadStaticIndex(0,ev);
       for(Int_t slice=s1; slice<=s2; slice++)
        {
          cout<<"Processing slice "<<slice<<endl;
@@ -90,18 +90,18 @@ void runhough(Char_t *path,Char_t *outpath,Int_t s1=0,Int_t s2=35,Int_t nevent=1
          hough->AddTracks();
          tfinder.Stop();
 #if 0 /*print track list */
-         AliL3TrackArray *tracks = (AliL3TrackArray*)hough->GetTracks(0);
+         AliHLTTrackArray *tracks = (AliHLTTrackArray*)hough->GetTracks(0);
          tracks->QSort();
          for(int i=0; i<tracks->GetNTracks(); i++)
            {
-             AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+             AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
              if(!track) continue;
              cout<<"pt "<<track->GetPt()<<" psi "<<track->GetPsi()<<" eta "<<track->GetEta()<<" etaindex "<<track->GetEtaIndex()<<" weight "<<track->GetWeight()<<endl;
            }
 #endif
        }
       hough->WriteTracks(outpath);
-      AliL3FileHandler::SaveStaticIndex(0,ev);
+      AliHLTFileHandler::SaveStaticIndex(0,ev);
     }
 
   cout << " --- Timing values --- " << endl;
index edb7d348223b1dbe04265398c1b89417b8ec4ab8..8c7ad0a3215a7485391253d64add7b7e728336d3 100644 (file)
@@ -7,9 +7,9 @@ void runkalman(Char_t *path = "/tmp/tvik")
                                                              //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("./",!binary);
+  Bool_t isinit=AliHLTTransform::Init("./",!binary);
 
-  AliL3Kalman *k = new AliL3Kalman(path,0,0);
+  AliHLTKalman *k = new AliHLTKalman(path,0,0);
   k->Init();
   //k->DoMakeSeed();
   k->LoadTracks(0,kTRUE);
index 22996d04730f741f2a8c751fb35ccbd0d70dbc99..9e488da46ff677bb839d86669539e4a03da985ab 100644 (file)
@@ -1,18 +1,18 @@
 // $Id$
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
-#include "AliL3Hough.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Track.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3Fitter.h"
-#include "AliL3ClusterFitter.h"
-#include "AliL3Vertex.h"
-#include "AliL3Benchmark.h"
+#include "AliHLTLogger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHough.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrack.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTFitter.h"
+#include "AliHLTClusterFitter.h"
+#include "AliHLTVertex.h"
+#include "AliHLTBenchmark.h"
 #include <AliRunLoader.h>
 #include <AliStack.h>
 #include <TParticle.h>
 
 Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=35,int nevent=1,Bool_t skip=kTRUE)
 {
-  Bool_t isinit=AliL3Transform::Init(path,kTRUE);
+  Bool_t isinit=AliHLTTransform::Init(path,kTRUE);
   if(!isinit){
     cerr << "Could not create transform settings, please check log for error messages!" << endl;
     return 1;
   }
-  Float_t ptmin = 0.1*AliL3Transform::GetSolenoidField();
+  Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
   Float_t zvertex;
 
   {
@@ -55,8 +55,8 @@ Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=3
 
   cout<<" Hough Tranform will run with ptmin="<<ptmin<<" and zvertex="<<zvertex<<endl;
   
-  AliL3Benchmark *fBenchmark = new AliL3Benchmark();
-  AliL3Hough *hough = new AliL3Hough();
+  AliHLTBenchmark *fBenchmark = new AliHLTBenchmark();
+  AliHLTHough *hough = new AliHLTHough();
   hough->SetThreshold(4);
   hough->SetTransformerParams(140,76,ptmin,-1);
   hough->SetPeakThreshold(50,-1);
@@ -81,7 +81,7 @@ Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=3
 
       if(!skip) {
        // Run cluster fitter
-       AliL3ClusterFitter *fitter = new AliL3ClusterFitter(path);
+       AliHLTClusterFitter *fitter = new AliHLTClusterFitter(path);
 
        // Set debug flag for the cluster fitter
        //  fitter->Debug();
@@ -94,7 +94,7 @@ Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=3
        //  fitter->SetChiSqMax(5,kFALSE); //isolated clusters
        fitter->SetChiSqMax(5,kTRUE);  //overlapping clusters
 
-       Int_t rowrange[2] = {0,AliL3Transform::GetNRows()-1};
+       Int_t rowrange[2] = {0,AliHLTTransform::GetNRows()-1};
 
        // Takes input from global hough tracks produced by HT
        fitter->LoadSeeds(rowrange,kFALSE,ev,zvertex);
@@ -103,12 +103,12 @@ Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=3
 
        for(int slice=s1; slice<=s2; slice++)
          {
-           for(Int_t ipatch = 0; ipatch < AliL3Transform::GetNPatches(); ipatch++)
+           for(Int_t ipatch = 0; ipatch < AliHLTTransform::GetNPatches(); ipatch++)
              {
                // Read digits
                hough->GetMemHandler(ipatch)->Free();
                hough->GetMemHandler(ipatch)->Init(slice,ipatch);
-               AliL3DigitRowData *digits = (AliL3DigitRowData *)hough->GetMemHandler(ipatch)->AliAltroDigits2Memory(ndigits,ev);
+               AliHLTDigitRowData *digits = (AliHLTDigitRowData *)hough->GetMemHandler(ipatch)->AliAltroDigits2Memory(ndigits,ev);
 
                fBenchmark->Start("Fitter Init");
                fitter->Init(slice,ipatch);
@@ -122,16 +122,16 @@ Int_t runrowhough(Char_t *path="./",Char_t *outpath="./fitter",int s1=0,int s2=3
          }
 
        // Refit of the clusters
-       AliL3Vertex vertex;
+       AliHLTVertex vertex;
        //The seeds are the input tracks from circle HT
-       AliL3TrackArray *tracks = fitter->GetSeeds();
-       AliL3Fitter *ft = new AliL3Fitter(&vertex,1);
+       AliHLTTrackArray *tracks = fitter->GetSeeds();
+       AliHLTFitter *ft = new AliHLTFitter(&vertex,1);
 
        ft->LoadClusters("./fitter/",ev,kFALSE);
        fBenchmark->Start("Track fitter");
        for(Int_t i=0; i<tracks->GetNTracks(); i++)
          {
-           AliL3Track *track = tracks->GetCheckedTrack(i);
+           AliHLTTrack *track = tracks->GetCheckedTrack(i);
            if(!track) continue;
            if(track->GetNHits() < 20) continue;
            ft->SortTrackClusters(track);
index 1382d772d1ace2c214b8fa06ad70362fb59ddedb..931c0e5ff3998b54976ba9eb5bea4cd6d52241f0 100644 (file)
 */
 
 #ifndef __CINT__
-#include "AliL3Logger.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
+#include "AliHLTLogger.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
 #include "AliLevel3.h"
 #include <TNtuple.h>
 #include <TRandom.h>
@@ -41,7 +41,7 @@ void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t neven
   
   //for aliroot the path should point to a file 
   //containing the tpc geometry called alirunfile.root
-  Bool_t isinit=AliL3Transform::Init(path,(filetype!=AliLevel3::kBinary));
+  Bool_t isinit=AliHLTTransform::Init(path,(filetype!=AliLevel3::kBinary));
   if(!isinit){
     cerr << "Could not create transform settings, please check log for error messages!" << endl;
     return;
@@ -80,7 +80,7 @@ void runtracker(Int_t minslice=0,Int_t maxslice=35,Char_t* path="./",Int_t neven
       rowscopetracklet = 2; //search range of rows for a tracklet
       rowscopetrack = 10;   //search range of rows for a track
       min_pt_fit = 0;      
-      maxangle = 0.1745;   //AliL3Transform::Deg2Rad(10);
+      maxangle = 0.1745;   //AliHLTTransform::Deg2Rad(10);
                            //maximum angle for the three point look ahead
       goodDist = 5;        //threshold distance between two hits when building tracklets
       maxphi=0.1;          //maximum phi difference for neighboring hits
index 10a9568c7db65b28639b1ca09aa740a2881fdeaa..aaf70753d380af2a9a410467d3101aaf9294fccd 100644 (file)
@@ -7,8 +7,8 @@
 
 void runtracker_pp(Int_t trigev,Char_t* path=0,Char_t *rootfile=0,Char_t *wpath="./")
 {
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStdout();
   //l.UseStream();
 
@@ -20,8 +20,8 @@ void runtracker_pp(Int_t trigev,Char_t* path=0,Char_t *rootfile=0,Char_t *wpath=
   } else strcpy(path_to_use,path);
   
   if(getenv("TRANSFORMCONFIGPATH")){
-    AliL3Transform::Init(getenv("TRANSFORMCONFIGPATH"));
-  } else AliL3Transform::Init(path_to_use);  
+    AliHLTTransform::Init(getenv("TRANSFORMCONFIGPATH"));
+  } else AliHLTTransform::Init(path_to_use);  
 
   Int_t phi_segments,eta_segments,trackletlength,tracklength;
   Int_t rowscopetracklet,rowscopetrack;
index da238e3d6c7fa15c1688d45b68c76a2b151c5a71..37a282c99ee975128a3866f62c95ce65794a1df5 100644 (file)
@@ -440,8 +440,8 @@ void trigger_pp(char *outfile="results.root")
       //sprintf(fname,"aliruntfile.root");
 
       //Get the tracks:
-      /*AliL3TrackArray *tracks = new AliL3TrackArray();
-      AliL3FileHandler *file = new AliL3FileHandler();
+      /*AliHLTTrackArray *tracks = new AliHLTTrackArray();
+      AliHLTFileHandler *file = new AliHLTFileHandler();
       file->SetBinaryInput(fname);
       file->Binary2TrackArray(tracks);
       file->CloseBinaryInput();
@@ -449,11 +449,11 @@ void trigger_pp(char *outfile="results.root")
 
       sprintf(fname,"/data1/AliRoot/pp/pileup/");
        
-      AliL3Evaluate *eval=new AliL3Evaluate(fname,63,63);
+      AliHLTEvaluate *eval=new AliHLTEvaluate(fname,63,63);
       eval->LoadData(event,-1);
       eval->AssignIDs();
       
-      AliL3TrackArray *tracks=eval->GetTracks();
+      AliHLTTrackArray *tracks=eval->GetTracks();
 
       sprintf(fname,"/data1/AliRoot/pp/pileup/");
       //sprintf(fname,"/prog/alice/data/Rawdata/1_patch/pp/recon_%d/",event);
@@ -461,15 +461,15 @@ void trigger_pp(char *outfile="results.root")
       Int_t ntracks=0;
       Double_t xc,yc,zc;
       Double_t impact;
-      AliL3Vertex vertex;
+      AliHLTVertex vertex;
 
       Int_t mcid = 0;
 
-      AliL3TrackArray *ftracks = new AliL3TrackArray();
+      AliHLTTrackArray *ftracks = new AliHLTTrackArray();
       
       for(int i=0; i<tracks->GetNTracks(); i++)
        {
-         track = (AliL3Track*)tracks->GetCheckedTrack(i);
+         track = (AliHLTTrack*)tracks->GetCheckedTrack(i);
          if(!track) continue;
          
          //Assign MCid
@@ -527,10 +527,10 @@ void trigger_pp(char *outfile="results.root")
   delete ntuppel;
 }
 
-void display(AliL3TrackArray *tracks,char *path)
+void display(AliHLTTrackArray *tracks,char *path)
 {
   int slice[2]={0,35};
-  d = new AliL3Display(slice);
+  d = new AliHLTDisplay(slice);
   d->Setup("tracks_0.raw",path);
   d->SetTracks(tracks);
   //d->DisplayClusters();
similarity index 71%
rename from HLT/hough/AliL3Histogram.cxx
rename to HLT/hough/AliHLTHistogram.cxx
index e006985ed04313e37ac2df63f264009cea9d023c..788a14c0a2cf9d370dc9762fe445736824f924c6 100644 (file)
@@ -3,19 +3,19 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Histogram.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHistogram.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3Histogram
+/** \class AliHLTHistogram
 <pre>
 //_____________________________________________________________
-// AliL3Histogram
+// AliHLTHistogram
 //
 // 2D histogram class
 //
@@ -25,9 +25,9 @@ using namespace std;
 //uncomment if you want overflow checks
 //#define _IFON_
 
-ClassImp(AliL3Histogram)
+ClassImp(AliHLTHistogram)
 
-AliL3Histogram::AliL3Histogram()
+AliHLTHistogram::AliHLTHistogram()
 {
   // Default constructor
   fNxbins = 0;
@@ -51,7 +51,7 @@ AliL3Histogram::AliL3Histogram()
 #endif
 }
 
-AliL3Histogram::AliL3Histogram(Char_t *name,Char_t */*id*/,
+AliHLTHistogram::AliHLTHistogram(Char_t *name,Char_t */*id*/,
                               Int_t nxbin,Double_t xmin,Double_t xmax,
                               Int_t nybin,Double_t ymin,Double_t ymax) 
 {
@@ -82,7 +82,7 @@ AliL3Histogram::AliL3Histogram(Char_t *name,Char_t */*id*/,
   Reset();
 }
 
-AliL3Histogram::~AliL3Histogram()
+AliHLTHistogram::~AliHLTHistogram()
 {
   //Destructor
   if(fContent)
@@ -93,7 +93,7 @@ AliL3Histogram::~AliL3Histogram()
 #endif
 }
 
-void AliL3Histogram::Reset()
+void AliHLTHistogram::Reset()
 {
   // Reset histogram contents
   if(fContent)
@@ -102,7 +102,7 @@ void AliL3Histogram::Reset()
   fEntries=0;
 }
 
-void AliL3Histogram::Fill(Double_t x,Double_t y,Int_t weight)
+void AliHLTHistogram::Fill(Double_t x,Double_t y,Int_t weight)
 {
   // Fill the weight into a bin which correspond to x and y
   Int_t bin = FindBin(x,y);
@@ -114,7 +114,7 @@ void AliL3Histogram::Fill(Double_t x,Double_t y,Int_t weight)
   AddBinContent(bin,weight);
 }
 
-void AliL3Histogram::Fill(Double_t x,Int_t ybin,Int_t weight)
+void AliHLTHistogram::Fill(Double_t x,Int_t ybin,Int_t weight)
 {
   // Fill the weight into a bin which correspond to x and ybin
   Int_t xbin = FindXbin(x);
@@ -127,7 +127,7 @@ void AliL3Histogram::Fill(Double_t x,Int_t ybin,Int_t weight)
   AddBinContent(bin,weight);
 }
 
-void AliL3Histogram::Fill(Int_t xbin,Double_t y,Int_t weight)
+void AliHLTHistogram::Fill(Int_t xbin,Double_t y,Int_t weight)
 {
   // Fill the weight into a bin which correspond to xbin and y
   Int_t ybin = FindYbin(y);
@@ -140,7 +140,7 @@ void AliL3Histogram::Fill(Int_t xbin,Double_t y,Int_t weight)
   AddBinContent(bin,weight);
 }
 
-void AliL3Histogram::Fill(Int_t xbin,Int_t ybin,Int_t weight)
+void AliHLTHistogram::Fill(Int_t xbin,Int_t ybin,Int_t weight)
 {
   // Fill the weight into a bin which correspond to xbin and ybin
   Int_t bin = GetBin(xbin,ybin);
@@ -152,7 +152,7 @@ void AliL3Histogram::Fill(Int_t xbin,Int_t ybin,Int_t weight)
   AddBinContent(bin,weight);
 }
 
-Int_t AliL3Histogram::FindBin(Double_t x,Double_t y) const
+Int_t AliHLTHistogram::FindBin(Double_t x,Double_t y) const
 {
   // Finds the bin which correspond to x and y
   Int_t xbin = FindXbin(x);
@@ -165,7 +165,7 @@ Int_t AliL3Histogram::FindBin(Double_t x,Double_t y) const
   return GetBin(xbin,ybin);
 }
 
-Int_t AliL3Histogram::FindLabelBin(Double_t x,Double_t y) const
+Int_t AliHLTHistogram::FindLabelBin(Double_t x,Double_t y) const
 {
   // Returns the corresponding bin with the mc labels
   Int_t xbin = FindXbin(x);
@@ -178,7 +178,7 @@ Int_t AliL3Histogram::FindLabelBin(Double_t x,Double_t y) const
   return GetLabelBin(xbin,ybin);
 }
 
-Int_t AliL3Histogram::FindXbin(Double_t x) const
+Int_t AliHLTHistogram::FindXbin(Double_t x) const
 {
   // Finds the bin which correspond to x
   if(x < fXmin || x > fXmax)
@@ -187,7 +187,7 @@ Int_t AliL3Histogram::FindXbin(Double_t x) const
   return 1 + (Int_t)(fNxbins*(x-fXmin)/(fXmax-fXmin));
 }
 
-Int_t AliL3Histogram::FindYbin(Double_t y) const
+Int_t AliHLTHistogram::FindYbin(Double_t y) const
 {
   // Finds the bin which correspond to y
   if(y < fYmin || y > fYmax)
@@ -196,7 +196,7 @@ Int_t AliL3Histogram::FindYbin(Double_t y) const
   return 1 + (Int_t)(fNybins*(y-fYmin)/(fYmax-fYmin));
 }
 
-Int_t AliL3Histogram::GetBin(Int_t xbin,Int_t ybin) const
+Int_t AliHLTHistogram::GetBin(Int_t xbin,Int_t ybin) const
 {
   // Returns the bin which correspond to xbin and ybin
   if(xbin < fFirstXbin || xbin > fLastXbin)
@@ -207,7 +207,7 @@ Int_t AliL3Histogram::GetBin(Int_t xbin,Int_t ybin) const
   return xbin + ybin*(fNxbins+2);
 }
 
-Int_t AliL3Histogram::GetLabelBin(Int_t xbin,Int_t ybin) const
+Int_t AliHLTHistogram::GetLabelBin(Int_t xbin,Int_t ybin) const
 {
   // Returns the corresponding bin with the mc labels
   if(xbin < fFirstXbin || xbin > fLastXbin)
@@ -218,12 +218,12 @@ Int_t AliL3Histogram::GetLabelBin(Int_t xbin,Int_t ybin) const
   return (Int_t)(xbin/2) + ((Int_t)(ybin/2))*((Int_t)((fNxbins+3)/2));
 }
 
-Int_t AliL3Histogram::GetBinContent(Int_t bin) const
+Int_t AliHLTHistogram::GetBinContent(Int_t bin) const
 {
   // Return the bin content
   if(bin >= fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinContent","array")<<AliHLTLog::kDec<<
        "bin out of range "<<bin<<ENDLOG;
       return 0;
     }
@@ -233,7 +233,7 @@ Int_t AliL3Histogram::GetBinContent(Int_t bin) const
   return fContent[bin];
 }
 
-void AliL3Histogram::SetBinContent(Int_t xbin,Int_t ybin,Int_t value)
+void AliHLTHistogram::SetBinContent(Int_t xbin,Int_t ybin,Int_t value)
 {
   // Set bin content
   Int_t bin = GetBin(xbin,ybin);
@@ -245,13 +245,13 @@ void AliL3Histogram::SetBinContent(Int_t xbin,Int_t ybin,Int_t value)
   SetBinContent(bin,value);
 }
 
-void AliL3Histogram::SetBinContent(Int_t bin,Int_t value)
+void AliHLTHistogram::SetBinContent(Int_t bin,Int_t value)
 {
   // Set bin content
 
   if(bin >= fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::SetBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::SetBinContent","array")<<AliHLTLog::kDec<<
        "bin out of range "<<bin<<ENDLOG;
       return;
     }
@@ -261,7 +261,7 @@ void AliL3Histogram::SetBinContent(Int_t bin,Int_t value)
   fContent[bin]=value;
 }
 
-void AliL3Histogram::AddBinContent(Int_t xbin,Int_t ybin,Int_t weight)
+void AliHLTHistogram::AddBinContent(Int_t xbin,Int_t ybin,Int_t weight)
 {
   // Adds weight to bin content
   Int_t bin = GetBin(xbin,ybin);
@@ -273,12 +273,12 @@ void AliL3Histogram::AddBinContent(Int_t xbin,Int_t ybin,Int_t weight)
   AddBinContent(bin,weight);
 }
 
-void AliL3Histogram::AddBinContent(Int_t bin,Int_t weight)
+void AliHLTHistogram::AddBinContent(Int_t bin,Int_t weight)
 {
   // Adds weight to bin content
   if(bin < 0 || bin > fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::AddBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::AddBinContent","array")<<AliHLTLog::kDec<<
        "bin-value out of range "<<bin<<ENDLOG;
       return;
     }
@@ -288,20 +288,20 @@ void AliL3Histogram::AddBinContent(Int_t bin,Int_t weight)
   fContent[bin] += weight;
 }
 
-void AliL3Histogram::Add(AliL3Histogram *h1,Double_t /*weight*/)
+void AliHLTHistogram::Add(AliHLTHistogram *h1,Double_t /*weight*/)
 {
   //Adding two histograms. Should be identical.
   
   if(!h1)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::Add","Pointer")<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::Add","Pointer")<<
        "Attempting to add a non-existing histogram"<<ENDLOG;
       return;
     }
   
   if(h1->GetNbinsX()!=fNxbins || h1->GetNbinsY()!=fNybins)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::Add","array")<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::Add","array")<<
        "Mismatch in the number of bins "<<ENDLOG;
       return;
     }
@@ -309,7 +309,7 @@ void AliL3Histogram::Add(AliL3Histogram *h1,Double_t /*weight*/)
   if(h1->GetFirstXbin()!=fFirstXbin || h1->GetLastXbin()!=fLastXbin ||
      h1->GetFirstYbin()!=fFirstYbin || h1->GetLastYbin()!=fLastYbin)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::Add","array")<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::Add","array")<<
        "Mismatch in the bin numbering "<<ENDLOG;
       return;
     }
@@ -320,12 +320,12 @@ void AliL3Histogram::Add(AliL3Histogram *h1,Double_t /*weight*/)
   fEntries += h1->GetNEntries();
 }
 
-Double_t AliL3Histogram::GetBinCenterX(Int_t xbin) const
+Double_t AliHLTHistogram::GetBinCenterX(Int_t xbin) const
 {
   // Returns the position of the center of a bin
   if(xbin < fFirstXbin || xbin > fLastXbin)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinCenterX","xbin")
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinCenterX","xbin")
        <<"Bin-value out of range "<<xbin<<ENDLOG;
       return -1;
     }
@@ -333,12 +333,12 @@ Double_t AliL3Histogram::GetBinCenterX(Int_t xbin) const
   return fXmin + (xbin-0.5) * fBinwidthX;
 }
 
-Double_t AliL3Histogram::GetBinCenterY(Int_t ybin) const
+Double_t AliHLTHistogram::GetBinCenterY(Int_t ybin) const
 {
   // Returns the position of the center of a bin
   if(ybin < fFirstYbin || ybin > fLastYbin)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinCenterY","ybin")
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinCenterY","ybin")
        <<"Bin-value out of range "<<ybin<<ENDLOG;
       return -1;
     }
@@ -346,12 +346,12 @@ Double_t AliL3Histogram::GetBinCenterY(Int_t ybin) const
   return fYmin + (ybin-0.5) * fBinwidthY;
 }
 
-Double_t AliL3Histogram::GetPreciseBinCenterX(Float_t xbin) const
+Double_t AliHLTHistogram::GetPreciseBinCenterX(Float_t xbin) const
 {
   // Returns the position of the center of a bin using precise values inside the bin
   if(xbin < (fFirstXbin-1.5) || xbin > (fLastXbin+1.5))
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinCenterX","xbin")
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinCenterX","xbin")
        <<"Bin-value out of range "<<xbin<<ENDLOG;
       return -1;
     }
@@ -359,12 +359,12 @@ Double_t AliL3Histogram::GetPreciseBinCenterX(Float_t xbin) const
   return fXmin + (xbin-0.5) * fBinwidthX;
 }
 
-Double_t AliL3Histogram::GetPreciseBinCenterY(Float_t ybin) const
+Double_t AliHLTHistogram::GetPreciseBinCenterY(Float_t ybin) const
 {
   // Returns the position of the center of a bin using precise values inside the bin
   if(ybin < (fFirstYbin-1.5) || ybin > (fLastYbin+1.5))
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinCenterY","ybin")
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinCenterY","ybin")
        <<"Bin-value out of range "<<ybin<<ENDLOG;
       return -1;
     }
@@ -372,7 +372,7 @@ Double_t AliL3Histogram::GetPreciseBinCenterY(Float_t ybin) const
   return fYmin + (ybin-0.5) * fBinwidthY;
 }
 
-void AliL3Histogram::Draw(Char_t *option)
+void AliHLTHistogram::Draw(Char_t *option)
 {
   // Fill the contents of the corresponding ROOT histogram and draws it 
 #ifdef use_root
@@ -392,22 +392,22 @@ void AliL3Histogram::Draw(Char_t *option)
   fRootHisto->Draw(option);
   return;
 #else
-  cerr<<"AliL3Histogram::Draw : You need to compile with ROOT in order to draw histogram"<<endl;
+  cerr<<"AliHLTHistogram::Draw : You need to compile with ROOT in order to draw histogram"<<endl;
 #endif  
 }
 
-void AliL3Histogram::CreateRootHisto()
+void AliHLTHistogram::CreateRootHisto()
 {
-  // Create ROOT histogram out of AliL3Histogram
+  // Create ROOT histogram out of AliHLTHistogram
 #ifdef use_root
   fRootHisto = new TH2F(fName,"",fNxbins,fXmin,fXmax,fNybins,fYmin,fYmax);
   return;
 #else
-  cerr<<"AliL3Histogram::CreateRootHisto : You need to compile with ROOT in order to create ROOT histogram"<<endl;
+  cerr<<"AliHLTHistogram::CreateRootHisto : You need to compile with ROOT in order to create ROOT histogram"<<endl;
 #endif
 }
 
-ofstream& operator<<(ofstream &o, const AliL3Histogram &h)
+ofstream& operator<<(ofstream &o, const AliHLTHistogram &h)
 {
   for(Int_t xbin=h.GetFirstXbin(); xbin<=h.GetLastXbin(); xbin++)
     {
similarity index 77%
rename from HLT/hough/AliL3Histogram.h
rename to HLT/hough/AliHLTHistogram.h
index 4381b8a1809cc71e2195a42d26fe450c16410845..24264f6bafaf63fb82ef3d365e8c309b720726bc 100644 (file)
@@ -3,20 +3,20 @@
 #ifndef ALIL3HISTOGRAM_H
 #define ALIL3HISTOGRAM_H
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
 
 #ifdef use_root
 #include <TH2.h>
 #endif
 
-class AliL3Histogram {
+class AliHLTHistogram {
  public:
 
-  AliL3Histogram();
-  AliL3Histogram(Char_t *name,Char_t *id,Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax);
-  virtual ~AliL3Histogram();
+  AliHLTHistogram();
+  AliHLTHistogram(Char_t *name,Char_t *id,Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax);
+  virtual ~AliHLTHistogram();
   
   void Reset();
   virtual void Fill(Double_t x,Double_t y,Int_t weight=1);
@@ -34,13 +34,13 @@ class AliL3Histogram {
   void SetBinContent(Int_t bin,Int_t value);
   void AddBinContent(Int_t xbin,Int_t ybin,Int_t weight);
   void AddBinContent(Int_t bin,Int_t weight);
-  void Add(AliL3Histogram *h1,Double_t weight=1);
+  void Add(AliHLTHistogram *h1,Double_t weight=1);
   void SetThreshold(Int_t i) {fThreshold = i;}
   void CreateRootHisto();
   virtual void Draw(Char_t *option="hist");
   virtual void Print() const {};
 
-  friend ofstream& operator<< (ofstream &o, const AliL3Histogram &h);
+  friend ofstream& operator<< (ofstream &o, const AliHLTHistogram &h);
 
 #ifdef use_root
   TH2F *GetRootHisto();
@@ -94,25 +94,27 @@ class AliL3Histogram {
   Double_t fBinwidthX; // Bin width of the Hough space
   Double_t fBinwidthY; // Bin width of the Hough space
   
-  ClassDef(AliL3Histogram,1) //2D histogram class
+  ClassDef(AliHLTHistogram,1) //2D histogram class
     
 };
 
+typedef AliHLTHistogram AliL3Histogram; // for backward comaptibility
+
 #ifdef use_root
-inline TH2F *AliL3Histogram::GetRootHisto()
+inline TH2F *AliHLTHistogram::GetRootHisto()
 {
   if(!fRootHisto)
     {
-      STDCERR<<"AliL3Histogram::GetRootHisto() : You must first Draw histogram before accessing it"<<STDENDL;
+      STDCERR<<"AliHLTHistogram::GetRootHisto() : You must first Draw histogram before accessing it"<<STDENDL;
       return 0;
     }
   else
     return fRootHisto;
 }
 #else
-inline void *AliL3Histogram::GetRootHisto()
+inline void *AliHLTHistogram::GetRootHisto()
 {
-  STDCERR<<"AliL3Histogram::GetRootHisto() : You must compile with ROOT in order to interface the ROOT histogram"<<STDENDL;
+  STDCERR<<"AliHLTHistogram::GetRootHisto() : You must compile with ROOT in order to interface the ROOT histogram"<<STDENDL;
   return 0;
 }
 #endif
similarity index 69%
rename from HLT/hough/AliL3Histogram1D.cxx
rename to HLT/hough/AliHLTHistogram1D.cxx
index 7409efd66254799a6ddfdc9ee7e2fadaa087e8ba..43d1a91c23ff6e63bf4913959ed7f4bc82c5d76d 100644 (file)
@@ -4,10 +4,10 @@
 //*-- Copyright &copy ALICE HLT Group
 
 #include <strings.h>
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Histogram1D.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHistogram1D.h"
 
 #ifdef use_root
 #include <TH1.h>
@@ -18,13 +18,13 @@ using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3Histogram1D
+// AliHLTHistogram1D
 //
 // 1D histogram class.
 
-ClassImp(AliL3Histogram1D)
+ClassImp(AliHLTHistogram1D)
 
-AliL3Histogram1D::AliL3Histogram1D()
+AliHLTHistogram1D::AliHLTHistogram1D()
 {
   //default ctor
   fNbins = 0;
@@ -40,7 +40,7 @@ AliL3Histogram1D::AliL3Histogram1D()
   
 }
   
-AliL3Histogram1D::AliL3Histogram1D(Char_t *name,Char_t */*id*/,Int_t nxbin,Double_t xmin,Double_t xmax)
+AliHLTHistogram1D::AliHLTHistogram1D(Char_t *name,Char_t */*id*/,Int_t nxbin,Double_t xmin,Double_t xmax)
 
 {
   //normal ctor
@@ -59,7 +59,7 @@ AliL3Histogram1D::AliL3Histogram1D(Char_t *name,Char_t */*id*/,Int_t nxbin,Doubl
   Reset();
 }
 
-AliL3Histogram1D::~AliL3Histogram1D()
+AliHLTHistogram1D::~AliHLTHistogram1D()
 {
   //Destructor
   if(fContent)
@@ -71,7 +71,7 @@ AliL3Histogram1D::~AliL3Histogram1D()
 }
 
 
-void AliL3Histogram1D::Reset()
+void AliHLTHistogram1D::Reset()
 {
   //Reset histogram contents
 #if defined(__DECCXX)
@@ -82,7 +82,7 @@ void AliL3Histogram1D::Reset()
   fEntries=0;
 }
 
-void AliL3Histogram1D::Fill(Double_t x,Int_t weight)
+void AliHLTHistogram1D::Fill(Double_t x,Int_t weight)
 {
   //Fill a given bin with weight
   Int_t bin = FindBin(x);
@@ -90,7 +90,7 @@ void AliL3Histogram1D::Fill(Double_t x,Int_t weight)
 }
 
 
-Int_t AliL3Histogram1D::FindBin(Double_t x) const
+Int_t AliHLTHistogram1D::FindBin(Double_t x) const
 {
   //Find a given bin
   if(x < fXmin || x > fXmax)
@@ -100,7 +100,7 @@ Int_t AliL3Histogram1D::FindBin(Double_t x) const
 
 }
 
-Int_t AliL3Histogram1D::GetMaximumBin() const
+Int_t AliHLTHistogram1D::GetMaximumBin() const
 {
   //Find the bin with the largest content
   Double_t maxvalue=0;
@@ -116,12 +116,12 @@ Int_t AliL3Histogram1D::GetMaximumBin() const
   return maxbin;
 }
 
-Double_t AliL3Histogram1D::GetBinContent(Int_t bin) const
+Double_t AliHLTHistogram1D::GetBinContent(Int_t bin) const
 {
   //Get bin content
   if(bin >= fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::GetBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::GetBinContent","array")<<AliHLTLog::kDec<<
        "bin out of range "<<bin<<ENDLOG;
       return 0;
     }
@@ -132,12 +132,12 @@ Double_t AliL3Histogram1D::GetBinContent(Int_t bin) const
 }
 
 
-void AliL3Histogram1D::SetBinContent(Int_t bin,Int_t value)
+void AliHLTHistogram1D::SetBinContent(Int_t bin,Int_t value)
 {
   //Set bin content
   if(bin >= fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::SetBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::SetBinContent","array")<<AliHLTLog::kDec<<
        "bin out of range "<<bin<<ENDLOG;
       return;
     }
@@ -147,12 +147,12 @@ void AliL3Histogram1D::SetBinContent(Int_t bin,Int_t value)
   
 }
 
-void AliL3Histogram1D::AddBinContent(Int_t bin,Int_t weight)
+void AliHLTHistogram1D::AddBinContent(Int_t bin,Int_t weight)
 {
   //Add weight to bin content
   if(bin < 0 || bin > fNcells)
     {
-      LOG(AliL3Log::kError,"AliL3Histogram::AddBinContent","array")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTHistogram::AddBinContent","array")<<AliHLTLog::kDec<<
        "bin-value out of range "<<bin<<ENDLOG;
       return;
     }
@@ -162,7 +162,7 @@ void AliL3Histogram1D::AddBinContent(Int_t bin,Int_t weight)
   fContent[bin] += weight;
 }
 
-Double_t AliL3Histogram1D::GetBinCenter(Int_t bin) const
+Double_t AliHLTHistogram1D::GetBinCenter(Int_t bin) const
 {
   //Get bin center  
   Double_t binwidth = (fXmax - fXmin) / fNbins;
@@ -171,7 +171,7 @@ Double_t AliL3Histogram1D::GetBinCenter(Int_t bin) const
 }
 
 #ifdef use_root
-void AliL3Histogram1D::Draw(Char_t *option)
+void AliHLTHistogram1D::Draw(Char_t *option)
 {
   //Draw the histogram
   fRootHisto = new TH1F(fName,"",fNbins,fXmin,fXmax);
similarity index 75%
rename from HLT/hough/AliL3Histogram1D.h
rename to HLT/hough/AliHLTHistogram1D.h
index 03c97deae5fb40cef4b0eb5ea21a37bf587cf0c0..28dd0a547584456bfab3efe64a200c23c6f53ea2 100644 (file)
@@ -3,18 +3,18 @@
 #ifndef ALIL3HISTOGRAM1D_H
 #define ALIL3HISTOGRAM1D_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 #ifdef use_root
 class TH1F;
 #endif
 
-class AliL3Histogram1D {
+class AliHLTHistogram1D {
   
  public:
-  AliL3Histogram1D();
-  AliL3Histogram1D(Char_t *name,Char_t *id,Int_t nxbin,Double_t xmin,Double_t xmax);
-  virtual ~AliL3Histogram1D();
+  AliHLTHistogram1D();
+  AliHLTHistogram1D(Char_t *name,Char_t *id,Int_t nxbin,Double_t xmin,Double_t xmax);
+  virtual ~AliHLTHistogram1D();
   
   void Reset();
   void Fill(Double_t x,Int_t weight=1);
@@ -51,8 +51,10 @@ class AliL3Histogram1D {
   TH1F *fRootHisto;//The corresponding ROOT histogram
 #endif  
 
-  ClassDef(AliL3Histogram1D,1) //1D histogram class
+  ClassDef(AliHLTHistogram1D,1) //1D histogram class
     
 };
 
+typedef AliHLTHistogram1D AliL3Histogram1D; // for backward compatibility
+
 #endif
similarity index 73%
rename from HLT/hough/AliL3HistogramAdaptive.cxx
rename to HLT/hough/AliHLTHistogramAdaptive.cxx
index c2e0f7d01bc8425f1a8d953e254775ebe6525a82..9b79cb00a9258c4b151741cb36816c7ec393c766 100644 (file)
@@ -3,42 +3,42 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3HistogramAdaptive.h"
-#include "AliL3Transform.h"
-#include "AliL3Track.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHistogramAdaptive.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrack.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HistogramAdaptive
+// AliHLTHistogramAdaptive
 //
 // 2D histogram class adapted for kappa and psi as used in the Circle Hough Transform.
 // The bins in kappa is not linear, but has a width which is specified by argument
 // ptres in the constructor. This gives the relative pt resolution which should
 // be kept throughout the kappa range. 
 
-ClassImp(AliL3HistogramAdaptive)
+ClassImp(AliHLTHistogramAdaptive)
 
-AliL3HistogramAdaptive::AliL3HistogramAdaptive() : AliL3Histogram()
+AliHLTHistogramAdaptive::AliHLTHistogramAdaptive() : AliHLTHistogram()
 {
   //default ctor
   fKappaBins=0;
 }
 
   
-AliL3HistogramAdaptive::AliL3HistogramAdaptive(Char_t *name,Double_t minpt,Double_t maxpt,Double_t ptres,
+AliHLTHistogramAdaptive::AliHLTHistogramAdaptive(Char_t *name,Double_t minpt,Double_t maxpt,Double_t ptres,
                                               Int_t nybins,Double_t ymin,Double_t ymax)
 {
   //normal ctor
   strcpy(fName,name);
   
   fPtres = ptres;
-  fXmin = -1*AliL3Transform::GetBFact()*AliL3Transform::GetBField()/minpt;
-  fXmax = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/minpt;
+  fXmin = -1*AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/minpt;
+  fXmax = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/minpt;
 
   fMinPt = minpt;
   fMaxPt = maxpt;
@@ -58,14 +58,14 @@ AliL3HistogramAdaptive::AliL3HistogramAdaptive(Char_t *name,Double_t minpt,Doubl
   Reset();
 }
 
-AliL3HistogramAdaptive::~AliL3HistogramAdaptive()
+AliHLTHistogramAdaptive::~AliHLTHistogramAdaptive()
 {
   //dtor
   if(fKappaBins)
     delete [] fKappaBins;
 }
 
-Int_t AliL3HistogramAdaptive::InitKappaBins()
+Int_t AliHLTHistogramAdaptive::InitKappaBins()
 {
   //Here a LUT for the kappa values created. This has to be done since
   //the binwidth in kappa is not constant, but change according to the
@@ -86,20 +86,20 @@ Int_t AliL3HistogramAdaptive::InitKappaBins()
   fKappaBins = new Double_t[bin+1];
   pt=fMinPt;
   bin=0;
-  fKappaBins[bin] = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/fMinPt; 
+  fKappaBins[bin] = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/fMinPt; 
   while(pt < fMaxPt)
     {
       localpt = pt;
       deltapt = fPtres*localpt*localpt;
       pt += 2*deltapt;                      //*2 because pt +- 1/2*deltapt is one bin
       bin++;
-      fKappaBins[bin] = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/pt;
+      fKappaBins[bin] = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/pt;
     }
   return (bin+1)*2; //Both negative and positive kappa.
 }
 
 
-void AliL3HistogramAdaptive::Fill(Double_t x,Double_t y,Int_t weight)
+void AliHLTHistogramAdaptive::Fill(Double_t x,Double_t y,Int_t weight)
 {
   //Fill a given bin in the histogram
   Int_t bin = FindBin(x,y);
@@ -109,7 +109,7 @@ void AliL3HistogramAdaptive::Fill(Double_t x,Double_t y,Int_t weight)
 
 }
 
-Int_t AliL3HistogramAdaptive::FindBin(Double_t x,Double_t y) const
+Int_t AliHLTHistogramAdaptive::FindBin(Double_t x,Double_t y) const
 {
   //Find a bin in the histogram  
   Int_t xbin = FindXbin(x);
@@ -120,7 +120,7 @@ Int_t AliL3HistogramAdaptive::FindBin(Double_t x,Double_t y) const
   return GetBin(xbin,ybin);
 }
 
-Int_t AliL3HistogramAdaptive::FindXbin(Double_t x) const
+Int_t AliHLTHistogramAdaptive::FindXbin(Double_t x) const
 {
   //Find X bin in the histogram
   if(x < fXmin || x > fXmax || fabs(x) < fKappaBins[(fNxbins/2-1)])
@@ -144,7 +144,7 @@ Int_t AliL3HistogramAdaptive::FindXbin(Double_t x) const
   
 }
 
-Int_t AliL3HistogramAdaptive::FindYbin(Double_t y) const
+Int_t AliHLTHistogramAdaptive::FindYbin(Double_t y) const
 {
   //Find Y bin in the histogram
   if(y < fYmin || y > fYmax)
@@ -153,12 +153,12 @@ Int_t AliL3HistogramAdaptive::FindYbin(Double_t y) const
   return 1 + (Int_t)(fNybins*(y-fYmin)/(fYmax-fYmin));
 }
 
-Double_t AliL3HistogramAdaptive::GetBinCenterX(Int_t xbin) const
+Double_t AliHLTHistogramAdaptive::GetBinCenterX(Int_t xbin) const
 {
   //Returns bin center in X
   if(xbin < fFirstXbin || xbin > fLastXbin)
     {
-      LOG(AliL3Log::kWarning,"AliL3HistogramAdaptive::GetBinCenterX","Bin-value")
+      LOG(AliHLTLog::kWarning,"AliHLTHistogramAdaptive::GetBinCenterX","Bin-value")
        <<"XBinvalue out of range "<<xbin<<ENDLOG;
       return 0;
     }
@@ -183,12 +183,12 @@ Double_t AliL3HistogramAdaptive::GetBinCenterX(Int_t xbin) const
 
 }
 
-Double_t AliL3HistogramAdaptive::GetBinCenterY(Int_t ybin) const
+Double_t AliHLTHistogramAdaptive::GetBinCenterY(Int_t ybin) const
 {
   //Returns bin center in Y
   if(ybin < fFirstYbin || ybin > fLastYbin)
     {
-      LOG(AliL3Log::kError,"AliL3HistogramAdaptive::GetBinCenterY","ybin")
+      LOG(AliHLTLog::kError,"AliHLTHistogramAdaptive::GetBinCenterY","ybin")
        <<"Bin-value out of range "<<ybin<<ENDLOG;
       return -1;
     }
@@ -198,7 +198,7 @@ Double_t AliL3HistogramAdaptive::GetBinCenterY(Int_t ybin) const
 }
 
 
-void AliL3HistogramAdaptive::Draw(Char_t *option)
+void AliHLTHistogramAdaptive::Draw(Char_t *option)
 {
   //Draw the histogram
 #ifdef use_root
@@ -221,11 +221,11 @@ void AliL3HistogramAdaptive::Draw(Char_t *option)
   fRootHisto->Draw(option);
   return;
 #else
-  cerr<<"AliL3HistogramAdaptive::Draw : You need to compile with ROOT in order to draw histogram"<<endl;
+  cerr<<"AliHLTHistogramAdaptive::Draw : You need to compile with ROOT in order to draw histogram"<<endl;
 #endif
 }
 
-void AliL3HistogramAdaptive::Print() const
+void AliHLTHistogramAdaptive::Print() const
 {
   //Print the contents of the histogram
   cout<<"Printing content of histogram "<<fName<<endl;
similarity index 60%
rename from HLT/hough/AliL3HistogramAdaptive.h
rename to HLT/hough/AliHLTHistogramAdaptive.h
index bbce8a8ad0d537d67230b4451a2f774a352dd6cc..38d960b1c15cd5dae1903c1a608411aa74efe884 100644 (file)
@@ -3,26 +3,26 @@
 #ifndef ALIL3HISTOGRAMADAPTIVE_H
 #define ALIL3HISTOGRAMADAPTIVE_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3Histogram.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHistogram.h"
 
-class AliL3HistogramAdaptive : public AliL3Histogram {
+class AliHLTHistogramAdaptive : public AliHLTHistogram {
   
  public:
-  AliL3HistogramAdaptive();
-  AliL3HistogramAdaptive(Char_t *name,Double_t minpt,Double_t maxpt,Double_t ptres,
+  AliHLTHistogramAdaptive();
+  AliHLTHistogramAdaptive(Char_t *name,Double_t minpt,Double_t maxpt,Double_t ptres,
                         Int_t nybins,Double_t ymin,Double_t ymax);
-  ~AliL3HistogramAdaptive();
+  ~AliHLTHistogramAdaptive();
 
   void Fill(Double_t x,Double_t y,Int_t weight=1);
   void Fill(Double_t x,Int_t ybin,Int_t weight=1) {
-    AliL3Histogram::Fill(x,ybin,weight);
+    AliHLTHistogram::Fill(x,ybin,weight);
   }
   void Fill(Int_t xbin,Double_t y,Int_t weight=1) {
-    AliL3Histogram::Fill(xbin,y,weight);
+    AliHLTHistogram::Fill(xbin,y,weight);
   }
   void Fill(Int_t xbin,Int_t ybin,Int_t weight=1) {
-    AliL3Histogram::Fill(xbin,ybin,weight);
+    AliHLTHistogram::Fill(xbin,ybin,weight);
   }
   Int_t FindBin(Double_t x,Double_t y) const;
   Int_t FindXbin(Double_t x) const;
@@ -41,8 +41,10 @@ class AliL3HistogramAdaptive : public AliL3Histogram {
   
   Int_t InitKappaBins();
   
-  ClassDef(AliL3HistogramAdaptive,1) //2D histogram class
+  ClassDef(AliHLTHistogramAdaptive,1) //2D histogram class
     
 };
 
+typedef AliHLTHistogramAdaptive AliL3HistogramAdaptive; // for backward comaatibility 
+
 #endif
similarity index 70%
rename from HLT/hough/AliL3Hough.cxx
rename to HLT/hough/AliHLTHough.cxx
index 6d9776af077c1a075e8bd394c84988214d779ba9..c07bcff9c14808a17b9dd6f0129f9d3d3712144d 100644 (file)
@@ -3,35 +3,35 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 #include <sys/time.h>
 
-#include "AliL3Logging.h"
-#include "AliL3HoughMerger.h"
-#include "AliL3HoughIntMerger.h"
-#include "AliL3HoughGlobalMerger.h"
-#include "AliL3Histogram.h"
-#include "AliL3Hough.h"
-#include "AliL3HoughTransformer.h"
-#include "AliL3HoughClusterTransformer.h"
-#include "AliL3HoughTransformerLUT.h"
-#include "AliL3HoughTransformerVhdl.h"
-#include "AliL3HoughTransformerRow.h"
-#include "AliL3HoughMaxFinder.h"
-#include "AliL3Benchmark.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughMerger.h"
+#include "AliHLTHoughIntMerger.h"
+#include "AliHLTHoughGlobalMerger.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTHough.h"
+#include "AliHLTHoughTransformer.h"
+#include "AliHLTHoughClusterTransformer.h"
+#include "AliHLTHoughTransformerLUT.h"
+#include "AliHLTHoughTransformerVhdl.h"
+#include "AliHLTHoughTransformerRow.h"
+#include "AliHLTHoughMaxFinder.h"
+#include "AliHLTBenchmark.h"
 #ifdef use_aliroot
-#include "AliL3FileHandler.h"
+#include "AliHLTFileHandler.h"
 #else
-#include "AliL3MemHandler.h"
+#include "AliHLTMemHandler.h"
 #endif
-#include "AliL3DataHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3HoughEval.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3DDLDataFileHandler.h"
-#include "AliL3HoughKalmanTrack.h"
+#include "AliHLTDataHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHoughEval.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTDDLDataFileHandler.h"
+#include "AliHLTHoughKalmanTrack.h"
 
 #include "TThread.h"
 
 using namespace std;
 #endif
 
-/** /class AliL3Hough
+/** /class AliHLTHough
 //<pre>
 //_____________________________________________________________
-// AliL3Hough
+// AliHLTHough
 //
 // Interface class for the Hough transform
 //
 // Example how to use:
 //
-// AliL3Hough *hough = new AliL3Hough(path,kTRUE,NumberOfEtaSegments);
+// AliHLTHough *hough = new AliHLTHough(path,kTRUE,NumberOfEtaSegments);
 // hough->ReadData(slice);
 // hough->Transform();
 // hough->FindTrackCandidates();
 // 
-// AliL3TrackArray *tracks = hough->GetTracks(patch);
+// AliHLTTrackArray *tracks = hough->GetTracks(patch);
 //
 //</pre>
 */
 
-ClassImp(AliL3Hough)
+ClassImp(AliHLTHough)
 
-AliL3Hough::AliL3Hough()
+AliHLTHough::AliHLTHough()
 {
   //Constructor
   
@@ -100,7 +100,7 @@ AliL3Hough::AliL3Hough()
   SetPeakThreshold();
 #ifdef use_aliroot
   //just be sure that index is empty for new event
-    AliL3FileHandler::CleanStaticIndex(); 
+    AliHLTFileHandler::CleanStaticIndex(); 
 #ifdef use_newio
     fRunLoader = 0;
 #endif
@@ -108,7 +108,7 @@ AliL3Hough::AliL3Hough()
   fThread = 0;
 }
 
-AliL3Hough::AliL3Hough(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8,Int_t tv,Char_t *infile,Char_t *ptr)
+AliHLTHough::AliHLTHough(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8,Int_t tv,Char_t *infile,Char_t *ptr)
 {
   //Normal constructor
   fBinary = binary;
@@ -137,7 +137,7 @@ AliL3Hough::AliL3Hough(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8
   }
 #ifdef use_aliroot
   //just be sure that index is empty for new event
-    AliL3FileHandler::CleanStaticIndex(); 
+    AliHLTFileHandler::CleanStaticIndex(); 
 #ifdef use_newio
     fRunLoader = 0;
 #endif
@@ -145,7 +145,7 @@ AliL3Hough::AliL3Hough(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8
   fThread = 0;
 }
 
-AliL3Hough::~AliL3Hough()
+AliHLTHough::~AliHLTHough()
 {
   //dtor
 
@@ -175,7 +175,7 @@ AliL3Hough::~AliL3Hough()
   }
 }
 
-void AliL3Hough::CleanUp()
+void AliHLTHough::CleanUp()
 {
   //Cleanup memory
   
@@ -201,7 +201,7 @@ void AliL3Hough::CleanUp()
   //cout << "Cleaned class mem " << endl;
 }
 
-void AliL3Hough::Init(Int_t netasegments,Int_t tv,AliRawEvent *rawevent,Float_t zvertex)
+void AliHLTHough::Init(Int_t netasegments,Int_t tv,AliRawEvent *rawevent,Float_t zvertex)
 {
   //Normal constructor
   fNEtaSegments  = netasegments;
@@ -212,9 +212,9 @@ void AliL3Hough::Init(Int_t netasegments,Int_t tv,AliRawEvent *rawevent,Float_t
   Init();
 }
 
-void AliL3Hough::Init(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8,Int_t tv,Char_t *infile,Char_t *ptr,Float_t zvertex)
+void AliHLTHough::Init(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8,Int_t tv,Char_t *infile,Char_t *ptr,Float_t zvertex)
 {
-  //Normal init of the AliL3Hough
+  //Normal init of the AliHLTHough
   fBinary = binary;
   strcpy(fPath,path);
   fNEtaSegments = netasegments;
@@ -240,40 +240,40 @@ void AliL3Hough::Init(Char_t *path,Bool_t binary,Int_t netasegments,Bool_t bit8,
   Init(); //do the rest
 }
 
-void AliL3Hough::Init(Bool_t doit, Bool_t addhists)
+void AliHLTHough::Init(Bool_t doit, Bool_t addhists)
 {
   // Init
   fDoIterative   = doit; 
   fAddHistograms = addhists;
 
-  fNPatches = AliL3Transform::GetNPatches();
-  fHoughTransformer = new AliL3HoughBaseTransformer*[fNPatches];
-  fMemHandler = new AliL3MemHandler*[fNPatches];
+  fNPatches = AliHLTTransform::GetNPatches();
+  fHoughTransformer = new AliHLTHoughBaseTransformer*[fNPatches];
+  fMemHandler = new AliHLTMemHandler*[fNPatches];
 
-  fTracks = new AliL3TrackArray*[fNPatches];
-  fEval = new AliL3HoughEval*[fNPatches];
+  fTracks = new AliHLTTrackArray*[fNPatches];
+  fEval = new AliHLTHoughEval*[fNPatches];
   
-  fGlobalTracks = new AliL3TrackArray("AliL3HoughTrack");
+  fGlobalTracks = new AliHLTTrackArray("AliHLTHoughTrack");
   
-  AliL3HoughBaseTransformer *lasttransformer = 0;
+  AliHLTHoughBaseTransformer *lasttransformer = 0;
 
   for(Int_t i=0; i<fNPatches; i++)
     {
       switch (fVersion){ //choose Transformer
       case 1: 
-       fHoughTransformer[i] = new AliL3HoughTransformerLUT(0,i,fNEtaSegments);
+       fHoughTransformer[i] = new AliHLTHoughTransformerLUT(0,i,fNEtaSegments);
        break;
       case 2:
-       fHoughTransformer[i] = new AliL3HoughClusterTransformer(0,i,fNEtaSegments);
+       fHoughTransformer[i] = new AliHLTHoughClusterTransformer(0,i,fNEtaSegments);
        break;
       case 3:
-       fHoughTransformer[i] = new AliL3HoughTransformerVhdl(0,i,fNEtaSegments,fNSaveIterations);
+       fHoughTransformer[i] = new AliHLTHoughTransformerVhdl(0,i,fNEtaSegments,fNSaveIterations);
        break;
       case 4:
-       fHoughTransformer[i] = new AliL3HoughTransformerRow(0,i,fNEtaSegments,kFALSE,fZVertex);
+       fHoughTransformer[i] = new AliHLTHoughTransformerRow(0,i,fNEtaSegments,kFALSE,fZVertex);
        break;
       default:
-       fHoughTransformer[i] = new AliL3HoughTransformer(0,i,fNEtaSegments,kFALSE,kFALSE);
+       fHoughTransformer[i] = new AliHLTHoughTransformer(0,i,fNEtaSegments,kFALSE,kFALSE);
       }
 
       fHoughTransformer[i]->SetLastTransformer(lasttransformer);
@@ -285,13 +285,13 @@ void AliL3Hough::Init(Bool_t doit, Bool_t addhists)
       fHoughTransformer[i]->SetLowerThreshold(fThreshold[i]);
       fHoughTransformer[i]->SetUpperThreshold(100);
 
-      LOG(AliL3Log::kInformational,"AliL3Hough::Init","Version")
+      LOG(AliHLTLog::kInformational,"AliHLTHough::Init","Version")
        <<"Initializing Hough transformer version "<<fVersion<<ENDLOG;
       
-      fEval[i] = new AliL3HoughEval();
-      fTracks[i] = new AliL3TrackArray("AliL3HoughTrack");
+      fEval[i] = new AliHLTHoughEval();
+      fTracks[i] = new AliHLTTrackArray("AliHLTHoughTrack");
       if(fUse8bits)
-       fMemHandler[i] = new AliL3DataHandler();
+       fMemHandler[i] = new AliHLTDataHandler();
       else
 #ifdef use_aliroot
        {
@@ -299,7 +299,7 @@ void AliL3Hough::Init(Bool_t doit, Bool_t addhists)
            if(!fInputFile) {
              if(!fInputPtr) {
                /* In case of reading digits file */
-               fMemHandler[i] = new AliL3FileHandler(kTRUE); //use static index
+               fMemHandler[i] = new AliHLTFileHandler(kTRUE); //use static index
                if(!fBinary) {
 #if use_newio
                  if(!fRunLoader) {
@@ -317,41 +317,41 @@ void AliL3Hough::Init(Bool_t doit, Bool_t addhists)
              }
              else {
                /* In case of reading from DATE */
-               fMemHandler[i] = new AliL3DDLDataFileHandler();
+               fMemHandler[i] = new AliHLTDDLDataFileHandler();
                fMemHandler[i]->SetReaderInput(fInputPtr,-1);
              }
            }
            else {
              /* In case of reading rawdata from ROOT file */
-             fMemHandler[i] = new AliL3DDLDataFileHandler();
+             fMemHandler[i] = new AliHLTDDLDataFileHandler();
              fMemHandler[i]->SetReaderInput(fInputFile);
            }
          }
          else {
            /* In case of reading rawdata using AliRawEvent */
-           fMemHandler[i] = new AliL3DDLDataFileHandler();
+           fMemHandler[i] = new AliHLTDDLDataFileHandler();
            fMemHandler[i]->SetReaderInput(fRawEvent);
          }
        }
 #else
-      fMemHandler[i] = new AliL3MemHandler();
+      fMemHandler[i] = new AliHLTMemHandler();
 #endif
     }
 
-  fPeakFinder = new AliL3HoughMaxFinder("KappaPhi",50000);
+  fPeakFinder = new AliHLTHoughMaxFinder("KappaPhi",50000);
   if(fVersion!=4) {
-    fMerger = new AliL3HoughMerger(fNPatches);
-    fInterMerger = new AliL3HoughIntMerger();
+    fMerger = new AliHLTHoughMerger(fNPatches);
+    fInterMerger = new AliHLTHoughIntMerger();
   }
   else {
     fMerger = 0;
     fInterMerger = 0;
   }
   fGlobalMerger = 0;
-  fBenchmark = new AliL3Benchmark();
+  fBenchmark = new AliHLTBenchmark();
 }
 
-void AliL3Hough::SetTransformerParams(Float_t ptres,Float_t ptmin,Float_t ptmax,Int_t ny,Int_t patch)
+void AliHLTHough::SetTransformerParams(Float_t ptres,Float_t ptmin,Float_t ptmax,Int_t ny,Int_t patch)
 {
   // Setup the parameters for the Hough Transformer
   // This includes the bin size and limits for
@@ -362,12 +362,12 @@ void AliL3Hough::SetTransformerParams(Float_t ptres,Float_t ptmin,Float_t ptmax,
   if(patch==-1)
     mrow = 80;
   else
-    mrow = AliL3Transform::GetLastRow(patch);
+    mrow = AliHLTTransform::GetLastRow(patch);
   if(ptmin)
     {
-      Double_t lineradius = sqrt(pow(AliL3Transform::Row2X(mrow),2) + pow(AliL3Transform::GetMaxY(mrow),2));
-      Double_t kappa = -1*AliL3Transform::GetBField()*AliL3Transform::GetBFact()/ptmin;
-      psi = AliL3Transform::Deg2Rad(10) - asin(lineradius*kappa/2);
+      Double_t lineradius = sqrt(pow(AliHLTTransform::Row2X(mrow),2) + pow(AliHLTTransform::GetMaxY(mrow),2));
+      Double_t kappa = -1*AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/ptmin;
+      psi = AliHLTTransform::Deg2Rad(10) - asin(lineradius*kappa/2);
       cout<<"Calculated psi range "<<psi<<" in patch "<<patch<<endl;
     }
 
@@ -394,14 +394,14 @@ void AliL3Hough::SetTransformerParams(Float_t ptres,Float_t ptmin,Float_t ptmax,
   fPhi[patch] = psi;
 }
 /*
-void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t patch)
+void AliHLTHough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t patch)
 {
   // Setup the parameters for the Hough Transformer
 
   Int_t mrow=80;
-  Double_t lineradius = sqrt(pow(AliL3Transform::Row2X(mrow),2) + pow(AliL3Transform::GetMaxY(mrow),2));
-  Double_t kappa = -1*AliL3Transform::GetBField()*AliL3Transform::GetBFact()/ptmin;
-  Double_t psi = AliL3Transform::Deg2Rad(10) - asin(lineradius*kappa/2);
+  Double_t lineradius = sqrt(pow(AliHLTTransform::Row2X(mrow),2) + pow(AliHLTTransform::GetMaxY(mrow),2));
+  Double_t kappa = -1*AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/ptmin;
+  Double_t psi = AliHLTTransform::Deg2Rad(10) - asin(lineradius*kappa/2);
   cout<<"Calculated psi range "<<psi<<" in patch "<<patch<<endl;
   
   Int_t i=0;
@@ -415,16 +415,16 @@ void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t patc
     }
 }
 */
-void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t /*patch*/)
+void AliHLTHough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t /*patch*/)
 {
   // Setup the parameters for the Hough Transformer
 
-  Double_t lineradius = 1.0/(AliL3HoughTransformerRow::GetBeta1()*sqrt(1.0+tan(AliL3Transform::Pi()*10/180)*tan(AliL3Transform::Pi()*10/180)));
-  Double_t alpha1 = AliL3HoughTransformerRow::GetBeta1()*tan(AliL3Transform::Pi()*10/180);
-  Double_t kappa = 1*AliL3Transform::GetBField()*AliL3Transform::GetBFact()/(ptmin*0.9);
-  Double_t psi = AliL3Transform::Deg2Rad(10) - asin(lineradius*kappa/2);
+  Double_t lineradius = 1.0/(AliHLTHoughTransformerRow::GetBeta1()*sqrt(1.0+tan(AliHLTTransform::Pi()*10/180)*tan(AliHLTTransform::Pi()*10/180)));
+  Double_t alpha1 = AliHLTHoughTransformerRow::GetBeta1()*tan(AliHLTTransform::Pi()*10/180);
+  Double_t kappa = 1*AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/(ptmin*0.9);
+  Double_t psi = AliHLTTransform::Deg2Rad(10) - asin(lineradius*kappa/2);
   //  cout<<"Calculated psi range "<<psi<<" in patch "<<patch<<endl;
-  Double_t alpha2 = alpha1 - (AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2())*tan(psi);
+  Double_t alpha2 = alpha1 - (AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2())*tan(psi);
   //  cout<<"Calculated alphas range "<<alpha1<<" "<<alpha2<<" in patch "<<patch<<endl;
 
   Int_t i=0;
@@ -438,24 +438,24 @@ void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t ptmin,Int_t /*pa
     }
 }
 
-void AliL3Hough::CalcTransformerParams(Float_t ptmin)
+void AliHLTHough::CalcTransformerParams(Float_t ptmin)
 {
   // Setup the parameters for the Row Hough Transformer
   // Automatically adjusts the number of bins in X and Y in a way
   // that the size of the hough bin is 2x (in X) and 2.5 (in Y) the
   // size of the tpc pads
 
-  Double_t lineradius = 1.0/(AliL3HoughTransformerRow::GetBeta1()*sqrt(1.0+tan(AliL3Transform::Pi()*10/180)*tan(AliL3Transform::Pi()*10/180)));
-  Double_t alpha1 = AliL3HoughTransformerRow::GetBeta1()*tan(AliL3Transform::Pi()*10/180);
-  Double_t kappa = 1*AliL3Transform::GetBField()*AliL3Transform::GetBFact()/(ptmin*0.9);
-  Double_t psi = AliL3Transform::Deg2Rad(10) - asin(lineradius*kappa/2);
+  Double_t lineradius = 1.0/(AliHLTHoughTransformerRow::GetBeta1()*sqrt(1.0+tan(AliHLTTransform::Pi()*10/180)*tan(AliHLTTransform::Pi()*10/180)));
+  Double_t alpha1 = AliHLTHoughTransformerRow::GetBeta1()*tan(AliHLTTransform::Pi()*10/180);
+  Double_t kappa = 1*AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/(ptmin*0.9);
+  Double_t psi = AliHLTTransform::Deg2Rad(10) - asin(lineradius*kappa/2);
   //  cout<<"Calculated psi range "<<psi<<endl;
-  Double_t alpha2 = alpha1 - (AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2())*tan(psi);
+  Double_t alpha2 = alpha1 - (AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2())*tan(psi);
   alpha1 *= 1.1;
   //  cout<<"Calculated alphas range "<<alpha1<<" "<<alpha2<<endl;
 
-  Double_t sizex = 2.0*AliL3Transform::GetPadPitchWidthLow()*AliL3HoughTransformerRow::GetBeta1()*AliL3HoughTransformerRow::GetBeta1();
-  Double_t sizey = 2.5*AliL3Transform::GetPadPitchWidthUp()*AliL3HoughTransformerRow::GetBeta2()*AliL3HoughTransformerRow::GetBeta2();
+  Double_t sizex = 2.0*AliHLTTransform::GetPadPitchWidthLow()*AliHLTHoughTransformerRow::GetBeta1()*AliHLTHoughTransformerRow::GetBeta1();
+  Double_t sizey = 2.5*AliHLTTransform::GetPadPitchWidthUp()*AliHLTHoughTransformerRow::GetBeta2()*AliHLTHoughTransformerRow::GetBeta2();
 
   Int_t nx = 2*(Int_t)(alpha1/sizex)+1;
   Int_t ny = 2*(Int_t)(alpha2/sizey)+1;
@@ -472,7 +472,7 @@ void AliL3Hough::CalcTransformerParams(Float_t ptmin)
     }
 }
 
-void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t lpt,Float_t phi)
+void AliHLTHough::SetTransformerParams(Int_t nx,Int_t ny,Float_t lpt,Float_t phi)
 {
   Int_t i=0;
   while(i < 6)
@@ -485,7 +485,7 @@ void AliL3Hough::SetTransformerParams(Int_t nx,Int_t ny,Float_t lpt,Float_t phi)
     }
 }
 
-void AliL3Hough::SetThreshold(Int_t t3,Int_t patch)
+void AliHLTHough::SetThreshold(Int_t t3,Int_t patch)
 {
   // Set digits threshold
   if(patch==-1)
@@ -498,7 +498,7 @@ void AliL3Hough::SetThreshold(Int_t t3,Int_t patch)
   fThreshold[patch]=t3;
 }
 
-void AliL3Hough::SetPeakThreshold(Int_t threshold,Int_t patch)
+void AliHLTHough::SetPeakThreshold(Int_t threshold,Int_t patch)
 {
   // Set Peak Finder threshold
   if(patch==-1)
@@ -511,15 +511,15 @@ void AliL3Hough::SetPeakThreshold(Int_t threshold,Int_t patch)
   fPeakThreshold[patch]=threshold;
 }
 
-void AliL3Hough::DoBench(Char_t *name)
+void AliHLTHough::DoBench(Char_t *name)
 {
   fBenchmark->Analyze(name);
 }
 
-void AliL3Hough::Process(Int_t minslice,Int_t maxslice)
+void AliHLTHough::Process(Int_t minslice,Int_t maxslice)
 {
   //Process all slices [minslice,maxslice].
-  fGlobalMerger = new AliL3HoughGlobalMerger(minslice,maxslice);
+  fGlobalMerger = new AliHLTHoughGlobalMerger(minslice,maxslice);
   
   for(Int_t i=minslice; i<=maxslice; i++)
     {
@@ -537,13 +537,13 @@ void AliL3Hough::Process(Int_t minslice,Int_t maxslice)
     }
 }
 
-void AliL3Hough::ReadData(Int_t slice,Int_t eventnr)
+void AliHLTHough::ReadData(Int_t slice,Int_t eventnr)
 {
   //Read data from files, binary or root.
   
 #ifdef use_aliroot
   if(fEvent!=eventnr) //just be sure that index is empty for new event
-    AliL3FileHandler::CleanStaticIndex(); 
+    AliHLTFileHandler::CleanStaticIndex(); 
 #endif
   fCurrentSlice = slice;
 
@@ -551,7 +551,7 @@ void AliL3Hough::ReadData(Int_t slice,Int_t eventnr)
     {
       fMemHandler[i]->Free();
       UInt_t ndigits=0;
-      AliL3DigitRowData *digits =0;
+      AliHLTDigitRowData *digits =0;
       Char_t name[256];
       fMemHandler[i]->Init(slice,i);
       if(fBinary)//take input data from binary files
@@ -562,7 +562,7 @@ void AliL3Hough::ReadData(Int_t slice,Int_t eventnr)
            sprintf(name,"%s/binaries/digits_%d_%d_%d.raw",fPath,eventnr,slice,i);
 
          fMemHandler[i]->SetBinaryInput(name);
-         digits = (AliL3DigitRowData *)fMemHandler[i]->CompBinary2Memory(ndigits);
+         digits = (AliHLTDigitRowData *)fMemHandler[i]->CompBinary2Memory(ndigits);
          fMemHandler[i]->CloseBinaryInput();
        }
       else //read data from root file
@@ -570,7 +570,7 @@ void AliL3Hough::ReadData(Int_t slice,Int_t eventnr)
 #ifdef use_aliroot
          if(fEvent!=eventnr)
            fMemHandler[i]->FreeDigitsTree();//or else the new event is not loaded
-         digits=(AliL3DigitRowData *)fMemHandler[i]->AliAltroDigits2Memory(ndigits,eventnr);
+         digits=(AliHLTDigitRowData *)fMemHandler[i]->AliAltroDigits2Memory(ndigits,eventnr);
 #else
          cerr<<"You cannot read from rootfile now"<<endl;
 #endif
@@ -587,7 +587,7 @@ void AliL3Hough::ReadData(Int_t slice,Int_t eventnr)
   fEvent=eventnr;
 }
 
-void AliL3Hough::Transform(Int_t *rowrange)
+void AliHLTHough::Transform(Int_t *rowrange)
 {
   //Transform all data given to the transformer within the given slice
   //(after ReadData(slice))
@@ -623,11 +623,11 @@ void AliL3Hough::Transform(Int_t *rowrange)
       fLastPatch=patchorder[i];
     }
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Hough::Transform()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTHough::Transform()","Timing")
     <<"Transform done in average per patch of "<<cpuTime*1000/fNPatches<<" ms"<<ENDLOG;
 }
 
-void AliL3Hough::MergePatches()
+void AliHLTHough::MergePatches()
 {
   // Merge patches if they are not summed
   if(fAddHistograms) //Nothing to merge here
@@ -635,7 +635,7 @@ void AliL3Hough::MergePatches()
   fMerger->MergePatches(kTRUE);
 }
 
-void AliL3Hough::MergeInternally()
+void AliHLTHough::MergeInternally()
 {
   // Merge patches internally
   if(fAddHistograms)
@@ -646,7 +646,7 @@ void AliL3Hough::MergeInternally()
   fInterMerger->MMerge();
 }
 
-void AliL3Hough::ProcessSliceIter()
+void AliHLTHough::ProcessSliceIter()
 {
   //Process current slice (after ReadData(slice)) iteratively.
   
@@ -665,15 +665,15 @@ void AliL3Hough::ProcessSliceIter()
          Transform();
          AddAllHistograms();
          InitEvaluate();
-         AliL3HoughBaseTransformer *tr = fHoughTransformer[0];
+         AliHLTHoughBaseTransformer *tr = fHoughTransformer[0];
          for(Int_t j=0; j<fNEtaSegments; j++)
            {
-             AliL3Histogram *hist = tr->GetHistogram(j);
+             AliHLTHistogram *hist = tr->GetHistogram(j);
              if(hist->GetNEntries()==0) continue;
              fPeakFinder->Reset();
              fPeakFinder->SetHistogram(hist);
              fPeakFinder->FindAbsMaxima();
-             AliL3HoughTrack *track = (AliL3HoughTrack*)fTracks[0]->NextTrack();
+             AliHLTHoughTrack *track = (AliHLTHoughTrack*)fTracks[0]->NextTrack();
              track->SetTrackParameters(fPeakFinder->GetXPeak(0),fPeakFinder->GetYPeak(0),fPeakFinder->GetWeight(0));
              track->SetEtaIndex(j);
              track->SetEta(tr->GetEta(j,fCurrentSlice));
@@ -698,21 +698,21 @@ void AliL3Hough::ProcessSliceIter()
     }
 }
 
-void AliL3Hough::ProcessPatchIter(Int_t patch)
+void AliHLTHough::ProcessPatchIter(Int_t patch)
 {
   //Process patch in a iterative way. 
   //transform + peakfinding + evaluation + transform +...
 
   Int_t numoftries = 5;
-  AliL3HoughBaseTransformer *tr = fHoughTransformer[patch];
-  AliL3TrackArray *tracks = fTracks[patch];
+  AliHLTHoughBaseTransformer *tr = fHoughTransformer[patch];
+  AliHLTTrackArray *tracks = fTracks[patch];
   tracks->Reset();
-  AliL3HoughEval *ev = fEval[patch];
+  AliHLTHoughEval *ev = fEval[patch];
   ev->InitTransformer(tr);
   //ev->RemoveFoundTracks();
   ev->SetNumOfRowsToMiss(3);
   ev->SetNumOfPadsToLook(2);
-  AliL3Histogram *hist;
+  AliHLTHistogram *hist;
   for(Int_t t=0; t<numoftries; t++)
     {
       tr->Reset();
@@ -725,7 +725,7 @@ void AliL3Hough::ProcessPatchIter(Int_t patch)
          fPeakFinder->SetHistogram(hist);
          fPeakFinder->FindAbsMaxima();
          //fPeakFinder->FindPeak1();
-         AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->NextTrack();
+         AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->NextTrack();
          track->SetTrackParameters(fPeakFinder->GetXPeak(0),fPeakFinder->GetYPeak(0),fPeakFinder->GetWeight(0));
          track->SetEtaIndex(i);
          track->SetEta(tr->GetEta(i,fCurrentSlice));
@@ -740,11 +740,11 @@ void AliL3Hough::ProcessPatchIter(Int_t patch)
        }
     }
   fTracks[0]->QSort();
-  LOG(AliL3Log::kInformational,"AliL3Hough::ProcessPatch","NTracks")
-    <<AliL3Log::kDec<<"Found "<<tracks->GetNTracks()<<" tracks in patch "<<patch<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTHough::ProcessPatch","NTracks")
+    <<AliHLTLog::kDec<<"Found "<<tracks->GetNTracks()<<" tracks in patch "<<patch<<ENDLOG;
 }
 
-void AliL3Hough::AddAllHistograms()
+void AliHLTHough::AddAllHistograms()
 {
   //Add the histograms within one etaslice.
   //Resulting histogram are in patch=0.
@@ -754,21 +754,21 @@ void AliL3Hough::AddAllHistograms()
   fBenchmark->Start("Add Histograms");
   for(Int_t i=0; i<fNEtaSegments; i++)
     {
-      AliL3Histogram *hist0 = fHoughTransformer[0]->GetHistogram(i);
+      AliHLTHistogram *hist0 = fHoughTransformer[0]->GetHistogram(i);
       for(Int_t j=1; j<fNPatches; j++)
        {
-         AliL3Histogram *hist = fHoughTransformer[j]->GetHistogram(i);
+         AliHLTHistogram *hist = fHoughTransformer[j]->GetHistogram(i);
          hist0->Add(hist);
        }
     }
   fBenchmark->Stop("Add Histograms");
   fAddHistograms = kTRUE;
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Hough::AddAllHistograms()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTHough::AddAllHistograms()","Timing")
     <<"Adding histograms in "<<cpuTime*1000<<" ms"<<ENDLOG;
 }
 
-void AliL3Hough::AddAllHistogramsRows()
+void AliHLTHough::AddAllHistogramsRows()
 {
   //Add the histograms within one etaslice.
   //Resulting histogram are in patch=0.
@@ -777,16 +777,16 @@ void AliL3Hough::AddAllHistogramsRows()
   initTime = GetCpuTime();
   fBenchmark->Start("Add HistogramsRows");
 
-  UChar_t lastpatchlastrow = AliL3Transform::GetLastRowOnDDL(fLastPatch)+1;
+  UChar_t lastpatchlastrow = AliHLTTransform::GetLastRowOnDDL(fLastPatch)+1;
 
-  UChar_t *tracklastrow = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetTrackLastRow();
+  UChar_t *tracklastrow = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetTrackLastRow();
 
   for(Int_t i=0; i<fNEtaSegments; i++)
     {
-      UChar_t *gapcount = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetGapCount(i);
-      UChar_t *currentrowcount = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetCurrentRowCount(i);
+      UChar_t *gapcount = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetGapCount(i);
+      UChar_t *currentrowcount = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetCurrentRowCount(i);
 
-      AliL3Histogram *hist = fHoughTransformer[0]->GetHistogram(i);
+      AliHLTHistogram *hist = fHoughTransformer[0]->GetHistogram(i);
       Int_t xmin = hist->GetFirstXbin();
       Int_t xmax = hist->GetLastXbin();
       Int_t ymin = hist->GetFirstYbin();
@@ -817,11 +817,11 @@ void AliL3Hough::AddAllHistogramsRows()
   fBenchmark->Stop("Add HistogramsRows");
   fAddHistograms = kTRUE;
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Hough::AddAllHistogramsRows()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTHough::AddAllHistogramsRows()","Timing")
     <<"Adding histograms in "<<cpuTime*1000<<" ms"<<ENDLOG;
 }
 
-void AliL3Hough::PrepareForNextPatch(Int_t nextpatch)
+void AliHLTHough::PrepareForNextPatch(Int_t nextpatch)
 {
   // Prepare the parameter space for the processing of
   // the next read patch. According to the already
@@ -838,25 +838,25 @@ void AliL3Hough::PrepareForNextPatch(Int_t nextpatch)
   if(fLastPatch == -1)
     lastpatchlastrow = 0;
   else
-    lastpatchlastrow = AliL3Transform::GetLastRowOnDDL(fLastPatch)+1;
+    lastpatchlastrow = AliHLTTransform::GetLastRowOnDDL(fLastPatch)+1;
   UChar_t nextpatchfirstrow;
   if(nextpatch==0)
     nextpatchfirstrow = 0;
   else
-    nextpatchfirstrow = AliL3Transform::GetFirstRowOnDDL(nextpatch)-1;
+    nextpatchfirstrow = AliHLTTransform::GetFirstRowOnDDL(nextpatch)-1;
 
-  UChar_t *trackfirstrow = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetTrackFirstRow();
-  UChar_t *tracklastrow = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetTrackLastRow();
+  UChar_t *trackfirstrow = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetTrackFirstRow();
+  UChar_t *tracklastrow = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetTrackLastRow();
 
   for(Int_t i=0; i<fNEtaSegments; i++)
     {
-      UChar_t *gapcount = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetGapCount(i);
-      UChar_t *currentrowcount = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetCurrentRowCount(i);
-      UChar_t *prevbin = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetPrevBin(i);
-      UChar_t *nextbin = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetNextBin(i);
-      UChar_t *nextrow = ((AliL3HoughTransformerRow *)fHoughTransformer[0])->GetNextRow(i);
+      UChar_t *gapcount = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetGapCount(i);
+      UChar_t *currentrowcount = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetCurrentRowCount(i);
+      UChar_t *prevbin = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetPrevBin(i);
+      UChar_t *nextbin = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetNextBin(i);
+      UChar_t *nextrow = ((AliHLTHoughTransformerRow *)fHoughTransformer[0])->GetNextRow(i);
 
-      AliL3Histogram *hist = fHoughTransformer[0]->GetHistogram(i);
+      AliHLTHistogram *hist = fHoughTransformer[0]->GetHistogram(i);
       Int_t xmin = hist->GetFirstXbin();
       Int_t xmax = hist->GetLastXbin();
       Int_t ymin = hist->GetFirstYbin();
@@ -964,18 +964,18 @@ void AliL3Hough::PrepareForNextPatch(Int_t nextpatch)
   fBenchmark->Stop(buf);
 }
 
-void AliL3Hough::AddTracks()
+void AliHLTHough::AddTracks()
 {
   // Add current slice slice tracks to the global list of found tracks
   if(!fTracks[0])
     {
-      cerr<<"AliL3Hough::AddTracks : No tracks"<<endl;
+      cerr<<"AliHLTHough::AddTracks : No tracks"<<endl;
       return;
     }
-  AliL3TrackArray *tracks = fTracks[0];
+  AliHLTTrackArray *tracks = fTracks[0];
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3Track *track = tracks->GetCheckedTrack(i);
+      AliHLTTrack *track = tracks->GetCheckedTrack(i);
       if(!track) continue;
       if(track->GetNHits()!=1) cerr<<"NHITS "<<track->GetNHits()<<endl;
       UInt_t *ids = track->GetHitNumbers();
@@ -985,11 +985,11 @@ void AliL3Hough::AddTracks()
   fGlobalTracks->AddTracks(fTracks[0],0,fCurrentSlice);
 }
 
-void AliL3Hough::FindTrackCandidatesRow()
+void AliHLTHough::FindTrackCandidatesRow()
 {
-  // Find AliL3HoughTransformerRow track candidates
+  // Find AliHLTHoughTransformerRow track candidates
   if(fVersion != 4) {
-    LOG(AliL3Log::kError,"AliL3Hough::FindTrackCandidatesRow()","")
+    LOG(AliHLTLog::kError,"AliHLTHough::FindTrackCandidatesRow()","")
       <<"Incompatible Peak Finder version!"<<ENDLOG;
     return;
   }
@@ -1006,24 +1006,24 @@ void AliL3Hough::FindTrackCandidatesRow()
   fBenchmark->Start("Find Maxima");
   for(Int_t i=0; i<npatches; i++)
     {
-      AliL3HoughBaseTransformer *tr = fHoughTransformer[i];
-      AliL3Histogram *h = tr->GetHistogram(0);
-      Float_t deltax = h->GetBinWidthX()*AliL3HoughTransformerRow::GetDAlpha();
-      Float_t deltay = h->GetBinWidthY()*AliL3HoughTransformerRow::GetDAlpha();
-      Float_t deltaeta = (tr->GetEtaMax()-tr->GetEtaMin())/tr->GetNEtaSegments()*AliL3HoughTransformerRow::GetDEta();
+      AliHLTHoughBaseTransformer *tr = fHoughTransformer[i];
+      AliHLTHistogram *h = tr->GetHistogram(0);
+      Float_t deltax = h->GetBinWidthX()*AliHLTHoughTransformerRow::GetDAlpha();
+      Float_t deltay = h->GetBinWidthY()*AliHLTHoughTransformerRow::GetDAlpha();
+      Float_t deltaeta = (tr->GetEtaMax()-tr->GetEtaMin())/tr->GetNEtaSegments()*AliHLTHoughTransformerRow::GetDEta();
       Float_t zvertex = tr->GetZVertex();
       fTracks[i]->Reset();
       fPeakFinder->Reset();
       
       for(Int_t j=0; j<fNEtaSegments; j++)
        {
-         AliL3Histogram *hist = tr->GetHistogram(j);
+         AliHLTHistogram *hist = tr->GetHistogram(j);
          if(hist->GetNEntries()==0) continue;
          fPeakFinder->SetHistogram(hist);
          fPeakFinder->SetEtaSlice(j);
-         fPeakFinder->SetTrackLUTs(((AliL3HoughTransformerRow *)tr)->GetTrackNRows(),((AliL3HoughTransformerRow *)tr)->GetTrackFirstRow(),((AliL3HoughTransformerRow *)tr)->GetTrackLastRow(),((AliL3HoughTransformerRow *)tr)->GetNextRow(j));
+         fPeakFinder->SetTrackLUTs(((AliHLTHoughTransformerRow *)tr)->GetTrackNRows(),((AliHLTHoughTransformerRow *)tr)->GetTrackFirstRow(),((AliHLTHoughTransformerRow *)tr)->GetTrackLastRow(),((AliHLTHoughTransformerRow *)tr)->GetNextRow(j));
 #ifdef do_mc
-         LOG(AliL3Log::kInformational,"AliL3Hough::FindTrackCandidates()","")
+         LOG(AliHLTLog::kInformational,"AliHLTHough::FindTrackCandidates()","")
            <<"Starting "<<j<<" etaslice"<<ENDLOG;
 #endif
          fPeakFinder->SetThreshold(fPeakThreshold[i]);
@@ -1033,7 +1033,7 @@ void AliL3Hough::FindTrackCandidatesRow()
       for(Int_t k=0; k<fPeakFinder->GetEntries(); k++)
        {
          //      if(fPeakFinder->GetWeight(k) < 0) continue;
-         AliL3HoughTrack *track = (AliL3HoughTrack*)fTracks[i]->NextTrack();
+         AliHLTHoughTrack *track = (AliHLTHoughTrack*)fTracks[i]->NextTrack();
          Double_t starteta = tr->GetEta(fPeakFinder->GetStartEta(k),fCurrentSlice);
          Double_t endeta = tr->GetEta(fPeakFinder->GetEndEta(k),fCurrentSlice);
          Double_t eta = (starteta+endeta)/2.0;
@@ -1044,7 +1044,7 @@ void AliL3Hough::FindTrackCandidatesRow()
          Int_t etaindex = (fPeakFinder->GetStartEta(k)+fPeakFinder->GetEndEta(k))/2;
          track->SetEtaIndex(etaindex);
          Int_t rows[2];
-         ((AliL3HoughTransformerRow *)tr)->GetTrackLength(fPeakFinder->GetXPeak(k),fPeakFinder->GetYPeak(k),rows);
+         ((AliHLTHoughTransformerRow *)tr)->GetTrackLength(fPeakFinder->GetXPeak(k),fPeakFinder->GetYPeak(k),rows);
          track->SetRowRange(rows[0],rows[1]);
          track->SetSector(fCurrentSlice);
          track->SetSlice(fCurrentSlice);
@@ -1053,21 +1053,21 @@ void AliL3Hough::FindTrackCandidatesRow()
          track->SetMCid(label);
 #endif
        }
-      LOG(AliL3Log::kInformational,"AliL3Hough::FindTrackCandidates()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHough::FindTrackCandidates()","")
        <<"Found "<<fTracks[i]->GetNTracks()<<" tracks in slice "<<fCurrentSlice<<ENDLOG;
       fTracks[i]->QSort();
     }
   fBenchmark->Stop("Find Maxima");
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Hough::FindTrackCandidates()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTHough::FindTrackCandidates()","Timing")
     <<"Maxima finding done in "<<cpuTime*1000<<" ms"<<ENDLOG;
 }
 
-void AliL3Hough::FindTrackCandidates()
+void AliHLTHough::FindTrackCandidates()
 {
-  // Find AliL3HoughTransformer track candidates
+  // Find AliHLTHoughTransformer track candidates
   if(fVersion == 4) {
-    LOG(AliL3Log::kError,"AliL3Hough::FindTrackCandidatesRow()","")
+    LOG(AliHLTLog::kError,"AliHLTHough::FindTrackCandidatesRow()","")
       <<"Incompatible Peak Finder version!"<<ENDLOG;
     return;
   }
@@ -1083,12 +1083,12 @@ void AliL3Hough::FindTrackCandidates()
   fBenchmark->Start("Find Maxima");
   for(Int_t i=0; i<npatches; i++)
     {
-      AliL3HoughBaseTransformer *tr = fHoughTransformer[i];
+      AliHLTHoughBaseTransformer *tr = fHoughTransformer[i];
       fTracks[i]->Reset();
       
       for(Int_t j=0; j<fNEtaSegments; j++)
        {
-         AliL3Histogram *hist = tr->GetHistogram(j);
+         AliHLTHistogram *hist = tr->GetHistogram(j);
          if(hist->GetNEntries()==0) continue;
          fPeakFinder->Reset();
          fPeakFinder->SetHistogram(hist);
@@ -1100,11 +1100,11 @@ void AliL3Hough::FindTrackCandidates()
          
          for(Int_t k=0; k<fPeakFinder->GetEntries(); k++)
            {
-             AliL3HoughTrack *track = (AliL3HoughTrack*)fTracks[i]->NextTrack();
+             AliHLTHoughTrack *track = (AliHLTHoughTrack*)fTracks[i]->NextTrack();
              track->SetTrackParameters(fPeakFinder->GetXPeak(k),fPeakFinder->GetYPeak(k),fPeakFinder->GetWeight(k));
              track->SetEtaIndex(j);
              track->SetEta(tr->GetEta(j,fCurrentSlice));
-             track->SetRowRange(AliL3Transform::GetFirstRow(0),AliL3Transform::GetLastRow(5));
+             track->SetRowRange(AliHLTTransform::GetFirstRow(0),AliHLTTransform::GetLastRow(5));
            }
        }
       cout<<"Found "<<fTracks[i]->GetNTracks()<<" tracks in patch "<<i<<endl;
@@ -1112,13 +1112,13 @@ void AliL3Hough::FindTrackCandidates()
     }
   fBenchmark->Stop("Find Maxima");
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Hough::FindTrackCandidates()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTHough::FindTrackCandidates()","Timing")
     <<"Maxima finding done in "<<cpuTime*1000<<" ms"<<ENDLOG;
 }
 
-void AliL3Hough::InitEvaluate()
+void AliHLTHough::InitEvaluate()
 {
-  //Pass the transformer objects to the AliL3HoughEval objects:
+  //Pass the transformer objects to the AliHLTHoughEval objects:
   //This will provide the evaluation objects with all the necessary
   //data and parameters it needs.
   
@@ -1126,7 +1126,7 @@ void AliL3Hough::InitEvaluate()
     fEval[i]->InitTransformer(fHoughTransformer[i]);
 }
 
-Int_t AliL3Hough::Evaluate(Int_t roadwidth,Int_t nrowstomiss)
+Int_t AliHLTHough::Evaluate(Int_t roadwidth,Int_t nrowstomiss)
 {
   //Evaluate the tracks, by looking along the road in the raw data.
   //If track does not cross all padrows - rows2miss, it is removed from the arrray.
@@ -1141,20 +1141,20 @@ Int_t AliL3Hough::Evaluate(Int_t roadwidth,Int_t nrowstomiss)
   
   if(!fTracks[0])
     {
-      LOG(AliL3Log::kError,"AliL3Hough::Evaluate","Track Array")
+      LOG(AliHLTLog::kError,"AliHLTHough::Evaluate","Track Array")
        <<"No tracks to work with..."<<ENDLOG;
       return 0;
     }
   
   Int_t removedtracks=0;
-  AliL3TrackArray *tracks=0;
+  AliHLTTrackArray *tracks=0;
 
   if(fAddHistograms)
     {
       tracks = fTracks[0];
       for(Int_t i=0; i<tracks->GetNTracks(); i++)
        {
-         AliL3Track *track = tracks->GetCheckedTrack(i);
+         AliHLTTrack *track = tracks->GetCheckedTrack(i);
          if(!track) continue;
          track->SetNHits(0);
        }
@@ -1170,9 +1170,9 @@ Int_t AliL3Hough::Evaluate(Int_t roadwidth,Int_t nrowstomiss)
     {
       for(Int_t j=0; j<tracks->GetNTracks(); j++)
        {
-         AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(j);
+         AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(j);
          
-         if(track->GetNHits() < AliL3Transform::GetNRows() - nrowstomiss)
+         if(track->GetNHits() < AliHLTTransform::GetNRows() - nrowstomiss)
            {
              tracks->Remove(j);
              removedtracks++;
@@ -1185,7 +1185,7 @@ Int_t AliL3Hough::Evaluate(Int_t roadwidth,Int_t nrowstomiss)
   return removedtracks;
 }
 
-void AliL3Hough::EvaluatePatch(Int_t i,Int_t roadwidth,Int_t nrowstomiss)
+void AliHLTHough::EvaluatePatch(Int_t i,Int_t roadwidth,Int_t nrowstomiss)
 {
   //Evaluate patch i.
   
@@ -1194,7 +1194,7 @@ void AliL3Hough::EvaluatePatch(Int_t i,Int_t roadwidth,Int_t nrowstomiss)
   fEval[i]->SetNumOfRowsToMiss(nrowstomiss);
   //fEval[i]->RemoveFoundTracks();
   
-  AliL3TrackArray *tracks=0;
+  AliHLTTrackArray *tracks=0;
   
   if(!fAddHistograms)
     tracks = fTracks[i];
@@ -1204,15 +1204,15 @@ void AliL3Hough::EvaluatePatch(Int_t i,Int_t roadwidth,Int_t nrowstomiss)
   Int_t nrows=0;
   for(Int_t j=0; j<tracks->GetNTracks(); j++)
     {
-      AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(j);
+      AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(j);
       if(!track)
        {
-         LOG(AliL3Log::kWarning,"AliL3Hough::EvaluatePatch","Track array")
+         LOG(AliHLTLog::kWarning,"AliHLTHough::EvaluatePatch","Track array")
            <<"Track object missing!"<<ENDLOG;
          continue;
        } 
       nrows=0;
-      Int_t rowrange[2] = {AliL3Transform::GetFirstRow(i),AliL3Transform::GetLastRow(i)};
+      Int_t rowrange[2] = {AliHLTTransform::GetFirstRow(i),AliHLTTransform::GetLastRow(i)};
       Bool_t result = fEval[i]->LookInsideRoad(track,nrows,rowrange);
       if(fAddHistograms)
        {
@@ -1230,25 +1230,25 @@ void AliL3Hough::EvaluatePatch(Int_t i,Int_t roadwidth,Int_t nrowstomiss)
 
 }
 
-void AliL3Hough::MergeEtaSlices()
+void AliHLTHough::MergeEtaSlices()
 {
   //Merge tracks found in neighbouring eta slices.
   //Removes the track with the lower weight.
   
   fBenchmark->Start("Merge Eta-slices");
-  AliL3TrackArray *tracks = fTracks[0];
+  AliHLTTrackArray *tracks = fTracks[0];
   if(!tracks)
     {
-      cerr<<"AliL3Hough::MergeEtaSlices : No tracks "<<endl;
+      cerr<<"AliHLTHough::MergeEtaSlices : No tracks "<<endl;
       return;
     }
   for(Int_t j=0; j<tracks->GetNTracks(); j++)
     {
-      AliL3HoughTrack *track1 = (AliL3HoughTrack*)tracks->GetCheckedTrack(j);
+      AliHLTHoughTrack *track1 = (AliHLTHoughTrack*)tracks->GetCheckedTrack(j);
       if(!track1) continue;
       for(Int_t k=j+1; k<tracks->GetNTracks(); k++)
        {
-         AliL3HoughTrack *track2 = (AliL3HoughTrack*)tracks->GetCheckedTrack(k);
+         AliHLTHoughTrack *track2 = (AliHLTHoughTrack*)tracks->GetCheckedTrack(k);
          if(!track2) continue;
          if(abs(track1->GetEtaIndex() - track2->GetEtaIndex()) != 1) continue;
          if(fabs(track1->GetKappa()-track2->GetKappa()) < 0.006 && 
@@ -1266,26 +1266,26 @@ void AliL3Hough::MergeEtaSlices()
   tracks->Compress();
 }
 
-void AliL3Hough::WriteTracks(Char_t *path)
+void AliHLTHough::WriteTracks(Char_t *path)
 {
   // Write found tracks into file
-  //cout<<"AliL3Hough::WriteTracks : Sorting the tracsk"<<endl;
+  //cout<<"AliHLTHough::WriteTracks : Sorting the tracsk"<<endl;
   //fGlobalTracks->QSort();
   
   Char_t filename[1024];
   sprintf(filename,"%s/tracks_%d.raw",path,fEvent);
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   mem.SetBinaryOutput(filename);
   mem.TrackArray2Binary(fGlobalTracks);
   mem.CloseBinaryOutput();
   fGlobalTracks->Reset();
 }
 
-void AliL3Hough::WriteTracks(Int_t slice,Char_t *path)
+void AliHLTHough::WriteTracks(Int_t slice,Char_t *path)
 {
   // Write found tracks slice by slice into file
   
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   Char_t fname[100];
   if(fAddHistograms)
     {
@@ -1307,7 +1307,7 @@ void AliL3Hough::WriteTracks(Int_t slice,Char_t *path)
 }
 
 #ifdef use_aliroot
-Int_t AliL3Hough::FillESD(AliESD *esd)
+Int_t AliHLTHough::FillESD(AliESD *esd)
 {
   // Fill the found hough transform tracks
   // into the ESD. The tracks are stored as
@@ -1324,11 +1324,11 @@ Int_t AliL3Hough::FillESD(AliESD *esd)
   Int_t nglobaltracks = 0;
   for(Int_t i=0; i<fGlobalTracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *tpt = (AliL3HoughTrack *)fGlobalTracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *tpt = (AliHLTHoughTrack *)fGlobalTracks->GetCheckedTrack(i);
       if(!tpt) continue; 
       
       if(tpt->GetWeight()<0) continue;
-      AliL3HoughKalmanTrack *tpctrack = new AliL3HoughKalmanTrack(*tpt);
+      AliHLTHoughKalmanTrack *tpctrack = new AliHLTHoughKalmanTrack(*tpt);
       if(!tpctrack) continue;
       AliESDtrack *esdtrack2 = new AliESDtrack() ; 
       esdtrack2->UpdateTrackParams(tpctrack,AliESDtrack::kTPCin);
@@ -1342,23 +1342,23 @@ Int_t AliL3Hough::FillESD(AliESD *esd)
 }
 #endif
 
-void AliL3Hough::WriteDigits(Char_t *outfile)
+void AliHLTHough::WriteDigits(Char_t *outfile)
 {
   //Write the current data to a new rootfile.
 #ifdef use_aliroot  
 
   for(Int_t i=0; i<fNPatches; i++)
     {
-      AliL3DigitRowData *tempPt = (AliL3DigitRowData*)fHoughTransformer[i]->GetDataPointer();
+      AliHLTDigitRowData *tempPt = (AliHLTDigitRowData*)fHoughTransformer[i]->GetDataPointer();
       fMemHandler[i]->AliDigits2RootFile(tempPt,outfile);
     }
 #else
-  cerr<<"AliL3Hough::WriteDigits : You need to compile with AliROOT!"<<endl;
+  cerr<<"AliHLTHough::WriteDigits : You need to compile with AliROOT!"<<endl;
   return;
 #endif  
 }
 
-Double_t AliL3Hough::GetCpuTime()
+Double_t AliHLTHough::GetCpuTime()
 {
   //Return the Cputime in seconds.
  struct timeval tv;
@@ -1366,12 +1366,12 @@ Double_t AliL3Hough::GetCpuTime()
  return tv.tv_sec+(((Double_t)tv.tv_usec)/1000000.);
 }
 
-void *AliL3Hough::ProcessInThread(void *args)
+void *AliHLTHough::ProcessInThread(void *args)
 {
   // Called in case Hough transform tracking
   // is executed in a thread
 
-  AliL3Hough *instance = (AliL3Hough *)args;
+  AliHLTHough *instance = (AliHLTHough *)args;
   Int_t minslice = instance->GetMinSlice();
   Int_t maxslice = instance->GetMaxSlice();
   for(Int_t i=minslice; i<=maxslice; i++)
@@ -1385,7 +1385,7 @@ void *AliL3Hough::ProcessInThread(void *args)
   return (void *)0;
 }
 
-void AliL3Hough::StartProcessInThread(Int_t minslice,Int_t maxslice)
+void AliHLTHough::StartProcessInThread(Int_t minslice,Int_t maxslice)
 {
   // Starts the Hough transform tracking as a
   // separate thread. Takes as parameters the
@@ -1402,7 +1402,7 @@ void AliL3Hough::StartProcessInThread(Int_t minslice,Int_t maxslice)
   return;
 }
 
-Int_t AliL3Hough::WaitForThreadFinish()
+Int_t AliHLTHough::WaitForThreadFinish()
 {
   // Routine is used in case we run the
   // Hough transform tracking in several
similarity index 73%
rename from HLT/hough/AliL3Hough.h
rename to HLT/hough/AliHLTHough.h
index 67a6f600418889d8afc59fba994aadc5b34fe83c..bd360869e3dc5f535472a4791b4ee62a5a24fcc3 100644 (file)
@@ -3,19 +3,19 @@
 #ifndef ALIL3HOUGH_H
 #define ALIL3HOUGH_H
 
-#include "AliL3RootTypes.h"
-
-class AliL3HoughMaxFinder;
-class AliL3HoughBaseTransformer;
-class AliL3Histogram;
-class AliL3MemHandler;
-class AliL3FileHandler;
-class AliL3HoughEval;
-class AliL3TrackArray;
-class AliL3HoughMerger;
-class AliL3HoughIntMerger;
-class AliL3HoughGlobalMerger;
-class AliL3Benchmark;
+#include "AliHLTRootTypes.h"
+
+class AliHLTHoughMaxFinder;
+class AliHLTHoughBaseTransformer;
+class AliHLTHistogram;
+class AliHLTMemHandler;
+class AliHLTFileHandler;
+class AliHLTHoughEval;
+class AliHLTTrackArray;
+class AliHLTHoughMerger;
+class AliHLTHoughIntMerger;
+class AliHLTHoughGlobalMerger;
+class AliHLTBenchmark;
 
 #include "TThread.h"
 #ifdef use_newio
@@ -27,12 +27,12 @@ class AliL3Benchmark;
 #include <AliESDHLTtrack.h>
 #endif
 
-class AliL3Hough {
+class AliHLTHough {
  public:
   
-  AliL3Hough(); 
-  AliL3Hough(Char_t *path,Bool_t binary,Int_t netasegments=100,Bool_t bit8=kFALSE,Int_t tv=0,Char_t *infile=0,Char_t *ptr=0);
-  virtual ~AliL3Hough();
+  AliHLTHough(); 
+  AliHLTHough(Char_t *path,Bool_t binary,Int_t netasegments=100,Bool_t bit8=kFALSE,Int_t tv=0,Char_t *infile=0,Char_t *ptr=0);
+  virtual ~AliHLTHough();
 
 #ifdef use_newio  
   void SetRunLoader(AliRunLoader *runloader) {fRunLoader = runloader;}
@@ -86,13 +86,13 @@ class AliL3Hough {
   void SetPeakParameters(Int_t kspread,Float_t pratio) {fKappaSpread=kspread; fPeakRatio=pratio;}
   
   //Getters
-  AliL3HoughBaseTransformer *GetTransformer(Int_t i) {if(!fHoughTransformer[i]) return 0; return fHoughTransformer[i];}
-  AliL3TrackArray *GetTracks(Int_t i) {if(!fTracks[i]) return 0; return fTracks[i];}
-  AliL3HoughEval *GetEval(Int_t i) {if(!fEval[i]) return 0; return fEval[i];}
-  AliL3HoughMerger *GetMerger() {if(!fMerger) return 0; return fMerger;}
-  AliL3HoughIntMerger *GetInterMerger() {if(!fInterMerger) return 0; return fInterMerger;}
-  AliL3MemHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];}
-  AliL3HoughMaxFinder *GetMaxFinder() {return fPeakFinder;}
+  AliHLTHoughBaseTransformer *GetTransformer(Int_t i) {if(!fHoughTransformer[i]) return 0; return fHoughTransformer[i];}
+  AliHLTTrackArray *GetTracks(Int_t i) {if(!fTracks[i]) return 0; return fTracks[i];}
+  AliHLTHoughEval *GetEval(Int_t i) {if(!fEval[i]) return 0; return fEval[i];}
+  AliHLTHoughMerger *GetMerger() {if(!fMerger) return 0; return fMerger;}
+  AliHLTHoughIntMerger *GetInterMerger() {if(!fInterMerger) return 0; return fInterMerger;}
+  AliHLTMemHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];}
+  AliHLTHoughMaxFinder *GetMaxFinder() {return fPeakFinder;}
 
   //Special methods for executing Hough Transform as a thread
   static void *ProcessInThread(void *args);
@@ -138,16 +138,16 @@ class AliL3Hough {
   Int_t fMinSlice; // First TPC slice (sector) to process while running in a thread
   Int_t fMaxSlice; // Last TPC slice (sector) to process while running in a thread
 
-  AliL3MemHandler **fMemHandler; //!
-  AliL3HoughBaseTransformer **fHoughTransformer; //!
-  AliL3HoughEval **fEval; //!
-  AliL3HoughMaxFinder *fPeakFinder; //!
-  AliL3TrackArray **fTracks; //!
-  AliL3TrackArray *fGlobalTracks; //!
-  AliL3HoughMerger *fMerger; //!
-  AliL3HoughIntMerger *fInterMerger; //!
-  AliL3HoughGlobalMerger *fGlobalMerger; //!
-  AliL3Benchmark *fBenchmark; //!
+  AliHLTMemHandler **fMemHandler; //!
+  AliHLTHoughBaseTransformer **fHoughTransformer; //!
+  AliHLTHoughEval **fEval; //!
+  AliHLTHoughMaxFinder *fPeakFinder; //!
+  AliHLTTrackArray **fTracks; //!
+  AliHLTTrackArray *fGlobalTracks; //!
+  AliHLTHoughMerger *fMerger; //!
+  AliHLTHoughIntMerger *fInterMerger; //!
+  AliHLTHoughGlobalMerger *fGlobalMerger; //!
+  AliHLTBenchmark *fBenchmark; //!
 
 #ifdef use_newio
   AliRunLoader *fRunLoader; // Run Loader
@@ -158,9 +158,11 @@ class AliL3Hough {
 
   TThread *fThread; // Pointer to the TThread object in case of running in a thread
 
-  ClassDef(AliL3Hough,1) //Hough transform base class
+  ClassDef(AliHLTHough,1) //Hough transform base class
 };
 
+typedef AliHLTHough AliL3Hough; // for backward comaptibility
+
 #endif
 
 
similarity index 62%
rename from HLT/hough/AliL3HoughBaseTransformer.cxx
rename to HLT/hough/AliHLTHoughBaseTransformer.cxx
index 9b9aff2d2f7b9a6b2c28f6c0d719c753fdf97dbb..1d835e4976fdd9a9bafe60c8608319297062e849 100644 (file)
@@ -3,20 +3,20 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 //-------------------------------------------------------------------------
-//          Implementation of the AliL3HoughBaseTransformer class
-//  that is the base class for AliL3HoughTransformer,
-//  AliL3HoughTransformerVhdl, AliL3HoughTransformerGlobal,
-//  AliL3HoughTransformerRow    
+//          Implementation of the AliHLTHoughBaseTransformer class
+//  that is the base class for AliHLTHoughTransformer,
+//  AliHLTHoughTransformerVhdl, AliHLTHoughTransformerGlobal,
+//  AliHLTHoughTransformerRow    
 //-------------------------------------------------------------------------
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3HoughBaseTransformer.h"
+#include "AliHLTHoughBaseTransformer.h"
 
-/** \class AliL3HoughBaseTransformer
+/** \class AliHLTHoughBaseTransformer
 <pre>
 //_____________________________________________________________
-// AliL3HoughBaseTransformer
+// AliHLTHoughBaseTransformer
 //
 // The base class for implementations of Hough Transform on ALICE TPC data.
 //
@@ -26,9 +26,9 @@
 </pre>
 */
 
-ClassImp(AliL3HoughBaseTransformer)
+ClassImp(AliHLTHoughBaseTransformer)
 
-AliL3HoughBaseTransformer::AliL3HoughBaseTransformer()
+AliHLTHoughBaseTransformer::AliHLTHoughBaseTransformer()
 {
   //Default constructor
   fDigitRowData = 0;
@@ -45,7 +45,7 @@ AliL3HoughBaseTransformer::AliL3HoughBaseTransformer()
   fZVertex = 0.0;
 }
 
-AliL3HoughBaseTransformer::AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t netasegments,Float_t zvertex)
+AliHLTHoughBaseTransformer::AliHLTHoughBaseTransformer(Int_t slice,Int_t patch,Int_t netasegments,Float_t zvertex)
 {
   //normal ctor
   fDigitRowData = 0;
@@ -63,12 +63,12 @@ AliL3HoughBaseTransformer::AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int
   Init(slice,patch,netasegments);
 }
 
-AliL3HoughBaseTransformer::~AliL3HoughBaseTransformer()
+AliHLTHoughBaseTransformer::~AliHLTHoughBaseTransformer()
 {
   //dtor
 }
 
-void AliL3HoughBaseTransformer::Init(Int_t slice,Int_t patch,Int_t netasegments,Int_t /*n_seqs*/)
+void AliHLTHoughBaseTransformer::Init(Int_t slice,Int_t patch,Int_t netasegments,Int_t /*n_seqs*/)
 {
   //Transformer init
   fSlice = slice;
similarity index 76%
rename from HLT/hough/AliL3HoughBaseTransformer.h
rename to HLT/hough/AliHLTHoughBaseTransformer.h
index 4437611b55b76bce80d479681afd3fe59b79390e..923ff48a28dff6d31adc2afed7e9dc8956a60719 100644 (file)
@@ -4,37 +4,37 @@
 #define ALIL3HOUGHBASETRANSFORMER_H
 
 //-------------------------------------------------------------------------
-//                Class AliL3HoughBaseTransformer
+//                Class AliHLTHoughBaseTransformer
 //   This is the base class for all the Hough Transformer tracking
 //   algorithms for HLT. 
 //-------------------------------------------------------------------------
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 #ifdef do_mc
 const UInt_t MaxTrack=120;
-struct AliL3TrackIndex {
+struct AliHLTTrackIndex {
   Int_t fLabel[MaxTrack];//MC label
   UChar_t fNHits[MaxTrack];//Number of different mc labels
   UChar_t fCurrentRow[MaxTrack];//Index of the current row while filling Hough space
 };
-typedef struct AliL3TrackIndex AliL3TrackIndex;
+typedef struct AliHLTTrackIndex AliHLTTrackIndex;
 #endif
 
-class AliL3DigitRowData;
-class AliL3Histogram;
+class AliHLTDigitRowData;
+class AliHLTHistogram;
 
 #include "AliTPCRawStream.h"
 
-class AliL3HoughBaseTransformer {
+class AliHLTHoughBaseTransformer {
 
  public:
 
-  AliL3HoughBaseTransformer(); 
-  AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t netasegments,Float_t zvertex=0.0);
-  virtual ~AliL3HoughBaseTransformer();
+  AliHLTHoughBaseTransformer(); 
+  AliHLTHoughBaseTransformer(Int_t slice,Int_t patch,Int_t netasegments,Float_t zvertex=0.0);
+  virtual ~AliHLTHoughBaseTransformer();
   
-  void SetInputData(UInt_t /*ndigits*/,AliL3DigitRowData *ptr) {fDigitRowData = ptr;}
+  void SetInputData(UInt_t /*ndigits*/,AliHLTDigitRowData *ptr) {fDigitRowData = ptr;}
   
   //this is for adaptave histograms
   virtual void CreateHistograms(Float_t /*ptmin*/,Float_t /*ptmax*/,Float_t /*pres*/,Int_t /*nybin*/,Float_t /*psi*/)
@@ -59,7 +59,7 @@ class AliL3HoughBaseTransformer {
   Int_t GetSlice() const {return fSlice;}
   Int_t GetPatch() const {return fPatch;}
   Int_t GetLastPatch() const {return fLastPatch;}
-  AliL3HoughBaseTransformer *GetLastTransfromer() const {return fLastTransformer;}
+  AliHLTHoughBaseTransformer *GetLastTransfromer() const {return fLastTransformer;}
   Int_t GetNEtaSegments() const {return fNEtaSegments;}
   Int_t GetLowerThreshold() const {return fLowerThreshold;}
   Int_t GetUpperThreshold() const {return fUpperThreshold;}
@@ -67,12 +67,12 @@ class AliL3HoughBaseTransformer {
   Double_t GetEtaMax() const {return fEtaMax;}
   Float_t GetZVertex() const {return fZVertex;}
 
-  AliL3DigitRowData *GetDataPointer() {return fDigitRowData;}
+  AliHLTDigitRowData *GetDataPointer() {return fDigitRowData;}
  
   virtual Int_t GetEtaIndex(Double_t eta) const = 0;
   virtual void GetEtaIndexes(Double_t /*eta*/,Int_t */*indexes*/) const
     {STDCERR<<"GetEtaIndexes not implemented for this Transformer class"<<STDENDL;}
-  virtual AliL3Histogram *GetHistogram(Int_t etaindex) = 0;
+  virtual AliHLTHistogram *GetHistogram(Int_t etaindex) = 0;
   virtual Double_t GetEta(Int_t etaindex,Int_t slice) const = 0;
 
   virtual Int_t GetTrackID(Int_t /*etaindex*/,Double_t /*kappa*/,Double_t /*psi*/) const {
@@ -85,7 +85,7 @@ class AliL3HoughBaseTransformer {
   void SetLowerThreshold(Int_t i) {fLowerThreshold = i;}
   void SetUpperThreshold(Int_t i) {fUpperThreshold = i;}
   void SetLastPatch(Int_t i) {fLastPatch = i;}
-  void SetLastTransformer(AliL3HoughBaseTransformer *transformer) {fLastTransformer = transformer;}
+  void SetLastTransformer(AliHLTHoughBaseTransformer *transformer) {fLastTransformer = transformer;}
 
   virtual void SetTPCRawStream(AliTPCRawStream */*rawstream*/){};
 
@@ -93,7 +93,7 @@ class AliL3HoughBaseTransformer {
 
  protected:
 
-  AliL3HoughBaseTransformer *fLastTransformer;//Pointer to the previous hough transformer
+  AliHLTHoughBaseTransformer *fLastTransformer;//Pointer to the previous hough transformer
   
  private:
 
@@ -106,14 +106,15 @@ class AliL3HoughBaseTransformer {
   Int_t fLowerThreshold;//Lower threshold for digits amplitude 
   Int_t fUpperThreshold;//Upper threshold for digits amplitude
   
-  AliL3DigitRowData *fDigitRowData; //!
+  AliHLTDigitRowData *fDigitRowData; //!
 
   Float_t fZVertex;//Z position of the primary vertex
 
-  ClassDef(AliL3HoughBaseTransformer,1) //Hough transformation base class
+  ClassDef(AliHLTHoughBaseTransformer,1) //Hough transformation base class
 
 };
 
+typedef AliHLTHoughBaseTransformer AliL3HoughBaseTransformer; // for backward comapatibility 
 
 #endif
 
similarity index 65%
rename from HLT/hough/AliL3HoughClusterTransformer.cxx
rename to HLT/hough/AliHLTHoughClusterTransformer.cxx
index e90fa2f0b4f1dafc65a7919494ed3dd63ca115e0..4687baeada44dd245e3f49deaf77ae2130b7e801 100644 (file)
@@ -3,23 +3,23 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3HoughClusterTransformer.h"
-#include "AliL3MemHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3Histogram.h"
-#include "AliL3ClustFinderNew.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughClusterTransformer.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTClustFinderNew.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughClusterTransformer
+// AliHLTHoughClusterTransformer
 //
 // Hough transformation class. 
 //
@@ -27,9 +27,9 @@ using namespace std;
 // Therefore, it first finds the clusters using the HLT cluster finder, and
 // then uses these as input for the transform.
 
-ClassImp(AliL3HoughClusterTransformer)
+ClassImp(AliHLTHoughClusterTransformer)
 
-AliL3HoughClusterTransformer::AliL3HoughClusterTransformer()
+AliHLTHoughClusterTransformer::AliHLTHoughClusterTransformer()
 {
   //Default constructor
   fParamSpace = 0;
@@ -41,7 +41,7 @@ AliL3HoughClusterTransformer::AliL3HoughClusterTransformer()
 #endif
 }
 
-AliL3HoughClusterTransformer::AliL3HoughClusterTransformer(Int_t slice,Int_t patch,Int_t netasegments) : AliL3HoughBaseTransformer(slice,patch,netasegments)
+AliHLTHoughClusterTransformer::AliHLTHoughClusterTransformer(Int_t slice,Int_t patch,Int_t netasegments) : AliHLTHoughBaseTransformer(slice,patch,netasegments)
 {
   //Normal constructor
   fParamSpace = 0;
@@ -53,7 +53,7 @@ AliL3HoughClusterTransformer::AliL3HoughClusterTransformer(Int_t slice,Int_t pat
 #endif
 }
 
-AliL3HoughClusterTransformer::~AliL3HoughClusterTransformer()
+AliHLTHoughClusterTransformer::~AliHLTHoughClusterTransformer()
 {
   //dtor
   DeleteHistograms();
@@ -72,9 +72,9 @@ AliL3HoughClusterTransformer::~AliL3HoughClusterTransformer()
 #endif
 }
 
-//void AliL3HoughClusterTransformer::Init(Int_t slice=0,Int_t patch=0,Int_t netasegments=100){}
+//void AliHLTHoughClusterTransformer::Init(Int_t slice=0,Int_t patch=0,Int_t netasegments=100){}
 
-void AliL3HoughClusterTransformer::DeleteHistograms()
+void AliHLTHoughClusterTransformer::DeleteHistograms()
 {
   //Delete hough space histograms
   if(fParamSpace)
@@ -88,7 +88,7 @@ void AliL3HoughClusterTransformer::DeleteHistograms()
     }
 }
 
-void AliL3HoughClusterTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
+void AliHLTHoughClusterTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
                                             Int_t nybin,Float_t phimin,Float_t phimax)
 {
   //Create the histograms (parameter space).
@@ -100,40 +100,40 @@ void AliL3HoughClusterTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
   //phimin = mimimum phi0 (degrees)
   //phimax = maximum phi0 (degrees)
     
-  Double_t x = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/ptmin;
-  Double_t torad = AliL3Transform::Pi()/180;
+  Double_t x = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/ptmin;
+  Double_t torad = AliHLTTransform::Pi()/180;
   CreateHistograms(nxbin,-1.*x,x,nybin,phimin*torad,phimax*torad);
 }
 
-void AliL3HoughClusterTransformer::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
+void AliHLTHoughClusterTransformer::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
                                                    Int_t nybin,Float_t ymin,Float_t ymax)
 {
   //Create histograms which contain hough space
   Char_t histname[256];
   
-  fParamSpace = new AliL3Histogram*[GetNEtaSegments()];
+  fParamSpace = new AliHLTHistogram*[GetNEtaSegments()];
   for(Int_t i=0; i<GetNEtaSegments(); i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      fParamSpace[i] = new AliL3Histogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
+      fParamSpace[i] = new AliHLTHistogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
     }
 #ifdef do_mc
   Int_t ncells = (nxbin+2)*(nybin+2);
-  cout<<"Allocating "<<GetNEtaSegments()*ncells*sizeof(AliL3TrackIndex)<<" bytes to fTrackID"<<endl;
-  fTrackID = new AliL3TrackIndex*[GetNEtaSegments()];
+  cout<<"Allocating "<<GetNEtaSegments()*ncells*sizeof(AliHLTTrackIndex)<<" bytes to fTrackID"<<endl;
+  fTrackID = new AliHLTTrackIndex*[GetNEtaSegments()];
   for(Int_t i=0; i<GetNEtaSegments(); i++)
-    fTrackID[i] = new AliL3TrackIndex[ncells];
+    fTrackID[i] = new AliHLTTrackIndex[ncells];
 #endif
   
 }
 
-void AliL3HoughClusterTransformer::Reset()
+void AliHLTHoughClusterTransformer::Reset()
 {
   //Reset all the histograms
 
   if(!fParamSpace)
     {
-      LOG(AliL3Log::kWarning,"AliL3HoughClusterTransformer::Reset","Histograms")
+      LOG(AliHLTLog::kWarning,"AliHLTHoughClusterTransformer::Reset","Histograms")
        <<"No histograms to reset"<<ENDLOG;
       return;
     }
@@ -146,14 +146,14 @@ void AliL3HoughClusterTransformer::Reset()
   fNClusters=0;
   fClusters=0;
 #ifdef do_mc
-  AliL3Histogram *hist = fParamSpace[0];
+  AliHLTHistogram *hist = fParamSpace[0];
   Int_t ncells = (hist->GetNbinsX()+2)*(hist->GetNbinsY()+2);
   for(Int_t i=0; i<GetNEtaSegments(); i++)
-    memset(fTrackID[i],0,ncells*sizeof(AliL3TrackIndex));
+    memset(fTrackID[i],0,ncells*sizeof(AliHLTTrackIndex));
 #endif
 }
 
-Int_t AliL3HoughClusterTransformer::GetEtaIndex(Double_t eta) const
+Int_t AliHLTHoughClusterTransformer::GetEtaIndex(Double_t eta) const
 {
   //Return the histogram index of the corresponding eta. 
   
@@ -162,7 +162,7 @@ Int_t AliL3HoughClusterTransformer::GetEtaIndex(Double_t eta) const
   return (Int_t)index;
 }
 
-inline AliL3Histogram *AliL3HoughClusterTransformer::GetHistogram(Int_t etaindex)
+inline AliHLTHistogram *AliHLTHoughClusterTransformer::GetHistogram(Int_t etaindex)
 {
   //Returns the histogram which correspond to a given eta slice
   if(!fParamSpace || etaindex >= GetNEtaSegments() || etaindex < 0)
@@ -172,7 +172,7 @@ inline AliL3Histogram *AliL3HoughClusterTransformer::GetHistogram(Int_t etaindex
   return fParamSpace[etaindex];
 }
 
-Double_t AliL3HoughClusterTransformer::GetEta(Int_t etaindex,Int_t slice) const
+Double_t AliHLTHoughClusterTransformer::GetEta(Int_t etaindex,Int_t slice) const
 {
   //Returns eta associated with given eta slice
   Double_t etaslice = (GetEtaMax()-GetEtaMin())/GetNEtaSegments();
@@ -181,22 +181,22 @@ Double_t AliL3HoughClusterTransformer::GetEta(Int_t etaindex,Int_t slice) const
   return eta;
 }
 
-void AliL3HoughClusterTransformer::FindClusters()
+void AliHLTHoughClusterTransformer::FindClusters()
 {
   //Find the clusters
   if(!GetDataPointer())
     {
-      cerr<<"AliL3HoughClusterTransformer::FindClusters : Zero data pointer"<<endl;
+      cerr<<"AliHLTHoughClusterTransformer::FindClusters : Zero data pointer"<<endl;
       return;
     }
 
   const Int_t kMaxpoints=100000;
-  const Int_t kPointsize = kMaxpoints * sizeof(AliL3SpacePointData);
+  const Int_t kPointsize = kMaxpoints * sizeof(AliHLTSpacePointData);
 
-  fMemHandler = new AliL3MemHandler();
-  fClusters = (AliL3SpacePointData*)fMemHandler->Allocate(kPointsize);
-  AliL3ClustFinderNew *cf = new AliL3ClustFinderNew();
-  cf->InitSlice(0,GetPatch(),AliL3Transform::GetFirstRow(GetPatch()),AliL3Transform::GetLastRow(GetPatch()),kMaxpoints);
+  fMemHandler = new AliHLTMemHandler();
+  fClusters = (AliHLTSpacePointData*)fMemHandler->Allocate(kPointsize);
+  AliHLTClustFinderNew *cf = new AliHLTClustFinderNew();
+  cf->InitSlice(0,GetPatch(),AliHLTTransform::GetFirstRow(GetPatch()),AliHLTTransform::GetLastRow(GetPatch()),kMaxpoints);
   cf->SetDeconv(kFALSE);
   cf->SetOutputArray(fClusters);
   cf->Read(1,GetDataPointer());
@@ -205,7 +205,7 @@ void AliL3HoughClusterTransformer::FindClusters()
   delete cf;
 }
 
-void AliL3HoughClusterTransformer::TransformCircle()
+void AliHLTHoughClusterTransformer::TransformCircle()
 {
   //Transform the input data with a circle HT.
   //The function loops over all the data, and transforms each cluster with the equations:
@@ -221,7 +221,7 @@ void AliL3HoughClusterTransformer::TransformCircle()
   FindClusters();
   if(!fClusters)
     {
-      LOG(AliL3Log::kError,"AliL3HoughClusterTransformer::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughClusterTransformer::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
@@ -232,16 +232,16 @@ void AliL3HoughClusterTransformer::TransformCircle()
       xyz[0] = fClusters[i].fX;
       xyz[1] = fClusters[i].fY;
       xyz[2] = fClusters[i].fZ;
-      Double_t eta = AliL3Transform::GetEta(xyz);
+      Double_t eta = AliHLTTransform::GetEta(xyz);
       Int_t etaindex = GetEtaIndex(eta);
       if(etaindex < 0 || etaindex >= GetNEtaSegments())
        continue;
       
-      AliL3Histogram *hist = fParamSpace[etaindex];
+      AliHLTHistogram *hist = fParamSpace[etaindex];
       
       //Do the transformation:
       Double_t r = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]); 
-      Double_t phi = AliL3Transform::GetPhi(xyz);
+      Double_t phi = AliHLTTransform::GetPhi(xyz);
       
       //Fill the histogram along the phirange
       for(Int_t b=hist->GetFirstYbin(); b<=hist->GetLastYbin(); b++)
@@ -259,7 +259,7 @@ void AliL3HoughClusterTransformer::TransformCircle()
              for(c=0; c<MaxTrack; c++)
                if(fTrackID[etaindex][bin].fLabel[c] == label || fTrackID[etaindex][bin].fNHits[c] == 0)
                  break;
-             if(c == MaxTrack-1) cerr<<"AliL3HoughClusterTransformer::TransformCircle : Array reached maximum!! "<<c<<endl;
+             if(c == MaxTrack-1) cerr<<"AliHLTHoughClusterTransformer::TransformCircle : Array reached maximum!! "<<c<<endl;
              fTrackID[etaindex][bin].fLabel[c] = label;
              fTrackID[etaindex][bin].fNHits[c]++;
            }
@@ -268,14 +268,14 @@ void AliL3HoughClusterTransformer::TransformCircle()
     }
 }
 
-void AliL3HoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /*every*/)
+void AliHLTHoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /*every*/)
 {
   //Circle transform, using combinations of every 2 points lying
   //on different padrows and within the same etaslice.
   
   FindClusters();
   if(!fClusters)
-    LOG(AliL3Log::kError,"AliL3HoughClusterTransformer::TransformCircleC","Data")
+    LOG(AliHLTLog::kError,"AliHLTHoughClusterTransformer::TransformCircleC","Data")
       <<"No input data "<<ENDLOG;
   
   Float_t xyz[3];
@@ -288,7 +288,7 @@ void AliL3HoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /
       xyz[2] = fClusters[i].fZ;
       r1 = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
       phi1 = atan2(xyz[1],xyz[0]);
-      eta = AliL3Transform::GetEta(xyz);
+      eta = AliHLTTransform::GetEta(xyz);
       index1 = GetEtaIndex(eta);
       if(index1 < 0 || index1 >= GetNEtaSegments()) continue;
       
@@ -298,11 +298,11 @@ void AliL3HoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /
          xyz[0] = fClusters[j].fX;
          xyz[1] = fClusters[j].fY;
          xyz[2] = fClusters[j].fZ;
-         eta = AliL3Transform::GetEta(xyz);
+         eta = AliHLTTransform::GetEta(xyz);
          index2 = GetEtaIndex(eta);
          if(index1 != index2) continue;
          
-         AliL3Histogram *hist = fParamSpace[index1];
+         AliHLTHistogram *hist = fParamSpace[index1];
          
          r2 = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
          phi2 = atan2(xyz[1],xyz[0]);
@@ -324,7 +324,7 @@ void AliL3HoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /
                      for(c=0; c<MaxTrack; c++)
                        if(fTrackID[index1][bin].fLabel[c] == label || fTrackID[index1][bin].fNHits[c] == 0)
                          break;
-                     if(c == MaxTrack-1) cerr<<"AliL3HoughClusterTransformer::TransformCircleC : Array reached maximum!! "<<c<<endl;
+                     if(c == MaxTrack-1) cerr<<"AliHLTHoughClusterTransformer::TransformCircleC : Array reached maximum!! "<<c<<endl;
                      fTrackID[index1][bin].fLabel[c] = label;
                      fTrackID[index1][bin].fNHits[c]++;
                    }
@@ -337,15 +337,15 @@ void AliL3HoughClusterTransformer::TransformCircleC(Int_t */*row_range*/,Int_t /
 
 
 #ifdef do_mc
-Int_t AliL3HoughClusterTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const
+Int_t AliHLTHoughClusterTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const
 {
   //Returns the mc label for a given bin in the hough space
   if(etaindex < 0 || etaindex > GetNEtaSegments())
     {
-      cerr<<"AliL3HoughClusterTransformer::GetTrackID : Wrong etaindex "<<etaindex<<endl;
+      cerr<<"AliHLTHoughClusterTransformer::GetTrackID : Wrong etaindex "<<etaindex<<endl;
       return -1;
     }
-  AliL3Histogram *hist = fParamSpace[etaindex];
+  AliHLTHistogram *hist = fParamSpace[etaindex];
   Int_t bin = hist->FindBin(kappa,psi);
   Int_t label=-1;
   Int_t max=0;
@@ -361,10 +361,10 @@ Int_t AliL3HoughClusterTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Dou
     }
   return label;
 #else
-  Int_t AliL3HoughClusterTransformer::GetTrackID(Int_t /*etaindex*/,Double_t /*kappa*/,Double_t /*psi*/) const
+  Int_t AliHLTHoughClusterTransformer::GetTrackID(Int_t /*etaindex*/,Double_t /*kappa*/,Double_t /*psi*/) const
 {
   // Does nothing if do_mc undefinde
-  cout<<"AliL3HoughClusterTransformer::GetTrackID : Compile with do_mc flag!"<<endl;
+  cout<<"AliHLTHoughClusterTransformer::GetTrackID : Compile with do_mc flag!"<<endl;
   return -1;
 #endif
 }
similarity index 51%
rename from HLT/hough/AliL3HoughClusterTransformer.h
rename to HLT/hough/AliHLTHoughClusterTransformer.h
index 1d12cbbd596db036c75fc921c85cb6e1c809f8e8..e31961f872c61fb4d9d2cec94029d80d900c1aab 100644 (file)
@@ -3,23 +3,23 @@
 #ifndef ALIL3HOUGHCLUSTERTRANSFORMER_H
 #define ALIL3HOUGHCLUSTERTRANSFORMER_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughBaseTransformer.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughBaseTransformer.h"
 
 
-class AliL3Histogram;
-class AliL3SpacePointData;
-class AliL3MemHandler;
+class AliHLTHistogram;
+class AliHLTSpacePointData;
+class AliHLTMemHandler;
 
-class AliL3HoughClusterTransformer : public AliL3HoughBaseTransformer {
+class AliHLTHoughClusterTransformer : public AliHLTHoughBaseTransformer {
   
  public:
-  AliL3HoughClusterTransformer(); 
-  AliL3HoughClusterTransformer(Int_t slice,Int_t patch,Int_t netasegments);
-  virtual ~AliL3HoughClusterTransformer();
+  AliHLTHoughClusterTransformer(); 
+  AliHLTHoughClusterTransformer(Int_t slice,Int_t patch,Int_t netasegments);
+  virtual ~AliHLTHoughClusterTransformer();
   
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
-    AliL3HoughBaseTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
+    AliHLTHoughBaseTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
   }
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
@@ -28,31 +28,33 @@ class AliL3HoughClusterTransformer : public AliL3HoughBaseTransformer {
   void Reset();
   void TransformCircle();
   void TransformCircle(Int_t *row_range,Int_t every) {
-    AliL3HoughBaseTransformer::TransformCircle(row_range,every);
+    AliHLTHoughBaseTransformer::TransformCircle(row_range,every);
   }
   void TransformCircleC(Int_t *rowrange,Int_t every);
   void TransformLine(Int_t */*rowrange*/=0,Float_t */*phirange*/=0){};
   
   Int_t GetEtaIndex(Double_t eta) const;
-  AliL3Histogram *GetHistogram(Int_t etaindex);
+  AliHLTHistogram *GetHistogram(Int_t etaindex);
   Double_t GetEta(Int_t etaindex,Int_t slice) const;
   Int_t GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const;
   
  private:
 
-  AliL3Histogram **fParamSpace;   //!
-  AliL3MemHandler *fMemHandler;   //!
-  AliL3SpacePointData *fClusters; //!
+  AliHLTHistogram **fParamSpace;   //!
+  AliHLTMemHandler *fMemHandler;   //!
+  AliHLTSpacePointData *fClusters; //!
   Int_t fNClusters;//Number of clusters
 #ifdef do_mc
-  AliL3TrackIndex **fTrackID; //!
+  AliHLTTrackIndex **fTrackID; //!
 #endif
   void DeleteHistograms();
 
-  ClassDef(AliL3HoughClusterTransformer,1) //Normal Hough transformation class
+  ClassDef(AliHLTHoughClusterTransformer,1) //Normal Hough transformation class
 
 };
 
+typedef AliHLTHoughClusterTransformer AliL3HoughClusterTransformer; // for backward comapatibility
+
 #endif
 
 
similarity index 63%
rename from HLT/hough/AliL3HoughDisplay.cxx
rename to HLT/hough/AliHLTHoughDisplay.cxx
index 4b76fca8e80ad1247acc83eee59bb0fc2a7c5a25..52d595a031089f2b51c44ddea48123f8e0675b1a 100644 (file)
 #include <TShape.h>
 #include <TFile.h>
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3DigitData.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3TrackArray.h"
-#include "AliL3MemHandler.h"
-#include "AliL3HoughDisplay.h"
-#include "AliL3DigitData.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTHoughDisplay.h"
+#include "AliHLTDigitData.h"
 
 #if __GNUC__ >= 3
 using namespace std;
@@ -31,10 +31,10 @@ using namespace std;
 //_____________________________________________________________
 // Display class for Hough transform code
 
-ClassImp(AliL3HoughDisplay)
+ClassImp(AliHLTHoughDisplay)
 
 
-AliL3HoughDisplay::AliL3HoughDisplay()
+AliHLTHoughDisplay::AliHLTHoughDisplay()
 {
   //default ctor
   fTracks = 0;
@@ -44,40 +44,40 @@ AliL3HoughDisplay::AliL3HoughDisplay()
   fPatch = -1;
 }
 
-AliL3HoughDisplay::~AliL3HoughDisplay()
+AliHLTHoughDisplay::~AliHLTHoughDisplay()
 {
   //dtor
   if(fTracks)
     delete fTracks;
 }
 
-void AliL3HoughDisplay::Init(Char_t *trackfile, Char_t *gfile)
+void AliHLTHoughDisplay::Init(Char_t *trackfile, Char_t *gfile)
 {
   //Init hough display
   TFile *file = TFile::Open(gfile);
   if(!file->IsOpen())
-    cerr<<"AliL3HoughDisplay::AliL3HoughDisplay : Geometry file " << gfile << " does not exist"<<endl;
+    cerr<<"AliHLTHoughDisplay::AliHLTHoughDisplay : Geometry file " << gfile << " does not exist"<<endl;
   fGeom = (TGeometry*)file->Get("AliceGeom");
   file->Close();
   
-  fTracks = new AliL3TrackArray();
-  AliL3MemHandler *tfile = new AliL3MemHandler();
+  fTracks = new AliHLTTrackArray();
+  AliHLTMemHandler *tfile = new AliHLTMemHandler();
   tfile->SetBinaryInput(trackfile);
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   delete tfile;
 }
 
-void AliL3HoughDisplay::GenerateHits(AliL3Track *track,Float_t *x,Float_t *y,Float_t *z,Int_t &n)
+void AliHLTHoughDisplay::GenerateHits(AliHLTTrack *track,Float_t *x,Float_t *y,Float_t *z,Int_t &n)
 {
   //Generate hits according to the track parameters
   n=0;
   Float_t xyz[3];
-  for(Int_t i=AliL3Transform::GetFirstRow(0); i<AliL3Transform::GetLastRow(5); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(0); i<AliHLTTransform::GetLastRow(5); i++)
     {
       if(track->GetCrossingPoint(i,xyz))
        {
-         AliL3Transform::Local2Global(xyz,0);
+         AliHLTTransform::Local2Global(xyz,0);
          x[n] = xyz[0];
          y[n] = xyz[1];
          z[n] = xyz[2];
@@ -88,22 +88,22 @@ void AliL3HoughDisplay::GenerateHits(AliL3Track *track,Float_t *x,Float_t *y,Flo
     }
 }
 
-TPolyMarker3D *AliL3HoughDisplay::LoadDigits()
+TPolyMarker3D *AliHLTHoughDisplay::LoadDigits()
 {
   //Load digits  
-  AliL3DigitRowData *tempPt = fDigitRowData;
+  AliHLTDigitRowData *tempPt = fDigitRowData;
   if(!tempPt)
     {
-      cerr<<"AliL3HoughDisplay::LoadDigits : No data"<<endl;
+      cerr<<"AliHLTHoughDisplay::LoadDigits : No data"<<endl;
       return 0;
     }
   
-  UInt_t nrows = AliL3Transform::GetNRows(fPatch);
+  UInt_t nrows = AliHLTTransform::GetNRows(fPatch);
   Int_t count=0;
   for(UInt_t i=0; i<nrows; i++)
     {
       count += tempPt->fNDigit;
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   tempPt = fDigitRowData;
   TPolyMarker3D *pm = new TPolyMarker3D(count);
@@ -112,29 +112,29 @@ TPolyMarker3D *AliL3HoughDisplay::LoadDigits()
   count=0;
   for(UInt_t i=0; i<nrows; i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       Int_t padrow = (Int_t)tempPt->fRow;
       for(UInt_t j=0; j<tempPt->fNDigit; j++)
        {
-         AliL3Transform::Slice2Sector(fShowSlice,padrow,sector,row);
-         AliL3Transform::Raw2Global(xyz,sector,row,(Int_t)digPt->fPad,(Int_t)digPt->fTime);
+         AliHLTTransform::Slice2Sector(fShowSlice,padrow,sector,row);
+         AliHLTTransform::Raw2Global(xyz,sector,row,(Int_t)digPt->fPad,(Int_t)digPt->fTime);
          pm->SetPoint(count,xyz[0],xyz[1],xyz[2]);
          count++;
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
 
   cout<<"Displaying "<<count<<" digits"<<endl;
   return pm;
 }
 
-void AliL3HoughDisplay::DisplayEvent()
+void AliHLTHoughDisplay::DisplayEvent()
 {
   //Display the found tracks.
   
   if(!fTracks)
     {
-      cerr<<"AliL3HoughDisplay::DisplayTracks() : No tracks"<<endl;
+      cerr<<"AliHLTHoughDisplay::DisplayTracks() : No tracks"<<endl;
       return;
     }
   
@@ -156,7 +156,7 @@ void AliL3HoughDisplay::DisplayEvent()
   Float_t x[176],y[176],z[176];
   for(Int_t j=0; j<ntracks; j++)
     {
-      AliL3Track *track = fTracks->GetCheckedTrack(j); 
+      AliHLTTrack *track = fTracks->GetCheckedTrack(j); 
       if(!track) continue;        
       track->CalculateHelix();
       GenerateHits(track,x,y,z,n);
diff --git a/HLT/hough/AliHLTHoughDisplay.h b/HLT/hough/AliHLTHoughDisplay.h
new file mode 100644 (file)
index 0000000..7074866
--- /dev/null
@@ -0,0 +1,48 @@
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHDISPLAY_H
+#define ALIL3HOUGHDISPLAY_H
+
+class TGeometry;
+class AliHLTTrackArray;
+class AliHLTDigitRowData;
+class TPolyMarker3D;
+class AliHLTTrack;
+
+class AliHLTHoughDisplay {
+
+ public:
+  AliHLTHoughDisplay();
+  virtual ~AliHLTHoughDisplay();
+  
+  void Init(Char_t *trackfile, Char_t *gfile="$(LEVEL3)/GEO/alice.geom");
+  void DisplayEvent();
+  void ShowData(AliHLTDigitRowData *data,UInt_t size,Int_t slice,Int_t patch);
+
+ private:
+  
+  TGeometry *fGeom; //!
+  AliHLTTrackArray *fTracks; //!
+  AliHLTDigitRowData *fDigitRowData;  //!
+  UInt_t fNDigitRowData; //!
+  Int_t fShowSlice; //Which slice to show
+  Int_t fPatch;//Which patch to show
+  
+  void GenerateHits(AliHLTTrack *track,Float_t *x,Float_t *y,Float_t *z,Int_t &n);
+  
+  TPolyMarker3D *LoadDigits();
+
+  ClassDef(AliHLTHoughDisplay,1) 
+};
+
+typedef AliHLTHoughDisplay AliL3HoughDisplay; // for backward comaptibility
+
+inline void AliHLTHoughDisplay::ShowData(AliHLTDigitRowData *data,UInt_t size,Int_t slice,Int_t patch)
+{
+  fShowSlice = slice;
+  fPatch = patch;
+  fDigitRowData = data;
+  fNDigitRowData = size;
+}
+
+#endif
similarity index 67%
rename from HLT/hough/AliL3HoughEval.cxx
rename to HLT/hough/AliHLTHoughEval.cxx
index cfb807c7c228bf539384822a6879abed41a40a5b..b00969470e0d52991f13a190fe3e5c5550f25246 100644 (file)
@@ -3,41 +3,41 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #ifdef use_root
 #include <TH1.h>
 #include <TFile.h>
 #endif
 
-#include "AliL3Logging.h"
-#include "AliL3HoughEval.h"
-#include "AliL3MemHandler.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughBaseTransformer.h"
-#include "AliL3DigitData.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3Histogram.h"
-#include "AliL3Histogram1D.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughEval.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughBaseTransformer.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTHistogram1D.h"
 
 #if __GNUC__ == 3
 using namespace std;
 #endif
 
-/** /class AliL3HoughEval
+/** /class AliHLTHoughEval
 //<pre>
 //_____________________________________________________________
-// AliL3HoughEval
+// AliHLTHoughEval
 //
 // Evaluation class for tracklets produced by the Hough transform.
 //
 </pre>
 */
 
-ClassImp(AliL3HoughEval)
+ClassImp(AliHLTHoughEval)
 
-AliL3HoughEval::AliL3HoughEval()
+AliHLTHoughEval::AliHLTHoughEval()
 {
   //default ctor  
   fRemoveFoundTracks = kFALSE;
@@ -48,7 +48,7 @@ AliL3HoughEval::AliL3HoughEval()
 }
 
 
-AliL3HoughEval::~AliL3HoughEval()
+AliHLTHoughEval::~AliHLTHoughEval()
 {
   //dtor
   fHoughTransformer = 0;
@@ -60,13 +60,13 @@ AliL3HoughEval::~AliL3HoughEval()
     }
 }
 
-void AliL3HoughEval::InitTransformer(AliL3HoughBaseTransformer *transformer)
+void AliHLTHoughEval::InitTransformer(AliHLTHoughBaseTransformer *transformer)
 {
   //Init hough transformer
   fHoughTransformer = transformer;
   fSlice = fHoughTransformer->GetSlice();
   fPatch = fHoughTransformer->GetPatch();
-  fNrows = AliL3Transform::GetLastRow(fPatch) - AliL3Transform::GetFirstRow(fPatch) + 1;
+  fNrows = AliHLTTransform::GetLastRow(fPatch) - AliHLTTransform::GetFirstRow(fPatch) + 1;
   fNEtaSegments = fHoughTransformer->GetNEtaSegments();
   fEtaMin = fHoughTransformer->GetEtaMin();
   fEtaMax = fHoughTransformer->GetEtaMax();
@@ -74,27 +74,27 @@ void AliL3HoughEval::InitTransformer(AliL3HoughBaseTransformer *transformer)
   GenerateLUT();
 }
 
-void AliL3HoughEval::GenerateLUT()
+void AliHLTHoughEval::GenerateLUT()
 {
   //Generate a Look-up table, to limit the access to raw data
   
   if(!fRowPointers)
-    fRowPointers = new AliL3DigitRowData*[fNrows];
+    fRowPointers = new AliHLTDigitRowData*[fNrows];
 
-  AliL3DigitRowData *tempPt = (AliL3DigitRowData*)fHoughTransformer->GetDataPointer();
+  AliHLTDigitRowData *tempPt = (AliHLTDigitRowData*)fHoughTransformer->GetDataPointer();
   if(!tempPt)
-    printf("\nAliL3HoughEval::GenerateLUT : Zero data pointer\n");
+    printf("\nAliHLTHoughEval::GenerateLUT : Zero data pointer\n");
   
-  for(Int_t i=AliL3Transform::GetFirstRow(fPatch); i<=AliL3Transform::GetLastRow(fPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fPatch); i<=AliHLTTransform::GetLastRow(fPatch); i++)
     {
-      Int_t prow = i - AliL3Transform::GetFirstRow(fPatch);
+      Int_t prow = i - AliHLTTransform::GetFirstRow(fPatch);
       fRowPointers[prow] = tempPt;
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
 }
 
-Bool_t AliL3HoughEval::LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove)
+Bool_t AliHLTHoughEval::LookInsideRoad(AliHLTHoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove)
 {
   //Look at rawdata along the road specified by the track candidates.
   //If track is good, return true, if not return false.
@@ -106,10 +106,10 @@ Bool_t AliL3HoughEval::LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed
   
   Int_t totalcharge=0;//total charge along the road
   
-  //for(Int_t padrow = AliL3Transform::GetFirstRow(fPatch); padrow <= AliL3Transform::GetLastRow(fPatch); padrow++)
+  //for(Int_t padrow = AliHLTTransform::GetFirstRow(fPatch); padrow <= AliHLTTransform::GetLastRow(fPatch); padrow++)
   for(Int_t padrow = rowrange[0]; padrow<=rowrange[1]; padrow++)
     {
-      Int_t prow = padrow - AliL3Transform::GetFirstRow(fPatch);
+      Int_t prow = padrow - AliHLTTransform::GetFirstRow(fPatch);
       if(track->IsHelix())
        {
          if(!track->GetCrossingPoint(padrow,xyz))  
@@ -120,28 +120,28 @@ Bool_t AliL3HoughEval::LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed
       else
        {
          track->GetLineCrossingPoint(padrow,xyz);
-         xyz[0] += AliL3Transform::Row2X(track->GetFirstRow());
+         xyz[0] += AliHLTTransform::Row2X(track->GetFirstRow());
          Float_t r = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
          xyz[2] = r*track->GetTgl();
        }
       
-      AliL3Transform::Slice2Sector(fSlice,padrow,sector,row);
-      AliL3Transform::Local2Raw(xyz,sector,row);
+      AliHLTTransform::Slice2Sector(fSlice,padrow,sector,row);
+      AliHLTTransform::Local2Raw(xyz,sector,row);
 
       npixs=0;
       
       //Get the timebins for this pad
-      AliL3DigitRowData *tempPt = fRowPointers[prow];
+      AliHLTDigitRowData *tempPt = fRowPointers[prow];
       if(!tempPt) 
        {
-         printf("AliL3HoughEval::LookInsideRoad : Zero data pointer\n");
+         printf("AliHLTHoughEval::LookInsideRoad : Zero data pointer\n");
          continue;
        }
       
       //Look at both sides of the pad:
       for(Int_t p=(Int_t)rint(xyz[1])-fNumOfPadsToLook; p<=(Int_t)rint(xyz[1])+fNumOfPadsToLook; p++)
        {
-         AliL3DigitData *digPt = tempPt->fDigitData;
+         AliHLTDigitData *digPt = tempPt->fDigitData;
          for(UInt_t j=0; j<tempPt->fNDigit; j++)
            {
              Int_t pad = digPt[j].fPad;
@@ -150,7 +150,7 @@ Bool_t AliL3HoughEval::LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed
              if(pad < p) continue;
              if(pad > p) break;
              UShort_t time = digPt[j].fTime;
-             Double_t eta = AliL3Transform::GetEta(fSlice,padrow,pad,time);
+             Double_t eta = AliHLTTransform::GetEta(fSlice,padrow,pad,time);
              Int_t pixelindex = fHoughTransformer->GetEtaIndex(eta);
              if(pixelindex != track->GetEtaIndex()) continue;
              totalcharge += digPt[j].fCharge;
@@ -183,52 +183,52 @@ Bool_t AliL3HoughEval::LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed
     return kFALSE;
 }
 
-void AliL3HoughEval::FindEta(AliL3TrackArray *tracks)
+void AliHLTHoughEval::FindEta(AliHLTTrackArray *tracks)
 {
   //Find the corresponding eta slice hough space  
   Int_t sector,row;
   Float_t xyz[3];
   
   Int_t ntracks = tracks->GetNTracks();
-  fEtaHistos = new AliL3Histogram1D*[ntracks];
+  fEtaHistos = new AliHLTHistogram1D*[ntracks];
   
   Char_t hname[100];
   for(Int_t i=0; i<ntracks; i++)
     {
       sprintf(hname,"etahist_%d",i);
-      fEtaHistos[i] = new AliL3Histogram1D(hname,hname,100,0,1);
+      fEtaHistos[i] = new AliHLTHistogram1D(hname,hname,100,0,1);
     }
   Double_t etaslice = (fEtaMax - fEtaMin)/fNEtaSegments;
   
   for(Int_t ntr=0; ntr<ntracks; ntr++)
     {
-      AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(ntr);
+      AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(ntr);
       if(!track) continue;
-      for(Int_t padrow = AliL3Transform::GetFirstRow(fPatch); padrow <= AliL3Transform::GetLastRow(fPatch); padrow++)
+      for(Int_t padrow = AliHLTTransform::GetFirstRow(fPatch); padrow <= AliHLTTransform::GetLastRow(fPatch); padrow++)
        {
-         Int_t prow = padrow - AliL3Transform::GetFirstRow(fPatch);
+         Int_t prow = padrow - AliHLTTransform::GetFirstRow(fPatch);
          
          if(!track->GetCrossingPoint(padrow,xyz))  
            {
-             printf("AliL3HoughEval::LookInsideRoad : Track does not cross line!!\n");
+             printf("AliHLTHoughEval::LookInsideRoad : Track does not cross line!!\n");
              continue;
            }
          
-         AliL3Transform::Slice2Sector(fSlice,padrow,sector,row);
-         AliL3Transform::Local2Raw(xyz,sector,row);
+         AliHLTTransform::Slice2Sector(fSlice,padrow,sector,row);
+         AliHLTTransform::Local2Raw(xyz,sector,row);
          
          //Get the timebins for this pad
-         AliL3DigitRowData *tempPt = fRowPointers[prow];
+         AliHLTDigitRowData *tempPt = fRowPointers[prow];
          if(!tempPt) 
            {
-             printf("AliL3HoughEval::LookInsideRoad : Zero data pointer\n");
+             printf("AliHLTHoughEval::LookInsideRoad : Zero data pointer\n");
              continue;
            }
          
          //Look at both sides of the pad:
          for(Int_t p=(Int_t)rint(xyz[1])-fNumOfPadsToLook; p<=(Int_t)rint(xyz[1])+fNumOfPadsToLook; p++)
            {
-             AliL3DigitData *digPt = tempPt->fDigitData;
+             AliHLTDigitData *digPt = tempPt->fDigitData;
              for(UInt_t j=0; j<tempPt->fNDigit; j++)
                {
                  UChar_t pad = digPt[j].fPad;
@@ -237,7 +237,7 @@ void AliL3HoughEval::FindEta(AliL3TrackArray *tracks)
                  if(pad < p) continue;
                  if(pad > p) break;
                  UShort_t time = digPt[j].fTime;
-                 Double_t eta = AliL3Transform::GetEta(fSlice,padrow,pad,time);
+                 Double_t eta = AliHLTTransform::GetEta(fSlice,padrow,pad,time);
                  Int_t pixelindex = (Int_t)(eta/etaslice);
                  if(pixelindex > track->GetEtaIndex()+1) continue;
                  if(pixelindex < track->GetEtaIndex()-1) break;
@@ -249,10 +249,10 @@ void AliL3HoughEval::FindEta(AliL3TrackArray *tracks)
   
   for(Int_t i=0; i<ntracks; i++)
     {
-      AliL3Histogram1D *hist = fEtaHistos[i];
+      AliHLTHistogram1D *hist = fEtaHistos[i];
       Int_t maxbin = hist->GetMaximumBin();
       Double_t maxvalue = hist->GetBinContent(maxbin);
-      AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
       if(hist->GetBinContent(maxbin-1)<maxvalue && hist->GetBinContent(maxbin+1)<maxvalue)
        {
@@ -273,31 +273,31 @@ void AliL3HoughEval::FindEta(AliL3TrackArray *tracks)
   //delete [] fEtaHistos;
 }
 
-void AliL3HoughEval::DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist)
+void AliHLTHoughEval::DisplayEtaSlice(Int_t etaindex,AliHLTHistogram *hist)
 {
   //Display the current raw data inside the (slice,patch)
 
   if(!hist)
     {
-      printf("AliL3HoughEval::DisplayEtaSlice : No input histogram!\n");
+      printf("AliHLTHoughEval::DisplayEtaSlice : No input histogram!\n");
       return;
     }
   
-  for(Int_t padrow = AliL3Transform::GetFirstRow(fPatch); padrow <= AliL3Transform::GetLastRow(fPatch); padrow++)
+  for(Int_t padrow = AliHLTTransform::GetFirstRow(fPatch); padrow <= AliHLTTransform::GetLastRow(fPatch); padrow++)
     {
-      Int_t prow = padrow - AliL3Transform::GetFirstRow(fPatch);
+      Int_t prow = padrow - AliHLTTransform::GetFirstRow(fPatch);
                   
-      AliL3DigitRowData *tempPt = fRowPointers[prow];
+      AliHLTDigitRowData *tempPt = fRowPointers[prow];
       if(!tempPt) 
        {
-         printf("AliL3HoughEval::DisplayEtaSlice : Zero data pointer\n");
+         printf("AliHLTHoughEval::DisplayEtaSlice : Zero data pointer\n");
          continue;
        }
       
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if((Int_t)tempPt->fRow != padrow)
        {
-         printf("\nAliL3HoughEval::DisplayEtaSlice : Mismatching padrows!!!\n");
+         printf("\nAliHLTHoughEval::DisplayEtaSlice : Mismatching padrows!!!\n");
          return;
        }
       for(UInt_t j=0; j<tempPt->fNDigit; j++)
@@ -308,10 +308,10 @@ void AliL3HoughEval::DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist)
          if((Int_t)charge <= fHoughTransformer->GetLowerThreshold() || (Int_t)charge >= fHoughTransformer->GetUpperThreshold()) continue;
          Float_t xyz[3];
          Int_t sector,row;
-         AliL3Transform::Slice2Sector(fSlice,padrow,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+         AliHLTTransform::Slice2Sector(fSlice,padrow,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
          xyz[2] -= fZVertex;
-         Double_t eta = AliL3Transform::GetEta(xyz);
+         Double_t eta = AliHLTTransform::GetEta(xyz);
          Int_t pixelindex = fHoughTransformer->GetEtaIndex(eta);//(Int_t)(eta/etaslice);
          if(pixelindex != etaindex) continue;
          hist->Fill(xyz[0],xyz[1],charge);
@@ -321,7 +321,7 @@ void AliL3HoughEval::DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist)
 }
 
 #ifdef use_root
-void AliL3HoughEval::CompareMC(AliL3TrackArray */*tracks*/,Char_t */*trackfile*/,Int_t /*threshold*/)
+void AliHLTHoughEval::CompareMC(AliHLTTrackArray */*tracks*/,Char_t */*trackfile*/,Int_t /*threshold*/)
 {
   /*  
   struct GoodTrack goodtracks[15000];
@@ -343,14 +343,14 @@ void AliL3HoughEval::CompareMC(AliL3TrackArray */*tracks*/,Char_t */*trackfile*/
        }
       if (!in.eof())
        {
-         LOG(AliL3Log::kError,"AliL3HoughEval::CompareMC","Input file")
+         LOG(AliHLTLog::kError,"AliHLTHoughEval::CompareMC","Input file")
            <<"Error in file reading"<<ENDLOG;
          return;
        }
     }
   else
     {
-      LOG(AliL3Log::kError,"AliL3HoughEval::CompareMC","Input")
+      LOG(AliHLTLog::kError,"AliHLTHoughEval::CompareMC","Input")
        <<"No input trackfile "<<trackfile<<ENDLOG;
     }
   
@@ -372,7 +372,7 @@ void AliL3HoughEval::CompareMC(AliL3TrackArray */*tracks*/,Char_t */*trackfile*/
   Double_t etaslice = (fEtaMax - fEtaMin)/fNEtaSegments;
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *tr = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *tr = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!tr) continue;
       if(tr->GetWeight()<threshold) continue;
       Int_t trackindex = tr->GetEtaIndex();
diff --git a/HLT/hough/AliHLTHoughEval.h b/HLT/hough/AliHLTHoughEval.h
new file mode 100644 (file)
index 0000000..051664e
--- /dev/null
@@ -0,0 +1,65 @@
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHEVAL_H
+#define ALIL3HOUGHEVAL_H
+
+#include "AliHLTRootTypes.h"
+
+class AliHLTTrackArray;
+class AliHLTHoughBaseTransformer;
+class AliHLTHoughTrack;
+class AliHLTDigitRowData;
+class AliHLTHistogram;
+class AliHLTHistogram1D;
+
+class AliHLTHoughEval {
+  
+ public:
+  AliHLTHoughEval(); 
+  virtual ~AliHLTHoughEval();
+  
+  void InitTransformer(AliHLTHoughBaseTransformer *transformer);
+  void GenerateLUT();
+  void DisplayEtaSlice(Int_t etaindex,AliHLTHistogram *hist);
+  Bool_t LookInsideRoad(AliHLTHoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
+#ifdef use_root
+  void CompareMC(AliHLTTrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
+#endif
+  void FindEta(AliHLTTrackArray *tracks);
+  
+  //Getters
+  AliHLTHistogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
+
+  //Setters:
+  void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
+  void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
+  void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
+  void SetSlice(Int_t i) {fSlice=i;}
+  void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
+
+ private:
+
+  Int_t fSlice;//Index of the slice being processed
+  Int_t fPatch;//Index of the patch being processed
+  Int_t fNrows;//Number of padrows inside the patch
+  Int_t fNEtaSegments;//Number of eta slices
+  Double_t fEtaMin;//Minimum allowed eta
+  Double_t fEtaMax;//Maximum allowed eta
+  Int_t fNumOfPadsToLook;//Padrow search window
+  Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
+  AliHLTHistogram1D **fEtaHistos; //!
+  Float_t fZVertex;//Z position of the primary vertex
+
+  //Flags
+  Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
+  
+  AliHLTHoughBaseTransformer *fHoughTransformer; //!
+  AliHLTDigitRowData **fRowPointers; //!
+  
+  ClassDef(AliHLTHoughEval,1) //Hough transform verfication class
+
+};
+
+typedef AliHLTHoughEval AliL3HoughEval; // for backward comaptibility
+
+#endif
diff --git a/HLT/hough/AliHLTHoughGlobalMerger.cxx b/HLT/hough/AliHLTHoughGlobalMerger.cxx
new file mode 100644 (file)
index 0000000..4d96fed
--- /dev/null
@@ -0,0 +1,72 @@
+// @(#) $Id$
+
+// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
+//*-- Copyright &copy ALICE HLT Group
+
+#include "AliHLTStandardIncludes.h"
+
+#include "AliHLTLogging.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTHoughGlobalMerger.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTransform.h"
+
+//_____________________________________________________________
+// Merging Hough tracks across slices
+
+ClassImp(AliHLTHoughGlobalMerger)
+
+AliHLTHoughGlobalMerger::AliHLTHoughGlobalMerger()
+{
+  fTracks = 0;
+}
+
+AliHLTHoughGlobalMerger::AliHLTHoughGlobalMerger(Int_t first,Int_t last)
+{
+  fNSlices = last-first+1;
+  fTracks = new AliHLTTrackArray*[fNSlices];
+  for(Int_t i=0; i<fNSlices; i++)
+    fTracks[i] = new AliHLTTrackArray("AliHLTHoughTrack");
+  
+  
+}
+AliHLTHoughGlobalMerger::~AliHLTHoughGlobalMerger()
+{
+  if(fTracks)
+    {
+      for(Int_t i=0; i<fNSlices; i++)
+       {
+         if(!fTracks[i])
+           continue;
+         delete fTracks;
+       }
+      delete [] fTracks;
+    }
+  
+}
+
+void AliHLTHoughGlobalMerger::FillTracks(AliHLTTrackArray *tracks,Int_t slice)
+{
+  
+  fTracks[slice]->AddTracks(tracks,kTRUE,slice);
+  
+}
+
+void AliHLTHoughGlobalMerger::Merge()
+{
+  for(Int_t slice=0; slice<fNSlices; slice++)
+    {
+      if(slice+1 == fNSlices) continue;
+      AliHLTTrackArray *t1 = fTracks[slice];
+      //AliHLTTrackArray *t2 = fTracks[slice+1];
+      Float_t angle = AliHLTTransform::Pi()/18;
+      AliHLTTransform::Local2GlobalAngle(&angle,slice);
+      
+      for(Int_t i=0; i<t1->GetNTracks(); i++)
+       {
+         
+       }
+    }
+  
+}
diff --git a/HLT/hough/AliHLTHoughGlobalMerger.h b/HLT/hough/AliHLTHoughGlobalMerger.h
new file mode 100644 (file)
index 0000000..2a66501
--- /dev/null
@@ -0,0 +1,30 @@
+// @(#) $Id$
+
+#ifndef ALIL3_HOUGHGLOBALMERGER_H
+#define ALIL3_HOUGHGLOBALMERGER_H
+
+#include "AliHLTMerger.h"
+
+class AliHLTTrackArray;
+class AliHLTTrack;
+
+class AliHLTHoughGlobalMerger {
+
+ private:
+  AliHLTTrackArray **fTracks; //!
+  Int_t fNSlices;
+
+ public:
+  AliHLTHoughGlobalMerger();
+  AliHLTHoughGlobalMerger(Int_t first,Int_t last);
+  virtual ~AliHLTHoughGlobalMerger();
+  
+  void FillTracks(AliHLTTrackArray *tracks,Int_t i);
+  void Merge();
+
+  ClassDef(AliHLTHoughGlobalMerger,1) 
+};
+
+typedef AliHLTHoughGlobalMerger AliL3HoughGlobalMerger; // for backward compatibility
+
+#endif
similarity index 57%
rename from HLT/hough/AliL3HoughIntMerger.cxx
rename to HLT/hough/AliHLTHoughIntMerger.cxx
index 4458240032ee5aedcc95c411d4d98716a215633a..da50e183e67648e670e82ddcade54ee7415cf0fd 100644 (file)
@@ -3,14 +3,14 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3HoughIntMerger.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughIntMerger.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
 
 #if __GNUC__ >= 3
 using namespace std;
@@ -20,25 +20,25 @@ using namespace std;
 // Hough Inter merger
 // Merging of multiple reconstructed tracks
 
-ClassImp(AliL3HoughIntMerger)
+ClassImp(AliHLTHoughIntMerger)
 
-AliL3HoughIntMerger::AliL3HoughIntMerger()
+AliHLTHoughIntMerger::AliHLTHoughIntMerger()
 {
   //Default constructor
-  InitMerger(1,"AliL3HoughTrack");
+  InitMerger(1,"AliHLTHoughTrack");
   fRowMax = fRowMin = 0;
   SetParameters(0.001,0.05,10);
   Is2Global(kFALSE);
 }
 
 
-AliL3HoughIntMerger::~AliL3HoughIntMerger()
+AliHLTHoughIntMerger::~AliHLTHoughIntMerger()
 {
   //Destructor
   
 }
 
-void AliL3HoughIntMerger::SetParameters(Double_t maxkappa, Double_t maxphi0, Double_t maxtgl)
+void AliHLTHoughIntMerger::SetParameters(Double_t maxkappa, Double_t maxphi0, Double_t maxtgl)
 {
   //Set merger params
   fMaxKappa = maxkappa;
@@ -46,23 +46,23 @@ void AliL3HoughIntMerger::SetParameters(Double_t maxkappa, Double_t maxphi0, Dou
   fMaxTgl = maxtgl;
 }
 
-void AliL3HoughIntMerger::FillTracks(AliL3TrackArray *tracks)
+void AliHLTHoughIntMerger::FillTracks(AliHLTTrackArray *tracks)
 {
   //Fills tracks into merger
   if(tracks->GetNTracks()==0)
-    LOG(AliL3Log::kWarning,"AliL3HoughIntMerger::FillTracks","Track Array")
+    LOG(AliHLTLog::kWarning,"AliHLTHoughIntMerger::FillTracks","Track Array")
       <<"Adding empty track array"<<ENDLOG;
   
   GetInTracks(0)->AddTracks(tracks,kFALSE);//Copy tracks
   printf("Filling %d tracks to intermerger\n",tracks->GetNTracks());
 }
 
-Bool_t AliL3HoughIntMerger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrack)
+Bool_t AliHLTHoughIntMerger::IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 {
   //Check if the tracks can be merged, called by the track merger
   
-  AliL3HoughTrack *tr1 = (AliL3HoughTrack*)innertrack;
-  AliL3HoughTrack *tr2 = (AliL3HoughTrack*)outertrack;
+  AliHLTHoughTrack *tr1 = (AliHLTHoughTrack*)innertrack;
+  AliHLTHoughTrack *tr2 = (AliHLTHoughTrack*)outertrack;
   
   if(abs(tr1->GetEtaIndex() - tr2->GetEtaIndex()) > 1) return kFALSE;
   if(tr1->GetCharge()!=tr2->GetCharge()) return kFALSE;
@@ -72,22 +72,22 @@ Bool_t AliL3HoughIntMerger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrac
   return kTRUE;//Tracks could be merged
 }
 
-AliL3Track *AliL3HoughIntMerger::MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t /*ntrack*/)
+AliHLTTrack *AliHLTHoughIntMerger::MultiMerge(AliHLTTrackArray *mergedtrack,AliHLTTrack **tracks, Int_t /*ntrack*/)
 {
   //Called by the track merger
 
-  AliL3HoughTrack *newtrack = (AliL3HoughTrack*)mergedtrack->NextTrack();
-  AliL3HoughTrack **trs = (AliL3HoughTrack**)tracks;
+  AliHLTHoughTrack *newtrack = (AliHLTHoughTrack*)mergedtrack->NextTrack();
+  AliHLTHoughTrack **trs = (AliHLTHoughTrack**)tracks;
       
-  AliL3HoughTrack *tpt=trs[0];//this is the "best" track
-  //AliL3HoughTrack *tpl=trs[ntrack-1];
+  AliHLTHoughTrack *tpt=trs[0];//this is the "best" track
+  //AliHLTHoughTrack *tpl=trs[ntrack-1];
   newtrack->Set(tpt);
-  return (AliL3Track*)newtrack;
+  return (AliHLTTrack*)newtrack;
 }
 
 
 
-void AliL3HoughIntMerger::MMerge()
+void AliHLTHoughIntMerger::MMerge()
 {
   //Track merging??
   GetInTracks(0)->QSort();
@@ -95,21 +95,21 @@ void AliL3HoughIntMerger::MMerge()
   GetOutTracks()->AddTracks(GetInTracks(0));
 }
 
-Int_t AliL3HoughIntMerger::Merge()
+Int_t AliHLTHoughIntMerger::Merge()
 {
   //Track merging??  
-  AliL3TrackArray * tracks = GetInTracks(0);
+  AliHLTTrackArray * tracks = GetInTracks(0);
   const Int_t  kNIn =tracks->GetNTracks();
-  AliL3Track *tr[2];
+  AliHLTTrack *tr[2];
 
   for(Int_t out=0;out<kNIn;out++)
     {
-      AliL3HoughTrack *outertrack=(AliL3HoughTrack*)tracks->GetCheckedTrack(out);
+      AliHLTHoughTrack *outertrack=(AliHLTHoughTrack*)tracks->GetCheckedTrack(out);
       if(!outertrack) continue;
       for(Int_t in=0;in<kNIn;in++)
        {
          if(in==out) continue;
-         AliL3HoughTrack *innertrack=(AliL3HoughTrack*)tracks->GetCheckedTrack(in);
+         AliHLTHoughTrack *innertrack=(AliHLTHoughTrack*)tracks->GetCheckedTrack(in);
          if(!innertrack) continue;
          if(IsTrack(innertrack,outertrack))
            {
@@ -125,8 +125,8 @@ Int_t AliL3HoughIntMerger::Merge()
        } 
     }
   Int_t nmerged = tracks->GetNTracks()-kNIn; 
-  LOG(AliL3Log::kInformational,"AliL3HoughIntMerger::Merge","Result")
-    <<AliL3Log::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTHoughIntMerger::Merge","Result")
+    <<AliHLTLog::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
   
   //add in tracks
   //GetOutTracks()->AddTracks(GetInTracks(0)); 
@@ -134,11 +134,11 @@ Int_t AliL3HoughIntMerger::Merge()
   return nmerged;
 }
 
-void AliL3HoughIntMerger::Print(AliL3Track **tracks)
+void AliHLTHoughIntMerger::Print(AliHLTTrack **tracks)
 {
   //Prints merger results
-  AliL3HoughTrack *tr1 = (AliL3HoughTrack*)tracks[0];
-  AliL3HoughTrack *tr2 = (AliL3HoughTrack*)tracks[1];
+  AliHLTHoughTrack *tr1 = (AliHLTHoughTrack*)tracks[0];
+  AliHLTHoughTrack *tr2 = (AliHLTHoughTrack*)tracks[1];
   Double_t kappadiff = fabs(tr1->GetKappa()-tr2->GetKappa());
   Double_t phi0diff = fabs(tr1->GetPhi0()-tr2->GetPhi0());
   cout << "---------Difference in intermerged tracks---------"<<endl;
@@ -146,13 +146,13 @@ void AliL3HoughIntMerger::Print(AliL3Track **tracks)
   
 }
 
-void AliL3HoughIntMerger::SortTracks(AliL3Track **trs, Int_t ntrack) const
+void AliHLTHoughIntMerger::SortTracks(AliHLTTrack **trs, Int_t ntrack) const
 {
   //Sort the tracks according to their weight
 
-  AliL3HoughTrack **tracks = (AliL3HoughTrack**)trs;
-  AliL3HoughTrack **tmp = new  AliL3HoughTrack*[ntrack];
-  for(Int_t i=0;i<ntrack;i++) tmp[i] = (AliL3HoughTrack*)tracks[i];
+  AliHLTHoughTrack **tracks = (AliHLTHoughTrack**)trs;
+  AliHLTHoughTrack **tmp = new  AliHLTHoughTrack*[ntrack];
+  for(Int_t i=0;i<ntrack;i++) tmp[i] = (AliHLTHoughTrack*)tracks[i];
   Int_t *t = new Int_t[ntrack];
   for(Int_t i=0;i<ntrack;i++) t[i]=-1;
   
diff --git a/HLT/hough/AliHLTHoughIntMerger.h b/HLT/hough/AliHLTHoughIntMerger.h
new file mode 100644 (file)
index 0000000..164ade5
--- /dev/null
@@ -0,0 +1,42 @@
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHINTMERGER_H
+#define ALIL3HOUGHINTMERGER_H
+
+#include "AliHLTMerger.h"
+
+class AliHLTHoughTrack;
+class AliHLTTrack;
+class AliHLTTrackArray;
+
+class AliHLTHoughIntMerger : public AliHLTMerger {
+ public:
+  AliHLTHoughIntMerger();
+  virtual ~AliHLTHoughIntMerger();
+
+  
+  AliHLTTrack *MultiMerge(AliHLTTrackArray *mergedtrack,AliHLTTrack **tracks, Int_t ntrack);
+  Bool_t IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  void FillTracks(AliHLTTrackArray *tracks);
+  void Init(Int_t *row,Int_t p){fRowMin=row[0];fRowMax=row[1];fPatch=p;}
+  Int_t Merge();
+  void MMerge();  //Loop over tracks from different subsectors
+  void SetParameters(Double_t maxkappa=0.001, Double_t maxpsi=0.05, Double_t maxtgl=0.1);
+  void SortTracks(AliHLTTrack **tracks, Int_t ntrack) const;
+  void Print(AliHLTTrack **tracks);
+
+ private:
+  Int_t fPatch;//Index of the current patch
+  Int_t fRowMin;//First padrow inside the patch
+  Int_t fRowMax;//Last padrow inside the patch
+  Double_t fMaxKappa;//Maximum track curvature
+  Double_t fMaxPhi0;//Maximum phi0??
+  Double_t fMaxTgl;//??
+
+  ClassDef(AliHLTHoughIntMerger,1) 
+};
+
+typedef AliHLTHoughIntMerger AliL3HoughIntMerger; // for backward comaptibility
+
+#endif
similarity index 79%
rename from HLT/hough/AliL3HoughKalmanTrack.cxx
rename to HLT/hough/AliHLTHoughKalmanTrack.cxx
index 3825c5f4f097171c04093a7cb64aad7f46132112..cdada97e77df7062cacd64289f3a42bccba9ff2b 100644 (file)
 //          Origin: Cvetan Cheshkov, CERN, Cvetan.Cheshkov@cern.ch
 //-------------------------------------------------------------------------
 
-#include "AliL3HoughKalmanTrack.h"
+#include "AliHLTHoughKalmanTrack.h"
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3HoughBaseTransformer.h"
-#include "AliL3HoughTransformerRow.h"
-#include "AliL3Histogram.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTHoughBaseTransformer.h"
+#include "AliHLTHoughTransformerRow.h"
+#include "AliHLTHistogram.h"
 
-Int_t CalcExternalParams(const AliL3HoughTrack& t, Double_t deltax, Double_t deltay, Double_t deltaeta, const Double_t zvertex, const Double_t xhit, Double_t xx[5]);
+Int_t CalcExternalParams(const AliHLTHoughTrack& t, Double_t deltax, Double_t deltay, Double_t deltaeta, const Double_t zvertex, const Double_t xhit, Double_t xx[5]);
 
-ClassImp(AliL3HoughKalmanTrack)
+ClassImp(AliHLTHoughKalmanTrack)
 
 //____________________________________________________________________________
-AliL3HoughKalmanTrack::AliL3HoughKalmanTrack(const AliL3HoughTrack& t) throw (const Char_t *) 
+AliHLTHoughKalmanTrack::AliHLTHoughKalmanTrack(const AliHLTHoughTrack& t) throw (const Char_t *) 
               : AliTPCtrack() 
 {
-  // The method constructs an AliL3HoughKalmanTrack object
+  // The method constructs an AliHLTHoughKalmanTrack object
   // from an HLT Hough track
 
   SetChi2(0.);
@@ -55,7 +55,7 @@ AliL3HoughKalmanTrack::AliL3HoughKalmanTrack(const AliL3HoughTrack& t) throw (co
   Double_t deltax = t.GetPterr();
   Double_t deltay = t.GetPsierr();
   Double_t deltaeta = t.GetTglerr();
-  if(CalcExternalParams(t,0,0,0,zvertex,xhit,par)==0) throw "AliL3HoughKalmanTrack: conversion failed !\n";
+  if(CalcExternalParams(t,0,0,0,zvertex,xhit,par)==0) throw "AliHLTHoughKalmanTrack: conversion failed !\n";
 
   Double_t cnv=1./(GetBz()*kB2C);
   par[4]*=cnv;;
@@ -63,11 +63,11 @@ AliL3HoughKalmanTrack::AliL3HoughKalmanTrack(const AliL3HoughTrack& t) throw (co
   //and covariance matrix
   //For the moment estimate the covariance matrix numerically
   Double_t xx1[5];
-  if(CalcExternalParams(t,deltax,0,0,zvertex,xhit,xx1)==0) throw "AliL3HoughKalmanTrack: conversion failed !\n";
+  if(CalcExternalParams(t,deltax,0,0,zvertex,xhit,xx1)==0) throw "AliHLTHoughKalmanTrack: conversion failed !\n";
   Double_t xx2[5];
-  if(CalcExternalParams(t,0,deltay,0,zvertex,xhit,xx2)==0) throw "AliL3HoughKalmanTrack: conversion failed !\n";
+  if(CalcExternalParams(t,0,deltay,0,zvertex,xhit,xx2)==0) throw "AliHLTHoughKalmanTrack: conversion failed !\n";
   Double_t xx3[5];
-  if(CalcExternalParams(t,0,0,deltaeta,zvertex,xhit,xx3)==0) throw "AliL3HoughKalmanTrack: conversion failed !\n";
+  if(CalcExternalParams(t,0,0,deltaeta,zvertex,xhit,xx3)==0) throw "AliHLTHoughKalmanTrack: conversion failed !\n";
 
   Double_t dx1[5],dx2[5],dx3[5];
   for(Int_t i=0;i<5;i++) {
@@ -100,7 +100,7 @@ AliL3HoughKalmanTrack::AliL3HoughKalmanTrack(const AliL3HoughTrack& t) throw (co
 }
 
 //____________________________________________________________________________
-Int_t CalcExternalParams(const AliL3HoughTrack& t, Double_t deltax, Double_t deltay, Double_t deltaeta, const Double_t zvertex, const Double_t xhit, Double_t xx[5])
+Int_t CalcExternalParams(const AliHLTHoughTrack& t, Double_t deltax, Double_t deltay, Double_t deltaeta, const Double_t zvertex, const Double_t xhit, Double_t xx[5])
 {
   // Translate the parameters of the Hough tracks into
   // AliKalmanTrack paramters
@@ -108,8 +108,8 @@ Int_t CalcExternalParams(const AliL3HoughTrack& t, Double_t deltax, Double_t del
   //First get the emiision angle and track curvature
   Double_t binx = t.GetBinX()+deltax;
   Double_t biny = t.GetBinY()+deltay;
-  Double_t psi = atan((binx-biny)/(AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2()));
-  Double_t kappa = 2.0*(binx*cos(psi)-AliL3HoughTransformerRow::GetBeta1()*sin(psi));
+  Double_t psi = atan((binx-biny)/(AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2()));
+  Double_t kappa = 2.0*(binx*cos(psi)-AliHLTHoughTransformerRow::GetBeta1()*sin(psi));
   Double_t radius = 1./kappa;
 
   //Local y coordinate
similarity index 69%
rename from HLT/hough/AliL3HoughKalmanTrack.h
rename to HLT/hough/AliHLTHoughKalmanTrack.h
index 52dc74cb4e907d3cbf06387e5fb8d5eddb7b2389..ee34c23020c937b05229da2dab2abc97b88916af 100644 (file)
 /*****************************************************************************
  *                          October 11, 2004                                 *
  * The class inherits from the off-line AliTPCtrack class.                   *
- * It is used to transform AliL3HoughTrack into AliTPCTrack, which is        *
+ * It is used to transform AliHLTHoughTrack into AliTPCTrack, which is        *
  * then stored as AliESDtrack object in the ESD                              *
  *****************************************************************************/
 
 #include <AliTPCtrack.h>
 
-class AliL3HoughTrack;
-class AliL3HoughBaseTransformer;
+class AliHLTHoughTrack;
+class AliHLTHoughBaseTransformer;
 
-class AliL3HoughKalmanTrack : public AliTPCtrack {
+class AliHLTHoughKalmanTrack : public AliTPCtrack {
 public:
-  AliL3HoughKalmanTrack(const AliL3HoughTrack& t) throw (const Char_t *);
+  AliHLTHoughKalmanTrack(const AliHLTHoughTrack& t) throw (const Char_t *);
 
-  ClassDef(AliL3HoughKalmanTrack,1)   //HLT TPC Hough track
+  ClassDef(AliHLTHoughKalmanTrack,1)   //HLT TPC Hough track
 };
 
+typedef AliHLTHoughKalmanTrack AliL3HoughKalmanTrack; // for backward compatibility
+
 #endif
diff --git a/HLT/hough/AliHLTHoughLinkDef.h b/HLT/hough/AliHLTHoughLinkDef.h
new file mode 100644 (file)
index 0000000..f7823cd
--- /dev/null
@@ -0,0 +1,67 @@
+// @(#) $Id$
+
+#ifdef __CINT__
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ typedef AliL3Hough; 
+#pragma link C++ typedef AliL3HoughBaseTransformer; 
+#pragma link C++ typedef AliL3HoughTransformer;
+#pragma link C++ typedef AliL3HoughTransformerLUT;
+#pragma link C++ typedef AliL3HoughTransformerVhdl;
+#pragma link C++ typedef AliL3HoughTransformerNew;
+#pragma link C++ typedef AliL3HoughTransformerRow;
+#ifndef macosx
+#pragma link C++ typedef AliL3HoughTrack;
+#pragma link C++ typedef AliL3HoughKalmanTrack;
+#endif
+#pragma link C++ typedef AliL3HoughMaxFinder;
+#pragma link C++ typedef AliL3HoughEval;
+#pragma link C++ typedef AliL3Histogram;
+#pragma link C++ typedef AliL3Histogram1D;
+#pragma link C++ typedef AliL3HoughMerger;
+#pragma link C++ typedef AliL3HoughIntMerger;
+#pragma link C++ typedef AliL3HoughGlobalMerger;
+#pragma link C++ typedef AliL3HoughDisplay;
+#pragma link C++ typedef AliL3HoughClusterTransformer;
+#pragma link C++ typedef AliL3HistogramAdaptive;
+#ifndef macosx
+#pragma link C++ typedef AliL3HoughTest;
+#endif
+
+#ifdef use_aliroot
+#pragma link C++ typedef AliL3HoughTransformerGlobal;
+#endif
+
+#pragma link C++ class AliHLTHough; 
+#pragma link C++ class AliHLTHoughBaseTransformer; 
+#pragma link C++ class AliHLTHoughTransformer;
+#pragma link C++ class AliHLTHoughTransformerLUT;
+#pragma link C++ class AliHLTHoughTransformerVhdl;
+#pragma link C++ class AliHLTHoughTransformerNew;
+#pragma link C++ class AliHLTHoughTransformerRow;
+#ifndef macosx
+#pragma link C++ class AliHLTHoughTrack;
+#pragma link C++ class AliHLTHoughKalmanTrack;
+#endif
+#pragma link C++ class AliHLTHoughMaxFinder;
+#pragma link C++ class AliHLTHoughEval;
+#pragma link C++ class AliHLTHistogram;
+#pragma link C++ class AliHLTHistogram1D;
+#pragma link C++ class AliHLTHoughMerger;
+#pragma link C++ class AliHLTHoughIntMerger;
+#pragma link C++ class AliHLTHoughGlobalMerger;
+#pragma link C++ class AliHLTHoughDisplay;
+#pragma link C++ class AliHLTHoughClusterTransformer;
+#pragma link C++ class AliHLTHistogramAdaptive;
+#ifndef macosx
+#pragma link C++ class AliHLTHoughTest;
+#endif
+
+#ifdef use_aliroot
+#pragma link C++ class AliHLTHoughTransformerGlobal;
+#endif
+
+#endif
similarity index 89%
rename from HLT/hough/AliL3HoughMaxFinder.cxx
rename to HLT/hough/AliHLTHoughMaxFinder.cxx
index 55ea266e53ba2ae4086fb25e5a9abea98c0ab79a..9b3f808356079d5519775b1055a3902e5860b2bd 100644 (file)
@@ -4,39 +4,39 @@
 //*-- Copyright &copy ALICE HLT Group
 
 #include <strings.h>
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #ifndef no_root
 #include <TNtuple.h>
 #include <TFile.h>
 #endif
 
-#include "AliL3Logging.h"
-#include "AliL3HoughMaxFinder.h"
-#include "AliL3Histogram.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3HoughTransformerRow.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughMaxFinder.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHoughTransformerRow.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3HoughMaxFinder
+/** \class AliHLTHoughMaxFinder
 <pre>
 //_____________________________________________________________
-// AliL3HoughMaxFinder
+// AliHLTHoughMaxFinder
 //
 // Maximum finder
 //
 </pre>
 */
 
-ClassImp(AliL3HoughMaxFinder)
+ClassImp(AliHLTHoughMaxFinder)
 
   
-AliL3HoughMaxFinder::AliL3HoughMaxFinder()
+AliHLTHoughMaxFinder::AliHLTHoughMaxFinder()
 {
   //Default constructor
   fThreshold = 0;
@@ -62,11 +62,11 @@ AliL3HoughMaxFinder::AliL3HoughMaxFinder()
 #endif
 }
 
-AliL3HoughMaxFinder::AliL3HoughMaxFinder(Char_t *histotype,Int_t nmax,AliL3Histogram *hist)
+AliHLTHoughMaxFinder::AliHLTHoughMaxFinder(Char_t *histotype,Int_t nmax,AliHLTHistogram *hist)
 {
   //Constructor
 
-  //fTracks = new AliL3TrackArray("AliL3HoughTrack");
+  //fTracks = new AliHLTTrackArray("AliHLTHoughTrack");
   if(strcmp(histotype,"KappaPhi")==0) fHistoType='c';
   if(strcmp(histotype,"DPsi")==0) fHistoType='l';
 
@@ -93,7 +93,7 @@ AliL3HoughMaxFinder::AliL3HoughMaxFinder(Char_t *histotype,Int_t nmax,AliL3Histo
   fThreshold=0;
 }
 
-AliL3HoughMaxFinder::~AliL3HoughMaxFinder()
+AliHLTHoughMaxFinder::~AliHLTHoughMaxFinder()
 {
   //Destructor
   if(fXPeaks)
@@ -120,7 +120,7 @@ AliL3HoughMaxFinder::~AliL3HoughMaxFinder()
 #endif
 }
 
-void AliL3HoughMaxFinder::Reset()
+void AliHLTHoughMaxFinder::Reset()
 {
   // Method to reinit the Peak Finder
   for(Int_t i=0; i<fNMax; i++)
@@ -140,7 +140,7 @@ void AliL3HoughMaxFinder::Reset()
   fN2PeaksPrevEtaSlice=0;
 }
 
-void AliL3HoughMaxFinder::CreateNtuppel()
+void AliHLTHoughMaxFinder::CreateNtuppel()
 {
   // Fill a NTuple with the peak parameters
 #ifndef no_root
@@ -150,14 +150,14 @@ void AliL3HoughMaxFinder::CreateNtuppel()
 #endif  
 }
 
-void AliL3HoughMaxFinder::WriteNtuppel(Char_t *filename)
+void AliHLTHoughMaxFinder::WriteNtuppel(Char_t *filename)
 {
   // Write the NTuple with the peak parameters
 #ifndef no_root
   TFile *file = TFile::Open(filename,"RECREATE");
   if(!file)
     {
-      cerr<<"AliL3HoughMaxFinder::WriteNtuppel : Error opening file "<<filename<<endl;
+      cerr<<"AliHLTHoughMaxFinder::WriteNtuppel : Error opening file "<<filename<<endl;
       return;
     }
   fNtuppel->Write();
@@ -165,15 +165,15 @@ void AliL3HoughMaxFinder::WriteNtuppel(Char_t *filename)
 #endif
 }
 
-void AliL3HoughMaxFinder::FindAbsMaxima()
+void AliHLTHoughMaxFinder::FindAbsMaxima()
 {
   // Simple Peak Finder in the Hough space
   if(!fCurrentHisto)
     {
-      cerr<<"AliL3HoughMaxFinder::FindAbsMaxima : No histogram"<<endl;
+      cerr<<"AliHLTHoughMaxFinder::FindAbsMaxima : No histogram"<<endl;
       return;
     }
-  AliL3Histogram *hist = fCurrentHisto;
+  AliHLTHistogram *hist = fCurrentHisto;
   
   if(hist->GetNEntries() == 0)
     return;
@@ -206,7 +206,7 @@ void AliL3HoughMaxFinder::FindAbsMaxima()
   
   if(fNPeaks > fNMax)
     {
-      cerr<<"AliL3HoughMaxFinder::FindAbsMaxima : Array out of range : "<<fNPeaks<<endl;
+      cerr<<"AliHLTHoughMaxFinder::FindAbsMaxima : Array out of range : "<<fNPeaks<<endl;
       return;
     }
   
@@ -230,10 +230,10 @@ void AliL3HoughMaxFinder::FindAbsMaxima()
 #endif  
 }
 
-void AliL3HoughMaxFinder::FindBigMaxima()
+void AliHLTHoughMaxFinder::FindBigMaxima()
 {
   // Another Peak finder  
-  AliL3Histogram *hist = fCurrentHisto;
+  AliHLTHistogram *hist = fCurrentHisto;
   
   if(hist->GetNEntries() == 0)
     return;
@@ -272,7 +272,7 @@ void AliL3HoughMaxFinder::FindBigMaxima()
              //Found maxima
              if(fNPeaks > fNMax)
                {
-                 cerr<<"AliL3HoughMaxFinder::FindBigMaxima : Array out of range "<<fNPeaks<<endl;
+                 cerr<<"AliHLTHoughMaxFinder::FindBigMaxima : Array out of range "<<fNPeaks<<endl;
                  return;
                }
              
@@ -286,7 +286,7 @@ void AliL3HoughMaxFinder::FindBigMaxima()
     }
 }
 
-void AliL3HoughMaxFinder::FindMaxima(Int_t threshold)
+void AliHLTHoughMaxFinder::FindMaxima(Int_t threshold)
 {
   //Locate all the maxima in input histogram.
   //Maxima is defined as bins with more entries than the
@@ -340,7 +340,7 @@ void AliL3HoughMaxFinder::FindMaxima(Int_t threshold)
              if((Int_t)value[4] <= threshold) continue;//central bin below threshold
              if(fNPeaks >= fNMax)
                {
-                 cout<<"AliL3HoughMaxFinder::FindMaxima : Array out of range "<<fNPeaks<<endl;
+                 cout<<"AliHLTHoughMaxFinder::FindMaxima : Array out of range "<<fNPeaks<<endl;
                  return;
                }
              
@@ -388,13 +388,13 @@ void AliL3HoughMaxFinder::FindMaxima(Int_t threshold)
   
 }
 
-struct AliL3Window 
+struct AliHLTWindow 
 {
   Int_t fStart; // Start
   Int_t fSum; // Sum
 };
 
-void AliL3HoughMaxFinder::FindAdaptedPeaks(Int_t kappawindow,Float_t cutratio)
+void AliHLTHoughMaxFinder::FindAdaptedPeaks(Int_t kappawindow,Float_t cutratio)
 {
   //Peak finder which looks for peaks with a certain shape.
   //The first step involves a pre-peak finder, which looks for peaks
@@ -405,11 +405,11 @@ void AliL3HoughMaxFinder::FindAdaptedPeaks(Int_t kappawindow,Float_t cutratio)
   //a few checks is performed to avoid the clear fake peaks (asymmetry check etc.)
   
   
-  AliL3Histogram *hist = fCurrentHisto;
+  AliHLTHistogram *hist = fCurrentHisto;
   
   if(!hist)
     {
-      cerr<<"AliL3HoughMaxFinder : No histogram!"<<endl;
+      cerr<<"AliHLTHoughMaxFinder : No histogram!"<<endl;
       return;
     }
   
@@ -424,14 +424,14 @@ void AliL3HoughMaxFinder::FindAdaptedPeaks(Int_t kappawindow,Float_t cutratio)
 
   //Start by looking for pre-peaks:
   
-  AliL3Window **localmaxima = new AliL3Window*[hist->GetNbinsY()];
+  AliHLTWindow **localmaxima = new AliHLTWindow*[hist->GetNbinsY()];
   
   Short_t *nmaxs = new Short_t[hist->GetNbinsY()];
   Int_t n,lastsum,sum;
   Bool_t sumwasrising;
   for(Int_t ybin=ymin; ybin<=ymax; ybin++)
     {
-      localmaxima[ybin-ymin] = new AliL3Window[hist->GetNbinsX()];
+      localmaxima[ybin-ymin] = new AliHLTWindow[hist->GetNbinsX()];
       nmaxs[ybin-ymin] = 0;
       sumwasrising=0;
       lastsum=0;
@@ -665,7 +665,7 @@ void AliL3HoughMaxFinder::FindAdaptedPeaks(Int_t kappawindow,Float_t cutratio)
   delete [] maxs;
 }
 
-struct AliL3PreYPeak 
+struct AliHLTPreYPeak 
 {
   Int_t fStartPosition; // Start position in X
   Int_t fEndPosition; // End position in X
@@ -676,14 +676,14 @@ struct AliL3PreYPeak
   Int_t fRightValue; // Neighbour values
 };
 
-void AliL3HoughMaxFinder::FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_t ysize)
+void AliHLTHoughMaxFinder::FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_t ysize)
 {
-  // Peak finder which is working over the Hough Space provided by the AliL3HoughTransformerRow class
-  AliL3Histogram *hist = fCurrentHisto;
+  // Peak finder which is working over the Hough Space provided by the AliHLTHoughTransformerRow class
+  AliHLTHistogram *hist = fCurrentHisto;
   
   if(!hist)
     {
-      cerr<<"AliL3HoughMaxFinder : No histogram!"<<endl;
+      cerr<<"AliHLTHoughMaxFinder : No histogram!"<<endl;
       return;
     }
   
@@ -699,14 +699,14 @@ void AliL3HoughMaxFinder::FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_
 
   //Start by looking for pre-peaks:
   
-  AliL3PreYPeak **localmaxima = new AliL3PreYPeak*[hist->GetNbinsY()];
+  AliHLTPreYPeak **localmaxima = new AliHLTPreYPeak*[hist->GetNbinsY()];
   
   Short_t *nmaxs = new Short_t[hist->GetNbinsY()];
   memset(nmaxs,0,hist->GetNbinsY()*sizeof(Short_t));
   Int_t lastvalue=0,value=0;
   for(Int_t ybin=fNextRow[ymin]; ybin<=ymax; ybin = fNextRow[ybin+1])
     {
-      localmaxima[ybin-ymin] = new AliL3PreYPeak[nxbins-2];
+      localmaxima[ybin-ymin] = new AliHLTPreYPeak[nxbins-2];
       lastvalue = 0;
       Bool_t found = 0;
       for(Int_t xbin=xmin; xbin<=xmax; xbin++)
@@ -760,7 +760,7 @@ void AliL3HoughMaxFinder::FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_
       }
     }
   
-  AliL3Pre2DPeak maxima[500];
+  AliHLTPre2DPeak maxima[500];
   Int_t nmaxima = 0;
 
   for(Int_t ybin=ymax; ybin >= ymin; ybin--)
@@ -915,7 +915,7 @@ void AliL3HoughMaxFinder::FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_
   delete [] nmaxs;
 }
 
-void AliL3HoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
+void AliHLTHoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
 {
   //Testing mutliple peakfinding.
   //The algorithm searches the histogram for prepreaks by looking in windows
@@ -926,7 +926,7 @@ void AliL3HoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
 
   if(!fCurrentHisto)
     {
-      printf("AliL3HoughMaxFinder::FindPeak1 : No input histogram\n");
+      printf("AliHLTHoughMaxFinder::FindPeak1 : No input histogram\n");
       return;
     }  
   if(fCurrentHisto->GetNEntries()==0)
@@ -946,16 +946,16 @@ void AliL3HoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
   Int_t ymax = fCurrentHisto->GetLastYbin();
   Int_t nbinsx = fCurrentHisto->GetNbinsX()+1;
   
-  AliL3AxisWindow **windowPt = new AliL3AxisWindow*[nbinsx];
-  AliL3AxisWindow **anotherPt = new AliL3AxisWindow*[nbinsx];
+  AliHLTAxisWindow **windowPt = new AliHLTAxisWindow*[nbinsx];
+  AliHLTAxisWindow **anotherPt = new AliHLTAxisWindow*[nbinsx];
   
   for(Int_t i=0; i<nbinsx; i++)
     {
-      windowPt[i] = new AliL3AxisWindow;
+      windowPt[i] = new AliHLTAxisWindow;
 #if defined(__DECCXX)
-      bzero((char *)windowPt[i],sizeof(AliL3AxisWindow));
+      bzero((char *)windowPt[i],sizeof(AliHLTAxisWindow));
 #else
-      bzero((void*)windowPt[i],sizeof(AliL3AxisWindow));
+      bzero((void*)windowPt[i],sizeof(AliHLTAxisWindow));
 #endif
       anotherPt[i] = windowPt[i];
     }
@@ -1018,7 +1018,7 @@ void AliL3HoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
       fNPeaks++;
       if(fNPeaks==fNMax) 
        {
-         cerr<<"AliL3HoughMaxFinder::FindPeak1 : Peak array out of range!!!"<<endl;
+         cerr<<"AliHLTHoughMaxFinder::FindPeak1 : Peak array out of range!!!"<<endl;
          break;
        }
     }
@@ -1083,12 +1083,12 @@ void AliL3HoughMaxFinder::FindPeak1(Int_t ywindow,Int_t xbinsides)
   delete [] anotherPt;
 }
 
-void AliL3HoughMaxFinder::SortPeaks(struct AliL3AxisWindow **a,Int_t first,Int_t last)
+void AliHLTHoughMaxFinder::SortPeaks(struct AliHLTAxisWindow **a,Int_t first,Int_t last)
 {
   //General sorting routine
   //Sort according to PeakCompare()
 
-  static struct AliL3AxisWindow *tmp;
+  static struct AliHLTAxisWindow *tmp;
   static int i;           // "static" to save stack space
   int j;
   
@@ -1125,7 +1125,7 @@ void AliL3HoughMaxFinder::SortPeaks(struct AliL3AxisWindow **a,Int_t first,Int_t
   
 }
 
-Int_t AliL3HoughMaxFinder::PeakCompare(struct AliL3AxisWindow *a,struct AliL3AxisWindow *b) const
+Int_t AliHLTHoughMaxFinder::PeakCompare(struct AliHLTAxisWindow *a,struct AliHLTAxisWindow *b) const
 {
   // Peak comparison based on peaks weight
   if(a->fWeight < b->fWeight) return 1;
@@ -1133,7 +1133,7 @@ Int_t AliL3HoughMaxFinder::PeakCompare(struct AliL3AxisWindow *a,struct AliL3Axi
   return 0;
 }
 
-void AliL3HoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
+void AliHLTHoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
 {
   //Attempt of a more sophisticated peak finder.
   //Finds the best peak in the histogram, and returns the corresponding
@@ -1141,10 +1141,10 @@ void AliL3HoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
 
   if(!fCurrentHisto)
     {
-      printf("AliL3HoughMaxFinder::FindPeak : No histogram!!\n");
+      printf("AliHLTHoughMaxFinder::FindPeak : No histogram!!\n");
       return;
     }
-  AliL3Histogram *hist = fCurrentHisto;
+  AliHLTHistogram *hist = fCurrentHisto;
   if(hist->GetNEntries()==0)
     return;
 
@@ -1257,7 +1257,7 @@ void AliL3HoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
   Int_t xu = xl + 1;
   
   if(hist->GetBinCenterX(xl) > xpeak || hist->GetBinCenterX(xu) <= xpeak)
-    printf("\nAliL3HoughMaxFinder::FindPeak : Wrong xrange %f %f %f\n\n",hist->GetBinCenterX(xl),xpeak,hist->GetBinCenterX(xu));
+    printf("\nAliHLTHoughMaxFinder::FindPeak : Wrong xrange %f %f %f\n\n",hist->GetBinCenterX(xl),xpeak,hist->GetBinCenterX(xu));
     
     //printf("\nxlow %f xup %f\n",hist->GetBinCenterX(xl),hist->GetBinCenterX(xu));
 
@@ -1299,7 +1299,7 @@ void AliL3HoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
   //bin = hist->FindBin(xpeak,ypeak);
   //Int_t weight = (Int_t)hist->GetBinContent(bin);
 
-  //AliL3HoughTrack *track = new AliL3HoughTrack();
+  //AliHLTHoughTrack *track = new AliHLTHoughTrack();
   //track->SetTrackParameters(xpeak,ypeak,weight);
   fXPeaks[fNPeaks]=xpeak;
   fYPeaks[fNPeaks]=ypeak;
@@ -1313,35 +1313,35 @@ void AliL3HoughMaxFinder::FindPeak(Int_t t1,Double_t t2,Int_t t3)
   //return track;
 }
 
-Float_t AliL3HoughMaxFinder::GetXPeakSize(Int_t i) const
+Float_t AliHLTHoughMaxFinder::GetXPeakSize(Int_t i) const
 {
   // Get X size of a peak
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetXPeakSize : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetXPeakSize : Invalid index "<<i<<STDENDL;
       return 0;
     }
   Float_t binwidth = fCurrentHisto->GetBinWidthX();
   return binwidth*(fENDXPeaks[i]-fSTARTXPeaks[i]+1);
 }
 
-Float_t AliL3HoughMaxFinder::GetYPeakSize(Int_t i) const
+Float_t AliHLTHoughMaxFinder::GetYPeakSize(Int_t i) const
 {
   // Get Y size of a peak
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetYPeak : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetYPeak : Invalid index "<<i<<STDENDL;
       return 0;
     }
   Float_t binwidth = fCurrentHisto->GetBinWidthY();
   return binwidth*(fENDYPeaks[i]-fSTARTYPeaks[i]+1);
 }
 
-Bool_t AliL3HoughMaxFinder::MergeRowPeaks(AliL3Pre2DPeak *maxima1, AliL3Pre2DPeak *maxima2, Float_t distance)
+Bool_t AliHLTHoughMaxFinder::MergeRowPeaks(AliHLTPre2DPeak *maxima1, AliHLTPre2DPeak *maxima2, Float_t distance)
 {
   // Check the distance between tracks corresponding to given Hough space peaks and if the
   // distance is smaller than some threshold value marks the smaller peak as fake
-  AliL3Histogram *hist = fCurrentHisto;
+  AliHLTHistogram *hist = fCurrentHisto;
   Int_t nxbins = hist->GetNbinsX()+2;
 
   Int_t xtrack1=0,xtrack2=0,ytrack1=0,ytrack2=0;
@@ -1380,30 +1380,30 @@ Bool_t AliL3HoughMaxFinder::MergeRowPeaks(AliL3Pre2DPeak *maxima1, AliL3Pre2DPea
   else
     lastrow = lastrow1;
         
-  AliL3HoughTrack track1;
+  AliHLTHoughTrack track1;
   Float_t x1 = hist->GetPreciseBinCenterX(xtrack1);
   Float_t y1 = hist->GetPreciseBinCenterY(ytrack1);
-  Float_t psi1 = atan((x1-y1)/(AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2()));
-  Float_t kappa1 = 2.0*(x1*cos(psi1)-AliL3HoughTransformerRow::GetBeta1()*sin(psi1));
+  Float_t psi1 = atan((x1-y1)/(AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2()));
+  Float_t kappa1 = 2.0*(x1*cos(psi1)-AliHLTHoughTransformerRow::GetBeta1()*sin(psi1));
   track1.SetTrackParameters(kappa1,psi1,1);
   Float_t firsthit1[3];
   if(!track1.GetCrossingPoint(firstrow,firsthit1)) return kFALSE;
   Float_t lasthit1[3];
   if(!track1.GetCrossingPoint(lastrow,lasthit1)) return kFALSE;
 
-  AliL3HoughTrack track2;
+  AliHLTHoughTrack track2;
   Float_t x2 = hist->GetPreciseBinCenterX(xtrack2);
   Float_t y2 = hist->GetPreciseBinCenterY(ytrack2);
-  Float_t psi2 = atan((x2-y2)/(AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2()));
-  Float_t kappa2 = 2.0*(x2*cos(psi2)-AliL3HoughTransformerRow::GetBeta1()*sin(psi2));
+  Float_t psi2 = atan((x2-y2)/(AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2()));
+  Float_t kappa2 = 2.0*(x2*cos(psi2)-AliHLTHoughTransformerRow::GetBeta1()*sin(psi2));
   track2.SetTrackParameters(kappa2,psi2,1);
   Float_t firsthit2[3];
   if(!track2.GetCrossingPoint(firstrow,firsthit2)) return kFALSE;
   Float_t lasthit2[3];
   if(!track2.GetCrossingPoint(lastrow,lasthit2)) return kFALSE;
          
-  Float_t padpitchlow = AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(firstrow));
-  Float_t padpitchup = AliL3Transform::GetPadPitchWidth(AliL3Transform::GetPatch(lastrow));
+  Float_t padpitchlow = AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(firstrow));
+  Float_t padpitchup = AliHLTTransform::GetPadPitchWidth(AliHLTTransform::GetPatch(lastrow));
   // check the distance between tracks at the edges
   //  cout<<"Check "<<firsthit1[1]<<" "<<firsthit2[1]<<" "<<padpitchlow<<" "<<lasthit1[1]<<" "<<lasthit2[1]<<" "<<padpitchup<<" "<<xtrack1<<" "<<ytrack1<<" "<<xtrack2<<" "<<ytrack2<<endl;
   if((fabs(firsthit1[1]-firsthit2[1])/padpitchlow + fabs(lasthit1[1]-lasthit2[1])/padpitchup) < distance) {
similarity index 66%
rename from HLT/hough/AliL3HoughMaxFinder.h
rename to HLT/hough/AliHLTHoughMaxFinder.h
index fbddc3bba9ac0090248e18dde8ae8c4d53ce44bb..6e0dc8012163f7307ccdf4a0c8c21d6bfcd3d9ad 100644 (file)
@@ -3,15 +3,15 @@
 #ifndef ALIL3HOUGHMAXFINDER_H
 #define ALIL3HOUGHMAXFINDER_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
 
-class AliL3Histogram;
-class AliL3TrackArray;
-class AliL3HoughTrack;
+class AliHLTHistogram;
+class AliHLTTrackArray;
+class AliHLTHoughTrack;
 class TNtuple;
 
-struct AliL3AxisWindow
+struct AliHLTAxisWindow
 {
   Int_t fYmin; // min Y
   Int_t fYmax; // max Y
@@ -19,7 +19,7 @@ struct AliL3AxisWindow
   Int_t fWeight; // weight
 };
 
-struct AliL3Pre2DPeak
+struct AliHLTPre2DPeak
 {
   Float_t fX; // X coordinate of the preak
   Float_t fY; // Y coordinate of the preak
@@ -32,12 +32,12 @@ struct AliL3Pre2DPeak
   Float_t fWeight; // Weight assigned to the peak
 };
 
-class AliL3HoughMaxFinder {
+class AliHLTHoughMaxFinder {
 
  public:
-  AliL3HoughMaxFinder(); 
-  AliL3HoughMaxFinder(Char_t *histotype,Int_t nmax,AliL3Histogram *hist=0);
-  virtual ~AliL3HoughMaxFinder();
+  AliHLTHoughMaxFinder(); 
+  AliHLTHoughMaxFinder(Char_t *histotype,Int_t nmax,AliHLTHistogram *hist=0);
+  virtual ~AliHLTHoughMaxFinder();
   void Reset();
 
   void CreateNtuppel();
@@ -53,13 +53,13 @@ class AliL3HoughMaxFinder {
   //More sophisticated peak finders:
   void FindPeak(Int_t t1,Double_t t2,Int_t t3);
   void FindPeak1(Int_t ywindow=2,Int_t xbinsides=1);
-  void SortPeaks(struct AliL3AxisWindow **a,Int_t first,Int_t last);
-  Int_t PeakCompare(struct AliL3AxisWindow *a,struct AliL3AxisWindow *b) const;
+  void SortPeaks(struct AliHLTAxisWindow **a,Int_t first,Int_t last);
+  Int_t PeakCompare(struct AliHLTAxisWindow *a,struct AliHLTAxisWindow *b) const;
   
   //Setters:
   void SetGradient(Float_t x,Float_t y) {fGradX=x; fGradY=y;}
   void SetThreshold(Int_t f) {fThreshold = f;}
-  void SetHistogram(AliL3Histogram *hist) {fCurrentHisto = hist;}
+  void SetHistogram(AliHLTHistogram *hist) {fCurrentHisto = hist;}
   void SetTrackLUTs(UChar_t *tracknrows, UChar_t *trackfirstrow, UChar_t *tracklastrow, UChar_t *nextrow) {fTrackNRows = tracknrows; fTrackFirstRow = trackfirstrow; fTrackLastRow = tracklastrow; fNextRow = nextrow;}
   void SetEtaSlice(Int_t etaslice) {fCurrentEtaSlice = etaslice;}
   
@@ -73,14 +73,14 @@ class AliL3HoughMaxFinder {
   Int_t GetEndEta(Int_t i) const;
   Int_t GetEntries() const {return fNPeaks;}
 
-  //Method for merging of peaks produced by AliL3HoughTransfromerRow
-  Bool_t MergeRowPeaks(AliL3Pre2DPeak *maxima1, AliL3Pre2DPeak *maxima2,Float_t distance);
+  //Method for merging of peaks produced by AliHLTHoughTransfromerRow
+  Bool_t MergeRowPeaks(AliHLTPre2DPeak *maxima1, AliHLTPre2DPeak *maxima2,Float_t distance);
   
  private:
 
   Int_t fThreshold; // Threshold for Peak Finder
   Int_t fCurrentEtaSlice; // Current eta slice being processed
-  AliL3Histogram *fCurrentHisto;  //!
+  AliHLTHistogram *fCurrentHisto;  //!
 
   UChar_t *fTrackNRows; //!
   UChar_t *fTrackFirstRow; //!
@@ -109,56 +109,58 @@ class AliL3HoughMaxFinder {
   TNtuple *fNtuppel; //!
 #endif
 
-  ClassDef(AliL3HoughMaxFinder,1) //Maximum finder class
+  ClassDef(AliHLTHoughMaxFinder,1) //Maximum finder class
 
 };
 
-inline Float_t AliL3HoughMaxFinder::GetXPeak(Int_t i) const
+typedef AliHLTHoughMaxFinder AliL3HoughMaxFinder; // for backward compatibility
+
+inline Float_t AliHLTHoughMaxFinder::GetXPeak(Int_t i) const
 {
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetXPeak : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetXPeak : Invalid index "<<i<<STDENDL;
       return 0;
     }
   return fXPeaks[i];
 }
 
-inline Float_t AliL3HoughMaxFinder::GetYPeak(Int_t i) const
+inline Float_t AliHLTHoughMaxFinder::GetYPeak(Int_t i) const
 {
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetYPeak : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetYPeak : Invalid index "<<i<<STDENDL;
       return 0;
     }
   return fYPeaks[i];
 
 }
 
-inline Int_t AliL3HoughMaxFinder::GetWeight(Int_t i) const
+inline Int_t AliHLTHoughMaxFinder::GetWeight(Int_t i) const
 {
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetWeight : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetWeight : Invalid index "<<i<<STDENDL;
       return 0;
     }
   return fWeight[i];
 }
 
-inline Int_t AliL3HoughMaxFinder::GetStartEta(Int_t i) const
+inline Int_t AliHLTHoughMaxFinder::GetStartEta(Int_t i) const
 {
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetStartEta : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetStartEta : Invalid index "<<i<<STDENDL;
       return 0;
     }
   return fSTARTETAPeaks[i];
 }
 
-inline Int_t AliL3HoughMaxFinder::GetEndEta(Int_t i) const
+inline Int_t AliHLTHoughMaxFinder::GetEndEta(Int_t i) const
 {
   if(i<0 || i>fNMax)
     {
-      STDCERR<<"AliL3HoughMaxFinder::GetStartEta : Invalid index "<<i<<STDENDL;
+      STDCERR<<"AliHLTHoughMaxFinder::GetStartEta : Invalid index "<<i<<STDENDL;
       return 0;
     }
   return fENDETAPeaks[i];
similarity index 67%
rename from HLT/hough/AliL3HoughMerger.cxx
rename to HLT/hough/AliHLTHoughMerger.cxx
index aab671b216963a146e9e471cc762bccbcfa8dfe4..7e6377a76f9f016b409274350e78094fe4868443 100644 (file)
@@ -3,59 +3,59 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3HoughMerger.h"
-#include "AliL3HoughTransformer.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTHoughMerger.h"
+#include "AliHLTHoughTransformer.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughMerger
+// AliHLTHoughMerger
 //
 // Patch merging class for Hough tracklets
 
-ClassImp(AliL3HoughMerger)
+ClassImp(AliHLTHoughMerger)
 
   
-AliL3HoughMerger::AliL3HoughMerger()
+AliHLTHoughMerger::AliHLTHoughMerger()
 {
   //Default constructor
 }
 
 
-AliL3HoughMerger::AliL3HoughMerger(Int_t nsubsectors) 
+AliHLTHoughMerger::AliHLTHoughMerger(Int_t nsubsectors) 
 {
   //Constructor
-  InitMerger(nsubsectors,"AliL3HoughTrack");
+  InitMerger(nsubsectors,"AliHLTHoughTrack");
   Is2Global(kFALSE);
   SetParameters(0.001,0.1,0.05);
 }
 
 
-AliL3HoughMerger::~AliL3HoughMerger()
+AliHLTHoughMerger::~AliHLTHoughMerger()
 {
   //dtor 
 }
 
-void AliL3HoughMerger::FillTracks(AliL3TrackArray *tracks,Int_t patch)
+void AliHLTHoughMerger::FillTracks(AliHLTTrackArray *tracks,Int_t patch)
 {
   //Fills tracks into merger
   if(tracks->GetNTracks()==0)
-    LOG(AliL3Log::kWarning,"AliL3HoughMerger::FillTracks","Track Array")
+    LOG(AliHLTLog::kWarning,"AliHLTHoughMerger::FillTracks","Track Array")
       <<"Adding empty track array"<<ENDLOG;
   
   GetInTracks(patch)->AddTracks(tracks,kFALSE);//Copy tracks
   printf("Filling %d tracks to merger\n",tracks->GetNTracks());
 }
 
-void AliL3HoughMerger::SetParameters(Double_t maxkappa,Double_t maxpsi,Double_t maxphi0)
+void AliHLTHoughMerger::SetParameters(Double_t maxkappa,Double_t maxpsi,Double_t maxphi0)
 {
   //Set merger params
   fMaxKappa = maxkappa;
@@ -63,12 +63,12 @@ void AliL3HoughMerger::SetParameters(Double_t maxkappa,Double_t maxpsi,Double_t
   fMaxPhi0 = maxphi0;
 }
 
-Bool_t AliL3HoughMerger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrack)
+Bool_t AliHLTHoughMerger::IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 {
   //Check if the tracks can be merged, called by the track merger
   
-  AliL3HoughTrack *tr1 = (AliL3HoughTrack*)innertrack;
-  AliL3HoughTrack *tr2 = (AliL3HoughTrack*)outertrack;
+  AliHLTHoughTrack *tr1 = (AliHLTHoughTrack*)innertrack;
+  AliHLTHoughTrack *tr2 = (AliHLTHoughTrack*)outertrack;
   
   if( (!tr1->IsPoint()) || (!tr2->IsPoint()) )  return kFALSE; 
   if(abs(tr1->GetEtaIndex() - tr2->GetEtaIndex()) > 1) return kFALSE;
@@ -88,28 +88,28 @@ Bool_t AliL3HoughMerger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrack)
   return kTRUE;//Tracks could be merged
 }
 
-void AliL3HoughMerger::AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track)
+void AliHLTHoughMerger::AddTrack(AliHLTTrackArray *mergedtrack,AliHLTTrack *track)
 {
   //Adds track to an already merged one
-  AliL3Track *t[1];
+  AliHLTTrack *t[1];
   t[0] = track;
   MultiMerge(mergedtrack,t,1);
 }
 
-AliL3Track *AliL3HoughMerger::MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack)
+AliHLTTrack *AliHLTHoughMerger::MultiMerge(AliHLTTrackArray *mergedtrack,AliHLTTrack **tracks, Int_t ntrack)
 {
   //Called by the track merger
 
-  AliL3HoughTrack *newtrack = (AliL3HoughTrack*)mergedtrack->NextTrack();
-  AliL3HoughTrack **trs = (AliL3HoughTrack**)tracks;
+  AliHLTHoughTrack *newtrack = (AliHLTHoughTrack*)mergedtrack->NextTrack();
+  AliHLTHoughTrack **trs = (AliHLTHoughTrack**)tracks;
   Int_t weight=0;
 
   //Sum up the total weight:
   for(Int_t i=ntrack-1; i>=0; i--)
     weight += trs[i]->GetWeight();
   
-  AliL3HoughTrack *tpt=trs[0];//This is the innermost track
-  AliL3HoughTrack *tpl=trs[ntrack-1];
+  AliHLTHoughTrack *tpt=trs[0];//This is the innermost track
+  AliHLTHoughTrack *tpl=trs[ntrack-1];
   newtrack->SetTrackParameters(tpt->GetKappa(),tpt->GetPhi0(),weight);
   newtrack->SetEtaIndex(tpt->GetEtaIndex());
   newtrack->SetEta(tpt->GetEta());
@@ -121,23 +121,23 @@ AliL3Track *AliL3HoughMerger::MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track
   newtrack->SetCharge(tpt->GetCharge());
   newtrack->SetRowRange(tpt->GetFirstRow(),tpl->GetLastRow());
   
-  return (AliL3Track*)newtrack;
+  return (AliHLTTrack*)newtrack;
 
 }
 
-void AliL3HoughMerger::MergePatches(Bool_t slow)
+void AliHLTHoughMerger::MergePatches(Bool_t slow)
 {
   //Merge tracks from across the patches.
   
   fSlow = slow;
-  AliL3TrackArray *tracks;
-  AliL3HoughTrack *track;
+  AliHLTTrackArray *tracks;
+  AliHLTHoughTrack *track;
   for(Int_t i=0; i<GetNIn(); i++)
     {
       tracks = GetInTracks(i);
       for(Int_t j=0; j<tracks->GetNTracks(); j++)
        {
-         track = (AliL3HoughTrack*)tracks->GetCheckedTrack(j);
+         track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(j);
          if(!track) continue;
          track->UpdateToFirstRow();
        }
@@ -146,23 +146,23 @@ void AliL3HoughMerger::MergePatches(Bool_t slow)
   
 }
 
-void AliL3HoughMerger::Merge()
+void AliHLTHoughMerger::Merge()
 {
   //Merging of tracks
-  Double_t edge0 = AliL3Transform::Pi()/18;
+  Double_t edge0 = AliHLTTransform::Pi()/18;
   //Double_t edge1 = 2*PI - edge0;
-  AliL3TrackArray *ttt = GetOutTracks();
+  AliHLTTrackArray *ttt = GetOutTracks();
   
   Int_t subsec = GetNIn() - 2; 
   for(Int_t i=subsec;i>=0;i--){
-    AliL3TrackArray *tout = GetOutTracks();
+    AliHLTTrackArray *tout = GetOutTracks();
     if(i==subsec) tout = GetInTracks(subsec+1);
-    AliL3TrackArray *tin = GetInTracks(i);
-    Double_t xval = AliL3Transform::Row2X(AliL3Transform::GetLastRow(i));
-    //Double_t xmax = AliL3Transform::Row2X(AliL3Transform::GetLastRow(i+1));
+    AliHLTTrackArray *tin = GetInTracks(i);
+    Double_t xval = AliHLTTransform::Row2X(AliHLTTransform::GetLastRow(i));
+    //Double_t xmax = AliHLTTransform::Row2X(AliHLTTransform::GetLastRow(i+1));
     Double_t ymax = xval*tan(edge0);
     for(Int_t out=0;out<tout->GetNTracks();out++){
-      AliL3Track *outtrack=tout->GetCheckedTrack(out);
+      AliHLTTrack *outtrack=tout->GetCheckedTrack(out);
       if(!outtrack) continue;
       //outtrack->CalculateHelix();
       outtrack->CalculatePoint(xval);
@@ -172,7 +172,7 @@ void AliL3HoughMerger::Merge()
     }
     //    tout->Compress();
     for(Int_t in=0;in<tin->GetNTracks();in++){
-      AliL3Track *intrack=(AliL3Track*)tin->GetTrack(in);
+      AliHLTTrack *intrack=(AliHLTTrack*)tin->GetTrack(in);
       //intrack->CalculateHelix();
       intrack->CalculatePoint(xval);
     }
@@ -185,7 +185,7 @@ void AliL3HoughMerger::Merge()
     /*
     //Add the tracks that cross the sector boundary:
     for(Int_t in=0;in<tin->GetNTracks();in++){
-      AliL3Track *intrack=(AliL3Track*)tin->GetCheckedTrack(in);
+      AliHLTTrack *intrack=(AliHLTTrack*)tin->GetCheckedTrack(in);
       if(!intrack) continue;
       if(intrack->CalculateEdgePoint(edge0)){
         if(intrack->GetPointX()<xmax ){
@@ -202,15 +202,15 @@ void AliL3HoughMerger::Merge()
     }
     */
   } // end subsector loop
-  LOG(AliL3Log::kInformational,"AliL3HoughMerger::Merge","Result")
-    <<AliL3Log::kDec<<"Total Merged Tracks: "<<GetOutTracks()->GetNPresent()
+  LOG(AliHLTLog::kInformational,"AliHLTHoughMerger::Merge","Result")
+    <<AliHLTLog::kDec<<"Total Merged Tracks: "<<GetOutTracks()->GetNPresent()
     <<ENDLOG;
 }
 
-Int_t AliL3HoughMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout)
+Int_t AliHLTHoughMerger::Merge(AliHLTTrackArray* mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout)
 {
   //Merging of tracks  
-  AliL3Track *tracks[2];
+  AliHLTTrack *tracks[2];
   const Int_t  kNOut=tracksout->GetNTracks();
   const Int_t  kNIn =tracksin->GetNTracks();
   const Int_t  kNMerged =mergedtrack->GetNTracks();
@@ -222,11 +222,11 @@ Int_t AliL3HoughMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *trac
   for(Int_t out =0;out<kNOut;out++)
     ismatchedout[out] = kFALSE;
   for(Int_t out =0;out<kNOut;out++){
-    AliL3Track *outertrack=(AliL3Track*)tracksout->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=(AliHLTTrack*)tracksout->GetCheckedTrack(out);
     if(!outertrack) continue;
     for(Int_t in =0;in<kNIn;in++){
       if(ismatchedin[in]) continue;
-      AliL3Track *innertrack=(AliL3Track*)tracksin->GetCheckedTrack(in);
+      AliHLTTrack *innertrack=(AliHLTTrack*)tracksin->GetCheckedTrack(in);
       if(!innertrack) continue;
       if(outertrack==innertrack) continue;
       
@@ -247,30 +247,30 @@ Int_t AliL3HoughMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *trac
   }
   
   Int_t nmerged = mergedtrack->GetNTracks()-kNMerged;
-  LOG(AliL3Log::kInformational,"AliL3HoughMerger::Merge","Result")
-    <<AliL3Log::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTHoughMerger::Merge","Result")
+    <<AliHLTLog::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
   delete[] ismatchedin;
   delete[] ismatchedout;
   return nmerged;
 }
 
-void AliL3HoughMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout,Double_t xval)
+void AliHLTHoughMerger::SlowMerge(AliHLTTrackArray *mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout,Double_t xval)
 {
   //Slow merging of tracks??
   void *ntuple=GetNtuple();
   const Int_t  kNOut=tracksout->GetNTracks();
   const Int_t  kNIn =tracksin->GetNTracks();
   const Int_t  kNMerged =mergedtrack->GetNTracks();
-  AliL3Track *tracks[2];
+  AliHLTTrack *tracks[2];
   Bool_t merge = kTRUE;
   while(merge){
     Int_t inmin=-1,outmin=-1;
     Double_t min=10;
     for(Int_t out=0;out<kNOut;out++){
-    AliL3Track *outertrack=tracksout->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=tracksout->GetCheckedTrack(out);
     if(!outertrack) continue;
       for(Int_t in=0;in<kNIn;in++){
-        AliL3Track *innertrack=tracksin->GetCheckedTrack(in);
+        AliHLTTrack *innertrack=tracksin->GetCheckedTrack(in);
         if(!innertrack) continue;
         Double_t diff = TrackDiff(innertrack,outertrack);
         if(diff>=0&&diff<min){
@@ -281,8 +281,8 @@ void AliL3HoughMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
       } 
     }
     if(inmin>=0&&outmin>=0){
-      AliL3Track *outertrack=tracksout->GetTrack(outmin);
-      AliL3Track *innertrack=tracksin->GetTrack(inmin);
+      AliHLTTrack *outertrack=tracksout->GetTrack(outmin);
+      AliHLTTrack *innertrack=tracksin->GetTrack(inmin);
       tracks[0]=innertrack;
       tracks[1]=outertrack;
       SortTracks(tracks,2);
@@ -298,8 +298,8 @@ void AliL3HoughMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
     }
     else merge = kFALSE;
   }
-  LOG(AliL3Log::kInformational,"AliL3HoughMerger::SlowMerge","Result")
-    <<AliL3Log::kDec<<"Merged Tracks: "
+  LOG(AliHLTLog::kInformational,"AliHLTHoughMerger::SlowMerge","Result")
+    <<AliHLTLog::kDec<<"Merged Tracks: "
     <<mergedtrack->GetNTracks()-kNMerged<<ENDLOG;
   char name[256] = "ntuple_t.root";
   for(Int_t i=0;i<GetNIn();i++)
@@ -308,11 +308,11 @@ void AliL3HoughMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
   WriteNtuple(name,ntuple);
 }
 
-void AliL3HoughMerger::Print(AliL3Track **tracks)
+void AliHLTHoughMerger::Print(AliHLTTrack **tracks)
 {
   //Print merging results
-  AliL3HoughTrack *tr1 = (AliL3HoughTrack*)tracks[0];
-  AliL3HoughTrack *tr2 = (AliL3HoughTrack*)tracks[1];
+  AliHLTHoughTrack *tr1 = (AliHLTHoughTrack*)tracks[0];
+  AliHLTHoughTrack *tr2 = (AliHLTHoughTrack*)tracks[1];
   Double_t kappadiff = fabs(tr1->GetKappa()-tr2->GetKappa());
   Double_t phi0diff = fabs(tr1->GetPhi0()-tr2->GetPhi0());
   cout << "---------Difference in merged tracks---------"<<endl;
diff --git a/HLT/hough/AliHLTHoughMerger.h b/HLT/hough/AliHLTHoughMerger.h
new file mode 100644 (file)
index 0000000..12fabb0
--- /dev/null
@@ -0,0 +1,49 @@
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHMERGER_H
+#define ALIL3HOUGHMERGER_H
+
+#include "AliHLTRootTypes.h"
+#include "AliHLTMerger.h"
+
+class AliHLTTrackArray;
+class AliHLTTrack;
+
+class AliHLTHoughMerger : public AliHLTMerger {
+
+ public:
+  AliHLTHoughMerger(); 
+  AliHLTHoughMerger(Int_t nsubsectors);
+  virtual ~AliHLTHoughMerger();
+  
+  virtual Bool_t IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  virtual AliHLTTrack *MultiMerge(AliHLTTrackArray *mergedtrack,AliHLTTrack **tracks, Int_t ntrack);
+  virtual void AddTrack(AliHLTTrackArray *mergedtrack,AliHLTTrack *track);
+  void FillTracks(AliHLTTrackArray *tracks,Int_t patch);
+  
+  void MergePatches(Bool_t slow=kTRUE);
+  void MergeEtaSlices(Int_t /*patch*/) {};
+  void MergeTracks(AliHLTTrackArray */*intracks*/,Int_t /*i*/,Int_t /*j*/) {};
+  void Print(AliHLTTrack **tracks);
+  void SetParameters(Double_t maxkappa=0.001, Double_t maxpsi=0.05,Double_t maxphi0=0.1);
+  
+ private:
+  Double_t fMaxY;//maximum Y
+  Double_t fMaxZ;//maximum Z
+  Double_t fMaxKappa;//maximum track curvature
+  Double_t fMaxPsi;//maximum track emission angle
+  Double_t fMaxTgl;//??
+  Double_t fMaxPhi0;//??
+  Bool_t fSlow;//??
+
+  void Merge();
+  Int_t Merge(AliHLTTrackArray* mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout);
+  void SlowMerge(AliHLTTrackArray *mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout,Double_t xval);
+  
+  ClassDef(AliHLTHoughMerger,1) //Patch merger for Hough tracklets
+
+};
+
+typedef AliHLTHoughMerger AliL3HoughMerger; // for backward compatibility
+
+#endif
similarity index 64%
rename from HLT/hough/AliL3HoughTest.cxx
rename to HLT/hough/AliHLTHoughTest.cxx
index 071057dbbebaba94f1cc71c985fd09d1832a8a64..ec2f59f0f0618b0058c1884b3903ded5cd638956 100644 (file)
@@ -3,13 +3,13 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3HoughTest.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3Histogram.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTHoughTest.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
 
 #include <TRandom.h>
 #include <TMath.h>
@@ -22,35 +22,35 @@ using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughTest
+// AliHLTHoughTest
 
 
-ClassImp(AliL3HoughTest)
+ClassImp(AliHLTHoughTest)
 
-AliL3HoughTest::AliL3HoughTest()
+AliHLTHoughTest::AliHLTHoughTest()
 {
   //ctor
   fData=0;
 }
 
 
-AliL3HoughTest::~AliL3HoughTest()
+AliHLTHoughTest::~AliHLTHoughTest()
 {
   //dtor
   if(fData)
     delete [] fData;
 }
 
-Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,Int_t sign,Int_t patch,Int_t minhits)
+Bool_t AliHLTHoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,Int_t sign,Int_t patch,Int_t minhits)
 {
   //Generate digits according to given track parameters?
   fCurrentPatch=patch;
   if(fData)
     delete fData;
-  fData = new AliL3SimData[AliL3Transform::GetNRows(patch)];
-  memset(fData,0,AliL3Transform::GetNRows(patch)*sizeof(AliL3SimData));
+  fData = new AliHLTSimData[AliHLTTransform::GetNRows(patch)];
+  memset(fData,0,AliHLTTransform::GetNRows(patch)*sizeof(AliHLTSimData));
   
-  AliL3ModelTrack *track = new AliL3ModelTrack();
+  AliHLTModelTrack *track = new AliHLTModelTrack();
   track->Init(0,patch);
   track->SetPt(pt);
   track->SetPsi(psi);
@@ -60,24 +60,24 @@ Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,I
   track->CalculateHelix();
 
   Int_t temp[200];
-  //  Int_t temp2[AliL3Transform::GetNTimeBins()];
-  Int_t * temp2 = new Int_t[AliL3Transform::GetNTimeBins()];
+  //  Int_t temp2[AliHLTTransform::GetNTimeBins()];
+  Int_t * temp2 = new Int_t[AliHLTTransform::GetNTimeBins()];
   Int_t entries=100;
   Int_t clustercharge=100;
   Int_t hitcounter=0;
-  for(Int_t i=AliL3Transform::GetFirstRow(patch); i<=AliL3Transform::GetLastRow(patch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(patch); i<=AliHLTTransform::GetLastRow(patch); i++)
     {
       
       Float_t xyz[3];
       if(!track->GetCrossingPoint(i,xyz))
        continue;
 
-      Int_t rowindex = i - AliL3Transform::GetFirstRow(patch);
+      Int_t rowindex = i - AliHLTTransform::GetFirstRow(patch);
       Int_t sector,row;
-      AliL3Transform::Slice2Sector(0,i,sector,row);
-      AliL3Transform::Local2Raw(xyz,sector,row);
+      AliHLTTransform::Slice2Sector(0,i,sector,row);
+      AliHLTTransform::Local2Raw(xyz,sector,row);
 
-      if(xyz[1] < 0 || xyz[1] >= AliL3Transform::GetNPads(i) || xyz[2] < 0 || xyz[2] >= AliL3Transform::GetNTimeBins())
+      if(xyz[1] < 0 || xyz[1] >= AliHLTTransform::GetNPads(i) || xyz[2] < 0 || xyz[2] >= AliHLTTransform::GetNTimeBins())
        continue;
       hitcounter++;
       track->SetPadHit(i,xyz[1]);
@@ -88,7 +88,7 @@ Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,I
       track->CalculateClusterWidths(i);
       
       memset(temp,0,200*sizeof(Int_t));
-      memset(temp2,0,AliL3Transform::GetNTimeBins()*sizeof(Int_t));
+      memset(temp2,0,AliHLTTransform::GetNTimeBins()*sizeof(Int_t));
       Double_t xysigma = sqrt(track->GetParSigmaY2(i));
       Double_t zsigma = sqrt(track->GetParSigmaZ2(i));
       
@@ -98,7 +98,7 @@ Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,I
        {
          Int_t pad = TMath::Nint(gRandom->Gaus(xyz[1],xysigma));
          Int_t time = TMath::Nint(gRandom->Gaus(xyz[2],zsigma));
-         if(pad < 0 || pad >= AliL3Transform::GetNPads(i) || time < 0 || time >= AliL3Transform::GetNTimeBins())
+         if(pad < 0 || pad >= AliHLTTransform::GetNPads(i) || time < 0 || time >= AliHLTTransform::GetNTimeBins())
            continue;
          temp[pad]++;
          temp2[time]++;
@@ -116,19 +116,19 @@ Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,I
          
          if(index < 0 || index >= 10)
            {
-             cerr<<"AliL3HoughTest::GenerateTrackData : Wrong index "<<index<<endl;
+             cerr<<"AliHLTHoughTest::GenerateTrackData : Wrong index "<<index<<endl;
              exit(5);
            }
          npads++;
          Int_t seqcharge = clustercharge*temp[j]/entries;
          Int_t ntimes=0;
-         for(Int_t k=0; k<AliL3Transform::GetNTimeBins(); k++)
+         for(Int_t k=0; k<AliHLTTransform::GetNTimeBins(); k++)
            {
              if(temp2[k]==0) continue;
              Int_t tindex = k - mintime;
              if(tindex < 0 || tindex >= 10)
                {
-                 cerr<<"AliL3HoughTest::GenerateTrackData : Wrong timeindex "<<tindex<<" "<<k<<" "<<mintime<<endl;
+                 cerr<<"AliHLTHoughTest::GenerateTrackData : Wrong timeindex "<<tindex<<" "<<k<<" "<<mintime<<endl;
                  exit(5);
                }
              Int_t charge = seqcharge*temp2[k]/entries;
@@ -152,20 +152,20 @@ Bool_t AliL3HoughTest::GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,I
   return kTRUE;
 }
 
-void AliL3HoughTest::Transform2Circle(AliL3Histogram *hist)
+void AliHLTHoughTest::Transform2Circle(AliHLTHistogram *hist)
 {
   //Hough trasnform
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::Transform : No data"<<endl;
+      cerr<<"AliHLTHoughTest::Transform : No data"<<endl;
       return;
     }
   Float_t r,phi,phi0,kappa,xyz[3];
   Int_t pad,time,charge,sector,row;
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
-      Int_t rowindex = i - AliL3Transform::GetFirstRow(fCurrentPatch);
-      AliL3Transform::Slice2Sector(0,i,sector,row);
+      Int_t rowindex = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
+      AliHLTTransform::Slice2Sector(0,i,sector,row);
       for(Int_t j=0; j<fData[rowindex].fNPads; j++)
        {
          pad = j + fData[rowindex].fMinpad;
@@ -174,11 +174,11 @@ void AliL3HoughTest::Transform2Circle(AliL3Histogram *hist)
              time = k + fData[rowindex].fMintime;
              charge = fData[rowindex].fPads[j][k];
              if(charge == 0) continue;
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+             AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
              
              r = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
              
-             phi = AliL3Transform::GetPhi(xyz);
+             phi = AliHLTTransform::GetPhi(xyz);
              
              for(Int_t k=hist->GetFirstYbin(); k<=hist->GetLastYbin(); k++)
                {
@@ -191,19 +191,19 @@ void AliL3HoughTest::Transform2Circle(AliL3Histogram *hist)
     }
 }
 
-void AliL3HoughTest::Transform2CircleC(AliL3Histogram *hist)
+void AliHLTHoughTest::Transform2CircleC(AliHLTHistogram *hist)
 {
   //Hough transform
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::TransformC : No data"<<endl;
+      cerr<<"AliHLTHoughTest::TransformC : No data"<<endl;
       return;
     }
   Int_t pad1,pad2,time1,time2,charge1,charge2,sector,row;
   Float_t r1,r2,phi1,phi2,phi0,kappa,hit[3],hit2[3];
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
-      Int_t rowindex1 = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex1 = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d1=0; d1<fData[rowindex1].fNPads; d1++)
        {
          pad1 = d1 + fData[rowindex1].fMinpad;
@@ -212,14 +212,14 @@ void AliL3HoughTest::Transform2CircleC(AliL3Histogram *hist)
              time1 = j + fData[rowindex1].fMintime;
              charge1 = fData[rowindex1].fPads[d1][j];
              if(charge1==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad1,time1);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad1,time1);
              r1 = sqrt(hit[0]*hit[0]+hit[1]*hit[1]);
              phi1 = atan2(hit[1],hit[0]);
              
-             for(Int_t j=i+1; j<=AliL3Transform::GetLastRow(fCurrentPatch); j++)
+             for(Int_t j=i+1; j<=AliHLTTransform::GetLastRow(fCurrentPatch); j++)
                {
-                 Int_t rowindex2 = j - AliL3Transform::GetFirstRow(fCurrentPatch);
+                 Int_t rowindex2 = j - AliHLTTransform::GetFirstRow(fCurrentPatch);
                  for(Int_t d2=0; d2<fData[rowindex2].fNPads; d2++)
                    {
                      pad2 = d2 + fData[rowindex2].fMinpad;
@@ -228,8 +228,8 @@ void AliL3HoughTest::Transform2CircleC(AliL3Histogram *hist)
                          time2 = k + fData[rowindex2].fMintime;
                          charge2 = fData[rowindex2].fPads[d2][k];
                          if(charge2==0) continue;
-                         AliL3Transform::Slice2Sector(0,j,sector,row);
-                         AliL3Transform::Raw2Local(hit2,sector,row,pad2,time2);
+                         AliHLTTransform::Slice2Sector(0,j,sector,row);
+                         AliHLTTransform::Raw2Local(hit2,sector,row,pad2,time2);
                          r2 = sqrt(hit2[0]*hit2[0]+hit2[1]*hit2[1]);
                          phi2 = atan2(hit2[1],hit2[0]);
                          phi0 = atan( (r2*sin(phi1) - r1*sin(phi2)) / (r2*cos(phi1) - r1*cos(phi2)) );
@@ -245,25 +245,25 @@ void AliL3HoughTest::Transform2CircleC(AliL3Histogram *hist)
     }
 }
 
-void AliL3HoughTest::Transform2CircleF(AliL3Histogram *hist)
+void AliHLTHoughTest::Transform2CircleF(AliHLTHistogram *hist)
 {
   //Fix one point in the middle of the tpc
   
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::TransformF : No data"<<endl;
+      cerr<<"AliHLTHoughTest::TransformF : No data"<<endl;
       return;
     }
   Int_t pad1,pad2,time1,time2,charge1,charge2,sector,row;
   Float_t r1,r2,phi1,phi2,phi0,kappa,hit[3],hit2[3];
   
-  Int_t rowindex1 = 80 - AliL3Transform::GetFirstRow(fCurrentPatch);
+  Int_t rowindex1 = 80 - AliHLTTransform::GetFirstRow(fCurrentPatch);
   for(Int_t d1=1; d1<fData[rowindex1].fNPads; d1++)
     {
       pad1 = d1 + fData[rowindex1].fMinpad;
       
-      AliL3Transform::Slice2Sector(0,80,sector,row);
-      AliL3Transform::Raw2Local(hit,sector,row,pad1,0);
+      AliHLTTransform::Slice2Sector(0,80,sector,row);
+      AliHLTTransform::Raw2Local(hit,sector,row,pad1,0);
       r1 = sqrt(hit[0]*hit[0]+hit[1]*hit[1]);
       phi1 = atan2(hit[1],hit[0]);
       
@@ -273,10 +273,10 @@ void AliL3HoughTest::Transform2CircleF(AliL3Histogram *hist)
          charge1 = fData[rowindex1].fPads[d1][j];
          if(charge1==0) continue;
          
-         for(Int_t j=0; j<=AliL3Transform::GetLastRow(fCurrentPatch); j++)
+         for(Int_t j=0; j<=AliHLTTransform::GetLastRow(fCurrentPatch); j++)
            {
              if(j==80) continue;
-             Int_t rowindex2 = j - AliL3Transform::GetFirstRow(fCurrentPatch);
+             Int_t rowindex2 = j - AliHLTTransform::GetFirstRow(fCurrentPatch);
              for(Int_t d2=0; d2<fData[rowindex2].fNPads; d2++)
                {
                  pad2 = d2 + fData[rowindex2].fMinpad;
@@ -285,8 +285,8 @@ void AliL3HoughTest::Transform2CircleF(AliL3Histogram *hist)
                      time2 = k + fData[rowindex2].fMintime;
                      charge2 = fData[rowindex2].fPads[d2][k];
                      if(charge2==0) continue;
-                     AliL3Transform::Slice2Sector(0,j,sector,row);
-                     AliL3Transform::Raw2Local(hit2,sector,row,pad2,time2);
+                     AliHLTTransform::Slice2Sector(0,j,sector,row);
+                     AliHLTTransform::Raw2Local(hit2,sector,row,pad2,time2);
                      r2 = sqrt(hit2[0]*hit2[0]+hit2[1]*hit2[1]);
                      phi2 = atan2(hit2[1],hit2[0]);
                      phi0 = atan( (r2*sin(phi1) - r1*sin(phi2)) / (r2*cos(phi1) - r1*cos(phi2)) );
@@ -302,24 +302,24 @@ void AliL3HoughTest::Transform2CircleF(AliL3Histogram *hist)
   return;
 }
 
-void AliL3HoughTest::Transform2Line(AliL3Histogram *hist,Int_t *rowrange)
+void AliHLTHoughTest::Transform2Line(AliHLTHistogram *hist,Int_t *rowrange)
 {
   //Hough transform
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::Transform2Line : No data"<<endl;
+      cerr<<"AliHLTHoughTest::Transform2Line : No data"<<endl;
       return;
     }
   
   Int_t pad,time,charge,sector,row;
   Float_t hit[3],theta,rho;
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
       if(i<rowrange[0])
        continue;
       if(i>rowrange[1])
        break;
-      Int_t rowindex = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d=0; d<fData[rowindex].fNPads; d++)
        {
          pad = d + fData[rowindex].fMinpad;
@@ -328,10 +328,10 @@ void AliL3HoughTest::Transform2Line(AliL3Histogram *hist,Int_t *rowrange)
              time = j + fData[rowindex].fMintime;
              charge = fData[rowindex].fPads[d][j];
              if(charge==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad,time);
              
-             hit[0] = hit[0] - AliL3Transform::Row2X(rowrange[0]);
+             hit[0] = hit[0] - AliHLTTransform::Row2X(rowrange[0]);
              
              for(Int_t xbin=hist->GetFirstXbin(); xbin<hist->GetLastXbin(); xbin++)
                {
@@ -344,12 +344,12 @@ void AliL3HoughTest::Transform2Line(AliL3Histogram *hist,Int_t *rowrange)
     }
 }
 
-void AliL3HoughTest::Transform2LineC(AliL3Histogram *hist,Int_t *rowrange)
+void AliHLTHoughTest::Transform2LineC(AliHLTHistogram *hist,Int_t *rowrange)
 {
   //Hough transform?
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::Transform2Line : No data"<<endl;
+      cerr<<"AliHLTHoughTest::Transform2Line : No data"<<endl;
       return;
     }
   
@@ -357,7 +357,7 @@ void AliL3HoughTest::Transform2LineC(AliL3Histogram *hist,Int_t *rowrange)
   Float_t theta,rho,hit[3],hit2[3];
   for(Int_t i=rowrange[0]; i<=rowrange[1]; i++)
     {
-      Int_t rowindex1 = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex1 = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d1=0; d1<fData[rowindex1].fNPads; d1++)
        {
          pad1 = d1 + fData[rowindex1].fMinpad;
@@ -366,14 +366,14 @@ void AliL3HoughTest::Transform2LineC(AliL3Histogram *hist,Int_t *rowrange)
              time1 = j + fData[rowindex1].fMintime;
              charge1 = fData[rowindex1].fPads[d1][j];
              if(charge1==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad1,time1);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad1,time1);
              
-             hit[0] = hit[0] - AliL3Transform::Row2X(rowrange[0]);
+             hit[0] = hit[0] - AliHLTTransform::Row2X(rowrange[0]);
              
              for(Int_t i2=i+1; i2<=rowrange[1]; i2++)
                {
-                 Int_t rowindex2 = i2 - AliL3Transform::GetFirstRow(fCurrentPatch);
+                 Int_t rowindex2 = i2 - AliHLTTransform::GetFirstRow(fCurrentPatch);
                  for(Int_t d2=0; d2<fData[rowindex2].fNPads; d2++)
                    {
                      pad2 = d2 + fData[rowindex2].fMinpad;
@@ -382,10 +382,10 @@ void AliL3HoughTest::Transform2LineC(AliL3Histogram *hist,Int_t *rowrange)
                          time2 = k + fData[rowindex2].fMintime;
                          charge2 = fData[rowindex2].fPads[d2][k];
                          if(charge2==0) continue;
-                         AliL3Transform::Slice2Sector(0,i2,sector,row);
-                         AliL3Transform::Raw2Local(hit2,sector,row,pad2,time2);
+                         AliHLTTransform::Slice2Sector(0,i2,sector,row);
+                         AliHLTTransform::Raw2Local(hit2,sector,row,pad2,time2);
                          
-                         hit2[0] = hit2[0] - AliL3Transform::Row2X(rowrange[0]);
+                         hit2[0] = hit2[0] - AliHLTTransform::Row2X(rowrange[0]);
                          
                          theta = atan2(hit2[0]-hit[0],hit[1]-hit2[1]);
                          rho = hit[0]*cos(theta)+hit[1]*sin(theta);
@@ -398,18 +398,18 @@ void AliL3HoughTest::Transform2LineC(AliL3Histogram *hist,Int_t *rowrange)
     }
 }
 
-void AliL3HoughTest::FillImage(TH2 *hist,Int_t displayrow)
+void AliHLTHoughTest::FillImage(TH2 *hist,Int_t displayrow)
 {
   //Draw digits data
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::FillImage : No data to fill"<<endl;
+      cerr<<"AliHLTHoughTest::FillImage : No data to fill"<<endl;
       return;
     }
   
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
-      Int_t rowindex = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       if(displayrow >=0)
        if(i != displayrow) continue;
 
@@ -425,8 +425,8 @@ void AliL3HoughTest::FillImage(TH2 *hist,Int_t displayrow)
              //cout<<i<<" "<<pad<<" "<<time<<" "<<charge<<endl;
              Float_t xyz[3];
              Int_t sector,row;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
              if(displayrow>=0)
                hist->Fill(pad,time,charge);
              else
@@ -438,18 +438,18 @@ void AliL3HoughTest::FillImage(TH2 *hist,Int_t displayrow)
     }
 }
 
-void AliL3HoughTest::Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirange)
+void AliHLTHoughTest::Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirange)
 {
   //HT in 3D?
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::Transform2Line : No data"<<endl;
+      cerr<<"AliHLTHoughTest::Transform2Line : No data"<<endl;
       return;
     }
   
   Int_t pad,time,charge,sector,row;
   Float_t hit[3],theta,rho,r,delta;
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
       
       if(i<rowrange[0])
@@ -457,7 +457,7 @@ void AliL3HoughTest::Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirang
       if(i>rowrange[1])
        break;
       
-      Int_t rowindex = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d=0; d<fData[rowindex].fNPads; d++)
        {
          pad = d + fData[rowindex].fMinpad;
@@ -466,15 +466,15 @@ void AliL3HoughTest::Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirang
              time = j + fData[rowindex].fMintime;
              charge = fData[rowindex].fPads[d][j];
              if(charge==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad,time);
              
-             Float_t phi = AliL3Transform::GetPhi(hit);
+             Float_t phi = AliHLTTransform::GetPhi(hit);
              if(phi < phirange[0] || phi > phirange[1])
                continue;
              
-             hit[0] = hit[0] - AliL3Transform::Row2X(rowrange[0]);
-             Float_t x = hit[0] + AliL3Transform::Row2X(rowrange[0]);
+             hit[0] = hit[0] - AliHLTTransform::Row2X(rowrange[0]);
+             Float_t x = hit[0] + AliHLTTransform::Row2X(rowrange[0]);
              r = sqrt(x*x + hit[1]*hit[1]);
              delta = atan(hit[2]/r);
              
@@ -489,24 +489,24 @@ void AliL3HoughTest::Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirang
     }
 }
 
-void AliL3HoughTest::Transform2LineC3D(TH3 *hist,Int_t *rowrange)
+void AliHLTHoughTest::Transform2LineC3D(TH3 *hist,Int_t *rowrange)
 {
   //HT in 3D?
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::Transform2Line : No data"<<endl;
+      cerr<<"AliHLTHoughTest::Transform2Line : No data"<<endl;
       return;
     }
   
   Int_t pad1,pad2,time1,time2,charge1,charge2,sector,row;
   Float_t theta,rho,hit[3],hit2[3],r1,r2,delta,delta1,delta2;
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
       if(i<rowrange[0])
        continue;
       if(i>rowrange[1])
        break;
-      Int_t rowindex1 = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex1 = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d1=0; d1<fData[rowindex1].fNPads; d1++)
        {
          pad1 = d1 + fData[rowindex1].fMinpad;
@@ -515,15 +515,15 @@ void AliL3HoughTest::Transform2LineC3D(TH3 *hist,Int_t *rowrange)
              time1 = j + fData[rowindex1].fMintime;
              charge1 = fData[rowindex1].fPads[d1][j];
              if(charge1==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad1,time1);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad1,time1);
              r1 = sqrt(hit[0]*hit[0]+hit[1]*hit[1]);
              delta1 = atan(hit[2]/r1);
-             hit[0] = hit[0] - AliL3Transform::Row2X(rowrange[0]);
+             hit[0] = hit[0] - AliHLTTransform::Row2X(rowrange[0]);
              
              for(Int_t i2=i+1; i2<=rowrange[1]; i2++)
                {
-                 Int_t rowindex2 = i2 - AliL3Transform::GetFirstRow(fCurrentPatch);
+                 Int_t rowindex2 = i2 - AliHLTTransform::GetFirstRow(fCurrentPatch);
                  for(Int_t d2=0; d2<fData[rowindex2].fNPads; d2++)
                    {
                      pad2 = d2 + fData[rowindex2].fMinpad;
@@ -532,12 +532,12 @@ void AliL3HoughTest::Transform2LineC3D(TH3 *hist,Int_t *rowrange)
                          time2 = k + fData[rowindex2].fMintime;
                          charge2 = fData[rowindex2].fPads[d2][k];
                          if(charge2==0) continue;
-                         AliL3Transform::Slice2Sector(0,i2,sector,row);
-                         AliL3Transform::Raw2Local(hit2,sector,row,pad2,time2);
+                         AliHLTTransform::Slice2Sector(0,i2,sector,row);
+                         AliHLTTransform::Raw2Local(hit2,sector,row,pad2,time2);
                          r2 = sqrt(hit2[0]*hit2[0]+hit2[1]*hit2[1]);
                          delta2 = atan(hit2[2]/r2);
                          delta = (charge1*delta1 + charge2*delta2)/(charge1+charge2);
-                         hit2[0] = hit2[0] - AliL3Transform::Row2X(rowrange[0]);
+                         hit2[0] = hit2[0] - AliHLTTransform::Row2X(rowrange[0]);
                          
                          theta = atan2(hit2[0]-hit[0],hit[1]-hit2[1]);
                          rho = hit[0]*cos(theta)+hit[1]*sin(theta);
@@ -550,21 +550,21 @@ void AliL3HoughTest::Transform2LineC3D(TH3 *hist,Int_t *rowrange)
     }  
 }
 
-void AliL3HoughTest::TransformLines2Circle(TH3 *hist,AliL3TrackArray *tracks)
+void AliHLTHoughTest::TransformLines2Circle(TH3 *hist,AliHLTTrackArray *tracks)
 {
   //Another HT? 
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *tr = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *tr = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!tr) continue;
       Int_t middlerow = (Int_t)(tr->GetFirstRow()+(tr->GetLastRow()-tr->GetFirstRow())/2);
       Float_t hit[3];
       tr->GetLineCrossingPoint(middlerow,hit);
-      hit[0] += AliL3Transform::Row2X(tr->GetFirstRow());
+      hit[0] += AliHLTTransform::Row2X(tr->GetFirstRow());
       Float_t r = sqrt(hit[0]*hit[0] + hit[1]*hit[1]);
       hit[2] = r*tr->GetTgl();
       Float_t phi = atan2(hit[1],hit[0]);
-      Float_t theta = tr->GetPsiLine() - AliL3Transform::Pi()/2;
+      Float_t theta = tr->GetPsiLine() - AliHLTTransform::Pi()/2;
       Float_t psi = 2*phi - theta;
       Float_t kappa = 2/r*sin(phi-psi);
       Float_t delta = atan(hit[2]/r);
@@ -573,21 +573,21 @@ void AliL3HoughTest::TransformLines2Circle(TH3 *hist,AliL3TrackArray *tracks)
     }
 }
 
-void AliL3HoughTest::Transform2Center(AliL3Histogram *hist)
+void AliHLTHoughTest::Transform2Center(AliHLTHistogram *hist)
 {
   //Choose parameter space to be center of curvature.
   
   if(!fData)
     {
-      cerr<<"AliL3HoughTest::TransformC : No data"<<endl;
+      cerr<<"AliHLTHoughTest::TransformC : No data"<<endl;
       return;
     }
   Int_t pad1,pad2,time1,time2,charge1,charge2,sector,row;
   Float_t r1,r2,phi1,phi2,hit[3],hit2[3];
   //Float_t phi_0,kappa;
-  for(Int_t i=AliL3Transform::GetFirstRow(fCurrentPatch); i<=AliL3Transform::GetLastRow(fCurrentPatch); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(fCurrentPatch); i<=AliHLTTransform::GetLastRow(fCurrentPatch); i++)
     {
-      Int_t rowindex1 = i - AliL3Transform::GetFirstRow(fCurrentPatch);
+      Int_t rowindex1 = i - AliHLTTransform::GetFirstRow(fCurrentPatch);
       for(Int_t d1=0; d1<fData[rowindex1].fNPads; d1++)
        {
          pad1 = d1 + fData[rowindex1].fMinpad;
@@ -596,14 +596,14 @@ void AliL3HoughTest::Transform2Center(AliL3Histogram *hist)
              time1 = j + fData[rowindex1].fMintime;
              charge1 = fData[rowindex1].fPads[d1][j];
              if(charge1==0) continue;
-             AliL3Transform::Slice2Sector(0,i,sector,row);
-             AliL3Transform::Raw2Local(hit,sector,row,pad1,time1);
+             AliHLTTransform::Slice2Sector(0,i,sector,row);
+             AliHLTTransform::Raw2Local(hit,sector,row,pad1,time1);
              r1 = sqrt(hit[0]*hit[0]+hit[1]*hit[1])/2;
              phi1 = atan2(hit[1],hit[0]);
              
-             for(Int_t j=i+1; j<=AliL3Transform::GetLastRow(fCurrentPatch); j++)
+             for(Int_t j=i+1; j<=AliHLTTransform::GetLastRow(fCurrentPatch); j++)
                {
-                 Int_t rowindex2 = j - AliL3Transform::GetFirstRow(fCurrentPatch);
+                 Int_t rowindex2 = j - AliHLTTransform::GetFirstRow(fCurrentPatch);
                  for(Int_t d2=0; d2<fData[rowindex2].fNPads; d2++)
                    {
                      pad2 = d2 + fData[rowindex2].fMinpad;
@@ -612,8 +612,8 @@ void AliL3HoughTest::Transform2Center(AliL3Histogram *hist)
                          time2 = k + fData[rowindex2].fMintime;
                          charge2 = fData[rowindex2].fPads[d2][k];
                          if(charge2==0) continue;
-                         AliL3Transform::Slice2Sector(0,j,sector,row);
-                         AliL3Transform::Raw2Local(hit2,sector,row,pad2,time2);
+                         AliHLTTransform::Slice2Sector(0,j,sector,row);
+                         AliHLTTransform::Raw2Local(hit2,sector,row,pad2,time2);
                          r2 = sqrt(hit2[0]*hit2[0]+hit2[1]*hit2[1])/2;
                          phi2 = atan2(hit2[1],hit2[0]);
                          Float_t yc = (r2-(r1/cos(phi1))*cos(phi2))/(sin(phi2)-tan(phi1)*cos(phi2));
@@ -628,7 +628,7 @@ void AliL3HoughTest::Transform2Center(AliL3Histogram *hist)
 }
 
 
-void AliL3HoughTest::FindAbsMaxima(TH3 *hist,Int_t zsearch,Float_t &maxx,Float_t &maxy,Float_t &maxz,Int_t &maxvalue) const
+void AliHLTHoughTest::FindAbsMaxima(TH3 *hist,Int_t zsearch,Float_t &maxx,Float_t &maxy,Float_t &maxz,Int_t &maxvalue) const
 {
   //Find peaks in the Hough space  
   TH1 *h1 = hist->Project3D("z");
diff --git a/HLT/hough/AliHLTHoughTest.h b/HLT/hough/AliHLTHoughTest.h
new file mode 100644 (file)
index 0000000..66388e5
--- /dev/null
@@ -0,0 +1,57 @@
+// @(#) $Id$
+
+#ifndef ALIL3HOUGHTEST_H
+#define ALIL3HOUGHTEST_H
+
+#include "AliHLTRootTypes.h"
+
+struct AliHLTSimData {
+  Int_t fPads[10][10];//maximum 10 pads width
+  Int_t fNPads; //number of pads
+  Int_t fMinpad; //??
+  Int_t fMintime; //??
+};
+
+class AliHLTHistogram;
+class TH2;
+class TH3;
+class AliHLTTrackArray;
+
+class AliHLTHoughTest {
+
+ public:
+  
+  AliHLTHoughTest(); 
+  virtual ~AliHLTHoughTest();
+  
+  Bool_t GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,Int_t sign,Int_t patch,Int_t minhits);
+  void FillImage(TH2 *hist,Int_t row=-1);
+  void Transform2Circle(AliHLTHistogram *hist);
+  void Transform2CircleC(AliHLTHistogram *hist);
+  void Transform2CircleF(AliHLTHistogram *hist);
+  void Transform2Line(AliHLTHistogram *hist,Int_t *rowrange);
+  void Transform2LineC(AliHLTHistogram *hist,Int_t *rowrange);
+  void Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirange);
+  void Transform2LineC3D(TH3 *hist,Int_t *rowrange);
+  void TransformLines2Circle(TH3 *hist,AliHLTTrackArray *tracks);
+  void Transform2Center(AliHLTHistogram *hist);
+  
+  void FindAbsMaxima(TH3 *hist,Int_t zsearch,Float_t &maxx,Float_t &maxy,Float_t &maxz,Int_t &maxvalue) const;
+  
+ private:
+  AliHLTSimData *fData; //??
+  Int_t fCurrentPatch; //index of the current patch
+  
+  ClassDef(AliHLTHoughTest,1) //Hough transform base class
+};
+
+typedef AliHLTHoughTest AliL3HoughTest; // for backward compatibility
+
+#endif
+
+
+
+
+
+
+
similarity index 68%
rename from HLT/hough/AliL3HoughTrack.cxx
rename to HLT/hough/AliHLTHoughTrack.cxx
index c28cbbcd2787443b3f0731e61fb438e86d07374f..866915d18513a01fa99cd0cb4e9b02297194f524 100644 (file)
@@ -3,32 +3,32 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Track.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3HoughTransformerRow.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrack.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHoughTransformerRow.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3HoughTrack
+/** \class AliHLTHoughTrack
 <pre>
 //_____________________________________________________________
-// AliL3HoughTrack
+// AliHLTHoughTrack
 //
 // Track class for Hough tracklets
 //
 </pre>
 */
 
-ClassImp(AliL3HoughTrack)
+ClassImp(AliHLTHoughTrack)
 
 
-    AliL3HoughTrack::AliL3HoughTrack() : AliL3Track()
+    AliHLTHoughTrack::AliHLTHoughTrack() : AliHLTTrack()
 {
   //Constructor
   
@@ -42,15 +42,15 @@ ClassImp(AliL3HoughTrack)
   ComesFromMainVertex(kTRUE);
 }
 
-AliL3HoughTrack::~AliL3HoughTrack()
+AliHLTHoughTrack::~AliHLTHoughTrack()
 {
   //dtor
 }
 
-void AliL3HoughTrack::Set(AliL3Track *track)
+void AliHLTHoughTrack::Set(AliHLTTrack *track)
 {
   //Basically copy constructor
-  AliL3HoughTrack *tpt = (AliL3HoughTrack*)track;
+  AliHLTHoughTrack *tpt = (AliHLTHoughTrack*)track;
   SetTrackParameters(tpt->GetKappa(),tpt->GetPsi(),tpt->GetWeight());
   SetEtaIndex(tpt->GetEtaIndex());
   SetEta(tpt->GetEta());
@@ -80,27 +80,27 @@ void AliL3HoughTrack::Set(AliL3Track *track)
 //    fIsHelix = false;
 }
 
-Int_t AliL3HoughTrack::Compare(const AliL3Track *tpt) const
+Int_t AliHLTHoughTrack::Compare(const AliHLTTrack *tpt) const
 {
   //Compare 2 hough tracks according to their weight
-  AliL3HoughTrack *track = (AliL3HoughTrack*)tpt;
+  AliHLTHoughTrack *track = (AliHLTHoughTrack*)tpt;
   if(track->GetWeight() < GetWeight()) return 1;
   if(track->GetWeight() > GetWeight()) return -1;
   return 0;
 }
 
-void AliL3HoughTrack::SetEta(Double_t f)
+void AliHLTHoughTrack::SetEta(Double_t f)
 {
   //Set eta, and calculate fTanl, which is the tan of dipangle
 
   fEta = f;
   Double_t theta = 2*atan(exp(-1.*fEta));
-  Double_t dipangle = AliL3Transform::PiHalf() - theta;
+  Double_t dipangle = AliHLTTransform::PiHalf() - theta;
   Double_t tgl = tan(dipangle);
   SetTgl(tgl);
 }
 
-void AliL3HoughTrack::UpdateToFirstRow()
+void AliHLTHoughTrack::UpdateToFirstRow()
 {
   //Update the track parameters to the point where track cross
   //its first padrow.`
@@ -108,8 +108,8 @@ void AliL3HoughTrack::UpdateToFirstRow()
   //Get the crossing point with the first padrow:
   Float_t xyz[3];
   if(!GetCrossingPoint(GetFirstRow(),xyz))
-    LOG(AliL3Log::kWarning,"AliL3HoughTrack::UpdateToFirstRow()","Track parameters")
-      <<AliL3Log::kDec<<"Track does not cross padrow "<<GetFirstRow()<<" centerx "
+    LOG(AliHLTLog::kWarning,"AliHLTHoughTrack::UpdateToFirstRow()","Track parameters")
+      <<AliHLTLog::kDec<<"Track does not cross padrow "<<GetFirstRow()<<" centerx "
       <<GetCenterX()<<" centery "<<GetCenterY()<<" Radius "<<GetRadius()<<" tgl "<<GetTgl()<<ENDLOG;
   
   //printf("Track with eta %f tgl %f crosses at x %f y %f z %f on padrow %d\n",GetEta(),GetTgl(),xyz[0],xyz[1],xyz[2],GetFirstRow());
@@ -123,8 +123,8 @@ void AliL3HoughTrack::UpdateToFirstRow()
     Double_t x0    = GetR0() * cos(GetPhi0()) ;
     Double_t y0    = GetR0() * sin(GetPhi0()) ;
   */
-  Double_t rc    = GetRadius();//fabs(GetPt()) / AliL3Transform::GetBFieldValue();
-  Double_t tPhi0 = GetPsi() + GetCharge() * AliL3Transform::PiHalf() / abs(GetCharge()) ;
+  Double_t rc    = GetRadius();//fabs(GetPt()) / AliHLTTransform::GetBFieldValue();
+  Double_t tPhi0 = GetPsi() + GetCharge() * AliHLTTransform::PiHalf() / abs(GetCharge()) ;
   Double_t xc    = GetCenterX();//x0 - rc * cos(tPhi0) ;
   Double_t yc    = GetCenterY();//y0 - rc * sin(tPhi0) ;
   
@@ -133,7 +133,7 @@ void AliL3HoughTrack::UpdateToFirstRow()
   Double_t sfac = sqrt( fac1 ) ;
   
   if ( fabs(sfac-rc) > radius || fabs(sfac+rc) < radius ) {
-    LOG(AliL3Log::kError,"AliL3HoughTrack::UpdateToFirstRow","Tracks")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kError,"AliHLTHoughTrack::UpdateToFirstRow","Tracks")<<AliHLTLog::kDec<<
       "Track does not intersect"<<ENDLOG;
     return;
   }
@@ -144,10 +144,10 @@ void AliL3HoughTrack::UpdateToFirstRow()
   Double_t td     = atan2(radius*sin(phi) - yc,radius*cos(phi) - xc) ;
   
   //Intersection in z
-  if ( td < 0 ) td = td + AliL3Transform::TwoPi();
-  Double_t deltat = fmod((-GetCharge()*td + GetCharge()*tPhi0),AliL3Transform::TwoPi());
-  if ( deltat < 0. ) deltat += AliL3Transform::TwoPi();
-  else if ( deltat > AliL3Transform::TwoPi() ) deltat -= AliL3Transform::TwoPi();
+  if ( td < 0 ) td = td + AliHLTTransform::TwoPi();
+  Double_t deltat = fmod((-GetCharge()*td + GetCharge()*tPhi0),AliHLTTransform::TwoPi());
+  if ( deltat < 0. ) deltat += AliHLTTransform::TwoPi();
+  else if ( deltat > AliHLTTransform::TwoPi() ) deltat -= AliHLTTransform::TwoPi();
   Double_t z = GetZ0() + rc * GetTgl() * deltat ;
   
   Double_t xExtra = radius * cos(phi) ;
@@ -156,9 +156,9 @@ void AliL3HoughTrack::UpdateToFirstRow()
   Double_t tPhi = atan2(yExtra-yc,xExtra-xc);
   
   //if ( tPhi < 0 ) tPhi += 2. * M_PI ;
-  Double_t tPsi = tPhi - GetCharge() * AliL3Transform::PiHalf() / abs(GetCharge()) ;
-  if ( tPsi > AliL3Transform::TwoPi() ) tPsi -= AliL3Transform::TwoPi() ;
-  else if ( tPsi < 0. ) tPsi += AliL3Transform::TwoPi();
+  Double_t tPsi = tPhi - GetCharge() * AliHLTTransform::PiHalf() / abs(GetCharge()) ;
+  if ( tPsi > AliHLTTransform::TwoPi() ) tPsi -= AliHLTTransform::TwoPi() ;
+  else if ( tPsi < 0. ) tPsi += AliHLTTransform::TwoPi();
   
   //And finally, update the track parameters
   SetR0(radius);
@@ -176,13 +176,13 @@ void AliL3HoughTrack::UpdateToFirstRow()
   //printf("last point %f %f %f\n",xyz[0],xyz[1],xyz[2]);
 }
 
-void AliL3HoughTrack::SetTrackParameters(Double_t kappa,Double_t eangle,Int_t weight)
+void AliHLTHoughTrack::SetTrackParameters(Double_t kappa,Double_t eangle,Int_t weight)
 {
   //Set track parameters - sort of ctor
   fWeight = weight;
   fMinDist = 100000;
   SetKappa(kappa);
-  Double_t pt = fabs(AliL3Transform::GetBFieldValue()/kappa);
+  Double_t pt = fabs(AliHLTTransform::GetBFieldValue()/kappa);
   SetPt(pt);
   Double_t radius = 1/fabs(kappa);
   SetRadius(radius);
@@ -192,7 +192,7 @@ void AliL3HoughTrack::SetTrackParameters(Double_t kappa,Double_t eangle,Int_t we
   SetR0(0);
   Double_t charge = -1.*kappa;
   SetCharge((Int_t)copysign(1.,charge));
-  Double_t trackPhi0 = GetPsi() + charge*0.5*AliL3Transform::Pi()/fabs(charge);
+  Double_t trackPhi0 = GetPsi() + charge*0.5*AliHLTTransform::Pi()/fabs(charge);
   Double_t xc = GetFirstPointX() - GetRadius() * cos(trackPhi0) ;
   Double_t yc = GetFirstPointY() - GetRadius() * sin(trackPhi0) ;
   SetCenterX(xc);
@@ -201,17 +201,17 @@ void AliL3HoughTrack::SetTrackParameters(Double_t kappa,Double_t eangle,Int_t we
   fIsHelix = true;
 }
 
-void AliL3HoughTrack::SetTrackParametersRow(Double_t alpha1,Double_t alpha2,Double_t eta,Int_t weight)
+void AliHLTHoughTrack::SetTrackParametersRow(Double_t alpha1,Double_t alpha2,Double_t eta,Int_t weight)
 {
   //Set track parameters for HoughTransformerRow
   //This includes curvature,emission angle and eta
-  Double_t psi = atan((alpha1-alpha2)/(AliL3HoughTransformerRow::GetBeta1()-AliL3HoughTransformerRow::GetBeta2()));
-  Double_t kappa = 2.0*(alpha1*cos(psi)-AliL3HoughTransformerRow::GetBeta1()*sin(psi));
+  Double_t psi = atan((alpha1-alpha2)/(AliHLTHoughTransformerRow::GetBeta1()-AliHLTHoughTransformerRow::GetBeta2()));
+  Double_t kappa = 2.0*(alpha1*cos(psi)-AliHLTHoughTransformerRow::GetBeta1()*sin(psi));
   SetTrackParameters(kappa,psi,weight);
 
   Double_t zovr;
-  Double_t etaparam1 = AliL3HoughTransformerRow::GetEtaCalcParam1();
-  Double_t etaparam2 = AliL3HoughTransformerRow::GetEtaCalcParam2();
+  Double_t etaparam1 = AliHLTHoughTransformerRow::GetEtaCalcParam1();
+  Double_t etaparam2 = AliHLTHoughTransformerRow::GetEtaCalcParam2();
   if(eta>0)
     zovr = (etaparam1 - sqrt(etaparam1*etaparam1 - 4.*etaparam2*eta))/(2.*etaparam2);
   else
@@ -221,7 +221,7 @@ void AliL3HoughTrack::SetTrackParametersRow(Double_t alpha1,Double_t alpha2,Doub
   SetEta(exacteta);
 }
 
-void AliL3HoughTrack::SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int_t *rowrange,Int_t /*ref_row*/)
+void AliHLTHoughTrack::SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int_t *rowrange,Int_t /*ref_row*/)
 {
   //Initialize a track piece, not yet a track
   //Used in case of straight line transformation
@@ -238,7 +238,7 @@ void AliL3HoughTrack::SetLineParameters(Double_t psi,Double_t D,Int_t weight,Int
   fIsHelix = false;
 }
 
-void AliL3HoughTrack::SetBestMCid(Int_t mcid,Double_t mindist)
+void AliHLTHoughTrack::SetBestMCid(Int_t mcid,Double_t mindist)
 {
   //Finds and set the closest mc label
   if(mindist < fMinDist)
@@ -248,16 +248,16 @@ void AliL3HoughTrack::SetBestMCid(Int_t mcid,Double_t mindist)
     }
 }
 
-void AliL3HoughTrack::GetLineCrossingPoint(Int_t padrow,Float_t *xy)
+void AliHLTHoughTrack::GetLineCrossingPoint(Int_t padrow,Float_t *xy)
 {
   //Returns the crossing point of the track with a given padrow
   if(fIsHelix)
     {
-      printf("AliL3HoughTrack::GetLineCrossingPoint : Track is not a line\n");
+      printf("AliHLTHoughTrack::GetLineCrossingPoint : Track is not a line\n");
       return;
     }
 
-  Float_t xhit = AliL3Transform::Row2X(padrow) - AliL3Transform::Row2X(GetFirstRow());
+  Float_t xhit = AliHLTTransform::Row2X(padrow) - AliHLTTransform::Row2X(GetFirstRow());
   Float_t a = -1/tan(fPsiLine);
   Float_t b = fDLine/sin(fPsiLine);
   Float_t yhit = a*xhit + b;
similarity index 84%
rename from HLT/hough/AliL3HoughTrack.h
rename to HLT/hough/AliHLTHoughTrack.h
index c5e084bc14c7af3d09e1b1560471d490e73cc8b7..80b1f7fff99f5895e28a3cabc3ac51c78a7821f2 100644 (file)
@@ -3,16 +3,16 @@
 #ifndef ALIL3HOUGHTRACK_H
 #define ALIL3HOUGHTRACK_H
 
-#include "AliL3Track.h"
+#include "AliHLTTrack.h"
 
-class AliL3HoughTrack : public AliL3Track {
+class AliHLTHoughTrack : public AliHLTTrack {
   
  public:
-  AliL3HoughTrack(); 
-  virtual ~AliL3HoughTrack();
+  AliHLTHoughTrack(); 
+  virtual ~AliHLTHoughTrack();
   
-  virtual void Set(AliL3Track *track);
-  virtual Int_t Compare(const AliL3Track *track) const;
+  virtual void Set(AliHLTTrack *track);
+  virtual Int_t Compare(const AliHLTTrack *track) const;
   
   Bool_t IsHelix() const {return fIsHelix;}
   void UpdateToFirstRow();
@@ -60,8 +60,10 @@ class AliL3HoughTrack : public AliL3Track {
 
   Float_t fBinX,fBinY,fSizeX,fSizeY;//Size and position of the hough space peak 
 
-  ClassDef(AliL3HoughTrack,1) //Track class for Hough tracklets
+  ClassDef(AliHLTHoughTrack,1) //Track class for Hough tracklets
 
 };
 
+typedef AliHLTHoughTrack AliL3HoughTrack; // for backward comaptibility
+
 #endif
similarity index 56%
rename from HLT/hough/AliL3HoughTransformer.cxx
rename to HLT/hough/AliHLTHoughTransformer.cxx
index da5a65016e4430d87a2fa0ff49158ba3ec1f9f20..f6c62e87eb9075f3a658b8e14107276c8b18d9b2 100644 (file)
@@ -3,32 +3,32 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-/** \class AliL3HoughTransformer
+/** \class AliHLTHoughTransformer
 <pre>
 //_____________________________________________________________
-// AliL3HoughTransformer
+// AliHLTHoughTransformer
 //
 // Hough transformation class
 //
 </pre>
 */
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3HoughTransformer.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3HistogramAdaptive.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughTransformer.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHistogramAdaptive.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3HoughTransformer)
+ClassImp(AliHLTHoughTransformer)
 
-AliL3HoughTransformer::AliL3HoughTransformer()
+AliHLTHoughTransformer::AliHLTHoughTransformer()
 {
   //Default constructor
   fParamSpace = 0;
@@ -39,7 +39,7 @@ AliL3HoughTransformer::AliL3HoughTransformer()
 #endif
 }
 
-AliL3HoughTransformer::AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap,Bool_t /*DoMC*/) : AliL3HoughBaseTransformer(slice,patch,netasegments)
+AliHLTHoughTransformer::AliHLTHoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap,Bool_t /*DoMC*/) : AliHLTHoughBaseTransformer(slice,patch,netasegments)
 {
   //Normal constructor
   fParamSpace = 0;
@@ -51,7 +51,7 @@ AliL3HoughTransformer::AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t netas
 #endif
 }
 
-AliL3HoughTransformer::~AliL3HoughTransformer()
+AliHLTHoughTransformer::~AliHLTHoughTransformer()
 {
   // Dtor
   DeleteHistograms();
@@ -68,7 +68,7 @@ AliL3HoughTransformer::~AliL3HoughTransformer()
 #endif
 }
 
-void AliL3HoughTransformer::DeleteHistograms()
+void AliHLTHoughTransformer::DeleteHistograms()
 {
   // Clean up
   if(!fParamSpace)
@@ -82,7 +82,7 @@ void AliL3HoughTransformer::DeleteHistograms()
   fParamSpace = 0;
 }
 
-void AliL3HoughTransformer::CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,
+void AliHLTHoughTransformer::CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,
                                             Int_t nybin,Float_t psi)
 {
   //Create histograms.
@@ -91,26 +91,26 @@ void AliL3HoughTransformer::CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t
   
   if(ptmin > ptmax)
     {
-      cerr<<"AliL3HoughTransformer::CreateHistograms: Error in ptrange "<<ptmin<<" "<<ptmax<<endl;
+      cerr<<"AliHLTHoughTransformer::CreateHistograms: Error in ptrange "<<ptmin<<" "<<ptmax<<endl;
       return;
     }
   if(psi < 0)
     {
-      cerr<<"AliL3HoughTransformer::CreateHistograms: Wrong psi-angle "<<psi<<endl;
+      cerr<<"AliHLTHoughTransformer::CreateHistograms: Wrong psi-angle "<<psi<<endl;
       return;
     }
   
-  fParamSpace = new AliL3Histogram*[GetNEtaSegments()];
+  fParamSpace = new AliHLTHistogram*[GetNEtaSegments()];
   Char_t histname[256];
   Int_t i;
   for(i=0; i<GetNEtaSegments(); i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      fParamSpace[i] = new AliL3HistogramAdaptive(histname,ptmin,ptmax,ptres,nybin,-psi,psi);
+      fParamSpace[i] = new AliHLTHistogramAdaptive(histname,ptmin,ptmax,ptres,nybin,-psi,psi);
     }
 }
 
-void AliL3HoughTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
+void AliHLTHoughTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
                                             Int_t nybin,Float_t phimin,Float_t phimax)
 {
   //Create the histograms (parameter space).
@@ -122,13 +122,13 @@ void AliL3HoughTransformer::CreateHistograms(Int_t nxbin,Float_t ptmin,
   //phimin = mimimum phi0 
   //phimax = maximum phi0 
     
-  Double_t x = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/ptmin;
-  //Double_t torad = AliL3Transform::Pi()/180;
+  Double_t x = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/ptmin;
+  //Double_t torad = AliHLTTransform::Pi()/180;
   
   CreateHistograms(nxbin,-1.*x,x,nybin,phimin/**torad*/,phimax/**torad*/);
 }
 
-void AliL3HoughTransformer::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
+void AliHLTHoughTransformer::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
                                             Int_t nybin,Float_t ymin,Float_t ymax)
 {
   //Create the histograms (parameter space).
@@ -136,36 +136,36 @@ void AliL3HoughTransformer::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xm
   //nybin = #bins in Y
   //xmin xmax ymin ymax = histogram limits in X and Y
   
-  fParamSpace = new AliL3Histogram*[GetNEtaSegments()];
+  fParamSpace = new AliHLTHistogram*[GetNEtaSegments()];
   
   Char_t histname[256];
   for(Int_t i=0; i<GetNEtaSegments(); i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      //fParamSpace[i] = new AliL3HistogramAdaptive(histname,0.5,1.5,0.05,nybin,ymin,ymax);
-      fParamSpace[i] = new AliL3Histogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
+      //fParamSpace[i] = new AliHLTHistogramAdaptive(histname,0.5,1.5,0.05,nybin,ymin,ymax);
+      fParamSpace[i] = new AliHLTHistogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
     }
   
 #ifdef do_mc
   if(fDoMC)
     {
-      AliL3Histogram *hist = fParamSpace[0];
+      AliHLTHistogram *hist = fParamSpace[0];
       Int_t ncells = (hist->GetNbinsX()+2)*(hist->GetNbinsY()+2);
-      cout<<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(AliL3TrackIndex)<<" bytes to fTrackID"<<endl;
-      fTrackID = new AliL3TrackIndex*[GetNEtaSegments()];
+      cout<<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(AliHLTTrackIndex)<<" bytes to fTrackID"<<endl;
+      fTrackID = new AliHLTTrackIndex*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
-       fTrackID[i] = new AliL3TrackIndex[ncells];
+       fTrackID[i] = new AliHLTTrackIndex[ncells];
     }
 #endif
 }
 
-void AliL3HoughTransformer::Reset()
+void AliHLTHoughTransformer::Reset()
 {
   //Reset all the histograms
 
   if(!fParamSpace)
     {
-      LOG(AliL3Log::kWarning,"AliL3HoughTransformer::Reset","Histograms")
+      LOG(AliHLTLog::kWarning,"AliHLTHoughTransformer::Reset","Histograms")
        <<"No histograms to reset"<<ENDLOG;
       return;
     }
@@ -176,15 +176,15 @@ void AliL3HoughTransformer::Reset()
 #ifdef do_mc
   if(fDoMC)
     {
-      AliL3Histogram *hist = fParamSpace[0];
+      AliHLTHistogram *hist = fParamSpace[0];
       Int_t ncells = (hist->GetNbinsX()+2)*(hist->GetNbinsY()+2);
       for(Int_t i=0; i<GetNEtaSegments(); i++)
-       memset(fTrackID[i],0,ncells*sizeof(AliL3TrackIndex));
+       memset(fTrackID[i],0,ncells*sizeof(AliHLTTrackIndex));
     }
 #endif
 }
 
-Int_t AliL3HoughTransformer::GetEtaIndex(Double_t eta) const
+Int_t AliHLTHoughTransformer::GetEtaIndex(Double_t eta) const
 {
   //Return the histogram index of the corresponding eta. 
 
@@ -193,7 +193,7 @@ Int_t AliL3HoughTransformer::GetEtaIndex(Double_t eta) const
   return (Int_t)index;
 }
 
-void AliL3HoughTransformer::GetEtaIndexes(Double_t eta,Int_t *indexes) const
+void AliHLTHoughTransformer::GetEtaIndexes(Double_t eta,Int_t *indexes) const
 {
   //Return histogram indexes in case of overlapping etaslices.
   
@@ -211,7 +211,7 @@ void AliL3HoughTransformer::GetEtaIndexes(Double_t eta,Int_t *indexes) const
     }
 }
 
-AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t etaindex)
+AliHLTHistogram *AliHLTHoughTransformer::GetHistogram(Int_t etaindex)
 {
   // Return a pointer to the histogram which contains etaindex eta slice
   if(!fParamSpace || etaindex >= GetNEtaSegments() || etaindex < 0)
@@ -221,7 +221,7 @@ AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t etaindex)
   return fParamSpace[etaindex];
 }
 
-Double_t AliL3HoughTransformer::GetEta(Int_t etaindex,Int_t /*slice*/) const
+Double_t AliHLTHoughTransformer::GetEta(Int_t etaindex,Int_t /*slice*/) const
 {
   // Return eta calculated in the middle of the eta slice
   Double_t etaslice = (GetEtaMax()-GetEtaMin())/GetNEtaSegments();
@@ -236,7 +236,7 @@ Double_t AliL3HoughTransformer::GetEta(Int_t etaindex,Int_t /*slice*/) const
   return eta;
 }
 
-void AliL3HoughTransformer::TransformCircle()
+void AliHLTHoughTransformer::TransformCircle()
 {
   //Transform the input data with a circle HT.
   //The function loops over all the data, and transforms each pixel with the equations:
@@ -250,22 +250,22 @@ void AliL3HoughTransformer::TransformCircle()
   //and the proper histogram index is found by GetEtaIndex(eta).
 
 
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
   
   //Loop over the padrows:
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
       //Get the data on this padrow:
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if(i != (Int_t)tempPt->fRow)
        {
-         cerr<<"AliL3HoughTransform::TransformCircle : Mismatching padrow numbering "<<i<<" "<<(Int_t)tempPt->fRow<<endl;
+         cerr<<"AliHLTHoughTransform::TransformCircle : Mismatching padrow numbering "<<i<<" "<<(Int_t)tempPt->fRow<<endl;
          continue;
        }
       
@@ -285,11 +285,11 @@ void AliL3HoughTransformer::TransformCircle()
          Float_t xyz[3];
 
          //Transform data to local cartesian coordinates:
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
                  
          //Calculate the eta:
-         Double_t eta = AliL3Transform::GetEta(xyz);
+         Double_t eta = AliHLTTransform::GetEta(xyz);
          
          //Get the corresponding index, which determines which histogram to fill:
          Int_t etaindex = GetEtaIndex(eta);
@@ -298,16 +298,16 @@ void AliL3HoughTransformer::TransformCircle()
            continue;
          
          //Get the correct histogrampointer:
-         AliL3Histogram *hist = fParamSpace[etaindex];
+         AliHLTHistogram *hist = fParamSpace[etaindex];
          if(!hist)
            {
-             cerr<<"AliL3HoughTransformer::TransformCircle : Error getting histogram in index "<<etaindex<<endl;
+             cerr<<"AliHLTHoughTransformer::TransformCircle : Error getting histogram in index "<<etaindex<<endl;
              continue;
            }
          
          //Do the transformation:
          Float_t r = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]); 
-         Float_t phi = AliL3Transform::GetPhi(xyz);
+         Float_t phi = AliHLTTransform::GetPhi(xyz);
          
          
          //Fill the histogram along the phirange
@@ -330,7 +330,7 @@ void AliL3HoughTransformer::TransformCircle()
                      for(c=0; c<MaxTrack; c++)
                        if(fTrackID[etaindex][bin].fLabel[c] == label || fTrackID[etaindex][bin].fNHits[c] == 0)
                          break;
-                     if(c == MaxTrack-1) cerr<<"AliL3HoughTransformer::TransformCircle : Array reached maximum!! "<<c<<endl;
+                     if(c == MaxTrack-1) cerr<<"AliHLTHoughTransformer::TransformCircle : Array reached maximum!! "<<c<<endl;
                      fTrackID[etaindex][bin].fLabel[c] = label;
                      fTrackID[etaindex][bin].fNHits[c]++;
                    }
@@ -340,69 +340,69 @@ void AliL3HoughTransformer::TransformCircle()
        }
       
       //Move the data pointer to the next padrow:
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
 }
 
-struct AliL3Digit {
+struct AliHLTDigit {
   Int_t fRow; // Digit padrow
   Double_t fR; // Digit radius in local coordinate system
   Double_t fPhi; // Digit Phi angle in local coordinate system
   Int_t fCharge; // Digit charge
-  AliL3Digit *fNext; // Next digit
+  AliHLTDigit *fNext; // Next digit
 };
 
-struct AliL3EtaContainer {
-  AliL3Digit *fFirst; //First digit
-  AliL3Digit *fLast; //Last digit
+struct AliHLTEtaContainer {
+  AliHLTDigit *fFirst; //First digit
+  AliHLTDigit *fLast; //Last digit
 };
 
-void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
+void AliHLTHoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
 {
   //Circle transform, using combinations of every 2 points lying
   //on different padrows and within the same etaslice.
   
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
-    LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircleC","Data")
+    LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircleC","Data")
       <<"No input data "<<ENDLOG;
   
-  Int_t minrow = AliL3Transform::GetFirstRow(GetPatch());
-  Int_t maxrow = AliL3Transform::GetLastRow(GetPatch());
+  Int_t minrow = AliHLTTransform::GetFirstRow(GetPatch());
+  Int_t maxrow = AliHLTTransform::GetLastRow(GetPatch());
   if(rowrange)
     {
       minrow = rowrange[0];
       maxrow = rowrange[1];
-      if(minrow < AliL3Transform::GetFirstRow(GetPatch()) || minrow >= AliL3Transform::GetLastRow(GetPatch()))
-       minrow = AliL3Transform::GetFirstRow(GetPatch());
-      if(maxrow < AliL3Transform::GetFirstRow(GetPatch()) || maxrow >= AliL3Transform::GetLastRow(GetPatch()))
-       maxrow = AliL3Transform::GetLastRow(GetPatch());
+      if(minrow < AliHLTTransform::GetFirstRow(GetPatch()) || minrow >= AliHLTTransform::GetLastRow(GetPatch()))
+       minrow = AliHLTTransform::GetFirstRow(GetPatch());
+      if(maxrow < AliHLTTransform::GetFirstRow(GetPatch()) || maxrow >= AliHLTTransform::GetLastRow(GetPatch()))
+       maxrow = AliHLTTransform::GetLastRow(GetPatch());
       if(minrow > maxrow || maxrow==minrow)
        {
-         cerr<<"AliL3HoughTransformer::TransformCircleC : Bad row range "<<minrow<<" "<<maxrow<<endl;
+         cerr<<"AliHLTHoughTransformer::TransformCircleC : Bad row range "<<minrow<<" "<<maxrow<<endl;
          return;
        }
     }
   else
     {
-      minrow = AliL3Transform::GetFirstRow(GetPatch());
-      maxrow = AliL3Transform::GetLastRow(GetPatch());
+      minrow = AliHLTTransform::GetFirstRow(GetPatch());
+      maxrow = AliHLTTransform::GetLastRow(GetPatch());
     }
       
   Int_t counter=0;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
       counter += tempPt->fNDigit;
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
-  Int_t bound = (GetNEtaSegments()+1)*(AliL3Transform::GetNRows(GetPatch())+1);
-  AliL3EtaContainer *etaPt = new AliL3EtaContainer[bound];
-  memset(etaPt,0,bound*sizeof(AliL3EtaContainer));  
+  Int_t bound = (GetNEtaSegments()+1)*(AliHLTTransform::GetNRows(GetPatch())+1);
+  AliHLTEtaContainer *etaPt = new AliHLTEtaContainer[bound];
+  memset(etaPt,0,bound*sizeof(AliHLTEtaContainer));  
   
-  AliL3Digit *digits = new AliL3Digit[counter];
-  cout<<"Allocating "<<counter*sizeof(AliL3Digit)<<" bytes to digitsarray"<<endl;
-  memset(digits,0,counter*sizeof(AliL3Digit));
+  AliHLTDigit *digits = new AliHLTDigit[counter];
+  cout<<"Allocating "<<counter*sizeof(AliHLTDigit)<<" bytes to digitsarray"<<endl;
+  memset(digits,0,counter*sizeof(AliHLTDigit));
 
   Int_t sector,row,totcharge,pad,time,charge;
   Double_t r1,r2,phi1,phi2,eta,kappa,phi0;
@@ -412,17 +412,17 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
   tempPt = GetDataPointer();
   
   cout<<"Calculating digits in patch "<<GetPatch()<<endl;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       for(UInt_t di=0; di<tempPt->fNDigit; di++)
        {
          charge = digPt[di].fCharge;
          pad = digPt[di].fPad;
          time = digPt[di].fTime;
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
-         eta = AliL3Transform::GetEta(xyz);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         eta = AliHLTTransform::GetEta(xyz);
          
          digits[counter].fRow = i;
          digits[counter].fR = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
@@ -433,7 +433,7 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
            {
              Int_t etaindex = GetEtaIndex(eta);
              
-             Int_t index = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + etaindex;
+             Int_t index = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + etaindex;
              
              if(index > 0 && index < bound) 
                {
@@ -449,8 +449,8 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
              Int_t etaindex[2];
              GetEtaIndexes(eta,etaindex);
              Int_t index[2];
-             index[0] = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + etaindex[0];
-             index[1] = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + etaindex[1];
+             index[0] = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + etaindex[0];
+             index[1] = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + etaindex[1];
              if(index[0] == index[1])
                {
                  cerr<<"Same etaindexes "<<index[0]<<" "<<index[1]<<endl;
@@ -480,26 +480,26 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
 
          counter++;
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
   cout<<"Doing the combinatorics"<<endl;
   
-  AliL3Digit *dPt1,*dPt2;
+  AliHLTDigit *dPt1,*dPt2;
   
   for(Int_t e=0; e<GetNEtaSegments(); e++)
     {
       for(Int_t i=minrow; i<=maxrow; i+=every)
        {
-         Int_t index1 = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + e;
+         Int_t index1 = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + e;
          
-         for(dPt1 = (AliL3Digit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliL3Digit*)dPt1->fNext)
+         for(dPt1 = (AliHLTDigit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliHLTDigit*)dPt1->fNext)
            {
              for(Int_t j=i+every; j<=maxrow; j+=every)
                {
-                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliL3Transform::GetFirstRow(GetPatch())) + e;
+                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliHLTTransform::GetFirstRow(GetPatch())) + e;
                  
-                 for(dPt2 = (AliL3Digit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliL3Digit*)dPt2->fNext)
+                 for(dPt2 = (AliHLTDigit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliHLTDigit*)dPt2->fNext)
                    {
                      if(dPt1->fRow == dPt2->fRow)
                        {
@@ -508,10 +508,10 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
                        }
                      
                      //Get the correct histogrampointer:
-                     AliL3Histogram *hist = fParamSpace[e];
+                     AliHLTHistogram *hist = fParamSpace[e];
                      if(!hist)
                        {
-                         printf("AliL3HoughTransformer::TransformCircleC() : No histogram at index %d\n",i);
+                         printf("AliHLTHoughTransformer::TransformCircleC() : No histogram at index %d\n",i);
                          continue;
                        }
                      
@@ -537,42 +537,42 @@ void AliL3HoughTransformer::TransformCircleC(Int_t *rowrange,Int_t every)
 
 }
 
-void AliL3HoughTransformer::TransformLine(Int_t *rowrange,Float_t *phirange)
+void AliHLTHoughTransformer::TransformLine(Int_t *rowrange,Float_t *phirange)
 {
   //Do a line transform on the data.
 
 
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformLine","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformLine","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
   
-  Int_t minrow = AliL3Transform::GetFirstRow(GetPatch());
-  Int_t maxrow = AliL3Transform::GetLastRow(GetPatch());
+  Int_t minrow = AliHLTTransform::GetFirstRow(GetPatch());
+  Int_t maxrow = AliHLTTransform::GetLastRow(GetPatch());
   if(rowrange)
     {
       minrow = rowrange[0];
       maxrow = rowrange[1];
-      if(minrow < AliL3Transform::GetFirstRow(GetPatch()) || minrow >= AliL3Transform::GetLastRow(GetPatch()))
-       minrow = AliL3Transform::GetFirstRow(GetPatch());
-      if(maxrow < AliL3Transform::GetFirstRow(GetPatch()) || maxrow >= AliL3Transform::GetLastRow(GetPatch()))
-       maxrow = AliL3Transform::GetLastRow(GetPatch());
+      if(minrow < AliHLTTransform::GetFirstRow(GetPatch()) || minrow >= AliHLTTransform::GetLastRow(GetPatch()))
+       minrow = AliHLTTransform::GetFirstRow(GetPatch());
+      if(maxrow < AliHLTTransform::GetFirstRow(GetPatch()) || maxrow >= AliHLTTransform::GetLastRow(GetPatch()))
+       maxrow = AliHLTTransform::GetLastRow(GetPatch());
       if(minrow > maxrow || maxrow==minrow)
        {
-         cerr<<"AliL3HoughTransformer::TransformCircleC : Bad row range "<<minrow<<" "<<maxrow<<endl;
+         cerr<<"AliHLTHoughTransformer::TransformCircleC : Bad row range "<<minrow<<" "<<maxrow<<endl;
          return;
        }
     }
 
   for(Int_t i=minrow; i<=maxrow; i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if(i != (Int_t)tempPt->fRow)
        {
-         printf("AliL3HoughTransform::TransformLine : Mismatching padrow numbering\n");
+         printf("AliHLTHoughTransform::TransformLine : Mismatching padrow numbering\n");
          continue;
        }
       for(UInt_t j=0; j<tempPt->fNDigit; j++)
@@ -584,27 +584,27 @@ void AliL3HoughTransformer::TransformLine(Int_t *rowrange,Float_t *phirange)
            continue;
          Int_t sector,row;
          Float_t xyz[3];
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
          
          if(phirange)
            {
-             Float_t phi = AliL3Transform::GetPhi(xyz);
+             Float_t phi = AliHLTTransform::GetPhi(xyz);
              if(phi < phirange[0] || phi > phirange[1])
                continue;
            }
-         Float_t eta = AliL3Transform::GetEta(xyz);
+         Float_t eta = AliHLTTransform::GetEta(xyz);
          Int_t etaindex = GetEtaIndex(eta);//(Int_t)(eta/etaslice);
          if(etaindex < 0 || etaindex >= GetNEtaSegments())
            continue;
          
-         xyz[0] = xyz[0] - AliL3Transform::Row2X(minrow);
+         xyz[0] = xyz[0] - AliHLTTransform::Row2X(minrow);
          
          //Get the correct histogram:
-         AliL3Histogram *hist = fParamSpace[etaindex];
+         AliHLTHistogram *hist = fParamSpace[etaindex];
          if(!hist)
            {
-             printf("AliL3HoughTransformer::TransformLine : Error getting histogram in index %d\n",etaindex);
+             printf("AliHLTHoughTransformer::TransformLine : Error getting histogram in index %d\n",etaindex);
              continue;
            }
          for(Int_t xbin=hist->GetFirstXbin(); xbin<hist->GetLastXbin(); xbin++)
@@ -614,44 +614,44 @@ void AliL3HoughTransformer::TransformLine(Int_t *rowrange,Float_t *phirange)
              hist->Fill(theta,rho,charge);
            }
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
 }
 
-struct AliL3LDigit {
+struct AliHLTLDigit {
   Int_t fRow; // Digit rowpad
   Int_t fCharge; // Digit charge
   Float_t fY; // Y position of the digit in the local coor system
-  AliL3LDigit *fNext; // Next digit
+  AliHLTLDigit *fNext; // Next digit
 };
-struct AliL3LEtaContainer {
-  AliL3LDigit *fFirst; //First digit
-  AliL3LDigit *fLast; //Last digit
+struct AliHLTLEtaContainer {
+  AliHLTLDigit *fFirst; //First digit
+  AliHLTLDigit *fLast; //Last digit
 };
-void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
+void AliHLTHoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
 {
   //Circle transform ??
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
-    LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircleC","Data")
+    LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircleC","Data")
       <<"No input data "<<ENDLOG;
 
       
   Int_t counter=0;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
       counter += tempPt->fNDigit;
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
-  Int_t bound = (GetNEtaSegments()+1)*(AliL3Transform::GetNRows(GetPatch())+1);
-  AliL3LEtaContainer *etaPt = new AliL3LEtaContainer[bound];
-  memset(etaPt,0,bound*sizeof(AliL3LEtaContainer));  
+  Int_t bound = (GetNEtaSegments()+1)*(AliHLTTransform::GetNRows(GetPatch())+1);
+  AliHLTLEtaContainer *etaPt = new AliHLTLEtaContainer[bound];
+  memset(etaPt,0,bound*sizeof(AliHLTLEtaContainer));  
   
-  AliL3LDigit *digits = new AliL3LDigit[counter];
-  cout<<"Allocating "<<counter*sizeof(AliL3LDigit)<<" bytes to digitsarray"<<endl;
-  memset(digits,0,counter*sizeof(AliL3LDigit));
+  AliHLTLDigit *digits = new AliHLTLDigit[counter];
+  cout<<"Allocating "<<counter*sizeof(AliHLTLDigit)<<" bytes to digitsarray"<<endl;
+  memset(digits,0,counter*sizeof(AliHLTLDigit));
 
   Int_t sector,row;
   Float_t xyz[3];
@@ -660,17 +660,17 @@ void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
   tempPt = GetDataPointer();
   
   cout<<"Calculating digits in patch "<<GetPatch()<<endl;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       for(UInt_t di=0; di<tempPt->fNDigit; di++)
        {
          Int_t charge = digPt[di].fCharge;
          Int_t pad = digPt[di].fPad;
          Int_t time = digPt[di].fTime;
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
-         Double_t eta = AliL3Transform::GetEta(xyz);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         Double_t eta = AliHLTTransform::GetEta(xyz);
          
          Float_t phi = atan2(xyz[1],xyz[0]);
          if(phi < phirange[0] || phi > phirange[1]) continue;
@@ -680,7 +680,7 @@ void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
          digits[counter].fCharge = charge;
          
          Int_t etaindex = GetEtaIndex(eta);
-         Int_t index = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + etaindex;
+         Int_t index = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + etaindex;
          
          if(index > 0 && index < bound) 
            {
@@ -692,26 +692,26 @@ void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
            }
          counter++;
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
   cout<<"Doing the combinatorics"<<endl;
   
-  AliL3LDigit *dPt1,*dPt2;
+  AliHLTLDigit *dPt1,*dPt2;
   
   for(Int_t e=0; e<GetNEtaSegments(); e++)
     {
       for(Int_t i=rowrange[0]; i<=rowrange[1]; i++)
        {
-         Int_t index1 = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + e;
+         Int_t index1 = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + e;
          
-         for(dPt1 = (AliL3LDigit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliL3LDigit*)dPt1->fNext)
+         for(dPt1 = (AliHLTLDigit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliHLTLDigit*)dPt1->fNext)
            {
              for(Int_t j=i+1; j<=rowrange[1]; j++)
                {
-                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliL3Transform::GetFirstRow(GetPatch())) + e;
+                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliHLTTransform::GetFirstRow(GetPatch())) + e;
                  
-                 for(dPt2 = (AliL3LDigit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliL3LDigit*)dPt2->fNext)
+                 for(dPt2 = (AliHLTLDigit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliHLTLDigit*)dPt2->fNext)
                    {
                      if(dPt1->fRow == dPt2->fRow)
                        {
@@ -720,16 +720,16 @@ void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
                        }
                      
                      //Get the correct histogrampointer:
-                     AliL3Histogram *hist = fParamSpace[e];
+                     AliHLTHistogram *hist = fParamSpace[e];
                      if(!hist)
                        {
-                         printf("AliL3HoughTransformer::TransformCircleC() : No histogram at index %d\n",i);
+                         printf("AliHLTHoughTransformer::TransformCircleC() : No histogram at index %d\n",i);
                          continue;
                        }
                      
                      //Do the transform:
-                     float x1 = AliL3Transform::Row2X(dPt1->fRow) - AliL3Transform::Row2X(rowrange[0]);
-                     float x2 = AliL3Transform::Row2X(dPt2->fRow) - AliL3Transform::Row2X(rowrange[0]);
+                     float x1 = AliHLTTransform::Row2X(dPt1->fRow) - AliHLTTransform::Row2X(rowrange[0]);
+                     float x2 = AliHLTTransform::Row2X(dPt2->fRow) - AliHLTTransform::Row2X(rowrange[0]);
                      float y1 = dPt1->fY;
                      float y2 = dPt2->fY;
                      float theta = atan2(x2-x1,y1-y2);
@@ -747,21 +747,21 @@ void AliL3HoughTransformer::TransformLineC(Int_t *rowrange,Float_t *phirange)
 }
 
 #ifdef do_mc
-Int_t AliL3HoughTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const
+Int_t AliHLTHoughTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const
 {
   // Returns the MC label for a given peak found in the Hough space
   if(!fDoMC)
     {
-      cerr<<"AliL3HoughTransformer::GetTrackID : Flag switched off"<<endl;
+      cerr<<"AliHLTHoughTransformer::GetTrackID : Flag switched off"<<endl;
       return -1;
     }
   
   if(etaindex < 0 || etaindex > GetNEtaSegments())
     {
-      cerr<<"AliL3HoughTransformer::GetTrackID : Wrong etaindex "<<etaindex<<endl;
+      cerr<<"AliHLTHoughTransformer::GetTrackID : Wrong etaindex "<<etaindex<<endl;
       return -1;
     }
-  AliL3Histogram *hist = fParamSpace[etaindex];
+  AliHLTHistogram *hist = fParamSpace[etaindex];
   Int_t bin = hist->FindBin(kappa,psi);
   Int_t label=-1;
   Int_t max=0;
@@ -778,16 +778,16 @@ Int_t AliL3HoughTransformer::GetTrackID(Int_t etaindex,Double_t kappa,Double_t p
   //nhits = max;
   return label;
 #else
-  Int_t AliL3HoughTransformer::GetTrackID(Int_t /*etaindex*/,Double_t /*kappa*/,Double_t /*psi*/) const
+  Int_t AliHLTHoughTransformer::GetTrackID(Int_t /*etaindex*/,Double_t /*kappa*/,Double_t /*psi*/) const
 {
   // Returns the MC label for a given peak found in the Hough space
   if(!fDoMC)
     {
-      cerr<<"AliL3HoughTransformer::GetTrackID : Flag switched off"<<endl;
+      cerr<<"AliHLTHoughTransformer::GetTrackID : Flag switched off"<<endl;
       return -1;
     }
   
-  cout<<"AliL3HoughTransformer::GetTrackID : Compile with do_mc flag!"<<endl;
+  cout<<"AliHLTHoughTransformer::GetTrackID : Compile with do_mc flag!"<<endl;
   return -1;
 #endif
 }
similarity index 64%
rename from HLT/hough/AliL3HoughTransformer.h
rename to HLT/hough/AliHLTHoughTransformer.h
index 5cd5c8c0713d4eccf92239f682fab198122ba054..0690e431d2def22614b533a72bf75734d678bfce 100644 (file)
@@ -4,22 +4,22 @@
 #define ALIL3HOUGHTRANSFORMER_H
 
 //-------------------------------------------------------------------------
-//                Class AliL3HoughTransformer
+//                Class AliHLTHoughTransformer
 //   This is one of the possible implementations of the Hough Transform
 //   TPC tracking algorithms for HLT. 
 //-------------------------------------------------------------------------
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughBaseTransformer.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughBaseTransformer.h"
 
-class AliL3Histogram;
+class AliHLTHistogram;
 
-class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
+class AliHLTHoughTransformer : public AliHLTHoughBaseTransformer {
 
  public:
-  AliL3HoughTransformer(); 
-  AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap=kFALSE,Bool_t DoMC=kFALSE);
-  virtual ~AliL3HoughTransformer();
+  AliHLTHoughTransformer(); 
+  AliHLTHoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap=kFALSE,Bool_t DoMC=kFALSE);
+  virtual ~AliHLTHoughTransformer();
   
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,Int_t nybin,Float_t psi);
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
@@ -28,7 +28,7 @@ class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
   void Reset();
   void TransformCircle();
   void TransformCircle(Int_t *rowrange,Int_t every) {
-    AliL3HoughBaseTransformer:: TransformCircle(rowrange,every);
+    AliHLTHoughBaseTransformer:: TransformCircle(rowrange,every);
   }
   void TransformCircleC(Int_t *rowrange,Int_t every=1);
   void TransformLine(Int_t *rowrange=0,Float_t *phirange=0);
@@ -36,25 +36,27 @@ class AliL3HoughTransformer : public AliL3HoughBaseTransformer {
 
   Int_t GetEtaIndex(Double_t eta) const;
   void GetEtaIndexes(Double_t eta,Int_t *indexes) const;
-  AliL3Histogram *GetHistogram(Int_t etaindex);
+  AliHLTHistogram *GetHistogram(Int_t etaindex);
   Double_t GetEta(Int_t etaindex,Int_t slice) const;
   Int_t GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const;
   
  private:
   
-  AliL3Histogram **fParamSpace; //!
+  AliHLTHistogram **fParamSpace; //!
 #ifdef do_mc
-  AliL3TrackIndex **fTrackID; //!
+  AliHLTTrackIndex **fTrackID; //!
 #endif
   Bool_t fDoMC; // Calculate mc labels or not
   Bool_t fEtaOverlap; // Allow overlapping of eta slice or not
   
   void DeleteHistograms();
 
-  ClassDef(AliL3HoughTransformer,1) //Normal Hough transformation class
+  ClassDef(AliHLTHoughTransformer,1) //Normal Hough transformation class
 
 };
 
+typedef AliHLTHoughTransformer AliL3HoughTransformer; // for backward compatibility
+
 #endif
 
 
similarity index 60%
rename from HLT/hough/AliL3HoughTransformerGlobal.cxx
rename to HLT/hough/AliHLTHoughTransformerGlobal.cxx
index 7396e3a8df938fc8ceccb4ce60ab812512edf9cf..743f8906010868111ccda5c59b0994c340e1e1f5 100644 (file)
@@ -3,19 +3,19 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3HoughTransformerGlobal.h"
-#include "AliL3FileHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3Track.h"
-#include "AliL3Histogram.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughMaxFinder.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughTransformerGlobal.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTrack.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughMaxFinder.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTSpacePointData.h"
 
 #include <TH2.h>
 
@@ -24,14 +24,14 @@ using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughTransformerGlobal
+// AliHLTHoughTransformerGlobal
 //
 // Hough transformation class
 //
 
-ClassImp(AliL3HoughTransformerGlobal)
+ClassImp(AliHLTHoughTransformerGlobal)
 
-AliL3HoughTransformerGlobal::AliL3HoughTransformerGlobal()
+AliHLTHoughTransformerGlobal::AliHLTHoughTransformerGlobal()
 {
   //default ctor
   fPadMin=0;
@@ -46,7 +46,7 @@ AliL3HoughTransformerGlobal::AliL3HoughTransformerGlobal()
   fSeedPadRow=-1;
 }
 
-AliL3HoughTransformerGlobal::AliL3HoughTransformerGlobal(Char_t *path,Int_t event)
+AliHLTHoughTransformerGlobal::AliHLTHoughTransformerGlobal(Char_t *path,Int_t event)
 {
   //normal ctor
   strcpy(fPath,path);
@@ -57,11 +57,11 @@ AliL3HoughTransformerGlobal::AliL3HoughTransformerGlobal(Char_t *path,Int_t even
   fPsi=0;
   fPtMin=0;
   fNActiveSlice=0;
-  fTracks = new AliL3TrackArray("AliL3HoughTrack");
-  fPeakFinder = new AliL3HoughMaxFinder("KappaPhi",1000);
+  fTracks = new AliHLTTrackArray("AliHLTHoughTrack");
+  fPeakFinder = new AliHLTHoughMaxFinder("KappaPhi",1000);
 }
 
-AliL3HoughTransformerGlobal::~AliL3HoughTransformerGlobal()
+AliHLTHoughTransformerGlobal::~AliHLTHoughTransformerGlobal()
 {
   //dtor
   if(fPadMin)
@@ -76,22 +76,22 @@ AliL3HoughTransformerGlobal::~AliL3HoughTransformerGlobal()
   
 }
 
-void AliL3HoughTransformerGlobal::CreateHistograms(Float_t /*ptmin*/,Int_t nxbin,Int_t nybin)
+void AliHLTHoughTransformerGlobal::CreateHistograms(Float_t /*ptmin*/,Int_t nxbin,Int_t nybin)
 {
   //create histograms for HT
   if(fPsi==0)
     {
-      cerr<<"AliL3HoughTransformerGlobal::CreateHistograms : Call DefineRegion first"<<endl;
+      cerr<<"AliHLTHoughTransformerGlobal::CreateHistograms : Call DefineRegion first"<<endl;
       exit(5);
     }
-  AliL3HoughTransformer::CreateHistograms(nxbin,fPtMin,nybin,-fPsi,fPsi);
-  //AliL3HoughTransformer::CreateHistograms(fPtMin,ptmax,ptres,nybin,fPsi);
+  AliHLTHoughTransformer::CreateHistograms(nxbin,fPtMin,nybin,-fPsi,fPsi);
+  //AliHLTHoughTransformer::CreateHistograms(fPtMin,ptmax,ptres,nybin,fPsi);
 }
 
-void AliL3HoughTransformerGlobal::TransformCircleC()
+void AliHLTHoughTransformerGlobal::TransformCircleC()
 {
   //Hough Transform
-  AliL3Seed *clusters = new AliL3Seed[1000];
+  AliHLTSeed *clusters = new AliHLTSeed[1000];
   Int_t nclusters = LoadClusterSeeds(clusters);
   
   Int_t i=0,sector,row,slice;
@@ -108,12 +108,12 @@ void AliL3HoughTransformerGlobal::TransformCircleC()
        slice = sl;
       cout<<"Transforming in slice "<<slice<<endl;
       
-      AliL3DigitRowData *rowPt = (AliL3DigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
+      AliHLTDigitRowData *rowPt = (AliHLTDigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
       
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
          if(padrow == fSeedPadRow) continue;
-         AliL3DigitData *digits = (AliL3DigitData*)rowPt->fDigitData;
+         AliHLTDigitData *digits = (AliHLTDigitData*)rowPt->fDigitData;
          
          for(UInt_t j=0; j<rowPt->fNDigit; j++)
            {
@@ -130,17 +130,17 @@ void AliL3HoughTransformerGlobal::TransformCircleC()
              if(charge > GetUpperThreshold() || charge < GetLowerThreshold())
                continue;
              
-             AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+             AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
              
              Rotate(xyz,i-1-fNActiveSlice);
              
-             AliL3Transform::XYZtoRPhiEta(rpe,xyz);
+             AliHLTTransform::XYZtoRPhiEta(rpe,xyz);
              rpe[0] = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
              
              Int_t etaindex = GetEtaIndex(rpe[2]);
              
-             AliL3Histogram *hist = GetHistogram(etaindex);
+             AliHLTHistogram *hist = GetHistogram(etaindex);
              
              for(Int_t l=0; l<nclusters; l++)
                {
@@ -154,13 +154,13 @@ void AliL3HoughTransformerGlobal::TransformCircleC()
                  hist->Fill(kappa,psi,charge);
                }
            }
-         AliL3MemHandler::UpdateRowPointer(rowPt);
+         AliHLTMemHandler::UpdateRowPointer(rowPt);
        }
     }
   delete [] clusters;
 }
 
-void AliL3HoughTransformerGlobal::TransformCircle()
+void AliHLTHoughTransformerGlobal::TransformCircle()
 {
   //Hough Transform  
   Int_t i=0,sector,row,slice;
@@ -177,12 +177,12 @@ void AliL3HoughTransformerGlobal::TransformCircle()
        slice = sl;
       cout<<"Transforming in slice "<<slice<<endl;
       
-      AliL3DigitRowData *rowPt = (AliL3DigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
+      AliHLTDigitRowData *rowPt = (AliHLTDigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
       
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
 
-         AliL3DigitData *digits = (AliL3DigitData*)rowPt->fDigitData;
+         AliHLTDigitData *digits = (AliHLTDigitData*)rowPt->fDigitData;
          
          for(UInt_t j=0; j<rowPt->fNDigit; j++)
            {
@@ -199,17 +199,17 @@ void AliL3HoughTransformerGlobal::TransformCircle()
              if(charge > GetUpperThreshold() || charge < GetLowerThreshold())
                continue;
              
-             AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+             AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
              
              Rotate(xyz,i-1-fNActiveSlice);
              
-             AliL3Transform::XYZtoRPhiEta(rpe,xyz);
+             AliHLTTransform::XYZtoRPhiEta(rpe,xyz);
              rpe[0] = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
              
              Int_t etaindex = GetEtaIndex(rpe[2]);
              
-             AliL3Histogram *hist = GetHistogram(etaindex);
+             AliHLTHistogram *hist = GetHistogram(etaindex);
              
              for(Int_t b=hist->GetFirstYbin(); b<=hist->GetLastYbin(); b++)
                {
@@ -223,39 +223,39 @@ void AliL3HoughTransformerGlobal::TransformCircle()
                  //hist->Fill(kappa,psi,(int)rint(log((Float_t)charge)));
                }
            }
-         AliL3MemHandler::UpdateRowPointer(rowPt);
+         AliHLTMemHandler::UpdateRowPointer(rowPt);
        }
     }
 }
 
-void AliL3HoughTransformerGlobal::VerifyTracks(AliL3TrackArray *tracks,Int_t &index)
+void AliHLTHoughTransformerGlobal::VerifyTracks(AliHLTTrackArray *tracks,Int_t &index)
 {
   //remove tracks which do not cross the seed padrow
   for(int i=index; i<tracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *tr = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *tr = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!tr) continue;
 
       Float_t angle=0;
-      AliL3Transform::Local2GlobalAngle(&angle,GetSlice());
-      if(!tr->CalculateReferencePoint(angle,AliL3Transform::Row2X(fSeedPadRow)))
+      AliHLTTransform::Local2GlobalAngle(&angle,GetSlice());
+      if(!tr->CalculateReferencePoint(angle,AliHLTTransform::Row2X(fSeedPadRow)))
        {
          tracks->Remove(i);
          continue;
        }
       Int_t sector,row;
-      AliL3Transform::Slice2Sector(GetSlice(),fSeedPadRow,sector,row);
+      AliHLTTransform::Slice2Sector(GetSlice(),fSeedPadRow,sector,row);
       float xyz[3] = {tr->GetPointX(),tr->GetPointY(),tr->GetPointZ()};
-      AliL3Transform::Global2Raw(xyz,sector,row);
-      if(xyz[1]<0 || xyz[1]>=AliL3Transform::GetNPads(fSeedPadRow) ||
-        xyz[2]<0 || xyz[2]>=AliL3Transform::GetNTimeBins())
+      AliHLTTransform::Global2Raw(xyz,sector,row);
+      if(xyz[1]<0 || xyz[1]>=AliHLTTransform::GetNPads(fSeedPadRow) ||
+        xyz[2]<0 || xyz[2]>=AliHLTTransform::GetNTimeBins())
        tracks->Remove(i);
     }
   tracks->Compress();
   index = tracks->GetNTracks();
 }
 
-void AliL3HoughTransformerGlobal::FindPeaks(AliL3Histogram *hist,Float_t eta)
+void AliHLTHoughTransformerGlobal::FindPeaks(AliHLTHistogram *hist,Float_t eta)
 {
   //Peak Finder  
   fPeakFinder->Reset();
@@ -264,26 +264,26 @@ void AliL3HoughTransformerGlobal::FindPeaks(AliL3Histogram *hist,Float_t eta)
   if(fPeakFinder->GetWeight(0) < 1000)
     return;
   
-  AliL3HoughTrack *track = (AliL3HoughTrack*)fTracks->NextTrack();
+  AliHLTHoughTrack *track = (AliHLTHoughTrack*)fTracks->NextTrack();
   track->SetTrackParameters(fPeakFinder->GetXPeak(0),fPeakFinder->GetYPeak(0),fPeakFinder->GetWeight(0));
   track->SetEta(eta);
-  track->SetRowRange(AliL3Transform::GetFirstRow(0),AliL3Transform::GetLastRow(5));
+  track->SetRowRange(AliHLTTransform::GetFirstRow(0),AliHLTTransform::GetLastRow(5));
 }
 
-void AliL3HoughTransformerGlobal::Rotate(Float_t *xyz,Int_t relslice)
+void AliHLTHoughTransformerGlobal::Rotate(Float_t *xyz,Int_t relslice)
 {
   //Rotate coordinates from one slice to the slice relative to it;
   //-1 means lower
   //1 means upper
 
-  Float_t angle = (Float_t)relslice*AliL3Transform::Deg2Rad(20);
+  Float_t angle = (Float_t)relslice*AliHLTTransform::Deg2Rad(20);
   Float_t x=xyz[0],y=xyz[1];
   xyz[0] = x*cos(angle) - y*sin(angle);
   xyz[1] = x*sin(angle) + y*cos(angle);
 }
 
 
-void AliL3HoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/,Int_t seedpadrow)
+void AliHLTHoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/,Int_t seedpadrow)
 {
   //Setup the region to be included in the transform
   //This function should be called only once, since it is the same for all slices.
@@ -291,8 +291,8 @@ void AliL3HoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/
   fSeedPadRow=seedpadrow;
   fPtMin = minpt;
   
-  fPadMin = new Int_t[AliL3Transform::GetNRows()];
-  fPadMax = new Int_t[AliL3Transform::GetNRows()];
+  fPadMin = new Int_t[AliHLTTransform::GetNRows()];
+  fPadMax = new Int_t[AliHLTTransform::GetNRows()];
   
   //Phirange of data which should be included in the transform
   //Here we assume a min pt to define it; fPtMin
@@ -308,22 +308,22 @@ void AliL3HoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/
   if(phi2 > phi)
     phi = phi2;
   
-  cout<<"Phiangle "<<phi*180/AliL3Transform::Pi()<<" psi "<<fPsi*180/AliL3Transform::Pi()<<" nslices "<<fNActiveSlice<<endl;
+  cout<<"Phiangle "<<phi*180/AliHLTTransform::Pi()<<" psi "<<fPsi*180/AliHLTTransform::Pi()<<" nslices "<<fNActiveSlice<<endl;
   
   Float_t rotangle = fNActiveSlice*20;
   
   //Calculate the LUT for min/max pad for every padrow, and check which slices we need.
   Int_t pad,sector,row;
-  for(Int_t i=0; i<AliL3Transform::GetNRows(); i++)
+  for(Int_t i=0; i<AliHLTTransform::GetNRows(); i++)
     {
-      AliL3Transform::Slice2Sector(0,i,sector,row);
+      AliHLTTransform::Slice2Sector(0,i,sector,row);
       
       //Lower boundary:
-      pad = AliL3Transform::GetNPads(i)-1;
+      pad = AliHLTTransform::GetNPads(i)-1;
       while(pad >= 0)
        {
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,0);
-         if(AliL3Transform::GetPhi(xyz) > -1.*phi + AliL3Transform::Deg2Rad(rotangle))
+         AliHLTTransform::Raw2Local(xyz,sector,row,pad,0);
+         if(AliHLTTransform::GetPhi(xyz) > -1.*phi + AliHLTTransform::Deg2Rad(rotangle))
            fPadMin[i] = pad;
          else
            break;
@@ -332,10 +332,10 @@ void AliL3HoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/
       
       //Upper boundary
       pad = 0;
-      while(pad < AliL3Transform::GetNPads(i))
+      while(pad < AliHLTTransform::GetNPads(i))
        {
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,0);
-         if(AliL3Transform::GetPhi(xyz) < phi - AliL3Transform::Deg2Rad(rotangle))
+         AliHLTTransform::Raw2Local(xyz,sector,row,pad,0);
+         if(AliHLTTransform::GetPhi(xyz) < phi - AliHLTTransform::Deg2Rad(rotangle))
            fPadMax[i] = pad;
          else
            break;
@@ -347,28 +347,28 @@ void AliL3HoughTransformerGlobal::DefineRegion(Float_t minpt,Float_t /*linephi*/
 
 }
 
-Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
+Float_t AliHLTHoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
 {
   //Define Hough space borders
-  Double_t lineradius = sqrt(pow(AliL3Transform::Row2X(fSeedPadRow),2) + pow(AliL3Transform::GetMaxY(fSeedPadRow),2));
+  Double_t lineradius = sqrt(pow(AliHLTTransform::Row2X(fSeedPadRow),2) + pow(AliHLTTransform::GetMaxY(fSeedPadRow),2));
 
-  Double_t kappa = -charge*AliL3Transform::GetBField()*AliL3Transform::GetBFact()/fPtMin;
+  Double_t kappa = -charge*AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/fPtMin;
 
   //Calculate the psi angle of the track = emission angle with x-axis in origo
   if( fabs(lineradius*kappa/2) > 1)
     {
-      cerr<<"AliL3TransformerGlobal::DefineRegion : Angle too big"<<endl;
+      cerr<<"AliHLTTransformerGlobal::DefineRegion : Angle too big"<<endl;
       exit(5);
     }
   
   Int_t nslices=0;
-  Float_t psi = AliL3Transform::Deg2Rad(10) - asin(lineradius*kappa/2);
+  Float_t psi = AliHLTTransform::Deg2Rad(10) - asin(lineradius*kappa/2);
   if(charge > 0)
     fPsi=psi;
   
   cout<<"Calculated psi-angle "<<fPsi<<endl;
   
-  AliL3Track track;
+  AliHLTTrack track;
   track.SetFirstPoint(0,0,0);
   track.SetPt(fPtMin);
   track.SetPsi(psi);
@@ -377,7 +377,7 @@ Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
   
   Int_t crossingrow=0;
   if(charge < 0)
-    crossingrow = AliL3Transform::GetNRows()-1;
+    crossingrow = AliHLTTransform::GetNRows()-1;
   
   Float_t rotangle;
   
@@ -391,7 +391,7 @@ Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
        {
          if(crossingrow==0)
            {     
-             cerr<<"AliL3HoughTransformerGlobal::DefineRegion : Error calculating point1 on row "<<crossingrow<<endl;
+             cerr<<"AliHLTHoughTransformerGlobal::DefineRegion : Error calculating point1 on row "<<crossingrow<<endl;
              exit(5);
            }
          crossingrow--;
@@ -399,11 +399,11 @@ Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
     }
   else
     {
-      while(!track.CalculateReferencePoint(AliL3Transform::Deg2Rad(rotangle),AliL3Transform::Row2X(crossingrow)))
+      while(!track.CalculateReferencePoint(AliHLTTransform::Deg2Rad(rotangle),AliHLTTransform::Row2X(crossingrow)))
        {
          if(crossingrow==0)
            {
-             cerr<<"AliL3HoughTransformerGlobal::DefineRegion : Error calculating point2 on row "<<crossingrow<<endl;
+             cerr<<"AliHLTHoughTransformerGlobal::DefineRegion : Error calculating point2 on row "<<crossingrow<<endl;
              exit(5);
            }
          crossingrow--;
@@ -420,24 +420,24 @@ Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
   Rotate(xyz,-1*nslices);
   
   Int_t sector,row;
-  AliL3Transform::Slice2Sector(0,crossingrow,sector,row);
-  AliL3Transform::Local2Raw(xyz,sector,row);
+  AliHLTTransform::Slice2Sector(0,crossingrow,sector,row);
+  AliHLTTransform::Local2Raw(xyz,sector,row);
   if(xyz[1] < 0)
     {
       if(crossingrow>0)
        {
-         cerr<<"AliL3HoughTransformerGlobal::DefineRegion : Wrong pad, probably a deadzone... "<<xyz[1]<<endl;
+         cerr<<"AliHLTHoughTransformerGlobal::DefineRegion : Wrong pad, probably a deadzone... "<<xyz[1]<<endl;
          exit(5);
        }
       else
        return 0;//here you only want the crossing point with the outer padrow
     }
-  if(xyz[1] >= AliL3Transform::GetNPads(crossingrow)) //Here the range is even one more slice away
+  if(xyz[1] >= AliHLTTransform::GetNPads(crossingrow)) //Here the range is even one more slice away
     {
       cerr<<"One more slice with pad "<<xyz[1]<<endl;
       nslices++;
       if(charge < 0)
-       crossingrow = AliL3Transform::GetNRows()-1;
+       crossingrow = AliHLTTransform::GetNRows()-1;
       goto redefine;
     }
   
@@ -448,12 +448,12 @@ Float_t AliL3HoughTransformerGlobal::CalculateBorder(Float_t *xyz,Int_t charge)
   return phi;
 }
 
-void AliL3HoughTransformerGlobal::LoadActiveSlices(Bool_t binary)
+void AliHLTHoughTransformerGlobal::LoadActiveSlices(Bool_t binary)
 {
   //Load active slices
   if(fMemHandler)
     UnloadActiveSlices();
-  fMemHandler = new AliL3MemHandler*[(fNActiveSlice*2 + 1)];
+  fMemHandler = new AliHLTMemHandler*[(fNActiveSlice*2 + 1)];
   Char_t filename[1024];
   UInt_t dummy;
   Int_t i=0,slice;
@@ -466,7 +466,7 @@ void AliL3HoughTransformerGlobal::LoadActiveSlices(Bool_t binary)
       else
        slice = sl;
       cout<<"Loading slice "<<slice<<endl;
-      fMemHandler[i] = new AliL3FileHandler();
+      fMemHandler[i] = new AliHLTFileHandler();
       fMemHandler[i]->Init(slice,-1);
       if(binary)
        {
@@ -486,7 +486,7 @@ void AliL3HoughTransformerGlobal::LoadActiveSlices(Bool_t binary)
   
 }
 
-void AliL3HoughTransformerGlobal::UnloadActiveSlices()
+void AliHLTHoughTransformerGlobal::UnloadActiveSlices()
 {
   //Unload active slices
   if(!fMemHandler)
@@ -500,20 +500,20 @@ void AliL3HoughTransformerGlobal::UnloadActiveSlices()
   fMemHandler=0;
 }
 
-Int_t AliL3HoughTransformerGlobal::LoadClusterSeeds(AliL3Seed *seeds)
+Int_t AliHLTHoughTransformerGlobal::LoadClusterSeeds(AliHLTSeed *seeds)
 {
   //Load cluster seeds
   Char_t filename[1024];
   UInt_t npoints;
   sprintf(filename,"%s/hough/points_%d_%d_%d.raw",fPath,fEvent,GetSlice(),-1);
   //sprintf(filename,"../tracker/points_%d_%d_%d.raw",fEvent,GetSlice(),-1);
-  AliL3MemHandler mem;
+  AliHLTMemHandler mem;
   if(!mem.SetBinaryInput(filename))
     {
-      cerr<<"AliL3HoughTransformerGlobal::LoadClusterSeeds : Cannot open file "<<filename<<endl;
+      cerr<<"AliHLTHoughTransformerGlobal::LoadClusterSeeds : Cannot open file "<<filename<<endl;
       exit(5);
     }
-  AliL3SpacePointData *points = (AliL3SpacePointData*)mem.Allocate();
+  AliHLTSpacePointData *points = (AliHLTSpacePointData*)mem.Allocate();
   mem.Binary2Memory(npoints,points);
   mem.CloseBinaryInput();
   
@@ -523,14 +523,14 @@ Int_t AliL3HoughTransformerGlobal::LoadClusterSeeds(AliL3Seed *seeds)
       Int_t lrow = (Int_t)points[i].fPadRow;
       if(lrow < fSeedPadRow) continue;
       if(lrow > fSeedPadRow) break;
-      if(fabs(points[i].fY) > AliL3Transform::GetMaxY(lrow))
+      if(fabs(points[i].fY) > AliHLTTransform::GetMaxY(lrow))
        {
-         cerr<<"AliL3HoughTransformerGlobal::LoadClusterSeeds : Seeds seems not to be in local coordinates: "
+         cerr<<"AliHLTHoughTransformerGlobal::LoadClusterSeeds : Seeds seems not to be in local coordinates: "
              <<points[i].fY<<endl;
          exit(5);
        }
-      Float_t xyz[3] = {AliL3Transform::Row2X(lrow),points[i].fY,points[i].fZ};
-      Double_t eta = AliL3Transform::GetEta(xyz);
+      Float_t xyz[3] = {AliHLTTransform::Row2X(lrow),points[i].fY,points[i].fZ};
+      Double_t eta = AliHLTTransform::GetEta(xyz);
       seeds[counter].fPhi = atan2(xyz[1],xyz[0]);
       seeds[counter].fRadius = sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);
       seeds[counter].fIndex = GetEtaIndex(eta);
@@ -541,7 +541,7 @@ Int_t AliL3HoughTransformerGlobal::LoadClusterSeeds(AliL3Seed *seeds)
   return counter;
 }
 
-void AliL3HoughTransformerGlobal::DisplayActiveRegion(TH2F *hist,Int_t etaindex)
+void AliHLTHoughTransformerGlobal::DisplayActiveRegion(TH2F *hist,Int_t etaindex)
 {
   //Fill the active region in a histogram
   
@@ -557,10 +557,10 @@ void AliL3HoughTransformerGlobal::DisplayActiveRegion(TH2F *hist,Int_t etaindex)
       else
        slice = sl;
       cout<<"Displaying slice "<<slice<<endl;
-      AliL3DigitRowData *rowPt = (AliL3DigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
-      for(Int_t padrow=0; padrow<AliL3Transform::GetNRows(); padrow++)
+      AliHLTDigitRowData *rowPt = (AliHLTDigitRowData*)fMemHandler[i++]->GetDataPointer(dummy);
+      for(Int_t padrow=0; padrow<AliHLTTransform::GetNRows(); padrow++)
        {
-         AliL3DigitData *digits = (AliL3DigitData*)rowPt->fDigitData;
+         AliHLTDigitData *digits = (AliHLTDigitData*)rowPt->fDigitData;
          for(UInt_t j=0; j<rowPt->fNDigit; j++)
            {
              Int_t pad = digits[j].fPad;
@@ -569,16 +569,16 @@ void AliL3HoughTransformerGlobal::DisplayActiveRegion(TH2F *hist,Int_t etaindex)
              if(i==fNActiveSlice*2+1 && pad>fPadMax[padrow])
                continue;
              Int_t time = digits[j].fTime;
-             AliL3Transform::Slice2Sector(slice,padrow,sector,row);
-             AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+             AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
+             AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
             
              Rotate(xyz,i-1-fNActiveSlice);
              
-             Double_t eta = AliL3Transform::GetEta(xyz);
+             Double_t eta = AliHLTTransform::GetEta(xyz);
              if(GetEtaIndex(eta) == etaindex)
                hist->Fill(xyz[0],xyz[1]);
            }
-         AliL3MemHandler::UpdateRowPointer(rowPt);
+         AliHLTMemHandler::UpdateRowPointer(rowPt);
        }
     }
 }
similarity index 54%
rename from HLT/hough/AliL3HoughTransformerGlobal.h
rename to HLT/hough/AliHLTHoughTransformerGlobal.h
index a8a96fd9ad33f99af4081b28eadbd5aa73b2b280..8432f8a92bb8fe59736e9b5ebc870095db177376 100644 (file)
@@ -3,48 +3,48 @@
 #ifndef ALIL3HOUGHTRANSFORMERGLOBAL_H
 #define ALIL3HOUGHTRANSFORMERGLOBAL_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughTransformer.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughTransformer.h"
 
-class AliL3Histogram;
-class AliL3MemHandler;
-class AliL3TrackArray;
-class AliL3HoughMaxFinder;
+class AliHLTHistogram;
+class AliHLTMemHandler;
+class AliHLTTrackArray;
+class AliHLTHoughMaxFinder;
 class TH2F;
 
-struct AliL3Seed {
+struct AliHLTSeed {
   Float_t fPhi;//Track emission angle
   Float_t fRadius;//Track radius
   Float_t fEta;//Track eta
   Int_t fIndex;//index?
 };
 
-class AliL3HoughTransformerGlobal : public AliL3HoughTransformer {
+class AliHLTHoughTransformerGlobal : public AliHLTHoughTransformer {
 
  public:
-  AliL3HoughTransformerGlobal(); 
-  AliL3HoughTransformerGlobal(Char_t *path,Int_t event=0); 
-  virtual ~AliL3HoughTransformerGlobal();
+  AliHLTHoughTransformerGlobal(); 
+  AliHLTHoughTransformerGlobal(Char_t *path,Int_t event=0); 
+  virtual ~AliHLTHoughTransformerGlobal();
   
   void CreateHistograms(Float_t ptmin,Int_t nxbin,Int_t nybin);
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
-    AliL3HoughTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
+    AliHLTHoughTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
   }
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax) {
-    AliL3HoughTransformer::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
+    AliHLTHoughTransformer::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
   }
   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
                        Int_t nybin,Float_t ymin,Float_t ymax) {
-    AliL3HoughTransformer::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
+    AliHLTHoughTransformer::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
   }
-  void VerifyTracks(AliL3TrackArray *tracks,Int_t &index);
+  void VerifyTracks(AliHLTTrackArray *tracks,Int_t &index);
   void TransformCircle();
   void TransformCircle(Int_t *row_range,Int_t every) {
-    AliL3HoughTransformer::TransformCircle(row_range,every);
+    AliHLTHoughTransformer::TransformCircle(row_range,every);
   }
   void TransformCircleC();
   void TransformCircleC(Int_t *rowrange,Int_t every){
-    AliL3HoughTransformer::TransformCircleC(rowrange,every);
+    AliHLTHoughTransformer::TransformCircleC(rowrange,every);
   }
   void DefineRegion(Float_t ptmin,Float_t linephi,Int_t seedpadrow);
   void LoadActiveSlices(Bool_t binary=kTRUE);
@@ -53,7 +53,7 @@ class AliL3HoughTransformerGlobal : public AliL3HoughTransformer {
   
   void SetSeedPadRow(Int_t i) {fSeedPadRow=i;}
   
-  AliL3TrackArray *GetTracks() {return fTracks;}
+  AliHLTTrackArray *GetTracks() {return fTracks;}
   
  private:
   Int_t fEvent;//Event index
@@ -64,19 +64,21 @@ class AliL3HoughTransformerGlobal : public AliL3HoughTransformer {
   Float_t fPsi;//psi range
   Float_t fPtMin;//minimum pt
   Int_t fSeedPadRow;//?
-  AliL3MemHandler **fMemHandler; //!
-  AliL3TrackArray *fTracks; //!
-  AliL3HoughMaxFinder *fPeakFinder; //!
+  AliHLTMemHandler **fMemHandler; //!
+  AliHLTTrackArray *fTracks; //!
+  AliHLTHoughMaxFinder *fPeakFinder; //!
   
   void Rotate(Float_t *xyz,Int_t relslice);
-  void FindPeaks(AliL3Histogram *hist,Float_t eta);
-  Int_t LoadClusterSeeds(AliL3Seed *seeds);
+  void FindPeaks(AliHLTHistogram *hist,Float_t eta);
+  Int_t LoadClusterSeeds(AliHLTSeed *seeds);
   Float_t CalculateBorder(Float_t *xyz,Int_t charge);
   
-  ClassDef(AliL3HoughTransformerGlobal,1) 
+  ClassDef(AliHLTHoughTransformerGlobal,1) 
 
 };
 
+typedef AliHLTHoughTransformerGlobal AliL3HoughTransformerGlobal; // for backward compatibility
+
 #endif
 
 
similarity index 71%
rename from HLT/hough/AliL3HoughTransformerLUT.cxx
rename to HLT/hough/AliHLTHoughTransformerLUT.cxx
index c2895ad621f5febe2532c60030a45acbab02e290..cf8a1de8ae3bc52e8bfbe95dde85680bccc140a1 100644 (file)
@@ -2,33 +2,33 @@
 
 // Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
-/** /class AliL3HoughTransformerLUT
+/** /class AliHLTHoughTransformerLUT
 //<pre>
 //_____________________________________________________________
-// AliL3HoughTransformerLUT
+// AliHLTHoughTransformerLUT
 //
 // Hough transformation class using Look-UP-Tables
 //
 //</pre>
 */
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3HoughTransformerLUT.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Histogram.h"
-#include "AliL3HistogramAdaptive.h"
+#include "AliHLTLogging.h"
+#include "AliHLTHoughTransformerLUT.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHistogram.h"
+#include "AliHLTHistogramAdaptive.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3HoughTransformerLUT)
+ClassImp(AliHLTHoughTransformerLUT)
 
-AliL3HoughTransformerLUT::AliL3HoughTransformerLUT() : AliL3HoughBaseTransformer()
+AliHLTHoughTransformerLUT::AliHLTHoughTransformerLUT() : AliHLTHoughBaseTransformer()
 {
   // default contructor
   fParamSpace=0;
@@ -62,7 +62,7 @@ AliL3HoughTransformerLUT::AliL3HoughTransformerLUT() : AliL3HoughBaseTransformer
   fX=fY=0.;
 }
 
-AliL3HoughTransformerLUT::AliL3HoughTransformerLUT(Int_t slice,Int_t patch,Int_t nEtaSegments) : AliL3HoughBaseTransformer(slice,patch,nEtaSegments)
+AliHLTHoughTransformerLUT::AliHLTHoughTransformerLUT(Int_t slice,Int_t patch,Int_t nEtaSegments) : AliHLTHoughBaseTransformer(slice,patch,nEtaSegments)
 {
   // constructor
   fParamSpace=0;
@@ -97,7 +97,7 @@ AliL3HoughTransformerLUT::AliL3HoughTransformerLUT(Int_t slice,Int_t patch,Int_t
   Init(slice,patch,nEtaSegments);
 }
 
-AliL3HoughTransformerLUT::~AliL3HoughTransformerLUT()
+AliHLTHoughTransformerLUT::~AliHLTHoughTransformerLUT()
 {
   // destructor
   DeleteHistograms();
@@ -115,7 +115,7 @@ AliL3HoughTransformerLUT::~AliL3HoughTransformerLUT()
   }
 }
 
-void AliL3HoughTransformerLUT::DeleteHistograms()
+void AliHLTHoughTransformerLUT::DeleteHistograms()
 {
   // deletes all histograms
   if(fNPhi0){
@@ -140,10 +140,10 @@ void AliL3HoughTransformerLUT::DeleteHistograms()
   }
 }
 
-void AliL3HoughTransformerLUT::Init(Int_t slice,Int_t patch,Int_t nEtaSegments,Int_t /*nSeqs*/) 
+void AliHLTHoughTransformerLUT::Init(Int_t slice,Int_t patch,Int_t nEtaSegments,Int_t /*nSeqs*/) 
 {
   // Initialization
-  AliL3HoughBaseTransformer::Init(slice,patch,nEtaSegments);
+  AliHLTHoughBaseTransformer::Init(slice,patch,nEtaSegments);
 
   //delete old LUT tables
   if(fNRows){
@@ -158,26 +158,26 @@ void AliL3HoughTransformerLUT::Init(Int_t slice,Int_t patch,Int_t nEtaSegments,I
   }
 
   //member values
-  fMinRow=AliL3Transform::GetFirstRow(patch);;
-  fMaxRow=AliL3Transform::GetLastRow(patch);;
-  fNRows=AliL3Transform::GetNRows(patch);;
+  fMinRow=AliHLTTransform::GetFirstRow(patch);;
+  fMaxRow=AliHLTTransform::GetLastRow(patch);;
+  fNRows=AliHLTTransform::GetNRows(patch);;
   fNEtas=nEtaSegments;
   if(fNEtas!=GetNEtaSegments()) {
-    cerr << "AliL3HoughTransformerLUT::Init -> Error: Number of Etas must be equal!" << endl;
+    cerr << "AliHLTHoughTransformerLUT::Init -> Error: Number of Etas must be equal!" << endl;
     exit(1);
   }
 
-  AliL3Transform::Slice2Sector(slice,fMinRow,fSector,fSectorRow);
-  fZSign = slice < 18 ? 1:-1; //see AliL3Transformer
+  AliHLTTransform::Slice2Sector(slice,fMinRow,fSector,fSectorRow);
+  fZSign = slice < 18 ? 1:-1; //see AliHLTTransformer
   fSlice = slice;
-  fZLengthPlusOff=AliL3Transform::GetZLength()+AliL3Transform::GetZOffset();
-  fTimeWidth=AliL3Transform::GetZWidth();
+  fZLengthPlusOff=AliHLTTransform::GetZLength()+AliHLTTransform::GetZOffset();
+  fTimeWidth=AliHLTTransform::GetZWidth();
 
   fPadPitch=0;
-  if(fSector<AliL3Transform::GetNSectorLow())
-    fPadPitch=AliL3Transform::GetPadPitchWidthLow();
+  if(fSector<AliHLTTransform::GetNSectorLow())
+    fPadPitch=AliHLTTransform::GetPadPitchWidthLow();
   else
-    fPadPitch=AliL3Transform::GetPadPitchWidthUp();  
+    fPadPitch=AliHLTTransform::GetPadPitchWidthUp();  
 
   Float_t etaMax=GetEtaMax();
   Float_t etaMin=GetEtaMin();
@@ -187,8 +187,8 @@ void AliL3HoughTransformerLUT::Init(Int_t slice,Int_t patch,Int_t nEtaSegments,I
   fLUTX=new Float_t[fNRows];
   fLUTY=new Float_t[fNRows]; 
   for(Int_t rr=0;rr<fNRows;rr++){
-    fLUTX[rr]=Float_t(AliL3Transform::Row2X(rr+fMinRow));
-    fLUTY[rr]=Float_t(0.5*(AliL3Transform::GetNPads(rr+fMinRow)-1)*fPadPitch);
+    fLUTX[rr]=Float_t(AliHLTTransform::Row2X(rr+fMinRow));
+    fLUTY[rr]=Float_t(0.5*(AliHLTTransform::GetNPads(rr+fMinRow)-1)*fPadPitch);
     //cout << rr << ": " << (Float_t)fLUTX[rr] << " " << (Float_t)fLUTY[rr] << endl;
   }
 
@@ -204,7 +204,7 @@ void AliL3HoughTransformerLUT::Init(Int_t slice,Int_t patch,Int_t nEtaSegments,I
   }
 }
 
-void AliL3HoughTransformerLUT::CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,
+void AliHLTHoughTransformerLUT::CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,
                                             Int_t nybin,Float_t psi)
 {
   //Create histograms.
@@ -213,21 +213,21 @@ void AliL3HoughTransformerLUT::CreateHistograms(Float_t ptmin,Float_t ptmax,Floa
   
   if(ptmin > ptmax)
     {
-      cerr<<"AliL3HoughTransformerLUT::CreateHistograms: Error in ptrange "<<ptmin<<" "<<ptmax<<endl;
+      cerr<<"AliHLTHoughTransformerLUT::CreateHistograms: Error in ptrange "<<ptmin<<" "<<ptmax<<endl;
       return;
     }
   if(psi < 0)
     {
-      cerr<<"AliL3HoughTransformerLUT::CreateHistograms: Wrong psi-angle "<<psi<<endl;
+      cerr<<"AliHLTHoughTransformerLUT::CreateHistograms: Wrong psi-angle "<<psi<<endl;
       return;
     }
   
-  fParamSpace = new AliL3Histogram*[fNEtas];
+  fParamSpace = new AliHLTHistogram*[fNEtas];
   Char_t histname[256];
   for(Int_t i=0; i<GetNEtaSegments(); i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      fParamSpace[i] = new AliL3HistogramAdaptive(histname,ptmin,ptmax,ptres,nybin,-psi,psi);
+      fParamSpace[i] = new AliHLTHistogramAdaptive(histname,ptmin,ptmax,ptres,nybin,-psi,psi);
     }
 
   //create lookup table for sin and cos
@@ -236,7 +236,7 @@ void AliL3HoughTransformerLUT::CreateHistograms(Float_t ptmin,Float_t ptmax,Floa
   fLUT2sinphi0=new Float_t[fNPhi0];
   fLUT2cosphi0=new Float_t[fNPhi0];
   fLUTKappa=new Float_t[fNPhi0];
-  AliL3Histogram *hist=fParamSpace[0];
+  AliHLTHistogram *hist=fParamSpace[0];
   Int_t i=0;
   for(Int_t b=hist->GetFirstYbin(); b<=hist->GetLastYbin(); b++)
     {
@@ -250,7 +250,7 @@ void AliL3HoughTransformerLUT::CreateHistograms(Float_t ptmin,Float_t ptmax,Floa
     }
 }
 
-void AliL3HoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t ptMin,Int_t nybin,Float_t phimin,Float_t phimax)
+void AliHLTHoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t ptMin,Int_t nybin,Float_t phimin,Float_t phimax)
 {
   //Create the histograms (parameter space).
   //These are 2D histograms, span by kappa (curvature of track) and phi0 (emission angle with x-axis).
@@ -261,20 +261,20 @@ void AliL3HoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t ptMin,Int_t
   //phi_min = mimimum phi0 (degrees)
   //phi_max = maximum phi0 (degrees)
     
-  Double_t x = AliL3Transform::GetBFact()*AliL3Transform::GetBField()/ptMin;
-  //Double_t torad = AliL3Transform::Pi()/180;
+  Double_t x = AliHLTTransform::GetBFact()*AliHLTTransform::GetBField()/ptMin;
+  //Double_t torad = AliHLTTransform::Pi()/180;
   CreateHistograms(nxbin,-1.*x,x,nybin,phimin/**torad*/,phimax/**torad*/);
 }
 
-void AliL3HoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,Int_t nybin,Float_t ymin,Float_t ymax)
+void AliHLTHoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,Int_t nybin,Float_t ymin,Float_t ymax)
 {
-  fParamSpace = new AliL3Histogram*[fNEtas];
+  fParamSpace = new AliHLTHistogram*[fNEtas];
   
   Char_t histname[256];
   for(Int_t i=0; i<fNEtas; i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      fParamSpace[i] = new AliL3Histogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
+      fParamSpace[i] = new AliHLTHistogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
     }
   
   //create lookup table for sin and cos
@@ -284,7 +284,7 @@ void AliL3HoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
   fLUT2cosphi0=new Float_t[fNPhi0];
   fLUTKappa=new Float_t[fNPhi0];
 
-  AliL3Histogram *hist=fParamSpace[0];
+  AliHLTHistogram *hist=fParamSpace[0];
   Int_t i=0;
   for(Int_t b=hist->GetFirstYbin(); b<=hist->GetLastYbin(); b++)
     {
@@ -298,13 +298,13 @@ void AliL3HoughTransformerLUT::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
     }
 }
 
-void AliL3HoughTransformerLUT::Reset()
+void AliHLTHoughTransformerLUT::Reset()
 {
   //Reset all the histograms
 
   if(!fParamSpace)
     {
-      LOG(AliL3Log::kWarning,"AliL3HoughTransformer::Reset","Histograms")
+      LOG(AliHLTLog::kWarning,"AliHLTHoughTransformer::Reset","Histograms")
        <<"No histograms to reset"<<ENDLOG;
       return;
     }
@@ -313,7 +313,7 @@ void AliL3HoughTransformerLUT::Reset()
     fParamSpace[i]->Reset();
 }
 
-Int_t AliL3HoughTransformerLUT::GetEtaIndex(Double_t eta) const
+Int_t AliHLTHoughTransformerLUT::GetEtaIndex(Double_t eta) const
 {
   //Return the histogram index of the corresponding eta. 
   
@@ -328,7 +328,7 @@ Int_t AliL3HoughTransformerLUT::GetEtaIndex(Double_t eta) const
 #endif
 }
 
-AliL3Histogram *AliL3HoughTransformerLUT::GetHistogram(Int_t etaIndex)
+AliHLTHistogram *AliHLTHoughTransformerLUT::GetHistogram(Int_t etaIndex)
 {
   // gets hitogram
   if(!fParamSpace || etaIndex >= fNEtas || etaIndex < 0)
@@ -338,22 +338,22 @@ AliL3Histogram *AliL3HoughTransformerLUT::GetHistogram(Int_t etaIndex)
   return fParamSpace[etaIndex];
 }
 
-Double_t AliL3HoughTransformerLUT::GetEta(Int_t etaIndex,Int_t slice) const
+Double_t AliHLTHoughTransformerLUT::GetEta(Int_t etaIndex,Int_t slice) const
 {
   // gets eta
   if(etaIndex >= fNEtas || etaIndex < 0){
-    LOG(AliL3Log::kWarning,"AliL3HoughTransformerLUT::GetEta","Index") << "Index out of range."<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerLUT::GetEta","Index") << "Index out of range."<<ENDLOG;
     return 0.;
   }
   if(slice != fSlice){
-    LOG(AliL3Log::kWarning,"AliL3HoughTransformerLUT::GetEta","Index") << "Given slice does not match internal slice."<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerLUT::GetEta","Index") << "Given slice does not match internal slice."<<ENDLOG;
     return 0.;
   }
 
   return(fLUTEtaReal[etaIndex]);
 }
 
-void AliL3HoughTransformerLUT::TransformCircle()
+void AliHLTHoughTransformerLUT::TransformCircle()
 {
   //Transform the input data with a circle HT.
   //The function loops over all the data, and transforms each pixel with the equation:
@@ -364,10 +364,10 @@ void AliL3HoughTransformerLUT::TransformCircle()
   //
   //After a day of testing it is proven that this h
 
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformerLUT::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformerLUT::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
@@ -379,11 +379,11 @@ void AliL3HoughTransformerLUT::TransformCircle()
   for(Int_t i=fMinRow, row=0; i<=fMaxRow; i++, row++)
     {
       //Get the data on this padrow:
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if(i != (Int_t)tempPt->fRow)
        {
-         LOG(AliL3Log::kError,"AliL3HoughTransformerLUT::TransformCircle","Data")
-           <<"AliL3HoughTransformerLUT::TransformCircle : Mismatching padrow numbering "<<i<<" != "<<(Int_t)tempPt->fRow<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTHoughTransformerLUT::TransformCircle","Data")
+           <<"AliHLTHoughTransformerLUT::TransformCircle : Mismatching padrow numbering "<<i<<" != "<<(Int_t)tempPt->fRow<<ENDLOG;
          continue;
        }
 
@@ -442,7 +442,7 @@ void AliL3HoughTransformerLUT::TransformCircle()
          Int_t etaIndex = GetEtaIndex(eta);
 #endif
          if(etaIndex < 0 || etaIndex >= fNEtas){
-           LOG(AliL3Log::kWarning,"AliL3HoughTransformerLUT::TransformCircle","Histograms")<<"No histograms corresponding to eta index value of "<<etaIndex<<"."<<ENDLOG;
+           LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerLUT::TransformCircle","Histograms")<<"No histograms corresponding to eta index value of "<<etaIndex<<"."<<ENDLOG;
            continue;
          }       
 
@@ -462,11 +462,11 @@ void AliL3HoughTransformerLUT::TransformCircle()
       if(fAccCharge>0) AddCurveToHistogram(-1);
       
       //Move the data pointer to the next padrow:
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
 }
 
-void AliL3HoughTransformerLUT::Print()
+void AliHLTHoughTransformerLUT::Print()
 {
   // debug printout
   cout << "fSlice: " << GetSlice() << endl;
similarity index 73%
rename from HLT/hough/AliL3HoughTransformerLUT.h
rename to HLT/hough/AliHLTHoughTransformerLUT.h
index d7f930d26b1d7bafcf9bacc51364577e28e1b303..c5ea8cf2db6180da479fe6c091f4cc5b2b8fbed3 100644 (file)
@@ -3,21 +3,21 @@
 #ifndef ALIL3_HOUGHTRANSFORMERLUT
 #define ALIL3_HOUGHTRANSFORMERLUT
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughBaseTransformer.h"
-#include "AliL3Histogram.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughBaseTransformer.h"
+#include "AliHLTHistogram.h"
 
 /* use if you also want the eta index 
    to be looked up and linear searched */
 //#define FULLLUT
 
-class AliL3HoughTransformerLUT : public AliL3HoughBaseTransformer {
+class AliHLTHoughTransformerLUT : public AliHLTHoughBaseTransformer {
   
  public:
 
-  AliL3HoughTransformerLUT(); 
-  AliL3HoughTransformerLUT(Int_t slice,Int_t patch,Int_t nEtaSegments);
-  virtual ~AliL3HoughTransformerLUT();
+  AliHLTHoughTransformerLUT(); 
+  AliHLTHoughTransformerLUT(Int_t slice,Int_t patch,Int_t nEtaSegments);
+  virtual ~AliHLTHoughTransformerLUT();
   
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi);
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
@@ -26,18 +26,18 @@ class AliL3HoughTransformerLUT : public AliL3HoughBaseTransformer {
 
   void TransformCircle();
   void TransformCircle(Int_t *row_range,Int_t every) {
-    AliL3HoughBaseTransformer::TransformCircle(row_range,every);
+    AliHLTHoughBaseTransformer::TransformCircle(row_range,every);
   }
 
   Int_t GetEtaIndex(Double_t eta) const;
-  AliL3Histogram *GetHistogram(Int_t etaIndex);
+  AliHLTHistogram *GetHistogram(Int_t etaIndex);
   Double_t GetEta(Int_t etaIndex,Int_t slice) const;
   
   void Print();
   void Init(Int_t slice=0,Int_t patch=0,Int_t nEtaSegments=100,Int_t nSeqs=-1);
 
  protected:
-  AliL3Histogram **fParamSpace; //!
+  AliHLTHistogram **fParamSpace; //!
 
   void DeleteHistograms();
   
@@ -78,11 +78,13 @@ class AliL3HoughTransformerLUT : public AliL3HoughBaseTransformer {
   Int_t FindIndex(Float_t rz2, Int_t start=-100) const;
   void AddCurveToHistogram(Int_t newEtaIndex=-1);
 
-  ClassDef(AliL3HoughTransformerLUT,1) //LUT Hough transformation class
+  ClassDef(AliHLTHoughTransformerLUT,1) //LUT Hough transformation class
 
 };
 
-inline Float_t AliL3HoughTransformerLUT::CalcRoverZ2(Float_t eta) const
+typedef AliHLTHoughTransformerLUT AliL3HoughTransformerLUT; // for backward comaptibility
+
+inline Float_t AliHLTHoughTransformerLUT::CalcRoverZ2(Float_t eta) const
 {
   Float_t e=exp(2*eta);
   Float_t ret=(e+1)/(e-1);
@@ -90,7 +92,7 @@ inline Float_t AliL3HoughTransformerLUT::CalcRoverZ2(Float_t eta) const
   return ret;
 }
 
-inline Float_t AliL3HoughTransformerLUT::CalcEta(Float_t roverz2) const
+inline Float_t AliHLTHoughTransformerLUT::CalcEta(Float_t roverz2) const
 {
   Float_t rz=sqrt(roverz2);
   if(fZSign<0) rz=-rz;
@@ -99,17 +101,17 @@ inline Float_t AliL3HoughTransformerLUT::CalcEta(Float_t roverz2) const
   return ret;
 }
 
-inline Float_t AliL3HoughTransformerLUT::CalcX(Int_t row) const
+inline Float_t AliHLTHoughTransformerLUT::CalcX(Int_t row) const
 {
   return fLUTX[row];
 }
 
-inline Float_t AliL3HoughTransformerLUT::CalcY(Int_t pad,Int_t row) const
+inline Float_t AliHLTHoughTransformerLUT::CalcY(Int_t pad,Int_t row) const
 {
   return pad*fPadPitch-fLUTY[row];
 }
 
-inline Float_t AliL3HoughTransformerLUT::CalcZ(Int_t time) const
+inline Float_t AliHLTHoughTransformerLUT::CalcZ(Int_t time) const
 {
   Float_t ret=time*fTimeWidth;
   if(fZSign>0) ret=fZLengthPlusOff-ret;
@@ -117,10 +119,10 @@ inline Float_t AliL3HoughTransformerLUT::CalcZ(Int_t time) const
   return ret;
 }
 
-inline void AliL3HoughTransformerLUT::AddCurveToHistogram(Int_t newEtaIndex)
+inline void AliHLTHoughTransformerLUT::AddCurveToHistogram(Int_t newEtaIndex)
 {
   //get correct histogrampointer
-  AliL3Histogram *hist = fParamSpace[fLastIndex];
+  AliHLTHistogram *hist = fParamSpace[fLastIndex];
 
   //Fill the histogram along the phirange
   Float_t r2=fX*fX+fY*fY;
@@ -134,7 +136,7 @@ inline void AliL3HoughTransformerLUT::AddCurveToHistogram(Int_t newEtaIndex)
   fLastIndex=newEtaIndex;
 }
 
-inline Int_t AliL3HoughTransformerLUT::FindIndex(Float_t rz2, Int_t start) const
+inline Int_t AliHLTHoughTransformerLUT::FindIndex(Float_t rz2, Int_t start) const
 {
   //could improve search through devide and conquere strategy
   
similarity index 50%
rename from HLT/hough/AliL3HoughTransformerNew.cxx
rename to HLT/hough/AliHLTHoughTransformerNew.cxx
index f7c8a8a7a9bc8ce1b2f21615432018a800cb8c1a..c40ef75839619dad707fca2e11abfd1b04486736 100644 (file)
@@ -3,51 +3,51 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-
-#include "AliL3Logging.h"
-#include "AliL3HoughTransformerNew.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3HistogramAdaptive.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Vertex.h"
-#include "AliL3Fitter.h"
+#include "AliHLTStandardIncludes.h"
+
+#include "AliHLTLogging.h"
+#include "AliHLTHoughTransformerNew.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHistogramAdaptive.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTVertex.h"
+#include "AliHLTFitter.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughTransformerNew
+// AliHLTHoughTransformerNew
 //
 // Hough transformation class
 //
 
-ClassImp(AliL3HoughTransformerNew)
+ClassImp(AliHLTHoughTransformerNew)
 
-AliL3HoughTransformerNew::AliL3HoughTransformerNew()
+AliHLTHoughTransformerNew::AliHLTHoughTransformerNew()
 {
   //default ctor
   fParamSpace3D=0;
 }
 
-AliL3HoughTransformerNew::AliL3HoughTransformerNew(Int_t slice,Int_t patch,Int_t netasegments) : AliL3HoughTransformer(slice,patch,netasegments)
+AliHLTHoughTransformerNew::AliHLTHoughTransformerNew(Int_t slice,Int_t patch,Int_t netasegments) : AliHLTHoughTransformer(slice,patch,netasegments)
 {
   //normal ctor
   fParamSpace3D=0;
 }
-AliL3HoughTransformerNew::~AliL3HoughTransformerNew()
+AliHLTHoughTransformerNew::~AliHLTHoughTransformerNew()
 {
   //dtor
   if(fParamSpace3D)
     delete fParamSpace3D;
 }
 
-void AliL3HoughTransformerNew::CreateHistograms(Int_t nxbins,Float_t xlow,Float_t xup,
+void AliHLTHoughTransformerNew::CreateHistograms(Int_t nxbins,Float_t xlow,Float_t xup,
                                                Int_t nybins,Float_t ylow,Float_t yup,
                                                Int_t nzbins,Float_t zlow,Float_t zup)
 {
@@ -57,7 +57,7 @@ void AliL3HoughTransformerNew::CreateHistograms(Int_t nxbins,Float_t xlow,Float_
   fParamSpace3D = new TH3F(name,"",nxbins,xlow,xup,nybins,ylow,yup,nzbins,zlow,zup);
 }
 
-void AliL3HoughTransformerNew::Reset()
+void AliHLTHoughTransformerNew::Reset()
 {
   //Reset Hough space
   fParamSpace3D->Reset();
@@ -65,31 +65,31 @@ void AliL3HoughTransformerNew::Reset()
 
 
 
-void AliL3HoughTransformerNew::TransformLine(Int_t *rowrange,Float_t *phirange)
+void AliHLTHoughTransformerNew::TransformLine(Int_t *rowrange,Float_t *phirange)
 {
   //Hough Transform
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformerNew::TransformLine","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformerNew::TransformLine","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
   
   TH3 *hist = fParamSpace3D;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if(i < rowrange[0])
        {
-         AliL3MemHandler::UpdateRowPointer(tempPt);
+         AliHLTMemHandler::UpdateRowPointer(tempPt);
          continue;
        }
       else if(i > rowrange[1])
        break;
       if(i != (Int_t)tempPt->fRow)
        {
-         printf("AliL3HoughTransform::TransformLine : Mismatching padrow numbering\n");
+         printf("AliHLTHoughTransform::TransformLine : Mismatching padrow numbering\n");
          continue;
        }
       for(UInt_t j=0; j<tempPt->fNDigit; j++)
@@ -101,15 +101,15 @@ void AliL3HoughTransformerNew::TransformLine(Int_t *rowrange,Float_t *phirange)
          
          Int_t sector,row;
          Float_t xyz[3];
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
          
-         Float_t phi = AliL3Transform::GetPhi(xyz);
+         Float_t phi = AliHLTTransform::GetPhi(xyz);
          if(phi < phirange[0] || phi > phirange[1])
            continue;
 
-         xyz[0] = xyz[0] - AliL3Transform::Row2X(rowrange[0]);
-         Float_t x = xyz[0] + AliL3Transform::Row2X(rowrange[0]);
+         xyz[0] = xyz[0] - AliHLTTransform::Row2X(rowrange[0]);
+         Float_t x = xyz[0] + AliHLTTransform::Row2X(rowrange[0]);
          Float_t r = sqrt(x*x + xyz[1]*xyz[1]);
          Float_t delta = atan(xyz[2]/r);
          for(Int_t xbin=hist->GetXaxis()->GetFirst(); xbin<=hist->GetXaxis()->GetLast(); xbin++)
@@ -119,46 +119,46 @@ void AliL3HoughTransformerNew::TransformLine(Int_t *rowrange,Float_t *phirange)
              hist->Fill(theta,rho,delta,charge);
            }
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
 }
 
-struct AliL3Digit {
+struct AliHLTDigit {
   Int_t fRow;//padrow index
   Int_t fCharge;//digits charge
   Float_t fY;//Y coordinate of the digit
   Float_t fZ;//Z coordinate of the digit
-  AliL3Digit *fNext;//pointer to the next digit
+  AliHLTDigit *fNext;//pointer to the next digit
 };
 
-struct AliL3EtaContainer {
+struct AliHLTEtaContainer {
   void *fFirst;//pointer to the first digit in a sequence
   void *fLast;//pointer to the last digit in a sequence
 };
 
-void AliL3HoughTransformerNew::TransformLineC(Int_t *rowrange,Float_t *phirange)
+void AliHLTHoughTransformerNew::TransformLineC(Int_t *rowrange,Float_t *phirange)
 {
   //Hough Transform
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
-    LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircleC","Data")
+    LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircleC","Data")
       <<"No input data "<<ENDLOG;
   
   Int_t counter=0;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
       counter += tempPt->fNDigit;
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
-  Int_t bound = (GetNEtaSegments()+1)*(AliL3Transform::GetNRows(GetPatch())+1);
-  AliL3EtaContainer *etaPt = new AliL3EtaContainer[bound];
-  memset(etaPt,0,bound*sizeof(AliL3EtaContainer));  
+  Int_t bound = (GetNEtaSegments()+1)*(AliHLTTransform::GetNRows(GetPatch())+1);
+  AliHLTEtaContainer *etaPt = new AliHLTEtaContainer[bound];
+  memset(etaPt,0,bound*sizeof(AliHLTEtaContainer));  
   
-  AliL3Digit *digits = new AliL3Digit[counter];
-  cout<<"Allocating "<<counter*sizeof(AliL3Digit)<<" bytes to digitsarray"<<endl;
-  memset(digits,0,counter*sizeof(AliL3Digit));
+  AliHLTDigit *digits = new AliHLTDigit[counter];
+  cout<<"Allocating "<<counter*sizeof(AliHLTDigit)<<" bytes to digitsarray"<<endl;
+  memset(digits,0,counter*sizeof(AliHLTDigit));
 
   Int_t sector,row;
   Float_t xyz[3];
@@ -167,17 +167,17 @@ void AliL3HoughTransformerNew::TransformLineC(Int_t *rowrange,Float_t *phirange)
   tempPt = GetDataPointer();
   
   cout<<"Calculating digits in patch "<<GetPatch()<<endl;
-  for(Int_t i=AliL3Transform::GetFirstRow(GetPatch()); i<=AliL3Transform::GetLastRow(GetPatch()); i++)
+  for(Int_t i=AliHLTTransform::GetFirstRow(GetPatch()); i<=AliHLTTransform::GetLastRow(GetPatch()); i++)
     {
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       for(UInt_t di=0; di<tempPt->fNDigit; di++)
        {
          Int_t charge = digPt[di].fCharge;
          Int_t pad = digPt[di].fPad;
          Int_t time = digPt[di].fTime;
-         AliL3Transform::Slice2Sector(GetSlice(),i,sector,row);
-         AliL3Transform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
-         Double_t eta = AliL3Transform::GetEta(xyz);
+         AliHLTTransform::Slice2Sector(GetSlice(),i,sector,row);
+         AliHLTTransform::Raw2Local(xyz,sector,row,(Int_t)pad,(Int_t)time);
+         Double_t eta = AliHLTTransform::GetEta(xyz);
          
          Float_t phi = atan2(xyz[1],xyz[0]);
          if(phi < phirange[0] || phi > phirange[1]) continue;
@@ -188,38 +188,38 @@ void AliL3HoughTransformerNew::TransformLineC(Int_t *rowrange,Float_t *phirange)
          digits[counter].fCharge = charge;
          
          Int_t etaindex = GetEtaIndex(eta);
-         Int_t index = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + etaindex;
+         Int_t index = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + etaindex;
          
          if(index > 0 && index < bound) 
            {
              if(etaPt[index].fFirst == 0)
                etaPt[index].fFirst = (void*)(&digits[counter]);
              else
-               ((AliL3Digit*)(etaPt[index].fLast))->fNext = &digits[counter];
+               ((AliHLTDigit*)(etaPt[index].fLast))->fNext = &digits[counter];
              etaPt[index].fLast = (void*)(&digits[counter]);
            }
          counter++;
        }
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
   
   cout<<"Doing the combinatorics"<<endl;
   
-  AliL3Digit *dPt1,*dPt2;
+  AliHLTDigit *dPt1,*dPt2;
   TH3 *hist = fParamSpace3D;
   for(Int_t e=0; e<GetNEtaSegments(); e++)
     {
       for(Int_t i=rowrange[0]; i<=rowrange[1]; i++)
        {
-         Int_t index1 = (GetNEtaSegments()+1)*(i-AliL3Transform::GetFirstRow(GetPatch())) + e;
+         Int_t index1 = (GetNEtaSegments()+1)*(i-AliHLTTransform::GetFirstRow(GetPatch())) + e;
          
-         for(dPt1 = (AliL3Digit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliL3Digit*)dPt1->fNext)
+         for(dPt1 = (AliHLTDigit*)etaPt[index1].fFirst; dPt1 != 0; dPt1 = (AliHLTDigit*)dPt1->fNext)
            {
              for(Int_t j=i+1; j<=rowrange[1]; j++)
                {
-                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliL3Transform::GetFirstRow(GetPatch())) + e;
+                 Int_t index2 = (GetNEtaSegments()+1)*(j-AliHLTTransform::GetFirstRow(GetPatch())) + e;
                  
-                 for(dPt2 = (AliL3Digit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliL3Digit*)dPt2->fNext)
+                 for(dPt2 = (AliHLTDigit*)etaPt[index2].fFirst; dPt2 != 0; dPt2 = (AliHLTDigit*)dPt2->fNext)
                    {
                      if(dPt1->fRow == dPt2->fRow)
                        {
@@ -228,15 +228,15 @@ void AliL3HoughTransformerNew::TransformLineC(Int_t *rowrange,Float_t *phirange)
                        }
                      
                      //Do the transform:
-                     Float_t x1 = AliL3Transform::Row2X(dPt1->fRow) - AliL3Transform::Row2X(rowrange[0]);
-                     Float_t x2 = AliL3Transform::Row2X(dPt2->fRow) - AliL3Transform::Row2X(rowrange[0]);
+                     Float_t x1 = AliHLTTransform::Row2X(dPt1->fRow) - AliHLTTransform::Row2X(rowrange[0]);
+                     Float_t x2 = AliHLTTransform::Row2X(dPt2->fRow) - AliHLTTransform::Row2X(rowrange[0]);
                      Float_t y1 = dPt1->fY;
                      Float_t y2 = dPt2->fY;
                      Float_t theta = atan2(x2-x1,y1-y2);
                      Float_t rho = x1*cos(theta)+y1*sin(theta);
-                     Float_t r1 = sqrt(pow(AliL3Transform::Row2X(dPt1->fRow),2) + pow(y1,2));
+                     Float_t r1 = sqrt(pow(AliHLTTransform::Row2X(dPt1->fRow),2) + pow(y1,2));
                      Float_t delta1 = atan2(dPt1->fZ,r1);
-                     Float_t r2 = sqrt(pow(AliL3Transform::Row2X(dPt2->fRow),2) + pow(y2,2));
+                     Float_t r2 = sqrt(pow(AliHLTTransform::Row2X(dPt2->fRow),2) + pow(y2,2));
                      Float_t delta2 = atan2(dPt2->fZ,r2);
                      Float_t delta = (dPt1->fCharge*delta1+dPt2->fCharge*delta2)/(dPt1->fCharge+dPt2->fCharge);
                      hist->Fill(theta,rho,delta,dPt1->fCharge+dPt2->fCharge);
similarity index 50%
rename from HLT/hough/AliL3HoughTransformerNew.h
rename to HLT/hough/AliHLTHoughTransformerNew.h
index 3df0b6ebb7500543463aaff1828ca9ecf0551710..3df78e2232ab9500bb55a823f8e2578ea3e92a19 100644 (file)
@@ -3,30 +3,30 @@
 #ifndef ALIL3HOUGHTRANSFORMERNEW_H
 #define ALIL3HOUGHTRANSFORMERNEW_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughTransformer.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughTransformer.h"
 
 #include <TH3.h>
 
-class AliL3TrackArray;
-class AliL3HoughTrack;
+class AliHLTTrackArray;
+class AliHLTHoughTrack;
  
-class AliL3HoughTransformerNew : public AliL3HoughTransformer {
+class AliHLTHoughTransformerNew : public AliHLTHoughTransformer {
 
  public:
-  AliL3HoughTransformerNew(); 
-  AliL3HoughTransformerNew(Int_t slice,Int_t patch,Int_t netasegments);
-  virtual ~AliL3HoughTransformerNew();
+  AliHLTHoughTransformerNew(); 
+  AliHLTHoughTransformerNew(Int_t slice,Int_t patch,Int_t netasegments);
+  virtual ~AliHLTHoughTransformerNew();
   
   void Reset();
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
-    AliL3HoughTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
+    AliHLTHoughTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
   }
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax) {
-    AliL3HoughTransformer::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
+    AliHLTHoughTransformer::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
   }
   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,Int_t nybin,Float_t ymin,Float_t ymax) {
-    AliL3HoughTransformer::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
+    AliHLTHoughTransformer::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
   }
   void CreateHistograms(Int_t nxbins,Float_t xlow,Float_t xup,
                        Int_t nybins,Float_t ylow,Float_t yup,
@@ -35,18 +35,20 @@ class AliL3HoughTransformerNew : public AliL3HoughTransformer {
   void TransformLineC(Int_t *rowrange,Float_t *phirange);
   
   TH3 *GetHistogram() {return fParamSpace3D;}
-  AliL3Histogram *GetHistogram(Int_t etaindex){
-    return AliL3HoughTransformer::GetHistogram(etaindex);
+  AliHLTHistogram *GetHistogram(Int_t etaindex){
+    return AliHLTHoughTransformer::GetHistogram(etaindex);
   }
   
  private:
   
   TH3 *fParamSpace3D;//Histogram containing the hough space
   
-  ClassDef(AliL3HoughTransformerNew,1) //Normal Hough transformation class
+  ClassDef(AliHLTHoughTransformerNew,1) //Normal Hough transformation class
 
 };
 
+typedef AliHLTHoughTransformerNew AliL3HoughTransformerNew; // for backward comaptibility
+
 #endif
 
 
similarity index 76%
rename from HLT/hough/AliL3HoughTransformerRow.cxx
rename to HLT/hough/AliHLTHoughTransformerRow.cxx
index cf5a6c1bdca526efee52eb05deca4183d87c352a..88780ea581d458f6b200b3a14d7f27a1138a178a 100644 (file)
@@ -3,39 +3,39 @@
 
 // Author: Cvetan Cheshkov <mailto:cvetan.cheshkov@cern.ch>
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3HistogramAdaptive.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3HoughTransformerRow.h"
+#include "AliHLTLogging.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHistogramAdaptive.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTHoughTransformerRow.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //_____________________________________________________________
-// AliL3HoughTransformerRow
+// AliHLTHoughTransformerRow
 //
 // Impelementation of the so called "TPC rows Hough transformation" class
 //
 // Transforms the TPC data into the hough space and counts the missed TPC
 // rows corresponding to each track cnadidate - hough space bin
 
-ClassImp(AliL3HoughTransformerRow)
+ClassImp(AliHLTHoughTransformerRow)
 
-Float_t AliL3HoughTransformerRow::fgBeta1 = 1.0/AliL3Transform::Row2X(84);
-Float_t AliL3HoughTransformerRow::fgBeta2 = 1.0/(AliL3Transform::Row2X(158)*(1.0+tan(AliL3Transform::Pi()*10/180)*tan(AliL3Transform::Pi()*10/180)));
-Float_t AliL3HoughTransformerRow::fgDAlpha = 0.22;
-Float_t AliL3HoughTransformerRow::fgDEta   = 0.40;
-Double_t AliL3HoughTransformerRow::fgEtaCalcParam1 = 1.0289;
-Double_t AliL3HoughTransformerRow::fgEtaCalcParam2 = 0.15192;
-Double_t AliL3HoughTransformerRow::fgEtaCalcParam3 = 1./(32.*600.*600.);
+Float_t AliHLTHoughTransformerRow::fgBeta1 = 1.0/AliHLTTransform::Row2X(84);
+Float_t AliHLTHoughTransformerRow::fgBeta2 = 1.0/(AliHLTTransform::Row2X(158)*(1.0+tan(AliHLTTransform::Pi()*10/180)*tan(AliHLTTransform::Pi()*10/180)));
+Float_t AliHLTHoughTransformerRow::fgDAlpha = 0.22;
+Float_t AliHLTHoughTransformerRow::fgDEta   = 0.40;
+Double_t AliHLTHoughTransformerRow::fgEtaCalcParam1 = 1.0289;
+Double_t AliHLTHoughTransformerRow::fgEtaCalcParam2 = 0.15192;
+Double_t AliHLTHoughTransformerRow::fgEtaCalcParam3 = 1./(32.*600.*600.);
 
-AliL3HoughTransformerRow::AliL3HoughTransformerRow()
+AliHLTHoughTransformerRow::AliHLTHoughTransformerRow()
 {
   //Default constructor
   fParamSpace = 0;
@@ -62,7 +62,7 @@ AliL3HoughTransformerRow::AliL3HoughTransformerRow()
 
 }
 
-AliL3HoughTransformerRow::AliL3HoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t /*DoMC*/,Float_t zvertex) : AliL3HoughBaseTransformer(slice,patch,netasegments,zvertex)
+AliHLTHoughTransformerRow::AliHLTHoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t /*DoMC*/,Float_t zvertex) : AliHLTHoughBaseTransformer(slice,patch,netasegments,zvertex)
 {
   //Normal constructor
   fParamSpace = 0;
@@ -90,7 +90,7 @@ AliL3HoughTransformerRow::AliL3HoughTransformerRow(Int_t slice,Int_t patch,Int_t
 
 }
 
-AliL3HoughTransformerRow::~AliL3HoughTransformerRow()
+AliHLTHoughTransformerRow::~AliHLTHoughTransformerRow()
 {
   //Destructor
   if(fLastTransformer) return;
@@ -180,7 +180,7 @@ AliL3HoughTransformerRow::~AliL3HoughTransformerRow()
     }
   if(fStartPadParams)
     {
-      for(Int_t i = AliL3Transform::GetFirstRow(0); i<=AliL3Transform::GetLastRow(5); i++)
+      for(Int_t i = AliHLTTransform::GetFirstRow(0); i<=AliHLTTransform::GetLastRow(5); i++)
        {
          if(!fStartPadParams[i]) continue;
          delete [] fStartPadParams[i];
@@ -190,7 +190,7 @@ AliL3HoughTransformerRow::~AliL3HoughTransformerRow()
     }
   if(fEndPadParams)
     {
-      for(Int_t i = AliL3Transform::GetFirstRow(0); i<=AliL3Transform::GetLastRow(5); i++)
+      for(Int_t i = AliHLTTransform::GetFirstRow(0); i<=AliHLTTransform::GetLastRow(5); i++)
        {
          if(!fEndPadParams[i]) continue;
          delete [] fEndPadParams[i];
@@ -200,7 +200,7 @@ AliL3HoughTransformerRow::~AliL3HoughTransformerRow()
     }
   if(fLUTr)
     {
-      for(Int_t i = AliL3Transform::GetFirstRow(0); i<=AliL3Transform::GetLastRow(5); i++)
+      for(Int_t i = AliHLTTransform::GetFirstRow(0); i<=AliHLTTransform::GetLastRow(5); i++)
        {
          if(!fLUTr[i]) continue;
          delete [] fLUTr[i];
@@ -220,7 +220,7 @@ AliL3HoughTransformerRow::~AliL3HoughTransformerRow()
     }
 }
 
-void AliL3HoughTransformerRow::DeleteHistograms()
+void AliHLTHoughTransformerRow::DeleteHistograms()
 {
   // Clean up
   if(!fParamSpace)
@@ -233,7 +233,7 @@ void AliL3HoughTransformerRow::DeleteHistograms()
   delete [] fParamSpace;
 }
 
-struct AliL3TrackLength {
+struct AliHLTTrackLength {
   // Structure is used for temporarely storage of the LUT
   // which contains the track lengths associated to each hough
   // space bin
@@ -243,7 +243,7 @@ struct AliL3TrackLength {
   Float_t fTrackPt; // Pt of the track
 };
 
-void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
+void AliHLTHoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
                                                Int_t nybin,Float_t ymin,Float_t ymax)
 {
   //Create the histograms (parameter space)  
@@ -251,38 +251,38 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
   //nybin = #bins in Y
   //xmin xmax ymin ymax = histogram limits in X and Y
   if(fLastTransformer) {
-    SetTransformerArrays((AliL3HoughTransformerRow *)fLastTransformer);
+    SetTransformerArrays((AliHLTHoughTransformerRow *)fLastTransformer);
     return;
   }
-  fParamSpace = new AliL3Histogram*[GetNEtaSegments()];
+  fParamSpace = new AliHLTHistogram*[GetNEtaSegments()];
   
   Char_t histname[256];
   for(Int_t i=0; i<GetNEtaSegments(); i++)
     {
       sprintf(histname,"paramspace_%d",i);
-      fParamSpace[i] = new AliL3Histogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
+      fParamSpace[i] = new AliHLTHistogram(histname,"",nxbin,xmin,xmax,nybin,ymin,ymax);
     }
 #ifdef do_mc
   {
-    AliL3Histogram *hist = fParamSpace[0];
+    AliHLTHistogram *hist = fParamSpace[0];
     Int_t ncellsx = (hist->GetNbinsX()+3)/2;
     Int_t ncellsy = (hist->GetNbinsY()+3)/2;
     Int_t ncells = ncellsx*ncellsy;
     if(!fTrackID)
       {
-       LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
-         <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(AliL3TrackIndex)<<" bytes to fTrackID"<<ENDLOG;
-       fTrackID = new AliL3TrackIndex*[GetNEtaSegments()];
+       LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
+         <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(AliHLTTrackIndex)<<" bytes to fTrackID"<<ENDLOG;
+       fTrackID = new AliHLTTrackIndex*[GetNEtaSegments()];
        for(Int_t i=0; i<GetNEtaSegments(); i++)
-         fTrackID[i] = new AliL3TrackIndex[ncells];
+         fTrackID[i] = new AliHLTTrackIndex[ncells];
       }
   }
 #endif
-  AliL3Histogram *hist = fParamSpace[0];
+  AliHLTHistogram *hist = fParamSpace[0];
   Int_t ncells = (hist->GetNbinsX()+2)*(hist->GetNbinsY()+2);
   if(!fGapCount)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(UChar_t)<<" bytes to fGapCount"<<ENDLOG;
       fGapCount = new UChar_t*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
@@ -290,7 +290,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
     }
   if(!fCurrentRowCount)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(UChar_t)<<" bytes to fCurrentRowCount"<<ENDLOG;
       fCurrentRowCount = new UChar_t*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
@@ -298,7 +298,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
     }
   if(!fPrevBin)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(UChar_t)<<" bytes to fPrevBin"<<ENDLOG;
       fPrevBin = new UChar_t*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
@@ -306,7 +306,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
     }
   if(!fNextBin)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<GetNEtaSegments()*ncells*sizeof(UChar_t)<<" bytes to fNextBin"<<ENDLOG;
       fNextBin = new UChar_t*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
@@ -315,7 +315,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
   Int_t ncellsy = hist->GetNbinsY()+2;
   if(!fNextRow)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<GetNEtaSegments()*ncellsy*sizeof(UChar_t)<<" bytes to fNextRow"<<ENDLOG;
       fNextRow = new UChar_t*[GetNEtaSegments()];
       for(Int_t i=0; i<GetNEtaSegments(); i++)
@@ -324,21 +324,21 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
 
   if(!fTrackNRows)
     {
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ncells*sizeof(UChar_t)<<" bytes to fTrackNRows"<<ENDLOG;
       fTrackNRows = new UChar_t[ncells];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ncells*sizeof(UChar_t)<<" bytes to fTrackFirstRow"<<ENDLOG;
       fTrackFirstRow = new UChar_t[ncells];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ncells*sizeof(UChar_t)<<" bytes to fTrackLastRow"<<ENDLOG;
       fTrackLastRow = new UChar_t[ncells];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ncells*sizeof(UChar_t)<<" bytes to fInitialGapCount"<<ENDLOG;
       fInitialGapCount = new UChar_t[ncells];
 
 
-      AliL3HoughTrack track;
+      AliHLTHoughTrack track;
       Int_t xmin = hist->GetFirstXbin();
       Int_t xmax = hist->GetLastXbin();
       Int_t xmiddle = (hist->GetNbinsX()+1)/2;
@@ -348,8 +348,8 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
       Int_t nxgrid = (hist->GetNbinsX()+3)/2+1;
       Int_t nygrid = hist->GetNbinsY()+3;
 
-      AliL3TrackLength *tracklength = new AliL3TrackLength[nxgrid*nygrid];
-      memset(tracklength,0,nxgrid*nygrid*sizeof(AliL3TrackLength));
+      AliHLTTrackLength *tracklength = new AliHLTTrackLength[nxgrid*nygrid];
+      memset(tracklength,0,nxgrid*nygrid*sizeof(AliHLTTrackLength));
 
       for(Int_t ybin=ymin-1; ybin<=(ymax+1); ybin++)
        {
@@ -359,7 +359,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
              for(Int_t deltay = 0; deltay <= 1; deltay++) {
                for(Int_t deltax = 0; deltax <= 1; deltax++) {
 
-                 AliL3TrackLength *curtracklength = &tracklength[(xbin + deltax) + (ybin + deltay)*nxgrid];
+                 AliHLTTrackLength *curtracklength = &tracklength[(xbin + deltax) + (ybin + deltay)*nxgrid];
                  UInt_t maxfirstrow = 0;
                  UInt_t maxlastrow = 0;
                  Float_t maxtrackpt = 0;
@@ -376,7 +376,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
                    Float_t kappa = 2.0*(xtrack*cos(psi)-fgBeta1*sin(psi));
                    track.SetTrackParameters(kappa,psi,1);
                    maxtrackpt = track.GetPt();
-                   if(maxtrackpt < 0.9*0.1*AliL3Transform::GetSolenoidField())
+                   if(maxtrackpt < 0.9*0.1*AliHLTTransform::GetSolenoidField())
                      {
                        maxfirstrow = maxlastrow = 0;
                        curtracklength->fIsFilled = kTRUE;
@@ -394,11 +394,11 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
                        Double_t centery = track.GetCenterY();
                        Double_t radius = track.GetRadius();
 
-                       for(Int_t j=AliL3Transform::GetFirstRow(0); j<=AliL3Transform::GetLastRow(5); j++)
+                       for(Int_t j=AliHLTTransform::GetFirstRow(0); j<=AliHLTTransform::GetLastRow(5); j++)
                          {
                            Float_t hit[3];
                            //                if(!track.GetCrossingPoint(j,hit)) continue;
-                           hit[0] = AliL3Transform::Row2X(j);
+                           hit[0] = AliHLTTransform::Row2X(j);
                            Double_t aa = (hit[0] - centerx)*(hit[0] - centerx);
                            Double_t r2 = radius*radius;
                            if(aa > r2)
@@ -412,9 +412,9 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
  
                            hit[2] = 0;
                        
-                           AliL3Transform::LocHLT2Raw(hit,0,j);
+                           AliHLTTransform::LocHLT2Raw(hit,0,j);
                            hit[1] += 0.5;
-                           if(hit[1]>=0 && hit[1]<AliL3Transform::GetNPads(j))
+                           if(hit[1]>=0 && hit[1]<AliHLTTransform::GetNPads(j))
                              {
                                if(!firstrow) {
                                  curfirstrow = j;
@@ -448,7 +448,7 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
                    fInitialGapCount[xbin + ybin*nxbins] = 1;
                    if((maxlastrow-maxfirstrow+1)<=MIN_TRACK_LENGTH)
                      fInitialGapCount[xbin + ybin*nxbins] = MAX_N_GAPS+1;
-                   if(maxtrackpt < 0.9*0.1*AliL3Transform::GetSolenoidField())
+                   if(maxtrackpt < 0.9*0.1*AliHLTTransform::GetSolenoidField())
                      fInitialGapCount[xbin + ybin*nxbins] = MAX_N_GAPS;
                    fTrackFirstRow[xbin + ybin*nxbins] = maxfirstrow;
                    fTrackLastRow[xbin + ybin*nxbins] = maxlastrow;
@@ -470,14 +470,14 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
 
   if(!fStartPadParams)
     {
-      Int_t nrows = AliL3Transform::GetLastRow(5) - AliL3Transform::GetFirstRow(0) + 1;
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
-       <<"Transformer: Allocating about "<<nrows*100*sizeof(AliL3PadHoughParams)<<" bytes to fStartPadParams"<<ENDLOG;
-      fStartPadParams = new AliL3PadHoughParams*[nrows];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
-       <<"Transformer: Allocating about "<<nrows*100*sizeof(AliL3PadHoughParams)<<" bytes to fEndPadParams"<<ENDLOG;
-      fEndPadParams = new AliL3PadHoughParams*[nrows];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      Int_t nrows = AliHLTTransform::GetLastRow(5) - AliHLTTransform::GetFirstRow(0) + 1;
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
+       <<"Transformer: Allocating about "<<nrows*100*sizeof(AliHLTPadHoughParams)<<" bytes to fStartPadParams"<<ENDLOG;
+      fStartPadParams = new AliHLTPadHoughParams*[nrows];
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
+       <<"Transformer: Allocating about "<<nrows*100*sizeof(AliHLTPadHoughParams)<<" bytes to fEndPadParams"<<ENDLOG;
+      fEndPadParams = new AliHLTPadHoughParams*[nrows];
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating about "<<nrows*100*sizeof(Float_t)<<" bytes to fLUTr"<<ENDLOG;
       fLUTr = new Float_t*[nrows];
 
@@ -494,16 +494,16 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
       Int_t nbinx = hist->GetNbinsX()+2;
       Int_t firstbin = hist->GetFirstYbin();
       Int_t lastbin = hist->GetLastYbin();
-      for(Int_t i=AliL3Transform::GetFirstRow(0); i<=AliL3Transform::GetLastRow(5); i++)
+      for(Int_t i=AliHLTTransform::GetFirstRow(0); i<=AliHLTTransform::GetLastRow(5); i++)
        {
-         Int_t npads = AliL3Transform::GetNPads(i);
-         Int_t ipatch = AliL3Transform::GetPatch(i);
-         Double_t padpitch = AliL3Transform::GetPadPitchWidth(ipatch);
-         Float_t x = AliL3Transform::Row2X(i);
+         Int_t npads = AliHLTTransform::GetNPads(i);
+         Int_t ipatch = AliHLTTransform::GetPatch(i);
+         Double_t padpitch = AliHLTTransform::GetPadPitchWidth(ipatch);
+         Float_t x = AliHLTTransform::Row2X(i);
          Float_t x2 = x*x;
 
-         fStartPadParams[i] = new AliL3PadHoughParams[npads];
-         fEndPadParams[i] = new AliL3PadHoughParams[npads];
+         fStartPadParams[i] = new AliHLTPadHoughParams[npads];
+         fEndPadParams[i] = new AliHLTPadHoughParams[npads];
          fLUTr[i] = new Float_t[npads];
          for(Int_t pad=0; pad<npads; pad++)
            {
@@ -587,30 +587,30 @@ void AliL3HoughTransformerRow::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t
   //create lookup table for z of the digits
   if(!fLUTforwardZ)
     {
-      Int_t ntimebins = AliL3Transform::GetNTimeBins();
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      Int_t ntimebins = AliHLTTransform::GetNTimeBins();
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ntimebins*sizeof(Float_t)<<" bytes to fLUTforwardZ"<<ENDLOG;
       fLUTforwardZ = new Float_t[ntimebins];
-      LOG(AliL3Log::kInformational,"AliL3HoughTransformerRow::CreateHistograms()","")
+      LOG(AliHLTLog::kInformational,"AliHLTHoughTransformerRow::CreateHistograms()","")
        <<"Transformer: Allocating "<<ntimebins*sizeof(Float_t)<<" bytes to fLUTbackwardZ"<<ENDLOG;
       fLUTbackwardZ = new Float_t[ntimebins];
       for(Int_t i=0; i<ntimebins; i++){
        Float_t z;
-       z=AliL3Transform::GetZFast(0,i,GetZVertex());
+       z=AliHLTTransform::GetZFast(0,i,GetZVertex());
        fLUTforwardZ[i]=z;
-       z=AliL3Transform::GetZFast(18,i,GetZVertex());
+       z=AliHLTTransform::GetZFast(18,i,GetZVertex());
        fLUTbackwardZ[i]=z;
       }
     }
 }
 
-void AliL3HoughTransformerRow::Reset()
+void AliHLTHoughTransformerRow::Reset()
 {
   //Reset all the histograms. Should be done when processing new slice
   if(fLastTransformer) return;
   if(!fParamSpace)
     {
-      LOG(AliL3Log::kWarning,"AliL3HoughTransformer::Reset","Histograms")
+      LOG(AliHLTLog::kWarning,"AliHLTHoughTransformer::Reset","Histograms")
        <<"No histograms to reset"<<ENDLOG;
       return;
     }
@@ -620,15 +620,15 @@ void AliL3HoughTransformerRow::Reset()
   
 #ifdef do_mc
   {
-    AliL3Histogram *hist = fParamSpace[0];
+    AliHLTHistogram *hist = fParamSpace[0];
     Int_t ncellsx = (hist->GetNbinsX()+3)/2;
     Int_t ncellsy = (hist->GetNbinsY()+3)/2;
     Int_t ncells = ncellsx*ncellsy;
     for(Int_t i=0; i<GetNEtaSegments(); i++)
-      memset(fTrackID[i],0,ncells*sizeof(AliL3TrackIndex));
+      memset(fTrackID[i],0,ncells*sizeof(AliHLTTrackIndex));
   }
 #endif
-  AliL3Histogram *hist = fParamSpace[0];
+  AliHLTHistogram *hist = fParamSpace[0];
   Int_t ncells = (hist->GetNbinsX()+2)*(hist->GetNbinsY()+2);
   for(Int_t i=0; i<GetNEtaSegments(); i++)
     {
@@ -637,7 +637,7 @@ void AliL3HoughTransformerRow::Reset()
     }
 }
 
-Int_t AliL3HoughTransformerRow::GetEtaIndex(Double_t eta) const
+Int_t AliHLTHoughTransformerRow::GetEtaIndex(Double_t eta) const
 {
   //Return the histogram index of the corresponding eta. 
 
@@ -646,7 +646,7 @@ Int_t AliL3HoughTransformerRow::GetEtaIndex(Double_t eta) const
   return (Int_t)index;
 }
 
-inline AliL3Histogram *AliL3HoughTransformerRow::GetHistogram(Int_t etaindex)
+inline AliHLTHistogram *AliHLTHoughTransformerRow::GetHistogram(Int_t etaindex)
 {
   // Return a pointer to the histogram which contains etaindex eta slice
   if(!fParamSpace || etaindex >= GetNEtaSegments() || etaindex < 0)
@@ -656,7 +656,7 @@ inline AliL3Histogram *AliL3HoughTransformerRow::GetHistogram(Int_t etaindex)
   return fParamSpace[etaindex];
 }
 
-Double_t AliL3HoughTransformerRow::GetEta(Int_t etaindex,Int_t /*slice*/) const
+Double_t AliHLTHoughTransformerRow::GetEta(Int_t etaindex,Int_t /*slice*/) const
 {
   // Return eta calculated in the middle of the eta slice
   Double_t etaslice = (GetEtaMax()-GetEtaMin())/GetNEtaSegments();
@@ -665,7 +665,7 @@ Double_t AliL3HoughTransformerRow::GetEta(Int_t etaindex,Int_t /*slice*/) const
   return eta;
 }
 
-void AliL3HoughTransformerRow::TransformCircle()
+void AliHLTHoughTransformerRow::TransformCircle()
 {
   // This method contains the hough transformation
   // Depending on the option selected, it reads as an input
@@ -676,7 +676,7 @@ void AliL3HoughTransformerRow::TransformCircle()
   else if(fTPCRawStream)
     TransformCircleFromRawStream();
 }
-void AliL3HoughTransformerRow::TransformCircleFromDigitArray()
+void AliHLTHoughTransformerRow::TransformCircleFromDigitArray()
 {
   //Do the Hough Transform
 
@@ -692,7 +692,7 @@ void AliL3HoughTransformerRow::TransformCircleFromDigitArray()
   Int_t lowerthreshold = GetLowerThreshold();
 
   //Assumes that all the etaslice histos are the same!
-  AliL3Histogram *h = fParamSpace[0];
+  AliHLTHistogram *h = fParamSpace[0];
   Int_t firstbiny = h->GetFirstYbin();
   Int_t firstbinx = h->GetFirstXbin();
   Int_t lastbinx = h->GetLastXbin();
@@ -700,12 +700,12 @@ void AliL3HoughTransformerRow::TransformCircleFromDigitArray()
 
   UChar_t lastpad;
   Int_t lastetaindex=-1;
-  AliL3EtaRow *etaclust = new AliL3EtaRow[netasegments];
+  AliHLTEtaRow *etaclust = new AliHLTEtaRow[netasegments];
 
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
@@ -720,20 +720,20 @@ void AliL3HoughTransformerRow::TransformCircleFromDigitArray()
     lutz = fLUTbackwardZ;
 
   //Loop over the padrows:
-  for(UChar_t i=AliL3Transform::GetFirstRow(ipatch); i<=AliL3Transform::GetLastRow(ipatch); i++)
+  for(UChar_t i=AliHLTTransform::GetFirstRow(ipatch); i<=AliHLTTransform::GetLastRow(ipatch); i++)
     {
       lastpad = 255;
       //Flush eta clusters array
-      memset(etaclust,0,netasegments*sizeof(AliL3EtaRow));  
+      memset(etaclust,0,netasegments*sizeof(AliHLTEtaRow));  
 
       Float_t radius=0;
 
       //Get the data on this padrow:
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if((Int_t)i != (Int_t)tempPt->fRow)
        {
-         LOG(AliL3Log::kError,"AliL3HoughTransformerRow::TransformCircle","Data")
-           <<"AliL3HoughTransform::TransformCircle : Mismatching padrow numbering "<<(Int_t)i<<" "<<(Int_t)tempPt->fRow<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTHoughTransformerRow::TransformCircle","Data")
+           <<"AliHLTHoughTransform::TransformCircle : Mismatching padrow numbering "<<(Int_t)i<<" "<<(Int_t)tempPt->fRow<<ENDLOG;
          continue;
        }
       //      cout<<" Starting row "<<i<<endl;
@@ -812,13 +812,13 @@ void AliL3HoughTransformerRow::TransformCircleFromDigitArray()
        }
 
       //Move the data pointer to the next padrow:
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
 
   delete [] etaclust;
 }
 
-void AliL3HoughTransformerRow::TransformCircleFromRawStream()
+void AliHLTHoughTransformerRow::TransformCircleFromRawStream()
 {
   //Do the Hough Transform
 
@@ -834,26 +834,26 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
   Int_t lowerthreshold = GetLowerThreshold();
 
   //Assumes that all the etaslice histos are the same!
-  AliL3Histogram *h = fParamSpace[0];
+  AliHLTHistogram *h = fParamSpace[0];
   Int_t firstbiny = h->GetFirstYbin();
   Int_t firstbinx = h->GetFirstXbin();
   Int_t lastbinx = h->GetLastXbin();
   Int_t nbinx = h->GetNbinsX()+2;
 
   Int_t lastetaindex = -1;
-  AliL3EtaRow *etaclust = new AliL3EtaRow[netasegments];
+  AliHLTEtaRow *etaclust = new AliHLTEtaRow[netasegments];
 
   if(!fTPCRawStream)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformer::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformer::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
 
   Int_t ipatch = GetPatch();
-  UChar_t rowmin = AliL3Transform::GetFirstRowOnDDL(ipatch);
-  UChar_t rowmax = AliL3Transform::GetLastRowOnDDL(ipatch);
-  //  Int_t ntimebins = AliL3Transform::GetNTimeBins();
+  UChar_t rowmin = AliHLTTransform::GetFirstRowOnDDL(ipatch);
+  UChar_t rowmax = AliHLTTransform::GetLastRowOnDDL(ipatch);
+  //  Int_t ntimebins = AliHLTTransform::GetNTimeBins();
   Int_t ilastpatch = GetLastPatch();
   Int_t islice = GetSlice();
   Float_t *lutz;
@@ -863,7 +863,7 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
     lutz = fLUTbackwardZ;
 
   //Flush eta clusters array
-  memset(etaclust,0,netasegments*sizeof(AliL3EtaRow));  
+  memset(etaclust,0,netasegments*sizeof(AliHLTEtaRow));  
 
   UChar_t i=0;
   Int_t npads=0;
@@ -887,18 +887,18 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
       Int_t sector=fTPCRawStream->GetSector();
       Int_t row=fTPCRawStream->GetRow();
       Int_t slice,srow;
-      AliL3Transform::Sector2Slice(slice,srow,sector,row);
+      AliHLTTransform::Sector2Slice(slice,srow,sector,row);
       if(slice!=islice){
-       LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Slice")
-         <<AliL3Log::kDec<<"Found slice "<<slice<<", expected "<<islice<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Slice")
+         <<AliHLTLog::kDec<<"Found slice "<<slice<<", expected "<<islice<<ENDLOG;
        continue;
       }
     
       i=(UChar_t)srow;
-      npads = AliL3Transform::GetNPads(srow)-1;
+      npads = AliHLTTransform::GetNPads(srow)-1;
 
       //Flush eta clusters array
-      memset(etaclust,0,netasegments*sizeof(AliL3EtaRow));  
+      memset(etaclust,0,netasegments*sizeof(AliHLTEtaRow));  
 
       radius=0;
 
@@ -912,8 +912,8 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
       pad=fTPCRawStream->GetPad();
       /*
       if((pad<0)||(pad>=(npads+1))){
-       LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Pad")
-         <<AliL3Log::kDec<<"Pad value out of bounds "<<pad<<" "
+       LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Pad")
+         <<AliHLTLog::kDec<<"Pad value out of bounds "<<pad<<" "
          <<npads+1<<ENDLOG;
        continue;
       }
@@ -925,9 +925,9 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
     UShort_t time=fTPCRawStream->GetTime();
     /*
     if((time<0)||(time>=ntimebins)){
-      LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Time")
-       <<AliL3Log::kDec<<"Time out of bounds "<<time<<" "
-       <<AliL3Transform::GetNTimeBins()<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Time")
+       <<AliHLTLog::kDec<<"Time out of bounds "<<time<<" "
+       <<AliHLTTransform::GetNTimeBins()<<ENDLOG;
       continue;
     }
     */
@@ -988,26 +988,26 @@ void AliL3HoughTransformerRow::TransformCircleFromRawStream()
 }
 
 #ifndef do_mc
-Int_t AliL3HoughTransformerRow::GetTrackID(Int_t /*etaindex*/,Double_t /*alpha1*/,Double_t /*alpha2*/) const
+Int_t AliHLTHoughTransformerRow::GetTrackID(Int_t /*etaindex*/,Double_t /*alpha1*/,Double_t /*alpha2*/) const
 {
   // Does nothing if do_mc undefined
-  LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::GetTrackID","Data")
+  LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::GetTrackID","Data")
     <<"Flag switched off"<<ENDLOG;
   return -1;
 #else
-Int_t AliL3HoughTransformerRow::GetTrackID(Int_t etaindex,Double_t alpha1,Double_t alpha2) const
+Int_t AliHLTHoughTransformerRow::GetTrackID(Int_t etaindex,Double_t alpha1,Double_t alpha2) const
 {
   // Returns the MC label for a given peak found in the Hough space
   if(etaindex < 0 || etaindex > GetNEtaSegments())
     {
-      LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::GetTrackID","Data")
+      LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::GetTrackID","Data")
        <<"Wrong etaindex "<<etaindex<<ENDLOG;
       return -1;
     }
-  AliL3Histogram *hist = fParamSpace[etaindex];
+  AliHLTHistogram *hist = fParamSpace[etaindex];
   Int_t bin = hist->FindLabelBin(alpha1,alpha2);
   if(bin==-1) {
-    LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::GetTrackID()","")
+    LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::GetTrackID()","")
       <<"Track candidate outside Hough space boundaries: "<<alpha1<<" "<<alpha2<<ENDLOG;
     return -1;
   }
@@ -1038,21 +1038,21 @@ Int_t AliL3HoughTransformerRow::GetTrackID(Int_t etaindex,Double_t alpha1,Double
        }
     }
   if(max2 !=0 ) {
-    LOG(AliL3Log::kDebug,"AliL3HoughTransformerRow::GetTrackID()","")
+    LOG(AliHLTLog::kDebug,"AliHLTHoughTransformerRow::GetTrackID()","")
       <<" TrackID"<<" label "<<label<<" max "<<max<<" label2 "<<label2<<" max2 "<<max2<<" "<<(Float_t)max2/(Float_t)max<<" "<<fTrackID[etaindex][bin].fLabel[MaxTrack-1]<<" "<<(Int_t)fTrackID[etaindex][bin].fNHits[MaxTrack-1]<<ENDLOG;
   }
   return label;
 #endif
 }
 
-Int_t AliL3HoughTransformerRow::GetTrackLength(Double_t alpha1,Double_t alpha2,Int_t *rows) const
+Int_t AliHLTHoughTransformerRow::GetTrackLength(Double_t alpha1,Double_t alpha2,Int_t *rows) const
 {
   // Returns the track length for a given peak found in the Hough space
 
-  AliL3Histogram *hist = fParamSpace[0];
+  AliHLTHistogram *hist = fParamSpace[0];
   Int_t bin = hist->FindBin(alpha1,alpha2);
   if(bin==-1) {
-    LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::GetTrackLength()","")
+    LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::GetTrackLength()","")
       <<"Track candidate outside Hough space boundaries: "<<alpha1<<" "<<alpha2<<ENDLOG;
     return -1;
   }
@@ -1062,9 +1062,9 @@ Int_t AliL3HoughTransformerRow::GetTrackLength(Double_t alpha1,Double_t alpha2,I
   return 0;
 }
 
-inline void AliL3HoughTransformerRow::FillClusterRow(UChar_t i,Int_t binx1,Int_t binx2,UChar_t *ngaps2,UChar_t *currentrow2,UChar_t *lastrow2
+inline void AliHLTHoughTransformerRow::FillClusterRow(UChar_t i,Int_t binx1,Int_t binx2,UChar_t *ngaps2,UChar_t *currentrow2,UChar_t *lastrow2
 #ifdef do_mc
-                          ,AliL3EtaRow etaclust,AliL3TrackIndex *trackid
+                          ,AliHLTEtaRow etaclust,AliHLTTrackIndex *trackid
 #endif
                           )
 {
@@ -1104,7 +1104,7 @@ inline void AliL3HoughTransformerRow::FillClusterRow(UChar_t i,Int_t binx1,Int_t
 
 }
 
-inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3EtaRow *etaclust,Int_t ilastpatch,Int_t firstbinx,Int_t lastbinx,Int_t nbinx,Int_t firstbiny)
+inline void AliHLTHoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliHLTEtaRow *etaclust,Int_t ilastpatch,Int_t firstbinx,Int_t lastbinx,Int_t nbinx,Int_t firstbiny)
 {
   // The method is a part of the fast hough transform.
   // It fills a TPC cluster into the hough space.
@@ -1116,12 +1116,12 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
   UChar_t *nextbin = fNextBin[etaindex];
   UChar_t *nextrow = fNextRow[etaindex];
 #ifdef do_mc
-  AliL3TrackIndex *trackid = fTrackID[etaindex];
+  AliHLTTrackIndex *trackid = fTrackID[etaindex];
 #endif
 
   //Do the transformation:
-  AliL3PadHoughParams *startparams = &fStartPadParams[(Int_t)i][etaclust[etaindex].fStartPad]; 
-  AliL3PadHoughParams *endparams = &fEndPadParams[(Int_t)i][etaclust[etaindex].fEndPad];
+  AliHLTPadHoughParams *startparams = &fStartPadParams[(Int_t)i][etaclust[etaindex].fStartPad]; 
+  AliHLTPadHoughParams *endparams = &fEndPadParams[(Int_t)i][etaclust[etaindex].fEndPad];
  
   Float_t alpha1 = startparams->fAlpha;
   Float_t deltaalpha1 = startparams->fDeltaAlpha;
@@ -1153,7 +1153,7 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
        if(binx2>lastbinx) binx2 = lastbinx;
 #ifdef do_mc
        if(binx2<binx1) {
-         LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::TransformCircle()","")
+         LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::TransformCircle()","")
            <<"Wrong filling "<<binx1<<" "<<binx2<<" "<<i<<" "<<etaclust[etaindex].fStartPad<<" "<<etaclust[etaindex].fEndPad<<ENDLOG;
        }
 #endif
@@ -1163,7 +1163,7 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
        UChar_t *lastrow2 = lastrow + tempbin;
 #ifdef do_mc
        Int_t tempbin2 = ((Int_t)(b/2))*((Int_t)((nbinx+1)/2));
-       AliL3TrackIndex *trackid2 = trackid + tempbin2;
+       AliHLTTrackIndex *trackid2 = trackid + tempbin2;
 #endif
        FillClusterRow(i,binx1,binx2,ngaps2,currentrow2,lastrow2
 #ifdef do_mc
@@ -1183,7 +1183,7 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
        if(binx2>lastbinx) binx2 = lastbinx;
 #ifdef do_mc
        if(binx2<binx1) {
-         LOG(AliL3Log::kWarning,"AliL3HoughTransformerRow::TransformCircle()","")
+         LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerRow::TransformCircle()","")
            <<"Wrong filling "<<binx1<<" "<<binx2<<" "<<i<<" "<<etaclust[etaindex].fStartPad<<" "<<etaclust[etaindex].fEndPad<<ENDLOG;
        }
 #endif
@@ -1203,7 +1203,7 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
        UChar_t *lastrow2 = lastrow + tempbin;
 #ifdef do_mc
        Int_t tempbin2 = ((Int_t)(b/2))*((Int_t)((nbinx+1)/2));
-       AliL3TrackIndex *trackid2 = trackid + tempbin2;
+       AliHLTTrackIndex *trackid2 = trackid + tempbin2;
 #endif
        FillClusterRow(i,binx1,binx2,ngaps2,currentrow2,lastrow2
 #ifdef do_mc
@@ -1215,7 +1215,7 @@ inline void AliL3HoughTransformerRow::FillCluster(UChar_t i,Int_t etaindex,AliL3
 }
 
 #ifdef do_mc
-inline void AliL3HoughTransformerRow::FillClusterMCLabels(AliL3DigitData digpt,AliL3EtaRow *etaclust)
+inline void AliHLTHoughTransformerRow::FillClusterMCLabels(AliHLTDigitData digpt,AliHLTEtaRow *etaclust)
 {
   // The method is a part of the fast hough transform.
   // It fills the MC labels of a TPC cluster into a
@@ -1234,7 +1234,7 @@ inline void AliL3HoughTransformerRow::FillClusterMCLabels(AliL3DigitData digpt,A
 }
 #endif
 
-void AliL3HoughTransformerRow::SetTransformerArrays(AliL3HoughTransformerRow *tr)
+void AliHLTHoughTransformerRow::SetTransformerArrays(AliHLTHoughTransformerRow *tr)
 {
   // In case of sequential filling of the hough space, the method is used to
   // transmit the pointers to the hough arrays from one transformer to the
similarity index 74%
rename from HLT/hough/AliL3HoughTransformerRow.h
rename to HLT/hough/AliHLTHoughTransformerRow.h
index 575f5ba87337b698eb4b46bf8e3c13c99c30b76f..6f05fafb07fde606638516e900247c4c7d03df93 100644 (file)
@@ -3,13 +3,13 @@
 #ifndef ALIL3HOUGHTRANSFORMERROW_H
 #define ALIL3HOUGHTRANSFORMERROW_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3HoughBaseTransformer.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTHoughBaseTransformer.h"
 
 #define MAX_N_GAPS 5
 #define MIN_TRACK_LENGTH 70
 
-struct AliL3EtaRow {
+struct AliHLTEtaRow {
   UChar_t fStartPad; //First pad in the cluster
   UChar_t fEndPad; //Last pad in the cluster
   Bool_t fIsFound; //Is the cluster already found
@@ -18,7 +18,7 @@ struct AliL3EtaRow {
 #endif
 };
 
-struct AliL3PadHoughParams {
+struct AliHLTPadHoughParams {
   // Parameters which represent given pad in the hough space
   // Used in order to avoid as much as possible floating
   // point operations during the hough transform
@@ -28,18 +28,18 @@ struct AliL3PadHoughParams {
   Int_t fLastBin; // Last alpha2 bin to be filled
 };
 
-class AliL3DigitData;
-class AliL3Histogram;
+class AliHLTDigitData;
+class AliHLTHistogram;
 
-class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
+class AliHLTHoughTransformerRow : public AliHLTHoughBaseTransformer {
 
  public:
-  AliL3HoughTransformerRow(); 
-  AliL3HoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoMC=kFALSE,Float_t zvertex=0.0);
-  virtual ~AliL3HoughTransformerRow();
+  AliHLTHoughTransformerRow(); 
+  AliHLTHoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoMC=kFALSE,Float_t zvertex=0.0);
+  virtual ~AliHLTHoughTransformerRow();
 
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
-    AliL3HoughBaseTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
+    AliHLTHoughBaseTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
   }
   void CreateHistograms(Int_t /*nxbin*/,Float_t /*ptmin*/,Int_t /*nybin*/,Float_t /*phimin*/,Float_t /*phimax*/)
   {STDCERR<<"This method for creation of parameter space histograms is not supported for this Transformer!"<<STDENDL;}
@@ -48,11 +48,11 @@ class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
   void Reset();
   void TransformCircle();
   void TransformCircle(Int_t *row_range,Int_t every) {
-    AliL3HoughBaseTransformer::TransformCircle(row_range,every);
+    AliHLTHoughBaseTransformer::TransformCircle(row_range,every);
   }
 
   Int_t GetEtaIndex(Double_t eta) const;
-  AliL3Histogram *GetHistogram(Int_t etaindex);
+  AliHLTHistogram *GetHistogram(Int_t etaindex);
   Double_t GetEta(Int_t etaindex,Int_t slice) const;
   Int_t GetTrackID(Int_t etaindex,Double_t alpha1,Double_t alpha2) const;
   Int_t GetTrackLength(Double_t alpha1,Double_t alpha2,Int_t *rows) const;
@@ -79,7 +79,7 @@ class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
   UChar_t **fGapCount; //!
   UChar_t **fCurrentRowCount; //!
 #ifdef do_mc
-  AliL3TrackIndex **fTrackID; //!
+  AliHLTTrackIndex **fTrackID; //!
 #endif
 
   UChar_t *fTrackNRows; //!
@@ -91,14 +91,14 @@ class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
   UChar_t **fNextBin; //!
   UChar_t **fNextRow; //!
 
-  AliL3PadHoughParams **fStartPadParams; //!
-  AliL3PadHoughParams **fEndPadParams; //!
+  AliHLTPadHoughParams **fStartPadParams; //!
+  AliHLTPadHoughParams **fEndPadParams; //!
   Float_t **fLUTr; //!
 
   Float_t *fLUTforwardZ; //!
   Float_t *fLUTbackwardZ; //!
 
-  AliL3Histogram **fParamSpace; //!
+  AliHLTHistogram **fParamSpace; //!
 
   void TransformCircleFromDigitArray();
   void TransformCircleFromRawStream();
@@ -107,15 +107,15 @@ class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
 
   inline void FillClusterRow(UChar_t i,Int_t binx1,Int_t binx2,UChar_t *ngaps2,UChar_t *currentrow2,UChar_t *lastrow2
 #ifdef do_mc
-                            ,AliL3EtaRow etaclust,AliL3TrackIndex *trackid
+                            ,AliHLTEtaRow etaclust,AliHLTTrackIndex *trackid
 #endif
                             );
-  inline void FillCluster(UChar_t i,Int_t etaindex,AliL3EtaRow *etaclust,Int_t ilastpatch,Int_t firstbinx,Int_t lastbinx,Int_t nbinx,Int_t firstbiny);
+  inline void FillCluster(UChar_t i,Int_t etaindex,AliHLTEtaRow *etaclust,Int_t ilastpatch,Int_t firstbinx,Int_t lastbinx,Int_t nbinx,Int_t firstbiny);
 #ifdef do_mc
-  inline void FillClusterMCLabels(AliL3DigitData digpt,AliL3EtaRow *etaclust);
+  inline void FillClusterMCLabels(AliHLTDigitData digpt,AliHLTEtaRow *etaclust);
 #endif
 
-  void SetTransformerArrays(AliL3HoughTransformerRow *tr);
+  void SetTransformerArrays(AliHLTHoughTransformerRow *tr);
 
   static Float_t fgBeta1,fgBeta2; // Two curves which define the Hough space
   static Float_t fgDAlpha, fgDEta; // Correlation factor between Hough space bin size and resolution
@@ -124,10 +124,12 @@ class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
 
   AliTPCRawStream *fTPCRawStream; // Pointer to the raw stream in case of fast reading of the raw data (fast_raw flag)
 
-  ClassDef(AliL3HoughTransformerRow,1) //TPC Rows Hough transformation class
+  ClassDef(AliHLTHoughTransformerRow,1) //TPC Rows Hough transformation class
 
 };
 
+typedef AliHLTHoughTransformerRow AliL3HoughTransformerRow; // for backward compatibility
+
 #endif
 
 
similarity index 79%
rename from HLT/hough/AliL3HoughTransformerVhdl.cxx
rename to HLT/hough/AliHLTHoughTransformerVhdl.cxx
index aa868c5b4304a41532bb5f1e9955242f84fe6aa1..eb4800c9c93428ae51a5afa61d120979743c44a5 100644 (file)
@@ -3,35 +3,35 @@
 // Author: Constantin Loizides <mailto:loizides@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3DigitData.h"
-#include "AliL3HoughTransformerVhdl.h"
-#include "AliL3FFloat.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTHoughTransformerVhdl.h"
+#include "AliHLTFFloat.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3HoughTransformerVhdl
+/** \class AliHLTHoughTransformerVhdl
 // <pre>
 //_____________________________________________________________
-// AliL3HoughTransformerVhdl
+// AliHLTHoughTransformerVhdl
 //
 // Hough transformation class for VHDL comparism.
 //
 //</pre>
 */
 
-ClassImp(AliL3HoughTransformerVhdl)
+ClassImp(AliHLTHoughTransformerVhdl)
 
 
-AliL3HoughTransformerVhdl::AliL3HoughTransformerVhdl()
-  : AliL3HoughTransformerLUT()
+AliHLTHoughTransformerVhdl::AliHLTHoughTransformerVhdl()
+  : AliHLTHoughTransformerLUT()
 
 {
   //default ctor
@@ -41,8 +41,8 @@ AliL3HoughTransformerVhdl::AliL3HoughTransformerVhdl()
   fIts=0;
 }
 
-AliL3HoughTransformerVhdl::AliL3HoughTransformerVhdl(Int_t slice,Int_t patch,Int_t netasegments,Int_t nits) 
-  : AliL3HoughTransformerLUT(slice,patch,netasegments)
+AliHLTHoughTransformerVhdl::AliHLTHoughTransformerVhdl(Int_t slice,Int_t patch,Int_t netasegments,Int_t nits) 
+  : AliHLTHoughTransformerLUT(slice,patch,netasegments)
 {
   //normal ctor
   fEpsilon=0;
@@ -51,22 +51,22 @@ AliL3HoughTransformerVhdl::AliL3HoughTransformerVhdl(Int_t slice,Int_t patch,Int
   fIts=nits;
 }
 
-AliL3HoughTransformerVhdl::~AliL3HoughTransformerVhdl()
+AliHLTHoughTransformerVhdl::~AliHLTHoughTransformerVhdl()
 {
   //dtor
 }
 
-void AliL3HoughTransformerVhdl::CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax)
+void AliHLTHoughTransformerVhdl::CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax)
 {
   //Create histograms containing the hough space
-  AliL3HoughTransformerLUT::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
+  AliHLTHoughTransformerLUT::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax);
 }
 
-void AliL3HoughTransformerVhdl::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
+void AliHLTHoughTransformerVhdl::CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
                                                 Int_t nybin,Float_t ymin,Float_t ymax)
 {
   //Create histograms containing the hough space
-  AliL3HoughTransformerLUT::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
+  AliHLTHoughTransformerLUT::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax);
 
   fEpsilon=(ymax-ymin)/nybin;
   fSinEpsilon=sin(fEpsilon);
@@ -81,13 +81,13 @@ void AliL3HoughTransformerVhdl::CreateHistograms(Int_t nxbin,Float_t xmin,Float_
   //cout << fEpsilon << " - " << (xmax-xmin)/nxbin << endl;
 }
 
-void AliL3HoughTransformerVhdl::Init(Int_t slice,Int_t patch,Int_t netasegments,Int_t /*nits*/)
+void AliHLTHoughTransformerVhdl::Init(Int_t slice,Int_t patch,Int_t netasegments,Int_t /*nits*/)
 {
   //Init hough transformer
-  AliL3HoughTransformerLUT::Init(slice,patch,netasegments);
+  AliHLTHoughTransformerLUT::Init(slice,patch,netasegments);
 }
 
-void AliL3HoughTransformerVhdl::TransformCircle()
+void AliHLTHoughTransformerVhdl::TransformCircle()
 {
   //Transform the input data with a circle HT.
   //The function loops over all the data, and transforms each pixel with the equation:
@@ -101,10 +101,10 @@ void AliL3HoughTransformerVhdl::TransformCircle()
   //and the proper histogram index is found by GetEtaIndex(eta).
 
 
-  AliL3DigitRowData *tempPt = GetDataPointer();
+  AliHLTDigitRowData *tempPt = GetDataPointer();
   if(!tempPt)
     {
-      LOG(AliL3Log::kError,"AliL3HoughTransformerVhdl::TransformCircle","Data")
+      LOG(AliHLTLog::kError,"AliHLTHoughTransformerVhdl::TransformCircle","Data")
        <<"No input data "<<ENDLOG;
       return;
     }
@@ -120,11 +120,11 @@ void AliL3HoughTransformerVhdl::TransformCircle()
   for(Int_t i=fMinRow, row=0; i<=fMaxRow; i++, row++)
     {
       //Get the data on this padrow:
-      AliL3DigitData *digPt = tempPt->fDigitData;
+      AliHLTDigitData *digPt = tempPt->fDigitData;
       if(i != (Int_t)tempPt->fRow)
        {
-         LOG(AliL3Log::kError,"AliL3HoughTransformerVhdl::TransformCircle","Data")
-           <<"AliL3HoughTransformerLUT::TransformCircle : Mismatching padrow numbering "<<i<<" != "<<(Int_t)tempPt->fRow<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTHoughTransformerVhdl::TransformCircle","Data")
+           <<"AliHLTHoughTransformerLUT::TransformCircle : Mismatching padrow numbering "<<i<<" != "<<(Int_t)tempPt->fRow<<ENDLOG;
          continue;
        }
 
@@ -238,14 +238,14 @@ void AliL3HoughTransformerVhdl::TransformCircle()
          Int_t etaindex = FindIndex(rz2);
 
          if(etaindex < 0 || etaindex >= fNEtas){
-           //LOG(AliL3Log::kWarning,"AliL3HoughTransformerVhdl::TransformCircle","Histograms")<<"No histograms corresponding to eta index value of "<<etaindex<<"."<<ENDLOG;
+           //LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerVhdl::TransformCircle","Histograms")<<"No histograms corresponding to eta index value of "<<etaindex<<"."<<ENDLOG;
            continue;
          }       
 
          //Get the correct histogrampointer:
-         AliL3Histogram *hist = fParamSpace[etaindex];
+         AliHLTHistogram *hist = fParamSpace[etaindex];
          if(!hist){
-           //LOG(AliL3Log::kWarning,"AliL3HoughTransformerVhdl::TransformCircle","Histograms")<<"Error getting histogram in index "<<etaindex<<"."<<ENDLOG;
+           //LOG(AliHLTLog::kWarning,"AliHLTHoughTransformerVhdl::TransformCircle","Histograms")<<"Error getting histogram in index "<<etaindex<<"."<<ENDLOG;
            continue;
          }
 
@@ -268,7 +268,7 @@ void AliL3HoughTransformerVhdl::TransformCircle()
          }
        }
       //Move the data pointer to the next padrow:
-      AliL3MemHandler::UpdateRowPointer(tempPt);
+      AliHLTMemHandler::UpdateRowPointer(tempPt);
     }
 
 #ifdef use_error
@@ -278,16 +278,16 @@ void AliL3HoughTransformerVhdl::TransformCircle()
 
 }
 
-void AliL3HoughTransformerVhdl::Print()
+void AliHLTHoughTransformerVhdl::Print()
 {
   //Print transformer params
-  AliL3HoughTransformerLUT::Print();
+  AliHLTHoughTransformerLUT::Print();
 
   cout << "fEpsilon: " << fEpsilon << endl;
   cout << "fIts: " << fIts << endl;
 }
 
-void AliL3HoughTransformerVhdl::PrintVhdl() const
+void AliHLTHoughTransformerVhdl::PrintVhdl() const
 {
   //Print all transformer params
   cout << "fSlice := " << GetSlice() << ";" << endl;
similarity index 61%
rename from HLT/hough/AliL3HoughTransformerVhdl.h
rename to HLT/hough/AliHLTHoughTransformerVhdl.h
index a09e15cfac5bd68332f610d07f33ab26bf62feb2..448ac4e2ed5fd9372ac5912f0c8a0dee5aca8009 100644 (file)
@@ -3,21 +3,21 @@
 #ifndef ALIL3HOUGHTRANSFORMERVHDL_H
 #define ALIL3HOUGHTRANSFORMERVHDL_H
 
-#include "AliL3Histogram.h"
-#include "AliL3HoughTransformerLUT.h"
-class AliL3Histogram;
+#include "AliHLTHistogram.h"
+#include "AliHLTHoughTransformerLUT.h"
+class AliHLTHistogram;
 
-class AliL3HoughTransformerVhdl : public AliL3HoughTransformerLUT 
+class AliHLTHoughTransformerVhdl : public AliHLTHoughTransformerLUT 
 {
 
  public:
 
-  AliL3HoughTransformerVhdl(); 
-  AliL3HoughTransformerVhdl(Int_t slice,Int_t patch,Int_t netasegments,Int_t nits=0);
-  virtual ~AliL3HoughTransformerVhdl();
+  AliHLTHoughTransformerVhdl(); 
+  AliHLTHoughTransformerVhdl(Int_t slice,Int_t patch,Int_t netasegments,Int_t nits=0);
+  virtual ~AliHLTHoughTransformerVhdl();
 
   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
-    AliL3HoughTransformerLUT::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
+    AliHLTHoughTransformerLUT::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
   }
   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
@@ -25,7 +25,7 @@ class AliL3HoughTransformerVhdl : public AliL3HoughTransformerLUT
 
   void TransformCircle();
   void TransformCircle(Int_t *row_range,Int_t every) {
-    AliL3HoughTransformerLUT::TransformCircle(row_range,every);
+    AliHLTHoughTransformerLUT::TransformCircle(row_range,every);
   }
   void TransformCircleC(Int_t */*rowrange*/,Int_t /*every*/) {return;}
   
@@ -46,10 +46,12 @@ class AliL3HoughTransformerVhdl : public AliL3HoughTransformerLUT
   Float_t fYmin;//Lower limit in Y
   Float_t fYmax;//Upper limit in Y
 
-  ClassDef(AliL3HoughTransformerVhdl,1) //VHDL Hough transformation class
+  ClassDef(AliHLTHoughTransformerVhdl,1) //VHDL Hough transformation class
 
 };
 
+typedef AliHLTHoughTransformerVhdl AliL3HoughTransformerVhdl; // for backward compatibility
+
 #endif
 
 
diff --git a/HLT/hough/AliL3HoughDisplay.h b/HLT/hough/AliL3HoughDisplay.h
deleted file mode 100644 (file)
index 162b2f6..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3HOUGHDISPLAY_H
-#define ALIL3HOUGHDISPLAY_H
-
-class TGeometry;
-class AliL3TrackArray;
-class AliL3DigitRowData;
-class TPolyMarker3D;
-class AliL3Track;
-
-class AliL3HoughDisplay {
-
- public:
-  AliL3HoughDisplay();
-  virtual ~AliL3HoughDisplay();
-  
-  void Init(Char_t *trackfile, Char_t *gfile="$(LEVEL3)/GEO/alice.geom");
-  void DisplayEvent();
-  void ShowData(AliL3DigitRowData *data,UInt_t size,Int_t slice,Int_t patch);
-
- private:
-  
-  TGeometry *fGeom; //!
-  AliL3TrackArray *fTracks; //!
-  AliL3DigitRowData *fDigitRowData;  //!
-  UInt_t fNDigitRowData; //!
-  Int_t fShowSlice; //Which slice to show
-  Int_t fPatch;//Which patch to show
-  
-  void GenerateHits(AliL3Track *track,Float_t *x,Float_t *y,Float_t *z,Int_t &n);
-  
-  TPolyMarker3D *LoadDigits();
-
-  ClassDef(AliL3HoughDisplay,1) 
-};
-
-inline void AliL3HoughDisplay::ShowData(AliL3DigitRowData *data,UInt_t size,Int_t slice,Int_t patch)
-{
-  fShowSlice = slice;
-  fPatch = patch;
-  fDigitRowData = data;
-  fNDigitRowData = size;
-}
-
-#endif
diff --git a/HLT/hough/AliL3HoughEval.h b/HLT/hough/AliL3HoughEval.h
deleted file mode 100644 (file)
index bbdbf99..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3HOUGHEVAL_H
-#define ALIL3HOUGHEVAL_H
-
-#include "AliL3RootTypes.h"
-
-class AliL3TrackArray;
-class AliL3HoughBaseTransformer;
-class AliL3HoughTrack;
-class AliL3DigitRowData;
-class AliL3Histogram;
-class AliL3Histogram1D;
-
-class AliL3HoughEval {
-  
- public:
-  AliL3HoughEval(); 
-  virtual ~AliL3HoughEval();
-  
-  void InitTransformer(AliL3HoughBaseTransformer *transformer);
-  void GenerateLUT();
-  void DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist);
-  Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
-#ifdef use_root
-  void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
-#endif
-  void FindEta(AliL3TrackArray *tracks);
-  
-  //Getters
-  AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
-
-  //Setters:
-  void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
-  void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
-  void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
-  void SetSlice(Int_t i) {fSlice=i;}
-  void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
-
- private:
-
-  Int_t fSlice;//Index of the slice being processed
-  Int_t fPatch;//Index of the patch being processed
-  Int_t fNrows;//Number of padrows inside the patch
-  Int_t fNEtaSegments;//Number of eta slices
-  Double_t fEtaMin;//Minimum allowed eta
-  Double_t fEtaMax;//Maximum allowed eta
-  Int_t fNumOfPadsToLook;//Padrow search window
-  Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
-  AliL3Histogram1D **fEtaHistos; //!
-  Float_t fZVertex;//Z position of the primary vertex
-
-  //Flags
-  Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
-  
-  AliL3HoughBaseTransformer *fHoughTransformer; //!
-  AliL3DigitRowData **fRowPointers; //!
-  
-  ClassDef(AliL3HoughEval,1) //Hough transform verfication class
-
-};
-
-#endif
diff --git a/HLT/hough/AliL3HoughGlobalMerger.cxx b/HLT/hough/AliL3HoughGlobalMerger.cxx
deleted file mode 100644 (file)
index 35e543b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-// @(#) $Id$
-
-// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
-//*-- Copyright &copy ALICE HLT Group
-
-#include "AliL3StandardIncludes.h"
-
-#include "AliL3Logging.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3HoughGlobalMerger.h"
-#include "AliL3Track.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Transform.h"
-
-//_____________________________________________________________
-// Merging Hough tracks across slices
-
-ClassImp(AliL3HoughGlobalMerger)
-
-AliL3HoughGlobalMerger::AliL3HoughGlobalMerger()
-{
-  fTracks = 0;
-}
-
-AliL3HoughGlobalMerger::AliL3HoughGlobalMerger(Int_t first,Int_t last)
-{
-  fNSlices = last-first+1;
-  fTracks = new AliL3TrackArray*[fNSlices];
-  for(Int_t i=0; i<fNSlices; i++)
-    fTracks[i] = new AliL3TrackArray("AliL3HoughTrack");
-  
-  
-}
-AliL3HoughGlobalMerger::~AliL3HoughGlobalMerger()
-{
-  if(fTracks)
-    {
-      for(Int_t i=0; i<fNSlices; i++)
-       {
-         if(!fTracks[i])
-           continue;
-         delete fTracks;
-       }
-      delete [] fTracks;
-    }
-  
-}
-
-void AliL3HoughGlobalMerger::FillTracks(AliL3TrackArray *tracks,Int_t slice)
-{
-  
-  fTracks[slice]->AddTracks(tracks,kTRUE,slice);
-  
-}
-
-void AliL3HoughGlobalMerger::Merge()
-{
-  for(Int_t slice=0; slice<fNSlices; slice++)
-    {
-      if(slice+1 == fNSlices) continue;
-      AliL3TrackArray *t1 = fTracks[slice];
-      //AliL3TrackArray *t2 = fTracks[slice+1];
-      Float_t angle = AliL3Transform::Pi()/18;
-      AliL3Transform::Local2GlobalAngle(&angle,slice);
-      
-      for(Int_t i=0; i<t1->GetNTracks(); i++)
-       {
-         
-       }
-    }
-  
-}
diff --git a/HLT/hough/AliL3HoughGlobalMerger.h b/HLT/hough/AliL3HoughGlobalMerger.h
deleted file mode 100644 (file)
index ea8edd2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3_HOUGHGLOBALMERGER_H
-#define ALIL3_HOUGHGLOBALMERGER_H
-
-#include "AliL3Merger.h"
-
-class AliL3TrackArray;
-class AliL3Track;
-
-class AliL3HoughGlobalMerger {
-
- private:
-  AliL3TrackArray **fTracks; //!
-  Int_t fNSlices;
-
- public:
-  AliL3HoughGlobalMerger();
-  AliL3HoughGlobalMerger(Int_t first,Int_t last);
-  virtual ~AliL3HoughGlobalMerger();
-  
-  void FillTracks(AliL3TrackArray *tracks,Int_t i);
-  void Merge();
-
-  ClassDef(AliL3HoughGlobalMerger,1) 
-};
-
-#endif
diff --git a/HLT/hough/AliL3HoughIntMerger.h b/HLT/hough/AliL3HoughIntMerger.h
deleted file mode 100644 (file)
index 8469564..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3HOUGHINTMERGER_H
-#define ALIL3HOUGHINTMERGER_H
-
-#include "AliL3Merger.h"
-
-class AliL3HoughTrack;
-class AliL3Track;
-class AliL3TrackArray;
-
-class AliL3HoughIntMerger : public AliL3Merger {
- public:
-  AliL3HoughIntMerger();
-  virtual ~AliL3HoughIntMerger();
-
-  
-  AliL3Track *MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack);
-  Bool_t IsTrack(AliL3Track *innertrack,AliL3Track *outertrack);
-  void FillTracks(AliL3TrackArray *tracks);
-  void Init(Int_t *row,Int_t p){fRowMin=row[0];fRowMax=row[1];fPatch=p;}
-  Int_t Merge();
-  void MMerge();  //Loop over tracks from different subsectors
-  void SetParameters(Double_t maxkappa=0.001, Double_t maxpsi=0.05, Double_t maxtgl=0.1);
-  void SortTracks(AliL3Track **tracks, Int_t ntrack) const;
-  void Print(AliL3Track **tracks);
-
- private:
-  Int_t fPatch;//Index of the current patch
-  Int_t fRowMin;//First padrow inside the patch
-  Int_t fRowMax;//Last padrow inside the patch
-  Double_t fMaxKappa;//Maximum track curvature
-  Double_t fMaxPhi0;//Maximum phi0??
-  Double_t fMaxTgl;//??
-
-  ClassDef(AliL3HoughIntMerger,1) 
-};
-
-#endif
diff --git a/HLT/hough/AliL3HoughLinkDef.h b/HLT/hough/AliL3HoughLinkDef.h
deleted file mode 100644 (file)
index 7389df0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// @(#) $Id$
-
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AliL3Hough; 
-#pragma link C++ class AliL3HoughBaseTransformer; 
-#pragma link C++ class AliL3HoughTransformer;
-#pragma link C++ class AliL3HoughTransformerLUT;
-#pragma link C++ class AliL3HoughTransformerVhdl;
-#pragma link C++ class AliL3HoughTransformerNew;
-#pragma link C++ class AliL3HoughTransformerRow;
-#ifndef macosx
-#pragma link C++ class AliL3HoughTrack;
-#pragma link C++ class AliL3HoughKalmanTrack;
-#endif
-#pragma link C++ class AliL3HoughMaxFinder;
-#pragma link C++ class AliL3HoughEval;
-#pragma link C++ class AliL3Histogram;
-#pragma link C++ class AliL3Histogram1D;
-#pragma link C++ class AliL3HoughMerger;
-#pragma link C++ class AliL3HoughIntMerger;
-#pragma link C++ class AliL3HoughGlobalMerger;
-#pragma link C++ class AliL3HoughDisplay;
-#pragma link C++ class AliL3HoughClusterTransformer;
-#pragma link C++ class AliL3HistogramAdaptive;
-#ifndef macosx
-#pragma link C++ class AliL3HoughTest;
-#endif
-
-#ifdef use_aliroot
-#pragma link C++ class AliL3HoughTransformerGlobal;
-#endif
-
-#endif
diff --git a/HLT/hough/AliL3HoughMerger.h b/HLT/hough/AliL3HoughMerger.h
deleted file mode 100644 (file)
index 9562aef..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3HOUGHMERGER_H
-#define ALIL3HOUGHMERGER_H
-
-#include "AliL3RootTypes.h"
-#include "AliL3Merger.h"
-
-class AliL3TrackArray;
-class AliL3Track;
-
-class AliL3HoughMerger : public AliL3Merger {
-
- public:
-  AliL3HoughMerger(); 
-  AliL3HoughMerger(Int_t nsubsectors);
-  virtual ~AliL3HoughMerger();
-  
-  virtual Bool_t IsTrack(AliL3Track *innertrack,AliL3Track *outertrack);
-  virtual AliL3Track *MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack);
-  virtual void AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track);
-  void FillTracks(AliL3TrackArray *tracks,Int_t patch);
-  
-  void MergePatches(Bool_t slow=kTRUE);
-  void MergeEtaSlices(Int_t /*patch*/) {};
-  void MergeTracks(AliL3TrackArray */*intracks*/,Int_t /*i*/,Int_t /*j*/) {};
-  void Print(AliL3Track **tracks);
-  void SetParameters(Double_t maxkappa=0.001, Double_t maxpsi=0.05,Double_t maxphi0=0.1);
-  
- private:
-  Double_t fMaxY;//maximum Y
-  Double_t fMaxZ;//maximum Z
-  Double_t fMaxKappa;//maximum track curvature
-  Double_t fMaxPsi;//maximum track emission angle
-  Double_t fMaxTgl;//??
-  Double_t fMaxPhi0;//??
-  Bool_t fSlow;//??
-
-  void Merge();
-  Int_t Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout);
-  void SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout,Double_t xval);
-  
-  ClassDef(AliL3HoughMerger,1) //Patch merger for Hough tracklets
-
-};
-
-#endif
diff --git a/HLT/hough/AliL3HoughTest.h b/HLT/hough/AliL3HoughTest.h
deleted file mode 100644 (file)
index d057c54..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3HOUGHTEST_H
-#define ALIL3HOUGHTEST_H
-
-#include "AliL3RootTypes.h"
-
-struct AliL3SimData {
-  Int_t fPads[10][10];//maximum 10 pads width
-  Int_t fNPads; //number of pads
-  Int_t fMinpad; //??
-  Int_t fMintime; //??
-};
-
-class AliL3Histogram;
-class TH2;
-class TH3;
-class AliL3TrackArray;
-
-class AliL3HoughTest {
-
- public:
-  
-  AliL3HoughTest(); 
-  virtual ~AliL3HoughTest();
-  
-  Bool_t GenerateTrackData(Double_t pt,Double_t psi,Double_t tgl,Int_t sign,Int_t patch,Int_t minhits);
-  void FillImage(TH2 *hist,Int_t row=-1);
-  void Transform2Circle(AliL3Histogram *hist);
-  void Transform2CircleC(AliL3Histogram *hist);
-  void Transform2CircleF(AliL3Histogram *hist);
-  void Transform2Line(AliL3Histogram *hist,Int_t *rowrange);
-  void Transform2LineC(AliL3Histogram *hist,Int_t *rowrange);
-  void Transform2Line3D(TH3 *hist,Int_t *rowrange,Float_t *phirange);
-  void Transform2LineC3D(TH3 *hist,Int_t *rowrange);
-  void TransformLines2Circle(TH3 *hist,AliL3TrackArray *tracks);
-  void Transform2Center(AliL3Histogram *hist);
-  
-  void FindAbsMaxima(TH3 *hist,Int_t zsearch,Float_t &maxx,Float_t &maxy,Float_t &maxz,Int_t &maxvalue) const;
-  
- private:
-  AliL3SimData *fData; //??
-  Int_t fCurrentPatch; //index of the current patch
-  
-  ClassDef(AliL3HoughTest,1) //Hough transform base class
-};
-
-#endif
-
-
-
-
-
-
-
index c0ff61c47af38c64730b1f4deac99220d2f2e95b..aad557975c61724dc06b20f3163641ffcfb176c6 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides  #
 ################################
 
-MODNAME = AliL3Hough
+MODNAME = AliHLTHough
 
 ifndef ALIHLT_TOPDIR
 ALIHLT_TOPDIR = $(shell pwd)/..
@@ -14,25 +14,25 @@ endif
 
 include $(ALIHLT_TOPDIR)/Makefile.conf
 
-SRCS = AliL3HoughTransformer.cxx AliL3HoughClusterTransformer.cxx \
-       AliL3HoughEval.cxx AliL3HoughMerger.cxx AliL3HoughBaseTransformer.cxx \
-       AliL3HoughIntMerger.cxx AliL3HoughGlobalMerger.cxx AliL3HoughTransformerVhdl.cxx \
-       AliL3Histogram.cxx AliL3Histogram1D.cxx AliL3HoughMaxFinder.cxx AliL3Hough.cxx \
-       AliL3HoughTransformerLUT.cxx AliL3HoughTransformerRow.cxx AliL3HistogramAdaptive.cxx 
+SRCS = AliHLTHoughTransformer.cxx AliHLTHoughClusterTransformer.cxx \
+       AliHLTHoughEval.cxx AliHLTHoughMerger.cxx AliHLTHoughBaseTransformer.cxx \
+       AliHLTHoughIntMerger.cxx AliHLTHoughGlobalMerger.cxx AliHLTHoughTransformerVhdl.cxx \
+       AliHLTHistogram.cxx AliHLTHistogram1D.cxx AliHLTHoughMaxFinder.cxx AliHLTHough.cxx \
+       AliHLTHoughTransformerLUT.cxx AliHLTHoughTransformerRow.cxx AliHLTHistogramAdaptive.cxx 
 
 ifneq ($(ARCH),macosx)
 ## for macosx put into src as symbolic link
-SRCS +=  AliL3HoughTrack.cxx 
+SRCS +=  AliHLTHoughTrack.cxx 
 endif
 
 ifeq ($(ALIHLT_USEPACKAGE),ROOT)
-SRCS += AliL3HoughDisplay.cxx AliL3HoughTest.cxx AliL3HoughTransformerNew.cxx AliL3HoughTransformerGlobal.cxx
+SRCS += AliHLTHoughDisplay.cxx AliHLTHoughTest.cxx AliHLTHoughTransformerNew.cxx AliHLTHoughTransformerGlobal.cxx
 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
 
 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
-SRCS += AliL3HoughDisplay.cxx AliL3HoughTest.cxx AliL3HoughTransformerNew.cxx AliL3HoughTransformerGlobal.cxx
+SRCS += AliHLTHoughDisplay.cxx AliHLTHoughTest.cxx AliHLTHoughTransformerNew.cxx AliHLTHoughTransformerGlobal.cxx
 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
similarity index 73%
rename from HLT/kalman/AliL3Kalman.cxx
rename to HLT/kalman/AliHLTKalman.cxx
index 20fe3f665c30d64913a8f31a79d680a48aceda99..bb8fc6e6c9efa3301bc8b8241bb15d2b57215fa2 100644 (file)
@@ -1,33 +1,33 @@
 // $Id$
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
 #include <sys/time.h>
 #include <TNtuple.h>
 #include <TTimer.h>
-#include "AliL3Track.h"
-#include "AliL3KalmanTrack.h"
-#include "AliL3Benchmark.h"
-#include "AliL3MemHandler.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DataHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3DigitData.h"
-#include "AliL3Logging.h"
-#include "AliL3TrackArray.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3InterMerger.h"
-#include "AliL3TrackMerger.h"
-#include "AliL3Kalman.h"
+#include "AliHLTTrack.h"
+#include "AliHLTKalmanTrack.h"
+#include "AliHLTBenchmark.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDataHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTInterMerger.h"
+#include "AliHLTTrackMerger.h"
+#include "AliHLTKalman.h"
 
 /*
-  AliL3Kalman
+  AliHLTKalman
 */
 
-ClassImp(AliL3Kalman)
+ClassImp(AliHLTKalman)
 
-AliL3Kalman::AliL3Kalman(Char_t *datapath, Int_t *slice, Int_t min_clusters = 0){
+AliHLTKalman::AliHLTKalman(Char_t *datapath, Int_t *slice, Int_t min_clusters = 0){
   // Constructor
   if (slice)
     {
@@ -48,24 +48,24 @@ AliL3Kalman::AliL3Kalman(Char_t *datapath, Int_t *slice, Int_t min_clusters = 0)
   // NB! fNrow under only for single-patch, must include other possibilities 
   // later on. ?? Maybe better also to put it in an Init-function
   fRow[0][0] = 0;
-  fRow[0][1] = AliL3Transform::GetLastRow(-1);
+  fRow[0][1] = AliHLTTransform::GetLastRow(-1);
   fWriteOut = kTRUE;
   fBenchmark = 0;
 
 }  
 
-AliL3Kalman::~AliL3Kalman()
+AliHLTKalman::~AliHLTKalman()
 {
   // Destructor
   if (fBenchmark) delete fBenchmark;
 }
 
-void AliL3Kalman::Init()
+void AliHLTKalman::Init()
 {
-  fBenchmark = new AliL3Benchmark();
+  fBenchmark = new AliHLTBenchmark();
 }
 
-void AliL3Kalman::LoadTracks(Int_t event, Bool_t sp)
+void AliHLTKalman::LoadTracks(Int_t event, Bool_t sp)
 {
   // Load space points and tracks from conformal tracker
   // Must also be possible to take seeds (and clusters) from Hough-transform??
@@ -76,10 +76,10 @@ void AliL3Kalman::LoadTracks(Int_t event, Bool_t sp)
 
   // Load space points
   Char_t fname[1024];
-  AliL3FileHandler *clusterfile[36][6];
+  AliHLTFileHandler *clusterfile[36][6];
   for(Int_t s=fMinSlice; s<=fMaxSlice; s++)
     {
-      for(Int_t p=0; p<AliL3Transform::GetNPatches(); p++)
+      for(Int_t p=0; p<AliHLTTransform::GetNPatches(); p++)
         {
           Int_t patch;
           if(sp==kTRUE)
@@ -88,20 +88,20 @@ void AliL3Kalman::LoadTracks(Int_t event, Bool_t sp)
             patch=p;
          
           fClusters[s][p] = 0;
-          clusterfile[s][p] = new AliL3FileHandler();
+          clusterfile[s][p] = new AliHLTFileHandler();
           if(event<0)
             sprintf(fname,"%s/points_%d_%d.raw",fPath,s,patch);
           else
             sprintf(fname,"%s/points_%d_%d_%d.raw",fPath,event,s,patch);
           if(!clusterfile[s][p]->SetBinaryInput(fname))
             {
-              LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+              LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
                 <<"Inputfile "<<fname<<" does not exist"<<ENDLOG;
               delete clusterfile[s][p];
               clusterfile[s][p] = 0;
               continue;
             }
-          fClusters[s][p] = (AliL3SpacePointData*)clusterfile[s][p]->Allocate();
+          fClusters[s][p] = (AliHLTSpacePointData*)clusterfile[s][p]->Allocate();
           clusterfile[s][p]->Binary2Memory(fNcl[s][p],fClusters[s][p]);
           clusterfile[s][p]->CloseBinaryInput();
          if(sp==kTRUE)
@@ -113,26 +113,26 @@ void AliL3Kalman::LoadTracks(Int_t event, Bool_t sp)
   // Load tracks
   //sprintf(fname,"%s/kalmantracks_%d.raw",fPath,event);
   sprintf(fname,"%s/tracks_%d.raw",fPath,event);
-  AliL3FileHandler *tfile = new AliL3FileHandler();
+  AliHLTFileHandler *tfile = new AliHLTFileHandler();
   if(!tfile->SetBinaryInput(fname)){
-    LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+    LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
       <<"Inputfile "<<fname<<" does not exist"<<ENDLOG;
     return;
   }
   if(fTracks)
     delete fTracks;
-  fTracks = new AliL3TrackArray();
+  fTracks = new AliHLTTrackArray();
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   delete tfile;
   fBenchmark->Stop("Load tracks");
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Kalman::LoadTracks()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTKalman::LoadTracks()","Timing")
     <<"Loading tracks in "<<cpuTime*1000<<" ms"<<ENDLOG;
 
 }
 
-void AliL3Kalman::ProcessTracks()
+void AliHLTKalman::ProcessTracks()
 {
   // Run the Kalman filter algorithm on the loaded tracks. 
   // If the track is OK, the loaded track is saved in file kalmantracks_0.raw
@@ -149,7 +149,7 @@ void AliL3Kalman::ProcessTracks()
 
   fTracks->QSort();
 
-  fKalmanTracks = new AliL3TrackArray();
+  fKalmanTracks = new AliHLTTrackArray();
 
   // Make a ntuple to store state vector, covariance matrix and chisquare
   // Will eventually not need a TTree??
@@ -163,11 +163,11 @@ void AliL3Kalman::ProcessTracks()
       initTime = GetCpuTime();
       fBenchmark->Start("Process tracks");*/
 
-      AliL3Track *track = (AliL3Track*)fTracks->GetCheckedTrack(iTrack);
+      AliHLTTrack *track = (AliHLTTrack*)fTracks->GetCheckedTrack(iTrack);
       if (!track) continue;
       if (track->GetNumberOfPoints() < fMinPointsOnTrack) continue;    
 
-      AliL3KalmanTrack *kalmantrack = new AliL3KalmanTrack();
+      AliHLTKalmanTrack *kalmantrack = new AliHLTKalmanTrack();
 
       Bool_t save = kTRUE;
 
@@ -217,14 +217,14 @@ void AliL3Kalman::ProcessTracks()
        meas[20] = chisq;
 
        // Add the track to the trackarray      
-       AliL3Track *outtrack = (AliL3Track*)fKalmanTracks->NextTrack();
+       AliHLTTrack *outtrack = (AliHLTTrack*)fKalmanTracks->NextTrack();
        outtrack->Set(track);
        // SET THE PARAMETERS ACCORDING TO KALMAN FILTER
        outtrack->SetTgl(x[3]);
        // The factor 2 in the expression for Pt is not included in the similar offline expression. However
        // it should be like this if I use a factor 1/2 in the calculation of par4??
-       //outtrack->SetPt(1/(2*TMath::Abs(1e-9*TMath::Abs(x[4])/x[4] + x[4])/(0.0029980*AliL3Transform::GetBField())));
-       //outtrack->SetPt(1/(TMath::Abs(x[4])/0.0029980*AliL3Transform::GetBField()));
+       //outtrack->SetPt(1/(2*TMath::Abs(1e-9*TMath::Abs(x[4])/x[4] + x[4])/(0.0029980*AliHLTTransform::GetBField())));
+       //outtrack->SetPt(1/(TMath::Abs(x[4])/0.0029980*AliHLTTransform::GetBField()));
        outtrack->SetPsi(x[2]);
        //outtrack->Set(track);
 
@@ -238,20 +238,20 @@ void AliL3Kalman::ProcessTracks()
 
       /*fBenchmark->Stop("Process tracks");
       cpuTime = GetCpuTime() - initTime;
-      LOG(AliL3Log::kInformational,"AliL3Kalman::ProcessTracks()","Timing")
+      LOG(AliHLTLog::kInformational,"AliHLTKalman::ProcessTracks()","Timing")
       <<"Processed track "<<iTrack<<" in "<<cpuTime*1000<<" ms"<<ENDLOG;*/
     }
 
   fBenchmark->Stop("Process tracks");
   cpuTime = GetCpuTime() - initTime;
-  LOG(AliL3Log::kInformational,"AliL3Kalman::ProcessTracks()","Timing")
+  LOG(AliHLTLog::kInformational,"AliHLTKalman::ProcessTracks()","Timing")
     <<"Process tracks in "<<cpuTime*1000<<" ms"<<ENDLOG;
   
   if (fWriteOut)
     {
       Char_t tname[80];
       sprintf(tname,"%s/kalmantracks_%d.raw",fWriteOutPath,fEvent);
-      AliL3MemHandler *mem = new AliL3MemHandler();
+      AliHLTMemHandler *mem = new AliHLTMemHandler();
       mem->SetBinaryOutput(tname);
       mem->TrackArray2Binary(fKalmanTracks);
       mem->CloseBinaryOutput();
@@ -267,7 +267,7 @@ void AliL3Kalman::ProcessTracks()
   
 }
 
-Int_t AliL3Kalman::MakeKalmanSeed(AliL3KalmanTrack *kalmantrack, AliL3Track *track)
+Int_t AliHLTKalman::MakeKalmanSeed(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track)
 {
   Int_t num_of_clusters = track->GetNumberOfPoints();
 
@@ -278,24 +278,24 @@ Int_t AliL3Kalman::MakeKalmanSeed(AliL3KalmanTrack *kalmantrack, AliL3Track *tra
   Int_t slice0 = (id>>25) & 0x7f;
   Int_t patch0 = (id>>22) & 0x7;       
   UInt_t pos0 = id&0x3fffff;
-  AliL3SpacePointData *points0 = fClusters[slice0][patch0];
+  AliHLTSpacePointData *points0 = fClusters[slice0][patch0];
 
   id = hitnum[Int_t(num_of_clusters/2)];
   Int_t slice1 = (id>>25) & 0x7f;
   Int_t patch1 = (id>>22) & 0x7;       
   UInt_t pos1 = id&0x3fffff;
-  AliL3SpacePointData *points1 = fClusters[slice1][patch1];
+  AliHLTSpacePointData *points1 = fClusters[slice1][patch1];
 
   id = hitnum[num_of_clusters-1];
   Int_t slice2 = (id>>25) & 0x7f;
   Int_t patch2 = (id>>22) & 0x7;       
   UInt_t pos2 = id&0x3fffff;
-  AliL3SpacePointData *points2 = fClusters[slice2][patch2];
+  AliHLTSpacePointData *points2 = fClusters[slice2][patch2];
 
   return kalmantrack->MakeSeed(track, points0, pos0, slice0, points1, pos1, slice1, points2, pos2, slice2);
 }
 
-Int_t AliL3Kalman::InitKalmanTrack(AliL3KalmanTrack *kalmantrack, AliL3Track *track)
+Int_t AliHLTKalman::InitKalmanTrack(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track)
 {
   UInt_t *hitnum = track->GetHitNumbers();
   UInt_t id;
@@ -304,12 +304,12 @@ Int_t AliL3Kalman::InitKalmanTrack(AliL3KalmanTrack *kalmantrack, AliL3Track *tr
   Int_t slice = (id>>25) & 0x7f;
   Int_t patch = (id>>22) & 0x7;        
   UInt_t pos = id&0x3fffff;
-  AliL3SpacePointData *points = fClusters[slice][patch];
+  AliHLTSpacePointData *points = fClusters[slice][patch];
 
   return kalmantrack->Init(track, points, pos, slice);
 }
 
-Int_t AliL3Kalman::Propagate(AliL3KalmanTrack *kalmantrack, AliL3Track *track)
+Int_t AliHLTKalman::Propagate(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track)
 {
   // This function propagtes the kalmantrack to the next cluster of the loaded 
   // track 
@@ -326,7 +326,7 @@ Int_t AliL3Kalman::Propagate(AliL3KalmanTrack *kalmantrack, AliL3Track *track)
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
 
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       if (!points) continue;
       if (kalmantrack->Propagate(points,pos,slice) == 0) 
        {
@@ -340,7 +340,7 @@ Int_t AliL3Kalman::Propagate(AliL3KalmanTrack *kalmantrack, AliL3Track *track)
   return 1;
 }
 
-Double_t AliL3Kalman::GetCpuTime()
+Double_t AliHLTKalman::GetCpuTime()
 {
   //Return the Cputime in seconds.
  struct timeval tv;
diff --git a/HLT/kalman/AliHLTKalman.h b/HLT/kalman/AliHLTKalman.h
new file mode 100644 (file)
index 0000000..afab1f7
--- /dev/null
@@ -0,0 +1,52 @@
+// @(#) $Id$
+
+#ifndef ALIL3_KALMAN
+#define ALIL3_KALMAN
+
+
+class AliHLTSpacePointData;
+class AliHLTTrackArray;
+class AliHLTBenchmark;
+class AliHLTTrackSegmentData;
+class AliHLTKalmanTrack;
+class AliHLTTrack;
+
+class AliHLTKalman {
+
+ private:
+
+  Int_t fMinSlice;
+  Int_t fMaxSlice;
+  AliHLTSpacePointData *fClusters[36][6];
+  Char_t fPath[1024];
+  UInt_t fNcl[36][6];
+  AliHLTTrackArray *fTracks;
+  AliHLTTrackArray *fKalmanTracks;
+  AliHLTTrackArray *fSeeds;
+
+  AliHLTBenchmark *fBenchmark;
+  Int_t fMinPointsOnTrack;
+  Int_t fRow[6][2];
+  Char_t fWriteOutPath[256];
+  Bool_t fWriteOut;
+  Int_t fEvent;
+
+ public:
+
+  AliHLTKalman(Char_t *datapath, Int_t *slice, Int_t min_clusters);
+  virtual ~AliHLTKalman();
+  void Init();
+  void LoadTracks(Int_t event, Bool_t sp);
+  void ProcessTracks();
+  Int_t MakeKalmanSeed(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track);
+  Int_t InitKalmanTrack(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track);
+  Int_t Propagate(AliHLTKalmanTrack *kalmantrack, AliHLTTrack *track);
+  Int_t Update(AliHLTSpacePointData *points, UInt_t pos, AliHLTKalmanTrack *kalmantrack);
+  void WriteFiles(Char_t *path="data"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
+  Double_t GetCpuTime();
+  AliHLTTrackArray *GetTracks() {return fKalmanTracks;}
+};
+
+typedef AliHLTKalman AliL3Kalman; // for backward compatibility
+
+#endif
diff --git a/HLT/kalman/AliHLTKalmanLinkDef.h b/HLT/kalman/AliHLTKalmanLinkDef.h
new file mode 100644 (file)
index 0000000..e5534a9
--- /dev/null
@@ -0,0 +1,13 @@
+#ifdef __CINT__
+
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ typedef AliL3Kalman;
+#pragma link C++ typedef AliL3KalmanTrack;
+
+#pragma link C++ class AliHLTKalman;
+#pragma link C++ class AliHLTKalmanTrack;
+
+#endif
similarity index 89%
rename from HLT/kalman/AliL3KalmanTrack.cxx
rename to HLT/kalman/AliHLTKalmanTrack.cxx
index 10214fe734be5158c4bc2234fc430d4529395040..21757102074d59678f0085e645a2bf7bf3c0dc85 100644 (file)
@@ -1,9 +1,9 @@
 #include "TMath.h"
-#include "AliL3KalmanTrack.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3StandardIncludes.h"
+#include "AliHLTKalmanTrack.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTStandardIncludes.h"
 
 // includes for offline comparison, will be removed
 #include "AliTPCtrack.h"
 #include "Riostream.h" 
 
 
-ClassImp(AliL3KalmanTrack)
+ClassImp(AliHLTKalmanTrack)
 
 // Class for kalman tracks
 
-AliL3KalmanTrack::AliL3KalmanTrack()
+AliHLTKalmanTrack::AliHLTKalmanTrack()
 {
   fX = 0;
 
@@ -24,31 +24,31 @@ AliL3KalmanTrack::AliL3KalmanTrack()
   // Constructor
 }
 
-AliL3KalmanTrack::~AliL3KalmanTrack()
+AliHLTKalmanTrack::~AliHLTKalmanTrack()
 {
   // Destructor
 }
 
-Int_t AliL3KalmanTrack::MakeSeed(AliL3Track *track, AliL3SpacePointData *points0, UInt_t pos0, Int_t slice0, AliL3SpacePointData *points1, UInt_t pos1, Int_t slice1, AliL3SpacePointData *points2, UInt_t pos2, Int_t slice2)
+Int_t AliHLTKalmanTrack::MakeSeed(AliHLTTrack *track, AliHLTSpacePointData *points0, UInt_t pos0, Int_t slice0, AliHLTSpacePointData *points1, UInt_t pos1, Int_t slice1, AliHLTSpacePointData *points2, UInt_t pos2, Int_t slice2)
 {
   Float_t xyz[3];
   xyz[0] = points0[pos0].fX;
   xyz[1] = points0[pos0].fY;
-  AliL3Transform::Global2LocHLT(xyz,slice0);  
+  AliHLTTransform::Global2LocHLT(xyz,slice0);  
   fX = xyz[0];
   fP0 = xyz[1];
   fP1 = points0[pos0].fZ; 
 
   xyz[0] = points1[pos1].fX;
   xyz[1] = points1[pos1].fY;
-  AliL3Transform::Global2LocHLT(xyz,slice1);
+  AliHLTTransform::Global2LocHLT(xyz,slice1);
   Float_t x2 = xyz[0];
   Float_t y2 = xyz[1];
   Float_t z2 = points1[pos1].fZ;
 
   xyz[0] = points2[pos2].fX;
   xyz[1] = points2[pos2].fY;
-  AliL3Transform::Global2LocHLT(xyz,slice2);
+  AliHLTTransform::Global2LocHLT(xyz,slice2);
   Float_t x3 = 0;//xyz[0];
   Float_t y3 = 0;//xyz[1];
   Float_t z3 = 0;//points2[pos2].fZ; 
@@ -88,7 +88,7 @@ Int_t AliL3KalmanTrack::MakeSeed(AliL3Track *track, AliL3SpacePointData *points0
   return 1;  
 } 
 
-Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UInt_t pos, Int_t slice)
+Int_t AliHLTKalmanTrack::Init(AliHLTTrack *track, AliHLTSpacePointData *points, UInt_t pos, Int_t slice)
 {
 
   // Can also find seed for x4 by track->CalculateHelix() and fP4 = track->GetKappa()
@@ -98,7 +98,7 @@ Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UIn
   Float_t xyz[3];
   xyz[0] = points[pos].fX;
   xyz[1] = points[pos].fY;
-  AliL3Transform::Global2LocHLT(xyz,slice);
+  AliHLTTransform::Global2LocHLT(xyz,slice);
   
   fX = xyz[0];
 
@@ -111,8 +111,8 @@ Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UIn
   // Is this consistent with what's used in AliTPCtrack and AliTPCtracker ?? 
   // Except for the factor 0.5, it is somewhat consistent with the calculation of Pt in AliTPCtrack.
   // When I plot fP4, it is more consistent with offline if the factor 1/2 is included.
-  //fP4 = (-track->GetCharge()*1./(track->GetPt()/(0.0029980*AliL3Transform::GetBField()))); 
-  fP4 = 0.5*(-track->GetCharge()*1./(track->GetPt()/(0.0029980*AliL3Transform::GetBField()))); 
+  //fP4 = (-track->GetCharge()*1./(track->GetPt()/(0.0029980*AliHLTTransform::GetBField()))); 
+  fP4 = 0.5*(-track->GetCharge()*1./(track->GetPt()/(0.0029980*AliHLTTransform::GetBField()))); 
   //cout << fP4 << endl;
   //fP4 = 0.5*track->GetKappa();
   if (TMath::Abs(fP4) >= 0.0066) return 0; // From AliTPCtrackerMI
@@ -120,10 +120,10 @@ Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UIn
   /*Float_t firstXY[2];
   firstXY[0] = track->GetFirstPointX();
   firstXY[1] = track->GetFirstPointY();
-  AliL3Transform::Global2LocHLT(firstXY,slice);
+  AliHLTTransform::Global2LocHLT(firstXY,slice);
   */
-  //Float_t centerX = track->GetFirstPointX() - ((track->GetPt()/(0.0029980*AliL3Transform::GetBField())) * TMath::Cos(track->GetPsi() + track->GetCharge() * 0.5 * 3.14159265358979323846));
-  //Float_t centerX = firstXY[0] - ((track->GetPt()/(0.0029980*AliL3Transform::GetBField())) * TMath::Cos(track->GetPsi() + track->GetCharge() * 0.5 * 3.14159265358979323846));
+  //Float_t centerX = track->GetFirstPointX() - ((track->GetPt()/(0.0029980*AliHLTTransform::GetBField())) * TMath::Cos(track->GetPsi() + track->GetCharge() * 0.5 * 3.14159265358979323846));
+  //Float_t centerX = firstXY[0] - ((track->GetPt()/(0.0029980*AliHLTTransform::GetBField())) * TMath::Cos(track->GetPsi() + track->GetCharge() * 0.5 * 3.14159265358979323846));
   
   //fP2 = fP4*centerX; // Curvature times center of curvature
   // track->GetPointPsi() is almost always zero, why??. Still it's good for seed.
@@ -135,7 +135,7 @@ Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UIn
       return 0;
     }
 
-  //cout << "AliL3KalmanTrack::Init, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
+  //cout << "AliHLTKalmanTrack::Init, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
   //Float_t num = 12;
 
   fC00 = points[pos].fSigmaY2;
@@ -158,7 +158,7 @@ Int_t AliL3KalmanTrack::Init(AliL3Track *track, AliL3SpacePointData *points, UIn
   return 1;
 }
 
-Int_t AliL3KalmanTrack::Propagate(AliL3SpacePointData *points, UInt_t pos, Int_t slice)
+Int_t AliHLTKalmanTrack::Propagate(AliHLTSpacePointData *points, UInt_t pos, Int_t slice)
 {
   // Propagates track to the plane of the next found cluster
   Float_t Xold = fX; // X position for previous space point
@@ -190,8 +190,8 @@ Int_t AliL3KalmanTrack::Propagate(AliL3SpacePointData *points, UInt_t pos, Int_t
   xyz[0] = points[pos].fX;
   xyz[1] = points[pos].fY;
 
-  //AliL3Transform::Global2Local(xyz,slice);
-  AliL3Transform::Global2LocHLT(xyz,slice);
+  //AliHLTTransform::Global2Local(xyz,slice);
+  AliHLTTransform::Global2LocHLT(xyz,slice);
   
   Float_t Xnew = xyz[0];
   Float_t dx = Xnew - Xold; //cout << Xnew << endl;
@@ -342,7 +342,7 @@ Int_t AliL3KalmanTrack::Propagate(AliL3SpacePointData *points, UInt_t pos, Int_t
   //return UpdateTrack(points, pos, slice);
 }
 
-Int_t AliL3KalmanTrack::UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int_t slice)
+Int_t AliHLTKalmanTrack::UpdateTrack(AliHLTSpacePointData *points, UInt_t pos, Int_t slice)
 {
   // Update the track parameters with the measured values
   
@@ -351,8 +351,8 @@ Int_t AliL3KalmanTrack::UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int
   xyz[0] = points[pos].fX;
   xyz[1] = points[pos].fY;
   
-  //AliL3Transform::Global2Local(xyz,slice);
-  AliL3Transform::Global2LocHLT(xyz,slice);
+  //AliHLTTransform::Global2Local(xyz,slice);
+  AliHLTTransform::Global2LocHLT(xyz,slice);
   
   //fX = points[pos].fX; 
   fX = xyz[0];
@@ -415,7 +415,7 @@ Int_t AliL3KalmanTrack::UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int
   fP2 = eta;
   fP3 += k30*dy + k31*dz; //cout << "update " << fP3 << endl;
   fP4 = cur;
-  //cout << "AliL3KalmanTrack::Update, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
+  //cout << "AliHLTKalmanTrack::Update, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
   //cout << "Measured, " << points[pos].fY << " " << points[pos].fZ << endl;
 
   Float_t c10 = fC10;
@@ -467,7 +467,7 @@ Int_t AliL3KalmanTrack::UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int
   /*  sigmaY2 = sigmaY2*det;
   sigmaZ2 = sigmaZ2*det;
   sigmaYZ = sigmaYZ*det;*/
-  //cout << "AliL3KalmanTrack::Update, Chi2 = " << GetChisq() << endl;
+  //cout << "AliHLTKalmanTrack::Update, Chi2 = " << GetChisq() << endl;
   //cout << "AliKalmanTrack::Update, sigmaY2 = " << sigmaY2 << " sigmaZ2 = " << sigmaZ2 << " sigmaYZ = " << sigmaYZ << " dy = " << dy << " dz = " << dz << endl;
 
   // Calculate increase of chisquare
@@ -482,8 +482,8 @@ Int_t AliL3KalmanTrack::UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int
   return 1;
 } 
 
-//Float_t AliL3KalmanTrack::GetChisqIncrement(AliL3SpacePointData *points, UInt_t pos)
-Float_t AliL3KalmanTrack::GetChisqIncrement(Float_t y, Float_t error_y, Float_t z, Float_t error_z)
+//Float_t AliHLTKalmanTrack::GetChisqIncrement(AliHLTSpacePointData *points, UInt_t pos)
+Float_t AliHLTKalmanTrack::GetChisqIncrement(Float_t y, Float_t error_y, Float_t z, Float_t error_z)
 {
   // This function calculates a predicted chi2 increment.
   //-----------------------------------------------------------------
@@ -505,7 +505,7 @@ Float_t AliL3KalmanTrack::GetChisqIncrement(Float_t y, Float_t error_y, Float_t
   return (dy*r00*dy + 2*r01*dy*dz + dz*r11*dz)/det;
 }
 
-Float_t AliL3KalmanTrack::f2(Float_t x1,Float_t y1,
+Float_t AliHLTKalmanTrack::f2(Float_t x1,Float_t y1,
                             Float_t x2,Float_t y2,
                             Float_t x3,Float_t y3)
 {
@@ -524,7 +524,7 @@ Float_t AliL3KalmanTrack::f2(Float_t x1,Float_t y1,
   return -a/(d*y1-b)*xr/sqrt(xr*xr+yr*yr);
 }
 
-Float_t AliL3KalmanTrack::f3(Float_t x1,Float_t y1,
+Float_t AliHLTKalmanTrack::f3(Float_t x1,Float_t y1,
                             Float_t x2,Float_t y2,
                             Float_t z1,Float_t z2)
 {
@@ -535,7 +535,7 @@ Float_t AliL3KalmanTrack::f3(Float_t x1,Float_t y1,
   return (z1 - z2)/sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
 }
 
-Float_t AliL3KalmanTrack::f4(Float_t x1,Float_t y1,
+Float_t AliHLTKalmanTrack::f4(Float_t x1,Float_t y1,
                             Float_t x2,Float_t y2,
                             Float_t x3,Float_t y3)
 {
@@ -554,10 +554,10 @@ Float_t AliL3KalmanTrack::f4(Float_t x1,Float_t y1,
   return -xr*yr/sqrt(xr*xr+yr*yr);
 }
 
-void AliL3KalmanTrack::Set(AliL3KalmanTrack *track)
+void AliHLTKalmanTrack::Set(AliHLTKalmanTrack *track)
 {
 
-  AliL3KalmanTrack *tpt = (AliL3KalmanTrack*)track;
+  AliHLTKalmanTrack *tpt = (AliHLTKalmanTrack*)track;
   SetX0(tpt->GetX0());
   SetX1(tpt->GetX1());
   SetX2(tpt->GetX2());
@@ -583,7 +583,7 @@ void AliL3KalmanTrack::Set(AliL3KalmanTrack *track)
   SetNHits(tpt->GetNHits());
 }
 
-Int_t AliL3KalmanTrack::PropagateOfflineTrack(Double_t x, Double_t y, Double_t z, Double_t ey, Double_t ez)
+Int_t AliHLTKalmanTrack::PropagateOfflineTrack(Double_t x, Double_t y, Double_t z, Double_t ey, Double_t ez)
 {
   // Propagates track to the plane of the next found cluster
   Float_t Xold = fX; // X position for previous space point
@@ -732,7 +732,7 @@ Int_t AliL3KalmanTrack::PropagateOfflineTrack(Double_t x, Double_t y, Double_t z
 
 }
 
-Int_t AliL3KalmanTrack::UpdateOfflineTrack(Double_t x, Double_t y, Double_t z, Double_t ey, Double_t ez)
+Int_t AliHLTKalmanTrack::UpdateOfflineTrack(Double_t x, Double_t y, Double_t z, Double_t ey, Double_t ez)
 {
   // Update the track parameters with the measured values
   //fX = x;
@@ -780,7 +780,7 @@ Int_t AliL3KalmanTrack::UpdateOfflineTrack(Double_t x, Double_t y, Double_t z, D
   fP2 = eta;
   fP3 += k30*dy + k31*dz; //cout << "update " << fP3 << endl;
   fP4 = cur;
-  //cout << "AliL3KalmanTrack::Update, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
+  //cout << "AliHLTKalmanTrack::Update, " << fP0 << " " << fP1 << " " << fP2 << " " << fP3 << " " << fP4 << endl;
   //cout << "Measured, " << points[pos].fY << " " << points[pos].fZ << endl;
   
   Float_t c01 = fC10;
@@ -808,12 +808,12 @@ Int_t AliL3KalmanTrack::UpdateOfflineTrack(Double_t x, Double_t y, Double_t z, D
 
   fC44 -= k40*c04 + k41*c14;
 
-  //cout << "AliL3KalmanTrack::Update, error " << fC00 << " " << fC11 << " " << fC22 << " " << fC33 << " " << fC44 << endl;
+  //cout << "AliHLTKalmanTrack::Update, error " << fC00 << " " << fC11 << " " << fC22 << " " << fC33 << " " << fC44 << endl;
 
   sigmaY2 = sigmaY2*det;
   sigmaZ2 = sigmaZ2*det;
   sigmaYZ = sigmaYZ*det;
-  //cout << "AliL3KalmanTrack::Update, Chi2 = " << GetChisq() << endl;
+  //cout << "AliHLTKalmanTrack::Update, Chi2 = " << GetChisq() << endl;
 
   fChisq = GetChisq() + GetChisqIncrementOfflineTrack(y,z,ey,ez);
   //cout << "fChisq = " << fChisq << endl;
@@ -825,7 +825,7 @@ Int_t AliL3KalmanTrack::UpdateOfflineTrack(Double_t x, Double_t y, Double_t z, D
   
 }
 
-Float_t AliL3KalmanTrack::GetChisqIncrementOfflineTrack(Double_t y, Double_t z, Double_t ey, Double_t ez)
+Float_t AliHLTKalmanTrack::GetChisqIncrementOfflineTrack(Double_t y, Double_t z, Double_t ey, Double_t ez)
 {
   // This function calculates a predicted chi2 increment.
   //-----------------------------------------------------------------
similarity index 83%
rename from HLT/kalman/AliL3KalmanTrack.h
rename to HLT/kalman/AliHLTKalmanTrack.h
index de3b124fd296b0a3c6ed998f197b2f57e9169b3f..8da173430d266fcf41d2964df0c2ebc28068e5f2 100644 (file)
 *                      GetCovariance(Float_t xx[15])              
 */
 
-#include "AliL3RootTypes.h"
-#include "AliL3Track.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTTrack.h"
 
 // includes for offline comparison, will be removed
 #include "AliTPCtrack.h"
 // includes for offline comparison, will be removed
 
-class AliL3SpacePointData;
+class AliHLTSpacePointData;
 
-class AliL3KalmanTrack : public AliL3Track {
-//class AliL3KalmanTrack {
+class AliHLTKalmanTrack : public AliHLTTrack {
+//class AliHLTKalmanTrack {
 
  private:
 
@@ -57,13 +57,13 @@ class AliL3KalmanTrack : public AliL3Track {
 
  public:
 
-  AliL3KalmanTrack();
-  virtual ~AliL3KalmanTrack();
-Int_t MakeSeed(AliL3Track *track, AliL3SpacePointData *points0, UInt_t pos0, Int_t slice0, AliL3SpacePointData *points1, UInt_t pos1, Int_t slice1, AliL3SpacePointData *points2, UInt_t pos2, Int_t slice2);
-  Int_t Init(AliL3Track *track, AliL3SpacePointData *points, UInt_t pos,Int_t slice);
-  Int_t Propagate(AliL3SpacePointData *points, UInt_t pos, Int_t slice);
-  Int_t UpdateTrack(AliL3SpacePointData *points, UInt_t pos, Int_t slice);
-  Int_t UpdateTrackII(AliL3SpacePointData *points, UInt_t pos);
+  AliHLTKalmanTrack();
+  virtual ~AliHLTKalmanTrack();
+Int_t MakeSeed(AliHLTTrack *track, AliHLTSpacePointData *points0, UInt_t pos0, Int_t slice0, AliHLTSpacePointData *points1, UInt_t pos1, Int_t slice1, AliHLTSpacePointData *points2, UInt_t pos2, Int_t slice2);
+  Int_t Init(AliHLTTrack *track, AliHLTSpacePointData *points, UInt_t pos,Int_t slice);
+  Int_t Propagate(AliHLTSpacePointData *points, UInt_t pos, Int_t slice);
+  Int_t UpdateTrack(AliHLTSpacePointData *points, UInt_t pos, Int_t slice);
+  Int_t UpdateTrackII(AliHLTSpacePointData *points, UInt_t pos);
   void AddTrack();
   //  Float_t GetStateVector(Float_t xx[5]) const {
   void GetStateVector(Float_t xx[5]) const {
@@ -138,12 +138,12 @@ Int_t MakeSeed(AliL3Track *track, AliL3SpacePointData *points0, UInt_t pos0, Int
   fC44 = f[14];}
   void SetChisq(Float_t f) {fChisq = f;}
   void SetMaxChi2(Float_t f) {fMaxChi2 = f;}
-  //Float_t GetChisqIncrement(AliL3SpacePointData *points, UInt_t pos);
+  //Float_t GetChisqIncrement(AliHLTSpacePointData *points, UInt_t pos);
   Float_t GetChisqIncrement(Float_t y, Float_t error_y, Float_t z, Float_t error_z);
   Float_t f2(Float_t x1,Float_t y1, Float_t x2,Float_t y2, Float_t x3,Float_t y3);
   Float_t f3(Float_t x1,Float_t y1, Float_t x2,Float_t y2, Float_t z1,Float_t z2);
   Float_t f4(Float_t x1,Float_t y1, Float_t x2,Float_t y2, Float_t x3,Float_t y3);
-  void Set(AliL3KalmanTrack *track);
+  void Set(AliHLTKalmanTrack *track);
 
   Int_t GetNHits() const {return fNHits;}
   void SetNHits(Int_t f) {fNHits = f;}
@@ -154,4 +154,6 @@ Int_t MakeSeed(AliL3Track *track, AliL3SpacePointData *points0, UInt_t pos0, Int
   
 };
 
+typedef AliHLTKalmanTrack AliL3KalmanTrack; // for backward compatibility
+
 #endif
diff --git a/HLT/kalman/AliL3Kalman.h b/HLT/kalman/AliL3Kalman.h
deleted file mode 100644 (file)
index 29fadcd..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3_KALMAN
-#define ALIL3_KALMAN
-
-
-class AliL3SpacePointData;
-class AliL3TrackArray;
-class AliL3Benchmark;
-class AliL3TrackSegmentData;
-class AliL3KalmanTrack;
-class AliL3Track;
-
-class AliL3Kalman {
-
- private:
-
-  Int_t fMinSlice;
-  Int_t fMaxSlice;
-  AliL3SpacePointData *fClusters[36][6];
-  Char_t fPath[1024];
-  UInt_t fNcl[36][6];
-  AliL3TrackArray *fTracks;
-  AliL3TrackArray *fKalmanTracks;
-  AliL3TrackArray *fSeeds;
-
-  AliL3Benchmark *fBenchmark;
-  Int_t fMinPointsOnTrack;
-  Int_t fRow[6][2];
-  Char_t fWriteOutPath[256];
-  Bool_t fWriteOut;
-  Int_t fEvent;
-
- public:
-
-  AliL3Kalman(Char_t *datapath, Int_t *slice, Int_t min_clusters);
-  virtual ~AliL3Kalman();
-  void Init();
-  void LoadTracks(Int_t event, Bool_t sp);
-  void ProcessTracks();
-  Int_t MakeKalmanSeed(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
-  Int_t InitKalmanTrack(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
-  Int_t Propagate(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
-  Int_t Update(AliL3SpacePointData *points, UInt_t pos, AliL3KalmanTrack *kalmantrack);
-  void WriteFiles(Char_t *path="data"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
-  Double_t GetCpuTime();
-  AliL3TrackArray *GetTracks() {return fKalmanTracks;}
-};
-
-#endif
diff --git a/HLT/kalman/AliL3KalmanLinkDef.h b/HLT/kalman/AliL3KalmanLinkDef.h
deleted file mode 100644 (file)
index 1b16c6b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __CINT__
-
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AliL3Kalman;
-#pragma link C++ class AliL3KalmanTrack;
-
-#endif
index 012f12fb96f5fee10b0eac1dab7cc4f449d643cf..253be7f1d00b15018f463e6813c047204ea929ab 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides  #
 ################################
 
-MODNAME = AliL3Kalman
+MODNAME = AliHLTKalman
 
 ifndef ALIHLT_TOPDIR
 ALIHLT_TOPDIR = $(shell pwd)/..
@@ -14,7 +14,7 @@ endif
 
 include $(ALIHLT_TOPDIR)/Makefile.conf
 
-SRCS = AliL3Kalman.cxx AliL3KalmanTrack.cxx 
+SRCS = AliHLTKalman.cxx AliHLTKalmanTrack.cxx 
 
 ifeq ($(ALIHLT_USEPACKAGE),ROOT)
 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
diff --git a/HLT/libAliL3Comp.pkg b/HLT/libAliL3Comp.pkg
deleted file mode 100644 (file)
index 45d04d1..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#-*- Mode: Makefile -*-
-# $Id$
-
-include HLT/hlt.conf
-
-SRCS:= comp/AliL3ClusterFitter.cxx \
-comp/AliL3Compress.cxx \
-comp/AliL3DataCompressor.cxx \
-comp/AliL3DataCompressorHelper.cxx \
-comp/AliL3ModelTrack.cxx \
-comp/AliL3Modeller.cxx \
-comp/AliL3OfflineDataCompressor.cxx \
-comp/AliL3CompressAC.cxx
-
-CSRCS:= comp/AliL3FitUtilities.c comp/bitio.c comp/errhand.c
-
-HDRS:= $(SRCS:.cxx=.h)
-
-CHDRS:= $(CSRCS:.c=.h)
-
-DHDR:= comp/AliL3CompLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE+= HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
diff --git a/HLT/libAliL3Hough.pkg b/HLT/libAliL3Hough.pkg
deleted file mode 100644 (file)
index b5783b7..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#-*- Mode: Makefile -*-
-# $Id$
-
-include HLT/hlt.conf
-
-SRCS:= hough/AliL3Histogram.cxx \
-hough/AliL3Histogram1D.cxx \
-hough/AliL3HistogramAdaptive.cxx \
-hough/AliL3Hough.cxx \
-hough/AliL3HoughBaseTransformer.cxx \
-hough/AliL3HoughClusterTransformer.cxx \
-hough/AliL3HoughDisplay.cxx \
-hough/AliL3HoughEval.cxx \
-hough/AliL3HoughGlobalMerger.cxx \
-hough/AliL3HoughIntMerger.cxx \
-hough/AliL3HoughMaxFinder.cxx \
-hough/AliL3HoughMerger.cxx \
-hough/AliL3HoughTest.cxx \
-hough/AliL3HoughTrack.cxx \
-hough/AliL3HoughKalmanTrack.cxx \
-hough/AliL3HoughTransformer.cxx \
-hough/AliL3HoughTransformerGlobal.cxx \
-hough/AliL3HoughTransformerLUT.cxx \
-hough/AliL3HoughTransformerNew.cxx \
-hough/AliL3HoughTransformerRow.cxx \
-hough/AliL3HoughTransformerVhdl.cxx
-
-
-HDRS:= $(SRCS:.cxx=.h) $(HLTEHDRS)
-
-DHDR:= hough/AliL3HoughLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE+= HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
diff --git a/HLT/libAliL3ITS.pkg b/HLT/libAliL3ITS.pkg
deleted file mode 100644 (file)
index 7daedf6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#-*- Mode: Makefile -*-
-
-include HLT/hlt.conf
-
-SRCS:= ITS/AliL3ITStrack.cxx ITS/AliL3ITStracker.cxx ITS/AliL3ITSVertexerZ.cxx ITS/AliL3ITSclusterer.cxx
-
-HDRS:= $(SRCS:.cxx=.h) $(HLTEHDRS)
-
-DHDR:= ITS/AliL3ITSLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE += HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
diff --git a/HLT/libAliL3MUON.pkg b/HLT/libAliL3MUON.pkg
deleted file mode 100644 (file)
index b079816..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#-*- Mode: Makefile -*-
-
-include HLT/hlt.conf
-
-SRCS += MUON/src/AliRoot/Region.cxx \
-MUON/src/AliRoot/Point.cxx \
-MUON/src/AliRoot/TriggerRecord.cxx \
-MUON/src/AliRoot/ADCStream.cxx \
-MUON/src/AliRoot/Track.cxx \
-MUON/src/AliRoot/ADCStreamSource.cxx \
-MUON/src/AliRoot/TriggerSource.cxx \
-MUON/src/AliRoot/ClusterSource.cxx \
-MUON/src/AliRoot/TrackSink.cxx \
-MUON/src/AliRoot/TrackerCallback.cxx \
-MUON/src/AliRoot/ClusterFinderCallback.cxx \
-MUON/src/AliRoot/MicrodHLT.cxx
-
-HDRS:= $(SRCS:.cxx=.hpp) \
-MUON/src/AliRoot/TrackerInterface.hpp \
-MUON/src/AliRoot/ClusterFinderInterface.hpp \
-MUON/src/AliRoot/AliHLTMUONTracker.h \
-MUON/src/AliRoot/Tracker.hpp \
-MUON/src/AliRoot/ClusterFinder.hpp \
-
-SRCS += MUON/src/AliHLTMUONUtils.cxx \
-MUON/src/AliHLTMUONOutOfMemory.cxx \
-MUON/src/Version/Version.cxx \
-MUON/src/AliHLTMUONCoreRegionOfInterest.cxx \
-MUON/src/Tracking/Calculations.cxx \
-MUON/src/Tracking/MansoTracker.cxx \
-MUON/src/Clustering/CenterOfGravityFinder.cxx \
-MUON/src/AliRoot/TrackerProxy.cxx \
-MUON/src/AliRoot/ClusterFinderProxy.cxx \
-MUON/src/AliRoot/convert.cxx \
-MUON/src/AliRoot/AliHLTMUONTracker.cxx \
-MUON/src/Debug/AliHLTMUONPrint.cxx
-
-
-DHDR:= MUON/src/AliRoot/HLTMUONLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE += HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
diff --git a/HLT/libAliL3Misc.pkg b/HLT/libAliL3Misc.pkg
deleted file mode 100644 (file)
index 292f26f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#-*- Mode: Makefile -*-
-# $Id$
-
-include HLT/hlt.conf
-
-SRCS:= misc/AliL3AltroMemHandler.cxx \
-misc/AliL3DDLDataFileHandler.cxx \
-misc/AliL3DDLRawReader.cxx \
-misc/AliL3DDLRawReaderFile.cxx \
-misc/AliL3DDLTPCRawStream.cxx \
-misc/AliL3DataHandler.cxx \
-misc/AliL3FFloat.cxx \
-misc/AliL3Stopwatch.cxx \
-misc/AliL3TPCMapping.cxx \
-misc/AliL3TransBit.cxx \
-misc/AliL3VHDLClusterFinder.cxx
-
-HDRS:= $(SRCS:.cxx=.h) $(HLTEHDRS)
-
-DHDR:= misc/AliL3MiscLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE+= HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
diff --git a/HLT/libAliL3Src.pkg b/HLT/libAliL3Src.pkg
deleted file mode 100644 (file)
index 4c4f52e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#-*- Mode: Makefile -*-
-# $Id$
-
-include HLT/hlt.conf
-
-SRCS:= src/AliL3Benchmark.cxx \
-src/AliL3ClustFinderNew.cxx \
-src/AliL3ConfMapFit.cxx \
-src/AliL3ConfMapPoint.cxx \
-src/AliL3ConfMapTrack.cxx \
-src/AliL3ConfMapper.cxx \
-src/AliL3Display.cxx \
-src/AliL3Evaluate.cxx \
-src/AliL3FileHandler.cxx \
-src/AliL3Fitter.cxx \
-src/AliL3Merger.cxx \
-src/AliL3GlobalMerger.cxx \
-src/AliL3InterMerger.cxx \
-src/AliL3Logger.cxx \
-src/AliL3MemHandler.cxx \
-src/AliL3RawDataFileHandler.cxx \
-src/AliL3Track.cxx \
-src/AliL3TrackArray.cxx \
-src/AliL3TrackMerger.cxx \
-src/AliL3Transform.cxx \
-src/AliL3Vertex.cxx \
-src/AliL3VertexArray.cxx \
-src/AliL3VertexFinder.cxx \
-src/AliLevel3.cxx \
-src/AliHLTReconstructor.cxx \
-src/AliL3TPCtracker.cxx \
-src/AliL3Log.cxx \
-src/AliL3TPCBeamTestMemHandler.cxx
-
-HDRS:= $(SRCS:.cxx=.h) src/AliL3SpacePointData.h 
-
-DHDR:= src/AliL3SrcLinkDef.h
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-EINCLUDE += HLT/src HLT/hough HLT/comp HLT/misc HLT/ITS HLT/MUON/src TPC ITS MUON STEER RAW
similarity index 72%
rename from HLT/misc/AliL3AltroMemHandler.cxx
rename to HLT/misc/AliHLTAltroMemHandler.cxx
index 3c5cb308835e9a6d3ff108834baa611500dfb9ce..5f309f5a6638d411525e71edf7bfe6f863861088 100644 (file)
@@ -2,10 +2,10 @@
 
 // Author: Constantin Loizides <mailto: loizides@ikf.uni-frankfurt.de>
 // *-- Copyright & copy ALICE HLT Group
-/** \class AliL3AltroMemHandler
+/** \class AliHLTAltroMemHandler
 <pre>
 //--------------------------------------------------------------------
-// AliL3AltroMemHandler
+// AliHLTAltroMemHandler
 //
 // Converts digits in memory into a backlinked ALTRO like data format.
 // Its output file is used as input to the various VHDL testbenches.
 </pre>
 */
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3AltroMemHandler.h"
-#include "AliL3Logging.h"
+#include "AliHLTAltroMemHandler.h"
+#include "AliHLTLogging.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3AltroMemHandler)
+ClassImp(AliHLTAltroMemHandler)
 
-AliL3AltroMemHandler::AliL3AltroMemHandler(){
+AliHLTAltroMemHandler::AliHLTAltroMemHandler(){
   // default constructor
   Clear();
   ClearRead();
 };
 
-void AliL3AltroMemHandler::Clear(){
+void AliHLTAltroMemHandler::Clear(){
   // clear everything
   memset(fAltroMem,0,ALTRO_SIZE);
   memset(fTimesPerPad,0,1024);
@@ -42,7 +42,7 @@ void AliL3AltroMemHandler::Clear(){
   fFlag=kFALSE;
 };
 
-void AliL3AltroMemHandler::ClearRead(){
+void AliHLTAltroMemHandler::ClearRead(){
   // clears the reading
   fRCounter=0;
   fSCounter=0;
@@ -51,7 +51,7 @@ void AliL3AltroMemHandler::ClearRead(){
   fRTime=0;
 }
 
-void AliL3AltroMemHandler::Write(UShort_t row, UChar_t pad, UShort_t time, UShort_t charge)
+void AliHLTAltroMemHandler::Write(UShort_t row, UChar_t pad, UShort_t time, UShort_t charge)
 {
   // writes packets
   if(fTCounter==0){
@@ -69,7 +69,7 @@ void AliL3AltroMemHandler::Write(UShort_t row, UChar_t pad, UShort_t time, UShor
   Add(charge,time);
 }
 
-void AliL3AltroMemHandler::Add(UShort_t charge, UShort_t time)
+void AliHLTAltroMemHandler::Add(UShort_t charge, UShort_t time)
 {
   // adds new time and charge
   fTimesPerPad[fTCounter]=time;
@@ -77,7 +77,7 @@ void AliL3AltroMemHandler::Add(UShort_t charge, UShort_t time)
   fTCounter++;
 }
 
-void AliL3AltroMemHandler::MakeAltroPackets()
+void AliHLTAltroMemHandler::MakeAltroPackets()
 {
   // makes Altro packets
   UShort_t i=0,j=0;
@@ -122,7 +122,7 @@ void AliL3AltroMemHandler::MakeAltroPackets()
   }
 }
 
-void AliL3AltroMemHandler::AddTrailer()
+void AliHLTAltroMemHandler::AddTrailer()
 {
   // adds data trailer
   UShort_t savepcounter=fPCounter;
@@ -137,7 +137,7 @@ void AliL3AltroMemHandler::AddTrailer()
   fAltroMem[--fCounter]=fLRow;
 }
 
-void AliL3AltroMemHandler::Write()
+void AliHLTAltroMemHandler::Write()
 {
   // default form of Write
   if(fCounter==ALTRO_SIZE) return;
@@ -158,7 +158,7 @@ void AliL3AltroMemHandler::Write()
   }
 }
 
-void AliL3AltroMemHandler::WriteFinal()
+void AliHLTAltroMemHandler::WriteFinal()
 {
   // makes Altro packets and writes them
   if(fTCounter>0){
@@ -167,16 +167,16 @@ void AliL3AltroMemHandler::WriteFinal()
   }
 }
 
-Bool_t AliL3AltroMemHandler::Read(UShort_t &row, UChar_t &pad, UShort_t &time, UShort_t &charge)
+Bool_t AliHLTAltroMemHandler::Read(UShort_t &row, UChar_t &pad, UShort_t &time, UShort_t &charge)
 {
   // reads the packets
   if(fFlag==kTRUE) {
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::Read","File Open")<<"Binary not supported!"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::Read","File Open")<<"Binary not supported!"<<ENDLOG;
     return kFALSE;
   }
   
   if(feof(fInBinary)){
-    LOG(AliL3Log::kDebug,"AliL3AltroMemHandler::Read","File Open")<<"End of File!"<<ENDLOG;
+    LOG(AliHLTLog::kDebug,"AliHLTAltroMemHandler::Read","File Open")<<"End of File!"<<ENDLOG;
     return kFALSE;
   }
 
@@ -195,7 +195,7 @@ Bool_t AliL3AltroMemHandler::Read(UShort_t &row, UChar_t &pad, UShort_t &time, U
        ClearRead();
        return kFALSE;
       } else {
-       LOG(AliL3Log::kError,"AliL3AltroMemHandler::Read","Trailer not found!")<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTAltroMemHandler::Read","Trailer not found!")<<ENDLOG;
        return kFALSE;
       }
     }
@@ -225,16 +225,16 @@ Bool_t AliL3AltroMemHandler::Read(UShort_t &row, UChar_t &pad, UShort_t &time, U
   return kTRUE;
 }
 
-Bool_t AliL3AltroMemHandler::ReadSequence(UShort_t &row, UChar_t &pad, UShort_t &time, UChar_t &n, UShort_t **charges)
+Bool_t AliHLTAltroMemHandler::ReadSequence(UShort_t &row, UChar_t &pad, UShort_t &time, UChar_t &n, UShort_t **charges)
 {
   // reads sequence
   if(fFlag==kTRUE) {
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::ReadSequence","File Open")<<"Binary not supported!"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::ReadSequence","File Open")<<"Binary not supported!"<<ENDLOG;
     return kFALSE;
   }
   
   if(feof(fInBinary)){
-    LOG(AliL3Log::kDebug,"AliL3AltroMemHandler::ReadSequence","File Open")<<"End of File!"<<ENDLOG;
+    LOG(AliHLTLog::kDebug,"AliHLTAltroMemHandler::ReadSequence","File Open")<<"End of File!"<<ENDLOG;
     return kFALSE;
   }
 
@@ -253,7 +253,7 @@ Bool_t AliL3AltroMemHandler::ReadSequence(UShort_t &row, UChar_t &pad, UShort_t
        ClearRead();
        return kFALSE;
       } else {
-       LOG(AliL3Log::kError,"AliL3AltroMemHandler::ReadSequence","Format") <<"Trailer not found!"<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTAltroMemHandler::ReadSequence","Format") <<"Trailer not found!"<<ENDLOG;
        return kFALSE;
       }
     }
@@ -290,12 +290,12 @@ Bool_t AliL3AltroMemHandler::ReadSequence(UShort_t &row, UChar_t &pad, UShort_t
   return kTRUE;
 }
 
-Bool_t AliL3AltroMemHandler::SetBinaryInput(FILE *file)
+Bool_t AliHLTAltroMemHandler::SetBinaryInput(FILE *file)
 {
   // sets binary input
   fInBinary = file;
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::SetBinaryInput","File Open")<<"Pointer to File = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::SetBinaryInput","File Open")<<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   ClearRead();
@@ -303,12 +303,12 @@ Bool_t AliL3AltroMemHandler::SetBinaryInput(FILE *file)
   return kTRUE;
 }
 
-Bool_t AliL3AltroMemHandler::SetASCIIInput(FILE *file)
+Bool_t AliHLTAltroMemHandler::SetASCIIInput(FILE *file)
 {
   // sets ASCII input
   fInBinary = file;
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::SetASCIIInput","File Open")<<"Pointer to File = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::SetASCIIInput","File Open")<<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   ClearRead();
@@ -316,11 +316,11 @@ Bool_t AliL3AltroMemHandler::SetASCIIInput(FILE *file)
   return kTRUE;
 }
 
-Bool_t AliL3AltroMemHandler::SetBinaryOutput(FILE *file){
+Bool_t AliHLTAltroMemHandler::SetBinaryOutput(FILE *file){
   // sets binary output
   fOutBinary = file;
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::SetBinaryOutput","File Open") <<"Pointer to File = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::SetBinaryOutput","File Open") <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   Clear();
@@ -328,11 +328,11 @@ Bool_t AliL3AltroMemHandler::SetBinaryOutput(FILE *file){
   return kTRUE;
 }
 
-Bool_t AliL3AltroMemHandler::SetASCIIOutput(FILE *file){
+Bool_t AliHLTAltroMemHandler::SetASCIIOutput(FILE *file){
   // sets ASCII output
   fOutBinary = file;
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3AltroMemHandler::SetASCIIOutput","File Open") <<"Pointer to File = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTAltroMemHandler::SetASCIIOutput","File Open") <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   Clear();
similarity index 86%
rename from HLT/misc/AliL3AltroMemHandler.h
rename to HLT/misc/AliHLTAltroMemHandler.h
index 136087aec4044d264eb36a910e35fa3a7fd88b79..30af2df8aa11be8e93469557ea5f27d7c5584de4 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef ALIL3ALTROMEMHANDLER_H
 #define ALIL3ALTROMEMHANDLER_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 //Maximum size of Altro packet equals 1000 bit
 #define ALTRO_PACKET_SIZE 125
 //Maximum size of array to store whole pad
 #define ALTRO_SIZE (100*ALTRO_PACKET_SIZE)
 
-class AliL3AltroMemHandler {
+class AliHLTAltroMemHandler {
 
   public: 
 
-   AliL3AltroMemHandler();
-   virtual ~AliL3AltroMemHandler() {}
+   AliHLTAltroMemHandler();
+   virtual ~AliHLTAltroMemHandler() {}
    void Write(UShort_t row, UChar_t pad, UShort_t time, UShort_t charge);
    Bool_t Read(UShort_t &row, UChar_t &pad, UShort_t &time, UShort_t &charge);
    Bool_t ReadSequence(UShort_t &row, UChar_t &pad, UShort_t &time, UChar_t &n, UShort_t **charges);
@@ -57,9 +57,11 @@ class AliL3AltroMemHandler {
    void AddTrailer();
    void Write();
 
-   ClassDef(AliL3AltroMemHandler,1)
+   ClassDef(AliHLTAltroMemHandler,1)
 };
 
+typedef AliHLTAltroMemHandler AliL3AltroMemHandler; // for backward compatibility
+
 #endif
 
 
similarity index 61%
rename from HLT/misc/AliL3DDLDataFileHandler.cxx
rename to HLT/misc/AliHLTDDLDataFileHandler.cxx
index d3bb3bb66a3f3cf0d282db33002d719cddcd07e7..802e0b67c2acc8c7e761e287c6d45ff82b258d21 100644 (file)
@@ -3,56 +3,56 @@
 // Author: C. Loizides <loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DigitData.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDigitData.h"
 #ifdef use_newio
 #include "AliRawReaderRoot.h"
 #include "AliRawReaderDate.h"
 #else
-#include "AliL3DDLTPCRawStream.h"
-#include "AliL3DDLRawReaderFile.h"
+#include "AliHLTDDLTPCRawStream.h"
+#include "AliHLTDDLRawReaderFile.h"
 #endif
-#include "AliL3DDLDataFileHandler.h"
+#include "AliHLTDDLDataFileHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3DDLDataFileHandler 
+/** \class AliHLTDDLDataFileHandler 
 <pre>
 //_____________________________________________________________
-// AliL3DDLDataFileHandler
+// AliHLTDDLDataFileHandler
 //
 //  This class does converts from the DDL format of offline
 //  into the memory I/O handling of the HLT binary files.
 //  
 //  Examples: see ddl2binary in exa and the general 
-//            AliL3MemHandler class description
+//            AliHLTMemHandler class description
 //
 </pre>
 */
 
-ClassImp(AliL3DDLDataFileHandler)
+ClassImp(AliHLTDDLDataFileHandler)
 
-AliL3DDLDataFileHandler::AliL3DDLDataFileHandler()
+AliHLTDDLDataFileHandler::AliHLTDDLDataFileHandler()
 {
   // default constructor
   fReader=0;
   fTPCStream=0;
 }
 
-AliL3DDLDataFileHandler::~AliL3DDLDataFileHandler()
+AliHLTDDLDataFileHandler::~AliHLTDDLDataFileHandler()
 {
   // destructor
   FreeAll();
 }
 
-void AliL3DDLDataFileHandler::FreeAll()
+void AliHLTDDLDataFileHandler::FreeAll()
 {
   // frees all heap memory
   if(fReader) delete fReader;
@@ -63,7 +63,7 @@ void AliL3DDLDataFileHandler::FreeAll()
 
 
 #ifdef use_newio
-Bool_t AliL3DDLDataFileHandler::SetReaderInput(AliRawEvent *rawevent)
+Bool_t AliHLTDDLDataFileHandler::SetReaderInput(AliRawEvent *rawevent)
 {
   // sets the input of the reader
   fEvent=-1;
@@ -76,7 +76,7 @@ Bool_t AliL3DDLDataFileHandler::SetReaderInput(AliRawEvent *rawevent)
   return kTRUE;
 }
 
-Bool_t AliL3DDLDataFileHandler::SetReaderInput(Char_t *name,Int_t event)
+Bool_t AliHLTDDLDataFileHandler::SetReaderInput(Char_t *name,Int_t event)
 {
   // sets the input of the reader
   fEvent=event;
@@ -94,42 +94,42 @@ Bool_t AliL3DDLDataFileHandler::SetReaderInput(Char_t *name,Int_t event)
   return kTRUE;
 }
 #else
-Bool_t AliL3DDLDataFileHandler::SetReaderInput(Char_t *name, Bool_t add)
+Bool_t AliHLTDDLDataFileHandler::SetReaderInput(Char_t *name, Bool_t add)
 {
   // sets the input of the reader
   if(fReader){
-    LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::SetReaderInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::SetReaderInput","File Open")
       <<"Reader ptr is already in use"<<ENDLOG;
     return kFALSE;
   }
  
-  fReader=new AliL3DDLRawReaderFile(name,add);
-  fTPCStream=new AliL3DDLTPCRawStream(fReader);
+  fReader=new AliHLTDDLRawReaderFile(name,add);
+  fTPCStream=new AliHLTDDLTPCRawStream(fReader);
   
   return kTRUE;
 }
-Bool_t AliL3DDLDataFileHandler::SetReaderInput(AliL3DDLRawReaderFile *rf)
+Bool_t AliHLTDDLDataFileHandler::SetReaderInput(AliHLTDDLRawReaderFile *rf)
 {
   // sets the input of the reader
   if(fReader){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetReaderInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetReaderInput","File Open")
       <<"Reader ptr is already in use, delete it first"<<ENDLOG;
     return kFALSE;
   }
 
   //Open the raw data file with given file.
   fReader = rf;
-  fTPCStream=new AliL3DDLTPCRawStream(fReader);
+  fTPCStream=new AliHLTDDLTPCRawStream(fReader);
 
   return kTRUE;
 }
 #endif
 
-void AliL3DDLDataFileHandler::CloseReaderInput()
+void AliHLTDDLDataFileHandler::CloseReaderInput()
 {
   // closes the input of the reader
   if(!fReader){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseReaderInput","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::CloseReaderInput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -141,16 +141,16 @@ void AliL3DDLDataFileHandler::CloseReaderInput()
 }
 
 #ifdef use_newio
-Bool_t AliL3DDLDataFileHandler::IsDigit(Int_t /*i*/)
+Bool_t AliHLTDDLDataFileHandler::IsDigit(Int_t /*i*/)
 {
   // dummy
-  AliL3MemHandler::IsDigit();
+  AliHLTMemHandler::IsDigit();
   return kTRUE;
 }
 #endif
 
 #ifndef fast_raw
-AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t event)
+AliHLTDigitRowData * AliHLTDDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t event)
 {
   // transfers the DDL data to the memory
 #ifdef use_newio
@@ -162,12 +162,12 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
     fTPCStream=new AliTPCRawStream(fReader);
   }
 #endif
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
 
   if(!fReader){
-    LOG(AliL3Log::kWarning,"AliL3DDLDataFileHandler::DDLData2Memory","File")
-    <<"No Input avalible: no object AliL3DDLRawReaderFile"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTDDLDataFileHandler::DDLData2Memory","File")
+    <<"No Input avalible: no object AliHLTDDLRawReaderFile"<<ENDLOG;
     return 0; 
   }
   
@@ -177,10 +177,10 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
   UShort_t ***charges=new UShort_t**[nrows];
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     Int_t lrow=r-fRowMin;
-    charges[lrow]=new UShort_t*[AliL3Transform::GetNPads(r)];
-    for(Int_t k=0;k<AliL3Transform::GetNPads(r);k++){
-      charges[lrow][k]=new UShort_t[AliL3Transform::GetNTimeBins()];
-      for(Int_t j=0;j<AliL3Transform::GetNTimeBins();j++) charges[lrow][k][j]=0;
+    charges[lrow]=new UShort_t*[AliHLTTransform::GetNPads(r)];
+    for(Int_t k=0;k<AliHLTTransform::GetNPads(r);k++){
+      charges[lrow][k]=new UShort_t[AliHLTTransform::GetNTimeBins()];
+      for(Int_t j=0;j<AliHLTTransform::GetNTimeBins();j++) charges[lrow][k][j]=0;
     }
   }
 
@@ -190,9 +190,9 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     ndigits[r-fRowMin] = 0; //now digits on row
 
-    Int_t patch=AliL3Transform::GetPatch(r);
+    Int_t patch=AliHLTTransform::GetPatch(r);
     Int_t sector,row;
-    AliL3Transform::Slice2Sector(fSlice,r,sector,row);
+    AliHLTTransform::Slice2Sector(fSlice,r,sector,row);
 
     if(sector<36) //taken from AliTPCBuffer160.cxx
       ddlid=sector*2+patch;
@@ -228,8 +228,8 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
 #else
     fTPCStream->SetDDLID(ddls[i]); //ddl to read out
 #endif
-    Int_t zerosup = AliL3Transform::GetZeroSup();
-    Int_t adcsat = AliL3Transform::GetADCSat();
+    Int_t zerosup = AliHLTTransform::GetZeroSup();
+    Int_t adcsat = AliHLTTransform::GetADCSat();
     Int_t slice,srow;
     Int_t lrow=-1;
 
@@ -238,10 +238,10 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
       if(fTPCStream->IsNewSector() || fTPCStream->IsNewRow()) {
        Int_t sector=fTPCStream->GetSector();
        Int_t row=fTPCStream->GetRow();
-       AliL3Transform::Sector2Slice(slice,srow,sector,row);
+       AliHLTTransform::Sector2Slice(slice,srow,sector,row);
        if(slice!=fSlice){
-         LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Slice")
-           <<AliL3Log::kDec<<"Found slice "<<slice<<", expected "<<fSlice<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Slice")
+           <<AliHLTLog::kDec<<"Found slice "<<slice<<", expected "<<fSlice<<ENDLOG;
          continue;
        }
        lrow=srow-fRowMin;
@@ -252,19 +252,19 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
 
       Int_t pad=fTPCStream->GetPad();
       if(fTPCStream->IsNewPad()) {
-       if((pad<0)||(pad>=AliL3Transform::GetNPads(srow))){
-         LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Pad")
-           <<AliL3Log::kDec<<"Pad value out of bounds "<<pad<<" "
-           <<AliL3Transform::GetNPads(srow)<<ENDLOG;
+       if((pad<0)||(pad>=AliHLTTransform::GetNPads(srow))){
+         LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Pad")
+           <<AliHLTLog::kDec<<"Pad value out of bounds "<<pad<<" "
+           <<AliHLTTransform::GetNPads(srow)<<ENDLOG;
          continue;
        }
       }
 
       Int_t time=fTPCStream->GetTime();
-      if((time<0)||(time>=AliL3Transform::GetNTimeBins())){
-       LOG(AliL3Log::kError,"AliL3DDLDataFileHandler::DDLDigits2Memory","Time")
-         <<AliL3Log::kDec<<"Time out of bounds "<<time<<" "
-         <<AliL3Transform::GetNTimeBins()<<ENDLOG;
+      if((time<0)||(time>=AliHLTTransform::GetNTimeBins())){
+       LOG(AliHLTLog::kError,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Time")
+         <<AliHLTLog::kDec<<"Time out of bounds "<<time<<" "
+         <<AliHLTTransform::GetNTimeBins()<<ENDLOG;
        continue;
       }
 
@@ -279,15 +279,15 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
       charges[lrow][pad][time]=dig;
     }
 
-  Int_t size = sizeof(AliL3DigitData)*ndigitcount
-    + nrows*sizeof(AliL3DigitRowData);
+  Int_t size = sizeof(AliHLTDigitData)*ndigitcount
+    + nrows*sizeof(AliHLTDigitRowData);
 
-  LOG(AliL3Log::kDebug,"AliL3DDLDataFileHandler::DDLDigits2Memory","Digits")
-    <<AliL3Log::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTDDLDataFileHandler::DDLDigits2Memory","Digits")
+    <<AliHLTLog::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
   
-  data=(AliL3DigitRowData*) Allocate(size);
+  data=(AliHLTDigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
-  AliL3DigitRowData *tempPt = data;
+  AliHLTDigitRowData *tempPt = data;
 
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     Int_t lrow=r-fRowMin;
@@ -295,14 +295,14 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
     tempPt->fNDigit = ndigits[lrow];
   
     Int_t localcount=0;
-    for(Int_t pad=0;pad<AliL3Transform::GetNPads(r);pad++){
-      for(Int_t time=0;time<AliL3Transform::GetNTimeBins();time++){
+    for(Int_t pad=0;pad<AliHLTTransform::GetNPads(r);pad++){
+      for(Int_t time=0;time<AliHLTTransform::GetNTimeBins();time++){
        UShort_t dig=charges[lrow][pad][time];
        if(!dig) continue;
 
        if(localcount >= ndigits[lrow])
-         LOG(AliL3Log::kFatal,"AliL3DDLDataFileHandler::DDLDigits2Binary","Memory")
-           <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+         LOG(AliHLTLog::kFatal,"AliHLTDDLDataFileHandler::DDLDigits2Binary","Memory")
+           <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
            <<ndigits[lrow]<<ENDLOG;
        
 
@@ -319,22 +319,22 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
     }
 
     if(localcount != ndigits[lrow])
-      LOG(AliL3Log::kFatal,"AliL3DDLDataFileHandler::DDLDigits2Binary","Memory")
-       <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+      LOG(AliHLTLog::kFatal,"AliHLTDDLDataFileHandler::DDLDigits2Binary","Memory")
+       <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
        <<ndigits[lrow]<<ENDLOG;
 
 
     Byte_t *tmp = (Byte_t*)tempPt;
-    Int_t size = sizeof(AliL3DigitRowData)
-                                      + ndigits[lrow]*sizeof(AliL3DigitData);
+    Int_t size = sizeof(AliHLTDigitRowData)
+                                      + ndigits[lrow]*sizeof(AliHLTDigitData);
     tmp += size;
-    tempPt = (AliL3DigitRowData*)tmp;
+    tempPt = (AliHLTDigitRowData*)tmp;
   }
 
   //delete charge array
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     Int_t lrow=r-fRowMin;
-    for(Int_t k=0;k<AliL3Transform::GetNPads(r);k++)
+    for(Int_t k=0;k<AliHLTTransform::GetNPads(r);k++)
        delete charges[lrow][k];
     delete charges[lrow];
   }
@@ -344,7 +344,7 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
   return data;
 }
 #else
-AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t event)
+AliHLTDigitRowData * AliHLTDDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t event)
 {
   // transfers the DDL data to the memory
 #ifdef use_newio
@@ -356,12 +356,12 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
     fTPCStream=new AliTPCRawStream(fReader);
   }
 #endif
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
 
   if(!fReader){
-    LOG(AliL3Log::kWarning,"AliL3DDLDataFileHandler::DDLData2Memory","File")
-    <<"No Input avalible: no object AliL3DDLRawReaderFile"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTDDLDataFileHandler::DDLData2Memory","File")
+    <<"No Input avalible: no object AliHLTDDLRawReaderFile"<<ENDLOG;
     return 0; 
   }
   
@@ -372,9 +372,9 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
   Int_t ddlid=-1,lddlid=-1;
   for(Int_t r=fRowMin;r<=fRowMax;r++){
 
-    Int_t patch=AliL3Transform::GetPatch(r);
+    Int_t patch=AliHLTTransform::GetPatch(r);
     Int_t sector,row;
-    AliL3Transform::Slice2Sector(fSlice,r,sector,row);
+    AliHLTTransform::Slice2Sector(fSlice,r,sector,row);
 
     if(sector<36) //taken from AliTPCBuffer160.cxx
       ddlid=sector*2+patch;
@@ -403,13 +403,13 @@ AliL3DigitRowData * AliL3DDLDataFileHandler::DDLData2Memory(UInt_t &nrow,Int_t e
 }
 #endif
 
-Bool_t AliL3DDLDataFileHandler::DDLData2CompBinary(Int_t event)
+Bool_t AliHLTDDLDataFileHandler::DDLData2CompBinary(Int_t event)
 {
   // transfers the DDL data to the memory and converts it 
   // to comp binary 
   Bool_t out = kTRUE;
   UInt_t ndigits=0;
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
   digits = DDLData2Memory(ndigits,event);
   out = Memory2CompBinary(ndigits,digits);
   Free();
similarity index 50%
rename from HLT/misc/AliL3DDLDataFileHandler.h
rename to HLT/misc/AliHLTDDLDataFileHandler.h
index 3f637632c437d95192614f61f12c509fad397c89..594946fef8c2d517a45b5234ab414654613b70b6 100644 (file)
@@ -9,32 +9,32 @@
 #include "../TPC/AliTPCRawStream.h"
 #include <TString.h>
 #else
-#include "AliL3DDLRawReaderFile.h"
-#include "AliL3DDLTPCRawStream.h"
+#include "AliHLTDDLRawReaderFile.h"
+#include "AliHLTDDLTPCRawStream.h"
 #endif
-#include "AliL3MemHandler.h"
+#include "AliHLTMemHandler.h"
 
-class AliL3DDLDataFileHandler:public AliL3MemHandler{
+class AliHLTDDLDataFileHandler:public AliHLTMemHandler{
  
   public:
 
-   AliL3DDLDataFileHandler();
-   virtual ~AliL3DDLDataFileHandler();
+   AliHLTDDLDataFileHandler();
+   virtual ~AliHLTDDLDataFileHandler();
 
 #ifdef use_newio
    Bool_t SetReaderInput(AliRawEvent *rawevent);
    Bool_t SetReaderInput(Char_t *name,Int_t event=0);
    Bool_t IsDigit(Int_t i=0);
-   AliL3DigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t /*eventmerge*/=kFALSE){return DDLData2Memory(nrow,event);};
+   AliHLTDigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t /*eventmerge*/=kFALSE){return DDLData2Memory(nrow,event);};
 #else
    Bool_t SetReaderInput(Char_t *name,Bool_t add=kTRUE);
-   Bool_t SetReaderInput(AliL3DDLRawReaderFile *rf);
+   Bool_t SetReaderInput(AliHLTDDLRawReaderFile *rf);
 #endif
 
    void CloseReaderInput();
-   void FreeAll(); //like AliL3MemHandler::Free() or AliL3FileHandler::FreeDigitsTree
+   void FreeAll(); //like AliHLTMemHandler::Free() or AliHLTFileHandler::FreeDigitsTree
 
-   AliL3DigitRowData* DDLData2Memory(UInt_t &nrow,Int_t event=-1);
+   AliHLTDigitRowData* DDLData2Memory(UInt_t &nrow,Int_t event=-1);
    Bool_t DDLData2CompBinary(Int_t event=-1);
 
    AliTPCRawStream* GetTPCRawStream(){return fTPCStream;}
@@ -46,10 +46,13 @@ class AliL3DDLDataFileHandler:public AliL3MemHandler{
    AliRawReader    *fReader;   // raw reader
    AliTPCRawStream *fTPCStream;// TPC raw stream
 #else
-   AliL3DDLRawReaderFile *fReader; // raw reader
-   AliL3DDLTPCRawStream *fTPCStream; // TPC raw stream
+   AliHLTDDLRawReaderFile *fReader; // raw reader
+   AliHLTDDLTPCRawStream *fTPCStream; // TPC raw stream
 #endif
 
-   ClassDef(AliL3DDLDataFileHandler,1)   //DDL Data Filehandler class
+   ClassDef(AliHLTDDLDataFileHandler,1)   //DDL Data Filehandler class
 };
+
+typedef AliHLTDDLDataFileHandler AliL3DDLDataFileHandler; // for backward compatibility
+
 #endif
similarity index 74%
rename from HLT/misc/AliL3DDLRawReader.cxx
rename to HLT/misc/AliHLTDDLRawReader.cxx
index 5a1e42012d466aedc752a393aa436b67a40afb16..b2f754adf22b47e95d31f1b7d34f5865c8fef4f1 100644 (file)
@@ -3,11 +3,11 @@
 // Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
 
-#include "AliL3DDLRawReader.h"
+#include "AliHLTDDLRawReader.h"
 
 #if __GNUC__ >= 3
 using namespace std;
@@ -28,10 +28,10 @@ using namespace std;
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/** \class AliL3DDLRawReader
+/** \class AliHLTDDLRawReader
 <pre>
 //_____________________________________________________________
-// AliL3DDLRawReader (taken from the offline AliROOT code,
+// AliHLTDDLRawReader (taken from the offline AliROOT code,
 // original authors: D.Favretto and A.K.Mohanty)
 //
 // This is the base class for reading ddl raw data 
@@ -39,9 +39,9 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3DDLRawReader)
+ClassImp(AliHLTDDLRawReader)
 
-AliL3DDLRawReader::AliL3DDLRawReader()
+AliHLTDDLRawReader::AliHLTDDLRawReader()
 {
   fMiniHeader = NULL;
   fCount = 0;
@@ -50,11 +50,11 @@ AliL3DDLRawReader::AliL3DDLRawReader()
   fSelectMaxDDLID = -1;
 }
 
-AliL3DDLRawReader::~AliL3DDLRawReader()
+AliHLTDDLRawReader::~AliHLTDDLRawReader()
 {
 }
 
-void AliL3DDLRawReader::Select(Int_t detectorID, Int_t minDDLID, Int_t maxDDLID)
+void AliHLTDDLRawReader::Select(Int_t detectorID, Int_t minDDLID, Int_t maxDDLID)
 {
   // read only data of the detector with the given ID and in the given
   // range of DDLs (minDDLID <= DDLID < maxDDLID).
@@ -65,7 +65,7 @@ void AliL3DDLRawReader::Select(Int_t detectorID, Int_t minDDLID, Int_t maxDDLID)
   fSelectMaxDDLID = maxDDLID;
 }
 
-Bool_t AliL3DDLRawReader::IsSelected() const
+Bool_t AliHLTDDLRawReader::IsSelected() const
 {
   // apply the selection (if any)
 
@@ -79,21 +79,21 @@ Bool_t AliL3DDLRawReader::IsSelected() const
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReader::CheckMiniHeader() const
+Bool_t AliHLTDDLRawReader::CheckMiniHeader() const
 {
   // check the magic number of the mini header
 
   if ((fMiniHeader->fMagicWord[2] != 0x12) ||
       (fMiniHeader->fMagicWord[1] != 0x34) ||
       (fMiniHeader->fMagicWord[0] != 0x56)) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::CheckMiniHeader","MH")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::CheckMiniHeader","MH")
       <<"DDL mini header has wrong magic word!"<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReader::ReadNextInt(UInt_t& data)
+Bool_t AliHLTDDLRawReader::ReadNextInt(UInt_t& data)
 {
   // reads the next 4 bytes at the current position
   // returns kFALSE if the data could not be read
@@ -102,19 +102,19 @@ Bool_t AliL3DDLRawReader::ReadNextInt(UInt_t& data)
     if (!ReadMiniHeader()) return kFALSE;
   }
   if (fCount < (Int_t) sizeof(data)) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::ReadNextInt","Data")
-      <<AliL3Log::kDec<<"Too few data left ("<<fCount<<") to read UInt_t!"<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::ReadNextInt","Data")
+      <<AliHLTLog::kDec<<"Too few data left ("<<fCount<<") to read UInt_t!"<<ENDLOG;
     return kFALSE;
   }
   if (!ReadNext((UChar_t*) &data, sizeof(data))) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::ReadNextInt","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::ReadNextInt","Data")
       <<"Could not read data."<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReader::ReadNextShort(UShort_t& data)
+Bool_t AliHLTDDLRawReader::ReadNextShort(UShort_t& data)
 {
   // reads the next 2 bytes at the current position
   // returns kFALSE if the data could not be read
@@ -123,19 +123,19 @@ Bool_t AliL3DDLRawReader::ReadNextShort(UShort_t& data)
     if (!ReadMiniHeader()) return kFALSE;
   }
   if (fCount < (Int_t) sizeof(data)) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::ReadNextShort","Data")
-      <<AliL3Log::kDec<<"Too few data left ("<<fCount<<") to read UShort_t!"<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::ReadNextShort","Data")
+      <<AliHLTLog::kDec<<"Too few data left ("<<fCount<<") to read UShort_t!"<<ENDLOG;
     return kFALSE;
   }
   if (!ReadNext((UChar_t*) &data, sizeof(data))) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::ReadNextShort","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::ReadNextShort","Data")
       <<"Could not read data."<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReader::ReadNextChar(UChar_t& data)
+Bool_t AliHLTDDLRawReader::ReadNextChar(UChar_t& data)
 {
   // reads the next 1 byte at the current stream position
   // returns kFALSE if the data could not be read
@@ -144,7 +144,7 @@ Bool_t AliL3DDLRawReader::ReadNextChar(UChar_t& data)
     if (!ReadMiniHeader()) return kFALSE;
   }
   if (!ReadNext((UChar_t*) &data, sizeof(data))) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReader::ReadNextChar","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReader::ReadNextChar","Data")
       <<"Could not read data."<<ENDLOG;
     return kFALSE;
   }
similarity index 83%
rename from HLT/misc/AliL3DDLRawReader.h
rename to HLT/misc/AliHLTDDLRawReader.h
index 3444734ff5699c14dedc6f85342a18ee778d7695..41beea0bdc188dd9d104fd86f21245fe2db7b186 100644 (file)
@@ -3,11 +3,11 @@
 #ifndef ALIL3DDLRAWREADER_H
 #define ALIL3DDLRAWREADER_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 // see description in upcoming ALICE note
 // by D.Favretto and A.K.Mohanty
-struct AliL3DDLMiniHeader 
+struct AliHLTDDLMiniHeader 
 {
   UInt_t    fSize;           // size
   UChar_t   fDetectorID;     // detector ID
@@ -17,11 +17,11 @@ struct AliL3DDLMiniHeader
   UShort_t  fDDLID;          // DDL ID
 };
 
-class AliL3DDLRawReader 
+class AliHLTDDLRawReader 
 {
   public :
-    AliL3DDLRawReader();
-    virtual ~AliL3DDLRawReader();
+    AliHLTDDLRawReader();
+    virtual ~AliHLTDDLRawReader();
 
     void Select(Int_t detectorID, Int_t minDDLID = -1, Int_t maxDDLID = -1);
 
@@ -45,14 +45,16 @@ class AliL3DDLRawReader
     Bool_t           CheckMiniHeader() const;
     virtual Bool_t   ReadNext(UChar_t* data, Int_t size) = 0;
 
-    AliL3DDLMiniHeader*  fMiniHeader;  // current mini header
+    AliHLTDDLMiniHeader*  fMiniHeader;  // current mini header
     Int_t                fCount;       // counter of bytes to be read for current DDL
 
     Int_t            fSelectDetectorID;  // id of selected detector (<0 = no selection)
     Int_t            fSelectMinDDLID;    // minimal index of selected DDLs (<0 = no selection)
     Int_t            fSelectMaxDDLID;    // maximal index of selected DDLs (<0 = no selection)
 
-    ClassDef(AliL3DDLRawReader,1) //AliL3DDLRawReader
+    ClassDef(AliHLTDDLRawReader,1) //AliHLTDDLRawReader
 };
 
+typedef AliHLTDDLRawReader AliL3DDLRawReader; // for backward compatibility
+
 #endif
similarity index 83%
rename from HLT/misc/AliL3DDLRawReaderFile.cxx
rename to HLT/misc/AliHLTDDLRawReaderFile.cxx
index 29d0f0c07f8e42e4ee47b749f12abb83b4344bd9..88c152af3240eae65a85e48db692654ad556df67 100644 (file)
@@ -9,11 +9,11 @@
 #include <iostream.h>
 #endif
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
 
-#include "AliL3DDLRawReaderFile.h"
+#include "AliHLTDDLRawReaderFile.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -34,10 +34,10 @@ using namespace std;
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/** \class AliL3DDLRawReaderFile
+/** \class AliHLTDDLRawReaderFile
 <pre>
 //_____________________________________________________________
-// AliL3DDLRawReaderFile (taken from the offline AliROOT code,
+// AliHLTDDLRawReaderFile (taken from the offline AliROOT code,
 // original authors: D.Favretto and A.K.Mohanty)
 //
 // This is the base class for reading ddl raw data 
@@ -45,9 +45,9 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3DDLRawReaderFile)
+ClassImp(AliHLTDDLRawReaderFile)
 
-AliL3DDLRawReaderFile::AliL3DDLRawReaderFile(const Char_t* name, Bool_t addnum)
+AliHLTDDLRawReaderFile::AliHLTDDLRawReaderFile(const Char_t* name, Bool_t addnum)
 {
   // create an object to read digits from the given input file(s)
   // if addNumber is true, a number starting at 1 is appended to the file name
@@ -66,12 +66,12 @@ AliL3DDLRawReaderFile::AliL3DDLRawReaderFile(const Char_t* name, Bool_t addnum)
     fStream = NULL;
     OpenNextFile();
   }
-  fMiniHeader = new AliL3DDLMiniHeader;
+  fMiniHeader = new AliHLTDDLMiniHeader;
   fBuffer = NULL;
   fBufferSize = 0;
 }
 
-AliL3DDLRawReaderFile::~AliL3DDLRawReaderFile()
+AliHLTDDLRawReaderFile::~AliHLTDDLRawReaderFile()
 {
   // close the input file
   if(fFileName) delete fFileName;
@@ -88,7 +88,7 @@ AliL3DDLRawReaderFile::~AliL3DDLRawReaderFile()
   if (fBuffer) delete[] fBuffer;
 }
 
-Bool_t AliL3DDLRawReaderFile::OpenNextFile()
+Bool_t AliHLTDDLRawReaderFile::OpenNextFile()
 {
   if (fStream) {
 #if defined(__HP_aCC) || defined(__DECCXX)
@@ -100,7 +100,7 @@ Bool_t AliL3DDLRawReaderFile::OpenNextFile()
     fStream = NULL;
   }
   if (fFileNumber < 0) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReaderFile::OpenNextFile","File")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReaderFile::OpenNextFile","File")
       <<"Could not open file, file number is negative."<<ENDLOG;
     return kFALSE;
   }
@@ -121,7 +121,7 @@ Bool_t AliL3DDLRawReaderFile::OpenNextFile()
 #endif
 }
 
-Bool_t AliL3DDLRawReaderFile::ReadMiniHeader()
+Bool_t AliHLTDDLRawReaderFile::ReadMiniHeader()
 {
   // read a mini header at the current stream position
   // returns kFALSE if the mini header could not be read
@@ -129,7 +129,7 @@ Bool_t AliL3DDLRawReaderFile::ReadMiniHeader()
   if (!fStream) return kFALSE;
   do {
     if (fCount > 0) fStream->seekg(Int_t(fStream->tellg()) + fCount);
-    while (!fStream->read((Char_t*) fMiniHeader, sizeof(AliL3DDLMiniHeader))) {
+    while (!fStream->read((Char_t*) fMiniHeader, sizeof(AliHLTDDLMiniHeader))) {
       if (!OpenNextFile()) return kFALSE;
     }
     //cout << fMiniHeader->fSize << " " << fMiniHeader->fDetectorID << " " << fMiniHeader->fVersion << " " << fMiniHeader->fCompressionFlag << " " << fMiniHeader->fDDLID << endl;
@@ -140,7 +140,7 @@ Bool_t AliL3DDLRawReaderFile::ReadMiniHeader()
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReaderFile::ReadNextData(UChar_t*& data)
+Bool_t AliHLTDDLRawReaderFile::ReadNextData(UChar_t*& data)
 {
   // reads the next payload at the current stream position
   // returns kFALSE if the data could not be read
@@ -154,7 +154,7 @@ Bool_t AliL3DDLRawReaderFile::ReadNextData(UChar_t*& data)
     fBuffer = new UChar_t[fBufferSize];
   }
   if (!fStream->read((Char_t*) fBuffer, fCount)) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReaderFile::ReadNextData","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReaderFile::ReadNextData","Data")
       <<"Could not read next data!"<<ENDLOG;
     return kFALSE;
   }
@@ -164,13 +164,13 @@ Bool_t AliL3DDLRawReaderFile::ReadNextData(UChar_t*& data)
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReaderFile::ReadNext(UChar_t* data, Int_t size)
+Bool_t AliHLTDDLRawReaderFile::ReadNext(UChar_t* data, Int_t size)
 {
   // reads the next block of data at the current stream position
   // returns kFALSE if the data could not be read
 
   if (!fStream->read((Char_t*) data, size)) {
-    LOG(AliL3Log::kError,"AliL3DDLRawReaderFile::ReadNext","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLRawReaderFile::ReadNext","Data")
       <<"Could not read next data!"<<ENDLOG;
     return kFALSE;
   }
@@ -178,7 +178,7 @@ Bool_t AliL3DDLRawReaderFile::ReadNext(UChar_t* data, Int_t size)
   return kTRUE;
 }
 
-Bool_t AliL3DDLRawReaderFile::Reset()
+Bool_t AliHLTDDLRawReaderFile::Reset()
 {
   // reset the current stream position to the beginning of the file
 
@@ -202,7 +202,7 @@ Bool_t AliL3DDLRawReaderFile::Reset()
 #endif
     } else {
       if (!OpenNextFile()){
-       LOG(AliL3Log::kError,"AliL3DDLRawReaderFile::Reset","Data")
+       LOG(AliHLTLog::kError,"AliHLTDDLRawReaderFile::Reset","Data")
          <<"Could not reset data stream!"<<ENDLOG;
        return kFALSE;
       }
similarity index 63%
rename from HLT/misc/AliL3DDLRawReaderFile.h
rename to HLT/misc/AliHLTDDLRawReaderFile.h
index fdd1470cc1e2e9070c586d6665954f987c0f9d54..b6a32f83fb9db10bfb0ac4087f954a387aab8e9b 100644 (file)
@@ -3,14 +3,14 @@
 #ifndef ALIL3DDLRAWREADERFILE_H
 #define ALIL3DDLRAWREADERFILE_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3DDLRawReader.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTDDLRawReader.h"
 
-class AliL3DDLRawReaderFile: public AliL3DDLRawReader 
+class AliHLTDDLRawReaderFile: public AliHLTDDLRawReader 
 {
   public :
-    AliL3DDLRawReaderFile(const Char_t* name, Bool_t addnum = kTRUE);
-    virtual ~AliL3DDLRawReaderFile();
+    AliHLTDDLRawReaderFile(const Char_t* name, Bool_t addnum = kTRUE);
+    virtual ~AliHLTDDLRawReaderFile();
 
     virtual Bool_t   ReadMiniHeader();
     virtual Bool_t   ReadNextData(UChar_t*& data);
@@ -28,7 +28,9 @@ class AliL3DDLRawReaderFile: public AliL3DDLRawReader
     UChar_t*         fBuffer;      //!  buffer for payload
     Int_t            fBufferSize;  //  size of fBuffer in bytes
 
-    ClassDef(AliL3DDLRawReaderFile, 1) //AliL3DDLRawReaderFile
+    ClassDef(AliHLTDDLRawReaderFile, 1) //AliHLTDDLRawReaderFile
 };
 
+typedef AliHLTDDLRawReaderFile AliL3DDLRawReaderFile; // for backward compatibility
+
 #endif
similarity index 82%
rename from HLT/misc/AliL3DDLTPCRawStream.cxx
rename to HLT/misc/AliHLTDDLTPCRawStream.cxx
index 949ee0216efd8c6036a76986c5589015af33b0aa..1c1192931b7cc2df0654781aeb53e0c6ab9cc04c 100644 (file)
@@ -3,12 +3,12 @@
 // Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3DDLRawReader.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTDDLRawReader.h"
 
-#include "AliL3DDLTPCRawStream.h"
+#include "AliHLTDDLTPCRawStream.h"
 //#include "AliTPCHuffman.h"
 
 
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/** \class AliL3DDLTPCRawReaderStream
+/** \class AliHLTDDLTPCRawReaderStream
 <pre>
 //_____________________________________________________________
-// AliL3DDLTPCRawReaderStream (taken from the offline AliROOT code,
+// AliHLTDDLTPCRawReaderStream (taken from the offline AliROOT code,
 // original authors: D.Favretto and A.K.Mohanty)
 //
 // This is a base class for reading TPC raw data 
@@ -42,9 +42,9 @@
 using namespace std;
 #endif
 
-ClassImp(AliL3DDLTPCRawStream)
+ClassImp(AliHLTDDLTPCRawStream)
 
-AliL3DDLTPCRawStream::AliL3DDLTPCRawStream(AliL3DDLRawReader* rawReader)
+AliHLTDDLTPCRawStream::AliHLTDDLTPCRawStream(AliHLTDDLRawReader* rawReader)
 {
   // create an object to read TPC raw digits
 
@@ -59,18 +59,18 @@ AliL3DDLTPCRawStream::AliL3DDLTPCRawStream(AliL3DDLRawReader* rawReader)
   fTime = fSignal = -1;
 }
 
-AliL3DDLTPCRawStream::~AliL3DDLTPCRawStream()
+AliHLTDDLTPCRawStream::~AliHLTDDLTPCRawStream()
 {
   // clean up
   delete[] fData;
 }
 
-Bool_t AliL3DDLTPCRawStream::SetDDLID(Int_t d)
+Bool_t AliHLTDDLTPCRawStream::SetDDLID(Int_t d)
 {
   // sets DDL ID
   if((d<0)||(d>216)){
-    LOG(AliL3Log::kFatal,"AliL3DDLTPCRawStream::SetDDLID","DDL")
-      <<AliL3Log::kDec<<"DDL number out of range "<<d<<ENDLOG;
+    LOG(AliHLTLog::kFatal,"AliHLTDDLTPCRawStream::SetDDLID","DDL")
+      <<AliHLTLog::kDec<<"DDL number out of range "<<d<<ENDLOG;
     return kFALSE;
   }
 
@@ -86,7 +86,7 @@ Bool_t AliL3DDLTPCRawStream::SetDDLID(Int_t d)
   return kTRUE;
 }
 
-Bool_t AliL3DDLTPCRawStream::Next()
+Bool_t AliHLTDDLTPCRawStream::Next()
 {
   // read the next raw digit
   // returns kFALSE if there is no digit left
@@ -103,7 +103,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
       } while (fRawReader->GetDataSize() == 0);
 
       if (fRawReader->IsCompressed()) {  // compressed data
-       LOG(AliL3Log::kFatal,"AliL3DDLTPCRawStream::Next","Compression")
+       LOG(AliHLTLog::kFatal,"AliHLTDDLTPCRawStream::Next","Compression")
       <<"Compression is not implemented (yet)!"<<ENDLOG;
        return kFALSE;
       } else {                           // uncompressed data
@@ -136,7 +136,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
       fPosition = 0;
     }
     if (fPosition + 4 >= fDataSize) {
-      LOG(AliL3Log::kError,"AliL3DDLTPCRawStream::Next","Data")
+      LOG(AliHLTLog::kError,"AliHLTDDLTPCRawStream::Next","Data")
       <<"Could not read trailer"<<ENDLOG;
       return kFALSE;
     }
@@ -149,7 +149,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
 
   if (fBunchLength == 0) {
     if (fPosition >= fDataSize) {
-      LOG(AliL3Log::kError,"AliL3DDLTPCRawStream::Next","Data")
+      LOG(AliHLTLog::kError,"AliHLTDDLTPCRawStream::Next","Data")
       <<"Could not read bunch length"<<ENDLOG;
       return kFALSE;
     }
@@ -157,7 +157,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
     fCount--;
 
     if (fPosition >= fDataSize) {
-      LOG(AliL3Log::kError,"AliL3DDLTPCRawStream::Next","Data")
+      LOG(AliHLTLog::kError,"AliHLTDDLTPCRawStream::Next","Data")
       <<"Could not read time bin"<<ENDLOG;
       return kFALSE;
     }
@@ -167,7 +167,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
 
   fTime++;
   if (fPosition >= fDataSize) {
-    LOG(AliL3Log::kError,"AliL3DDLTPCRawStream::Next","Data")
+    LOG(AliHLTLog::kError,"AliHLTDDLTPCRawStream::Next","Data")
       <<"Could not read sample amplitude"<<ENDLOG;
     return kFALSE;
   }
@@ -179,7 +179,7 @@ Bool_t AliL3DDLTPCRawStream::Next()
   return kTRUE;
 }
 
-UShort_t AliL3DDLTPCRawStream::Get10BitWord(UChar_t* buffer, Int_t position) const
+UShort_t AliHLTDDLTPCRawStream::Get10BitWord(UChar_t* buffer, Int_t position) const
 {
   // return a word in a 10 bit array as an UShort_t
   Int_t iBit = position * 10;
similarity index 83%
rename from HLT/misc/AliL3DDLTPCRawStream.h
rename to HLT/misc/AliHLTDDLTPCRawStream.h
index c2d68d5ffa07927c023835a2533d3fe57b799e8a..c54cdbc8ff022bbdeeaed561db7b0bb9863479aa 100644 (file)
@@ -3,15 +3,15 @@
 #ifndef ALIL3DDLTPCRAWSTREAM_H
 #define ALIL3DDLTPCRAWSTREAM_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3DDLRawReader;
+class AliHLTDDLRawReader;
 
-class AliL3DDLTPCRawStream 
+class AliHLTDDLTPCRawStream 
 {
   public :
-    AliL3DDLTPCRawStream(AliL3DDLRawReader* rawReader);
-    virtual ~AliL3DDLTPCRawStream();
+    AliHLTDDLTPCRawStream(AliHLTDDLRawReader* rawReader);
+    virtual ~AliHLTDDLTPCRawStream();
 
     virtual Bool_t   Next();
     Bool_t SetDDLID(Int_t d); //choose ddlid to readout
@@ -34,7 +34,7 @@ class AliL3DDLTPCRawStream
     static const Int_t fgkOffset  = 1;         // offset of signal
     static const Int_t fgkDataMax = 10000000;  // size of array for uncompressed raw data
 
-    AliL3DDLRawReader* fRawReader;  // object for reading the raw data
+    AliHLTDDLRawReader* fRawReader;  // object for reading the raw data
 
     UShort_t*        fData;         //[fgkDataMax] uncompressed raw data
     Int_t            fDataSize;     // actual size of the uncompressed raw data
@@ -51,7 +51,9 @@ class AliL3DDLTPCRawStream
     Int_t            fTime;         // index of current time bin
     Int_t            fSignal;       // signal in ADC counts
 
-    ClassDef(AliL3DDLTPCRawStream, 1) // AliL3DDLTPCRawStream
+    ClassDef(AliHLTDDLTPCRawStream, 1) // AliHLTDDLTPCRawStream
 };
 
+typedef AliHLTDDLTPCRawStream AliL3DDLTPCRawStream; // for backward compatibility
+
 #endif
similarity index 75%
rename from HLT/misc/AliL3DataHandler.cxx
rename to HLT/misc/AliHLTDataHandler.cxx
index a8eef04cef3566e0eeea2c0831678536d9107362..17fb219581eb91df0b151fb47f99d9446d51b45d 100644 (file)
@@ -3,35 +3,35 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Logging.h"
-#include "AliL3TransBit.h"
-#include "AliL3Transform.h"
-#include "AliL3DataHandler.h"
-#include "AliL3DigitData.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransBit.h"
+#include "AliHLTTransform.h"
+#include "AliHLTDataHandler.h"
+#include "AliHLTDigitData.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3DataHandler
+/** \class AliHLTDataHandler
 <pre>
 //_____________________________________________________________
-// AliL3DataHandler
+// AliHLTDataHandler
 //
 // HLT Binary file handler.
 //
-// This class have more or less the same functionality as AliL3MemHandler,
+// This class have more or less the same functionality as AliHLTMemHandler,
 // except that it handles 8 bit ADC-values. Reading and writing is done in the same way
-// as illustrated in example 1) and 2) in AliL3MemHandler.
+// as illustrated in example 1) and 2) in AliHLTMemHandler.
 //
 // For converting 10 bit data files to 8 bit data files, do:
 //
-// AliL3MemHandler *file = new AliL3DataHandler();
+// AliHLTMemHandler *file = new AliHLTDataHandler();
 // file->Init(slice,patch);
 // file->SetBinaryInput(inputfile);    //10 bit data file
 // file->SetBinaryOutput(outputfile);  //8 bit data file
@@ -44,7 +44,7 @@ using namespace std;
 // --------------------
 //
 // The data is RLE encoded, using _8_bit representation of the ADC-values.
-// Conversion is done in the class AliL3TransBit.
+// Conversion is done in the class AliHLTTransBit.
 //
 // In the beginning of every row, the row number if written and the number of pads
 // containing data on that row. For every pad with data the pad number is written,
@@ -60,61 +60,61 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3DataHandler)
+ClassImp(AliHLTDataHandler)
   
-AliL3DataHandler::AliL3DataHandler()
+AliHLTDataHandler::AliHLTDataHandler()
 {
   // default constructor
   fBitTransformer = 0;
-  LOG(AliL3Log::kInformational,"AliL3DataHandler::AliL3DataHandler","Data format")
+  LOG(AliHLTLog::kInformational,"AliHLTDataHandler::AliHLTDataHandler","Data format")
     <<"8 bit data handler initialized"<<ENDLOG;
 }
 
-AliL3DataHandler::~AliL3DataHandler()
+AliHLTDataHandler::~AliHLTDataHandler()
 {
   // destructor
   if(fBitTransformer)
     delete fBitTransformer;
 }
 
-void AliL3DataHandler::Convert10to8Bit()
+void AliHLTDataHandler::Convert10to8Bit()
 {
   //Convert from 10 bit data in inputfile, to 8 bit data written to outputfile.
   
   if(!fInBinary)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::Convert10to8Bit","File")
-       <<AliL3Log::kHex<<"Pointer to input file : "<<(void*)fInBinary<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::Convert10to8Bit","File")
+       <<AliHLTLog::kHex<<"Pointer to input file : "<<(void*)fInBinary<<ENDLOG;
       return;
     }
   if(!fOutBinary)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::Convert10to8Bit","File")
-       <<AliL3Log::kHex<<"Pointer to output file : "<<(void*)fOutBinary<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::Convert10to8Bit","File")
+       <<AliHLTLog::kHex<<"Pointer to output file : "<<(void*)fOutBinary<<ENDLOG;
       return;
     }
   
   
   //Initialize the bit transformation class:
-  fBitTransformer = new AliL3TransBitV1();
+  fBitTransformer = new AliHLTTransBitV1();
   Int_t b0=10;  // original number of bits
   Int_t b1=8;   // compressed
   fBitTransformer->SetBits(b0,b1);
   fBitTransformer->FindOptimumX0();
   fBitTransformer->Update();
   
-  AliL3MemHandler *memory = new AliL3MemHandler();
+  AliHLTMemHandler *memory = new AliHLTMemHandler();
   memory->Init(fSlice,fPatch);
   memory->SetBinaryInput(fInBinary);
   UInt_t nrow;
-  AliL3DigitRowData *data = (AliL3DigitRowData*)memory->CompBinary2Memory(nrow);
+  AliHLTDigitRowData *data = (AliHLTDigitRowData*)memory->CompBinary2Memory(nrow);
   
   Memory2CompBinary(nrow,data);
   
   delete memory;
 }
 
-Bool_t AliL3DataHandler::Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data)
+Bool_t AliHLTDataHandler::Memory2CompBinary(UInt_t nrow,AliHLTDigitRowData *data)
 {
   //Compress data by RLE, and write to a binary file.
   
@@ -123,7 +123,7 @@ Bool_t AliL3DataHandler::Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data)
   Memory2CompMemory(nrow,data,comp);
   if(!CompMemory2CompBinary(nrow,comp,size))
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::Memory2CompBinary","File")
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::Memory2CompBinary","File")
        <<"Error writing to file "<<ENDLOG;
       return 0;
     }
@@ -131,42 +131,42 @@ Bool_t AliL3DataHandler::Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data)
   return kTRUE;
 }
 
-AliL3DigitRowData *AliL3DataHandler::CompBinary2Memory(UInt_t &nrow)
+AliHLTDigitRowData *AliHLTDataHandler::CompBinary2Memory(UInt_t &nrow)
 {
   //Read RLE compressed binary file, unpack it and return pointer to it.
   
-  AliL3MemHandler *memory = new AliL3MemHandler();
+  AliHLTMemHandler *memory = new AliHLTMemHandler();
   memory->SetBinaryInput(fInBinary);
   Byte_t *comp = memory->Allocate();
     
   if(!CompBinary2CompMemory(nrow,comp))
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::CompBinary2Memory","File")
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::CompBinary2Memory","File")
        <<"Error reading from file "<<ENDLOG;
       return 0;
     }
 
   UInt_t size = GetMemorySize(nrow,comp);
-  AliL3DigitRowData *data = (AliL3DigitRowData*)Allocate(size);
+  AliHLTDigitRowData *data = (AliHLTDigitRowData*)Allocate(size);
   CompMemory2Memory(nrow,data,comp);
   delete memory;
   return data;
 }
 
-void AliL3DataHandler::Write(Byte_t *comp,UInt_t &index,UShort_t value)
+void AliHLTDataHandler::Write(Byte_t *comp,UInt_t &index,UShort_t value)
 {
   //Write one value (=1 byte) to array comp.
 
   if(value > 255)
     {
-      LOG(AliL3Log::kFatal,"AliL3DataHandler::Write","Bitnumbers")
+      LOG(AliHLTLog::kFatal,"AliHLTDataHandler::Write","Bitnumbers")
        <<"Value too big for storing in 1 byte, something is wrong: "<<value<<" "<<index<<ENDLOG;
     }
   comp[index] = (Byte_t)value;
   index++;
 }
 
-Short_t AliL3DataHandler::Read(Byte_t *comp,UInt_t &index)
+Short_t AliHLTDataHandler::Read(Byte_t *comp,UInt_t &index)
 {
   //Read one value (=1 byte) from array comp
 
@@ -175,7 +175,7 @@ Short_t AliL3DataHandler::Read(Byte_t *comp,UInt_t &index)
   return value;
 }
 
-Short_t AliL3DataHandler::Test(Byte_t *comp,UInt_t index)
+Short_t AliHLTDataHandler::Test(Byte_t *comp,UInt_t index)
 {
   //Check the value (=1 byte) in array comp, but not read.
 
@@ -183,24 +183,24 @@ Short_t AliL3DataHandler::Test(Byte_t *comp,UInt_t index)
   return value;
 }
 
-Bool_t AliL3DataHandler::Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,Byte_t *comp)
+Bool_t AliHLTDataHandler::Memory2CompMemory(UInt_t nrow,AliHLTDigitRowData *data,Byte_t *comp)
 {
   //Perform RLE.
   
   if(!data)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::Memory2CompMemory","Data")
-       <<AliL3Log::kHex<<" Pointer to data = "<<(void*)data<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::Memory2CompMemory","Data")
+       <<AliHLTLog::kHex<<" Pointer to data = "<<(void*)data<<ENDLOG;
       return 0;  
     }
   if(!comp)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::Memory2CompMemory","Data")
-       <<AliL3Log::kHex<<" Pointer to compressed data = "<<(void*)comp<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::Memory2CompMemory","Data")
+       <<AliHLTLog::kHex<<" Pointer to compressed data = "<<(void*)comp<<ENDLOG;
       return 0;  
     }
 
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   
   UInt_t index = 0;
   Int_t npads[200];      
@@ -259,7 +259,7 @@ Bool_t AliL3DataHandler::Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,B
                      Write(comp,index,255);
                      if(rowPt->fDigitData[digit].fTime >= 2*255)
                        {
-                         cerr<<"AliL3DataHandler::Memory2CompMemory : Should not happen "<<(Int_t)rowPt->fDigitData[digit].fTime<<endl;
+                         cerr<<"AliHLTDataHandler::Memory2CompMemory : Should not happen "<<(Int_t)rowPt->fDigitData[digit].fTime<<endl;
                          Write(comp,index,255);
                          numberOfZeroIntervals++;
                        }
@@ -278,7 +278,7 @@ Bool_t AliL3DataHandler::Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,B
              //Check for saturation:
              if(charge>255)
                {
-                 LOG(AliL3Log::kWarning,"AliL3DataHandler::Memory2CompMemory","Digit")
+                 LOG(AliHLTLog::kWarning,"AliHLTDataHandler::Memory2CompMemory","Digit")
                    <<"ADC-value saturated : "<<charge<<ENDLOG;
                  charge=255;
                }
@@ -302,7 +302,7 @@ Bool_t AliL3DataHandler::Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,B
                          Write(comp,index,255);
                          if(nzero >= 2*255)
                            {
-                             cerr<<"AliL3DataHandler::Memory2CompMemory : Should not happen "<<(Int_t)rowPt->fDigitData[digit].fTime<<endl;
+                             cerr<<"AliHLTDataHandler::Memory2CompMemory : Should not happen "<<(Int_t)rowPt->fDigitData[digit].fTime<<endl;
                              Write(comp,index,255);
                              numberOfZeroIntervals++;
                            }
@@ -326,18 +326,18 @@ Bool_t AliL3DataHandler::Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,B
     
 }
 
-UInt_t AliL3DataHandler::GetCompMemorySize(UInt_t nrow,AliL3DigitRowData *data)
+UInt_t AliHLTDataHandler::GetCompMemorySize(UInt_t nrow,AliHLTDigitRowData *data)
 {
   //Calculate the size (in bytes) of RLE data.
   
   if(!data)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::GetCompMemorySize","Data")
-       <<AliL3Log::kHex<<" Data pointer = "<<(void*)data<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::GetCompMemorySize","Data")
+       <<AliHLTLog::kHex<<" Data pointer = "<<(void*)data<<ENDLOG;
       return 0;
     }
   
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   
   UInt_t index = 0;
   Int_t npads[200];
@@ -434,26 +434,26 @@ UInt_t AliL3DataHandler::GetCompMemorySize(UInt_t nrow,AliL3DigitRowData *data)
   
 }
 
-UInt_t AliL3DataHandler::CompMemory2Memory(UInt_t nrow,AliL3DigitRowData *data,Byte_t *comp)
+UInt_t AliHLTDataHandler::CompMemory2Memory(UInt_t nrow,AliHLTDigitRowData *data,Byte_t *comp)
 {
   //Uncompress RLE data.
   
   if(!data)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::CompMemory2Memory","Array")
-       <<AliL3Log::kHex<<"Pointer to data: "<<(void*)data<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::CompMemory2Memory","Array")
+       <<AliHLTLog::kHex<<"Pointer to data: "<<(void*)data<<ENDLOG;
       return 0;
     }
   if(!comp)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::CompMemory2Memory","Array")
-       <<AliL3Log::kHex<<"Pointer to compressed data: "<<(void*)comp<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::CompMemory2Memory","Array")
+       <<AliHLTLog::kHex<<"Pointer to compressed data: "<<(void*)comp<<ENDLOG;
       return 0;
     }
   
   Int_t outsize=0;
   
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   UInt_t index=0;
 
   UShort_t pad,time,charge;
@@ -495,8 +495,8 @@ UInt_t AliL3DataHandler::CompMemory2Memory(UInt_t nrow,AliL3DigitRowData *data,B
            {
              while( (charge = Read(comp,index)) != 0)
                {
-                 if(time >= AliL3Transform::GetNTimeBins())
-                   cerr<<"AliL3DataHandler::CompMemory2Memory : Time out of range "<<time<<endl;
+                 if(time >= AliHLTTransform::GetNTimeBins())
+                   cerr<<"AliHLTDataHandler::CompMemory2Memory : Time out of range "<<time<<endl;
                  rowPt->fDigitData[ndigit].fPad = pad;
                  rowPt->fDigitData[ndigit].fTime = time;
                  rowPt->fDigitData[ndigit].fCharge = charge;
@@ -519,13 +519,13 @@ UInt_t AliL3DataHandler::CompMemory2Memory(UInt_t nrow,AliL3DigitRowData *data,B
        }
       rowPt->fNDigit = ndigit;
       UpdateRowPointer(rowPt);
-      outsize += sizeof(AliL3DigitData)*ndigit + sizeof(AliL3DigitRowData);
+      outsize += sizeof(AliHLTDigitData)*ndigit + sizeof(AliHLTDigitRowData);
     }
   
   return outsize;
 }
 
-UInt_t AliL3DataHandler::GetMemorySize(UInt_t nrow,Byte_t *comp)
+UInt_t AliHLTDataHandler::GetMemorySize(UInt_t nrow,Byte_t *comp)
 {
   //Calculate size (in bytes) of unpacked data.
 
@@ -576,13 +576,13 @@ UInt_t AliL3DataHandler::GetMemorySize(UInt_t nrow,Byte_t *comp)
            }
          
        }
-      Int_t size = sizeof(AliL3DigitData)*ndigit + sizeof(AliL3DigitRowData);
+      Int_t size = sizeof(AliHLTDigitData)*ndigit + sizeof(AliHLTDigitRowData);
       outsize += size;
     }
   return outsize;
 }
 
-Bool_t AliL3DataHandler::CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp)
+Bool_t AliHLTDataHandler::CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp)
 {
   //Read RLE data from binary file into array comp.
   rewind(fInBinary);
@@ -591,7 +591,7 @@ Bool_t AliL3DataHandler::CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp)
   if(fread(&type,1,1,fInBinary)!=1) return kFALSE;
   if(type > 0)
     {
-      LOG(AliL3Log::kError,"AliL3DataHandler::CompBinary2CompMemory","Filetype")
+      LOG(AliHLTLog::kError,"AliHLTDataHandler::CompBinary2CompMemory","Filetype")
        <<"Inputfile does not seem to contain 8 bit data : "<<type<<ENDLOG;
       return kFALSE;
     }
@@ -601,7 +601,7 @@ Bool_t AliL3DataHandler::CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp)
   return kTRUE;
 }
 
-Bool_t AliL3DataHandler::CompMemory2CompBinary(UInt_t nrow,Byte_t *comp,UInt_t size)
+Bool_t AliHLTDataHandler::CompMemory2CompBinary(UInt_t nrow,Byte_t *comp,UInt_t size)
 {
   //Write RLE data in comp to binary file.
   //In order to distinguish these files from 10 bit data, 
diff --git a/HLT/misc/AliHLTDataHandler.h b/HLT/misc/AliHLTDataHandler.h
new file mode 100644 (file)
index 0000000..4fa7a6d
--- /dev/null
@@ -0,0 +1,39 @@
+// @(#) $Id$
+
+#ifndef ALIL3DATAHANDLER_H
+#define ALIL3DATAHANDLER_H
+
+#include "AliHLTMemHandler.h"
+
+class AliHLTTransBit;
+
+class AliHLTDataHandler : public AliHLTMemHandler {
+
+ public:
+  AliHLTDataHandler();
+  ~AliHLTDataHandler();
+    
+  void Convert10to8Bit();
+  Bool_t Memory2CompBinary(UInt_t nrow,AliHLTDigitRowData *data);
+  AliHLTDigitRowData *CompBinary2Memory(UInt_t &nrows);
+
+ private:
+  
+  AliHLTTransBit *fBitTransformer; //! bit transsformer
+  
+  void Write(Byte_t *comp,UInt_t &index,UShort_t value);
+  Short_t Read(Byte_t *comp,UInt_t &index);
+  Short_t Test(Byte_t *comp,UInt_t index);
+  Bool_t Memory2CompMemory(UInt_t nrow,AliHLTDigitRowData *data,Byte_t *comp);
+  UInt_t GetCompMemorySize(UInt_t row,AliHLTDigitRowData *data);
+  UInt_t GetMemorySize(UInt_t nrow,Byte_t *comp);
+  Bool_t CompMemory2CompBinary(UInt_t nrow,Byte_t *comp,UInt_t size);
+  Bool_t CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp);
+  UInt_t CompMemory2Memory(UInt_t nrow,AliHLTDigitRowData *data,Byte_t *comp);
+
+  ClassDef(AliHLTDataHandler,1) //Data handler class
+};
+
+typedef AliHLTDataHandler AliL3DataHandler; // for backward compatibility
+
+#endif
similarity index 62%
rename from HLT/misc/AliL3FFloat.cxx
rename to HLT/misc/AliHLTFFloat.cxx
index 0d35ac3538e445028b254a358b85d831ee784794..a42882744c5797b75e164d2aaf98233800820a54 100644 (file)
@@ -5,10 +5,10 @@
 
 #ifdef USEFFLOAT
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
 
 //calculate statistics according to usage and
 //difference to floating point results
 //use cast to int instead of sprintf and atoi
 //#define FASTWITHROUNDINGERROS
 
-#include "AliL3FFloat.h"
+#include "AliHLTFFloat.h"
 
-/** \class AliL3FFloat
+/** \class AliHLTFFloat
 <pre>
 //----------------------------------------------------
-// AliL3FFloat
+// AliHLTFFloat
 //
 // Fixed Floating Point class for debugging purposes.
 //
 </pre>
 */
 
-ClassImp(AliL3FFloat)
+ClassImp(AliHLTFFloat)
 
-Int_t AliL3FFloat::fDigits = DEFDIG;
-Int_t AliL3FFloat::fMax    = DEFMAX;
-Int_t AliL3FFloat::fMin    = DEFMIN;
+Int_t AliHLTFFloat::fDigits = DEFDIG;
+Int_t AliHLTFFloat::fMax    = DEFMAX;
+Int_t AliHLTFFloat::fMin    = DEFMIN;
 
 #ifdef CALCSTATS
-Int_t AliL3FFloat::fN          = 0;
-Int_t AliL3FFloat::fNRounded   = 0;
-Int_t AliL3FFloat::fNOpAdds    = 0;
-Int_t AliL3FFloat::fNOpMults   = 0;
-Int_t AliL3FFloat::fNOpDivs    = 0;
-Int_t AliL3FFloat::fNOpSubs    = 0;
-Int_t AliL3FFloat::fNOverFlow  = 0;
-Int_t AliL3FFloat::fNUnderFlow = 0;
-Double_t AliL3FFloat::fNDiff   = 0;
-#endif
-
-void AliL3FFloat::PrintStat(){
+Int_t AliHLTFFloat::fN          = 0;
+Int_t AliHLTFFloat::fNRounded   = 0;
+Int_t AliHLTFFloat::fNOpAdds    = 0;
+Int_t AliHLTFFloat::fNOpMults   = 0;
+Int_t AliHLTFFloat::fNOpDivs    = 0;
+Int_t AliHLTFFloat::fNOpSubs    = 0;
+Int_t AliHLTFFloat::fNOverFlow  = 0;
+Int_t AliHLTFFloat::fNUnderFlow = 0;
+Double_t AliHLTFFloat::fNDiff   = 0;
+#endif
+
+void AliHLTFFloat::PrintStat(){
 #ifdef CALCSTATS
   cout << "fN:            " << fN << endl;
   cout << "fNRounded:     " << fNRounded << endl;
@@ -69,7 +69,7 @@ void AliL3FFloat::PrintStat(){
 #endif
 }
 
-AliL3FFloat::~AliL3FFloat()
+AliHLTFFloat::~AliHLTFFloat()
 {
 #ifdef CALCSTATS
   Double_t diff=fabs(fVal-fExactVal);
@@ -78,117 +78,117 @@ AliL3FFloat::~AliL3FFloat()
 #endif
 }
 
-ostream& operator<<(ostream &os, const AliL3FFloat &f) 
+ostream& operator<<(ostream &os, const AliHLTFFloat &f) 
 {
   os << (Double_t)f << "(" << f.fExactVal << ")"; 
   return os;
 }
 
-AliL3FFloat operator + (const AliL3FFloat &f1,const AliL3FFloat &f2)
+AliHLTFFloat operator + (const AliHLTFFloat &f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r+=f2; 
   return r;
 }
 
-AliL3FFloat operator + (const AliL3FFloat &f1,const Double_t f2)
+AliHLTFFloat operator + (const AliHLTFFloat &f1,const Double_t f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r+=f2; 
   return r;
 }
 
-AliL3FFloat operator + (const Double_t f1,const AliL3FFloat &f2)
+AliHLTFFloat operator + (const Double_t f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r+=f2; 
   return r;
 }
 
-AliL3FFloat operator + (const AliL3FFloat &f)
+AliHLTFFloat operator + (const AliHLTFFloat &f)
 {
-  AliL3FFloat r(f); 
+  AliHLTFFloat r(f); 
   return r;
 }
 
-AliL3FFloat operator - (const AliL3FFloat &f1,const AliL3FFloat &f2)
+AliHLTFFloat operator - (const AliHLTFFloat &f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r-=f2; 
   return r;
 }
 
-AliL3FFloat operator - (const AliL3FFloat &f1,const Double_t f2)
+AliHLTFFloat operator - (const AliHLTFFloat &f1,const Double_t f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r-=f2; 
   return r;
 }
 
-AliL3FFloat operator - (const Double_t f1,const AliL3FFloat &f2)
+AliHLTFFloat operator - (const Double_t f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r-=f2; 
   return r;
 }
 
-AliL3FFloat operator - (const AliL3FFloat &f)
+AliHLTFFloat operator - (const AliHLTFFloat &f)
 {
-  AliL3FFloat r((-(Double_t)f)); 
+  AliHLTFFloat r((-(Double_t)f)); 
   return r;
 }
 
-AliL3FFloat operator * (const AliL3FFloat &f1,const AliL3FFloat &f2)
+AliHLTFFloat operator * (const AliHLTFFloat &f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r*=f2; 
   return r;
 }
 
-AliL3FFloat operator * (const AliL3FFloat &f1,const Double_t f2)
+AliHLTFFloat operator * (const AliHLTFFloat &f1,const Double_t f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r*=f2; 
   return r;
 }
 
-AliL3FFloat operator * (const Double_t f1,const AliL3FFloat &f2)
+AliHLTFFloat operator * (const Double_t f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r*=f2; 
   return r;
 }
 
-AliL3FFloat operator / (const AliL3FFloat &f1,const AliL3FFloat &f2)
+AliHLTFFloat operator / (const AliHLTFFloat &f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r/=f2; 
   return r;
 }
 
-AliL3FFloat operator / (const AliL3FFloat &f1,const Double_t f2)
+AliHLTFFloat operator / (const AliHLTFFloat &f1,const Double_t f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r/=f2; 
   return r;
 }
 
-AliL3FFloat operator / (const Double_t f1,const AliL3FFloat &f2)
+AliHLTFFloat operator / (const Double_t f1,const AliHLTFFloat &f2)
 {
-  AliL3FFloat r(f1); 
+  AliHLTFFloat r(f1); 
   r/=f2; 
   return r;
 }
 
 #ifdef USEINTS
-void AliL3FFloat::SetParams(Int_t dig,Int_t min,Int_t max)
+void AliHLTFFloat::SetParams(Int_t dig,Int_t min,Int_t max)
 {
   fDigits=dig;
   fMin=min;
   fMax=max;
 }
 
-inline void AliL3FFloat::Set(Double_t val)
+inline void AliHLTFFloat::Set(Double_t val)
 {
   Round(val);
   CheckBounds();
@@ -197,7 +197,7 @@ inline void AliL3FFloat::Set(Double_t val)
 #endif
 }
 
-inline void AliL3FFloat::Set(const AliL3FFloat &f)
+inline void AliHLTFFloat::Set(const AliHLTFFloat &f)
 {
   fVali=f.GetValInt();
   fVal=f.GetVal();
@@ -208,7 +208,7 @@ inline void AliL3FFloat::Set(const AliL3FFloat &f)
 #endif
 }
 
-inline void AliL3FFloat::Round(Double_t val)
+inline void AliHLTFFloat::Round(Double_t val)
 {
   fExactVal=val;
   fVali=Fnt_t(val*fDigits);
@@ -218,7 +218,7 @@ inline void AliL3FFloat::Round(Double_t val)
 #endif
 }
 
-inline Bool_t AliL3FFloat::CheckUpperBound()
+inline Bool_t AliHLTFFloat::CheckUpperBound()
 {
   if(fVal>fMax){
     fVal=fMax;
@@ -231,7 +231,7 @@ inline Bool_t AliL3FFloat::CheckUpperBound()
   return kTRUE;
 }
 
-inline Bool_t AliL3FFloat::CheckLowerBound()
+inline Bool_t AliHLTFFloat::CheckLowerBound()
 {
   if(fVal<fMin){
     fVal=fMin;
@@ -244,7 +244,7 @@ inline Bool_t AliL3FFloat::CheckLowerBound()
   return kTRUE;
 }
 
-AliL3FFloat& AliL3FFloat::operator += (const AliL3FFloat &f)
+AliHLTFFloat& AliHLTFFloat::operator += (const AliHLTFFloat &f)
 {
   fExactVal+=f.GetExactVal();
   fVali+=f.GetValInt(); 
@@ -256,7 +256,7 @@ AliL3FFloat& AliL3FFloat::operator += (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator += (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator += (const Double_t f)     
 {
   fExactVal+=f;
   fVali+=Fnt_t(f*fDigits);
@@ -268,7 +268,7 @@ AliL3FFloat& AliL3FFloat::operator += (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator -= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator -= (const AliHLTFFloat &f) 
 {
   fExactVal-=f.GetExactVal();
   fVali-=f.GetValInt(); 
@@ -280,7 +280,7 @@ AliL3FFloat& AliL3FFloat::operator -= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator -= (const Double_t f)
+AliHLTFFloat& AliHLTFFloat::operator -= (const Double_t f)
 {
   fExactVal-=f;
   fVali-=Fnt_t(f*fDigits);
@@ -292,7 +292,7 @@ AliL3FFloat& AliL3FFloat::operator -= (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator *= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator *= (const AliHLTFFloat &f) 
 {
   fExactVal*=f.GetExactVal();
   fVali=Fnt_t((fVali*f.GetValInt())/fDigits);
@@ -304,7 +304,7 @@ AliL3FFloat& AliL3FFloat::operator *= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator *= (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator *= (const Double_t f)     
 {
   fExactVal*=f;
   fVali=Fnt_t(fVali*Fnt_t(f));
@@ -316,7 +316,7 @@ AliL3FFloat& AliL3FFloat::operator *= (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator /= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator /= (const AliHLTFFloat &f) 
 {
   fExactVal/=f.GetExactVal();
   fVali=Fnt_t(fVali*fDigits/f.GetValInt());
@@ -328,7 +328,7 @@ AliL3FFloat& AliL3FFloat::operator /= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator /= (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator /= (const Double_t f)     
 {
   fExactVal/=f;
   fVali=Fnt_t((fVali*fDigits)/(Int_t(f*fDigits)));
@@ -344,9 +344,9 @@ AliL3FFloat& AliL3FFloat::operator /= (const Double_t f)
 #else
 //--------------------------------------------------------
 
-Char_t AliL3FFloat::fQuery[10] = "%.2f";
+Char_t AliHLTFFloat::fQuery[10] = "%.2f";
 
-inline void AliL3FFloat::Set(const Double_t val)
+inline void AliHLTFFloat::Set(const Double_t val)
 {
   fVal=Round(val);
   fExactVal=val;
@@ -356,7 +356,7 @@ inline void AliL3FFloat::Set(const Double_t val)
 #endif
 }
 
-inline void AliL3FFloat::Set(const AliL3FFloat &f)
+inline void AliHLTFFloat::Set(const AliHLTFFloat &f)
 {
   fVal=(Double_t)f;
   fExactVal=f.GetExactVal();
@@ -366,7 +366,7 @@ inline void AliL3FFloat::Set(const AliL3FFloat &f)
 #endif
 }
 
-AliL3FFloat& AliL3FFloat::operator += (const AliL3FFloat &f)
+AliHLTFFloat& AliHLTFFloat::operator += (const AliHLTFFloat &f)
 {
   Double_t ev=fExactVal+f.GetExactVal();
   Set(fVal+(Double_t)f); 
@@ -377,7 +377,7 @@ AliL3FFloat& AliL3FFloat::operator += (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator += (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator += (const Double_t f)     
 {
   Double_t ev=fExactVal+f;
   Set(fVal+Round(f));   
@@ -388,7 +388,7 @@ AliL3FFloat& AliL3FFloat::operator += (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator -= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator -= (const AliHLTFFloat &f) 
 {
   Double_t ev=fExactVal-f.GetExactVal();
   Set(fVal-(Double_t)f);
@@ -399,7 +399,7 @@ AliL3FFloat& AliL3FFloat::operator -= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator -= (const Double_t f)
+AliHLTFFloat& AliHLTFFloat::operator -= (const Double_t f)
 {
   Double_t ev=fExactVal-f;
   Set(fVal-Round(f)); 
@@ -410,7 +410,7 @@ AliL3FFloat& AliL3FFloat::operator -= (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator *= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator *= (const AliHLTFFloat &f) 
 {
   Double_t ev=fExactVal*f.GetExactVal();
   Set(fVal*(Double_t)f);
@@ -421,7 +421,7 @@ AliL3FFloat& AliL3FFloat::operator *= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator *= (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator *= (const Double_t f)     
 {
   Double_t ev=fExactVal*f;
   Set(fVal*Round(f));   
@@ -432,7 +432,7 @@ AliL3FFloat& AliL3FFloat::operator *= (const Double_t f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator /= (const AliL3FFloat &f) 
+AliHLTFFloat& AliHLTFFloat::operator /= (const AliHLTFFloat &f) 
 {
   Double_t ev=fExactVal/f.GetExactVal();
   Set(fVal/(Double_t)f);
@@ -443,7 +443,7 @@ AliL3FFloat& AliL3FFloat::operator /= (const AliL3FFloat &f)
   return *this;
 }
 
-AliL3FFloat& AliL3FFloat::operator /= (const Double_t f)     
+AliHLTFFloat& AliHLTFFloat::operator /= (const Double_t f)     
 {
   Double_t ev=fExactVal/f;
   Set(fVal/Round(f));   
@@ -454,7 +454,7 @@ AliL3FFloat& AliL3FFloat::operator /= (const Double_t f)
   return *this;
 }
 
-inline Bool_t AliL3FFloat::CheckUpperBound()
+inline Bool_t AliHLTFFloat::CheckUpperBound()
 {
   if(fVal>fMax){
     fVal=fMax;
@@ -466,7 +466,7 @@ inline Bool_t AliL3FFloat::CheckUpperBound()
   return kTRUE;
 }
 
-inline Bool_t AliL3FFloat::CheckLowerBound()
+inline Bool_t AliHLTFFloat::CheckLowerBound()
 {
   if(fVal<fMin){
     fVal=fMin;
@@ -479,7 +479,7 @@ inline Bool_t AliL3FFloat::CheckLowerBound()
 }
 
 #ifdef FASTWITHROUNDINGERROS
-inline Double_t AliL3FFloat::Round(Double_t val)
+inline Double_t AliHLTFFloat::Round(Double_t val)
 {
   Int_t dummy=Int_t(fDigits*val);
   Double_t ret=(Double_t)(dummy)/fDigits;
@@ -489,7 +489,7 @@ inline Double_t AliL3FFloat::Round(Double_t val)
   return ret;
 }
 #else
-inline Double_t AliL3FFloat::Round(Double_t val)
+inline Double_t AliHLTFFloat::Round(Double_t val)
 {
   static Char_t strnum[100];
   sprintf(strnum,fQuery,val);
@@ -501,7 +501,7 @@ inline Double_t AliL3FFloat::Round(Double_t val)
 }
 #endif
 
-void AliL3FFloat::SetParams(Int_t dig,Int_t min,Int_t max)
+void AliHLTFFloat::SetParams(Int_t dig,Int_t min,Int_t max)
 {
   fDigits=dig;
   Int_t prec=0;
diff --git a/HLT/misc/AliHLTFFloat.h b/HLT/misc/AliHLTFFloat.h
new file mode 100644 (file)
index 0000000..27f1f6c
--- /dev/null
@@ -0,0 +1,200 @@
+// @(#) $Id$
+
+#ifndef ALIL3FFLOAT_H
+#define ALIL3FFLOAT_H
+
+#include "AliHLTRootTypes.h"
+
+#ifndef USEFFLOAT
+typedef Float_t AliHLTFFloat;
+#else 
+
+//use Ints times Digits instead of Floats
+#define USEINTS
+
+#define DEFDIG 100
+#define DEFMIN -1000000
+#define DEFMAX  1000000
+
+#ifdef USEINTS
+
+//ROOT does not know about 64 bit integer
+#ifdef no_root
+typedef long long int Fnt_t;
+#else 
+typedef Int_t Fnt_t;
+#endif
+
+class AliHLTFFloat {
+ public:
+  AliHLTFFloat(const Double_t val=0) {Set(val);}
+  AliHLTFFloat(const AliHLTFFloat &f) {Set(f);}
+  virtual ~AliHLTFFloat();
+
+  AliHLTFFloat& operator = (const AliHLTFFloat &f)  {Set(f); return *this;}
+  AliHLTFFloat& operator = (const Double_t f)      {Set(f); return *this;}
+
+  operator const Double_t () const {return fVal;}
+  operator const Float_t  () const {return (Float_t)fVal;}
+#ifdef no_root
+  operator const Fnt_t    () const {return (Fnt_t)fVal;}
+#endif
+  operator const Int_t    () const {return (Int_t)fVal;}  
+
+
+  friend ostream& operator<<(ostream &os, const AliHLTFFloat &f);
+
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator + (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator - (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1);
+  friend AliHLTFFloat operator * (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator * (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator * (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator / (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator / (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator / (const Double_t f1,    const AliHLTFFloat &f2);
+
+  AliHLTFFloat& operator += (const AliHLTFFloat &f);
+  AliHLTFFloat& operator += (const Double_t f);
+  AliHLTFFloat& operator -= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator -= (const Double_t f);
+  AliHLTFFloat& operator *= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator *= (const Double_t f);
+  AliHLTFFloat& operator /= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator /= (const Double_t f);
+  //==,!=,>=, ...
+  //++,--
+
+  static void PrintStat();
+  static void SetParams(Int_t dig=DEFDIG,Int_t min=DEFMIN,Int_t max=DEFMAX);
+  void Set(const Double_t f=0);
+  void Set(const AliHLTFFloat &f);
+  inline Double_t GetVal()      const {return fVal;}
+  inline Double_t GetExactVal() const {return fExactVal;}
+  inline Fnt_t   GetValInt()    const {return fVali;}
+
+ private:
+
+  void   Round(Double_t f);
+  Bool_t CheckUpperBound();
+  Bool_t CheckLowerBound();
+  Bool_t CheckBounds() {return (CheckUpperBound() && CheckLowerBound());}
+
+  Fnt_t   fVali;
+  Double_t fVal;
+  Double_t fExactVal;
+
+  static Int_t fDigits;
+  static Int_t fMax; 
+  static Int_t fMin; 
+
+#ifdef CALCSTATS
+  static Int_t fN;
+  static Int_t fNRounded;
+  static Int_t fNOpAdds;
+  static Int_t fNOpMults;
+  static Int_t fNOpDivs;
+  static Int_t fNOpSubs;
+  static Int_t fNOverFlow;
+  static Int_t fNUnderFlow;
+  static Double_t fNDiff;
+#endif
+
+  ClassDef(AliHLTFFloat,1)
+};
+
+#else
+
+class AliHLTFFloat {
+ public:
+  AliHLTFFloat(const Double_t val=0) {Set(val);}
+  AliHLTFFloat(const AliHLTFFloat &f) {Set(f);}
+  virtual ~AliHLTFFloat();
+
+  AliHLTFFloat& operator = (const AliHLTFFloat &f)  {Set(f); return *this;}
+  AliHLTFFloat& operator = (const Double_t f)      {Set(f); return *this;}
+
+  operator const Double_t () const {return fVal;}
+  operator const Float_t  () const {return (Float_t)fVal;}
+  operator const Int_t    () const {return (Int_t)fVal;}
+
+  friend ostream& operator<<(ostream &os, const AliHLTFFloat &f);
+
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator + (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator + (const AliHLTFFloat &f1);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator - (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator - (const AliHLTFFloat &f1);
+  friend AliHLTFFloat operator * (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator * (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator * (const Double_t f1,    const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator / (const AliHLTFFloat &f1,const AliHLTFFloat &f2);
+  friend AliHLTFFloat operator / (const AliHLTFFloat &f1,const Double_t f2);
+  friend AliHLTFFloat operator / (const Double_t f1,    const AliHLTFFloat &f2);
+
+  AliHLTFFloat& operator += (const AliHLTFFloat &f);
+  AliHLTFFloat& operator += (const Double_t f);
+  AliHLTFFloat& operator -= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator -= (const Double_t f);
+  AliHLTFFloat& operator *= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator *= (const Double_t f);
+  AliHLTFFloat& operator /= (const AliHLTFFloat &f);
+  AliHLTFFloat& operator /= (const Double_t f);
+  //==,!=,>=, ...
+  //++,--
+
+  static void PrintStat();
+  static void SetParams(Int_t dig=DEFDIG,Int_t min=DEFMIN,Int_t max=DEFMAX);
+  void Set(const Double_t f=0);
+  void Set(const AliHLTFFloat &f);
+  inline Double_t GetVal()      const {return fVal;}
+  inline Double_t GetExactVal() const {return fExactVal;}
+
+ private:
+
+  Double_t Round(Double_t f);
+  Bool_t CheckUpperBound();
+  Bool_t CheckLowerBound();
+  Bool_t CheckBounds() {return (CheckUpperBound() && CheckLowerBound());}
+
+  Double_t fVal;
+  Double_t fExactVal;
+
+  static Int_t fDigits;
+  static Char_t fQuery[10];
+  static Int_t fMax;
+  static Int_t fMin;
+
+#ifdef CALCSTATS
+  static Int_t fN;
+  static Int_t fNRounded;
+  static Int_t fNOpAdds;
+  static Int_t fNOpMults;
+  static Int_t fNOpDivs;
+  static Int_t fNOpSubs;
+  static Int_t fNOverFlow;
+  static Int_t fNUnderFlow;
+  static Double_t fNDiff;
+#endif
+
+  ClassDef(AliHLTFFloat,1)
+};
+
+#endif
+#endif
+
+typedef AliHLTFFloat AliL3FFloat; // for backward compatibility
+
+#endif
+
+
+
+
diff --git a/HLT/misc/AliHLTMiscLinkDef.h b/HLT/misc/AliHLTMiscLinkDef.h
new file mode 100644 (file)
index 0000000..3adbe60
--- /dev/null
@@ -0,0 +1,50 @@
+// @(#) $Id$
+
+#ifdef __CINT__
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#ifndef macosx
+#pragma link C++ typedef AliL3TransBit; 
+#pragma link C++ typedef AliL3TransBitV1; 
+#pragma link C++ typedef AliL3TransBitV2; 
+#pragma link C++ typedef AliL3DataHandler;
+#endif
+#pragma link C++ typedef AliL3AltroMemHandler;
+#pragma link C++ typedef AliL3VHDLClusterFinder;
+#pragma link C++ typedef AliL3TPCMapping;
+#pragma link C++ typedef AliL3DDLRawReader;
+#pragma link C++ typedef AliL3DDLRawReaderFile;
+#pragma link C++ typedef AliL3DDLTPCRawStream;
+#ifndef macosx
+#pragma link C++ typedef AliL3DDLDataFileHandler;
+#endif
+
+#ifdef USEFFLOAT
+#pragma link C++ typedef AliL3FFloat;
+#endif
+
+#ifndef macosx
+#pragma link C++ class AliHLTTransBit; 
+#pragma link C++ class AliHLTTransBitV1; 
+#pragma link C++ class AliHLTTransBitV2; 
+#pragma link C++ class AliHLTDataHandler;
+#endif
+#pragma link C++ class AliHLTAltroMemHandler;
+#pragma link C++ class AliHLTVHDLClusterFinder;
+#pragma link C++ class AliHLTTPCMapping;
+#pragma link C++ class AliHLTDDLRawReader;
+#pragma link C++ class AliHLTDDLRawReaderFile;
+#pragma link C++ class AliHLTDDLTPCRawStream;
+#ifndef macosx
+#pragma link C++ class AliHLTDDLDataFileHandler;
+#endif
+
+#ifdef USEFFLOAT
+#pragma link C++ class AliHLTFFloat;
+#endif
+
+#endif
+
similarity index 75%
rename from HLT/misc/AliL3Stopwatch.cxx
rename to HLT/misc/AliHLTStopwatch.cxx
index 316c154534872f451d3e06da849ffdffbeba7698..4e26171aa4af2a759fc72c0077d5cb14ae2a270a 100644 (file)
@@ -3,21 +3,21 @@
 // Author: C. Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3Stopwatch.h"
+#include "AliHLTStopwatch.h"
 
 #ifdef no_root
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #if __GNUC__ == 3
 using namespace std;
 #endif
 
 
-/** \class AliL3Stopwatch
+/** \class AliHLTStopwatch
 <pre>
 //----------------------------------------------------
-// AliL3Stopwatch
+// AliHLTStopwatch
 //
 // Stopwatch class. This class returns the real and cpu time between   
 // the start and stop events (taken from Root)
@@ -25,11 +25,11 @@ using namespace std;
 */
 
 
-ClassImp(AliL3Stopwatch)
+ClassImp(AliHLTStopwatch)
 
-clock_t AliL3Stopwatch::gTicks = 0;
+clock_t AliHLTStopwatch::gTicks = 0;
 
-AliL3Stopwatch::AliL3Stopwatch()
+AliHLTStopwatch::AliHLTStopwatch()
 {
   // Create a stopwatch and start it.
   if (!gTicks) gTicks = (clock_t)sysconf(_SC_CLK_TCK);
@@ -40,11 +40,11 @@ AliL3Stopwatch::AliL3Stopwatch()
   Start();
 }
 
-AliL3Stopwatch::~AliL3Stopwatch()
+AliHLTStopwatch::~AliHLTStopwatch()
 {
 }
 
-void AliL3Stopwatch::Start(Bool_t reset)
+void AliHLTStopwatch::Start(Bool_t reset)
 {
   // Start the stopwatch. If reset is kTRUE reset the stopwatch before
   // starting it (including the stopwatch counter).
@@ -64,7 +64,7 @@ void AliL3Stopwatch::Start(Bool_t reset)
   fCounter++;
 }
 
-void AliL3Stopwatch::Stop()
+void AliHLTStopwatch::Stop()
 {
    // Stop the stopwatch.
    fStopRealTime = GetRealTime();
@@ -76,13 +76,13 @@ void AliL3Stopwatch::Stop()
    fState = kStopped;
 }
 
-void AliL3Stopwatch::Continue()
+void AliHLTStopwatch::Continue()
 {
   // Resume a stopped stopwatch. The stopwatch continues counting from the last
   // Start() onwards (this is like the laptimer function).
   
   if (fState == kUndefined){
-    cerr << "Error in AliL3Stopwatch::Continue! Stopwatch not started." << endl;
+    cerr << "Error in AliHLTStopwatch::Continue! Stopwatch not started." << endl;
     return;
   }
 
@@ -94,13 +94,13 @@ void AliL3Stopwatch::Continue()
   fState = kRunning;
 }
 
-Double_t AliL3Stopwatch::RealTime()
+Double_t AliHLTStopwatch::RealTime()
 {
   // Return the realtime passed between the start and stop events. If the
   // stopwatch was still running stop it first.
   
   if (fState == kUndefined){
-    cerr << "Error in AliL3Stopwatch::RealTime! Stopwatch not started." << endl;
+    cerr << "Error in AliHLTStopwatch::RealTime! Stopwatch not started." << endl;
     return -1.0;
   }
 
@@ -110,13 +110,13 @@ Double_t AliL3Stopwatch::RealTime()
   return fTotalRealTime;
 }
 
-Double_t AliL3Stopwatch::CpuTime()
+Double_t AliHLTStopwatch::CpuTime()
 {
   // Return the cputime passed between the start and stop events. If the
   // stopwatch was still running stop it first.
   
   if (fState == kUndefined){
-    cerr << "Error in AliL3Stopwatch::CpuTime! Stopwatch not started." << endl;
+    cerr << "Error in AliHLTStopwatch::CpuTime! Stopwatch not started." << endl;
     return -1.0;
   }
   if (fState == kRunning)
@@ -125,14 +125,14 @@ Double_t AliL3Stopwatch::CpuTime()
   return fTotalCpuTime;
 }
 
-Double_t AliL3Stopwatch::GetRealTime()
+Double_t AliHLTStopwatch::GetRealTime()
 {
   struct tms cpt;
   Double_t trt =  (Double_t)times(&cpt);
   return trt / (Double_t)gTicks;
 }
 
-Double_t AliL3Stopwatch::GetCPUTime()
+Double_t AliHLTStopwatch::GetCPUTime()
 {
    struct tms cpt;
    times(&cpt);
@@ -140,13 +140,13 @@ Double_t AliL3Stopwatch::GetCPUTime()
 }
 
 //______________________________________________________________________________
-void AliL3Stopwatch::Print(Char_t *opt) const
+void AliHLTStopwatch::Print(Char_t *opt) const
 {
    // Print the real and cpu time passed between the start and stop events.
    // and the number of times (slices) this TStopwatch was called
    // (if this number > 1)
 
-   Double_t  realt = ((AliL3Stopwatch*)(this))->RealTime();
+   Double_t  realt = ((AliHLTStopwatch*)(this))->RealTime();
 
    Int_t  hours = Int_t(realt / 3600);
    realt -= hours * 3600;
@@ -155,9 +155,9 @@ void AliL3Stopwatch::Print(Char_t *opt) const
    Int_t  sec   = Int_t(realt);
    Int_t counter = Counter();
    if (counter <= 1 )
-      printf("Real time %d:%d:%d, CP time %.3f", hours, min, sec, ((AliL3Stopwatch*)(this))->CpuTime());
+      printf("Real time %d:%d:%d, CP time %.3f", hours, min, sec, ((AliHLTStopwatch*)(this))->CpuTime());
    else
-      printf("Real time %d:%d:%d, CP time %.3f, %d slices", hours, min, sec, ((AliL3Stopwatch*)(this))->CpuTime(),counter);
+      printf("Real time %d:%d:%d, CP time %.3f, %d slices", hours, min, sec, ((AliHLTStopwatch*)(this))->CpuTime(),counter);
 }
 
 #endif
similarity index 86%
rename from HLT/misc/AliL3Stopwatch.h
rename to HLT/misc/AliHLTStopwatch.h
index f5dac713af48855f57777b2c517284b6e814ef79..e445373fee551fc98a363c8d666a228f0664b1b0 100644 (file)
@@ -5,15 +5,15 @@
 
 #ifndef no_root
 #include <TStopwatch.h>
-typedef TStopwatch AliL3Stopwatch; 
+typedef TStopwatch AliHLTStopwatch; 
 
 #else
 #include <sys/types.h>
 #include <sys/times.h>
 #include <unistd.h>
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3Stopwatch
+class AliHLTStopwatch
 {
  private:
   static clock_t gTicks;
@@ -30,8 +30,8 @@ class AliL3Stopwatch
 
  public:
   
-  AliL3Stopwatch();
-  ~AliL3Stopwatch();
+  AliHLTStopwatch();
+  ~AliHLTStopwatch();
   void        Start(Bool_t reset = kTRUE);
   void        Stop();
   void        Continue();
@@ -50,4 +50,6 @@ class AliL3Stopwatch
 
 #endif
 
+typedef AliHLTStopwatch AliL3Stopwatch; // for backward compatibility
+
 #endif
diff --git a/HLT/misc/AliHLTTPCMapping-iroc.generated b/HLT/misc/AliHLTTPCMapping-iroc.generated
new file mode 100644 (file)
index 0000000..ab4646f
--- /dev/null
@@ -0,0 +1,8 @@
+const Int_t AliHLTTPCMapping::fgkNIROC = 5504;
+const Int_t AliHLTTPCMapping::fgkIRows[fgkNIROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62};
+const Int_t AliHLTTPCMapping::fgkIPad[fgkNIROC] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107};
+const Int_t AliHLTTPCMapping::fgkICon[fgkNIROC] = {127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,130,131,131,131,131,132,132,132,133,133,133,133,134,134,134,134,135,135,135,135,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,136,136,136,128,137,137,137,129,138,138,138,130,130,130,130,131,140,140,140,141,132,132,133,142,142,142,134,134,134,134,135,144,144,144,18,18,18,9,8,8,8,8,16,16,16,7,6,6,15,14,14,14,5,4,4,4,4,12,12,12,3,11,11,11,2,10,10,10,1,136,136,136,136,137,137,137,137,138,138,138,138,130,139,139,139,140,140,140,140,141,141,141,142,142,142,142,134,143,143,143,144,144,144,144,18,18,18,18,17,17,17,8,16,16,16,16,15,15,15,14,14,14,14,13,13,13,4,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,145,146,137,137,137,147,138,138,138,139,139,139,139,139,149,140,140,140,141,141,141,141,151,142,142,142,143,143,143,143,153,144,144,144,18,18,18,27,17,17,17,17,16,16,16,25,15,15,15,15,14,14,14,23,13,13,13,13,13,12,12,12,21,11,11,11,20,19,10,10,10,145,145,145,145,146,146,146,146,147,147,147,147,139,139,148,148,148,149,149,149,149,141,141,150,150,151,151,151,151,152,143,143,143,153,153,153,153,27,27,27,27,17,17,17,26,25,25,25,25,24,24,15,15,23,23,23,23,22,22,22,13,13,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,157,157,148,148,148,149,149,149,149,150,150,150,150,151,151,160,160,160,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,34,34,34,25,25,24,24,24,24,23,23,23,23,22,22,22,31,31,21,21,21,21,20,20,20,20,19,19,19,19,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,150,150,150,159,160,160,160,160,161,152,152,152,152,162,162,162,162,36,36,36,36,26,26,26,26,35,34,34,34,34,33,24,24,24,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,30,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,164,164,164,164,165,156,156,156,156,157,157,157,166,158,158,167,167,159,159,159,159,159,160,160,169,169,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,43,43,34,34,33,33,33,33,33,41,41,32,32,40,31,31,31,30,30,30,30,39,38,38,38,38,29,28,28,28,28,154,163,163,163,164,164,164,164,164,165,165,165,165,165,166,166,166,166,167,167,167,167,159,159,168,168,168,169,169,169,169,170,170,170,170,170,162,171,171,171,45,45,45,36,44,44,44,44,44,43,43,43,43,42,42,42,33,33,41,41,41,41,40,40,40,40,39,39,39,39,39,38,38,38,38,38,37,37,37,28,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,172,173,173,173,164,165,165,165,165,174,166,166,175,175,175,167,176,176,176,168,168,168,168,177,178,169,169,169,169,170,170,179,179,179,171,171,171,171,45,45,45,45,53,53,53,44,44,43,43,43,43,52,51,42,42,42,42,50,50,50,41,49,49,49,40,40,48,39,39,39,39,38,47,47,47,46,37,37,37,37,172,172,172,172,172,173,173,173,173,174,174,174,174,174,175,175,175,175,175,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,179,171,171,171,180,54,45,45,45,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,174,174,174,174,174,175,175,175,175,175,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,179,180,180,180,180,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,173,174,174,174,174,174,175,175,175,175,176,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,180,180,180,180,180,54,54,54,54,54,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,173,174,174,174,174,174,175,175,175,175,176,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,180,180,180,180,180,54,54,54,54,54,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,181,181,181,182,182,182,182,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,180,180,180,180,180,180,54,54,54,54,54,54,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,181,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,190,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,64,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,55,55,55,55,181,181,181,181,182,182,194,183,183,195,195,184,184,184,185,197,197,197,186,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,190,191,191,203,192,192,192,192,253,253,253,253,66,66,66,66,77,65,65,64,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,60,71,71,71,59,58,58,58,69,69,57,57,68,56,56,55,55,55,55,181,193,193,193,194,194,194,195,195,195,195,184,184,184,197,197,197,197,198,198,198,186,199,199,199,200,200,200,200,189,189,189,202,202,202,190,203,203,203,204,204,204,192,253,254,254,254,66,78,78,78,77,77,77,64,76,76,76,63,63,63,74,74,74,74,73,73,73,60,72,72,72,71,71,71,71,58,58,58,69,69,69,69,68,68,68,67,67,67,55,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,194,195,195,195,196,196,196,196,197,197,197,197,198,198,198,199,199,199,199,200,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,74,73,73,73,73,72,72,72,71,71,71,71,70,70,70,70,69,69,69,68,68,68,68,67,67,67,67,193,193,193,205,194,194,194,194,207,207,195,196,196,196,196,197,197,209,209,198,198,198,199,199,199,211,200,200,200,200,201,201,201,201,202,202,202,214,203,203,203,204,204,204,216,255,254,254,254,90,78,78,78,77,77,77,88,76,76,76,75,75,75,75,74,74,74,74,85,73,73,73,72,72,72,83,83,71,71,70,70,70,70,69,81,81,68,68,68,68,79,67,67,67,205,205,205,205,194,206,206,206,207,207,207,208,208,196,196,209,209,209,209,210,210,198,211,211,211,211,212,212,212,200,201,201,213,213,214,214,214,214,203,203,203,216,216,216,216,255,255,255,255,90,90,90,90,77,77,77,88,88,88,88,87,87,75,75,74,86,86,86,85,85,85,85,72,84,84,83,83,83,83,70,70,82,82,81,81,81,80,80,80,68,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,207,208,208,208,208,209,209,209,210,210,210,210,210,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,84,84,84,84,84,83,83,83,82,82,82,82,81,81,81,81,80,80,80,80,79,79,79,79,217,217,217,217,218,218,206,206,207,207,207,219,208,208,208,220,221,221,221,210,210,222,222,222,223,223,211,224,224,212,212,213,213,213,225,226,226,226,226,215,215,215,215,228,228,228,228,256,256,256,256,102,102,102,102,89,89,89,89,100,100,100,100,99,87,87,87,86,86,98,98,85,97,97,96,96,96,84,84,95,95,95,94,82,82,82,93,81,81,81,80,80,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,222,222,222,222,222,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,215,215,215,215,228,228,228,228,256,256,256,256,102,102,102,102,89,89,89,89,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,96,96,96,96,96,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,229,229,229,217,218,218,218,230,219,219,219,219,220,220,220,220,221,221,221,233,234,234,234,222,223,223,223,223,236,224,224,224,225,225,225,225,237,238,238,238,226,227,227,227,227,240,240,240,228,256,257,257,257,102,114,114,114,101,101,101,101,100,112,112,112,111,99,99,99,99,98,98,98,110,97,97,97,97,96,108,108,108,107,95,95,95,94,94,94,94,93,93,93,93,104,92,92,92,91,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,227,227,227,227,240,240,240,240,257,257,257,257,114,114,114,114,101,101,101,101,112,112,112,112,111,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,227,240,240,240,240,257,257,257,257,114,114,114,114,101,113,113,113,112,112,112,112,111,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,257,257,257,257,114,114,114,114,113,113,113,113,113,112,112,112,112,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,257,257,257,257,114,114,114,114,113,113,113,113,113,112,112,112,112,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,241,229,229,229,230,230,230,230,231,231,231,231,244,232,232,232,232,233,233,233,233,246,234,234,234,235,235,235,235,236,236,236,236,237,237,237,249,238,238,238,250,239,239,239,239,239,240,240,240,252,258,257,257,257,126,114,114,114,113,113,113,113,113,124,112,112,112,123,111,111,111,110,110,110,110,109,109,109,109,108,108,108,120,107,107,107,107,106,106,106,106,118,105,105,105,105,104,104,104,104,103,103,103,115,241,241,241,241,242,242,242,230,243,243,243,231,231,244,244,244,244,245,245,245,233,246,246,246,246,247,247,247,235,235,236,248,248,248,249,249,249,249,250,250,250,250,239,239,239,239,251,252,252,252,252,258,258,258,258,126,126,126,126,125,113,113,113,113,124,124,124,124,123,123,123,123,122,122,122,110,109,109,121,121,121,120,120,120,120,107,119,119,119,118,118,118,118,105,105,117,117,117,104,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,243,243,243,243,243,244,244,244,244,245,245,245,245,246,246,246,246,247,247,247,247,247,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,121,121,121,121,121,120,120,120,120,119,119,119,119,118,118,118,118,117,117,117,117,117,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,243,243,243,243,243,244,244,244,244,245,245,245,245,246,246,246,246,247,247,247,247,247,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,121,121,121,121,121,120,120,120,120,119,119,119,119,118,118,118,118,117,117,117,117,117,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,242,243,243,243,243,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,122,121,121,121,121,120,120,120,120,119,119,119,119,119,118,118,118,118,117,117,117,117,116,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,242,243,243,243,243,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,122,121,121,121,121,120,120,120,120,119,119,119,119,119,118,118,118,118,117,117,117,117,116,116,116,116,116,115,115,115,115};
+const Int_t AliHLTTPCMapping::fgkIPin[fgkNIROC] = {2,1,3,5,2,1,3,5,2,1,3,5,2,4,1,2,1,3,5,2,1,3,5,2,1,3,5,2,4,1,2,1,3,5,5,3,1,2,1,4,2,5,3,1,2,5,3,1,2,5,3,1,2,1,4,2,5,3,1,2,5,3,1,2,5,3,1,2,4,6,7,9,4,6,7,9,4,6,7,9,6,3,5,4,6,7,9,4,6,7,9,4,6,7,9,6,3,5,4,6,7,9,9,7,6,4,5,3,6,9,7,6,4,9,7,6,4,9,7,6,4,5,3,6,9,7,6,4,9,7,6,4,9,7,6,4,8,10,11,13,8,10,11,13,8,10,11,13,8,7,9,8,10,11,13,8,10,11,13,8,10,11,13,8,7,9,8,10,11,13,13,11,10,8,9,7,8,13,11,10,8,13,11,10,8,13,11,10,8,9,7,8,13,11,10,8,13,11,10,8,13,11,10,8,12,14,15,17,12,14,15,17,12,14,15,17,10,11,13,12,14,15,17,12,14,15,17,12,14,15,17,10,11,13,12,14,15,17,17,15,14,12,13,11,10,17,15,14,12,17,15,14,12,17,15,14,12,13,11,10,17,15,14,12,17,15,14,12,17,15,14,12,16,18,19,21,16,18,21,19,16,18,21,19,12,14,15,17,16,18,21,19,16,18,19,16,18,21,19,12,14,15,17,16,18,21,19,19,21,18,16,17,15,14,12,19,21,18,16,19,18,16,19,21,18,16,17,15,14,12,19,21,18,16,19,21,18,16,21,19,18,16,20,0,2,1,20,2,0,1,20,2,0,1,16,18,21,19,20,4,2,0,0,20,21,20,4,2,0,16,18,21,19,20,4,2,0,0,2,4,20,19,21,18,16,0,2,4,20,21,20,0,0,2,4,20,19,21,18,16,1,0,2,20,1,0,2,20,1,2,0,20,4,6,3,5,6,4,3,5,6,4,3,5,20,0,1,3,8,6,1,3,2,1,3,8,6,1,3,20,4,2,0,8,6,1,3,3,1,6,8,0,2,4,20,3,1,6,8,3,1,2,3,1,6,8,3,1,0,20,5,3,4,6,5,3,4,6,5,3,6,4,8,10,7,9,10,8,7,9,10,8,7,9,4,2,5,7,12,10,5,7,6,4,5,7,12,10,5,7,8,6,1,3,12,10,5,7,7,5,10,12,3,1,6,8,7,5,10,12,7,5,4,6,7,5,10,12,7,5,2,4,9,7,8,10,9,7,8,10,9,7,10,8,12,14,13,15,14,12,13,15,14,12,13,15,8,6,9,13,16,14,9,13,10,8,9,13,16,14,9,13,12,10,5,7,16,14,9,13,13,9,14,16,7,5,10,12,13,9,14,16,13,9,8,10,13,9,14,16,13,9,6,8,15,13,12,14,15,13,12,14,15,13,14,12,16,18,17,19,18,16,17,19,18,16,17,19,12,10,15,17,20,18,15,17,14,12,15,17,20,18,15,17,16,14,9,13,20,18,15,17,17,15,18,20,13,9,14,16,17,15,18,20,17,15,12,14,17,15,18,20,17,15,10,12,19,17,16,18,19,17,16,18,19,17,18,16,20,22,21,1,2,22,20,21,2,22,20,21,18,16,14,19,21,1,22,19,21,18,16,19,21,5,22,19,21,20,18,15,17,1,22,19,21,21,19,22,1,17,15,18,20,21,19,22,5,21,19,16,18,21,19,22,1,21,19,14,16,18,21,20,22,2,21,20,22,2,1,21,22,20,4,2,3,5,4,1,3,5,4,1,3,5,22,20,1,3,5,4,2,3,5,22,20,1,3,1,3,7,9,1,22,19,21,4,2,3,5,5,3,2,4,21,19,22,1,9,7,3,1,3,1,20,22,5,3,2,4,5,3,1,20,22,5,3,1,4,5,3,1,4,5,3,2,4,8,6,7,9,8,6,7,9,8,6,7,9,6,4,2,7,9,8,6,7,9,4,2,5,7,4,2,11,13,4,2,3,5,8,6,7,9,9,7,6,8,5,3,2,4,13,11,2,4,7,5,2,4,9,7,6,8,9,7,2,4,6,9,7,6,8,9,7,6,8,9,7,6,8,12,10,11,13,12,10,11,13,12,10,11,13,12,10,8,11,13,12,10,11,13,8,6,9,11,10,8,6,15,17,8,6,7,9,12,10,11,13,13,11,10,12,9,7,6,8,17,15,6,8,10,11,9,6,8,13,11,10,12,13,11,8,10,12,13,11,10,12,13,11,10,12,13,11,10,12,18,16,15,17,16,14,15,17,16,14,15,17,18,16,14,15,17,16,14,15,17,12,10,13,15,16,14,12,19,21,12,10,11,13,16,14,15,17,17,15,14,16,13,11,10,12,21,19,12,14,16,15,13,10,12,17,15,14,16,17,15,14,16,18,17,15,14,16,17,15,14,16,17,15,16,18,14,20,19,21,20,18,19,21,20,18,19,21,1,3,20,19,21,20,18,19,21,16,14,17,19,20,18,3,5,7,16,14,15,17,20,18,19,21,21,19,18,20,17,15,14,16,7,5,3,18,20,19,17,14,16,21,19,18,20,21,19,20,3,1,21,19,18,20,21,19,18,20,21,19,20,14,2,1,3,5,1,3,5,7,9,2,1,3,5,4,2,5,7,1,3,5,7,9,20,18,21,5,4,2,1,9,1,20,18,19,21,2,1,3,5,5,3,1,2,21,19,18,20,1,9,1,2,4,5,21,18,20,9,7,5,3,1,7,5,2,4,5,3,1,2,9,7,5,3,1,5,3,1,2,6,4,7,9,6,4,2,11,13,6,4,7,9,8,6,9,11,6,4,2,11,13,1,3,7,9,8,6,11,13,2,3,5,7,9,6,4,7,9,9,7,4,6,9,7,5,3,2,13,11,6,8,9,7,3,1,13,11,2,4,6,11,9,6,8,9,7,4,6,13,11,2,4,6,9,7,4,6,10,8,11,13,12,10,8,15,17,10,8,11,13,12,10,13,15,12,10,8,15,17,4,2,11,13,12,10,15,17,8,6,4,11,13,10,8,11,13,13,11,8,10,13,11,4,6,8,17,15,10,12,13,11,2,4,17,15,8,10,12,15,13,10,12,13,11,8,10,17,15,8,10,12,13,11,8,10,14,12,15,17,18,16,14,19,21,16,14,12,15,17,16,14,17,19,16,14,19,21,10,8,6,15,17,16,14,19,21,14,12,10,15,17,14,12,15,17,17,15,12,14,17,15,10,12,14,21,19,14,16,17,15,6,8,10,21,19,14,16,19,17,14,16,17,15,12,14,16,21,19,14,16,18,17,15,12,14,18,16,19,21,20,4,2,0,1,0,20,18,19,21,20,18,21,3,20,18,1,3,16,14,12,19,21,20,18,2,0,20,18,16,19,21,18,16,19,21,21,19,16,18,21,19,16,18,20,0,2,18,20,21,19,12,14,16,3,1,18,20,3,21,18,20,21,19,18,20,0,1,0,2,4,20,21,19,16,18,20,0,1,3,10,8,6,3,5,6,4,2,1,3,0,1,5,7,2,0,5,7,20,18,0,1,3,6,4,1,3,0,1,3,5,7,20,2,0,1,1,0,2,20,7,5,3,1,0,3,1,4,6,3,1,0,18,20,7,5,0,2,7,5,1,0,3,1,2,4,6,5,3,6,8,10,3,1,0,20,6,4,2,5,7,14,12,7,9,10,8,5,7,6,4,2,9,13,8,6,4,9,13,6,4,2,5,7,10,8,5,7,6,4,2,9,13,6,4,3,5,5,3,4,6,13,9,2,4,6,7,5,8,10,7,5,2,4,6,13,9,4,6,8,13,9,2,4,6,7,5,8,10,9,7,12,14,7,5,2,4,6,12,10,8,9,13,18,16,13,15,14,12,9,13,12,10,8,15,17,14,12,10,15,17,12,10,8,9,13,14,12,9,13,12,10,8,15,17,10,8,7,9,9,7,8,10,17,15,8,10,12,13,9,12,14,13,9,8,10,12,17,15,10,12,14,17,15,8,10,12,13,9,12,14,15,13,16,18,13,9,8,10,12,18,16,14,15,17,22,20,17,19,18,16,15,17,18,16,14,19,21,20,18,16,19,21,18,16,14,15,17,18,16,15,17,18,16,14,19,21,14,12,13,15,15,13,12,14,21,19,14,16,18,17,15,16,18,17,15,14,16,18,21,19,16,18,20,21,19,14,16,18,17,15,16,18,19,17,20,22,17,15,14,16,18,22,20,19,21,5,1,3,5,21,22,20,19,21,5,22,20,1,3,5,22,1,3,5,22,20,19,21,5,1,22,20,19,21,22,20,1,3,5,18,16,17,19,19,17,16,18,5,3,1,20,22,21,19,20,22,1,5,21,19,20,22,5,3,1,22,5,3,1,20,22,5,21,19,20,22,21,5,3,1,5,21,19,20,22,2,1,3,7,9,4,2,7,9,2,1,3,7,9,6,4,2,7,9,4,2,7,9,2,1,3,7,9,2,3,5,7,9,6,4,2,7,9,22,20,21,5,5,21,20,22,9,7,2,4,6,9,7,5,3,2,9,7,3,1,2,9,7,2,4,9,7,2,4,6,9,7,3,1,2,9,7,2,4,9,7,3,1,2,8,6,4,11,13,8,6,11,13,8,6,4,11,13,12,10,8,11,13,8,6,11,13,8,6,4,11,13,8,6,4,11,13,12,10,8,11,13,1,3,7,9,9,7,3,1,13,11,8,10,12,13,11,4,6,8,13,11,4,6,8,13,11,6,8,13,11,8,10,12,13,11,4,6,8,13,11,6,8,13,11,4,6,8,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,16,14,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,16,14,15,17,6,4,2,11,13,13,11,2,4,6,17,15,14,16,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,14,16,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,19,21,12,10,8,15,17,17,15,8,10,12,21,19,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,4,2,1,4,2,1,3,1,3,5,8,6,4,2,1,3,5,6,4,2,6,4,2,1,4,2,1,6,4,2,6,4,2,4,2,1,3,20,18,16,14,19,21,21,19,14,16,18,20,3,1,2,4,2,4,6,2,4,6,1,2,4,1,2,4,6,2,4,6,5,3,1,2,4,6,8,5,3,1,3,1,2,4,1,2,4,6,3,5,8,6,5,7,4,2,7,9,10,2,1,6,4,7,9,8,1,3,10,8,3,5,6,3,5,10,8,1,8,1,3,8,6,5,7,4,2,1,3,3,1,2,4,3,1,2,4,7,5,6,8,3,1,8,1,8,10,5,3,6,5,3,8,10,3,1,8,9,7,4,6,1,2,10,9,7,2,4,7,5,6,8,5,3,6,8,7,9,12,10,9,11,8,6,11,13,12,3,5,10,8,11,13,10,5,7,14,12,7,9,8,7,9,12,3,5,10,5,7,12,10,9,11,8,6,5,7,7,5,6,8,7,5,6,8,11,9,10,12,7,5,10,5,3,12,9,7,8,9,7,12,14,7,5,10,13,11,8,10,5,3,12,13,11,6,8,11,9,10,12,9,7,8,10,11,13,16,14,13,15,12,10,15,17,14,7,9,14,12,15,17,12,9,11,16,11,13,12,10,11,13,14,7,9,12,9,11,16,14,13,15,12,10,9,11,9,11,10,12,11,9,10,12,15,13,14,16,11,9,12,9,7,14,13,11,10,12,13,11,16,11,9,12,17,15,12,14,9,7,14,17,15,10,12,15,13,14,16,13,11,10,14,12,15,17,18,17,19,16,14,19,21,16,11,13,18,16,19,21,16,14,13,15,18,15,17,16,14,15,17,16,11,13,16,14,13,15,18,17,19,16,14,13,15,13,15,14,16,15,13,14,16,19,17,18,15,13,14,16,13,11,16,17,15,14,16,17,15,18,15,13,14,16,21,19,16,18,13,11,16,21,19,14,16,19,17,18,17,15,12,14,18,16,19,21,20,21,0,20,18,0,1,18,15,17,20,0,1,3,20,18,17,19,20,19,21,20,18,19,21,18,15,17,20,18,17,19,20,21,0,20,18,17,19,17,19,18,20,19,17,18,20,0,21,20,19,17,18,20,17,15,18,21,19,18,20,21,19,20,19,17,18,20,3,1,0,20,17,15,18,1,0,18,20,0,21,20,21,19,16,18,20,2,0,1,4,2,1,6,4,2,3,20,19,21,6,4,2,5,2,0,1,21,2,0,1,4,2,0,1,20,19,21,2,0,1,21,4,2,1,2,0,1,21,21,1,0,2,21,1,0,2,1,2,4,21,1,0,2,21,19,20,1,0,2,4,1,0,2,21,1,0,2,5,2,4,6,21,19,20,3,2,4,6,1,2,4,1,0,2,20,6,4,3,5,8,6,3,12,10,8,5,6,4,2,0,10,8,7,8,6,4,3,6,4,3,5,8,6,3,2,0,1,3,6,4,3,5,8,6,3,6,4,3,5,5,3,4,6,5,3,4,6,3,6,8,5,3,4,6,3,1,0,2,3,6,8,5,3,4,6,3,4,6,8,7,8,10,0,2,4,6,5,8,10,12,3,6,8,5,3,4,6,10,8,7,9,10,5,7,16,14,7,9,10,8,1,3,12,9,13,14,12,10,5,10,8,7,9,12,10,5,6,4,5,7,10,8,7,9,12,10,5,10,8,7,9,7,9,8,10,9,7,8,10,5,10,12,9,7,8,10,7,5,4,6,5,10,12,9,7,8,10,5,10,12,14,13,9,12,3,1,8,10,9,7,14,16,7,5,10,9,7,8,10,14,12,13,15,12,9,13,20,18,13,15,14,12,5,7,14,15,17,18,16,7,9,14,12,13,15,14,7,9,10,8,9,13,14,12,13,15,16,14,7,14,12,13,15,13,15,12,14,15,13,12,14,7,14,16,15,13,12,14,13,9,8,10,9,7,14,15,13,12,14,9,7,16,18,17,15,14,7,5,12,14,15,13,18,20,13,9,12,15,13,12,14,18,16,17,19,16,14,15,17,22,17,19,18,16,9,13,18,16,19,21,20,13,15,18,16,17,19,18,16,13,15,14,12,15,17,18,16,17,19,18,9,13,18,16,17,19,17,19,16,18,19,17,16,18,13,9,18,19,17,16,18,17,15,12,14,15,13,16,18,19,17,16,18,15,13,20,21,19,16,18,13,9,16,18,19,17,22,17,15,14,16,19,17,16,18,22,20,21,1,20,18,19,21,2,1,21,22,20,15,17,22,20,1,3,22,17,19,22,20,21,1,22,20,17,19,18,16,19,21,22,20,21,1,20,15,17,22,20,21,1,3,21,20,22,1,21,20,22,17,15,20,1,21,20,22,21,19,16,18,19,17,20,22,1,21,20,22,19,17,22,3,1,20,22,17,15,20,22,21,1,2,21,19,18,20,1,21,20,22,4,2,3,5,22,4,2,1,4,3,5,1,3,19,21,4,2,5,7,3,5,21,4,2,3,5,4,2,1,21,22,20,1,3,4,2,3,5,22,19,21,4,2,3,5,5,1,2,4,5,3,2,4,21,19,22,5,3,2,4,3,1,20,22,21,1,2,4,5,3,2,4,21,5,3,7,5,2,4,21,19,3,1,5,3,4,1,2,4,22,5,3,2,4,8,6,7,9,8,6,3,5,8,6,7,4,2,5,7,8,6,9,11,2,1,7,9,8,6,7,9,8,6,3,5,4,2,5,7,8,6,7,9,4,2,1,8,6,7,9,9,7,6,8,9,7,6,8,1,2,4,9,7,6,8,7,5,2,4,5,3,6,8,9,7,6,8,9,7,1,2,11,9,6,8,7,5,2,4,7,6,8,5,3,6,8,9,7,6,8,12,10,11,13,12,10,7,9,10,9,11,8,6,9,11,12,10,13,15,6,4,11,13,12,10,11,13,12,10,7,9,8,6,9,11,12,10,11,13,6,3,5,12,10,11,13,11,13,10,12,13,11,10,12,5,3,6,13,11,10,12,11,9,6,8,9,7,10,12,13,11,10,12,13,11,4,6,15,13,10,12,11,9,6,8,11,9,10,9,7,10,12,13,11,10,12,16,14,15,17,16,14,11,13,12,13,15,12,10,13,15,16,14,17,19,10,8,15,17,16,14,15,17,16,14,11,13,12,10,13,15,16,14,15,17,8,7,9,16,14,15,17,15,17,14,16,17,15,14,16,9,7,8,17,15,14,16,15,13,10,12,13,11,14,16,17,15,14,16,17,15,8,10,19,17,14,16,15,13,10,12,15,13,12,13,11,14,16,17,15,14,16,20,18,19,21,20,18,15,17,16,14,17,19,16,14,17,19,20,18,21,16,14,12,19,21,20,18,19,20,18,15,17,16,14,17,19,20,18,19,21,12,10,11,13,20,18,19,21,19,21,18,20,21,19,18,20,13,11,10,12,21,19,18,20,19,17,14,16,17,15,18,20,19,18,20,21,19,12,14,16,21,18,20,19,17,14,16,19,17,14,16,17,15,18,20,21,19,18,20,4,2,1,3,1,3,19,21,20,18,21,1,20,18,21,1,2,1,3,20,18,2,1,3,2,1,21,1,3,19,21,20,18,21,1,4,2,1,3,16,14,15,17,4,2,1,3,3,1,2,4,3,1,2,4,17,15,14,16,3,1,2,4,1,21,18,20,21,19,3,1,21,1,2,3,1,2,18,20,3,1,2,1,21,18,20,1,21,18,20,21,19,3,1,3,1,2,4,8,6,5,7,4,2,5,7,4,2,3,5,4,2,3,5,4,5,7,8,6,4,5,7,4,3,5,4,2,5,7,4,2,3,5,8,6,5,7,20,18,19,21,8,6,5,7,7,5,6,8,7,5,6,8,21,19,18,20,7,5,6,8,5,3,2,4,7,5,2,4,5,3,4,7,5,4,6,8,7,5,4,5,3,2,4,5,3,2,4,7,5,2,4,7,5,6,8,12,10,9,11,8,6,9,11,8,6,7,9,8,6,7,9,8,6,9,11,12,10,9,11,8,6,7,9,8,6,9,11,8,6,7,9,12,10,9,11,4,2,1,3,12,10,9,11,9,11,10,12,11,9,10,12,3,1,2,4,11,9,10,12,9,7,6,8,11,9,6,8,9,7,6,8,11,9,10,12,11,9,6,8,9,7,6,8,9,7,6,8,11,9,6,8,11,9,10,12,16,14,13,15,12,10,13,15,12,10,11,13,12,10,11,13,12,10,13,15,16,14,13,15,12,10,11,13,12,10,13,15,12,10,11,13,16,14,13,15,8,6,5,7,16,14,13,15,13,15,14,16,15,13,14,16,7,5,6,8,15,13,14,16,13,11,10,12,15,13,10,12,13,11,10,12,15,13,14,16,15,13,10,12,13,11,10,12,13,11,10,12,15,13,10,12,15,13,14,16,20,18,17,19,16,14,17,19,16,14,15,17,16,14,15,17,16,14,17,19,20,18,17,19,16,14,15,17,16,14,17,19,16,14,15,17,20,18,17,19,12,10,9,11,20,18,17,19,17,19,18,20,19,17,18,20,11,9,10,12,19,17,18,20,17,15,14,16,19,17,14,16,17,15,14,16,19,17,18,20,19,17,14,16,17,15,14,16,17,15,14,16,19,17,14,16,19,17,18,20,4,2,0,21,20,18,21,2,20,18,19,21,20,18,19,21,20,18,21,0,4,2,0,21,20,18,19,21,0,20,18,21,20,18,19,21,1,2,0,1,21,16,14,13,15,2,0,1,21,21,1,0,2,21,1,0,2,15,13,14,16,21,1,0,2,1,21,19,18,20,21,18,20,0,21,19,18,20,21,0,2,4,0,21,18,20,21,19,18,20,21,19,18,20,2,21,18,20,21,0,2,4,8,6,1,3,6,4,0,1,6,4,2,0,2,0,1,3,6,4,2,1,8,6,1,3,6,4,2,0,4,2,1,3,4,2,0,3,5,6,4,3,5,20,18,17,19,6,4,3,5,5,3,4,6,5,3,4,6,19,17,18,20,5,3,4,6,5,3,0,2,4,3,1,2,4,0,2,4,6,3,1,6,8,1,2,4,6,3,1,0,2,0,2,4,6,1,0,4,6,3,1,6,8,12,10,5,7,10,8,3,5,10,8,1,3,6,4,5,7,10,8,3,5,12,10,5,7,10,8,1,3,8,6,5,7,10,8,6,7,9,10,8,7,9,0,1,3,21,10,8,7,9,7,9,8,10,9,7,8,10,21,3,1,0,9,7,8,10,9,7,6,8,10,7,5,6,8,3,1,8,10,7,5,10,12,5,3,8,10,7,5,4,6,3,1,8,10,5,3,8,10,7,5,10,12,16,14,9,13,14,12,7,9,14,12,5,7,12,10,8,9,13,14,12,7,9,16,14,9,13,14,12,5,7,12,10,9,13,14,12,13,15,14,12,13,15,6,4,2,5,7,14,12,13,15,13,15,12,14,15,13,12,14,7,5,2,4,6,15,13,12,14,15,13,12,14,13,9,10,12,7,5,12,14,13,9,14,16,9,7,12,14,13,9,8,10,12,7,5,12,14,9,7,12,14,13,9,14,16,20,18,15,17,18,16,13,15,18,16,9,13,18,16,14,15,17,18,16,13,15,20,18,15,17,18,16,9,13,16,14,15,17,18,16,17,19,18,16,17,19,12,10,8,9,13,18,16,17,19,17,19,16,18,19,17,16,18,13,9,8,10,12,19,17,16,18,19,17,16,18,17,15,14,16,13,9,16,18,17,15,18,20,15,13,16,18,17,15,14,16,18,13,9,16,18,15,13,16,18,17,15,18,20,2,22,19,21,22,20,17,19,22,20,15,17,2,22,20,19,21,22,20,17,19,1,22,19,21,22,20,15,17,20,18,19,21,22,20,21,1,22,20,21,1,18,16,14,15,17,22,20,21,1,3,21,20,22,1,21,20,22,17,15,14,16,18,1,21,20,22,1,21,20,22,21,19,18,20,17,15,20,22,21,19,22,1,19,17,20,22,21,19,20,22,2,17,15,20,22,19,17,20,22,21,19,22,2,4,1,3,5,1,3,5,21,2,1,3,19,21,4,1,3,5,1,3,5,21,4,2,3,5,2,1,3,19,21,22,1,3,5,4,2,3,5,4,2,3,5,22,20,19,21,5,4,2,3,5,5,1,2,4,5,3,2,4,5,21,19,20,22,5,3,2,4,5,3,2,4,5,3,1,22,21,19,3,1,2,5,3,2,4,21,5,3,1,5,3,1,4,21,19,3,1,2,21,5,3,1,5,3,1,4,8,6,7,9,4,2,7,9,6,4,5,7,9,8,6,7,9,4,2,7,9,8,6,7,9,6,4,5,7,9,4,2,7,9,8,6,7,9,8,6,7,9,2,1,3,7,9,8,6,7,9,9,7,6,8,9,7,6,8,9,7,3,1,2,9,7,6,8,9,7,6,8,9,7,2,4,9,7,5,4,6,9,7,6,8,9,7,2,4,9,7,6,8,9,7,5,4,6,9,7,2,4,9,7,6,8,12,10,11,13,8,6,11,13,12,10,8,11,13,12,10,11,13,8,6,11,13,12,10,11,13,12,10,8,11,13,8,6,11,13,12,10,11,13,12,10,11,13,8,6,4,11,13,12,10,11,13,11,13,10,12,13,11,10,12,13,11,4,6,8,13,11,10,12,13,11,10,12,13,11,6,8,13,11,8,10,12,13,11,10,12,13,11,6,8,13,11,10,12,13,11,8,10,12,13,11,6,8,13,11,10,12,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,15,17,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,19,21,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20};
+const Int_t AliHLTTPCMapping::fgkIFec[fgkNIROC] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,18,19,19,19,19,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,8,8,8,8,8,8,9,9,9,9,9,9,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,41,42,42,42,42};
+const Int_t AliHLTTPCMapping::fgkIFecChannel[fgkNIROC] = {1,0,2,4,1,0,2,4,1,0,2,4,1,3,0,1,0,2,4,1,0,2,4,1,0,2,4,1,3,0,1,0,2,4,4,2,0,1,0,3,1,4,2,0,1,4,2,0,1,4,2,0,1,0,3,1,4,2,0,1,4,2,0,1,4,2,0,1,3,5,6,8,3,5,6,8,3,5,6,8,5,2,4,3,5,6,8,3,5,6,8,3,5,6,8,5,2,4,3,5,6,8,8,6,5,3,4,2,5,8,6,5,3,8,6,5,3,8,6,5,3,4,2,5,8,6,5,3,8,6,5,3,8,6,5,3,7,9,10,12,7,9,10,12,7,9,10,12,7,6,8,7,9,10,12,7,9,10,12,7,9,10,12,7,6,8,7,9,10,12,12,10,9,7,8,6,7,12,10,9,7,12,10,9,7,12,10,9,7,8,6,7,12,10,9,7,12,10,9,7,12,10,9,7,11,13,14,16,11,13,14,16,11,13,14,16,9,10,12,11,13,14,16,11,13,14,16,11,13,14,16,9,10,12,11,13,14,16,16,14,13,11,12,10,9,16,14,13,11,16,14,13,11,16,14,13,11,12,10,9,16,14,13,11,16,14,13,11,16,14,13,11,15,17,18,20,15,17,20,18,15,17,20,18,11,13,14,16,15,17,20,18,15,17,18,15,17,20,18,11,13,14,16,15,17,20,18,18,20,17,15,16,14,13,11,18,20,17,15,18,17,15,18,20,17,15,16,14,13,11,18,20,17,15,18,20,17,15,20,18,17,15,19,21,23,22,19,23,21,22,19,23,21,22,15,17,20,18,19,25,23,21,21,19,20,19,25,23,21,15,17,20,18,19,25,23,21,21,23,25,19,18,20,17,15,21,23,25,19,20,19,21,21,23,25,19,18,20,17,15,22,21,23,19,22,21,23,19,22,23,21,19,25,27,24,26,27,25,24,26,27,25,24,26,19,21,22,24,29,27,22,24,23,22,24,29,27,22,24,19,25,23,21,29,27,22,24,24,22,27,29,21,23,25,19,24,22,27,29,24,22,23,24,22,27,29,24,22,21,19,26,24,25,27,26,24,25,27,26,24,27,25,29,31,28,30,31,29,28,30,31,29,28,30,25,23,26,28,32,31,26,28,27,25,26,28,32,31,26,28,29,27,22,24,32,31,26,28,28,26,31,32,24,22,27,29,28,26,31,32,28,26,25,27,28,26,31,32,28,26,23,25,30,28,29,31,30,28,29,31,30,28,31,29,32,34,33,35,34,32,33,35,34,32,33,35,29,27,30,33,36,34,30,33,31,29,30,33,36,34,30,33,32,31,26,28,36,34,30,33,33,30,34,36,28,26,31,32,33,30,34,36,33,30,29,31,33,30,34,36,33,30,27,29,35,33,32,34,35,33,32,34,35,33,34,32,36,38,37,39,38,36,37,39,38,36,37,39,32,31,35,37,40,38,35,37,34,32,35,37,40,38,35,37,36,34,30,33,40,38,35,37,37,35,38,40,33,30,34,36,37,35,38,40,37,35,32,34,37,35,38,40,37,35,31,32,39,37,36,38,39,37,36,38,39,37,38,36,40,42,41,43,44,42,40,41,44,42,40,41,38,36,34,39,41,43,42,39,41,38,36,39,41,47,42,39,41,40,38,35,37,43,42,39,41,41,39,42,43,37,35,38,40,41,39,42,47,41,39,36,38,41,39,42,43,41,39,34,36,38,41,40,42,44,41,40,42,44,43,41,42,40,46,44,45,47,46,43,45,47,46,43,45,47,42,40,43,45,47,46,44,45,47,42,40,43,45,43,45,49,51,43,42,39,41,46,44,45,47,47,45,44,46,41,39,42,43,51,49,45,43,45,43,40,42,47,45,44,46,47,45,43,40,42,47,45,43,46,47,45,43,46,47,45,44,46,50,48,49,51,50,48,49,51,50,48,49,51,48,46,44,49,51,50,48,49,51,46,44,47,49,46,44,53,55,46,44,45,47,50,48,49,51,51,49,48,50,47,45,44,46,55,53,44,46,49,47,44,46,51,49,48,50,51,49,44,46,48,51,49,48,50,51,49,48,50,51,49,48,50,54,52,53,55,54,52,53,55,54,52,53,55,54,52,50,53,55,54,52,53,55,50,48,51,53,52,50,48,57,59,50,48,49,51,54,52,53,55,55,53,52,54,51,49,48,50,59,57,48,50,52,53,51,48,50,55,53,52,54,55,53,50,52,54,55,53,52,54,55,53,52,54,55,53,52,54,60,58,57,59,58,56,57,59,58,56,57,59,60,58,56,57,59,58,56,57,59,54,52,55,57,58,56,54,61,63,54,52,53,55,58,56,57,59,59,57,56,58,55,53,52,54,63,61,54,56,58,57,55,52,54,59,57,56,58,59,57,56,58,60,59,57,56,58,59,57,56,58,59,57,58,60,56,62,61,63,62,60,61,63,62,60,61,63,64,66,62,61,63,62,60,61,63,58,56,59,61,62,60,66,68,70,58,56,57,59,62,60,61,63,63,61,60,62,59,57,56,58,70,68,66,60,62,61,59,56,58,63,61,60,62,63,61,62,66,64,63,61,60,62,63,61,60,62,63,61,62,56,65,64,66,68,64,66,68,70,72,65,64,66,68,67,65,68,70,64,66,68,70,72,62,60,63,68,67,65,64,72,64,62,60,61,63,65,64,66,68,68,66,64,65,63,61,60,62,64,72,64,65,67,68,63,60,62,72,70,68,66,64,70,68,65,67,68,66,64,65,72,70,68,66,64,68,66,64,65,69,67,70,72,69,67,65,74,76,69,67,70,72,71,69,72,74,69,67,65,74,76,64,66,70,72,71,69,74,76,65,66,68,70,72,69,67,70,72,72,70,67,69,72,70,68,66,65,76,74,69,71,72,70,66,64,76,74,65,67,69,74,72,69,71,72,70,67,69,76,74,65,67,69,72,70,67,69,73,71,74,76,75,73,71,78,80,73,71,74,76,75,73,76,78,75,73,71,78,80,67,65,74,76,75,73,78,80,71,69,67,74,76,73,71,74,76,76,74,71,73,76,74,67,69,71,80,78,73,75,76,74,65,67,80,78,71,73,75,78,76,73,75,76,74,71,73,80,78,71,73,75,76,74,71,73,77,75,78,80,81,79,77,82,84,79,77,75,78,80,79,77,80,82,79,77,82,84,73,71,69,78,80,79,77,82,84,77,75,73,78,80,77,75,78,80,80,78,75,77,80,78,73,75,77,84,82,77,79,80,78,69,71,73,84,82,77,79,82,80,77,79,80,78,75,77,79,84,82,77,79,81,80,78,75,77,81,79,82,84,83,89,87,85,86,85,83,81,82,84,83,81,84,88,83,81,86,88,79,77,75,82,84,83,81,87,85,83,81,79,82,84,81,79,82,84,84,82,79,81,84,82,79,81,83,85,87,81,83,84,82,75,77,79,88,86,81,83,88,84,81,83,84,82,81,83,85,86,85,87,89,83,84,82,79,81,83,85,86,88,95,93,91,88,90,91,89,87,86,88,85,86,90,92,87,85,90,92,83,81,85,86,88,91,89,86,88,85,86,88,90,92,83,87,85,86,86,85,87,83,92,90,88,86,85,88,86,89,91,88,86,85,81,83,92,90,85,87,92,90,86,85,88,86,87,89,91,90,88,91,93,95,88,86,85,83,91,89,87,90,92,98,96,92,94,95,93,90,92,91,89,87,94,97,93,91,89,94,97,91,89,87,90,92,95,93,90,92,91,89,87,94,97,91,89,88,90,90,88,89,91,97,94,87,89,91,92,90,93,95,92,90,87,89,91,97,94,89,91,93,97,94,87,89,91,92,90,93,95,94,92,96,98,92,90,87,89,91,96,95,93,94,97,102,100,97,99,98,96,94,97,96,95,93,99,101,98,96,95,99,101,96,95,93,94,97,98,96,94,97,96,95,93,99,101,95,93,92,94,94,92,93,95,101,99,93,95,96,97,94,96,98,97,94,93,95,96,101,99,95,96,98,101,99,93,95,96,97,94,96,98,99,97,100,102,97,94,93,95,96,102,100,98,99,101,106,104,101,103,102,100,99,101,102,100,98,103,105,104,102,100,103,105,102,100,98,99,101,102,100,99,101,102,100,98,103,105,98,96,97,99,99,97,96,98,105,103,98,100,102,101,99,100,102,101,99,98,100,102,105,103,100,102,104,105,103,98,100,102,101,99,100,102,103,101,104,106,101,99,98,100,102,106,104,103,105,111,107,109,111,105,106,104,103,105,111,106,104,107,109,111,106,107,109,111,106,104,103,105,111,107,106,104,103,105,106,104,107,109,111,102,100,101,103,103,101,100,102,111,109,107,104,106,105,103,104,106,107,111,105,103,104,106,111,109,107,106,111,109,107,104,106,111,105,103,104,106,105,111,109,107,111,105,103,104,106,108,107,109,113,115,110,108,113,115,108,107,109,113,115,112,110,108,113,115,110,108,113,115,108,107,109,113,115,108,109,111,113,115,112,110,108,113,115,106,104,105,111,111,105,104,106,115,113,108,110,112,115,113,111,109,108,115,113,109,107,108,115,113,108,110,115,113,108,110,112,115,113,109,107,108,115,113,108,110,115,113,109,107,108,114,112,110,117,119,114,112,117,119,114,112,110,117,119,118,116,114,117,119,114,112,117,119,114,112,110,117,119,114,112,110,117,119,118,116,114,117,119,107,109,113,115,115,113,109,107,119,117,114,116,118,119,117,110,112,114,119,117,110,112,114,119,117,112,114,119,117,114,116,118,119,117,110,112,114,119,117,112,114,119,117,110,112,114,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,122,120,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,122,120,121,123,112,110,108,117,119,119,117,108,110,112,123,121,120,122,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,120,122,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,125,127,118,116,114,121,123,123,121,114,116,118,127,125,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,3,1,0,3,1,0,2,0,2,4,7,5,3,1,0,2,4,5,3,1,5,3,1,0,3,1,0,5,3,1,5,3,1,3,1,0,2,126,124,122,120,125,127,127,125,120,122,124,126,2,0,1,3,1,3,5,1,3,5,0,1,3,0,1,3,5,1,3,5,4,2,0,1,3,5,7,4,2,0,2,0,1,3,0,1,3,5,2,4,7,5,4,6,3,1,6,8,9,1,0,5,3,6,8,7,0,2,9,7,2,4,5,2,4,9,7,0,7,0,2,7,5,4,6,3,1,0,2,2,0,1,3,2,0,1,3,6,4,5,7,2,0,7,0,7,9,4,2,5,4,2,7,9,2,0,7,8,6,3,5,0,1,9,8,6,1,3,6,4,5,7,4,2,5,7,6,8,11,9,8,10,7,5,10,12,11,2,4,9,7,10,12,9,4,6,13,11,6,8,7,6,8,11,2,4,9,4,6,11,9,8,10,7,5,4,6,6,4,5,7,6,4,5,7,10,8,9,11,6,4,9,4,2,11,8,6,7,8,6,11,13,6,4,9,12,10,7,9,4,2,11,12,10,5,7,10,8,9,11,8,6,7,9,10,12,15,13,12,14,11,9,14,16,13,6,8,13,11,14,16,11,8,10,15,10,12,11,9,10,12,13,6,8,11,8,10,15,13,12,14,11,9,8,10,8,10,9,11,10,8,9,11,14,12,13,15,10,8,11,8,6,13,12,10,9,11,12,10,15,10,8,11,16,14,11,13,8,6,13,16,14,9,11,14,12,13,15,12,10,9,13,11,14,16,17,16,18,15,13,18,20,15,10,12,17,15,18,20,15,13,12,14,17,14,16,15,13,14,16,15,10,12,15,13,12,14,17,16,18,15,13,12,14,12,14,13,15,14,12,13,15,18,16,17,14,12,13,15,12,10,15,16,14,13,15,16,14,17,14,12,13,15,20,18,15,17,12,10,15,20,18,13,15,18,16,17,16,14,11,13,17,15,18,20,19,20,21,19,17,21,22,17,14,16,19,21,22,24,19,17,16,18,19,18,20,19,17,18,20,17,14,16,19,17,16,18,19,20,21,19,17,16,18,16,18,17,19,18,16,17,19,21,20,19,18,16,17,19,16,14,17,20,18,17,19,20,18,19,18,16,17,19,24,22,21,19,16,14,17,22,21,17,19,21,20,19,20,18,15,17,19,23,21,22,25,23,22,27,25,23,24,19,18,20,27,25,23,26,23,21,22,20,23,21,22,25,23,21,22,19,18,20,23,21,22,20,25,23,22,23,21,22,20,20,22,21,23,20,22,21,23,22,23,25,20,22,21,23,20,18,19,22,21,23,25,22,21,23,20,22,21,23,26,23,25,27,20,18,19,24,23,25,27,22,23,25,22,21,23,19,27,25,24,26,29,27,24,32,31,29,26,27,25,23,21,31,29,28,29,27,25,24,27,25,24,26,29,27,24,23,21,22,24,27,25,24,26,29,27,24,27,25,24,26,26,24,25,27,26,24,25,27,24,27,29,26,24,25,27,24,22,21,23,24,27,29,26,24,25,27,24,25,27,29,28,29,31,21,23,25,27,26,29,31,32,24,27,29,26,24,25,27,31,29,28,30,31,26,28,36,34,28,30,31,29,22,24,32,30,33,34,32,31,26,31,29,28,30,32,31,26,27,25,26,28,31,29,28,30,32,31,26,31,29,28,30,28,30,29,31,30,28,29,31,26,31,32,30,28,29,31,28,26,25,27,26,31,32,30,28,29,31,26,31,32,34,33,30,32,24,22,29,31,30,28,34,36,28,26,31,30,28,29,31,34,32,33,35,32,30,33,40,38,33,35,34,32,26,28,34,35,37,38,36,28,30,34,32,33,35,34,28,30,31,29,30,33,34,32,33,35,36,34,28,34,32,33,35,33,35,32,34,35,33,32,34,28,34,36,35,33,32,34,33,30,29,31,30,28,34,35,33,32,34,30,28,36,38,37,35,34,28,26,32,34,35,33,38,40,33,30,32,35,33,32,34,38,36,37,39,36,34,35,37,42,37,39,38,36,30,33,38,36,39,41,40,33,35,38,36,37,39,38,36,33,35,34,32,35,37,38,36,37,39,38,30,33,38,36,37,39,37,39,36,38,39,37,36,38,33,30,38,39,37,36,38,37,35,32,34,35,33,36,38,39,37,36,38,35,33,40,41,39,36,38,33,30,36,38,39,37,42,37,35,34,36,39,37,36,38,42,40,41,43,40,38,39,41,44,43,41,42,40,35,37,42,40,43,45,42,37,39,42,40,41,43,42,40,37,39,38,36,39,41,42,40,41,43,40,35,37,42,40,41,43,45,41,40,42,43,41,40,42,37,35,40,43,41,40,42,41,39,36,38,39,37,40,42,43,41,40,42,39,37,42,45,43,40,42,37,35,40,42,41,43,44,41,39,38,40,43,41,40,42,46,44,45,47,42,46,44,43,46,45,47,43,45,39,41,46,44,47,49,45,47,41,46,44,45,47,46,44,43,41,42,40,43,45,46,44,45,47,42,39,41,46,44,45,47,47,43,44,46,47,45,44,46,41,39,42,47,45,44,46,45,43,40,42,41,43,44,46,47,45,44,46,41,47,45,49,47,44,46,41,39,45,43,47,45,46,43,44,46,42,47,45,44,46,50,48,49,51,50,48,45,47,50,48,49,46,44,47,49,50,48,51,53,44,43,49,51,50,48,49,51,50,48,45,47,46,44,47,49,50,48,49,51,46,44,43,50,48,49,51,51,49,48,50,51,49,48,50,43,44,46,51,49,48,50,49,47,44,46,47,45,48,50,51,49,48,50,51,49,43,44,53,51,48,50,49,47,44,46,49,48,50,47,45,48,50,51,49,48,50,54,52,53,55,54,52,49,51,52,51,53,50,48,51,53,54,52,55,57,48,46,53,55,54,52,53,55,54,52,49,51,50,48,51,53,54,52,53,55,48,45,47,54,52,53,55,53,55,52,54,55,53,52,54,47,45,48,55,53,52,54,53,51,48,50,51,49,52,54,55,53,52,54,55,53,46,48,57,55,52,54,53,51,48,50,53,51,52,51,49,52,54,55,53,52,54,58,56,57,59,58,56,53,55,54,55,57,54,52,55,57,58,56,59,61,52,50,57,59,58,56,57,59,58,56,53,55,54,52,55,57,58,56,57,59,50,49,51,58,56,57,59,57,59,56,58,59,57,56,58,51,49,50,59,57,56,58,57,55,52,54,55,53,56,58,59,57,56,58,59,57,50,52,61,59,56,58,57,55,52,54,57,55,54,55,53,56,58,59,57,56,58,62,60,61,63,62,60,57,59,58,56,59,61,58,56,59,61,62,60,63,58,56,54,61,63,62,60,61,62,60,57,59,58,56,59,61,62,60,61,63,54,52,53,55,62,60,61,63,61,63,60,62,63,61,60,62,55,53,52,54,63,61,60,62,61,59,56,58,59,57,60,62,61,60,62,63,61,54,56,58,63,60,62,61,59,56,58,61,59,56,58,59,57,60,62,63,61,60,62,67,65,64,66,64,66,61,63,62,60,63,64,62,60,63,64,65,64,66,62,60,65,64,66,65,64,63,64,66,61,63,62,60,63,64,67,65,64,66,58,56,57,59,67,65,64,66,66,64,65,67,66,64,65,67,59,57,56,58,66,64,65,67,64,63,60,62,63,61,66,64,63,64,65,66,64,65,60,62,66,64,65,64,63,60,62,64,63,60,62,63,61,66,64,66,64,65,67,71,69,68,70,67,65,68,70,67,65,66,68,67,65,66,68,67,68,70,71,69,67,68,70,67,66,68,67,65,68,70,67,65,66,68,71,69,68,70,62,60,61,63,71,69,68,70,70,68,69,71,70,68,69,71,63,61,60,62,70,68,69,71,68,66,65,67,70,68,65,67,68,66,67,70,68,67,69,71,70,68,67,68,66,65,67,68,66,65,67,70,68,65,67,70,68,69,71,75,73,72,74,71,69,72,74,71,69,70,72,71,69,70,72,71,69,72,74,75,73,72,74,71,69,70,72,71,69,72,74,71,69,70,72,75,73,72,74,67,65,64,66,75,73,72,74,72,74,73,75,74,72,73,75,66,64,65,67,74,72,73,75,72,70,69,71,74,72,69,71,72,70,69,71,74,72,73,75,74,72,69,71,72,70,69,71,72,70,69,71,74,72,69,71,74,72,73,75,79,77,76,78,75,73,76,78,75,73,74,76,75,73,74,76,75,73,76,78,79,77,76,78,75,73,74,76,75,73,76,78,75,73,74,76,79,77,76,78,71,69,68,70,79,77,76,78,76,78,77,79,78,76,77,79,70,68,69,71,78,76,77,79,76,74,73,75,78,76,73,75,76,74,73,75,78,76,77,79,78,76,73,75,76,74,73,75,76,74,73,75,78,76,73,75,78,76,77,79,83,81,80,82,79,77,80,82,79,77,78,80,79,77,78,80,79,77,80,82,83,81,80,82,79,77,78,80,79,77,80,82,79,77,78,80,83,81,80,82,75,73,72,74,83,81,80,82,80,82,81,83,82,80,81,83,74,72,73,75,82,80,81,83,80,78,77,79,82,80,77,79,80,78,77,79,82,80,81,83,82,80,77,79,80,78,77,79,80,78,77,79,82,80,77,79,82,80,81,83,89,87,85,84,83,81,84,87,83,81,82,84,83,81,82,84,83,81,84,85,89,87,85,84,83,81,82,84,85,83,81,84,83,81,82,84,86,87,85,86,84,79,77,76,78,87,85,86,84,84,86,85,87,84,86,85,87,78,76,77,79,84,86,85,87,86,84,82,81,83,84,81,83,85,84,82,81,83,84,85,87,89,85,84,81,83,84,82,81,83,84,82,81,83,87,84,81,83,84,85,87,89,93,91,86,88,91,89,85,86,91,89,87,85,87,85,86,88,91,89,87,86,93,91,86,88,91,89,87,85,89,87,86,88,89,87,85,88,90,91,89,88,90,83,81,80,82,91,89,88,90,90,88,89,91,90,88,89,91,82,80,81,83,90,88,89,91,90,88,85,87,89,88,86,87,89,85,87,89,91,88,86,91,93,86,87,89,91,88,86,85,87,85,87,89,91,86,85,89,91,88,86,91,93,96,95,90,92,95,93,88,90,95,93,86,88,91,89,90,92,95,93,88,90,96,95,90,92,95,93,86,88,93,91,90,92,95,93,91,92,94,95,93,92,94,85,86,88,84,95,93,92,94,92,94,93,95,94,92,93,95,84,88,86,85,94,92,93,95,94,92,91,93,95,92,90,91,93,88,86,93,95,92,90,95,96,90,88,93,95,92,90,89,91,88,86,93,95,90,88,93,95,92,90,95,96,100,98,94,97,98,96,92,94,98,96,90,92,96,95,93,94,97,98,96,92,94,100,98,94,97,98,96,90,92,96,95,94,97,98,96,97,99,98,96,97,99,91,89,87,90,92,98,96,97,99,97,99,96,98,99,97,96,98,92,90,87,89,91,99,97,96,98,99,97,96,98,97,94,95,96,92,90,96,98,97,94,98,100,94,92,96,98,97,94,93,95,96,92,90,96,98,94,92,96,98,97,94,98,100,104,102,99,101,102,100,97,99,102,100,94,97,102,100,98,99,101,102,100,97,99,104,102,99,101,102,100,94,97,100,98,99,101,102,100,101,103,102,100,101,103,96,95,93,94,97,102,100,101,103,101,103,100,102,103,101,100,102,97,94,93,95,96,103,101,100,102,103,101,100,102,101,99,98,100,97,94,100,102,101,99,102,104,99,97,100,102,101,99,98,100,102,97,94,100,102,99,97,100,102,101,99,102,104,108,106,103,105,106,104,101,103,106,104,99,101,108,106,104,103,105,106,104,101,103,107,106,103,105,106,104,99,101,104,102,103,105,106,104,105,107,106,104,105,107,102,100,98,99,101,106,104,105,107,109,105,104,106,107,105,104,106,101,99,98,100,102,107,105,104,106,107,105,104,106,105,103,102,104,101,99,104,106,105,103,106,107,103,101,104,106,105,103,104,106,108,101,99,104,106,103,101,104,106,105,103,106,108,110,107,109,111,107,109,111,105,108,107,109,103,105,110,107,109,111,107,109,111,105,110,108,109,111,108,107,109,103,105,106,107,109,111,110,108,109,111,110,108,109,111,106,104,103,105,111,110,108,109,111,111,107,108,110,111,109,108,110,111,105,103,104,106,111,109,108,110,111,109,108,110,111,109,107,106,105,103,109,107,108,111,109,108,110,105,111,109,107,111,109,107,110,105,103,109,107,108,105,111,109,107,111,109,107,110,114,112,113,115,110,108,113,115,112,110,111,113,115,114,112,113,115,110,108,113,115,114,112,113,115,112,110,111,113,115,110,108,113,115,114,112,113,115,114,112,113,115,108,107,109,113,115,114,112,113,115,115,113,112,114,115,113,112,114,115,113,109,107,108,115,113,112,114,115,113,112,114,115,113,108,110,115,113,111,110,112,115,113,112,114,115,113,108,110,115,113,112,114,115,113,111,110,112,115,113,108,110,115,113,112,114,118,116,117,119,114,112,117,119,118,116,114,117,119,118,116,117,119,114,112,117,119,118,116,117,119,118,116,114,117,119,114,112,117,119,118,116,117,119,118,116,117,119,114,112,110,117,119,118,116,117,119,117,119,116,118,119,117,116,118,119,117,110,112,114,119,117,116,118,119,117,116,118,119,117,112,114,119,117,114,116,118,119,117,116,118,119,117,112,114,119,117,116,118,119,117,114,116,118,119,117,112,114,119,117,116,118,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,121,123,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,125,127,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126};
+const Int_t AliHLTTPCMapping::fgkIFecCon[fgkNIROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,4,3,3,4,4,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,4,4,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,5,4,4,5,5,5,4,5,5,5,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,5,5,5,4,5,5,5,4,4,5,4,4,4,4,4,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,2,2,2,3,2,2,2,3,3,3,3,2,2,3,3,3,3,3,2,3,3,2,2,2,2,2,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,2,2,2,2,2,3,3,2,3,3,3,3,3,2,2,3,3,3,3,2,2,2,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,4,4,4,3,3,4,4,4,3,4,4,4,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,5,4,4,4,4,4,4,4,4,5,5,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,4,5,5,5,4,4,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,4,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5};
diff --git a/HLT/misc/AliHLTTPCMapping-oroc.generated b/HLT/misc/AliHLTTPCMapping-oroc.generated
new file mode 100644 (file)
index 0000000..95a4c2c
--- /dev/null
@@ -0,0 +1,8 @@
+const Int_t AliHLTTPCMapping::fgkNOROC = 9984;
+const Int_t AliHLTTPCMapping::fgkORows[fgkNOROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95};
+const Int_t AliHLTTPCMapping::fgkOPad[fgkNOROC] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139};
+const Int_t AliHLTTPCMapping::fgkOCon[fgkNOROC] = {235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,246,246,246,237,237,238,238,238,238,239,239,239,239,249,249,249,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,15,15,15,5,5,5,5,4,4,4,4,3,3,12,12,12,2,2,2,2,1,1,1,1,244,244,244,235,245,245,245,245,236,246,246,246,246,247,247,247,238,248,248,248,248,248,249,249,249,249,250,250,250,250,241,251,251,251,242,243,252,252,252,18,18,18,9,8,17,17,17,7,16,16,16,16,15,15,15,15,14,14,14,14,14,4,13,13,13,12,12,12,12,2,11,11,11,11,1,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,16,16,16,16,16,15,15,15,15,14,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,16,16,16,16,16,15,15,15,15,14,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,246,247,247,247,247,248,248,248,248,249,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,17,16,16,16,16,15,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,254,254,255,255,255,246,246,247,247,247,247,248,248,248,257,258,258,258,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,17,16,16,16,16,15,15,24,24,24,23,14,14,14,13,13,13,13,12,12,21,21,21,20,20,11,11,11,10,10,10,10,253,244,244,244,254,254,254,254,254,255,255,255,255,256,247,247,247,257,257,257,257,257,258,258,258,258,258,259,259,259,259,260,260,260,251,261,261,252,252,252,18,18,18,27,27,17,26,26,26,25,25,25,25,24,24,24,24,24,23,23,23,23,23,13,13,13,22,21,21,21,21,20,20,20,20,20,10,10,10,19,253,253,253,253,254,254,254,254,255,255,255,255,255,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,21,21,21,21,21,20,20,20,20,19,19,19,19,253,253,253,253,253,254,254,254,254,255,255,255,255,256,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,19,253,253,253,253,253,254,254,254,254,255,255,255,255,256,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,19,253,253,253,253,253,254,254,263,263,264,264,264,255,256,256,256,256,256,266,266,266,266,266,258,267,267,267,259,259,268,268,260,260,260,260,260,261,261,261,261,270,36,27,27,27,27,26,26,26,26,26,34,34,25,25,33,33,33,24,32,32,32,32,32,22,22,22,22,22,21,30,30,30,29,29,20,20,19,19,19,19,19,262,262,262,262,253,263,263,263,263,264,264,264,264,264,256,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,260,270,270,270,270,270,36,36,36,36,36,26,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,22,30,30,30,30,30,29,29,29,29,19,28,28,28,28,262,262,262,262,262,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,31,30,30,30,30,30,29,29,29,29,28,28,28,28,28,262,262,262,262,262,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,31,30,30,30,30,30,29,29,29,29,28,28,28,28,28,262,262,262,262,262,263,263,263,263,263,264,264,264,273,265,265,265,265,265,275,266,266,266,266,267,267,267,276,268,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,34,42,33,33,33,32,32,32,32,41,31,31,31,31,31,39,30,30,30,29,29,29,29,29,28,28,28,28,28,271,271,271,262,262,263,263,272,272,272,273,273,273,273,265,265,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,268,268,269,269,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,35,35,34,34,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,31,31,39,39,39,39,38,38,38,29,29,28,28,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,274,274,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,274,274,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,273,274,274,274,274,274,275,275,275,275,276,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,42,41,41,41,41,40,40,40,40,40,39,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,280,281,272,272,272,272,273,273,273,273,282,283,274,274,274,274,275,275,284,284,285,276,276,276,276,277,277,277,277,286,287,278,278,278,278,279,279,288,288,288,54,54,54,45,45,44,44,44,44,53,52,43,43,43,43,42,42,42,42,51,50,50,41,41,40,40,40,40,49,48,39,39,39,39,38,38,38,38,47,46,37,37,37,37,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,298,298,64,64,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,289,289,289,289,290,290,290,290,290,291,291,291,291,291,292,292,292,292,293,293,293,293,293,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,59,59,59,59,59,58,58,58,58,57,57,57,57,57,56,56,56,56,56,55,55,55,55,289,289,289,289,289,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,58,58,58,58,58,57,57,57,57,57,56,56,56,56,55,55,55,55,55,289,289,289,289,289,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,58,58,58,58,58,57,57,57,57,57,56,56,56,56,55,55,55,55,55,289,289,289,289,290,290,290,290,290,291,291,291,291,291,292,292,292,292,293,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,59,58,58,58,58,57,57,57,57,57,56,56,56,56,56,55,55,55,55,289,289,289,299,299,300,300,290,290,290,301,301,301,291,292,292,292,302,302,303,303,293,293,293,294,294,304,304,305,305,305,305,295,296,296,296,296,296,297,307,307,307,308,308,298,298,298,64,64,64,74,74,73,73,73,63,62,62,62,62,62,61,71,71,71,71,70,70,60,60,59,59,59,69,69,68,68,58,58,58,57,67,67,67,56,56,56,66,66,65,65,55,55,55,299,299,299,299,299,300,300,300,300,301,301,301,301,301,302,302,302,302,302,303,303,303,303,304,304,304,304,304,305,305,305,305,305,306,306,306,306,306,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,72,72,72,72,72,71,71,71,71,71,70,70,70,70,70,69,69,69,69,68,68,68,68,68,67,67,67,67,67,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,301,301,301,301,301,302,302,302,302,302,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,68,68,68,68,68,67,67,67,67,67,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,300,301,301,301,301,302,302,302,302,302,303,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,69,68,68,68,68,68,67,67,67,67,66,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,300,301,301,301,301,302,302,302,302,302,303,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,69,68,68,68,68,68,67,67,67,67,66,66,66,66,66,65,65,65,65,65,309,309,309,309,309,310,310,310,300,300,301,311,311,311,312,312,312,312,312,303,303,313,313,313,314,314,314,314,314,315,315,315,305,306,306,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,72,72,71,81,81,81,80,80,80,80,80,79,79,79,69,69,78,78,78,78,78,77,77,77,67,66,66,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,312,312,312,312,312,313,313,313,313,313,314,314,314,314,314,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,80,80,80,80,80,79,79,79,79,79,78,78,78,78,78,77,77,77,77,76,76,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,311,312,312,312,312,312,313,313,313,313,314,314,314,314,314,315,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,81,80,80,80,80,80,79,79,79,79,78,78,78,78,78,77,77,77,77,77,76,76,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,311,312,312,312,312,312,313,313,313,313,314,314,314,314,314,315,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,81,80,80,80,80,80,79,79,79,79,78,78,78,78,78,77,77,77,77,77,76,76,76,76,76,75,75,75,75,75,319,319,319,319,309,320,320,310,310,310,321,311,311,311,311,322,322,322,322,312,313,313,313,313,314,324,324,324,324,325,315,315,315,315,316,316,316,326,326,327,327,327,327,317,318,328,328,328,328,94,94,94,94,84,83,93,93,93,93,92,92,82,82,82,81,81,81,81,91,90,90,90,90,80,79,79,79,79,78,88,88,88,88,77,77,77,77,87,76,76,76,86,86,75,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,313,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,79,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,323,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,89,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,323,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,89,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,329,329,329,319,319,330,320,320,320,320,321,321,321,321,321,332,332,332,322,322,323,323,323,323,323,334,334,334,324,324,325,325,325,325,325,336,326,326,326,326,327,327,337,337,337,338,338,338,328,328,94,94,104,104,104,103,103,103,93,93,92,92,92,92,102,91,91,91,91,91,90,90,100,100,100,89,89,89,89,89,88,88,98,98,98,87,87,87,87,87,86,86,86,86,96,85,85,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,323,323,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,89,89,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,333,333,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,99,99,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,333,333,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,99,99,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,339,330,330,330,330,330,331,331,331,331,331,331,332,332,332,332,342,333,333,333,333,333,344,334,334,334,334,335,335,335,335,335,335,336,336,336,336,336,337,337,337,337,347,348,338,338,338,338,104,104,104,104,114,113,103,103,103,103,102,102,102,102,102,101,101,101,101,101,101,100,100,100,100,110,99,99,99,99,99,108,98,98,98,98,97,97,97,97,97,97,96,96,96,96,96,105,95,95,95,95,339,339,339,339,339,340,340,340,340,330,331,341,341,341,341,341,342,342,342,342,342,333,343,343,343,343,344,344,344,344,344,345,345,345,345,345,335,336,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,102,101,111,111,111,111,111,110,110,110,110,110,109,109,109,109,99,108,108,108,108,108,107,107,107,107,107,97,96,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,341,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,345,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,111,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,107,106,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,340,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,346,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,340,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,346,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,364,364,364,354,354,354,355,355,355,355,355,356,356,356,366,366,366,367,367,367,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,133,133,133,132,132,132,122,122,122,121,121,121,121,121,120,120,120,130,130,130,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,359,359,359,359,360,360,360,360,360,361,361,361,361,361,361,362,362,362,362,352,353,363,363,363,363,364,364,364,364,364,365,365,365,365,365,355,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,358,124,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,121,131,131,131,131,131,130,130,130,130,130,129,129,129,129,119,118,128,128,128,128,127,127,127,127,127,127,126,126,126,126,126,125,125,125,125,115,359,359,359,359,359,359,360,360,360,360,360,361,361,361,361,361,361,362,362,362,362,362,363,363,363,363,363,364,364,364,364,364,365,365,365,365,365,365,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,368,134,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,131,131,131,131,131,131,130,130,130,130,130,129,129,129,129,129,128,128,128,128,128,127,127,127,127,127,127,126,126,126,126,126,125,125,125,125,125,125,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,361,362,362,362,362,362,362,363,363,363,363,363,364,364,364,364,364,365,365,365,365,365,365,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,368,134,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,131,131,131,131,131,131,130,130,130,130,130,129,129,129,129,129,128,128,128,128,128,128,127,127,127,127,127,126,126,126,126,126,126,125,125,125,125,125,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,361,362,362,362,362,362,362,363,363,363,363,363,374,364,364,364,364,365,365,365,365,365,375,376,376,376,376,376,366,367,367,367,367,377,378,368,368,368,368,368,134,134,134,134,134,144,143,133,133,133,133,132,142,142,142,142,142,141,131,131,131,131,131,130,130,130,130,140,129,129,129,129,129,128,128,128,128,128,128,127,127,127,127,127,126,126,126,126,126,126,125,125,125,125,125,359,359,369,369,369,370,370,370,370,370,371,371,371,371,371,371,362,372,372,372,372,373,373,373,363,363,363,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,129,129,129,139,139,139,138,138,138,138,128,137,137,137,137,137,137,136,136,136,136,136,135,135,135,125,125,369,369,369,369,369,369,370,370,370,370,370,371,371,371,371,371,371,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,140,139,139,139,139,139,138,138,138,138,138,137,137,137,137,137,137,136,136,136,136,136,135,135,135,135,135,135,369,369,369,369,369,370,370,370,370,370,370,371,371,371,371,371,372,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,140,139,139,139,139,139,138,138,138,138,138,138,137,137,137,137,137,136,136,136,136,136,136,135,135,135,135,135,369,369,369,369,369,369,369,370,370,370,370,370,381,371,371,371,371,372,372,372,372,372,372,373,373,373,373,373,384,384,384,374,374,374,375,375,385,385,385,385,386,386,386,386,376,377,377,387,387,387,387,388,388,388,388,378,378,144,144,154,154,154,154,153,153,153,153,143,143,142,152,152,152,152,151,151,151,151,141,141,140,140,140,150,150,150,139,139,139,139,139,138,138,138,138,138,138,137,137,137,137,147,136,136,136,136,136,135,135,135,135,135,135,135,379,379,379,379,379,380,380,380,380,380,380,381,381,381,381,381,381,382,382,382,382,382,383,383,383,373,373,373,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,386,386,387,387,387,387,387,387,388,388,388,388,388,388,154,154,154,154,154,154,153,153,153,153,153,153,152,152,152,152,152,152,151,151,151,151,151,151,150,150,150,150,150,139,139,139,149,149,149,148,148,148,148,148,147,147,147,147,147,147,146,146,146,146,146,146,145,145,145,145,145,379,379,379,379,379,380,380,380,380,380,380,381,381,381,381,381,382,382,382,382,382,382,383,383,383,383,383,384,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,386,386,387,387,387,387,387,387,388,388,388,388,388,388,154,154,154,154,154,154,153,153,153,153,153,153,152,152,152,152,152,152,151,151,151,151,151,151,150,150,150,150,150,150,149,149,149,149,149,148,148,148,148,148,148,147,147,147,147,147,146,146,146,146,146,146,145,145,145,145,145,379,379,379,379,379,379,380,380,380,380,380,381,381,381,381,381,381,382,382,382,382,382,382,383,383,383,383,383,384,384,384,384,384,384,385,385,385,385,385,395,396,386,386,386,386,386,387,387,387,387,387,397,398,388,388,388,388,388,154,154,154,154,154,164,163,153,153,153,153,153,152,152,152,152,152,162,161,151,151,151,151,151,150,150,150,150,150,150,149,149,149,149,149,148,148,148,148,148,148,147,147,147,147,147,147,146,146,146,146,146,145,145,145,145,145,145,389,379,379,379,379,379,390,380,380,380,380,381,381,381,391,391,391,392,392,382,382,382,382,383,383,383,383,383,384,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,150,149,149,149,149,149,148,148,148,148,158,158,157,157,157,147,147,147,146,146,146,146,156,145,145,145,145,145,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,392,392,392,392,392,392,383,383,383,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,160,159,159,159,149,149,149,158,158,158,158,158,158,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,160,159,159,159,159,159,159,158,158,158,158,158,158,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,391,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,404,405,405,405,395,395,395,396,396,396,406,406,406,407,407,407,397,397,397,398,398,398,408,408,408,174,174,174,164,164,164,163,163,163,173,173,173,172,172,172,162,162,162,161,161,161,171,171,171,170,160,160,160,160,160,159,159,159,159,159,159,158,158,158,158,158,158,157,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,399,399,399,400,400,400,390,390,390,391,391,391,401,401,401,402,402,402,392,392,393,393,393,393,393,393,393,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,159,159,159,159,159,159,159,158,158,168,168,168,167,167,167,157,157,157,156,156,156,166,166,166,165,165,165,155,155,155,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,409,409,409,409,409,409,410,410,410,410,410,410,410,411,411,411,411,411,411,412,412,412,412,412,412,413,413,413,413,413,413,413,414,414,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,180,180,179,179,179,179,179,179,179,178,178,178,178,178,178,177,177,177,177,177,177,176,176,176,176,176,176,176,175,175,175,175,175,175,409,409,409,409,409,409,410,410,410,410,410,410,411,411,411,411,411,411,411,412,412,412,412,412,412,413,413,413,413,413,413,413,414,414,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,180,180,179,179,179,179,179,179,179,178,178,178,178,178,178,177,177,177,177,177,177,177,176,176,176,176,176,176,175,175,175,175,175,175,409,409,409,409,409,409,410,410,410,410,410,410,410,411,411,411,411,411,411,412,412,412,412,412,412,412,413,413,413,413,413,413,413,424,414,414,414,414,414,415,415,415,425,425,425,426,426,426,416,416,416,417,417,417,427,427,427,428,428,428,418,418,418,184,184,184,194,194,194,193,193,193,183,183,183,182,182,182,192,192,192,191,191,191,181,181,181,180,180,180,180,180,190,179,179,179,179,179,179,179,178,178,178,178,178,178,178,177,177,177,177,177,177,176,176,176,176,176,176,176,175,175,175,175,175,175,419,419,419,409,409,409,410,420,420,420,420,420,420,411,411,421,421,421,421,412,412,422,422,422,422,422,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,425,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,191,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,188,188,188,188,188,178,178,187,187,187,187,177,177,186,186,186,186,186,186,176,175,175,175,185,185,185,419,419,419,419,419,419,420,420,420,420,420,420,420,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,426,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,192,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,189,188,188,188,188,188,188,187,187,187,187,187,187,187,186,186,186,186,186,186,186,185,185,185,185,185,185,419,419,419,419,419,419,420,420,420,420,420,420,420,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,436,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,202,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,189,188,188,188,188,188,188,187,187,187,187,187,187,187,186,186,186,186,186,186,186,185,185,185,185,185,185,419,419,419,419,419,419,419,420,420,430,430,430,430,430,431,431,421,421,421,421,422,422,422,422,422,432,432,433,433,433,433,423,423,424,424,424,434,434,434,434,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,427,428,438,438,438,438,438,204,204,204,204,204,194,193,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,200,200,200,200,190,190,190,189,189,199,199,199,199,198,198,188,188,188,188,188,187,187,187,187,197,197,196,196,196,196,196,186,186,185,185,185,185,185,185,185,429,429,429,429,429,429,429,430,430,430,430,430,430,431,431,431,431,431,431,431,432,432,432,432,432,432,432,433,433,433,433,433,433,434,434,434,434,434,434,435,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,437,438,438,438,438,438,438,204,204,204,204,204,204,203,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,201,200,200,200,200,200,200,199,199,199,199,199,199,198,198,198,198,198,198,198,197,197,197,197,197,197,197,196,196,196,196,196,196,195,195,195,195,195,195,195,429,429,429,429,429,429,429,430,430,430,430,430,430,431,431,431,431,431,431,431,432,432,432,432,432,432,433,433,433,433,433,433,433,434,434,434,434,434,434,435,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,437,438,438,438,438,438,438,204,204,204,204,204,204,203,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,201,200,200,200,200,200,200,199,199,199,199,199,199,199,198,198,198,198,198,198,197,197,197,197,197,197,197,196,196,196,196,196,196,195,195,195,195,195,195,195,429,429,429,429,429,429,429,440,440,430,430,430,430,431,431,431,431,431,441,441,442,432,432,432,432,432,432,433,433,433,433,443,443,443,444,434,434,434,434,434,435,445,445,445,445,445,445,446,446,446,446,436,436,437,447,447,447,447,447,447,448,448,438,438,438,438,204,204,204,204,214,214,213,213,213,213,213,213,203,202,202,212,212,212,212,211,211,211,211,211,211,201,200,200,200,200,200,210,209,209,209,199,199,199,199,198,198,198,198,198,198,208,207,207,197,197,197,197,197,196,196,196,196,206,206,195,195,195,195,195,195,195,439,439,439,439,439,439,439,440,440,440,440,440,440,441,441,441,441,441,441,441,442,442,442,442,442,442,442,443,443,443,443,443,443,444,444,444,444,444,444,444,445,445,445,445,445,445,446,446,446,446,446,446,446,447,447,447,447,447,447,447,448,448,448,448,448,448,214,214,214,214,214,214,213,213,213,213,213,213,213,212,212,212,212,212,212,212,211,211,211,211,211,211,210,210,210,210,210,210,210,209,209,209,209,209,209,208,208,208,208,208,208,208,207,207,207,207,207,207,207,206,206,206,206,206,206,205,205,205,205,205,205,205,439,439,439,439,439,439,439,440,440,440,440,440,440,440,441,441,441,441,441,441,441,442,442,442,442,442,442,442,443,443,443,443,443,443,444,444,444,444,444,444,444,445,445,445,445,445,445,446,446,446,446,446,446,446,447,447,447,447,447,447,448,448,448,448,448,448,448,214,214,214,214,214,214,214,213,213,213,213,213,213,212,212,212,212,212,212,212,211,211,211,211,211,211,210,210,210,210,210,210,210,209,209,209,209,209,209,208,208,208,208,208,208,208,207,207,207,207,207,207,207,206,206,206,206,206,206,206,205,205,205,205,205,205,205,439,439,439,439,439,439,439,450,440,440,440,440,440,440,441,441,441,441,441,451,452,442,442,442,442,442,442,443,443,443,443,443,443,453,454,444,444,444,444,444,444,445,445,445,455,455,455,456,456,456,456,446,446,446,447,447,457,457,457,457,458,448,448,448,448,448,448,214,214,214,214,214,214,224,223,223,223,223,213,213,212,212,212,222,222,222,222,221,221,221,211,211,211,210,210,210,210,210,210,220,219,209,209,209,209,209,209,208,208,208,208,208,208,218,217,207,207,207,207,207,206,206,206,206,206,206,216,205,205,205,205,205,205,205,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,222,222,222,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,222,222,222,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,455,466,466,466,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,232,232,232,221,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,215,459,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,225,459,459,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,225,225};
+const Int_t AliHLTTPCMapping::fgkOPin[fgkNOROC] = {2,4,1,3,4,2,1,3,2,1,3,5,2,4,1,3,2,4,1,3,5,2,1,3,5,2,4,1,3,2,4,1,3,2,1,3,5,5,3,1,2,3,1,4,2,3,1,4,2,5,3,1,2,5,3,1,4,2,3,1,4,2,5,3,1,2,3,1,2,4,3,1,4,2,6,8,5,7,8,6,5,7,4,6,8,7,9,6,8,5,7,6,8,7,9,4,6,8,7,9,6,8,5,7,6,8,5,7,4,6,7,9,9,7,6,4,7,5,8,6,7,5,8,6,9,7,8,6,4,9,7,8,6,7,5,8,6,9,7,8,6,4,7,5,6,8,7,5,8,6,10,12,11,9,10,12,11,9,10,12,14,13,11,10,12,11,9,10,12,13,11,10,12,14,13,11,10,12,11,9,10,12,11,9,8,10,13,11,11,13,10,8,9,11,12,10,9,11,12,10,11,13,14,12,10,11,13,12,10,9,11,12,10,11,13,14,12,10,9,11,12,10,9,11,12,10,14,16,15,13,14,16,15,13,16,18,20,17,15,14,16,15,13,14,16,17,15,16,18,20,17,15,14,16,15,13,14,16,15,13,12,14,17,15,15,17,14,12,13,15,16,14,13,15,16,14,15,17,20,18,16,15,17,16,14,13,15,16,14,15,17,20,18,16,13,15,16,14,13,15,16,14,18,20,19,17,18,20,19,17,4,2,0,21,19,18,20,19,17,18,20,21,19,0,2,4,21,19,18,20,19,17,18,20,19,17,16,18,21,19,19,21,18,16,17,19,20,18,17,19,20,18,19,21,4,2,0,19,21,20,18,17,19,20,18,19,21,0,2,4,17,19,20,18,17,19,20,18,4,2,0,21,4,2,0,1,21,8,6,1,3,2,0,1,21,6,4,2,0,1,6,8,1,3,2,0,1,3,21,2,0,1,21,20,0,2,4,4,2,0,20,21,1,0,2,21,3,1,0,2,3,1,8,6,1,0,2,4,6,21,1,0,2,3,1,6,8,21,1,0,2,4,21,0,2,4,8,6,3,1,8,6,3,5,7,12,10,5,7,6,4,3,5,8,10,3,5,7,12,10,7,5,8,6,4,5,7,6,4,3,5,6,8,1,3,3,1,8,6,5,3,4,6,7,5,4,6,8,5,7,10,12,7,5,3,10,8,5,3,4,6,7,5,10,12,7,5,3,6,8,1,3,6,8,12,10,7,5,10,12,13,9,15,14,16,13,9,10,8,7,9,12,14,13,9,15,16,14,13,9,10,12,14,13,9,10,8,9,7,10,12,7,5,5,7,12,10,7,9,8,10,9,13,14,12,10,9,13,14,16,15,9,13,14,12,9,7,8,10,9,13,16,14,15,9,13,12,10,5,7,10,12,14,16,13,9,14,16,18,19,17,18,20,22,17,15,14,12,15,13,16,18,19,17,22,20,18,17,15,16,18,17,15,14,16,12,15,13,14,16,13,9,9,13,16,14,13,15,12,16,14,15,17,18,16,15,17,18,20,22,17,19,18,16,13,15,12,14,15,17,22,20,18,17,19,18,16,14,9,13,16,14,18,20,17,15,20,22,21,3,5,2,1,3,21,19,18,16,19,17,20,22,21,5,2,1,3,21,19,20,22,21,19,18,20,22,19,17,18,20,17,15,15,17,20,18,17,19,22,20,18,19,21,22,20,19,21,3,1,2,5,21,22,20,17,19,16,18,19,21,3,1,2,5,3,21,22,20,15,17,20,18,1,22,21,19,4,2,1,7,9,6,4,5,7,3,22,20,21,2,3,1,7,9,6,4,5,7,9,3,1,7,9,2,1,3,21,1,3,22,21,19,19,21,22,3,1,21,3,1,2,9,7,1,3,9,7,5,4,6,9,7,1,3,2,21,20,22,3,7,5,4,6,9,7,1,2,4,19,21,22,1,2,3,5,7,8,6,11,13,8,10,12,9,11,1,5,7,9,4,6,8,11,13,8,10,11,13,2,4,5,11,13,6,4,5,7,4,2,5,7,9,9,7,5,2,4,7,5,4,6,13,11,5,4,2,13,11,10,8,13,11,8,6,4,9,7,5,1,11,9,12,10,8,13,11,6,8,7,5,3,2,4,6,8,9,11,10,12,17,15,14,16,13,15,2,4,6,11,13,10,12,14,17,15,12,14,17,15,6,8,10,15,17,10,8,11,9,6,8,10,11,13,13,11,10,8,6,9,11,8,10,17,15,10,8,6,15,17,14,12,15,17,14,12,10,13,11,6,4,2,15,13,16,14,15,17,12,10,11,9,8,6,4,10,12,14,15,13,14,16,21,19,18,20,17,19,8,10,12,17,15,16,18,20,21,19,16,20,21,19,12,14,16,21,19,14,12,15,13,12,14,16,17,15,15,17,16,14,12,13,15,12,14,19,21,16,14,12,19,21,20,16,19,21,20,18,16,15,17,12,10,8,19,17,20,18,19,21,16,14,13,15,14,12,10,16,18,20,19,17,18,20,5,7,3,5,7,21,14,18,20,21,19,4,2,1,3,7,18,1,5,9,18,20,2,3,20,18,16,19,17,18,20,21,19,7,7,19,21,20,18,17,19,16,18,20,3,2,20,18,9,5,1,18,7,3,1,2,4,19,21,20,18,14,21,7,5,3,7,5,20,18,17,19,20,18,16,2,3,1,5,21,2,1,3,9,4,2,1,9,11,16,3,1,7,11,8,6,5,9,4,2,3,7,11,6,4,1,5,1,5,7,9,21,2,1,3,5,9,9,5,3,1,2,21,9,7,5,1,5,1,4,6,11,7,3,2,4,9,5,6,8,11,7,1,3,16,11,9,1,2,4,9,3,1,2,21,5,1,3,2,8,6,4,7,9,4,6,11,13,6,8,10,13,15,2,4,5,9,13,10,12,13,11,6,8,10,13,15,8,10,7,9,2,4,3,11,13,4,6,8,11,13,13,11,8,6,4,13,11,3,4,2,9,7,10,8,15,13,10,8,6,11,13,12,10,13,9,5,4,2,15,13,10,8,6,13,11,6,4,9,7,4,6,8,10,12,14,13,11,8,10,17,15,12,14,16,19,17,6,8,10,15,17,14,16,17,15,12,14,16,19,17,12,14,13,11,6,10,8,15,17,10,12,14,17,15,15,17,14,12,10,17,15,8,10,6,11,13,14,12,17,19,16,14,12,15,17,16,14,17,15,10,8,6,17,19,16,14,12,15,17,10,8,11,13,14,12,10,16,18,20,17,15,12,14,20,21,19,18,20,21,3,12,16,20,21,19,0,18,20,21,19,18,20,21,1,16,18,20,17,15,12,16,14,21,19,16,18,20,21,19,19,21,20,18,16,19,21,14,16,12,15,17,20,18,16,1,21,20,18,19,21,20,18,0,19,21,20,16,12,3,21,20,18,19,21,20,14,12,15,17,20,18,16,2,0,1,21,19,16,18,0,1,3,2,0,1,7,14,18,0,1,3,2,1,3,5,7,0,2,4,3,0,1,3,21,19,20,18,0,1,3,0,3,1,5,7,7,5,1,3,0,3,1,0,18,20,19,21,3,1,0,3,4,2,0,7,5,3,1,2,3,1,0,18,14,7,1,0,2,3,1,0,18,16,19,21,1,0,2,4,6,3,5,7,6,4,2,5,7,6,4,5,9,6,4,2,5,7,4,6,8,9,13,8,6,5,7,6,2,4,5,7,6,4,2,5,7,2,4,6,9,13,13,9,6,4,2,7,5,2,4,6,7,5,4,2,6,7,5,6,8,13,9,8,6,4,7,5,2,4,6,9,5,4,6,7,5,2,4,6,7,5,3,6,4,8,10,9,13,15,8,10,12,13,9,10,8,13,15,8,10,12,13,9,10,12,14,15,17,10,12,13,9,8,10,12,9,13,8,10,12,13,9,8,10,12,17,15,15,17,12,10,8,9,13,12,10,8,13,9,12,10,8,9,13,12,10,17,15,14,12,10,9,13,12,10,8,15,13,8,10,9,13,12,10,8,15,13,9,10,8,12,14,16,19,17,14,16,18,17,15,14,16,12,19,17,14,16,18,17,15,16,20,21,19,14,16,18,17,15,14,16,18,17,15,14,16,18,17,15,14,18,22,21,19,19,21,22,18,14,15,17,18,16,14,15,17,18,16,14,15,17,18,16,14,19,21,20,16,15,17,18,16,14,17,19,12,16,14,15,17,18,16,14,17,19,16,14,12,18,20,22,21,7,1,20,22,21,19,18,20,22,21,5,1,22,20,21,19,18,22,3,7,3,20,22,21,19,20,22,21,19,7,3,20,22,21,19,16,20,1,5,9,9,5,1,20,16,19,21,22,20,3,7,19,21,22,20,19,21,22,20,3,7,3,22,18,19,21,20,22,1,5,21,22,20,18,19,21,22,20,1,7,21,22,20,18,2,1,3,5,9,2,3,5,7,11,2,1,3,7,11,2,3,5,7,11,2,1,5,9,2,5,1,7,9,2,3,1,5,9,2,5,1,7,9,4,2,3,7,11,11,7,3,2,4,9,7,1,5,2,9,5,1,3,2,9,7,1,5,2,9,5,1,2,11,7,5,3,2,11,7,3,1,2,11,7,5,3,2,9,5,3,1,2,4,6,8,11,13,4,6,8,9,13,4,6,8,9,13,4,6,8,9,13,4,6,8,11,13,4,6,8,11,13,4,6,8,11,13,4,6,8,11,13,6,8,10,13,15,15,13,10,8,6,13,11,8,6,4,13,11,8,6,4,13,11,8,6,4,13,11,8,6,4,13,9,8,6,4,13,9,8,6,4,13,9,8,6,4,13,11,8,6,4,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,12,14,16,19,17,17,19,16,14,12,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,18,20,21,2,3,3,2,21,20,18,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,3,1,7,11,4,2,1,3,5,2,1,3,5,7,2,1,3,5,4,2,1,3,5,3,1,7,11,2,1,3,5,7,2,1,3,5,5,3,1,7,9,6,4,1,5,5,1,4,6,9,7,1,3,5,5,3,1,2,7,5,3,1,2,11,7,1,3,5,3,1,2,4,5,3,1,2,7,5,3,1,2,5,3,1,2,4,11,7,1,3,2,4,5,9,13,8,6,9,7,4,6,8,9,11,4,6,7,9,11,8,6,7,9,2,4,5,9,13,4,8,6,9,11,4,6,7,9,2,4,6,11,13,8,10,7,9,9,7,10,8,13,11,6,4,2,9,7,6,4,11,9,6,8,4,13,9,5,4,2,9,7,6,8,11,9,7,6,4,11,9,8,6,4,7,9,6,8,13,9,5,4,2,6,8,10,15,17,10,12,13,11,10,12,14,15,13,8,10,17,15,13,10,12,13,11,6,8,10,15,17,10,14,12,15,13,8,10,13,11,8,10,12,17,15,12,14,15,11,11,15,14,12,15,17,12,10,8,11,13,10,8,13,15,12,14,10,17,15,10,8,6,11,13,12,10,13,15,17,10,8,13,15,14,12,10,11,13,12,10,17,15,10,8,6,12,18,21,19,14,16,18,17,15,16,18,20,19,17,12,18,21,19,14,16,18,17,15,12,16,20,21,19,16,20,18,19,17,12,14,17,15,14,18,20,21,19,16,18,19,13,13,19,18,16,19,21,20,18,14,15,17,14,12,17,19,18,20,16,19,21,20,16,12,15,17,18,16,14,19,21,18,12,17,19,20,18,16,15,17,18,16,14,19,21,18,12,14,16,20,1,3,0,2,20,21,19,0,1,3,21,14,16,20,0,1,0,1,20,21,19,14,18,1,3,2,4,8,10,21,16,18,20,21,19,16,0,1,5,0,3,20,21,17,17,21,20,3,0,5,1,0,16,19,21,20,18,16,21,10,8,4,2,3,1,18,14,19,21,20,1,0,1,0,20,16,14,21,3,1,0,19,21,20,2,0,3,1,20,16,14,4,2,0,5,7,4,6,1,3,2,4,6,5,7,2,4,6,3,5,2,4,3,5,4,2,0,5,7,0,6,1,3,5,0,1,3,5,7,4,2,3,7,4,2,1,5,7,7,5,1,2,4,7,3,2,4,7,5,3,1,0,5,3,1,6,0,7,5,0,2,4,5,3,4,2,5,3,6,4,2,7,5,6,4,2,3,1,6,4,7,5,0,2,4,6,8,10,9,13,8,10,9,5,8,10,12,13,9,8,10,7,9,13,6,8,7,9,6,8,10,9,13,12,14,7,9,2,4,6,9,13,6,8,10,9,13,6,8,10,9,13,13,9,10,8,6,13,9,10,8,6,13,9,6,4,2,9,7,14,12,13,9,10,8,6,9,7,8,6,13,9,7,10,8,9,13,12,10,8,5,9,10,8,13,9,10,8,6,12,14,20,17,15,12,16,20,15,7,14,20,17,15,12,14,16,17,15,10,14,16,15,13,12,14,16,17,15,16,18,15,13,8,12,14,17,15,12,14,16,17,15,12,14,16,17,15,15,17,16,14,12,15,17,16,14,12,15,17,14,12,8,13,15,18,16,15,17,16,14,12,13,15,16,14,10,15,17,16,14,12,15,17,20,14,7,15,20,16,12,15,17,20,14,12,16,18,22,21,19,14,18,22,19,13,16,22,21,19,18,20,22,21,19,12,20,21,19,17,18,20,22,21,19,20,22,21,17,10,18,22,21,19,18,20,22,21,19,18,20,22,21,19,19,21,22,20,18,19,21,22,20,18,19,21,22,18,10,17,21,22,20,19,21,22,20,18,17,19,21,20,12,19,21,22,20,18,19,21,22,16,13,19,22,18,14,19,21,22,18,16,4,2,1,3,5,4,2,1,21,17,18,1,3,5,2,3,1,5,7,18,22,2,4,3,4,2,1,3,5,3,1,5,19,16,20,1,3,5,2,3,1,5,7,2,3,1,5,7,7,5,1,3,2,7,5,1,3,2,5,3,1,20,16,19,5,1,3,5,3,1,2,4,3,4,2,22,18,7,5,1,3,2,5,3,1,18,17,21,1,2,4,5,3,1,2,4,6,8,7,9,11,6,8,3,5,7,4,2,7,9,4,6,8,9,11,6,8,1,5,7,6,8,9,7,11,2,4,7,9,6,4,2,7,9,4,6,8,9,11,4,6,8,9,11,11,9,8,6,4,11,9,8,6,4,9,7,2,4,6,9,7,4,2,11,7,9,8,6,7,5,1,8,6,11,9,8,6,4,9,7,2,4,7,5,3,8,6,11,9,7,8,6,10,12,14,15,13,10,12,14,11,9,6,8,10,11,13,10,12,14,15,13,10,12,9,11,10,12,14,15,13,6,8,10,11,13,8,10,12,11,13,10,12,14,15,13,10,12,14,15,13,13,15,14,12,10,13,15,14,12,10,13,11,12,10,8,13,11,10,8,6,13,15,14,12,10,11,9,12,10,13,15,14,12,10,13,11,10,8,6,9,11,14,12,10,13,15,14,12,10,16,18,20,21,17,16,18,20,17,13,12,14,16,17,15,16,18,20,21,17,14,16,15,13,16,20,21,19,17,12,14,16,17,15,14,18,19,17,15,16,18,20,21,17,16,20,21,19,17,17,19,21,20,16,17,21,20,18,16,15,17,19,18,14,15,17,16,14,12,17,19,21,20,16,13,15,16,14,17,21,20,18,16,15,17,16,14,12,13,17,20,18,16,17,21,20,18,16,2,1,3,5,19,3,1,21,19,15,1,18,20,21,19,2,1,3,5,19,18,20,21,17,18,2,1,3,5,5,18,20,21,19,16,20,21,3,7,5,3,1,9,19,18,2,1,3,5,5,3,1,2,18,19,9,1,3,5,7,3,21,20,16,19,21,20,18,5,5,3,1,2,18,17,21,20,18,19,5,3,1,2,19,21,20,18,1,15,19,21,1,3,19,5,3,1,2,4,6,8,7,9,4,2,5,7,9,2,5,3,7,9,8,6,4,7,9,2,1,3,5,19,4,6,8,7,9,2,3,1,7,9,4,2,1,5,9,2,4,7,11,13,4,6,8,7,9,9,7,8,6,4,13,11,7,4,2,9,5,1,2,4,9,7,1,3,2,9,7,8,6,4,19,5,3,1,2,9,7,4,6,8,9,7,3,5,2,9,7,5,2,4,9,7,8,6,4,10,12,14,13,11,6,8,10,11,13,4,6,8,11,13,10,12,14,13,11,8,6,4,7,9,10,12,14,13,11,4,6,8,11,13,6,8,10,11,13,6,8,10,15,17,10,12,14,13,11,11,13,14,12,10,17,15,10,8,6,13,11,10,8,6,13,11,8,6,4,11,13,14,12,10,9,7,4,6,8,11,13,14,12,10,13,11,8,6,4,13,11,10,8,6,11,13,14,12,10,16,18,20,17,15,12,14,18,17,15,10,12,14,17,15,16,18,20,17,15,10,12,14,13,11,16,18,20,19,15,10,12,14,17,15,12,14,16,17,15,12,16,20,21,19,16,18,20,17,15,15,17,20,18,16,19,21,20,16,12,15,17,16,14,12,15,17,14,12,10,15,19,20,18,16,11,13,14,12,10,15,17,20,18,16,15,17,14,12,10,15,17,18,14,12,15,17,20,18,16,4,2,0,21,19,2,16,20,21,19,16,18,20,21,19,0,1,3,21,19,20,18,16,17,15,8,4,0,21,17,16,18,20,21,19,0,18,20,21,19,14,18,0,2,4,0,3,1,21,19,19,21,1,3,0,4,2,0,18,14,19,21,20,18,0,19,21,20,18,16,17,21,0,4,8,15,17,16,18,20,19,21,3,1,0,19,21,20,18,16,19,21,20,16,2,19,21,0,2,4,10,8,6,1,3,4,0,1,3,5,0,3,1,5,7,6,4,2,5,7,2,0,1,3,21,19,10,6,2,1,3,4,2,0,1,3,2,3,1,5,7,10,8,6,1,3,2,4,6,5,7,7,5,6,4,2,3,1,6,8,10,7,5,1,3,2,3,1,0,2,4,3,1,2,6,10,19,21,3,1,0,2,7,5,2,4,6,7,5,1,3,0,5,3,1,0,4,3,1,6,8,10,14,12,9,7,5,6,8,10,7,9,2,4,6,9,13,8,10,12,9,13,4,6,8,5,7,9,14,12,9,7,5,6,8,10,5,7,4,6,8,9,13,14,12,9,7,5,12,10,8,9,13,13,9,8,10,12,5,7,9,12,14,13,9,8,6,4,7,5,10,8,6,5,7,9,12,14,9,7,5,8,6,4,13,9,12,10,8,13,9,6,4,2,9,7,10,8,6,5,7,9,12,14,16,20,17,15,13,12,14,16,15,13,8,10,12,17,15,14,16,18,17,15,10,16,18,17,15,13,16,20,17,15,13,12,14,16,13,9,16,12,10,17,15,16,20,17,15,13,14,16,18,17,15,15,17,18,16,14,13,15,17,20,16,15,17,10,12,16,9,13,16,14,12,13,15,17,20,16,13,15,17,18,16,10,15,17,18,16,14,15,17,12,10,8,13,15,16,14,12,13,15,17,20,16,18,22,21,19,5,18,20,22,21,17,14,18,20,22,21,19,20,22,21,19,7,12,20,22,21,19,5,18,22,21,19,18,20,22,21,19,15,18,14,22,21,19,18,22,21,19,7,5,20,22,21,19,19,21,22,20,5,7,19,21,22,18,19,21,22,14,18,15,19,21,22,20,18,19,21,22,18,5,19,21,22,20,12,7,19,21,22,20,19,21,22,20,18,14,17,21,22,20,18,5,19,21,22,18,4,2,1,3,7,1,3,5,7,19,16,2,1,3,5,7,2,1,3,5,9,14,1,3,7,9,2,3,1,7,11,2,1,3,5,7,17,20,3,1,7,9,2,1,3,5,9,2,3,1,7,9,9,7,1,3,2,9,5,3,1,2,9,7,1,3,20,17,7,5,3,1,2,11,7,1,3,2,9,7,3,1,14,9,5,3,1,2,7,5,3,1,2,16,19,7,5,3,1,7,3,1,2,4,8,6,13,9,11,2,4,6,9,11,8,6,4,9,11,13,4,6,8,11,13,2,4,5,11,13,4,6,8,9,13,4,6,8,9,11,13,2,4,5,11,13,4,6,8,11,13,4,6,8,11,13,13,11,8,6,4,13,11,8,6,4,13,11,5,4,2,13,11,9,8,6,4,13,9,8,6,4,13,11,5,4,2,13,11,8,6,4,13,11,9,4,6,8,11,9,6,4,2,11,9,13,6,8,10,12,14,15,17,8,10,12,14,15,13,10,12,14,15,17,14,12,10,15,17,6,8,10,12,15,17,14,12,10,15,17,14,12,10,17,15,6,8,10,12,15,17,14,12,10,15,17,14,12,10,17,15,15,17,10,12,14,17,15,10,12,14,17,15,12,10,8,6,15,17,10,12,14,17,15,10,12,14,17,15,12,10,8,6,17,15,10,12,14,17,15,14,12,10,13,15,14,12,10,8,17,15,14,12,10,16,18,20,21,19,16,18,20,21,19,17,16,18,20,21,19,16,18,20,21,19,14,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,20,18,16,14,21,19,16,18,20,21,19,16,18,20,21,19,19,21,20,18,16,19,21,20,18,16,19,21,14,16,18,20,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,14,19,21,20,18,16,19,21,20,18,16,17,19,21,20,18,16,19,21,20,18,16,3,1,5,7,9,5,3,1,7,9,5,3,1,7,11,2,3,1,5,9,5,3,1,7,11,2,5,3,1,7,9,2,3,1,5,7,2,3,1,5,9,11,2,5,3,1,7,9,2,3,1,5,7,7,5,1,3,2,9,7,1,3,5,2,11,9,5,1,3,2,7,5,1,3,2,9,7,1,3,5,2,11,7,1,3,5,9,5,1,3,2,11,7,1,3,5,9,7,1,3,5,9,7,5,1,3,2,4,6,11,13,2,4,6,11,13,2,4,6,9,13,4,6,8,7,11,2,4,6,9,13,4,6,10,12,11,13,4,6,8,9,11,4,6,8,7,13,15,4,6,8,10,11,13,4,6,8,9,11,11,9,8,6,4,13,11,10,8,6,4,15,13,7,8,6,4,11,9,8,6,4,13,11,12,10,6,4,13,9,6,4,2,11,7,8,6,4,13,9,6,4,2,13,11,6,4,2,13,11,6,4,2,8,10,12,17,15,8,10,16,18,17,15,8,12,16,17,15,10,12,14,15,13,8,10,12,17,15,8,14,16,18,17,15,10,12,14,15,13,10,12,14,17,19,21,12,14,16,18,17,15,10,12,14,15,13,13,15,14,12,10,15,17,18,16,14,12,21,19,17,14,12,10,13,15,14,12,10,15,17,18,16,14,8,15,17,12,10,8,13,15,14,12,10,15,17,16,12,8,15,17,18,16,10,8,15,17,12,10,8,14,18,20,21,19,12,14,20,21,19,10,14,18,20,21,19,16,18,20,21,17,14,18,20,21,19,4,0,1,20,21,19,16,18,20,21,17,16,18,20,1,3,5,4,0,1,20,21,19,16,18,20,21,17,17,21,20,18,16,19,21,20,1,0,4,5,3,1,20,18,16,17,21,20,18,16,19,21,20,1,0,4,19,21,20,18,14,17,21,20,18,16,19,21,20,18,14,10,19,21,20,14,12,19,21,20,18,14,16,0,1,3,7,0,1,3,5,7,2,0,1,3,5,7,5,3,1,7,19,16,2,0,1,3,6,2,3,5,7,4,2,0,1,3,19,0,2,4,6,7,9,6,2,3,5,7,6,4,2,0,1,19,19,1,0,2,4,6,7,5,3,2,6,9,7,6,4,2,0,19,3,1,0,2,4,7,5,3,2,6,3,1,0,2,16,19,7,1,3,5,7,5,3,1,0,2,7,5,3,1,0,7,3,1,0,16,2,4,6,5,9,13,2,6,4,9,13,4,6,8,10,9,13,0,2,4,9,13,4,6,8,5,7,8,10,12,9,13,6,8,10,5,7,9,8,10,12,14,13,15,8,10,12,9,13,8,10,12,7,5,3,3,5,7,12,10,8,13,9,12,10,8,15,13,14,12,10,8,9,7,5,10,8,6,13,9,12,10,8,7,5,8,6,4,13,9,4,2,0,13,9,10,8,6,4,13,9,4,6,2,13,9,5,6,4,2,8,10,12,15,17,8,10,14,12,17,15,12,14,16,17,15,6,8,14,16,17,15,10,12,14,13,9,14,16,18,17,15,12,14,16,15,13,17,16,18,22,20,19,17,14,18,20,17,15,14,16,18,17,13,9,9,13,17,18,16,14,15,17,20,18,14,17,19,20,22,18,16,17,13,15,16,14,12,15,17,18,16,14,9,13,14,12,10,15,17,16,14,8,6,15,17,16,14,12,15,17,12,14,10,8,17,15,12,10,8,14,18,22,21,19,16,18,22,20,21,19,18,20,22,21,19,10,12,20,22,21,19,16,18,20,17,15,3,20,22,21,19,18,20,22,21,19,5,6,2,1,5,9,21,16,22,21,19,5,6,20,22,21,19,15,15,19,21,22,20,6,5,19,21,22,16,21,9,5,1,2,6,5,19,21,22,20,18,19,21,22,20,3,15,17,20,18,16,19,21,22,20,12,10,19,21,22,20,18,19,21,20,22,18,16,19,21,22,18,14,16,20,1,5,7,5,3,1,7,11,4,2,1,3,5,7,18,3,1,7,11,4,5,1,22,21,19,2,5,1,7,11,4,2,1,3,7,9,8,4,3,7,11,4,2,1,3,7,9,8,4,2,1,3,5,5,3,1,2,4,8,9,7,3,1,2,4,11,7,3,4,8,9,7,3,1,2,4,11,7,1,5,2,19,21,22,1,5,4,11,7,1,3,18,7,5,3,1,2,4,11,7,1,3,5,7,5,1,20,16,6,4,2,3,9,11,6,4,2,9,13,6,8,10,9,11,13,4,2,5,9,13,6,2,3,7,9,4,6,8,10,9,13,6,8,10,11,13,15,10,12,14,13,15,6,8,10,11,13,15,10,12,14,7,9,11,11,9,7,14,12,10,15,13,11,10,8,6,15,13,14,12,10,15,13,11,10,8,6,13,9,10,8,6,4,9,7,3,2,6,13,9,5,2,4,13,11,9,10,8,6,13,9,2,4,6,11,9,3,2,4,6,8,10,12,13,15,8,10,12,14,15,17,12,14,16,17,15,6,8,10,12,15,17,8,10,12,11,13,12,14,16,18,17,15,12,16,20,21,19,17,16,18,20,19,17,12,16,18,21,19,17,16,18,20,17,15,13,13,15,17,20,18,16,17,19,21,18,16,12,17,19,20,18,16,17,19,21,20,16,12,15,17,18,16,14,12,13,11,12,10,8,17,15,12,10,8,6,15,17,16,14,12,17,15,14,12,10,8,15,13,12,10,8,14,16,18,20,21,19,17,16,18,20,21,19,2,18,20,21,19,14,16,18,20,21,19,14,16,18,19,15,2,3,1,20,21,19,14,18,2,3,5,9,4,2,1,3,21,14,20,2,1,5,9,4,2,1,3,21,19,19,21,3,1,2,4,9,5,1,2,20,14,21,3,1,2,4,9,5,3,2,18,14,19,21,20,1,3,2,15,19,18,16,14,19,21,20,18,16,14,19,21,20,18,2,19,21,20,18,16,17,19,21,20,18,16,14,5,3,1,7,11,2,5,3,1,7,9,6,4,1,3,5,7,2,3,1,5,7,2,1,3,20,21,17,4,6,5,7,9,8,6,4,1,7,11,10,8,6,5,7,9,8,6,4,3,7,11,10,8,6,5,7,9,9,7,5,6,8,10,11,7,3,4,6,8,9,7,5,6,8,10,11,7,1,4,6,8,9,7,5,6,4,17,21,20,3,1,2,7,5,1,3,2,7,5,3,1,4,6,9,7,1,3,5,2,11,7,1,3,5,2,4,6,9,13,4,6,8,10,11,13,8,10,9,11,13,4,6,8,10,9,11,4,6,8,5,7,8,10,12,15,13,11,10,12,14,13,15,17,12,14,16,15,13,11,10,12,18,17,15,13,12,14,16,15,13,11,11,13,15,16,14,12,13,15,17,18,12,10,11,13,15,16,14,12,17,15,13,14,12,10,11,13,15,12,10,8,7,5,8,6,4,11,9,10,8,6,4,13,11,9,10,8,13,11,10,8,6,4,13,9,6,4,2,8,10,12,14,17,15,12,14,16,17,15,12,14,20,19,17,15,12,14,16,20,17,13,10,12,13,11,9,14,18,20,21,19,17,16,18,20,21,19,5,0,18,20,21,19,17,14,16,20,21,19,3,2,18,20,21,19,17,17,19,21,20,18,2,3,19,21,20,16,14,17,19,21,20,18,0,5,19,21,20,18,16,17,19,21,20,18,14,9,11,13,12,10,13,17,20,16,14,12,15,17,19,20,14,12,15,17,16,14,12,15,17,14,12,10,8,2,16,18,20,21,19,4,18,20,21,19,16,18,21,3,7,9,6,4,18,21,19,15,14,20,19,17,15,16,0,3,1,5,7,4,2,0,1,3,7,4,2,1,3,5,7,6,4,2,0,1,5,4,0,1,3,5,7,7,5,3,1,0,4,5,1,0,2,4,6,7,5,3,1,2,4,7,3,1,0,2,4,7,5,1,3,0,16,15,17,19,20,14,15,19,21,18,4,6,9,7,3,21,18,16,19,21,20,18,4,19,21,20,18,16,2,6,4,0,1,3,5,8,6,2,0,1,3,2,0,1,5,13,10,8,2,0,1,3,16,18,21,0,2,1,2,4,6,8,9,13,6,8,10,12,9,13,6,8,10,9,13,15,8,10,12,14,9,7,6,8,10,9,13,15,15,13,9,10,8,6,7,9,14,12,10,8,15,13,9,10,8,6,13,9,12,10,8,6,13,9,8,6,4,2,1,2,0,21,18,16,3,1,0,2,8,10,13,5,1,0,2,3,1,0,2,6,8,5,3,1,0,4,6,8,10,12,13,9,7,10,12,14,16,7,5,4,6,8,15,17,12,14,16,9,7,5,8,6,4,3,5,7,10,12,14,16,17,15,14,16,18,20,17,15,12,14,22,21,19,17,16,18,20,22,15,13,12,18,20,21,19,17,17,19,21,20,18,12,13,15,22,20,18,16,17,19,21,22,14,12,15,17,20,18,16,14,15,17,16,14,12,10,7,5,3,4,6,8,5,7,9,16,14,12,17,15,8,6,4,5,7,16,14,12,10,7,9,13,12,10,8,14,18,22,19,17,15,18,20,22,15,13,9,10,12,18,22,21,19,18,20,22,17,15,13,10,12,14,15,13,9,18,20,22,21,19,7,4,2,3,22,21,19,16,18,20,1,3,7,6,2,1,21,19,17,14,16,22,1,3,7,7,3,1,22,16,14,17,19,21,1,2,6,7,3,1,20,18,16,19,21,22,3,2,4,7,19,21,22,20,18,9,13,15,14,12,10,13,15,17,22,20,18,19,21,22,18,12,10,9,13,15,22,20,18,15,17,19,22,18,14,16,20,21,1,5,7,4,1,5,21,19,17,14,16,20,1,5,7,4,1,3,21,19,16,18,20,22,21,19,17,4,2,1,3,5,9,8,6,1,5,7,9,8,6,4,2,5,9,8,4,3,5,7,9,8,6,4,2,5,9,9,5,2,4,6,8,9,7,5,3,4,8,9,5,2,4,6,8,9,7,5,1,6,8,9,5,3,1,2,4,17,19,21,22,20,18,16,19,21,3,1,4,7,5,1,20,16,14,17,19,21,5,1,4,7,5,1,21,20,16,8,6,4,2,3,9,8,6,2,3,7,9,8,6,4,2,3,9,8,6,2,5,7,9,4,2,1,3,5,7,9,6,8,10,11,13,15,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,15,13,11,10,12,14,11,13,15,15,13,11,14,12,10,11,13,15,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,15,13,11,10,8,6,9,7,5,3,1,2,4,9,7,5,2,6,8,9,3,2,4,6,8,9,7,3,2,6,8,9,3,2,4,6,8,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,15,13,11,6,8,10,12,11,13,15,12,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,12,15,13,11,12,10,8,6,11,13,15,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,14,16,18,20,21,19,17,14,16,6,1,3,5,6,4,2,1,3,5,8,6,4,2,1,3,6,4,2,1,3,5,8,6,4,2,1,3,3,1,2,4,6,8,5,3,1,2,4,6,3,1,2,4,6,8,5,3,1,2,4,6,5,3,1,6,16,14,17,19,21,20,18,16,14,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,8,6,4,2,1,3,8,6,4,2,1,3,5,2,1,3,5,7,9,6,4,2,1,3,5,8,6,4,2,1,3,5,10,8,4,2,7,9,8,10,13,11,9,7,14,12,10,9,7,5,8,10,7,9,11,13,14,12,10,9,7,5,5,7,9,10,12,14,13,11,9,7,10,8,5,7,9,10,12,14,7,9,11,13,10,8,9,7,2,4,8,10,5,3,1,2,4,6,8,5,3,1,2,4,6,9,7,5,3,1,2,5,3,1,2,4,6,8,3,1,2,4,6,8,14,12,10,9,7,5,10,12,13,11,9,7,10,8,6,4,11,13,15,8,10,13,11,9,7,14,12,10,13,11,9,7,12,14,16,15,13,11,12,16,21,19,17,15,16,18,20,15,13,11,12,16,21,19,17,15,16,18,20,15,13,11,11,13,15,20,18,16,15,17,19,21,16,12,11,13,15,20,18,16,15,17,19,21,16,12,11,13,15,16,14,12,7,9,11,13,10,12,14,7,9,11,13,10,8,15,13,11,4,6,8,10,7,9,11,13,12,10,5,7,9,10,12,14,16,18,20,15,13,11,14,18,20,21,19,17,15,12,16,20,21,19,17,12,16,20,21,19,17,15,16,18,20,21,19,17,15,0,18,20,21,19,17,14,18,20,2,0,1,4,2,0,21,19,17,14,18,20,4,2,0,4,2,0,21,19,17,17,19,21,0,2,4,0,2,4,20,18,14,17,19,21,0,2,4,1,0,2,20,18,14,17,19,21,20,18,0,15,17,19,21,20,18,16,15,17,19,21,20,16,12,17,19,21,20,16,12,15,17,19,21,20,18,14,11,13,15,20,18,16,2,0,1,21,19,17,16,6,4,2,0,1,3,14,18,4,2,0,1,14,18,4,2,0,1,3,8,6,4,2,0,1,4,2,1,3,5,7,10,8,6,4,3,5,7,8,6,1,3,5,7,10,8,6,1,3,5,8,6,1,3,5,7,7,5,3,1,6,8,5,3,1,6,8,10,7,5,3,1,6,8,7,5,3,4,6,8,10,7,5,3,1,2,4,1,0,2,4,6,8,3,1,0,2,4,18,14,1,0,2,4,18,14,3,1,0,2,4,6,16,17,19,21,1,0,2,8,6,4,3,5,7,8,10,12,5,7,9,13,10,8,6,12,3,5,7,10,8,6,5,7,9,16,14,12,10,7,5,3,10,8,6,9,13,15,12,14,16,9,13,15,16,14,12,10,9,13,15,16,14,12,13,9,7,14,12,10,15,13,9,9,13,15,10,12,14,7,9,13,12,14,16,15,13,9,10,12,14,16,15,13,9,16,14,12,15,13,9,6,8,10,3,5,7,10,12,14,16,9,7,5,6,8,10,7,5,3,12,6,8,10,13,9,7,5,12,10,8,7,5,3,4,6,8,10,12,14,15,13,9,14,18,22,21,19,17,15,14,16,18,22,15,13,9,12,18,20,17,15,13,18,20,22,17,15,13,9,12,18,22,21,19,17,18,20,22,21,19,17,6,18,20,22,21,19,17,18,20,22,21,19,15,16,20,22,21,19,17,17,19,21,22,20,16,15,19,21,22,20,18,17,19,21,22,20,18,6,17,19,21,22,20,18,17,19,21,22,18,12,9,13,15,17,22,20,18,13,15,17,20,18,12,9,13,15,22,18,16,14,15,17,19,21,22,18,14,9,13,15,14,12,10,16,18,20,22,21,19,17,16,20,6,4,2,1,3,2,1,20,21,19,17,14,16,22,21,19,3,5,2,1,3,5,21,19,14,16,20,2,1,5,7,6,4,2,1,3,5,8,4,2,1,3,5,6,4,2,1,3,5,17,18,6,4,2,1,3,3,1,2,4,6,18,17,5,3,1,2,4,6,5,3,1,2,4,8,5,3,1,2,4,6,7,5,1,2,20,16,14,19,21,5,3,1,2,5,3,19,21,22,16,14,17,19,21,20,1,2,3,1,2,4,6,20,16,17,19,21,22,20,18,16,8,6,4,2,1,3,5,14,12,10,8,5,7,6,4,3,5,7,9,11,8,6,4,2,1,7,9,4,6,8,7,9,11,10,8,6,4,3,9,8,10,12,13,11,9,7,10,12,14,11,9,7,12,10,8,7,9,11,13,8,10,12,9,7,5,5,7,9,12,10,8,13,11,9,7,8,10,12,7,9,11,14,12,10,7,9,11,13,12,10,8,9,3,4,6,8,10,11,9,7,8,6,4,9,7,1,2,4,6,8,11,9,7,5,3,4,6,7,5,8,10,12,14,5,3,1,2,4,6,8,14,12,10,7,9,11,13,16,18,20,13,11,9,14,12,10,8,17,15,13,10,12,14,15,13,11,10,12,18,19,17,15,13,12,14,16,15,13,11,14,18,20,21,19,17,15,16,18,20,17,15,13,14,18,20,21,19,17,15,14,16,18,15,13,11,11,13,15,18,16,14,15,17,19,21,20,18,14,13,15,17,20,18,16,15,17,19,21,20,18,14,11,13,15,16,14,12,13,15,17,19,18,12,10,11,13,15,14,12,10,13,15,17,8,10,12,14,9,11,13,20,18,16,13,11,9,7,10,12,14,16,18,20,21,19,17,15,4,2,21,19,17,15,16,18,20,21,19,3,7,4,16,18,20,21,19,17,14,16,20,21,3,5,7,6,18,20,21,19,17,16,4,2,1,3,5,7,4,2,1,3,21,19,16,6,4,2,1,3,5,6,4,20,21,19,17,17,19,21,20,4,6,5,3,1,2,4,6,16,19,21,3,1,2,4,7,5,3,1,2,4,16,17,19,21,20,18,6,7,5,3,21,20,16,14,17,19,21,20,18,16,4,7,3,19,21,20,18,16,15,17,19,21,2,4,15,17,19,21,20,18,16,4,2,1,3,5,7,9,6,1,3,5,7,9,8,6,4,2,1,5,9,6,2,1,3,5,7,9,8,6,4,2,1,9,10,8,4,2,1,3,5,10,8,6,9,11,13,12,10,8,6,5,7,9,12,10,8,7,9,11,13,10,8,2,1,3,5,5,3,1,2,8,10,13,11,9,7,8,10,12,9,7,5,6,8,10,12,13,11,9,6,8,10,5,3,1,2,4,8,10,9,1,2,4,6,8,9,7,5,3,1,2,6,9,5,1,2,4,6,8,9,7,5,3,1,6,9,7,5,3,1,2,4,12,10,8,6,11,13,15,8,10,12,14,11,13,15,16,14,12,10,11,13,15,8,10,12,14,11,13,15,14,12,10,15,13,11,16,14,12,7,9,11,13,16,14,12,19,17,15,14,16,18,20,15,13,11,14,18,21,19,17,15,16,14,12,13,11,9,7,7,9,11,13,12,14,16,15,17,19,21,18,14,11,13,15,20,18,16,14,15,17,19,12,14,16,13,11,9,7,12,14,16,11,13,15,10,12,14,15,13,11,14,12,10,8,15,13,11,10,12,14,16,15,13,11,14,12,10,8,15,13,11,6,8,10,12,14,16,18,20,21,19,17,6,16,18,20,21,19,17,18,20,21,19,17,5,8,16,18,20,21,19,17,16,18,20,21,19,17,3,8,18,20,21,19,17,15,18,20,21,0,1,3,10,8,6,4,21,19,17,16,20,6,2,1,5,8,18,20,21,19,17,15,15,17,19,21,20,18,8,5,1,2,6,20,16,17,19,21,4,6,8,10,3,1,0,21,20,18,15,17,19,21,20,18,8,3,17,19,21,20,18,16,17,19,21,20,18,16,8,5,17,19,21,20,18,17,19,21,20,18,16,6,17,19,21,20,18,16,14,8,6,4,2,0,1,3,10,8,4,2,0,1,3,6,4,2,0,1,3,7,10,6,4,2,0,1,3,8,6,4,2,0,1,5,10,6,4,2,0,1,3,8,6,4,2,5,7,16,14,12,2,0,1,3,10,8,4,0,3,7,10,6,4,0,2,1,3,3,1,2,0,4,6,10,7,3,0,4,8,10,3,1,0,2,12,14,16,7,5,2,4,6,8,3,1,0,2,4,6,10,5,1,0,2,4,6,8,3,1,0,2,4,6,10,7,3,1,0,2,4,6,3,1,0,2,4,8,10,3,1,0,2,4,6,8,14,12,10,13,9,7,5,16,14,12,13,9,7,5,14,12,10,8,9,13,15,16,14,12,13,9,7,5,14,12,10,15,13,9,7,16,14,12,13,9,7,5,14,12,10,15,13,9,18,20,22,13,9,7,5,16,14,12,15,13,9,16,14,12,13,9,7,5,5,7,9,13,12,14,16,9,13,15,12,14,16,5,7,9,13,22,20,18,9,13,15,10,12,14,5,7,9,13,12,14,16,7,9,13,15,10,12,14,5,7,9,13,12,14,16,15,13,9,8,10,12,14,5,7,9,13,12,14,16,5,7,9,13,10,12,14,16,20,22,21,19,17,15,18,20,22,21,19,17,15,16,18,20,22,21,19,17,18,20,22,21,19,17,15,16,18,20,22,21,19,17,18,20,22,21,19,17,15,16,18,20,22,21,19,17,6,2,1,21,19,17,15,18,20,22,21,19,17,18,20,22,21,19,17,15,15,17,19,21,22,20,18,17,19,21,22,20,18,15,17,19,21,1,2,6,17,19,21,22,20,18,16,15,17,19,21,22,20,18,17,19,21,22,20,18,16,15,17,19,21,22,20,18,17,19,21,22,20,18,16,15,17,19,21,22,20,18,15,17,19,21,22,20,16,18,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,4,3,5,7,9,8,6,4,2,1,3,5,8,6,4,2,1,3,5,5,3,1,2,4,6,8,5,3,1,2,4,6,8,9,7,5,3,4,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,18,12,10,8,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,10,12,14,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,14,12,10,15,13,11,14,12,10,13,11,9,7,14,12,10,13,11,9,7,7,9,11,13,10,12,14,7,9,11,13,10,12,14,11,13,15,10,12,14,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,14,12,10,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,8,10,12,14,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,16,18,20,21,19,17,15,16,18,20,21,19,17,15,15,17,19,21,20,18,16,15,17,19,21,20,18,16,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,14};
+const Int_t AliHLTTPCMapping::fgkOFec[fgkNOROC] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,27,27,28,28,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,33,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77};
+const Int_t AliHLTTPCMapping::fgkOFecChannel[fgkNOROC] = {1,3,0,2,3,1,0,2,1,0,2,4,1,3,0,2,1,3,0,2,4,1,0,2,4,1,3,0,2,1,3,0,2,1,0,2,4,4,2,0,1,2,0,3,1,2,0,3,1,4,2,0,1,4,2,0,3,1,2,0,3,1,4,2,0,1,2,0,1,3,2,0,3,1,5,7,4,6,7,5,4,6,3,5,7,6,8,5,7,4,6,5,7,6,8,3,5,7,6,8,5,7,4,6,5,7,4,6,3,5,6,8,8,6,5,3,6,4,7,5,6,4,7,5,8,6,7,5,3,8,6,7,5,6,4,7,5,8,6,7,5,3,6,4,5,7,6,4,7,5,9,11,10,8,9,11,10,8,9,11,13,12,10,9,11,10,8,9,11,12,10,9,11,13,12,10,9,11,10,8,9,11,10,8,7,9,12,10,10,12,9,7,8,10,11,9,8,10,11,9,10,12,13,11,9,10,12,11,9,8,10,11,9,10,12,13,11,9,8,10,11,9,8,10,11,9,13,15,14,12,13,15,14,12,15,17,19,16,14,13,15,14,12,13,15,16,14,15,17,19,16,14,13,15,14,12,13,15,14,12,11,13,16,14,14,16,13,11,12,14,15,13,12,14,15,13,14,16,19,17,15,14,16,15,13,12,14,15,13,14,16,19,17,15,12,14,15,13,12,14,15,13,17,19,18,16,17,19,18,16,25,23,21,20,18,17,19,18,16,17,19,20,18,21,23,25,20,18,17,19,18,16,17,19,18,16,15,17,20,18,18,20,17,15,16,18,19,17,16,18,19,17,18,20,25,23,21,18,20,19,17,16,18,19,17,18,20,21,23,25,16,18,19,17,16,18,19,17,25,23,21,20,25,23,21,22,20,29,27,22,24,23,21,22,20,27,25,23,21,22,27,29,22,24,23,21,22,24,20,23,21,22,20,19,21,23,25,25,23,21,19,20,22,21,23,20,24,22,21,23,24,22,29,27,22,21,23,25,27,20,22,21,23,24,22,27,29,20,22,21,23,25,20,21,23,25,29,27,24,22,29,27,24,26,28,32,31,26,28,27,25,24,26,29,31,24,26,28,32,31,28,26,29,27,25,26,28,27,25,24,26,27,29,22,24,24,22,29,27,26,24,25,27,28,26,25,27,29,26,28,31,32,28,26,24,31,29,26,24,25,27,28,26,31,32,28,26,24,27,29,22,24,27,29,32,31,28,26,31,32,33,30,35,34,36,33,30,31,29,28,30,32,34,33,30,35,36,34,33,30,31,32,34,33,30,31,29,30,28,31,32,28,26,26,28,32,31,28,30,29,31,30,33,34,32,31,30,33,34,36,35,30,33,34,32,30,28,29,31,30,33,36,34,35,30,33,32,31,26,28,31,32,34,36,33,30,34,36,38,39,37,38,40,42,37,35,34,32,35,33,36,38,39,37,42,40,38,37,35,36,38,37,35,34,36,32,35,33,34,36,33,30,30,33,36,34,33,35,32,36,34,35,37,38,36,35,37,38,40,42,37,39,38,36,33,35,32,34,35,37,42,40,38,37,39,38,36,34,30,33,36,34,38,40,37,35,40,42,41,45,47,44,43,45,41,39,38,36,39,37,40,42,41,47,44,43,45,41,39,40,42,41,39,38,40,42,39,37,38,40,37,35,35,37,40,38,37,39,42,40,38,39,41,42,40,39,41,45,43,44,47,41,42,40,37,39,36,38,39,41,45,43,44,47,45,41,42,40,35,37,40,38,43,42,41,39,46,44,43,49,51,48,46,47,49,45,42,40,41,44,45,43,49,51,48,46,47,49,51,45,43,49,51,44,43,45,41,43,45,42,41,39,39,41,42,45,43,41,45,43,44,51,49,43,45,51,49,47,46,48,51,49,43,45,44,41,40,42,45,49,47,46,48,51,49,43,44,46,39,41,42,43,44,45,47,49,50,48,53,55,50,52,54,51,53,43,47,49,51,46,48,50,53,55,50,52,53,55,44,46,47,53,55,48,46,47,49,46,44,47,49,51,51,49,47,44,46,49,47,46,48,55,53,47,46,44,55,53,52,50,55,53,50,48,46,51,49,47,43,53,51,54,52,50,55,53,48,50,49,47,45,44,46,48,50,51,53,52,54,59,57,56,58,55,57,44,46,48,53,55,52,54,56,59,57,54,56,59,57,48,50,52,57,59,52,50,53,51,48,50,52,53,55,55,53,52,50,48,51,53,50,52,59,57,52,50,48,57,59,56,54,57,59,56,54,52,55,53,48,46,44,57,55,58,56,57,59,54,52,53,51,50,48,46,52,54,56,57,55,56,58,63,61,60,62,59,61,50,52,54,59,57,58,60,62,63,61,58,62,63,61,54,56,58,63,61,56,54,57,55,54,56,58,59,57,57,59,58,56,54,55,57,54,56,61,63,58,56,54,61,63,62,58,61,63,62,60,58,57,59,54,52,50,61,59,62,60,61,63,58,56,55,57,56,54,52,58,60,62,61,59,60,62,68,70,66,68,70,63,56,60,62,63,61,67,65,64,66,70,60,64,68,72,60,62,65,66,62,60,58,61,59,60,62,63,61,70,70,61,63,62,60,59,61,58,60,62,66,65,62,60,72,68,64,60,70,66,64,65,67,61,63,62,60,56,63,70,68,66,70,68,62,60,59,61,62,60,58,65,66,64,68,63,65,64,66,72,67,65,64,72,74,58,66,64,70,74,71,69,68,72,67,65,66,70,74,69,67,64,68,64,68,70,72,63,65,64,66,68,72,72,68,66,64,65,63,72,70,68,64,68,64,67,69,74,70,66,65,67,72,68,69,71,74,70,64,66,58,74,72,64,65,67,72,66,64,65,63,68,64,66,65,71,69,67,70,72,67,69,74,76,69,71,73,76,78,65,67,68,72,76,73,75,76,74,69,71,73,76,78,71,73,70,72,65,67,66,74,76,67,69,71,74,76,76,74,71,69,67,76,74,66,67,65,72,70,73,71,78,76,73,71,69,74,76,75,73,76,72,68,67,65,78,76,73,71,69,76,74,69,67,72,70,67,69,71,73,75,77,76,74,71,73,80,78,75,77,79,82,80,69,71,73,78,80,77,79,80,78,75,77,79,82,80,75,77,76,74,69,73,71,78,80,73,75,77,80,78,78,80,77,75,73,80,78,71,73,69,74,76,77,75,80,82,79,77,75,78,80,79,77,80,78,73,71,69,80,82,79,77,75,78,80,73,71,74,76,77,75,73,79,81,83,80,78,75,77,83,84,82,81,83,84,88,75,79,83,84,82,85,81,83,84,82,81,83,84,86,79,81,83,80,78,75,79,77,84,82,79,81,83,84,82,82,84,83,81,79,82,84,77,79,75,78,80,83,81,79,86,84,83,81,82,84,83,81,85,82,84,83,79,75,88,84,83,81,82,84,83,77,75,78,80,83,81,79,87,85,86,84,82,79,81,85,86,88,87,85,86,92,77,81,85,86,88,87,86,88,90,92,85,87,89,88,85,86,88,84,82,83,81,85,86,88,85,88,86,90,92,92,90,86,88,85,88,86,85,81,83,82,84,88,86,85,88,89,87,85,92,90,88,86,87,88,86,85,81,77,92,86,85,87,88,86,85,81,79,82,84,86,85,87,89,91,88,90,92,91,89,87,90,92,91,89,90,94,91,89,87,90,92,89,91,93,94,97,93,91,90,92,91,87,89,90,92,91,89,87,90,92,87,89,91,94,97,97,94,91,89,87,92,90,87,89,91,92,90,89,87,91,92,90,91,93,97,94,93,91,89,92,90,87,89,91,94,90,89,91,92,90,87,89,91,92,90,88,91,89,93,95,94,97,99,93,95,96,97,94,95,93,97,99,93,95,96,97,94,95,96,98,99,101,95,96,97,94,93,95,96,94,97,93,95,96,97,94,93,95,96,101,99,99,101,96,95,93,94,97,96,95,93,97,94,96,95,93,94,97,96,95,101,99,98,96,95,94,97,96,95,93,99,97,93,95,94,97,96,95,93,99,97,94,95,93,96,98,100,103,101,98,100,102,101,99,98,100,96,103,101,98,100,102,101,99,100,104,105,103,98,100,102,101,99,98,100,102,101,99,98,100,102,101,99,98,102,106,105,103,103,105,106,102,98,99,101,102,100,98,99,101,102,100,98,99,101,102,100,98,103,105,104,100,99,101,102,100,98,101,103,96,100,98,99,101,102,100,98,101,103,100,98,96,102,104,106,105,113,107,104,106,105,103,102,104,106,105,111,107,106,104,105,103,102,106,109,113,109,104,106,105,103,104,106,105,103,113,109,104,106,105,103,100,104,107,111,115,115,111,107,104,100,103,105,106,104,109,113,103,105,106,104,103,105,106,104,109,113,109,106,102,103,105,104,106,107,111,105,106,104,102,103,105,106,104,107,113,105,106,104,102,108,107,109,111,115,108,109,111,113,117,108,107,109,113,117,108,109,111,113,117,108,107,111,115,108,111,107,113,115,108,109,107,111,115,108,111,107,113,115,110,108,109,113,117,117,113,109,108,110,115,113,107,111,108,115,111,107,109,108,115,113,107,111,108,115,111,107,108,117,113,111,109,108,117,113,109,107,108,117,113,111,109,108,115,111,109,107,108,110,112,114,117,119,110,112,114,115,119,110,112,114,115,119,110,112,114,115,119,110,112,114,117,119,110,112,114,117,119,110,112,114,117,119,110,112,114,117,119,112,114,116,119,121,121,119,116,114,112,119,117,114,112,110,119,117,114,112,110,119,117,114,112,110,119,117,114,112,110,119,115,114,112,110,119,115,114,112,110,119,115,114,112,110,119,117,114,112,110,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,118,120,122,125,123,123,125,122,120,118,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,124,126,127,1,2,2,1,127,126,124,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,2,0,6,10,3,1,0,2,4,1,0,2,4,6,1,0,2,4,3,1,0,2,4,2,0,6,10,1,0,2,4,6,1,0,2,4,4,2,0,6,8,5,3,0,4,4,0,3,5,8,6,0,2,4,4,2,0,1,6,4,2,0,1,10,6,0,2,4,2,0,1,3,4,2,0,1,6,4,2,0,1,4,2,0,1,3,10,6,0,2,1,3,4,8,12,7,5,8,6,3,5,7,8,10,3,5,6,8,10,7,5,6,8,1,3,4,8,12,3,7,5,8,10,3,5,6,8,1,3,5,10,12,7,9,6,8,8,6,9,7,12,10,5,3,1,8,6,5,3,10,8,5,7,3,12,8,4,3,1,8,6,5,7,10,8,6,5,3,10,8,7,5,3,6,8,5,7,12,8,4,3,1,5,7,9,14,16,9,11,12,10,9,11,13,14,12,7,9,16,14,12,9,11,12,10,5,7,9,14,16,9,13,11,14,12,7,9,12,10,7,9,11,16,14,11,13,14,10,10,14,13,11,14,16,11,9,7,10,12,9,7,12,14,11,13,9,16,14,9,7,5,10,12,11,9,12,14,16,9,7,12,14,13,11,9,10,12,11,9,16,14,9,7,5,11,17,20,18,13,15,17,16,14,15,17,19,18,16,11,17,20,18,13,15,17,16,14,11,15,19,20,18,15,19,17,18,16,11,13,16,14,13,17,19,20,18,15,17,18,12,12,18,17,15,18,20,19,17,13,14,16,13,11,16,18,17,19,15,18,20,19,15,11,14,16,17,15,13,18,20,17,11,16,18,19,17,15,14,16,17,15,13,18,20,17,11,13,15,19,22,24,21,23,19,20,18,21,22,24,20,13,15,19,21,22,21,22,19,20,18,13,17,22,24,23,25,29,31,20,15,17,19,20,18,15,21,22,26,21,24,19,20,16,16,20,19,24,21,26,22,21,15,18,20,19,17,15,20,31,29,25,23,24,22,17,13,18,20,19,22,21,22,21,19,15,13,20,24,22,21,18,20,19,23,21,24,22,19,15,13,25,23,21,26,28,25,27,22,24,23,25,27,26,28,23,25,27,24,26,23,25,24,26,25,23,21,26,28,21,27,22,24,26,21,22,24,26,28,25,23,24,28,25,23,22,26,28,28,26,22,23,25,28,24,23,25,28,26,24,22,21,26,24,22,27,21,28,26,21,23,25,26,24,25,23,26,24,27,25,23,28,26,27,25,23,24,22,27,25,28,26,21,23,25,27,29,31,30,33,29,31,30,26,29,31,32,33,30,29,31,28,30,33,27,29,28,30,27,29,31,30,33,32,34,28,30,23,25,27,30,33,27,29,31,30,33,27,29,31,30,33,33,30,31,29,27,33,30,31,29,27,33,30,27,25,23,30,28,34,32,33,30,31,29,27,30,28,29,27,33,30,28,31,29,30,33,32,31,29,26,30,31,29,33,30,31,29,27,32,34,40,37,35,32,36,40,35,28,34,40,37,35,32,34,36,37,35,31,34,36,35,33,32,34,36,37,35,36,38,35,33,29,32,34,37,35,32,34,36,37,35,32,34,36,37,35,35,37,36,34,32,35,37,36,34,32,35,37,34,32,29,33,35,38,36,35,37,36,34,32,33,35,36,34,31,35,37,36,34,32,35,37,40,34,28,35,40,36,32,35,37,40,34,32,36,38,42,41,39,34,38,42,39,33,36,42,41,39,38,40,42,41,39,32,40,41,39,37,38,40,42,41,39,40,42,41,37,31,38,42,41,39,38,40,42,41,39,38,40,42,41,39,39,41,42,40,38,39,41,42,40,38,39,41,42,38,31,37,41,42,40,39,41,42,40,38,37,39,41,40,32,39,41,42,40,38,39,41,42,36,33,39,42,38,34,39,41,42,38,36,46,44,43,45,47,46,44,43,41,37,38,43,45,47,44,45,43,47,49,38,42,44,46,45,46,44,43,45,47,45,43,47,39,36,40,43,45,47,44,45,43,47,49,44,45,43,47,49,49,47,43,45,44,49,47,43,45,44,47,45,43,40,36,39,47,43,45,47,45,43,44,46,45,46,44,42,38,49,47,43,45,44,47,45,43,38,37,41,43,44,46,47,45,43,44,46,48,50,49,51,53,48,50,45,47,49,46,44,49,51,46,48,50,51,53,48,50,43,47,49,48,50,51,49,53,44,46,49,51,48,46,44,49,51,46,48,50,51,53,46,48,50,51,53,53,51,50,48,46,53,51,50,48,46,51,49,44,46,48,51,49,46,44,53,49,51,50,48,49,47,43,50,48,53,51,50,48,46,51,49,44,46,49,47,45,50,48,53,51,49,50,48,52,54,56,57,55,52,54,56,53,51,48,50,52,53,55,52,54,56,57,55,52,54,51,53,52,54,56,57,55,48,50,52,53,55,50,52,54,53,55,52,54,56,57,55,52,54,56,57,55,55,57,56,54,52,55,57,56,54,52,55,53,54,52,50,55,53,52,50,48,55,57,56,54,52,53,51,54,52,55,57,56,54,52,55,53,52,50,48,51,53,56,54,52,55,57,56,54,52,58,60,62,63,59,58,60,62,59,55,54,56,58,59,57,58,60,62,63,59,56,58,57,55,58,62,63,61,59,54,56,58,59,57,56,60,61,59,57,58,60,62,63,59,58,62,63,61,59,59,61,63,62,58,59,63,62,60,58,57,59,61,60,56,57,59,58,56,54,59,61,63,62,58,55,57,58,56,59,63,62,60,58,57,59,58,56,54,55,59,62,60,58,59,63,62,60,58,65,64,66,68,61,66,64,63,61,57,64,60,62,63,61,65,64,66,68,61,60,62,63,59,60,65,64,66,68,68,60,62,63,61,58,62,63,66,70,68,66,64,72,61,60,65,64,66,68,68,66,64,65,60,61,72,64,66,68,70,66,63,62,58,61,63,62,60,68,68,66,64,65,60,59,63,62,60,61,68,66,64,65,61,63,62,60,64,57,61,63,64,66,61,68,66,64,65,67,69,71,70,72,67,65,68,70,72,65,68,66,70,72,71,69,67,70,72,65,64,66,68,61,67,69,71,70,72,65,66,64,70,72,67,65,64,68,72,65,67,70,74,76,67,69,71,70,72,72,70,71,69,67,76,74,70,67,65,72,68,64,65,67,72,70,64,66,65,72,70,71,69,67,61,68,66,64,65,72,70,67,69,71,72,70,66,68,65,72,70,68,65,67,72,70,71,69,67,73,75,77,76,74,69,71,73,74,76,67,69,71,74,76,73,75,77,76,74,71,69,67,70,72,73,75,77,76,74,67,69,71,74,76,69,71,73,74,76,69,71,73,78,80,73,75,77,76,74,74,76,77,75,73,80,78,73,71,69,76,74,73,71,69,76,74,71,69,67,74,76,77,75,73,72,70,67,69,71,74,76,77,75,73,76,74,71,69,67,76,74,73,71,69,74,76,77,75,73,79,81,83,80,78,75,77,81,80,78,73,75,77,80,78,79,81,83,80,78,73,75,77,76,74,79,81,83,82,78,73,75,77,80,78,75,77,79,80,78,75,79,83,84,82,79,81,83,80,78,78,80,83,81,79,82,84,83,79,75,78,80,79,77,75,78,80,77,75,73,78,82,83,81,79,74,76,77,75,73,78,80,83,81,79,78,80,77,75,73,78,80,81,77,75,78,80,83,81,79,89,87,85,84,82,87,79,83,84,82,79,81,83,84,82,85,86,88,84,82,83,81,79,80,78,93,89,85,84,80,79,81,83,84,82,85,81,83,84,82,77,81,85,87,89,85,88,86,84,82,82,84,86,88,85,89,87,85,81,77,82,84,83,81,85,82,84,83,81,79,80,84,85,89,93,78,80,79,81,83,82,84,88,86,85,82,84,83,81,79,82,84,83,79,87,82,84,85,87,89,95,93,91,86,88,89,85,86,88,90,85,88,86,90,92,91,89,87,90,92,87,85,86,88,84,82,95,91,87,86,88,89,87,85,86,88,87,88,86,90,92,95,93,91,86,88,87,89,91,90,92,92,90,91,89,87,88,86,91,93,95,92,90,86,88,87,88,86,85,87,89,88,86,87,91,95,82,84,88,86,85,87,92,90,87,89,91,92,90,86,88,85,90,88,86,85,89,88,86,91,93,95,98,96,94,92,90,91,93,95,92,94,87,89,91,94,97,93,95,96,94,97,89,91,93,90,92,94,98,96,94,92,90,91,93,95,90,92,89,91,93,94,97,98,96,94,92,90,96,95,93,94,97,97,94,93,95,96,90,92,94,96,98,97,94,93,91,89,92,90,95,93,91,90,92,94,96,98,94,92,90,93,91,89,97,94,96,95,93,97,94,91,89,87,94,92,95,93,91,90,92,94,96,98,100,104,101,99,97,96,98,100,99,97,93,95,96,101,99,98,100,102,101,99,95,100,102,101,99,97,100,104,101,99,97,96,98,100,97,94,100,96,95,101,99,100,104,101,99,97,98,100,102,101,99,99,101,102,100,98,97,99,101,104,100,99,101,95,96,100,94,97,100,98,96,97,99,101,104,100,97,99,101,102,100,95,99,101,102,100,98,99,101,96,95,93,97,99,100,98,96,97,99,101,104,100,102,106,105,103,111,102,104,106,105,101,98,102,104,106,105,103,104,106,105,103,113,96,104,106,105,103,111,102,106,105,103,102,104,106,105,103,99,102,98,106,105,103,102,106,105,103,113,111,104,106,105,103,103,105,106,104,111,113,103,105,106,102,103,105,106,98,102,99,103,105,106,104,102,103,105,106,102,111,103,105,106,104,96,113,103,105,106,104,103,105,106,104,102,98,101,105,106,104,102,111,103,105,106,102,110,108,107,109,113,107,109,111,113,103,100,108,107,109,111,113,108,107,109,111,115,98,107,109,113,115,108,109,107,113,117,108,107,109,111,113,101,104,109,107,113,115,108,107,109,111,115,108,109,107,113,115,115,113,107,109,108,115,111,109,107,108,115,113,107,109,104,101,113,111,109,107,108,117,113,107,109,108,115,113,109,107,98,115,111,109,107,108,113,111,109,107,108,100,103,113,111,109,107,113,109,107,108,110,114,112,119,115,117,108,110,112,115,117,114,112,110,115,117,119,110,112,114,117,119,108,110,111,117,119,110,112,114,115,119,110,112,114,115,117,119,108,110,111,117,119,110,112,114,117,119,110,112,114,117,119,119,117,114,112,110,119,117,114,112,110,119,117,111,110,108,119,117,115,114,112,110,119,115,114,112,110,119,117,111,110,108,119,117,114,112,110,119,117,115,110,112,114,117,115,112,110,108,117,115,119,112,114,116,118,120,121,123,114,116,118,120,121,119,116,118,120,121,123,120,118,116,121,123,112,114,116,118,121,123,120,118,116,121,123,120,118,116,123,121,112,114,116,118,121,123,120,118,116,121,123,120,118,116,123,121,121,123,116,118,120,123,121,116,118,120,123,121,118,116,114,112,121,123,116,118,120,123,121,116,118,120,123,121,118,116,114,112,123,121,116,118,120,123,121,120,118,116,119,121,120,118,116,114,123,121,120,118,116,122,124,126,127,125,122,124,126,127,125,123,122,124,126,127,125,122,124,126,127,125,120,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,126,124,122,120,127,125,122,124,126,127,125,122,124,126,127,125,125,127,126,124,122,125,127,126,124,122,125,127,120,122,124,126,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,120,125,127,126,124,122,125,127,126,124,122,123,125,127,126,124,122,125,127,126,124,122,2,0,4,6,8,4,2,0,6,8,4,2,0,6,10,1,2,0,4,8,4,2,0,6,10,1,4,2,0,6,8,1,2,0,4,6,1,2,0,4,8,10,1,4,2,0,6,8,1,2,0,4,6,6,4,0,2,1,8,6,0,2,4,1,10,8,4,0,2,1,6,4,0,2,1,8,6,0,2,4,1,10,6,0,2,4,8,4,0,2,1,10,6,0,2,4,8,6,0,2,4,8,6,4,0,2,1,3,5,10,12,1,3,5,10,12,1,3,5,8,12,3,5,7,6,10,1,3,5,8,12,3,5,9,11,10,12,3,5,7,8,10,3,5,7,6,12,14,3,5,7,9,10,12,3,5,7,8,10,10,8,7,5,3,12,10,9,7,5,3,14,12,6,7,5,3,10,8,7,5,3,12,10,11,9,5,3,12,8,5,3,1,10,6,7,5,3,12,8,5,3,1,12,10,5,3,1,12,10,5,3,1,7,9,11,16,14,7,9,15,17,16,14,7,11,15,16,14,9,11,13,14,12,7,9,11,16,14,7,13,15,17,16,14,9,11,13,14,12,9,11,13,16,18,20,11,13,15,17,16,14,9,11,13,14,12,12,14,13,11,9,14,16,17,15,13,11,20,18,16,13,11,9,12,14,13,11,9,14,16,17,15,13,7,14,16,11,9,7,12,14,13,11,9,14,16,15,11,7,14,16,17,15,9,7,14,16,11,9,7,13,17,19,20,18,11,13,19,20,18,9,13,17,19,20,18,15,17,19,20,16,13,17,19,20,18,25,21,22,19,20,18,15,17,19,20,16,15,17,19,22,24,26,25,21,22,19,20,18,15,17,19,20,16,16,20,19,17,15,18,20,19,22,21,25,26,24,22,19,17,15,16,20,19,17,15,18,20,19,22,21,25,18,20,19,17,13,16,20,19,17,15,18,20,19,17,13,9,18,20,19,13,11,18,20,19,17,13,15,21,22,24,28,21,22,24,26,28,23,21,22,24,26,28,26,24,22,28,18,15,23,21,22,24,27,23,24,26,28,25,23,21,22,24,18,21,23,25,27,28,30,27,23,24,26,28,27,25,23,21,22,18,18,22,21,23,25,27,28,26,24,23,27,30,28,27,25,23,21,18,24,22,21,23,25,28,26,24,23,27,24,22,21,23,15,18,28,22,24,26,28,26,24,22,21,23,28,26,24,22,21,28,24,22,21,15,23,25,27,26,30,33,23,27,25,30,33,25,27,29,31,30,33,21,23,25,30,33,25,27,29,26,28,29,31,32,30,33,27,29,31,26,28,30,29,31,32,34,33,35,29,31,32,30,33,29,31,32,28,26,24,24,26,28,32,31,29,33,30,32,31,29,35,33,34,32,31,29,30,28,26,31,29,27,33,30,32,31,29,28,26,29,27,25,33,30,25,23,21,33,30,31,29,27,25,33,30,25,27,23,33,30,26,27,25,23,29,31,32,35,37,29,31,34,32,37,35,32,34,36,37,35,27,29,34,36,37,35,31,32,34,33,30,34,36,38,37,35,32,34,36,35,33,37,36,38,42,40,39,37,34,38,40,37,35,34,36,38,37,33,30,30,33,37,38,36,34,35,37,40,38,34,37,39,40,42,38,36,37,33,35,36,34,32,35,37,38,36,34,30,33,34,32,31,35,37,36,34,29,27,35,37,36,34,32,35,37,32,34,31,29,37,35,32,31,29,34,38,42,41,39,36,38,42,40,41,39,38,40,42,41,39,31,32,40,42,41,39,36,38,40,37,35,45,40,42,41,39,38,40,42,41,39,47,48,44,43,47,51,41,36,42,41,39,47,48,40,42,41,39,35,35,39,41,42,40,48,47,39,41,42,36,41,51,47,43,44,48,47,39,41,42,40,38,39,41,42,40,45,35,37,40,38,36,39,41,42,40,32,31,39,41,42,40,38,39,41,40,42,38,36,39,41,42,38,34,36,40,43,47,49,47,45,43,49,53,46,44,43,45,47,49,38,45,43,49,53,46,47,43,42,41,39,44,47,43,49,53,46,44,43,45,49,51,50,46,45,49,53,46,44,43,45,49,51,50,46,44,43,45,47,47,45,43,44,46,50,51,49,45,43,44,46,53,49,45,46,50,51,49,45,43,44,46,53,49,43,47,44,39,41,42,43,47,46,53,49,43,45,38,49,47,45,43,44,46,53,49,43,45,47,49,47,43,40,36,48,46,44,45,51,53,48,46,44,51,55,48,50,52,51,53,55,46,44,47,51,55,48,44,45,49,51,46,48,50,52,51,55,48,50,52,53,55,57,52,54,56,55,57,48,50,52,53,55,57,52,54,56,49,51,53,53,51,49,56,54,52,57,55,53,52,50,48,57,55,56,54,52,57,55,53,52,50,48,55,51,52,50,48,46,51,49,45,44,48,55,51,47,44,46,55,53,51,52,50,48,55,51,44,46,48,53,51,45,44,46,48,50,52,54,55,57,50,52,54,56,57,59,54,56,58,59,57,48,50,52,54,57,59,50,52,54,53,55,54,56,58,60,59,57,54,58,62,63,61,59,58,60,62,61,59,54,58,60,63,61,59,58,60,62,59,57,55,55,57,59,62,60,58,59,61,63,60,58,54,59,61,62,60,58,59,61,63,62,58,54,57,59,60,58,56,54,55,53,54,52,50,59,57,54,52,50,48,57,59,58,56,54,59,57,56,54,52,50,57,55,54,52,50,56,58,60,62,63,61,59,58,60,62,63,61,65,60,62,63,61,56,58,60,62,63,61,56,58,60,61,57,65,66,64,62,63,61,56,60,65,66,68,72,67,65,64,66,63,56,62,65,64,68,72,67,65,64,66,63,61,61,63,66,64,65,67,72,68,64,65,62,56,63,66,64,65,67,72,68,66,65,60,56,61,63,62,64,66,65,57,61,60,58,56,61,63,62,60,58,56,61,63,62,60,65,61,63,62,60,58,59,61,63,62,60,58,56,68,66,64,70,74,65,68,66,64,70,72,69,67,64,66,68,70,65,66,64,68,70,65,64,66,62,63,59,67,69,68,70,72,71,69,67,64,70,74,73,71,69,68,70,72,71,69,67,66,70,74,73,71,69,68,70,72,72,70,68,69,71,73,74,70,66,67,69,71,72,70,68,69,71,73,74,70,64,67,69,71,72,70,68,69,67,59,63,62,66,64,65,70,68,64,66,65,70,68,66,64,67,69,72,70,64,66,68,65,74,70,64,66,68,65,67,69,72,76,67,69,71,73,74,76,71,73,72,74,76,67,69,71,73,72,74,67,69,71,68,70,71,73,75,78,76,74,73,75,77,76,78,80,75,77,79,78,76,74,73,75,81,80,78,76,75,77,79,78,76,74,74,76,78,79,77,75,76,78,80,81,75,73,74,76,78,79,77,75,80,78,76,77,75,73,74,76,78,75,73,71,70,68,71,69,67,74,72,73,71,69,67,76,74,72,73,71,76,74,73,71,69,67,76,72,69,67,65,71,73,75,77,80,78,75,77,79,80,78,75,77,83,82,80,78,75,77,79,83,80,76,73,75,76,74,72,77,81,83,84,82,80,79,81,83,84,82,90,85,81,83,84,82,80,77,79,83,84,82,88,87,81,83,84,82,80,80,82,84,83,81,87,88,82,84,83,79,77,80,82,84,83,81,85,90,82,84,83,81,79,80,82,84,83,81,77,72,74,76,75,73,76,80,83,79,77,75,78,80,82,83,77,75,78,80,79,77,75,78,80,77,75,73,71,87,79,81,83,84,82,89,81,83,84,82,79,81,84,88,92,94,91,89,81,84,82,78,77,83,82,80,78,79,85,88,86,90,92,89,87,85,86,88,92,89,87,86,88,90,92,91,89,87,85,86,90,89,85,86,88,90,92,92,90,88,86,85,89,90,86,85,87,89,91,92,90,88,86,87,89,92,88,86,85,87,89,92,90,86,88,85,79,78,80,82,83,77,78,82,84,81,89,91,94,92,88,84,81,79,82,84,83,81,89,82,84,83,81,79,87,91,89,85,86,88,90,93,91,87,85,86,88,87,85,86,90,97,95,93,87,85,86,88,79,81,84,85,87,86,87,89,91,93,94,97,91,93,95,96,94,97,91,93,95,94,97,99,93,95,96,98,94,92,91,93,95,94,97,99,99,97,94,95,93,91,92,94,98,96,95,93,99,97,94,95,93,91,97,94,96,95,93,91,97,94,93,91,89,87,86,87,85,84,81,79,88,86,85,87,93,95,97,90,86,85,87,88,86,85,87,91,93,90,88,86,85,89,91,93,95,96,97,94,92,95,96,98,100,92,90,89,91,93,99,101,96,98,100,94,92,90,93,91,89,88,90,92,95,96,98,100,101,99,98,100,102,104,101,99,96,98,106,105,103,101,100,102,104,106,99,97,96,102,104,105,103,101,101,103,105,104,102,96,97,99,106,104,102,100,101,103,105,106,98,96,99,101,104,102,100,98,99,101,100,98,96,95,92,90,88,89,91,93,90,92,94,100,98,96,101,99,93,91,89,90,92,100,98,96,95,92,94,97,96,95,93,98,102,106,103,101,99,102,104,106,99,97,94,95,96,102,106,105,103,102,104,106,101,99,97,95,96,98,99,97,94,102,104,106,105,103,113,110,108,109,106,105,103,100,102,104,107,109,113,112,108,107,105,103,101,98,100,106,107,109,113,113,109,107,106,100,98,101,103,105,107,108,112,113,109,107,104,102,100,103,105,106,109,108,110,113,103,105,106,104,102,94,97,99,98,96,95,97,99,101,106,104,102,103,105,106,102,96,95,94,97,99,106,104,102,99,101,103,106,102,98,100,104,105,107,111,113,110,107,111,105,103,101,98,100,104,107,111,113,110,107,109,105,103,100,102,104,106,105,103,101,110,108,107,109,111,115,114,112,107,111,113,115,114,112,110,108,111,115,114,110,109,111,113,115,114,112,110,108,111,115,115,111,108,110,112,114,115,113,111,109,110,114,115,111,108,110,112,114,115,113,111,107,112,114,115,111,109,107,108,110,101,103,105,106,104,102,100,103,105,109,107,110,113,111,107,104,100,98,101,103,105,111,107,110,113,111,107,105,104,100,114,112,110,108,109,115,114,112,108,109,113,115,114,112,110,108,109,115,114,112,108,111,113,115,110,108,107,109,111,113,115,112,114,116,117,119,121,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,121,119,117,116,118,120,117,119,121,121,119,117,120,118,116,117,119,121,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,121,119,117,116,114,112,115,113,111,109,107,108,110,115,113,111,108,112,114,115,109,108,110,112,114,115,113,109,108,112,114,115,109,108,110,112,114,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,121,119,117,112,114,116,118,117,119,121,118,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,118,121,119,117,118,116,114,112,117,119,121,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,120,122,124,126,127,125,123,120,122,5,0,2,4,5,3,1,0,2,4,7,5,3,1,0,2,5,3,1,0,2,4,7,5,3,1,0,2,2,0,1,3,5,7,4,2,0,1,3,5,2,0,1,3,5,7,4,2,0,1,3,5,4,2,0,5,122,120,123,125,127,126,124,122,120,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,7,5,3,1,0,2,7,5,3,1,0,2,4,1,0,2,4,6,8,5,3,1,0,2,4,7,5,3,1,0,2,4,9,7,3,1,6,8,7,9,12,10,8,6,13,11,9,8,6,4,7,9,6,8,10,12,13,11,9,8,6,4,4,6,8,9,11,13,12,10,8,6,9,7,4,6,8,9,11,13,6,8,10,12,9,7,8,6,1,3,7,9,4,2,0,1,3,5,7,4,2,0,1,3,5,8,6,4,2,0,1,4,2,0,1,3,5,7,2,0,1,3,5,7,13,11,9,8,6,4,9,11,12,10,8,6,9,7,5,3,10,12,14,7,9,12,10,8,6,13,11,9,12,10,8,6,11,13,15,14,12,10,11,15,20,18,16,14,15,17,19,14,12,10,11,15,20,18,16,14,15,17,19,14,12,10,10,12,14,19,17,15,14,16,18,20,15,11,10,12,14,19,17,15,14,16,18,20,15,11,10,12,14,15,13,11,6,8,10,12,9,11,13,6,8,10,12,9,7,14,12,10,3,5,7,9,6,8,10,12,11,9,4,6,8,9,11,13,15,17,19,14,12,10,13,17,19,20,18,16,14,11,15,19,20,18,16,11,15,19,20,18,16,14,15,17,19,20,18,16,14,21,17,19,20,18,16,13,17,19,23,21,22,25,23,21,20,18,16,13,17,19,25,23,21,25,23,21,20,18,16,16,18,20,21,23,25,21,23,25,19,17,13,16,18,20,21,23,25,22,21,23,19,17,13,16,18,20,19,17,21,14,16,18,20,19,17,15,14,16,18,20,19,15,11,16,18,20,19,15,11,14,16,18,20,19,17,13,10,12,14,19,17,15,23,21,22,20,18,16,15,27,25,23,21,22,24,13,17,25,23,21,22,13,17,25,23,21,22,24,29,27,25,23,21,22,25,23,22,24,26,28,31,29,27,25,24,26,28,29,27,22,24,26,28,31,29,27,22,24,26,29,27,22,24,26,28,28,26,24,22,27,29,26,24,22,27,29,31,28,26,24,22,27,29,28,26,24,25,27,29,31,28,26,24,22,23,25,22,21,23,25,27,29,24,22,21,23,25,17,13,22,21,23,25,17,13,24,22,21,23,25,27,15,16,18,20,22,21,23,29,27,25,24,26,28,29,31,32,26,28,30,33,31,29,27,32,24,26,28,31,29,27,26,28,30,36,34,32,31,28,26,24,31,29,27,30,33,35,32,34,36,30,33,35,36,34,32,31,30,33,35,36,34,32,33,30,28,34,32,31,35,33,30,30,33,35,31,32,34,28,30,33,32,34,36,35,33,30,31,32,34,36,35,33,30,36,34,32,35,33,30,27,29,31,24,26,28,31,32,34,36,30,28,26,27,29,31,28,26,24,32,27,29,31,33,30,28,26,32,31,29,28,26,24,25,27,29,31,32,34,35,33,30,34,38,42,41,39,37,35,34,36,38,42,35,33,30,32,38,40,37,35,33,38,40,42,37,35,33,30,32,38,42,41,39,37,38,40,42,41,39,37,48,38,40,42,41,39,37,38,40,42,41,39,35,36,40,42,41,39,37,37,39,41,42,40,36,35,39,41,42,40,38,37,39,41,42,40,38,48,37,39,41,42,40,38,37,39,41,42,38,32,30,33,35,37,42,40,38,33,35,37,40,38,32,30,33,35,42,38,36,34,35,37,39,41,42,38,34,30,33,35,34,32,31,36,38,40,42,41,39,37,36,40,48,46,44,43,45,44,43,40,41,39,37,34,36,42,41,39,45,47,44,43,45,47,41,39,34,36,40,44,43,47,49,48,46,44,43,45,47,50,46,44,43,45,47,48,46,44,43,45,47,37,38,48,46,44,43,45,45,43,44,46,48,38,37,47,45,43,44,46,48,47,45,43,44,46,50,47,45,43,44,46,48,49,47,43,44,40,36,34,39,41,47,45,43,44,47,45,39,41,42,36,34,37,39,41,40,43,44,45,43,44,46,48,40,36,37,39,41,42,40,38,36,50,48,46,44,43,45,47,56,54,52,50,47,49,48,46,45,47,49,51,53,50,48,46,44,43,49,51,46,48,50,49,51,53,52,50,48,46,45,51,50,52,54,55,53,51,49,52,54,56,53,51,49,54,52,50,49,51,53,55,50,52,54,51,49,47,47,49,51,54,52,50,55,53,51,49,50,52,54,49,51,53,56,54,52,49,51,53,55,54,52,50,51,45,46,48,50,52,53,51,49,50,48,46,51,49,43,44,46,48,50,53,51,49,47,45,46,48,49,47,50,52,54,56,47,45,43,44,46,48,50,56,54,52,49,51,53,55,58,60,62,55,53,51,56,54,52,50,59,57,55,52,54,56,57,55,53,52,54,60,61,59,57,55,54,56,58,57,55,53,56,60,62,63,61,59,57,58,60,62,59,57,55,56,60,62,63,61,59,57,56,58,60,57,55,53,53,55,57,60,58,56,57,59,61,63,62,60,56,55,57,59,62,60,58,57,59,61,63,62,60,56,53,55,57,58,56,54,55,57,59,61,60,54,52,53,55,57,56,54,52,55,57,59,50,52,54,56,51,53,55,62,60,58,55,53,51,49,52,54,56,58,60,62,63,61,59,57,67,65,63,61,59,57,58,60,62,63,61,66,70,67,58,60,62,63,61,59,56,58,62,63,66,68,70,69,60,62,63,61,59,58,67,65,64,66,68,70,67,65,64,66,63,61,58,69,67,65,64,66,68,69,67,62,63,61,59,59,61,63,62,67,69,68,66,64,65,67,69,58,61,63,66,64,65,67,70,68,66,64,65,67,58,59,61,63,62,60,69,70,68,66,63,62,58,56,59,61,63,62,60,58,67,70,66,61,63,62,60,58,57,59,61,63,65,67,57,59,61,63,62,60,58,67,65,64,66,68,70,72,69,64,66,68,70,72,71,69,67,65,64,68,72,69,65,64,66,68,70,72,71,69,67,65,64,72,73,71,67,65,64,66,68,73,71,69,72,74,76,75,73,71,69,68,70,72,75,73,71,70,72,74,76,73,71,65,64,66,68,68,66,64,65,71,73,76,74,72,70,71,73,75,72,70,68,69,71,73,75,76,74,72,69,71,73,68,66,64,65,67,71,73,72,64,65,67,69,71,72,70,68,66,64,65,69,72,68,64,65,67,69,71,72,70,68,66,64,69,72,70,68,66,64,65,67,75,73,71,69,74,76,78,71,73,75,77,74,76,78,79,77,75,73,74,76,78,71,73,75,77,74,76,78,77,75,73,78,76,74,79,77,75,70,72,74,76,79,77,75,82,80,78,77,79,81,83,78,76,74,77,81,84,82,80,78,79,77,75,76,74,72,70,70,72,74,76,75,77,79,78,80,82,84,81,77,74,76,78,83,81,79,77,78,80,82,75,77,79,76,74,72,70,75,77,79,74,76,78,73,75,77,78,76,74,77,75,73,71,78,76,74,73,75,77,79,78,76,74,77,75,73,71,78,76,74,69,71,73,75,77,79,81,83,84,82,80,91,79,81,83,84,82,80,81,83,84,82,80,90,93,79,81,83,84,82,80,79,81,83,84,82,80,88,93,81,83,84,82,80,78,81,83,84,85,86,88,95,93,91,89,84,82,80,79,83,91,87,86,90,93,81,83,84,82,80,78,78,80,82,84,83,81,93,90,86,87,91,83,79,80,82,84,89,91,93,95,88,86,85,84,83,81,78,80,82,84,83,81,93,88,80,82,84,83,81,79,80,82,84,83,81,79,93,90,80,82,84,83,81,80,82,84,83,81,79,91,80,82,84,83,81,79,77,93,91,89,87,85,86,88,95,93,89,87,85,86,88,91,89,87,85,86,88,92,95,91,89,87,85,86,88,93,91,89,87,85,86,90,95,91,89,87,85,86,88,93,91,89,87,90,92,100,98,96,87,85,86,88,95,93,89,85,88,92,95,91,89,85,87,86,88,88,86,87,85,89,91,95,92,88,85,89,93,95,88,86,85,87,96,98,100,92,90,87,89,91,93,88,86,85,87,89,91,95,90,86,85,87,89,91,93,88,86,85,87,89,91,95,92,88,86,85,87,89,91,88,86,85,87,89,93,95,88,86,85,87,89,91,93,98,96,95,97,94,92,90,100,98,96,97,94,92,90,98,96,95,93,94,97,99,100,98,96,97,94,92,90,98,96,95,99,97,94,92,100,98,96,97,94,92,90,98,96,95,99,97,94,102,104,106,97,94,92,90,100,98,96,99,97,94,100,98,96,97,94,92,90,90,92,94,97,96,98,100,94,97,99,96,98,100,90,92,94,97,106,104,102,94,97,99,95,96,98,90,92,94,97,96,98,100,92,94,97,99,95,96,98,90,92,94,97,96,98,100,99,97,94,93,95,96,98,90,92,94,97,96,98,100,90,92,94,97,95,96,98,100,104,106,105,103,101,99,102,104,106,105,103,101,99,100,102,104,106,105,103,101,102,104,106,105,103,101,99,100,102,104,106,105,103,101,102,104,106,105,103,101,99,100,102,104,106,105,103,101,112,108,107,105,103,101,99,102,104,106,105,103,101,102,104,106,105,103,101,99,99,101,103,105,106,104,102,101,103,105,106,104,102,99,101,103,105,107,108,112,101,103,105,106,104,102,100,99,101,103,105,106,104,102,101,103,105,106,104,102,100,99,101,103,105,106,104,102,101,103,105,106,104,102,100,99,101,103,105,106,104,102,99,101,103,105,106,104,100,102,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,110,109,111,113,115,114,112,110,108,107,109,111,114,112,110,108,107,109,111,111,109,107,108,110,112,114,111,109,107,108,110,112,114,115,113,111,109,110,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,102,118,116,114,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,116,118,120,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,120,118,116,121,119,117,120,118,116,119,117,115,113,120,118,116,119,117,115,113,113,115,117,119,116,118,120,113,115,117,119,116,118,120,117,119,121,116,118,120,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,120,118,116,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,114,116,118,120,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,122,124,126,127,125,123,121,122,124,126,127,125,123,121,121,123,125,127,126,124,122,121,123,125,127,126,124,122,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,120};
+const Int_t AliHLTTPCMapping::fgkOFecCon[fgkNOROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,1,1,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,3,3,3,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,3,3,3,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,3,3,2,2,2,3,2,2,2,2,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,2,2,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,4,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,3,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5};
similarity index 88%
rename from HLT/misc/AliL3TPCMapping.cxx
rename to HLT/misc/AliHLTTPCMapping.cxx
index 612125ea4a683aa8cbb86c178b653ec3f7d960b6..65499c980a1b6c20b729d232199c5b34e45fd650 100644 (file)
@@ -3,34 +3,34 @@
 // Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3TPCMapping.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTPCMapping.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 //generated from Ulis txt file with read-roc.sh
-#include "AliL3TPCMapping-iroc.generated"
-#include "AliL3TPCMapping-oroc.generated"
+#include "AliHLTTPCMapping-iroc.generated"
+#include "AliHLTTPCMapping-oroc.generated"
 
 
-Int_t AliL3TPCMapping::GetRealNPads(Int_t slicerow)
+Int_t AliHLTTPCMapping::GetRealNPads(Int_t slicerow)
 { 
   //see tpc numbering doc
 
-  if(slicerow<0 || slicerow >= AliL3Transform::GetNRows()){
-    LOG(AliL3Log::kError,"AliL3TPCMapping::GetRealNPads","Slicerow")
+  if(slicerow<0 || slicerow >= AliHLTTransform::GetNRows()){
+    LOG(AliHLTLog::kError,"AliHLTTPCMapping::GetRealNPads","Slicerow")
       <<"Wrong slicerow "<<slicerow<<ENDLOG;
     return -1; 
   }
 
   const Float_t k1=0.293878;// == 10/6*tan(10)
   const Float_t k2=0.440817;// == 15/6*tan(10)
-  const Int_t knRowLow=AliL3Transform::GetNRowLow();
-  const Int_t knRowUp1=AliL3Transform::GetNRowUp1();
+  const Int_t knRowLow=AliHLTTransform::GetNRowLow();
+  const Int_t knRowUp1=AliHLTTransform::GetNRowUp1();
 
   if(slicerow==0) return 68;
   else if(slicerow<knRowLow){
@@ -50,17 +50,17 @@ Int_t AliL3TPCMapping::GetRealNPads(Int_t slicerow)
   }
 }
 
-Double_t AliL3TPCMapping::GetRealX(Int_t slicerow)
+Double_t AliHLTTPCMapping::GetRealX(Int_t slicerow)
 { 
   //see tpc numbering doc
-  if(slicerow<0 || slicerow >= AliL3Transform::GetNRows()){
-    LOG(AliL3Log::kError,"AliL3TPCMapping::GetRealX","Slicerow")
+  if(slicerow<0 || slicerow >= AliHLTTransform::GetNRows()){
+    LOG(AliHLTLog::kError,"AliHLTTPCMapping::GetRealX","Slicerow")
       <<"Wrong slicerow "<<slicerow<<ENDLOG;
     return -1; 
   }
 
-  const Int_t knRowLow=AliL3Transform::GetNRowLow();
-  const Int_t knRowUp1=AliL3Transform::GetNRowUp1();
+  const Int_t knRowLow=AliHLTTransform::GetNRowLow();
+  const Int_t knRowUp1=AliHLTTransform::GetNRowUp1();
 
   if(slicerow<knRowLow){
     return (85.225+0.75*slicerow);
@@ -76,23 +76,23 @@ Double_t AliL3TPCMapping::GetRealX(Int_t slicerow)
   }
 }
 
-Double_t AliL3TPCMapping::GetRealY(Int_t slicerow, Int_t pad)
+Double_t AliHLTTPCMapping::GetRealY(Int_t slicerow, Int_t pad)
 { 
   //see tpc numbering doc
-  if(slicerow<0 || slicerow >= AliL3Transform::GetNRows()){
-    LOG(AliL3Log::kError,"AliL3Transform::GetRealY","Slicerow")
+  if(slicerow<0 || slicerow >= AliHLTTransform::GetNRows()){
+    LOG(AliHLTLog::kError,"AliHLTTransform::GetRealY","Slicerow")
       <<"Wrong slicerow "<<slicerow<<ENDLOG;
     return -1; 
   }
 
   Int_t npads=GetRealNPads(slicerow);
   if(pad<0 || pad >= npads){
-    LOG(AliL3Log::kError,"AliL3Transform::GetRealY","pad")
+    LOG(AliHLTLog::kError,"AliHLTTransform::GetRealY","pad")
       <<"Wrong pad "<<pad<<" npads " <<npads<<ENDLOG;
     return 0.; 
   }
 
-  const Int_t knRowLow=AliL3Transform::GetNRowLow();
+  const Int_t knRowLow=AliHLTTransform::GetNRowLow();
 
   if(slicerow<knRowLow){
     return (0.4*pad+0.2-0.2*npads);
similarity index 93%
rename from HLT/misc/AliL3TPCMapping.h
rename to HLT/misc/AliHLTTPCMapping.h
index 15269241e255b80b664299803ceb5e6b0d499685..c884af4df995f5e95ae2d072d70f29f509c93ec5 100644 (file)
@@ -3,16 +3,16 @@
 #ifndef ALIL3TPCMAPPING_H
 #define ALIL3TPCMAPPING_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
 #define fNIROC_def 5504 //see ulis file
 #define fNOROC_def 9984 //see ulis file
 
 
-class AliL3TPCMapping {
+class AliHLTTPCMapping {
 
  public:
-  virtual ~AliL3TPCMapping() {}
+  virtual ~AliHLTTPCMapping() {}
   //taken from GSI TPC numbering document
   static Int_t GetRealNPads(Int_t slicerow);           //Number of pads per row
   static Double_t GetRealX(Int_t slicerow);            //Local X in cm for modules 0,36
@@ -37,8 +37,11 @@ class AliL3TPCMapping {
   static const Int_t fgkOFecChannel[fNOROC_def]; // Outer fec(?) channel
   static const Int_t fgkOFecCon[fNOROC_def]; // Outer fec(?) con(?)
 
-  ClassDef(AliL3TPCMapping,1)
+  ClassDef(AliHLTTPCMapping,1)
 };
+
+typedef AliHLTTPCMapping AliL3TPCMapping; // for backward compatibility
+
 #endif
 
 
@@ -98,6 +101,4 @@ class TPCMapping
        short fIRORC [5504][8];
        int fsizeoffIRORC;
 };
-
-
 #endif
similarity index 92%
rename from HLT/misc/AliL3TransBit.cxx
rename to HLT/misc/AliHLTTransBit.cxx
index 2fb9d684b4fec15610192022e40d9b764df0d8f8..b31383963d5eb1fd1dbc1f95c49acfb6dcabd82f 100644 (file)
@@ -3,9 +3,9 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright & copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3TransBit.h"
+#include "AliHLTTransBit.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -27,10 +27,10 @@ using namespace std;
  **************************************************************************/
 
 
-/** \class AliL3Transbit
+/** \class AliHLTTransbit
 <pre>
 //_____________________________________________________________
-// AliL3Transbit (taken from the offline AliROOT code,
+// AliHLTTransbit (taken from the offline AliROOT code,
 // original author: Marian Ivanov, GSI Darmstadt for AliROOT)
 //
 // Time Projection Chamber ADC bit compresion lookup table
@@ -66,11 +66,11 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3TransBit)
-ClassImp(AliL3TransBitV1)
-ClassImp(AliL3TransBitV2)
+ClassImp(AliHLTTransBit)
+ClassImp(AliHLTTransBitV1)
+ClassImp(AliHLTTransBitV2)
 
-AliL3TransBit::AliL3TransBit()
+AliHLTTransBit::AliHLTTransBit()
 {
   // default constructor
   fTable0 = 0;
@@ -80,14 +80,14 @@ AliL3TransBit::AliL3TransBit()
   fX0     = 0;
 }
 
-AliL3TransBit::~AliL3TransBit() 
+AliHLTTransBit::~AliHLTTransBit() 
 {
   // destructor
   if (fTable0!=0) delete [] fTable0;
   if (fTable1!=0) delete [] fTable1;
 }
 
-Double_t AliL3TransBitV1::FindOptimumX0()
+Double_t AliHLTTransBitV1::FindOptimumX0()
 {
   //find x0 for which derivation at xder1 is equal 1
   Int_t x0=(Int_t)rint(exp(fBit0*log(2.)));
@@ -111,7 +111,7 @@ Double_t AliL3TransBitV1::FindOptimumX0()
   return fX0;
 }
 
-void AliL3TransBitV1::Update()
+void AliHLTTransBitV1::Update()
 {
   //construct lookup tables for loosy compression from 
   if (fX0<1) fX0 = FindOptimumX0();  
@@ -139,7 +139,7 @@ void AliL3TransBitV1::Update()
   return;
 }
 
-Double_t AliL3TransBitV2::FindOptimumX0()
+Double_t AliHLTTransBitV2::FindOptimumX0()
 {
   //find x0 for which derivation at xder1 is equal 1
   const Float_t kxder1=1;
@@ -158,7 +158,7 @@ Double_t AliL3TransBitV2::FindOptimumX0()
   return fX0;
 }
 
-void AliL3TransBitV2::Update()
+void AliHLTTransBitV2::Update()
 {
   //construct lookup tables for loosy compresion from 
   if (fX0<1) fX0 = FindOptimumX0();  
similarity index 57%
rename from HLT/misc/AliL3TransBit.h
rename to HLT/misc/AliHLTTransBit.h
index 36eceb55849273c91a03673719331cc4e8de591c..3c647e869ad540b87f67268ead077ea43f999518 100644 (file)
@@ -3,12 +3,12 @@
 #ifndef ALIL3TRANSBIT_H
 #define ALIL3TRANSBIT_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3TransBit {
+class AliHLTTransBit {
  public:
-  AliL3TransBit();
-  virtual ~AliL3TransBit();
+  AliHLTTransBit();
+  virtual ~AliHLTTransBit();
   inline Int_t Get0to1(Int_t val0) const;
   inline Int_t Get1to0(Int_t val1) const;
   Int_t GetBit0() const {return fBit0;}
@@ -25,36 +25,42 @@ class AliL3TransBit {
   Int_t fBit1; // bit 1
   Double_t fX0; // optimal X value(?)
 
-  ClassDef(AliL3TransBit,1)
+  ClassDef(AliHLTTransBit,1)
 };
 
-class AliL3TransBitV1 : public AliL3TransBit {
+typedef AliHLTTransBit AliL3TransBit; // for backward compatibility
+
+class AliHLTTransBitV1 : public AliHLTTransBit {
  public:
-  virtual ~AliL3TransBitV1(){}
+  virtual ~AliHLTTransBitV1(){}
   virtual void Update();
   virtual Double_t FindOptimumX0();
  protected:
   
-  ClassDef(AliL3TransBitV1,1)
+  ClassDef(AliHLTTransBitV1,1)
 };
 
-class AliL3TransBitV2 : public AliL3TransBit {
+typedef AliHLTTransBitV1 AliL3TransBitV1; // for backward compatibility
+
+class AliHLTTransBitV2 : public AliHLTTransBit {
  public:
-  virtual ~AliL3TransBitV2(){}
+  virtual ~AliHLTTransBitV2(){}
   virtual void Update();
   virtual Double_t FindOptimumX0();
  protected:
 
-  ClassDef(AliL3TransBitV2,1)
+  ClassDef(AliHLTTransBitV2,1)
 };
 
-Int_t AliL3TransBit::Get0to1(Int_t val0) const
+typedef AliHLTTransBitV2 AliL3TransBitV2; // for backward compatibility
+
+Int_t AliHLTTransBit::Get0to1(Int_t val0) const
 {
   //return compressed bit values
   return fTable0[val0];
 }
  
-Int_t AliL3TransBit::Get1to0(Int_t val1) const
+Int_t AliHLTTransBit::Get1to0(Int_t val1) const
 {
   //return uncompressed bit value
   return fTable1[val1];
similarity index 83%
rename from HLT/misc/AliL3VHDLClusterFinder.cxx
rename to HLT/misc/AliHLTVHDLClusterFinder.cxx
index 21c28671610a71a9bc173a4eb878e13e7ccea4ca..527f7f8cd9a6c506fd264b40c55e769e1dbb8cea 100644 (file)
@@ -2,10 +2,10 @@
 
 // Author: Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright & copy ALICE HLT Group
-/** \class AliL3VHDLClusterFinder
+/** \class AliHLTVHDLClusterFinder
 <pre>
 //____________________________________________________
-// AliL3VHDLClusterFinder
+// AliHLTVHDLClusterFinder
 //
 // The current VHDL cluster finder for HLT
 // Based on STAR L3
 </pre> 
 */
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3AltroMemHandler.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTAltroMemHandler.h"
 
 //#define VHDLDEBUG
-#include "AliL3VHDLClusterFinder.h"
+#include "AliHLTVHDLClusterFinder.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 
-ClassImp(AliL3VHDLClusterFinder)
+ClassImp(AliHLTVHDLClusterFinder)
 
-AliL3VHDLClusterFinder::AliL3VHDLClusterFinder()
+AliHLTVHDLClusterFinder::AliHLTVHDLClusterFinder()
 {
   // default constructor
   fMatch = 4;
@@ -53,7 +53,7 @@ AliL3VHDLClusterFinder::AliL3VHDLClusterFinder()
 #endif
 }
 
-AliL3VHDLClusterFinder::~AliL3VHDLClusterFinder()
+AliHLTVHDLClusterFinder::~AliHLTVHDLClusterFinder()
 {
   // destructor
 #ifdef VHDLDEBUG
@@ -61,7 +61,7 @@ AliL3VHDLClusterFinder::~AliL3VHDLClusterFinder()
 #endif
 }
 
-void AliL3VHDLClusterFinder::ProcessDigits()
+void AliHLTVHDLClusterFinder::ProcessDigits()
 {
   //Loop over data like the analyzer of the VHDL code
   const UChar_t kn=255;
@@ -143,7 +143,7 @@ void AliL3VHDLClusterFinder::ProcessDigits()
   while(fOP!=fFP) OutputMemory();
 }
 
-void AliL3VHDLClusterFinder::MakeSequence(){
+void AliHLTVHDLClusterFinder::MakeSequence(){
   // makes the sequence
   if(!fTC) return;
 
@@ -165,7 +165,7 @@ void AliL3VHDLClusterFinder::MakeSequence(){
   else fSeq.fLastCharge=0;
 }
 
-void AliL3VHDLClusterFinder::ProcessSequence()
+void AliHLTVHDLClusterFinder::ProcessSequence()
 {
   // processes the sequence
   if(fNRow!=fRow) FlushMemory();
@@ -183,7 +183,7 @@ void AliL3VHDLClusterFinder::ProcessSequence()
   CompareSeq(); //merge or insert
 }
 
-void AliL3VHDLClusterFinder::PrepareMemory()
+void AliHLTVHDLClusterFinder::PrepareMemory()
 {
   // prepares the memory
 #ifdef VHDLDEBUG
@@ -193,7 +193,7 @@ void AliL3VHDLClusterFinder::PrepareMemory()
   fEP=fWP;
 }
 
-void AliL3VHDLClusterFinder::FlushMemory()
+void AliHLTVHDLClusterFinder::FlushMemory()
 {
   // flushes the memory
 #ifdef VHDLDEBUG
@@ -204,7 +204,7 @@ void AliL3VHDLClusterFinder::FlushMemory()
   fEP=fWP;
 }
 
-void AliL3VHDLClusterFinder::CompareSeq()
+void AliHLTVHDLClusterFinder::CompareSeq()
 {
   // compares sequences
   while(fRP!=fEP){
@@ -224,18 +224,18 @@ void AliL3VHDLClusterFinder::CompareSeq()
   InsertSeq(); //start new cluster
 }
 
-void AliL3VHDLClusterFinder::MergeSeq()
+void AliHLTVHDLClusterFinder::MergeSeq()
 {
   // merges sequences
 #ifdef VHDLDEBUG
   fprintf(fdeb,"merged with Mean=%d TC=%d (new Merge=%d) %d %d\n",fSeqs[fPList[fRP]].fMean,fSeqs[fPList[fRP]].fTotalCharge,fSeqs[fPList[fRP]].fMerge+1,fRow,fPad);
 #endif
   if(fSeqs[fPList[fRP]].fRow!=fSeq.fRow){
-    LOG(AliL3Log::kWarning,"AliL3VHDLClusterFinder::","Memory Check")
+    LOG(AliHLTLog::kWarning,"AliHLTVHDLClusterFinder::","Memory Check")
       <<"Sequences can be merged on the same rows only."<<ENDLOG;
   }
   if(fSeqs[fPList[fRP]].fLastPad+1!=fSeq.fLastPad){
-    LOG(AliL3Log::kWarning,"AliL3VHDLClusterFinder::","Memory Check")
+    LOG(AliHLTLog::kWarning,"AliHLTVHDLClusterFinder::","Memory Check")
       <<"Sequences can be merged on consecutive pads only."<<ENDLOG;
   }
   
@@ -268,7 +268,7 @@ void AliL3VHDLClusterFinder::MergeSeq()
   IncWPointer();
 }
 
-void AliL3VHDLClusterFinder::InsertSeq()
+void AliHLTVHDLClusterFinder::InsertSeq()
 {
   // inserts sequence
 #ifdef VHDLDEBUG
@@ -280,7 +280,7 @@ void AliL3VHDLClusterFinder::InsertSeq()
   IncWPointer();
 }
 
-void AliL3VHDLClusterFinder::OutputMemory()
+void AliHLTVHDLClusterFinder::OutputMemory()
 {
   // output memory?
   Float_t mtime=0,mpad=0;
@@ -339,14 +339,14 @@ void AliL3VHDLClusterFinder::OutputMemory()
   }
 }
 
-void AliL3VHDLClusterFinder::FreeSeq(UShort_t i)
+void AliHLTVHDLClusterFinder::FreeSeq(UShort_t i)
 {
   // frees the sequence
   ClearSeq(i);
   IncPointer(fLast,1,N_clmem);
 }
 
-void AliL3VHDLClusterFinder::Clear()
+void AliHLTVHDLClusterFinder::Clear()
 {
   // clears everything
   fFirst=0; //first list pointer
@@ -372,7 +372,7 @@ void AliL3VHDLClusterFinder::Clear()
   for(UInt_t i=0;i<N_clmem;i++) ClearSeq(i);
 }
 
-void AliL3VHDLClusterFinder::ClearSeq(UShort_t i){
+void AliHLTVHDLClusterFinder::ClearSeq(UShort_t i){
   // clears a sequence
   fSeqs[i].fRow=0;
   fSeqs[i].fLastPad=0;
@@ -385,7 +385,7 @@ void AliL3VHDLClusterFinder::ClearSeq(UShort_t i){
   fSeqs[i].fMerge=0;
 }
 
-void AliL3VHDLClusterFinder::IncPointer(UShort_t &p, Short_t add, UShort_t N){
+void AliHLTVHDLClusterFinder::IncPointer(UShort_t &p, Short_t add, UShort_t N){
   // increments pointer by 'add' in a circular buffer 
   Short_t pp=p;
   pp+=add;  
@@ -394,32 +394,32 @@ void AliL3VHDLClusterFinder::IncPointer(UShort_t &p, Short_t add, UShort_t N){
   else p=UShort_t(pp);
 }
 
-void AliL3VHDLClusterFinder::IncRPointer(){
+void AliHLTVHDLClusterFinder::IncRPointer(){
   // increments pointer fRP 
   IncPointer(fRP);
 }
 
-void AliL3VHDLClusterFinder::IncWPointer(){
+void AliHLTVHDLClusterFinder::IncWPointer(){
   // increments pointer fWP
   IncPointer(fWP);
 
   if(fWP==fOP){
-    LOG(AliL3Log::kWarning,"AliL3VHDLClusterFinder::IncWPointer","Memory Check")
+    LOG(AliHLTLog::kWarning,"AliHLTVHDLClusterFinder::IncWPointer","Memory Check")
       <<"Write pointer overwrites output pointer."<<ENDLOG;
   }
 }
 
-void AliL3VHDLClusterFinder::NextFreeIndex(){
+void AliHLTVHDLClusterFinder::NextFreeIndex(){
   // finds next free index
   IncPointer(fFirst,1,N_clmem);
   if(fFirst==fLast) {
-    LOG(AliL3Log::kFatal,"AliL3VHDLClusterFinder::GetFreeIndex","Memory Check")
+    LOG(AliHLTLog::kFatal,"AliHLTVHDLClusterFinder::GetFreeIndex","Memory Check")
       <<"No space left in sequence list: "<<fFirst<<"=="<<fLast<<ENDLOG;
   }
 }
 
 #if 0
-void AliL3ClustFinderNew::WriteClusters(Int_t n_clusters,ClusterData *list)
+void AliHLTClustFinderNew::WriteClusters(Int_t n_clusters,ClusterData *list)
 {
   // writes clusters
   Int_t thisrow,thissector;
@@ -446,14 +446,14 @@ void AliL3ClustFinderNew::WriteClusters(Int_t n_clusters,ClusterData *list)
       if(fstdout==kTRUE)
        cout<<"WriteCluster: padrow "<<fCurrentRow<<" pad "<<fpad << "+-"<<fpad2<<" time "<<ftime<<"+-"<<ftime2<<" charge "<<list[j].fTotalCharge<<endl;
 
-      AliL3Transform::Slice2Sector(fCurrentSlice,fCurrentRow,thissector,thisrow);
-      AliL3Transform::Raw2Local(xyz,thissector,thisrow,fpad,ftime);
-      if(xyz[0]==0) LOG(AliL3Log::kError,"AliL3ClustFinder","Cluster Finder")
-       <<AliL3Log::kDec<<"Zero cluster"<<ENDLOG;
+      AliHLTTransform::Slice2Sector(fCurrentSlice,fCurrentRow,thissector,thisrow);
+      AliHLTTransform::Raw2Local(xyz,thissector,thisrow,fpad,ftime);
+      if(xyz[0]==0) LOG(AliHLTLog::kError,"AliHLTClustFinder","Cluster Finder")
+       <<AliHLTLog::kDec<<"Zero cluster"<<ENDLOG;
       if(fNClusters >= fMaxNClusters)
        {
-         LOG(AliL3Log::kError,"AliL3ClustFinder::WriteClusters","Cluster Finder")
-           <<AliL3Log::kDec<<"Too many clusters"<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTClustFinder::WriteClusters","Cluster Finder")
+           <<AliHLTLog::kDec<<"Too many clusters"<<ENDLOG;
          return;
        }  
       fSpacePointData[counter].fCharge = list[j].fTotalCharge;
similarity index 88%
rename from HLT/misc/AliL3VHDLClusterFinder.h
rename to HLT/misc/AliHLTVHDLClusterFinder.h
index 70228c740225d6854a0c7038c4200278d6e44b1b..4e27ac398ee07f8fd2e4dc215e11e3bea4374835 100644 (file)
@@ -3,10 +3,10 @@
 //- Copyright & copy ALICE HLT Group
 // See the implementation file for the detailed description
 
-#ifndef AliL3VHDLClusterFinder_H
-#define AliL3VHDLClusterFinder_H
+#ifndef AliHLTVHDLClusterFinder_H
+#define AliHLTVHDLClusterFinder_H
 
-#include "AliL3AltroMemHandler.h"
+#include "AliHLTAltroMemHandler.h"
 
 struct VHDLClusterData
 {
@@ -30,11 +30,11 @@ typedef struct VHDLClusterData VCData;
 #define N_clmem 5000
 
 
-class AliL3VHDLClusterFinder 
+class AliHLTVHDLClusterFinder 
 {
  public:
-  AliL3VHDLClusterFinder();
-  virtual ~AliL3VHDLClusterFinder();
+  AliHLTVHDLClusterFinder();
+  virtual ~AliHLTVHDLClusterFinder();
   
   void ProcessDigits();
 
@@ -51,7 +51,7 @@ class AliL3VHDLClusterFinder
   Int_t GetNumberOfClusters() const {return fNClusters;}
   
  private:
-  AliL3AltroMemHandler fAltromem; //! pointer to the ALTRO memory?
+  AliHLTAltroMemHandler fAltromem; //! pointer to the ALTRO memory?
   VCData fSeq; //! C-structure containing the data sequence
   VCData fSeqs[N_clmem]; //! array of C-structures containg the data sequence
   UShort_t fPList[N_mem]; // pad list
@@ -98,8 +98,10 @@ class AliL3VHDLClusterFinder
   void ProcessSequence();
   //void WriteClusters(Int_t n_clusters,ClusterData *list);
 
-  ClassDef(AliL3VHDLClusterFinder,1)
+  ClassDef(AliHLTVHDLClusterFinder,1)
 
 };
 
+typedef AliHLTVHDLClusterFinder AliL3VHDLClusterFinder; // for backward compatibility
+
 #endif
diff --git a/HLT/misc/AliL3DataHandler.h b/HLT/misc/AliL3DataHandler.h
deleted file mode 100644 (file)
index 4721e6d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3DATAHANDLER_H
-#define ALIL3DATAHANDLER_H
-
-#include "AliL3MemHandler.h"
-
-class AliL3TransBit;
-
-class AliL3DataHandler : public AliL3MemHandler {
-
- public:
-  AliL3DataHandler();
-  ~AliL3DataHandler();
-    
-  void Convert10to8Bit();
-  Bool_t Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data);
-  AliL3DigitRowData *CompBinary2Memory(UInt_t &nrows);
-
- private:
-  
-  AliL3TransBit *fBitTransformer; //! bit transsformer
-  
-  void Write(Byte_t *comp,UInt_t &index,UShort_t value);
-  Short_t Read(Byte_t *comp,UInt_t &index);
-  Short_t Test(Byte_t *comp,UInt_t index);
-  Bool_t Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,Byte_t *comp);
-  UInt_t GetCompMemorySize(UInt_t row,AliL3DigitRowData *data);
-  UInt_t GetMemorySize(UInt_t nrow,Byte_t *comp);
-  Bool_t CompMemory2CompBinary(UInt_t nrow,Byte_t *comp,UInt_t size);
-  Bool_t CompBinary2CompMemory(UInt_t &nrow,Byte_t *comp);
-  UInt_t CompMemory2Memory(UInt_t nrow,AliL3DigitRowData *data,Byte_t *comp);
-
-  ClassDef(AliL3DataHandler,1) //Data handler class
-};
-
-#endif
diff --git a/HLT/misc/AliL3FFloat.h b/HLT/misc/AliL3FFloat.h
deleted file mode 100644 (file)
index f2bcf34..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3FFLOAT_H
-#define ALIL3FFLOAT_H
-
-#include "AliL3RootTypes.h"
-
-#ifndef USEFFLOAT
-typedef Float_t AliL3FFloat;
-#else 
-
-//use Ints times Digits instead of Floats
-#define USEINTS
-
-#define DEFDIG 100
-#define DEFMIN -1000000
-#define DEFMAX  1000000
-
-#ifdef USEINTS
-
-//ROOT does not know about 64 bit integer
-#ifdef no_root
-typedef long long int Fnt_t;
-#else 
-typedef Int_t Fnt_t;
-#endif
-
-class AliL3FFloat {
- public:
-  AliL3FFloat(const Double_t val=0) {Set(val);}
-  AliL3FFloat(const AliL3FFloat &f) {Set(f);}
-  virtual ~AliL3FFloat();
-
-  AliL3FFloat& operator = (const AliL3FFloat &f)  {Set(f); return *this;}
-  AliL3FFloat& operator = (const Double_t f)      {Set(f); return *this;}
-
-  operator const Double_t () const {return fVal;}
-  operator const Float_t  () const {return (Float_t)fVal;}
-#ifdef no_root
-  operator const Fnt_t    () const {return (Fnt_t)fVal;}
-#endif
-  operator const Int_t    () const {return (Int_t)fVal;}  
-
-
-  friend ostream& operator<<(ostream &os, const AliL3FFloat &f);
-
-  friend AliL3FFloat operator + (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator + (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator + (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator + (const AliL3FFloat &f1);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator - (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1);
-  friend AliL3FFloat operator * (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator * (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator * (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator / (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator / (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator / (const Double_t f1,    const AliL3FFloat &f2);
-
-  AliL3FFloat& operator += (const AliL3FFloat &f);
-  AliL3FFloat& operator += (const Double_t f);
-  AliL3FFloat& operator -= (const AliL3FFloat &f);
-  AliL3FFloat& operator -= (const Double_t f);
-  AliL3FFloat& operator *= (const AliL3FFloat &f);
-  AliL3FFloat& operator *= (const Double_t f);
-  AliL3FFloat& operator /= (const AliL3FFloat &f);
-  AliL3FFloat& operator /= (const Double_t f);
-  //==,!=,>=, ...
-  //++,--
-
-  static void PrintStat();
-  static void SetParams(Int_t dig=DEFDIG,Int_t min=DEFMIN,Int_t max=DEFMAX);
-  void Set(const Double_t f=0);
-  void Set(const AliL3FFloat &f);
-  inline Double_t GetVal()      const {return fVal;}
-  inline Double_t GetExactVal() const {return fExactVal;}
-  inline Fnt_t   GetValInt()    const {return fVali;}
-
- private:
-
-  void   Round(Double_t f);
-  Bool_t CheckUpperBound();
-  Bool_t CheckLowerBound();
-  Bool_t CheckBounds() {return (CheckUpperBound() && CheckLowerBound());}
-
-  Fnt_t   fVali;
-  Double_t fVal;
-  Double_t fExactVal;
-
-  static Int_t fDigits;
-  static Int_t fMax; 
-  static Int_t fMin; 
-
-#ifdef CALCSTATS
-  static Int_t fN;
-  static Int_t fNRounded;
-  static Int_t fNOpAdds;
-  static Int_t fNOpMults;
-  static Int_t fNOpDivs;
-  static Int_t fNOpSubs;
-  static Int_t fNOverFlow;
-  static Int_t fNUnderFlow;
-  static Double_t fNDiff;
-#endif
-
-  ClassDef(AliL3FFloat,1)
-};
-
-#else
-
-class AliL3FFloat {
- public:
-  AliL3FFloat(const Double_t val=0) {Set(val);}
-  AliL3FFloat(const AliL3FFloat &f) {Set(f);}
-  virtual ~AliL3FFloat();
-
-  AliL3FFloat& operator = (const AliL3FFloat &f)  {Set(f); return *this;}
-  AliL3FFloat& operator = (const Double_t f)      {Set(f); return *this;}
-
-  operator const Double_t () const {return fVal;}
-  operator const Float_t  () const {return (Float_t)fVal;}
-  operator const Int_t    () const {return (Int_t)fVal;}
-
-  friend ostream& operator<<(ostream &os, const AliL3FFloat &f);
-
-  friend AliL3FFloat operator + (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator + (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator + (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator + (const AliL3FFloat &f1);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator - (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator - (const AliL3FFloat &f1);
-  friend AliL3FFloat operator * (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator * (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator * (const Double_t f1,    const AliL3FFloat &f2);
-  friend AliL3FFloat operator / (const AliL3FFloat &f1,const AliL3FFloat &f2);
-  friend AliL3FFloat operator / (const AliL3FFloat &f1,const Double_t f2);
-  friend AliL3FFloat operator / (const Double_t f1,    const AliL3FFloat &f2);
-
-  AliL3FFloat& operator += (const AliL3FFloat &f);
-  AliL3FFloat& operator += (const Double_t f);
-  AliL3FFloat& operator -= (const AliL3FFloat &f);
-  AliL3FFloat& operator -= (const Double_t f);
-  AliL3FFloat& operator *= (const AliL3FFloat &f);
-  AliL3FFloat& operator *= (const Double_t f);
-  AliL3FFloat& operator /= (const AliL3FFloat &f);
-  AliL3FFloat& operator /= (const Double_t f);
-  //==,!=,>=, ...
-  //++,--
-
-  static void PrintStat();
-  static void SetParams(Int_t dig=DEFDIG,Int_t min=DEFMIN,Int_t max=DEFMAX);
-  void Set(const Double_t f=0);
-  void Set(const AliL3FFloat &f);
-  inline Double_t GetVal()      const {return fVal;}
-  inline Double_t GetExactVal() const {return fExactVal;}
-
- private:
-
-  Double_t Round(Double_t f);
-  Bool_t CheckUpperBound();
-  Bool_t CheckLowerBound();
-  Bool_t CheckBounds() {return (CheckUpperBound() && CheckLowerBound());}
-
-  Double_t fVal;
-  Double_t fExactVal;
-
-  static Int_t fDigits;
-  static Char_t fQuery[10];
-  static Int_t fMax;
-  static Int_t fMin;
-
-#ifdef CALCSTATS
-  static Int_t fN;
-  static Int_t fNRounded;
-  static Int_t fNOpAdds;
-  static Int_t fNOpMults;
-  static Int_t fNOpDivs;
-  static Int_t fNOpSubs;
-  static Int_t fNOverFlow;
-  static Int_t fNUnderFlow;
-  static Double_t fNDiff;
-#endif
-
-  ClassDef(AliL3FFloat,1)
-};
-
-#endif
-#endif
-#endif
-
-
-
-
diff --git a/HLT/misc/AliL3MiscLinkDef.h b/HLT/misc/AliL3MiscLinkDef.h
deleted file mode 100644 (file)
index 9322594..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// @(#) $Id$
-
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#ifndef macosx
-#pragma link C++ class AliL3TransBit; 
-#pragma link C++ class AliL3TransBitV1; 
-#pragma link C++ class AliL3TransBitV2; 
-#pragma link C++ class AliL3DataHandler;
-#endif
-#pragma link C++ class AliL3AltroMemHandler;
-#pragma link C++ class AliL3VHDLClusterFinder;
-#pragma link C++ class AliL3TPCMapping;
-#pragma link C++ class AliL3DDLRawReader;
-#pragma link C++ class AliL3DDLRawReaderFile;
-#pragma link C++ class AliL3DDLTPCRawStream;
-#ifndef macosx
-#pragma link C++ class AliL3DDLDataFileHandler;
-#endif
-
-#ifdef USEFFLOAT
-#pragma link C++ class AliL3FFloat;
-#endif
-
-#endif
-
diff --git a/HLT/misc/AliL3TPCMapping-iroc.generated b/HLT/misc/AliL3TPCMapping-iroc.generated
deleted file mode 100644 (file)
index 2ec88e4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-const Int_t AliL3TPCMapping::fgkNIROC = 5504;
-const Int_t AliL3TPCMapping::fgkIRows[fgkNIROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62};
-const Int_t AliL3TPCMapping::fgkIPad[fgkNIROC] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107};
-const Int_t AliL3TPCMapping::fgkICon[fgkNIROC] = {127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,131,131,131,131,132,132,132,132,133,133,133,133,134,134,134,135,135,135,135,9,9,9,9,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,127,127,127,128,128,128,128,129,129,129,129,130,130,130,130,131,131,131,131,132,132,132,133,133,133,133,134,134,134,134,135,135,135,135,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,127,136,136,136,128,137,137,137,129,138,138,138,130,130,130,130,131,140,140,140,141,132,132,133,142,142,142,134,134,134,134,135,144,144,144,18,18,18,9,8,8,8,8,16,16,16,7,6,6,15,14,14,14,5,4,4,4,4,12,12,12,3,11,11,11,2,10,10,10,1,136,136,136,136,137,137,137,137,138,138,138,138,130,139,139,139,140,140,140,140,141,141,141,142,142,142,142,134,143,143,143,144,144,144,144,18,18,18,18,17,17,17,8,16,16,16,16,15,15,15,14,14,14,14,13,13,13,4,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,144,144,144,144,18,18,18,18,17,17,17,17,16,16,16,16,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,10,10,10,10,136,136,136,145,146,137,137,137,147,138,138,138,139,139,139,139,139,149,140,140,140,141,141,141,141,151,142,142,142,143,143,143,143,153,144,144,144,18,18,18,27,17,17,17,17,16,16,16,25,15,15,15,15,14,14,14,23,13,13,13,13,13,12,12,12,21,11,11,11,20,19,10,10,10,145,145,145,145,146,146,146,146,147,147,147,147,139,139,148,148,148,149,149,149,149,141,141,150,150,151,151,151,151,152,143,143,143,153,153,153,153,27,27,27,27,17,17,17,26,25,25,25,25,24,24,15,15,23,23,23,23,22,22,22,13,13,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,148,148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,145,145,145,145,146,146,146,146,147,147,147,147,157,157,148,148,148,149,149,149,149,150,150,150,150,151,151,160,160,160,152,152,152,152,153,153,153,153,27,27,27,27,26,26,26,26,34,34,34,25,25,24,24,24,24,23,23,23,23,22,22,22,31,31,21,21,21,21,20,20,20,20,19,19,19,19,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,150,150,150,159,160,160,160,160,161,152,152,152,152,162,162,162,162,36,36,36,36,26,26,26,26,35,34,34,34,34,33,24,24,24,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,155,155,155,155,156,156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,159,160,160,160,160,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,30,30,30,30,30,29,29,29,29,29,28,28,28,28,154,154,154,154,155,164,164,164,164,165,156,156,156,156,157,157,157,166,158,158,167,167,159,159,159,159,159,160,160,169,169,161,161,161,161,161,162,162,162,162,36,36,36,36,35,35,35,35,35,43,43,34,34,33,33,33,33,33,41,41,32,32,40,31,31,31,30,30,30,30,39,38,38,38,38,29,28,28,28,28,154,163,163,163,164,164,164,164,164,165,165,165,165,165,166,166,166,166,167,167,167,167,159,159,168,168,168,169,169,169,169,170,170,170,170,170,162,171,171,171,45,45,45,36,44,44,44,44,44,43,43,43,43,42,42,42,33,33,41,41,41,41,40,40,40,40,39,39,39,39,39,38,38,38,38,38,37,37,37,28,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,168,168,169,169,169,169,170,170,170,170,170,171,171,171,171,45,45,45,45,44,44,44,44,44,43,43,43,43,42,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,37,163,163,163,163,172,173,173,173,164,165,165,165,165,174,166,166,175,175,175,167,176,176,176,168,168,168,168,177,178,169,169,169,169,170,170,179,179,179,171,171,171,171,45,45,45,45,53,53,53,44,44,43,43,43,43,52,51,42,42,42,42,50,50,50,41,49,49,49,40,40,48,39,39,39,39,38,47,47,47,46,37,37,37,37,172,172,172,172,172,173,173,173,173,174,174,174,174,174,175,175,175,175,175,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,179,171,171,171,180,54,45,45,45,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,174,174,174,174,174,175,175,175,175,175,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,179,180,180,180,180,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,173,174,174,174,174,174,175,175,175,175,176,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,180,180,180,180,180,54,54,54,54,54,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,172,172,172,172,172,173,173,173,173,173,174,174,174,174,174,175,175,175,175,176,176,176,176,176,177,177,177,177,177,178,178,178,178,178,179,179,179,179,180,180,180,180,180,54,54,54,54,54,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,181,181,181,182,182,182,182,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,180,180,180,180,180,180,54,54,54,54,54,54,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,61,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,182,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,191,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,65,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,56,55,55,55,181,181,181,181,182,182,182,183,183,183,183,184,184,184,185,185,185,185,186,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,190,191,191,191,192,192,192,192,253,253,253,253,66,66,66,66,65,65,65,64,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,60,59,59,59,59,58,58,58,57,57,57,57,56,56,56,55,55,55,55,181,181,181,181,182,182,194,183,183,195,195,184,184,184,185,197,197,197,186,186,186,186,187,187,187,188,188,188,188,189,189,189,190,190,190,190,191,191,203,192,192,192,192,253,253,253,253,66,66,66,66,77,65,65,64,64,64,64,63,63,63,62,62,62,62,61,61,61,60,60,60,60,71,71,71,59,58,58,58,69,69,57,57,68,56,56,55,55,55,55,181,193,193,193,194,194,194,195,195,195,195,184,184,184,197,197,197,197,198,198,198,186,199,199,199,200,200,200,200,189,189,189,202,202,202,190,203,203,203,204,204,204,192,253,254,254,254,66,78,78,78,77,77,77,64,76,76,76,63,63,63,74,74,74,74,73,73,73,60,72,72,72,71,71,71,71,58,58,58,69,69,69,69,68,68,68,67,67,67,55,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,195,195,195,195,196,196,196,196,197,197,197,198,198,198,198,199,199,199,199,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,73,73,73,73,72,72,72,72,71,71,71,70,70,70,70,69,69,69,69,68,68,68,67,67,67,67,193,193,193,193,194,194,194,194,195,195,195,196,196,196,196,197,197,197,197,198,198,198,199,199,199,199,200,200,200,200,201,201,201,201,202,202,202,202,203,203,203,204,204,204,204,254,254,254,254,78,78,78,78,77,77,77,76,76,76,76,75,75,75,75,74,74,74,74,73,73,73,73,72,72,72,71,71,71,71,70,70,70,70,69,69,69,68,68,68,68,67,67,67,67,193,193,193,205,194,194,194,194,207,207,195,196,196,196,196,197,197,209,209,198,198,198,199,199,199,211,200,200,200,200,201,201,201,201,202,202,202,214,203,203,203,204,204,204,216,255,254,254,254,90,78,78,78,77,77,77,88,76,76,76,75,75,75,75,74,74,74,74,85,73,73,73,72,72,72,83,83,71,71,70,70,70,70,69,81,81,68,68,68,68,79,67,67,67,205,205,205,205,194,206,206,206,207,207,207,208,208,196,196,209,209,209,209,210,210,198,211,211,211,211,212,212,212,200,201,201,213,213,214,214,214,214,203,203,203,216,216,216,216,255,255,255,255,90,90,90,90,77,77,77,88,88,88,88,87,87,75,75,74,86,86,86,85,85,85,85,72,84,84,83,83,83,83,70,70,82,82,81,81,81,80,80,80,68,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,82,82,82,82,81,81,81,80,80,80,80,79,79,79,79,205,205,205,205,206,206,206,206,207,207,207,207,208,208,208,208,209,209,209,210,210,210,210,210,211,211,211,212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,215,216,216,216,216,255,255,255,255,90,90,90,90,89,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,85,85,85,84,84,84,84,84,83,83,83,82,82,82,82,81,81,81,81,80,80,80,80,79,79,79,79,217,217,217,217,218,218,206,206,207,207,207,219,208,208,208,220,221,221,221,210,210,222,222,222,223,223,211,224,224,212,212,213,213,213,225,226,226,226,226,215,215,215,215,228,228,228,228,256,256,256,256,102,102,102,102,89,89,89,89,100,100,100,100,99,87,87,87,86,86,98,98,85,97,97,96,96,96,84,84,95,95,95,94,82,82,82,93,81,81,81,80,80,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,222,222,222,222,222,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,215,215,215,215,228,228,228,228,256,256,256,256,102,102,102,102,89,89,89,89,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,96,96,96,96,96,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,217,217,217,217,218,218,218,218,219,219,219,219,220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,256,256,256,256,102,102,102,102,101,101,101,101,100,100,100,100,99,99,99,99,98,98,98,98,97,97,97,97,96,96,96,96,95,95,95,95,94,94,94,94,93,93,93,93,92,92,92,92,91,91,91,91,229,229,229,217,218,218,218,230,219,219,219,219,220,220,220,220,221,221,221,233,234,234,234,222,223,223,223,223,236,224,224,224,225,225,225,225,237,238,238,238,226,227,227,227,227,240,240,240,228,256,257,257,257,102,114,114,114,101,101,101,101,100,112,112,112,111,99,99,99,99,98,98,98,110,97,97,97,97,96,108,108,108,107,95,95,95,94,94,94,94,93,93,93,93,104,92,92,92,91,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,227,227,227,227,240,240,240,240,257,257,257,257,114,114,114,114,101,101,101,101,112,112,112,112,111,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,227,240,240,240,240,257,257,257,257,114,114,114,114,101,113,113,113,112,112,112,112,111,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,257,257,257,257,114,114,114,114,113,113,113,113,113,112,112,112,112,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,257,257,257,257,114,114,114,114,113,113,113,113,113,112,112,112,112,111,111,111,111,110,110,110,110,109,109,109,109,108,108,108,108,107,107,107,107,106,106,106,106,106,105,105,105,105,104,104,104,104,103,103,103,103,241,229,229,229,230,230,230,230,231,231,231,231,244,232,232,232,232,233,233,233,233,246,234,234,234,235,235,235,235,236,236,236,236,237,237,237,249,238,238,238,250,239,239,239,239,239,240,240,240,252,258,257,257,257,126,114,114,114,113,113,113,113,113,124,112,112,112,123,111,111,111,110,110,110,110,109,109,109,109,108,108,108,120,107,107,107,107,106,106,106,106,118,105,105,105,105,104,104,104,104,103,103,103,115,241,241,241,241,242,242,242,230,243,243,243,231,231,244,244,244,244,245,245,245,233,246,246,246,246,247,247,247,235,235,236,248,248,248,249,249,249,249,250,250,250,250,239,239,239,239,251,252,252,252,252,258,258,258,258,126,126,126,126,125,113,113,113,113,124,124,124,124,123,123,123,123,122,122,122,110,109,109,121,121,121,120,120,120,120,107,119,119,119,118,118,118,118,105,105,117,117,117,104,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,243,243,243,243,243,244,244,244,244,245,245,245,245,246,246,246,246,247,247,247,247,247,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,121,121,121,121,121,120,120,120,120,119,119,119,119,118,118,118,118,117,117,117,117,117,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,243,243,243,243,243,244,244,244,244,245,245,245,245,246,246,246,246,247,247,247,247,247,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,121,121,121,121,121,120,120,120,120,119,119,119,119,118,118,118,118,117,117,117,117,117,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,242,243,243,243,243,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,122,121,121,121,121,120,120,120,120,119,119,119,119,119,118,118,118,118,117,117,117,117,116,116,116,116,116,115,115,115,115,241,241,241,241,242,242,242,242,242,243,243,243,243,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,258,258,258,258,126,126,126,126,125,125,125,125,125,124,124,124,124,123,123,123,123,122,122,122,122,122,121,121,121,121,120,120,120,120,119,119,119,119,119,118,118,118,118,117,117,117,117,116,116,116,116,116,115,115,115,115};
-const Int_t AliL3TPCMapping::fgkIPin[fgkNIROC] = {2,1,3,5,2,1,3,5,2,1,3,5,2,4,1,2,1,3,5,2,1,3,5,2,1,3,5,2,4,1,2,1,3,5,5,3,1,2,1,4,2,5,3,1,2,5,3,1,2,5,3,1,2,1,4,2,5,3,1,2,5,3,1,2,5,3,1,2,4,6,7,9,4,6,7,9,4,6,7,9,6,3,5,4,6,7,9,4,6,7,9,4,6,7,9,6,3,5,4,6,7,9,9,7,6,4,5,3,6,9,7,6,4,9,7,6,4,9,7,6,4,5,3,6,9,7,6,4,9,7,6,4,9,7,6,4,8,10,11,13,8,10,11,13,8,10,11,13,8,7,9,8,10,11,13,8,10,11,13,8,10,11,13,8,7,9,8,10,11,13,13,11,10,8,9,7,8,13,11,10,8,13,11,10,8,13,11,10,8,9,7,8,13,11,10,8,13,11,10,8,13,11,10,8,12,14,15,17,12,14,15,17,12,14,15,17,10,11,13,12,14,15,17,12,14,15,17,12,14,15,17,10,11,13,12,14,15,17,17,15,14,12,13,11,10,17,15,14,12,17,15,14,12,17,15,14,12,13,11,10,17,15,14,12,17,15,14,12,17,15,14,12,16,18,19,21,16,18,21,19,16,18,21,19,12,14,15,17,16,18,21,19,16,18,19,16,18,21,19,12,14,15,17,16,18,21,19,19,21,18,16,17,15,14,12,19,21,18,16,19,18,16,19,21,18,16,17,15,14,12,19,21,18,16,19,21,18,16,21,19,18,16,20,0,2,1,20,2,0,1,20,2,0,1,16,18,21,19,20,4,2,0,0,20,21,20,4,2,0,16,18,21,19,20,4,2,0,0,2,4,20,19,21,18,16,0,2,4,20,21,20,0,0,2,4,20,19,21,18,16,1,0,2,20,1,0,2,20,1,2,0,20,4,6,3,5,6,4,3,5,6,4,3,5,20,0,1,3,8,6,1,3,2,1,3,8,6,1,3,20,4,2,0,8,6,1,3,3,1,6,8,0,2,4,20,3,1,6,8,3,1,2,3,1,6,8,3,1,0,20,5,3,4,6,5,3,4,6,5,3,6,4,8,10,7,9,10,8,7,9,10,8,7,9,4,2,5,7,12,10,5,7,6,4,5,7,12,10,5,7,8,6,1,3,12,10,5,7,7,5,10,12,3,1,6,8,7,5,10,12,7,5,4,6,7,5,10,12,7,5,2,4,9,7,8,10,9,7,8,10,9,7,10,8,12,14,13,15,14,12,13,15,14,12,13,15,8,6,9,13,16,14,9,13,10,8,9,13,16,14,9,13,12,10,5,7,16,14,9,13,13,9,14,16,7,5,10,12,13,9,14,16,13,9,8,10,13,9,14,16,13,9,6,8,15,13,12,14,15,13,12,14,15,13,14,12,16,18,17,19,18,16,17,19,18,16,17,19,12,10,15,17,20,18,15,17,14,12,15,17,20,18,15,17,16,14,9,13,20,18,15,17,17,15,18,20,13,9,14,16,17,15,18,20,17,15,12,14,17,15,18,20,17,15,10,12,19,17,16,18,19,17,16,18,19,17,18,16,20,22,21,1,2,22,20,21,2,22,20,21,18,16,14,19,21,1,22,19,21,18,16,19,21,5,22,19,21,20,18,15,17,1,22,19,21,21,19,22,1,17,15,18,20,21,19,22,5,21,19,16,18,21,19,22,1,21,19,14,16,18,21,20,22,2,21,20,22,2,1,21,22,20,4,2,3,5,4,1,3,5,4,1,3,5,22,20,1,3,5,4,2,3,5,22,20,1,3,1,3,7,9,1,22,19,21,4,2,3,5,5,3,2,4,21,19,22,1,9,7,3,1,3,1,20,22,5,3,2,4,5,3,1,20,22,5,3,1,4,5,3,1,4,5,3,2,4,8,6,7,9,8,6,7,9,8,6,7,9,6,4,2,7,9,8,6,7,9,4,2,5,7,4,2,11,13,4,2,3,5,8,6,7,9,9,7,6,8,5,3,2,4,13,11,2,4,7,5,2,4,9,7,6,8,9,7,2,4,6,9,7,6,8,9,7,6,8,9,7,6,8,12,10,11,13,12,10,11,13,12,10,11,13,12,10,8,11,13,12,10,11,13,8,6,9,11,10,8,6,15,17,8,6,7,9,12,10,11,13,13,11,10,12,9,7,6,8,17,15,6,8,10,11,9,6,8,13,11,10,12,13,11,8,10,12,13,11,10,12,13,11,10,12,13,11,10,12,18,16,15,17,16,14,15,17,16,14,15,17,18,16,14,15,17,16,14,15,17,12,10,13,15,16,14,12,19,21,12,10,11,13,16,14,15,17,17,15,14,16,13,11,10,12,21,19,12,14,16,15,13,10,12,17,15,14,16,17,15,14,16,18,17,15,14,16,17,15,14,16,17,15,16,18,14,20,19,21,20,18,19,21,20,18,19,21,1,3,20,19,21,20,18,19,21,16,14,17,19,20,18,3,5,7,16,14,15,17,20,18,19,21,21,19,18,20,17,15,14,16,7,5,3,18,20,19,17,14,16,21,19,18,20,21,19,20,3,1,21,19,18,20,21,19,18,20,21,19,20,14,2,1,3,5,1,3,5,7,9,2,1,3,5,4,2,5,7,1,3,5,7,9,20,18,21,5,4,2,1,9,1,20,18,19,21,2,1,3,5,5,3,1,2,21,19,18,20,1,9,1,2,4,5,21,18,20,9,7,5,3,1,7,5,2,4,5,3,1,2,9,7,5,3,1,5,3,1,2,6,4,7,9,6,4,2,11,13,6,4,7,9,8,6,9,11,6,4,2,11,13,1,3,7,9,8,6,11,13,2,3,5,7,9,6,4,7,9,9,7,4,6,9,7,5,3,2,13,11,6,8,9,7,3,1,13,11,2,4,6,11,9,6,8,9,7,4,6,13,11,2,4,6,9,7,4,6,10,8,11,13,12,10,8,15,17,10,8,11,13,12,10,13,15,12,10,8,15,17,4,2,11,13,12,10,15,17,8,6,4,11,13,10,8,11,13,13,11,8,10,13,11,4,6,8,17,15,10,12,13,11,2,4,17,15,8,10,12,15,13,10,12,13,11,8,10,17,15,8,10,12,13,11,8,10,14,12,15,17,18,16,14,19,21,16,14,12,15,17,16,14,17,19,16,14,19,21,10,8,6,15,17,16,14,19,21,14,12,10,15,17,14,12,15,17,17,15,12,14,17,15,10,12,14,21,19,14,16,17,15,6,8,10,21,19,14,16,19,17,14,16,17,15,12,14,16,21,19,14,16,18,17,15,12,14,18,16,19,21,20,4,2,0,1,0,20,18,19,21,20,18,21,3,20,18,1,3,16,14,12,19,21,20,18,2,0,20,18,16,19,21,18,16,19,21,21,19,16,18,21,19,16,18,20,0,2,18,20,21,19,12,14,16,3,1,18,20,3,21,18,20,21,19,18,20,0,1,0,2,4,20,21,19,16,18,20,0,1,3,10,8,6,3,5,6,4,2,1,3,0,1,5,7,2,0,5,7,20,18,0,1,3,6,4,1,3,0,1,3,5,7,20,2,0,1,1,0,2,20,7,5,3,1,0,3,1,4,6,3,1,0,18,20,7,5,0,2,7,5,1,0,3,1,2,4,6,5,3,6,8,10,3,1,0,20,6,4,2,5,7,14,12,7,9,10,8,5,7,6,4,2,9,13,8,6,4,9,13,6,4,2,5,7,10,8,5,7,6,4,2,9,13,6,4,3,5,5,3,4,6,13,9,2,4,6,7,5,8,10,7,5,2,4,6,13,9,4,6,8,13,9,2,4,6,7,5,8,10,9,7,12,14,7,5,2,4,6,12,10,8,9,13,18,16,13,15,14,12,9,13,12,10,8,15,17,14,12,10,15,17,12,10,8,9,13,14,12,9,13,12,10,8,15,17,10,8,7,9,9,7,8,10,17,15,8,10,12,13,9,12,14,13,9,8,10,12,17,15,10,12,14,17,15,8,10,12,13,9,12,14,15,13,16,18,13,9,8,10,12,18,16,14,15,17,22,20,17,19,18,16,15,17,18,16,14,19,21,20,18,16,19,21,18,16,14,15,17,18,16,15,17,18,16,14,19,21,14,12,13,15,15,13,12,14,21,19,14,16,18,17,15,16,18,17,15,14,16,18,21,19,16,18,20,21,19,14,16,18,17,15,16,18,19,17,20,22,17,15,14,16,18,22,20,19,21,5,1,3,5,21,22,20,19,21,5,22,20,1,3,5,22,1,3,5,22,20,19,21,5,1,22,20,19,21,22,20,1,3,5,18,16,17,19,19,17,16,18,5,3,1,20,22,21,19,20,22,1,5,21,19,20,22,5,3,1,22,5,3,1,20,22,5,21,19,20,22,21,5,3,1,5,21,19,20,22,2,1,3,7,9,4,2,7,9,2,1,3,7,9,6,4,2,7,9,4,2,7,9,2,1,3,7,9,2,3,5,7,9,6,4,2,7,9,22,20,21,5,5,21,20,22,9,7,2,4,6,9,7,5,3,2,9,7,3,1,2,9,7,2,4,9,7,2,4,6,9,7,3,1,2,9,7,2,4,9,7,3,1,2,8,6,4,11,13,8,6,11,13,8,6,4,11,13,12,10,8,11,13,8,6,11,13,8,6,4,11,13,8,6,4,11,13,12,10,8,11,13,1,3,7,9,9,7,3,1,13,11,8,10,12,13,11,4,6,8,13,11,4,6,8,13,11,6,8,13,11,8,10,12,13,11,4,6,8,13,11,6,8,13,11,4,6,8,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,16,14,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,16,14,15,17,6,4,2,11,13,13,11,2,4,6,17,15,14,16,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,14,16,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,19,21,12,10,8,15,17,17,15,8,10,12,21,19,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,4,2,1,4,2,1,3,1,3,5,8,6,4,2,1,3,5,6,4,2,6,4,2,1,4,2,1,6,4,2,6,4,2,4,2,1,3,20,18,16,14,19,21,21,19,14,16,18,20,3,1,2,4,2,4,6,2,4,6,1,2,4,1,2,4,6,2,4,6,5,3,1,2,4,6,8,5,3,1,3,1,2,4,1,2,4,6,3,5,8,6,5,7,4,2,7,9,10,2,1,6,4,7,9,8,1,3,10,8,3,5,6,3,5,10,8,1,8,1,3,8,6,5,7,4,2,1,3,3,1,2,4,3,1,2,4,7,5,6,8,3,1,8,1,8,10,5,3,6,5,3,8,10,3,1,8,9,7,4,6,1,2,10,9,7,2,4,7,5,6,8,5,3,6,8,7,9,12,10,9,11,8,6,11,13,12,3,5,10,8,11,13,10,5,7,14,12,7,9,8,7,9,12,3,5,10,5,7,12,10,9,11,8,6,5,7,7,5,6,8,7,5,6,8,11,9,10,12,7,5,10,5,3,12,9,7,8,9,7,12,14,7,5,10,13,11,8,10,5,3,12,13,11,6,8,11,9,10,12,9,7,8,10,11,13,16,14,13,15,12,10,15,17,14,7,9,14,12,15,17,12,9,11,16,11,13,12,10,11,13,14,7,9,12,9,11,16,14,13,15,12,10,9,11,9,11,10,12,11,9,10,12,15,13,14,16,11,9,12,9,7,14,13,11,10,12,13,11,16,11,9,12,17,15,12,14,9,7,14,17,15,10,12,15,13,14,16,13,11,10,14,12,15,17,18,17,19,16,14,19,21,16,11,13,18,16,19,21,16,14,13,15,18,15,17,16,14,15,17,16,11,13,16,14,13,15,18,17,19,16,14,13,15,13,15,14,16,15,13,14,16,19,17,18,15,13,14,16,13,11,16,17,15,14,16,17,15,18,15,13,14,16,21,19,16,18,13,11,16,21,19,14,16,19,17,18,17,15,12,14,18,16,19,21,20,21,0,20,18,0,1,18,15,17,20,0,1,3,20,18,17,19,20,19,21,20,18,19,21,18,15,17,20,18,17,19,20,21,0,20,18,17,19,17,19,18,20,19,17,18,20,0,21,20,19,17,18,20,17,15,18,21,19,18,20,21,19,20,19,17,18,20,3,1,0,20,17,15,18,1,0,18,20,0,21,20,21,19,16,18,20,2,0,1,4,2,1,6,4,2,3,20,19,21,6,4,2,5,2,0,1,21,2,0,1,4,2,0,1,20,19,21,2,0,1,21,4,2,1,2,0,1,21,21,1,0,2,21,1,0,2,1,2,4,21,1,0,2,21,19,20,1,0,2,4,1,0,2,21,1,0,2,5,2,4,6,21,19,20,3,2,4,6,1,2,4,1,0,2,20,6,4,3,5,8,6,3,12,10,8,5,6,4,2,0,10,8,7,8,6,4,3,6,4,3,5,8,6,3,2,0,1,3,6,4,3,5,8,6,3,6,4,3,5,5,3,4,6,5,3,4,6,3,6,8,5,3,4,6,3,1,0,2,3,6,8,5,3,4,6,3,4,6,8,7,8,10,0,2,4,6,5,8,10,12,3,6,8,5,3,4,6,10,8,7,9,10,5,7,16,14,7,9,10,8,1,3,12,9,13,14,12,10,5,10,8,7,9,12,10,5,6,4,5,7,10,8,7,9,12,10,5,10,8,7,9,7,9,8,10,9,7,8,10,5,10,12,9,7,8,10,7,5,4,6,5,10,12,9,7,8,10,5,10,12,14,13,9,12,3,1,8,10,9,7,14,16,7,5,10,9,7,8,10,14,12,13,15,12,9,13,20,18,13,15,14,12,5,7,14,15,17,18,16,7,9,14,12,13,15,14,7,9,10,8,9,13,14,12,13,15,16,14,7,14,12,13,15,13,15,12,14,15,13,12,14,7,14,16,15,13,12,14,13,9,8,10,9,7,14,15,13,12,14,9,7,16,18,17,15,14,7,5,12,14,15,13,18,20,13,9,12,15,13,12,14,18,16,17,19,16,14,15,17,22,17,19,18,16,9,13,18,16,19,21,20,13,15,18,16,17,19,18,16,13,15,14,12,15,17,18,16,17,19,18,9,13,18,16,17,19,17,19,16,18,19,17,16,18,13,9,18,19,17,16,18,17,15,12,14,15,13,16,18,19,17,16,18,15,13,20,21,19,16,18,13,9,16,18,19,17,22,17,15,14,16,19,17,16,18,22,20,21,1,20,18,19,21,2,1,21,22,20,15,17,22,20,1,3,22,17,19,22,20,21,1,22,20,17,19,18,16,19,21,22,20,21,1,20,15,17,22,20,21,1,3,21,20,22,1,21,20,22,17,15,20,1,21,20,22,21,19,16,18,19,17,20,22,1,21,20,22,19,17,22,3,1,20,22,17,15,20,22,21,1,2,21,19,18,20,1,21,20,22,4,2,3,5,22,4,2,1,4,3,5,1,3,19,21,4,2,5,7,3,5,21,4,2,3,5,4,2,1,21,22,20,1,3,4,2,3,5,22,19,21,4,2,3,5,5,1,2,4,5,3,2,4,21,19,22,5,3,2,4,3,1,20,22,21,1,2,4,5,3,2,4,21,5,3,7,5,2,4,21,19,3,1,5,3,4,1,2,4,22,5,3,2,4,8,6,7,9,8,6,3,5,8,6,7,4,2,5,7,8,6,9,11,2,1,7,9,8,6,7,9,8,6,3,5,4,2,5,7,8,6,7,9,4,2,1,8,6,7,9,9,7,6,8,9,7,6,8,1,2,4,9,7,6,8,7,5,2,4,5,3,6,8,9,7,6,8,9,7,1,2,11,9,6,8,7,5,2,4,7,6,8,5,3,6,8,9,7,6,8,12,10,11,13,12,10,7,9,10,9,11,8,6,9,11,12,10,13,15,6,4,11,13,12,10,11,13,12,10,7,9,8,6,9,11,12,10,11,13,6,3,5,12,10,11,13,11,13,10,12,13,11,10,12,5,3,6,13,11,10,12,11,9,6,8,9,7,10,12,13,11,10,12,13,11,4,6,15,13,10,12,11,9,6,8,11,9,10,9,7,10,12,13,11,10,12,16,14,15,17,16,14,11,13,12,13,15,12,10,13,15,16,14,17,19,10,8,15,17,16,14,15,17,16,14,11,13,12,10,13,15,16,14,15,17,8,7,9,16,14,15,17,15,17,14,16,17,15,14,16,9,7,8,17,15,14,16,15,13,10,12,13,11,14,16,17,15,14,16,17,15,8,10,19,17,14,16,15,13,10,12,15,13,12,13,11,14,16,17,15,14,16,20,18,19,21,20,18,15,17,16,14,17,19,16,14,17,19,20,18,21,16,14,12,19,21,20,18,19,20,18,15,17,16,14,17,19,20,18,19,21,12,10,11,13,20,18,19,21,19,21,18,20,21,19,18,20,13,11,10,12,21,19,18,20,19,17,14,16,17,15,18,20,19,18,20,21,19,12,14,16,21,18,20,19,17,14,16,19,17,14,16,17,15,18,20,21,19,18,20,4,2,1,3,1,3,19,21,20,18,21,1,20,18,21,1,2,1,3,20,18,2,1,3,2,1,21,1,3,19,21,20,18,21,1,4,2,1,3,16,14,15,17,4,2,1,3,3,1,2,4,3,1,2,4,17,15,14,16,3,1,2,4,1,21,18,20,21,19,3,1,21,1,2,3,1,2,18,20,3,1,2,1,21,18,20,1,21,18,20,21,19,3,1,3,1,2,4,8,6,5,7,4,2,5,7,4,2,3,5,4,2,3,5,4,5,7,8,6,4,5,7,4,3,5,4,2,5,7,4,2,3,5,8,6,5,7,20,18,19,21,8,6,5,7,7,5,6,8,7,5,6,8,21,19,18,20,7,5,6,8,5,3,2,4,7,5,2,4,5,3,4,7,5,4,6,8,7,5,4,5,3,2,4,5,3,2,4,7,5,2,4,7,5,6,8,12,10,9,11,8,6,9,11,8,6,7,9,8,6,7,9,8,6,9,11,12,10,9,11,8,6,7,9,8,6,9,11,8,6,7,9,12,10,9,11,4,2,1,3,12,10,9,11,9,11,10,12,11,9,10,12,3,1,2,4,11,9,10,12,9,7,6,8,11,9,6,8,9,7,6,8,11,9,10,12,11,9,6,8,9,7,6,8,9,7,6,8,11,9,6,8,11,9,10,12,16,14,13,15,12,10,13,15,12,10,11,13,12,10,11,13,12,10,13,15,16,14,13,15,12,10,11,13,12,10,13,15,12,10,11,13,16,14,13,15,8,6,5,7,16,14,13,15,13,15,14,16,15,13,14,16,7,5,6,8,15,13,14,16,13,11,10,12,15,13,10,12,13,11,10,12,15,13,14,16,15,13,10,12,13,11,10,12,13,11,10,12,15,13,10,12,15,13,14,16,20,18,17,19,16,14,17,19,16,14,15,17,16,14,15,17,16,14,17,19,20,18,17,19,16,14,15,17,16,14,17,19,16,14,15,17,20,18,17,19,12,10,9,11,20,18,17,19,17,19,18,20,19,17,18,20,11,9,10,12,19,17,18,20,17,15,14,16,19,17,14,16,17,15,14,16,19,17,18,20,19,17,14,16,17,15,14,16,17,15,14,16,19,17,14,16,19,17,18,20,4,2,0,21,20,18,21,2,20,18,19,21,20,18,19,21,20,18,21,0,4,2,0,21,20,18,19,21,0,20,18,21,20,18,19,21,1,2,0,1,21,16,14,13,15,2,0,1,21,21,1,0,2,21,1,0,2,15,13,14,16,21,1,0,2,1,21,19,18,20,21,18,20,0,21,19,18,20,21,0,2,4,0,21,18,20,21,19,18,20,21,19,18,20,2,21,18,20,21,0,2,4,8,6,1,3,6,4,0,1,6,4,2,0,2,0,1,3,6,4,2,1,8,6,1,3,6,4,2,0,4,2,1,3,4,2,0,3,5,6,4,3,5,20,18,17,19,6,4,3,5,5,3,4,6,5,3,4,6,19,17,18,20,5,3,4,6,5,3,0,2,4,3,1,2,4,0,2,4,6,3,1,6,8,1,2,4,6,3,1,0,2,0,2,4,6,1,0,4,6,3,1,6,8,12,10,5,7,10,8,3,5,10,8,1,3,6,4,5,7,10,8,3,5,12,10,5,7,10,8,1,3,8,6,5,7,10,8,6,7,9,10,8,7,9,0,1,3,21,10,8,7,9,7,9,8,10,9,7,8,10,21,3,1,0,9,7,8,10,9,7,6,8,10,7,5,6,8,3,1,8,10,7,5,10,12,5,3,8,10,7,5,4,6,3,1,8,10,5,3,8,10,7,5,10,12,16,14,9,13,14,12,7,9,14,12,5,7,12,10,8,9,13,14,12,7,9,16,14,9,13,14,12,5,7,12,10,9,13,14,12,13,15,14,12,13,15,6,4,2,5,7,14,12,13,15,13,15,12,14,15,13,12,14,7,5,2,4,6,15,13,12,14,15,13,12,14,13,9,10,12,7,5,12,14,13,9,14,16,9,7,12,14,13,9,8,10,12,7,5,12,14,9,7,12,14,13,9,14,16,20,18,15,17,18,16,13,15,18,16,9,13,18,16,14,15,17,18,16,13,15,20,18,15,17,18,16,9,13,16,14,15,17,18,16,17,19,18,16,17,19,12,10,8,9,13,18,16,17,19,17,19,16,18,19,17,16,18,13,9,8,10,12,19,17,16,18,19,17,16,18,17,15,14,16,13,9,16,18,17,15,18,20,15,13,16,18,17,15,14,16,18,13,9,16,18,15,13,16,18,17,15,18,20,2,22,19,21,22,20,17,19,22,20,15,17,2,22,20,19,21,22,20,17,19,1,22,19,21,22,20,15,17,20,18,19,21,22,20,21,1,22,20,21,1,18,16,14,15,17,22,20,21,1,3,21,20,22,1,21,20,22,17,15,14,16,18,1,21,20,22,1,21,20,22,21,19,18,20,17,15,20,22,21,19,22,1,19,17,20,22,21,19,20,22,2,17,15,20,22,19,17,20,22,21,19,22,2,4,1,3,5,1,3,5,21,2,1,3,19,21,4,1,3,5,1,3,5,21,4,2,3,5,2,1,3,19,21,22,1,3,5,4,2,3,5,4,2,3,5,22,20,19,21,5,4,2,3,5,5,1,2,4,5,3,2,4,5,21,19,20,22,5,3,2,4,5,3,2,4,5,3,1,22,21,19,3,1,2,5,3,2,4,21,5,3,1,5,3,1,4,21,19,3,1,2,21,5,3,1,5,3,1,4,8,6,7,9,4,2,7,9,6,4,5,7,9,8,6,7,9,4,2,7,9,8,6,7,9,6,4,5,7,9,4,2,7,9,8,6,7,9,8,6,7,9,2,1,3,7,9,8,6,7,9,9,7,6,8,9,7,6,8,9,7,3,1,2,9,7,6,8,9,7,6,8,9,7,2,4,9,7,5,4,6,9,7,6,8,9,7,2,4,9,7,6,8,9,7,5,4,6,9,7,2,4,9,7,6,8,12,10,11,13,8,6,11,13,12,10,8,11,13,12,10,11,13,8,6,11,13,12,10,11,13,12,10,8,11,13,8,6,11,13,12,10,11,13,12,10,11,13,8,6,4,11,13,12,10,11,13,11,13,10,12,13,11,10,12,13,11,4,6,8,13,11,10,12,13,11,10,12,13,11,6,8,13,11,8,10,12,13,11,10,12,13,11,6,8,13,11,10,12,13,11,8,10,12,13,11,6,8,13,11,10,12,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,16,14,15,17,14,12,10,15,17,16,14,15,17,15,17,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,17,15,14,16,17,15,10,12,14,17,15,14,16,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,20,18,19,21,20,18,16,19,21,20,18,19,21,19,21,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20,21,19,18,20,21,19,16,18,20,21,19,18,20};
-const Int_t AliL3TPCMapping::fgkIFec[fgkNIROC] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,18,19,19,19,19,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,8,8,8,8,8,8,9,9,9,9,9,9,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,41,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,24,24,24,24,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,36,36,36,36,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,23,23,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,40,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,41,42,42,42,42,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,41,42,42,42,42};
-const Int_t AliL3TPCMapping::fgkIFecChannel[fgkNIROC] = {1,0,2,4,1,0,2,4,1,0,2,4,1,3,0,1,0,2,4,1,0,2,4,1,0,2,4,1,3,0,1,0,2,4,4,2,0,1,0,3,1,4,2,0,1,4,2,0,1,4,2,0,1,0,3,1,4,2,0,1,4,2,0,1,4,2,0,1,3,5,6,8,3,5,6,8,3,5,6,8,5,2,4,3,5,6,8,3,5,6,8,3,5,6,8,5,2,4,3,5,6,8,8,6,5,3,4,2,5,8,6,5,3,8,6,5,3,8,6,5,3,4,2,5,8,6,5,3,8,6,5,3,8,6,5,3,7,9,10,12,7,9,10,12,7,9,10,12,7,6,8,7,9,10,12,7,9,10,12,7,9,10,12,7,6,8,7,9,10,12,12,10,9,7,8,6,7,12,10,9,7,12,10,9,7,12,10,9,7,8,6,7,12,10,9,7,12,10,9,7,12,10,9,7,11,13,14,16,11,13,14,16,11,13,14,16,9,10,12,11,13,14,16,11,13,14,16,11,13,14,16,9,10,12,11,13,14,16,16,14,13,11,12,10,9,16,14,13,11,16,14,13,11,16,14,13,11,12,10,9,16,14,13,11,16,14,13,11,16,14,13,11,15,17,18,20,15,17,20,18,15,17,20,18,11,13,14,16,15,17,20,18,15,17,18,15,17,20,18,11,13,14,16,15,17,20,18,18,20,17,15,16,14,13,11,18,20,17,15,18,17,15,18,20,17,15,16,14,13,11,18,20,17,15,18,20,17,15,20,18,17,15,19,21,23,22,19,23,21,22,19,23,21,22,15,17,20,18,19,25,23,21,21,19,20,19,25,23,21,15,17,20,18,19,25,23,21,21,23,25,19,18,20,17,15,21,23,25,19,20,19,21,21,23,25,19,18,20,17,15,22,21,23,19,22,21,23,19,22,23,21,19,25,27,24,26,27,25,24,26,27,25,24,26,19,21,22,24,29,27,22,24,23,22,24,29,27,22,24,19,25,23,21,29,27,22,24,24,22,27,29,21,23,25,19,24,22,27,29,24,22,23,24,22,27,29,24,22,21,19,26,24,25,27,26,24,25,27,26,24,27,25,29,31,28,30,31,29,28,30,31,29,28,30,25,23,26,28,32,31,26,28,27,25,26,28,32,31,26,28,29,27,22,24,32,31,26,28,28,26,31,32,24,22,27,29,28,26,31,32,28,26,25,27,28,26,31,32,28,26,23,25,30,28,29,31,30,28,29,31,30,28,31,29,32,34,33,35,34,32,33,35,34,32,33,35,29,27,30,33,36,34,30,33,31,29,30,33,36,34,30,33,32,31,26,28,36,34,30,33,33,30,34,36,28,26,31,32,33,30,34,36,33,30,29,31,33,30,34,36,33,30,27,29,35,33,32,34,35,33,32,34,35,33,34,32,36,38,37,39,38,36,37,39,38,36,37,39,32,31,35,37,40,38,35,37,34,32,35,37,40,38,35,37,36,34,30,33,40,38,35,37,37,35,38,40,33,30,34,36,37,35,38,40,37,35,32,34,37,35,38,40,37,35,31,32,39,37,36,38,39,37,36,38,39,37,38,36,40,42,41,43,44,42,40,41,44,42,40,41,38,36,34,39,41,43,42,39,41,38,36,39,41,47,42,39,41,40,38,35,37,43,42,39,41,41,39,42,43,37,35,38,40,41,39,42,47,41,39,36,38,41,39,42,43,41,39,34,36,38,41,40,42,44,41,40,42,44,43,41,42,40,46,44,45,47,46,43,45,47,46,43,45,47,42,40,43,45,47,46,44,45,47,42,40,43,45,43,45,49,51,43,42,39,41,46,44,45,47,47,45,44,46,41,39,42,43,51,49,45,43,45,43,40,42,47,45,44,46,47,45,43,40,42,47,45,43,46,47,45,43,46,47,45,44,46,50,48,49,51,50,48,49,51,50,48,49,51,48,46,44,49,51,50,48,49,51,46,44,47,49,46,44,53,55,46,44,45,47,50,48,49,51,51,49,48,50,47,45,44,46,55,53,44,46,49,47,44,46,51,49,48,50,51,49,44,46,48,51,49,48,50,51,49,48,50,51,49,48,50,54,52,53,55,54,52,53,55,54,52,53,55,54,52,50,53,55,54,52,53,55,50,48,51,53,52,50,48,57,59,50,48,49,51,54,52,53,55,55,53,52,54,51,49,48,50,59,57,48,50,52,53,51,48,50,55,53,52,54,55,53,50,52,54,55,53,52,54,55,53,52,54,55,53,52,54,60,58,57,59,58,56,57,59,58,56,57,59,60,58,56,57,59,58,56,57,59,54,52,55,57,58,56,54,61,63,54,52,53,55,58,56,57,59,59,57,56,58,55,53,52,54,63,61,54,56,58,57,55,52,54,59,57,56,58,59,57,56,58,60,59,57,56,58,59,57,56,58,59,57,58,60,56,62,61,63,62,60,61,63,62,60,61,63,64,66,62,61,63,62,60,61,63,58,56,59,61,62,60,66,68,70,58,56,57,59,62,60,61,63,63,61,60,62,59,57,56,58,70,68,66,60,62,61,59,56,58,63,61,60,62,63,61,62,66,64,63,61,60,62,63,61,60,62,63,61,62,56,65,64,66,68,64,66,68,70,72,65,64,66,68,67,65,68,70,64,66,68,70,72,62,60,63,68,67,65,64,72,64,62,60,61,63,65,64,66,68,68,66,64,65,63,61,60,62,64,72,64,65,67,68,63,60,62,72,70,68,66,64,70,68,65,67,68,66,64,65,72,70,68,66,64,68,66,64,65,69,67,70,72,69,67,65,74,76,69,67,70,72,71,69,72,74,69,67,65,74,76,64,66,70,72,71,69,74,76,65,66,68,70,72,69,67,70,72,72,70,67,69,72,70,68,66,65,76,74,69,71,72,70,66,64,76,74,65,67,69,74,72,69,71,72,70,67,69,76,74,65,67,69,72,70,67,69,73,71,74,76,75,73,71,78,80,73,71,74,76,75,73,76,78,75,73,71,78,80,67,65,74,76,75,73,78,80,71,69,67,74,76,73,71,74,76,76,74,71,73,76,74,67,69,71,80,78,73,75,76,74,65,67,80,78,71,73,75,78,76,73,75,76,74,71,73,80,78,71,73,75,76,74,71,73,77,75,78,80,81,79,77,82,84,79,77,75,78,80,79,77,80,82,79,77,82,84,73,71,69,78,80,79,77,82,84,77,75,73,78,80,77,75,78,80,80,78,75,77,80,78,73,75,77,84,82,77,79,80,78,69,71,73,84,82,77,79,82,80,77,79,80,78,75,77,79,84,82,77,79,81,80,78,75,77,81,79,82,84,83,89,87,85,86,85,83,81,82,84,83,81,84,88,83,81,86,88,79,77,75,82,84,83,81,87,85,83,81,79,82,84,81,79,82,84,84,82,79,81,84,82,79,81,83,85,87,81,83,84,82,75,77,79,88,86,81,83,88,84,81,83,84,82,81,83,85,86,85,87,89,83,84,82,79,81,83,85,86,88,95,93,91,88,90,91,89,87,86,88,85,86,90,92,87,85,90,92,83,81,85,86,88,91,89,86,88,85,86,88,90,92,83,87,85,86,86,85,87,83,92,90,88,86,85,88,86,89,91,88,86,85,81,83,92,90,85,87,92,90,86,85,88,86,87,89,91,90,88,91,93,95,88,86,85,83,91,89,87,90,92,98,96,92,94,95,93,90,92,91,89,87,94,97,93,91,89,94,97,91,89,87,90,92,95,93,90,92,91,89,87,94,97,91,89,88,90,90,88,89,91,97,94,87,89,91,92,90,93,95,92,90,87,89,91,97,94,89,91,93,97,94,87,89,91,92,90,93,95,94,92,96,98,92,90,87,89,91,96,95,93,94,97,102,100,97,99,98,96,94,97,96,95,93,99,101,98,96,95,99,101,96,95,93,94,97,98,96,94,97,96,95,93,99,101,95,93,92,94,94,92,93,95,101,99,93,95,96,97,94,96,98,97,94,93,95,96,101,99,95,96,98,101,99,93,95,96,97,94,96,98,99,97,100,102,97,94,93,95,96,102,100,98,99,101,106,104,101,103,102,100,99,101,102,100,98,103,105,104,102,100,103,105,102,100,98,99,101,102,100,99,101,102,100,98,103,105,98,96,97,99,99,97,96,98,105,103,98,100,102,101,99,100,102,101,99,98,100,102,105,103,100,102,104,105,103,98,100,102,101,99,100,102,103,101,104,106,101,99,98,100,102,106,104,103,105,111,107,109,111,105,106,104,103,105,111,106,104,107,109,111,106,107,109,111,106,104,103,105,111,107,106,104,103,105,106,104,107,109,111,102,100,101,103,103,101,100,102,111,109,107,104,106,105,103,104,106,107,111,105,103,104,106,111,109,107,106,111,109,107,104,106,111,105,103,104,106,105,111,109,107,111,105,103,104,106,108,107,109,113,115,110,108,113,115,108,107,109,113,115,112,110,108,113,115,110,108,113,115,108,107,109,113,115,108,109,111,113,115,112,110,108,113,115,106,104,105,111,111,105,104,106,115,113,108,110,112,115,113,111,109,108,115,113,109,107,108,115,113,108,110,115,113,108,110,112,115,113,109,107,108,115,113,108,110,115,113,109,107,108,114,112,110,117,119,114,112,117,119,114,112,110,117,119,118,116,114,117,119,114,112,117,119,114,112,110,117,119,114,112,110,117,119,118,116,114,117,119,107,109,113,115,115,113,109,107,119,117,114,116,118,119,117,110,112,114,119,117,110,112,114,119,117,112,114,119,117,114,116,118,119,117,110,112,114,119,117,112,114,119,117,110,112,114,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,122,120,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,122,120,121,123,112,110,108,117,119,119,117,108,110,112,123,121,120,122,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,120,122,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,125,127,118,116,114,121,123,123,121,114,116,118,127,125,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,3,1,0,3,1,0,2,0,2,4,7,5,3,1,0,2,4,5,3,1,5,3,1,0,3,1,0,5,3,1,5,3,1,3,1,0,2,126,124,122,120,125,127,127,125,120,122,124,126,2,0,1,3,1,3,5,1,3,5,0,1,3,0,1,3,5,1,3,5,4,2,0,1,3,5,7,4,2,0,2,0,1,3,0,1,3,5,2,4,7,5,4,6,3,1,6,8,9,1,0,5,3,6,8,7,0,2,9,7,2,4,5,2,4,9,7,0,7,0,2,7,5,4,6,3,1,0,2,2,0,1,3,2,0,1,3,6,4,5,7,2,0,7,0,7,9,4,2,5,4,2,7,9,2,0,7,8,6,3,5,0,1,9,8,6,1,3,6,4,5,7,4,2,5,7,6,8,11,9,8,10,7,5,10,12,11,2,4,9,7,10,12,9,4,6,13,11,6,8,7,6,8,11,2,4,9,4,6,11,9,8,10,7,5,4,6,6,4,5,7,6,4,5,7,10,8,9,11,6,4,9,4,2,11,8,6,7,8,6,11,13,6,4,9,12,10,7,9,4,2,11,12,10,5,7,10,8,9,11,8,6,7,9,10,12,15,13,12,14,11,9,14,16,13,6,8,13,11,14,16,11,8,10,15,10,12,11,9,10,12,13,6,8,11,8,10,15,13,12,14,11,9,8,10,8,10,9,11,10,8,9,11,14,12,13,15,10,8,11,8,6,13,12,10,9,11,12,10,15,10,8,11,16,14,11,13,8,6,13,16,14,9,11,14,12,13,15,12,10,9,13,11,14,16,17,16,18,15,13,18,20,15,10,12,17,15,18,20,15,13,12,14,17,14,16,15,13,14,16,15,10,12,15,13,12,14,17,16,18,15,13,12,14,12,14,13,15,14,12,13,15,18,16,17,14,12,13,15,12,10,15,16,14,13,15,16,14,17,14,12,13,15,20,18,15,17,12,10,15,20,18,13,15,18,16,17,16,14,11,13,17,15,18,20,19,20,21,19,17,21,22,17,14,16,19,21,22,24,19,17,16,18,19,18,20,19,17,18,20,17,14,16,19,17,16,18,19,20,21,19,17,16,18,16,18,17,19,18,16,17,19,21,20,19,18,16,17,19,16,14,17,20,18,17,19,20,18,19,18,16,17,19,24,22,21,19,16,14,17,22,21,17,19,21,20,19,20,18,15,17,19,23,21,22,25,23,22,27,25,23,24,19,18,20,27,25,23,26,23,21,22,20,23,21,22,25,23,21,22,19,18,20,23,21,22,20,25,23,22,23,21,22,20,20,22,21,23,20,22,21,23,22,23,25,20,22,21,23,20,18,19,22,21,23,25,22,21,23,20,22,21,23,26,23,25,27,20,18,19,24,23,25,27,22,23,25,22,21,23,19,27,25,24,26,29,27,24,32,31,29,26,27,25,23,21,31,29,28,29,27,25,24,27,25,24,26,29,27,24,23,21,22,24,27,25,24,26,29,27,24,27,25,24,26,26,24,25,27,26,24,25,27,24,27,29,26,24,25,27,24,22,21,23,24,27,29,26,24,25,27,24,25,27,29,28,29,31,21,23,25,27,26,29,31,32,24,27,29,26,24,25,27,31,29,28,30,31,26,28,36,34,28,30,31,29,22,24,32,30,33,34,32,31,26,31,29,28,30,32,31,26,27,25,26,28,31,29,28,30,32,31,26,31,29,28,30,28,30,29,31,30,28,29,31,26,31,32,30,28,29,31,28,26,25,27,26,31,32,30,28,29,31,26,31,32,34,33,30,32,24,22,29,31,30,28,34,36,28,26,31,30,28,29,31,34,32,33,35,32,30,33,40,38,33,35,34,32,26,28,34,35,37,38,36,28,30,34,32,33,35,34,28,30,31,29,30,33,34,32,33,35,36,34,28,34,32,33,35,33,35,32,34,35,33,32,34,28,34,36,35,33,32,34,33,30,29,31,30,28,34,35,33,32,34,30,28,36,38,37,35,34,28,26,32,34,35,33,38,40,33,30,32,35,33,32,34,38,36,37,39,36,34,35,37,42,37,39,38,36,30,33,38,36,39,41,40,33,35,38,36,37,39,38,36,33,35,34,32,35,37,38,36,37,39,38,30,33,38,36,37,39,37,39,36,38,39,37,36,38,33,30,38,39,37,36,38,37,35,32,34,35,33,36,38,39,37,36,38,35,33,40,41,39,36,38,33,30,36,38,39,37,42,37,35,34,36,39,37,36,38,42,40,41,43,40,38,39,41,44,43,41,42,40,35,37,42,40,43,45,42,37,39,42,40,41,43,42,40,37,39,38,36,39,41,42,40,41,43,40,35,37,42,40,41,43,45,41,40,42,43,41,40,42,37,35,40,43,41,40,42,41,39,36,38,39,37,40,42,43,41,40,42,39,37,42,45,43,40,42,37,35,40,42,41,43,44,41,39,38,40,43,41,40,42,46,44,45,47,42,46,44,43,46,45,47,43,45,39,41,46,44,47,49,45,47,41,46,44,45,47,46,44,43,41,42,40,43,45,46,44,45,47,42,39,41,46,44,45,47,47,43,44,46,47,45,44,46,41,39,42,47,45,44,46,45,43,40,42,41,43,44,46,47,45,44,46,41,47,45,49,47,44,46,41,39,45,43,47,45,46,43,44,46,42,47,45,44,46,50,48,49,51,50,48,45,47,50,48,49,46,44,47,49,50,48,51,53,44,43,49,51,50,48,49,51,50,48,45,47,46,44,47,49,50,48,49,51,46,44,43,50,48,49,51,51,49,48,50,51,49,48,50,43,44,46,51,49,48,50,49,47,44,46,47,45,48,50,51,49,48,50,51,49,43,44,53,51,48,50,49,47,44,46,49,48,50,47,45,48,50,51,49,48,50,54,52,53,55,54,52,49,51,52,51,53,50,48,51,53,54,52,55,57,48,46,53,55,54,52,53,55,54,52,49,51,50,48,51,53,54,52,53,55,48,45,47,54,52,53,55,53,55,52,54,55,53,52,54,47,45,48,55,53,52,54,53,51,48,50,51,49,52,54,55,53,52,54,55,53,46,48,57,55,52,54,53,51,48,50,53,51,52,51,49,52,54,55,53,52,54,58,56,57,59,58,56,53,55,54,55,57,54,52,55,57,58,56,59,61,52,50,57,59,58,56,57,59,58,56,53,55,54,52,55,57,58,56,57,59,50,49,51,58,56,57,59,57,59,56,58,59,57,56,58,51,49,50,59,57,56,58,57,55,52,54,55,53,56,58,59,57,56,58,59,57,50,52,61,59,56,58,57,55,52,54,57,55,54,55,53,56,58,59,57,56,58,62,60,61,63,62,60,57,59,58,56,59,61,58,56,59,61,62,60,63,58,56,54,61,63,62,60,61,62,60,57,59,58,56,59,61,62,60,61,63,54,52,53,55,62,60,61,63,61,63,60,62,63,61,60,62,55,53,52,54,63,61,60,62,61,59,56,58,59,57,60,62,61,60,62,63,61,54,56,58,63,60,62,61,59,56,58,61,59,56,58,59,57,60,62,63,61,60,62,67,65,64,66,64,66,61,63,62,60,63,64,62,60,63,64,65,64,66,62,60,65,64,66,65,64,63,64,66,61,63,62,60,63,64,67,65,64,66,58,56,57,59,67,65,64,66,66,64,65,67,66,64,65,67,59,57,56,58,66,64,65,67,64,63,60,62,63,61,66,64,63,64,65,66,64,65,60,62,66,64,65,64,63,60,62,64,63,60,62,63,61,66,64,66,64,65,67,71,69,68,70,67,65,68,70,67,65,66,68,67,65,66,68,67,68,70,71,69,67,68,70,67,66,68,67,65,68,70,67,65,66,68,71,69,68,70,62,60,61,63,71,69,68,70,70,68,69,71,70,68,69,71,63,61,60,62,70,68,69,71,68,66,65,67,70,68,65,67,68,66,67,70,68,67,69,71,70,68,67,68,66,65,67,68,66,65,67,70,68,65,67,70,68,69,71,75,73,72,74,71,69,72,74,71,69,70,72,71,69,70,72,71,69,72,74,75,73,72,74,71,69,70,72,71,69,72,74,71,69,70,72,75,73,72,74,67,65,64,66,75,73,72,74,72,74,73,75,74,72,73,75,66,64,65,67,74,72,73,75,72,70,69,71,74,72,69,71,72,70,69,71,74,72,73,75,74,72,69,71,72,70,69,71,72,70,69,71,74,72,69,71,74,72,73,75,79,77,76,78,75,73,76,78,75,73,74,76,75,73,74,76,75,73,76,78,79,77,76,78,75,73,74,76,75,73,76,78,75,73,74,76,79,77,76,78,71,69,68,70,79,77,76,78,76,78,77,79,78,76,77,79,70,68,69,71,78,76,77,79,76,74,73,75,78,76,73,75,76,74,73,75,78,76,77,79,78,76,73,75,76,74,73,75,76,74,73,75,78,76,73,75,78,76,77,79,83,81,80,82,79,77,80,82,79,77,78,80,79,77,78,80,79,77,80,82,83,81,80,82,79,77,78,80,79,77,80,82,79,77,78,80,83,81,80,82,75,73,72,74,83,81,80,82,80,82,81,83,82,80,81,83,74,72,73,75,82,80,81,83,80,78,77,79,82,80,77,79,80,78,77,79,82,80,81,83,82,80,77,79,80,78,77,79,80,78,77,79,82,80,77,79,82,80,81,83,89,87,85,84,83,81,84,87,83,81,82,84,83,81,82,84,83,81,84,85,89,87,85,84,83,81,82,84,85,83,81,84,83,81,82,84,86,87,85,86,84,79,77,76,78,87,85,86,84,84,86,85,87,84,86,85,87,78,76,77,79,84,86,85,87,86,84,82,81,83,84,81,83,85,84,82,81,83,84,85,87,89,85,84,81,83,84,82,81,83,84,82,81,83,87,84,81,83,84,85,87,89,93,91,86,88,91,89,85,86,91,89,87,85,87,85,86,88,91,89,87,86,93,91,86,88,91,89,87,85,89,87,86,88,89,87,85,88,90,91,89,88,90,83,81,80,82,91,89,88,90,90,88,89,91,90,88,89,91,82,80,81,83,90,88,89,91,90,88,85,87,89,88,86,87,89,85,87,89,91,88,86,91,93,86,87,89,91,88,86,85,87,85,87,89,91,86,85,89,91,88,86,91,93,96,95,90,92,95,93,88,90,95,93,86,88,91,89,90,92,95,93,88,90,96,95,90,92,95,93,86,88,93,91,90,92,95,93,91,92,94,95,93,92,94,85,86,88,84,95,93,92,94,92,94,93,95,94,92,93,95,84,88,86,85,94,92,93,95,94,92,91,93,95,92,90,91,93,88,86,93,95,92,90,95,96,90,88,93,95,92,90,89,91,88,86,93,95,90,88,93,95,92,90,95,96,100,98,94,97,98,96,92,94,98,96,90,92,96,95,93,94,97,98,96,92,94,100,98,94,97,98,96,90,92,96,95,94,97,98,96,97,99,98,96,97,99,91,89,87,90,92,98,96,97,99,97,99,96,98,99,97,96,98,92,90,87,89,91,99,97,96,98,99,97,96,98,97,94,95,96,92,90,96,98,97,94,98,100,94,92,96,98,97,94,93,95,96,92,90,96,98,94,92,96,98,97,94,98,100,104,102,99,101,102,100,97,99,102,100,94,97,102,100,98,99,101,102,100,97,99,104,102,99,101,102,100,94,97,100,98,99,101,102,100,101,103,102,100,101,103,96,95,93,94,97,102,100,101,103,101,103,100,102,103,101,100,102,97,94,93,95,96,103,101,100,102,103,101,100,102,101,99,98,100,97,94,100,102,101,99,102,104,99,97,100,102,101,99,98,100,102,97,94,100,102,99,97,100,102,101,99,102,104,108,106,103,105,106,104,101,103,106,104,99,101,108,106,104,103,105,106,104,101,103,107,106,103,105,106,104,99,101,104,102,103,105,106,104,105,107,106,104,105,107,102,100,98,99,101,106,104,105,107,109,105,104,106,107,105,104,106,101,99,98,100,102,107,105,104,106,107,105,104,106,105,103,102,104,101,99,104,106,105,103,106,107,103,101,104,106,105,103,104,106,108,101,99,104,106,103,101,104,106,105,103,106,108,110,107,109,111,107,109,111,105,108,107,109,103,105,110,107,109,111,107,109,111,105,110,108,109,111,108,107,109,103,105,106,107,109,111,110,108,109,111,110,108,109,111,106,104,103,105,111,110,108,109,111,111,107,108,110,111,109,108,110,111,105,103,104,106,111,109,108,110,111,109,108,110,111,109,107,106,105,103,109,107,108,111,109,108,110,105,111,109,107,111,109,107,110,105,103,109,107,108,105,111,109,107,111,109,107,110,114,112,113,115,110,108,113,115,112,110,111,113,115,114,112,113,115,110,108,113,115,114,112,113,115,112,110,111,113,115,110,108,113,115,114,112,113,115,114,112,113,115,108,107,109,113,115,114,112,113,115,115,113,112,114,115,113,112,114,115,113,109,107,108,115,113,112,114,115,113,112,114,115,113,108,110,115,113,111,110,112,115,113,112,114,115,113,108,110,115,113,112,114,115,113,111,110,112,115,113,108,110,115,113,112,114,118,116,117,119,114,112,117,119,118,116,114,117,119,118,116,117,119,114,112,117,119,118,116,117,119,118,116,114,117,119,114,112,117,119,118,116,117,119,118,116,117,119,114,112,110,117,119,118,116,117,119,117,119,116,118,119,117,116,118,119,117,110,112,114,119,117,116,118,119,117,116,118,119,117,112,114,119,117,114,116,118,119,117,116,118,119,117,112,114,119,117,116,118,119,117,114,116,118,119,117,112,114,119,117,116,118,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,122,120,121,123,120,118,116,121,123,122,120,121,123,121,123,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,123,121,120,122,123,121,116,118,120,123,121,120,122,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,126,124,125,127,126,124,122,125,127,126,124,125,127,125,127,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126,127,125,124,126,127,125,122,124,126,127,125,124,126};
-const Int_t AliL3TPCMapping::fgkIFecCon[fgkNIROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,4,3,3,4,4,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,4,4,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,5,4,4,5,5,5,4,5,5,5,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,5,5,5,4,5,5,5,4,4,5,4,4,4,4,4,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,2,2,2,3,2,2,2,3,3,3,3,2,2,3,3,3,3,3,2,3,3,2,2,2,2,2,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,2,2,2,2,2,3,3,2,3,3,3,3,3,2,2,3,3,3,3,2,2,2,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,4,4,4,3,3,4,4,4,3,4,4,4,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,5,4,4,4,4,4,4,4,4,5,5,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,4,5,5,5,4,4,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,4,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5};
diff --git a/HLT/misc/AliL3TPCMapping-oroc.generated b/HLT/misc/AliL3TPCMapping-oroc.generated
deleted file mode 100644 (file)
index 36553d6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-const Int_t AliL3TPCMapping::fgkNOROC = 9984;
-const Int_t AliL3TPCMapping::fgkORows[fgkNOROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95};
-const Int_t AliL3TPCMapping::fgkOPad[fgkNOROC] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139};
-const Int_t AliL3TPCMapping::fgkOCon[fgkNOROC] = {235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,239,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,5,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,237,237,237,237,237,238,238,238,238,239,239,239,239,240,240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,1,1,235,235,235,235,236,236,236,236,246,246,246,237,237,238,238,238,238,239,239,239,239,249,249,249,240,240,241,241,241,241,242,242,242,242,243,243,243,243,9,9,9,9,8,8,8,8,7,7,7,7,6,6,15,15,15,5,5,5,5,4,4,4,4,3,3,12,12,12,2,2,2,2,1,1,1,1,244,244,244,235,245,245,245,245,236,246,246,246,246,247,247,247,238,248,248,248,248,248,249,249,249,249,250,250,250,250,241,251,251,251,242,243,252,252,252,18,18,18,9,8,17,17,17,7,16,16,16,16,15,15,15,15,14,14,14,14,14,4,13,13,13,12,12,12,12,2,11,11,11,11,1,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,16,16,16,16,16,15,15,15,15,14,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,247,247,247,247,248,248,248,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,16,16,16,16,16,15,15,15,15,14,14,14,14,14,13,13,13,13,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,245,245,246,246,246,246,246,247,247,247,247,248,248,248,248,249,249,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,17,16,16,16,16,15,15,15,15,15,14,14,14,14,13,13,13,13,12,12,12,12,12,11,11,11,11,11,10,10,10,10,244,244,244,244,245,245,245,254,254,255,255,255,246,246,247,247,247,247,248,248,248,257,258,258,258,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,18,18,18,18,17,17,17,17,17,16,16,16,16,15,15,24,24,24,23,14,14,14,13,13,13,13,12,12,21,21,21,20,20,11,11,11,10,10,10,10,253,244,244,244,254,254,254,254,254,255,255,255,255,256,247,247,247,257,257,257,257,257,258,258,258,258,258,259,259,259,259,260,260,260,251,261,261,252,252,252,18,18,18,27,27,17,26,26,26,25,25,25,25,24,24,24,24,24,23,23,23,23,23,13,13,13,22,21,21,21,21,20,20,20,20,20,10,10,10,19,253,253,253,253,254,254,254,254,255,255,255,255,255,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,21,21,21,21,21,20,20,20,20,19,19,19,19,253,253,253,253,253,254,254,254,254,255,255,255,255,256,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,19,253,253,253,253,253,254,254,254,254,255,255,255,255,256,256,256,256,256,257,257,257,257,257,258,258,258,258,259,259,259,259,259,260,260,260,260,261,261,261,261,261,27,27,27,27,27,26,26,26,26,25,25,25,25,25,24,24,24,24,23,23,23,23,23,22,22,22,22,22,21,21,21,21,20,20,20,20,19,19,19,19,19,253,253,253,253,253,254,254,263,263,264,264,264,255,256,256,256,256,256,266,266,266,266,266,258,267,267,267,259,259,268,268,260,260,260,260,260,261,261,261,261,270,36,27,27,27,27,26,26,26,26,26,34,34,25,25,33,33,33,24,32,32,32,32,32,22,22,22,22,22,21,30,30,30,29,29,20,20,19,19,19,19,19,262,262,262,262,253,263,263,263,263,264,264,264,264,264,256,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,260,270,270,270,270,270,36,36,36,36,36,26,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,22,30,30,30,30,30,29,29,29,29,19,28,28,28,28,262,262,262,262,262,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,31,30,30,30,30,30,29,29,29,29,28,28,28,28,28,262,262,262,262,262,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,267,267,267,267,267,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,33,33,33,33,33,32,32,32,32,31,31,31,31,31,30,30,30,30,30,29,29,29,29,28,28,28,28,28,262,262,262,262,262,263,263,263,263,263,264,264,264,273,265,265,265,265,265,275,266,266,266,266,267,267,267,276,268,268,268,268,268,269,269,269,269,269,270,270,270,270,270,36,36,36,36,36,35,35,35,35,35,34,34,34,34,34,42,33,33,33,32,32,32,32,41,31,31,31,31,31,39,30,30,30,29,29,29,29,29,28,28,28,28,28,271,271,271,262,262,263,263,272,272,272,273,273,273,273,265,265,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,268,268,269,269,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,35,35,34,34,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,31,31,39,39,39,39,38,38,38,29,29,28,28,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,274,274,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,274,274,274,274,274,275,275,275,275,275,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,41,41,41,41,41,40,40,40,40,40,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,271,272,272,272,272,272,273,273,273,273,273,274,274,274,274,274,275,275,275,275,276,276,276,276,276,277,277,277,277,277,278,278,278,278,278,279,279,279,279,279,45,45,45,45,45,44,44,44,44,44,43,43,43,43,43,42,42,42,42,42,41,41,41,41,40,40,40,40,40,39,39,39,39,39,38,38,38,38,38,37,37,37,37,37,271,271,271,271,280,281,272,272,272,272,273,273,273,273,282,283,274,274,274,274,275,275,284,284,285,276,276,276,276,277,277,277,277,286,287,278,278,278,278,279,279,288,288,288,54,54,54,45,45,44,44,44,44,53,52,43,43,43,43,42,42,42,42,51,50,50,41,41,40,40,40,40,49,48,39,39,39,39,38,38,38,38,47,46,37,37,37,37,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,288,288,54,54,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,280,280,280,280,280,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,288,288,288,298,298,64,64,54,54,54,53,53,53,53,53,52,52,52,52,52,51,51,51,51,51,50,50,50,50,50,49,49,49,49,49,48,48,48,48,48,47,47,47,47,47,46,46,46,46,46,289,289,289,289,290,290,290,290,290,291,291,291,291,291,292,292,292,292,293,293,293,293,293,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,59,59,59,59,59,58,58,58,58,57,57,57,57,57,56,56,56,56,56,55,55,55,55,289,289,289,289,289,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,58,58,58,58,58,57,57,57,57,57,56,56,56,56,55,55,55,55,55,289,289,289,289,289,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,58,58,58,58,58,57,57,57,57,57,56,56,56,56,55,55,55,55,55,289,289,289,289,290,290,290,290,290,291,291,291,291,291,292,292,292,292,293,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,297,297,297,297,297,298,298,298,298,64,64,64,64,63,63,63,63,63,62,62,62,62,61,61,61,61,61,60,60,60,60,60,59,59,59,59,59,58,58,58,58,57,57,57,57,57,56,56,56,56,56,55,55,55,55,289,289,289,299,299,300,300,290,290,290,301,301,301,291,292,292,292,302,302,303,303,293,293,293,294,294,304,304,305,305,305,305,295,296,296,296,296,296,297,307,307,307,308,308,298,298,298,64,64,64,74,74,73,73,73,63,62,62,62,62,62,61,71,71,71,71,70,70,60,60,59,59,59,69,69,68,68,58,58,58,57,67,67,67,56,56,56,66,66,65,65,55,55,55,299,299,299,299,299,300,300,300,300,301,301,301,301,301,302,302,302,302,302,303,303,303,303,304,304,304,304,304,305,305,305,305,305,306,306,306,306,306,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,72,72,72,72,72,71,71,71,71,71,70,70,70,70,70,69,69,69,69,68,68,68,68,68,67,67,67,67,67,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,301,301,301,301,301,302,302,302,302,302,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,68,68,68,68,68,67,67,67,67,67,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,300,301,301,301,301,302,302,302,302,302,303,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,69,68,68,68,68,68,67,67,67,67,66,66,66,66,66,65,65,65,65,65,299,299,299,299,299,300,300,300,300,300,301,301,301,301,302,302,302,302,302,303,303,303,303,303,304,304,304,304,304,305,305,305,305,306,306,306,306,306,307,307,307,307,307,308,308,308,308,308,74,74,74,74,74,73,73,73,73,73,72,72,72,72,72,71,71,71,71,70,70,70,70,70,69,69,69,69,69,68,68,68,68,68,67,67,67,67,66,66,66,66,66,65,65,65,65,65,309,309,309,309,309,310,310,310,300,300,301,311,311,311,312,312,312,312,312,303,303,313,313,313,314,314,314,314,314,315,315,315,305,306,306,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,72,72,71,81,81,81,80,80,80,80,80,79,79,79,69,69,78,78,78,78,78,77,77,77,67,66,66,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,312,312,312,312,312,313,313,313,313,313,314,314,314,314,314,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,80,80,80,80,80,79,79,79,79,79,78,78,78,78,78,77,77,77,77,76,76,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,311,312,312,312,312,312,313,313,313,313,314,314,314,314,314,315,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,81,80,80,80,80,80,79,79,79,79,78,78,78,78,78,77,77,77,77,77,76,76,76,76,76,75,75,75,75,75,309,309,309,309,309,310,310,310,310,310,311,311,311,311,311,312,312,312,312,312,313,313,313,313,314,314,314,314,314,315,315,315,315,315,316,316,316,316,316,317,317,317,317,317,318,318,318,318,318,84,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,81,80,80,80,80,80,79,79,79,79,78,78,78,78,78,77,77,77,77,77,76,76,76,76,76,75,75,75,75,75,319,319,319,319,309,320,320,310,310,310,321,311,311,311,311,322,322,322,322,312,313,313,313,313,314,324,324,324,324,325,315,315,315,315,316,316,316,326,326,327,327,327,327,317,318,328,328,328,328,94,94,94,94,84,83,93,93,93,93,92,92,82,82,82,81,81,81,81,91,90,90,90,90,80,79,79,79,79,78,88,88,88,88,77,77,77,77,87,76,76,76,86,86,75,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,313,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,79,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,323,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,89,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,319,319,319,319,319,320,320,320,320,320,321,321,321,321,321,322,322,322,322,322,323,323,323,323,323,324,324,324,324,324,325,325,325,325,325,326,326,326,326,326,327,327,327,327,327,328,328,328,328,328,94,94,94,94,94,93,93,93,93,93,92,92,92,92,92,91,91,91,91,91,90,90,90,90,90,89,89,89,89,89,88,88,88,88,88,87,87,87,87,87,86,86,86,86,86,85,85,85,85,85,329,329,329,319,319,330,320,320,320,320,321,321,321,321,321,332,332,332,322,322,323,323,323,323,323,334,334,334,324,324,325,325,325,325,325,336,326,326,326,326,327,327,337,337,337,338,338,338,328,328,94,94,104,104,104,103,103,103,93,93,92,92,92,92,102,91,91,91,91,91,90,90,100,100,100,89,89,89,89,89,88,88,98,98,98,87,87,87,87,87,86,86,86,86,96,85,85,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,323,323,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,89,89,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,333,333,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,99,99,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,329,330,330,330,330,330,331,331,331,331,331,332,332,332,332,332,333,333,333,333,333,333,334,334,334,334,334,335,335,335,335,335,336,336,336,336,336,337,337,337,337,337,338,338,338,338,338,104,104,104,104,104,103,103,103,103,103,102,102,102,102,102,101,101,101,101,101,100,100,100,100,100,99,99,99,99,99,99,98,98,98,98,98,97,97,97,97,97,96,96,96,96,96,95,95,95,95,95,329,329,329,329,339,330,330,330,330,330,331,331,331,331,331,331,332,332,332,332,342,333,333,333,333,333,344,334,334,334,334,335,335,335,335,335,335,336,336,336,336,336,337,337,337,337,347,348,338,338,338,338,104,104,104,104,114,113,103,103,103,103,102,102,102,102,102,101,101,101,101,101,101,100,100,100,100,110,99,99,99,99,99,108,98,98,98,98,97,97,97,97,97,97,96,96,96,96,96,105,95,95,95,95,339,339,339,339,339,340,340,340,340,330,331,341,341,341,341,341,342,342,342,342,342,333,343,343,343,343,344,344,344,344,344,345,345,345,345,345,335,336,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,102,101,111,111,111,111,111,110,110,110,110,110,109,109,109,109,99,108,108,108,108,108,107,107,107,107,107,97,96,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,341,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,345,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,111,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,107,106,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,340,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,346,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,339,339,339,339,339,340,340,340,340,340,340,341,341,341,341,341,342,342,342,342,342,343,343,343,343,343,343,344,344,344,344,344,345,345,345,345,345,346,346,346,346,346,346,347,347,347,347,347,348,348,348,348,348,114,114,114,114,114,113,113,113,113,113,112,112,112,112,112,112,111,111,111,111,111,110,110,110,110,110,109,109,109,109,109,109,108,108,108,108,108,107,107,107,107,107,106,106,106,106,106,106,105,105,105,105,105,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,350,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,123,123,123,122,122,122,122,122,122,121,121,121,121,121,120,120,120,120,120,120,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,116,116,116,116,116,116,115,115,115,115,115,349,349,349,349,349,350,350,350,350,350,351,351,351,351,351,351,352,352,352,352,352,353,353,353,353,353,364,364,364,354,354,354,355,355,355,355,355,356,356,356,366,366,366,367,367,367,357,357,357,358,358,358,358,358,124,124,124,124,124,123,123,123,133,133,133,132,132,132,122,122,122,121,121,121,121,121,120,120,120,130,130,130,119,119,119,119,119,118,118,118,118,118,117,117,117,117,117,117,116,116,116,116,116,115,115,115,115,115,349,359,359,359,359,360,360,360,360,360,361,361,361,361,361,361,362,362,362,362,352,353,363,363,363,363,364,364,364,364,364,365,365,365,365,365,355,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,358,124,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,121,131,131,131,131,131,130,130,130,130,130,129,129,129,129,119,118,128,128,128,128,127,127,127,127,127,127,126,126,126,126,126,125,125,125,125,115,359,359,359,359,359,359,360,360,360,360,360,361,361,361,361,361,361,362,362,362,362,362,363,363,363,363,363,364,364,364,364,364,365,365,365,365,365,365,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,368,134,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,131,131,131,131,131,131,130,130,130,130,130,129,129,129,129,129,128,128,128,128,128,127,127,127,127,127,127,126,126,126,126,126,125,125,125,125,125,125,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,361,362,362,362,362,362,362,363,363,363,363,363,364,364,364,364,364,365,365,365,365,365,365,366,366,366,366,366,366,367,367,367,367,367,368,368,368,368,368,368,134,134,134,134,134,134,133,133,133,133,133,132,132,132,132,132,132,131,131,131,131,131,131,130,130,130,130,130,129,129,129,129,129,128,128,128,128,128,128,127,127,127,127,127,126,126,126,126,126,126,125,125,125,125,125,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,361,362,362,362,362,362,362,363,363,363,363,363,374,364,364,364,364,365,365,365,365,365,375,376,376,376,376,376,366,367,367,367,367,377,378,368,368,368,368,368,134,134,134,134,134,144,143,133,133,133,133,132,142,142,142,142,142,141,131,131,131,131,131,130,130,130,130,140,129,129,129,129,129,128,128,128,128,128,128,127,127,127,127,127,126,126,126,126,126,126,125,125,125,125,125,359,359,369,369,369,370,370,370,370,370,371,371,371,371,371,371,362,372,372,372,372,373,373,373,363,363,363,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,129,129,129,139,139,139,138,138,138,138,128,137,137,137,137,137,137,136,136,136,136,136,135,135,135,125,125,369,369,369,369,369,369,370,370,370,370,370,371,371,371,371,371,371,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,140,139,139,139,139,139,138,138,138,138,138,137,137,137,137,137,137,136,136,136,136,136,135,135,135,135,135,135,369,369,369,369,369,370,370,370,370,370,370,371,371,371,371,371,372,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,144,144,144,144,144,144,143,143,143,143,143,143,142,142,142,142,142,141,141,141,141,141,141,140,140,140,140,140,140,139,139,139,139,139,138,138,138,138,138,138,137,137,137,137,137,136,136,136,136,136,136,135,135,135,135,135,369,369,369,369,369,369,369,370,370,370,370,370,381,371,371,371,371,372,372,372,372,372,372,373,373,373,373,373,384,384,384,374,374,374,375,375,385,385,385,385,386,386,386,386,376,377,377,387,387,387,387,388,388,388,388,378,378,144,144,154,154,154,154,153,153,153,153,143,143,142,152,152,152,152,151,151,151,151,141,141,140,140,140,150,150,150,139,139,139,139,139,138,138,138,138,138,138,137,137,137,137,147,136,136,136,136,136,135,135,135,135,135,135,135,379,379,379,379,379,380,380,380,380,380,380,381,381,381,381,381,381,382,382,382,382,382,383,383,383,373,373,373,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,386,386,387,387,387,387,387,387,388,388,388,388,388,388,154,154,154,154,154,154,153,153,153,153,153,153,152,152,152,152,152,152,151,151,151,151,151,151,150,150,150,150,150,139,139,139,149,149,149,148,148,148,148,148,147,147,147,147,147,147,146,146,146,146,146,146,145,145,145,145,145,379,379,379,379,379,380,380,380,380,380,380,381,381,381,381,381,382,382,382,382,382,382,383,383,383,383,383,384,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,386,386,387,387,387,387,387,387,388,388,388,388,388,388,154,154,154,154,154,154,153,153,153,153,153,153,152,152,152,152,152,152,151,151,151,151,151,151,150,150,150,150,150,150,149,149,149,149,149,148,148,148,148,148,148,147,147,147,147,147,146,146,146,146,146,146,145,145,145,145,145,379,379,379,379,379,379,380,380,380,380,380,381,381,381,381,381,381,382,382,382,382,382,382,383,383,383,383,383,384,384,384,384,384,384,385,385,385,385,385,395,396,386,386,386,386,386,387,387,387,387,387,397,398,388,388,388,388,388,154,154,154,154,154,164,163,153,153,153,153,153,152,152,152,152,152,162,161,151,151,151,151,151,150,150,150,150,150,150,149,149,149,149,149,148,148,148,148,148,148,147,147,147,147,147,147,146,146,146,146,146,145,145,145,145,145,145,389,379,379,379,379,379,390,380,380,380,380,381,381,381,391,391,391,392,392,382,382,382,382,383,383,383,383,383,384,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,150,149,149,149,149,149,148,148,148,148,158,158,157,157,157,147,147,147,146,146,146,146,156,145,145,145,145,145,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,392,392,392,392,392,392,383,383,383,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,160,159,159,159,149,149,149,158,158,158,158,158,158,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,164,164,164,164,164,164,163,163,163,163,163,163,162,162,162,162,162,162,161,161,161,161,161,161,160,160,160,160,160,160,159,159,159,159,159,159,158,158,158,158,158,158,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,391,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,404,405,405,405,395,395,395,396,396,396,406,406,406,407,407,407,397,397,397,398,398,398,408,408,408,174,174,174,164,164,164,163,163,163,173,173,173,172,172,172,162,162,162,161,161,161,171,171,171,170,160,160,160,160,160,159,159,159,159,159,159,158,158,158,158,158,158,157,157,157,157,157,157,156,156,156,156,156,156,155,155,155,155,155,155,389,389,389,399,399,399,400,400,400,390,390,390,391,391,391,401,401,401,402,402,402,392,392,393,393,393,393,393,393,393,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,159,159,159,159,159,159,159,158,158,168,168,168,167,167,167,157,157,157,156,156,156,166,166,166,165,165,165,155,155,155,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,174,174,174,174,174,174,173,173,173,173,173,173,172,172,172,172,172,172,171,171,171,171,171,171,170,170,170,170,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,399,399,399,399,399,399,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,403,404,404,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,170,170,169,169,169,169,169,169,169,168,168,168,168,168,168,167,167,167,167,167,167,166,166,166,166,166,166,165,165,165,165,165,165,409,409,409,409,409,409,410,410,410,410,410,410,410,411,411,411,411,411,411,412,412,412,412,412,412,413,413,413,413,413,413,413,414,414,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,180,180,179,179,179,179,179,179,179,178,178,178,178,178,178,177,177,177,177,177,177,176,176,176,176,176,176,176,175,175,175,175,175,175,409,409,409,409,409,409,410,410,410,410,410,410,411,411,411,411,411,411,411,412,412,412,412,412,412,413,413,413,413,413,413,413,414,414,414,414,414,414,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,184,184,184,184,184,184,183,183,183,183,183,183,182,182,182,182,182,182,181,181,181,181,181,181,180,180,180,180,180,180,179,179,179,179,179,179,179,178,178,178,178,178,178,177,177,177,177,177,177,177,176,176,176,176,176,176,175,175,175,175,175,175,409,409,409,409,409,409,410,410,410,410,410,410,410,411,411,411,411,411,411,412,412,412,412,412,412,412,413,413,413,413,413,413,413,424,414,414,414,414,414,415,415,415,425,425,425,426,426,426,416,416,416,417,417,417,427,427,427,428,428,428,418,418,418,184,184,184,194,194,194,193,193,193,183,183,183,182,182,182,192,192,192,191,191,191,181,181,181,180,180,180,180,180,190,179,179,179,179,179,179,179,178,178,178,178,178,178,178,177,177,177,177,177,177,176,176,176,176,176,176,176,175,175,175,175,175,175,419,419,419,409,409,409,410,420,420,420,420,420,420,411,411,421,421,421,421,412,412,422,422,422,422,422,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,425,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,191,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,188,188,188,188,188,178,178,187,187,187,187,177,177,186,186,186,186,186,186,176,175,175,175,185,185,185,419,419,419,419,419,419,420,420,420,420,420,420,420,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,426,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,192,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,189,188,188,188,188,188,188,187,187,187,187,187,187,187,186,186,186,186,186,186,186,185,185,185,185,185,185,419,419,419,419,419,419,420,420,420,420,420,420,420,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,423,424,424,424,424,424,424,425,425,425,425,425,425,436,426,426,426,426,426,426,427,427,427,427,427,427,428,428,428,428,428,428,194,194,194,194,194,194,193,193,193,193,193,193,192,192,192,192,192,192,202,191,191,191,191,191,191,190,190,190,190,190,190,189,189,189,189,189,189,189,188,188,188,188,188,188,187,187,187,187,187,187,187,186,186,186,186,186,186,186,185,185,185,185,185,185,419,419,419,419,419,419,419,420,420,430,430,430,430,430,431,431,421,421,421,421,422,422,422,422,422,432,432,433,433,433,433,423,423,424,424,424,434,434,434,434,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,427,428,438,438,438,438,438,204,204,204,204,204,194,193,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,200,200,200,200,190,190,190,189,189,199,199,199,199,198,198,188,188,188,188,188,187,187,187,187,197,197,196,196,196,196,196,186,186,185,185,185,185,185,185,185,429,429,429,429,429,429,429,430,430,430,430,430,430,431,431,431,431,431,431,431,432,432,432,432,432,432,432,433,433,433,433,433,433,434,434,434,434,434,434,435,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,437,438,438,438,438,438,438,204,204,204,204,204,204,203,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,201,200,200,200,200,200,200,199,199,199,199,199,199,198,198,198,198,198,198,198,197,197,197,197,197,197,197,196,196,196,196,196,196,195,195,195,195,195,195,195,429,429,429,429,429,429,429,430,430,430,430,430,430,431,431,431,431,431,431,431,432,432,432,432,432,432,433,433,433,433,433,433,433,434,434,434,434,434,434,435,435,435,435,435,435,435,436,436,436,436,436,436,437,437,437,437,437,437,437,438,438,438,438,438,438,204,204,204,204,204,204,203,203,203,203,203,203,203,202,202,202,202,202,202,201,201,201,201,201,201,201,200,200,200,200,200,200,199,199,199,199,199,199,199,198,198,198,198,198,198,197,197,197,197,197,197,197,196,196,196,196,196,196,195,195,195,195,195,195,195,429,429,429,429,429,429,429,440,440,430,430,430,430,431,431,431,431,431,441,441,442,432,432,432,432,432,432,433,433,433,433,443,443,443,444,434,434,434,434,434,435,445,445,445,445,445,445,446,446,446,446,436,436,437,447,447,447,447,447,447,448,448,438,438,438,438,204,204,204,204,214,214,213,213,213,213,213,213,203,202,202,212,212,212,212,211,211,211,211,211,211,201,200,200,200,200,200,210,209,209,209,199,199,199,199,198,198,198,198,198,198,208,207,207,197,197,197,197,197,196,196,196,196,206,206,195,195,195,195,195,195,195,439,439,439,439,439,439,439,440,440,440,440,440,440,441,441,441,441,441,441,441,442,442,442,442,442,442,442,443,443,443,443,443,443,444,444,444,444,444,444,444,445,445,445,445,445,445,446,446,446,446,446,446,446,447,447,447,447,447,447,447,448,448,448,448,448,448,214,214,214,214,214,214,213,213,213,213,213,213,213,212,212,212,212,212,212,212,211,211,211,211,211,211,210,210,210,210,210,210,210,209,209,209,209,209,209,208,208,208,208,208,208,208,207,207,207,207,207,207,207,206,206,206,206,206,206,205,205,205,205,205,205,205,439,439,439,439,439,439,439,440,440,440,440,440,440,440,441,441,441,441,441,441,441,442,442,442,442,442,442,442,443,443,443,443,443,443,444,444,444,444,444,444,444,445,445,445,445,445,445,446,446,446,446,446,446,446,447,447,447,447,447,447,448,448,448,448,448,448,448,214,214,214,214,214,214,214,213,213,213,213,213,213,212,212,212,212,212,212,212,211,211,211,211,211,211,210,210,210,210,210,210,210,209,209,209,209,209,209,208,208,208,208,208,208,208,207,207,207,207,207,207,207,206,206,206,206,206,206,206,205,205,205,205,205,205,205,439,439,439,439,439,439,439,450,440,440,440,440,440,440,441,441,441,441,441,451,452,442,442,442,442,442,442,443,443,443,443,443,443,453,454,444,444,444,444,444,444,445,445,445,455,455,455,456,456,456,456,446,446,446,447,447,457,457,457,457,458,448,448,448,448,448,448,214,214,214,214,214,214,224,223,223,223,223,213,213,212,212,212,222,222,222,222,221,221,221,211,211,211,210,210,210,210,210,210,220,219,209,209,209,209,209,209,208,208,208,208,208,208,218,217,207,207,207,207,207,206,206,206,206,206,206,216,205,205,205,205,205,205,205,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,222,222,222,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,222,222,222,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,449,449,449,449,449,449,450,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,454,455,455,455,455,455,455,455,466,466,466,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,224,224,224,224,224,224,224,223,223,223,223,223,223,222,222,222,222,232,232,232,221,221,221,221,221,221,221,220,220,220,220,220,220,220,219,219,219,219,219,219,219,218,218,218,218,218,218,218,217,217,217,217,217,217,217,216,216,216,216,216,216,216,215,215,215,215,215,215,215,449,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,215,459,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,225,459,459,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,468,234,234,234,234,234,234,234,233,233,233,233,233,233,233,232,232,232,232,232,232,231,231,231,231,231,231,231,230,230,230,230,230,230,230,229,229,229,229,229,229,229,228,228,228,228,228,228,228,227,227,227,227,227,227,227,226,226,226,226,226,226,226,225,225,225,225,225,225,225,225};
-const Int_t AliL3TPCMapping::fgkOPin[fgkNOROC] = {2,4,1,3,4,2,1,3,2,1,3,5,2,4,1,3,2,4,1,3,5,2,1,3,5,2,4,1,3,2,4,1,3,2,1,3,5,5,3,1,2,3,1,4,2,3,1,4,2,5,3,1,2,5,3,1,4,2,3,1,4,2,5,3,1,2,3,1,2,4,3,1,4,2,6,8,5,7,8,6,5,7,4,6,8,7,9,6,8,5,7,6,8,7,9,4,6,8,7,9,6,8,5,7,6,8,5,7,4,6,7,9,9,7,6,4,7,5,8,6,7,5,8,6,9,7,8,6,4,9,7,8,6,7,5,8,6,9,7,8,6,4,7,5,6,8,7,5,8,6,10,12,11,9,10,12,11,9,10,12,14,13,11,10,12,11,9,10,12,13,11,10,12,14,13,11,10,12,11,9,10,12,11,9,8,10,13,11,11,13,10,8,9,11,12,10,9,11,12,10,11,13,14,12,10,11,13,12,10,9,11,12,10,11,13,14,12,10,9,11,12,10,9,11,12,10,14,16,15,13,14,16,15,13,16,18,20,17,15,14,16,15,13,14,16,17,15,16,18,20,17,15,14,16,15,13,14,16,15,13,12,14,17,15,15,17,14,12,13,15,16,14,13,15,16,14,15,17,20,18,16,15,17,16,14,13,15,16,14,15,17,20,18,16,13,15,16,14,13,15,16,14,18,20,19,17,18,20,19,17,4,2,0,21,19,18,20,19,17,18,20,21,19,0,2,4,21,19,18,20,19,17,18,20,19,17,16,18,21,19,19,21,18,16,17,19,20,18,17,19,20,18,19,21,4,2,0,19,21,20,18,17,19,20,18,19,21,0,2,4,17,19,20,18,17,19,20,18,4,2,0,21,4,2,0,1,21,8,6,1,3,2,0,1,21,6,4,2,0,1,6,8,1,3,2,0,1,3,21,2,0,1,21,20,0,2,4,4,2,0,20,21,1,0,2,21,3,1,0,2,3,1,8,6,1,0,2,4,6,21,1,0,2,3,1,6,8,21,1,0,2,4,21,0,2,4,8,6,3,1,8,6,3,5,7,12,10,5,7,6,4,3,5,8,10,3,5,7,12,10,7,5,8,6,4,5,7,6,4,3,5,6,8,1,3,3,1,8,6,5,3,4,6,7,5,4,6,8,5,7,10,12,7,5,3,10,8,5,3,4,6,7,5,10,12,7,5,3,6,8,1,3,6,8,12,10,7,5,10,12,13,9,15,14,16,13,9,10,8,7,9,12,14,13,9,15,16,14,13,9,10,12,14,13,9,10,8,9,7,10,12,7,5,5,7,12,10,7,9,8,10,9,13,14,12,10,9,13,14,16,15,9,13,14,12,9,7,8,10,9,13,16,14,15,9,13,12,10,5,7,10,12,14,16,13,9,14,16,18,19,17,18,20,22,17,15,14,12,15,13,16,18,19,17,22,20,18,17,15,16,18,17,15,14,16,12,15,13,14,16,13,9,9,13,16,14,13,15,12,16,14,15,17,18,16,15,17,18,20,22,17,19,18,16,13,15,12,14,15,17,22,20,18,17,19,18,16,14,9,13,16,14,18,20,17,15,20,22,21,3,5,2,1,3,21,19,18,16,19,17,20,22,21,5,2,1,3,21,19,20,22,21,19,18,20,22,19,17,18,20,17,15,15,17,20,18,17,19,22,20,18,19,21,22,20,19,21,3,1,2,5,21,22,20,17,19,16,18,19,21,3,1,2,5,3,21,22,20,15,17,20,18,1,22,21,19,4,2,1,7,9,6,4,5,7,3,22,20,21,2,3,1,7,9,6,4,5,7,9,3,1,7,9,2,1,3,21,1,3,22,21,19,19,21,22,3,1,21,3,1,2,9,7,1,3,9,7,5,4,6,9,7,1,3,2,21,20,22,3,7,5,4,6,9,7,1,2,4,19,21,22,1,2,3,5,7,8,6,11,13,8,10,12,9,11,1,5,7,9,4,6,8,11,13,8,10,11,13,2,4,5,11,13,6,4,5,7,4,2,5,7,9,9,7,5,2,4,7,5,4,6,13,11,5,4,2,13,11,10,8,13,11,8,6,4,9,7,5,1,11,9,12,10,8,13,11,6,8,7,5,3,2,4,6,8,9,11,10,12,17,15,14,16,13,15,2,4,6,11,13,10,12,14,17,15,12,14,17,15,6,8,10,15,17,10,8,11,9,6,8,10,11,13,13,11,10,8,6,9,11,8,10,17,15,10,8,6,15,17,14,12,15,17,14,12,10,13,11,6,4,2,15,13,16,14,15,17,12,10,11,9,8,6,4,10,12,14,15,13,14,16,21,19,18,20,17,19,8,10,12,17,15,16,18,20,21,19,16,20,21,19,12,14,16,21,19,14,12,15,13,12,14,16,17,15,15,17,16,14,12,13,15,12,14,19,21,16,14,12,19,21,20,16,19,21,20,18,16,15,17,12,10,8,19,17,20,18,19,21,16,14,13,15,14,12,10,16,18,20,19,17,18,20,5,7,3,5,7,21,14,18,20,21,19,4,2,1,3,7,18,1,5,9,18,20,2,3,20,18,16,19,17,18,20,21,19,7,7,19,21,20,18,17,19,16,18,20,3,2,20,18,9,5,1,18,7,3,1,2,4,19,21,20,18,14,21,7,5,3,7,5,20,18,17,19,20,18,16,2,3,1,5,21,2,1,3,9,4,2,1,9,11,16,3,1,7,11,8,6,5,9,4,2,3,7,11,6,4,1,5,1,5,7,9,21,2,1,3,5,9,9,5,3,1,2,21,9,7,5,1,5,1,4,6,11,7,3,2,4,9,5,6,8,11,7,1,3,16,11,9,1,2,4,9,3,1,2,21,5,1,3,2,8,6,4,7,9,4,6,11,13,6,8,10,13,15,2,4,5,9,13,10,12,13,11,6,8,10,13,15,8,10,7,9,2,4,3,11,13,4,6,8,11,13,13,11,8,6,4,13,11,3,4,2,9,7,10,8,15,13,10,8,6,11,13,12,10,13,9,5,4,2,15,13,10,8,6,13,11,6,4,9,7,4,6,8,10,12,14,13,11,8,10,17,15,12,14,16,19,17,6,8,10,15,17,14,16,17,15,12,14,16,19,17,12,14,13,11,6,10,8,15,17,10,12,14,17,15,15,17,14,12,10,17,15,8,10,6,11,13,14,12,17,19,16,14,12,15,17,16,14,17,15,10,8,6,17,19,16,14,12,15,17,10,8,11,13,14,12,10,16,18,20,17,15,12,14,20,21,19,18,20,21,3,12,16,20,21,19,0,18,20,21,19,18,20,21,1,16,18,20,17,15,12,16,14,21,19,16,18,20,21,19,19,21,20,18,16,19,21,14,16,12,15,17,20,18,16,1,21,20,18,19,21,20,18,0,19,21,20,16,12,3,21,20,18,19,21,20,14,12,15,17,20,18,16,2,0,1,21,19,16,18,0,1,3,2,0,1,7,14,18,0,1,3,2,1,3,5,7,0,2,4,3,0,1,3,21,19,20,18,0,1,3,0,3,1,5,7,7,5,1,3,0,3,1,0,18,20,19,21,3,1,0,3,4,2,0,7,5,3,1,2,3,1,0,18,14,7,1,0,2,3,1,0,18,16,19,21,1,0,2,4,6,3,5,7,6,4,2,5,7,6,4,5,9,6,4,2,5,7,4,6,8,9,13,8,6,5,7,6,2,4,5,7,6,4,2,5,7,2,4,6,9,13,13,9,6,4,2,7,5,2,4,6,7,5,4,2,6,7,5,6,8,13,9,8,6,4,7,5,2,4,6,9,5,4,6,7,5,2,4,6,7,5,3,6,4,8,10,9,13,15,8,10,12,13,9,10,8,13,15,8,10,12,13,9,10,12,14,15,17,10,12,13,9,8,10,12,9,13,8,10,12,13,9,8,10,12,17,15,15,17,12,10,8,9,13,12,10,8,13,9,12,10,8,9,13,12,10,17,15,14,12,10,9,13,12,10,8,15,13,8,10,9,13,12,10,8,15,13,9,10,8,12,14,16,19,17,14,16,18,17,15,14,16,12,19,17,14,16,18,17,15,16,20,21,19,14,16,18,17,15,14,16,18,17,15,14,16,18,17,15,14,18,22,21,19,19,21,22,18,14,15,17,18,16,14,15,17,18,16,14,15,17,18,16,14,19,21,20,16,15,17,18,16,14,17,19,12,16,14,15,17,18,16,14,17,19,16,14,12,18,20,22,21,7,1,20,22,21,19,18,20,22,21,5,1,22,20,21,19,18,22,3,7,3,20,22,21,19,20,22,21,19,7,3,20,22,21,19,16,20,1,5,9,9,5,1,20,16,19,21,22,20,3,7,19,21,22,20,19,21,22,20,3,7,3,22,18,19,21,20,22,1,5,21,22,20,18,19,21,22,20,1,7,21,22,20,18,2,1,3,5,9,2,3,5,7,11,2,1,3,7,11,2,3,5,7,11,2,1,5,9,2,5,1,7,9,2,3,1,5,9,2,5,1,7,9,4,2,3,7,11,11,7,3,2,4,9,7,1,5,2,9,5,1,3,2,9,7,1,5,2,9,5,1,2,11,7,5,3,2,11,7,3,1,2,11,7,5,3,2,9,5,3,1,2,4,6,8,11,13,4,6,8,9,13,4,6,8,9,13,4,6,8,9,13,4,6,8,11,13,4,6,8,11,13,4,6,8,11,13,4,6,8,11,13,6,8,10,13,15,15,13,10,8,6,13,11,8,6,4,13,11,8,6,4,13,11,8,6,4,13,11,8,6,4,13,9,8,6,4,13,9,8,6,4,13,9,8,6,4,13,11,8,6,4,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,10,12,14,17,15,12,14,16,19,17,17,19,16,14,12,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,15,17,14,12,10,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,18,20,21,2,3,3,2,21,20,18,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,3,1,7,11,4,2,1,3,5,2,1,3,5,7,2,1,3,5,4,2,1,3,5,3,1,7,11,2,1,3,5,7,2,1,3,5,5,3,1,7,9,6,4,1,5,5,1,4,6,9,7,1,3,5,5,3,1,2,7,5,3,1,2,11,7,1,3,5,3,1,2,4,5,3,1,2,7,5,3,1,2,5,3,1,2,4,11,7,1,3,2,4,5,9,13,8,6,9,7,4,6,8,9,11,4,6,7,9,11,8,6,7,9,2,4,5,9,13,4,8,6,9,11,4,6,7,9,2,4,6,11,13,8,10,7,9,9,7,10,8,13,11,6,4,2,9,7,6,4,11,9,6,8,4,13,9,5,4,2,9,7,6,8,11,9,7,6,4,11,9,8,6,4,7,9,6,8,13,9,5,4,2,6,8,10,15,17,10,12,13,11,10,12,14,15,13,8,10,17,15,13,10,12,13,11,6,8,10,15,17,10,14,12,15,13,8,10,13,11,8,10,12,17,15,12,14,15,11,11,15,14,12,15,17,12,10,8,11,13,10,8,13,15,12,14,10,17,15,10,8,6,11,13,12,10,13,15,17,10,8,13,15,14,12,10,11,13,12,10,17,15,10,8,6,12,18,21,19,14,16,18,17,15,16,18,20,19,17,12,18,21,19,14,16,18,17,15,12,16,20,21,19,16,20,18,19,17,12,14,17,15,14,18,20,21,19,16,18,19,13,13,19,18,16,19,21,20,18,14,15,17,14,12,17,19,18,20,16,19,21,20,16,12,15,17,18,16,14,19,21,18,12,17,19,20,18,16,15,17,18,16,14,19,21,18,12,14,16,20,1,3,0,2,20,21,19,0,1,3,21,14,16,20,0,1,0,1,20,21,19,14,18,1,3,2,4,8,10,21,16,18,20,21,19,16,0,1,5,0,3,20,21,17,17,21,20,3,0,5,1,0,16,19,21,20,18,16,21,10,8,4,2,3,1,18,14,19,21,20,1,0,1,0,20,16,14,21,3,1,0,19,21,20,2,0,3,1,20,16,14,4,2,0,5,7,4,6,1,3,2,4,6,5,7,2,4,6,3,5,2,4,3,5,4,2,0,5,7,0,6,1,3,5,0,1,3,5,7,4,2,3,7,4,2,1,5,7,7,5,1,2,4,7,3,2,4,7,5,3,1,0,5,3,1,6,0,7,5,0,2,4,5,3,4,2,5,3,6,4,2,7,5,6,4,2,3,1,6,4,7,5,0,2,4,6,8,10,9,13,8,10,9,5,8,10,12,13,9,8,10,7,9,13,6,8,7,9,6,8,10,9,13,12,14,7,9,2,4,6,9,13,6,8,10,9,13,6,8,10,9,13,13,9,10,8,6,13,9,10,8,6,13,9,6,4,2,9,7,14,12,13,9,10,8,6,9,7,8,6,13,9,7,10,8,9,13,12,10,8,5,9,10,8,13,9,10,8,6,12,14,20,17,15,12,16,20,15,7,14,20,17,15,12,14,16,17,15,10,14,16,15,13,12,14,16,17,15,16,18,15,13,8,12,14,17,15,12,14,16,17,15,12,14,16,17,15,15,17,16,14,12,15,17,16,14,12,15,17,14,12,8,13,15,18,16,15,17,16,14,12,13,15,16,14,10,15,17,16,14,12,15,17,20,14,7,15,20,16,12,15,17,20,14,12,16,18,22,21,19,14,18,22,19,13,16,22,21,19,18,20,22,21,19,12,20,21,19,17,18,20,22,21,19,20,22,21,17,10,18,22,21,19,18,20,22,21,19,18,20,22,21,19,19,21,22,20,18,19,21,22,20,18,19,21,22,18,10,17,21,22,20,19,21,22,20,18,17,19,21,20,12,19,21,22,20,18,19,21,22,16,13,19,22,18,14,19,21,22,18,16,4,2,1,3,5,4,2,1,21,17,18,1,3,5,2,3,1,5,7,18,22,2,4,3,4,2,1,3,5,3,1,5,19,16,20,1,3,5,2,3,1,5,7,2,3,1,5,7,7,5,1,3,2,7,5,1,3,2,5,3,1,20,16,19,5,1,3,5,3,1,2,4,3,4,2,22,18,7,5,1,3,2,5,3,1,18,17,21,1,2,4,5,3,1,2,4,6,8,7,9,11,6,8,3,5,7,4,2,7,9,4,6,8,9,11,6,8,1,5,7,6,8,9,7,11,2,4,7,9,6,4,2,7,9,4,6,8,9,11,4,6,8,9,11,11,9,8,6,4,11,9,8,6,4,9,7,2,4,6,9,7,4,2,11,7,9,8,6,7,5,1,8,6,11,9,8,6,4,9,7,2,4,7,5,3,8,6,11,9,7,8,6,10,12,14,15,13,10,12,14,11,9,6,8,10,11,13,10,12,14,15,13,10,12,9,11,10,12,14,15,13,6,8,10,11,13,8,10,12,11,13,10,12,14,15,13,10,12,14,15,13,13,15,14,12,10,13,15,14,12,10,13,11,12,10,8,13,11,10,8,6,13,15,14,12,10,11,9,12,10,13,15,14,12,10,13,11,10,8,6,9,11,14,12,10,13,15,14,12,10,16,18,20,21,17,16,18,20,17,13,12,14,16,17,15,16,18,20,21,17,14,16,15,13,16,20,21,19,17,12,14,16,17,15,14,18,19,17,15,16,18,20,21,17,16,20,21,19,17,17,19,21,20,16,17,21,20,18,16,15,17,19,18,14,15,17,16,14,12,17,19,21,20,16,13,15,16,14,17,21,20,18,16,15,17,16,14,12,13,17,20,18,16,17,21,20,18,16,2,1,3,5,19,3,1,21,19,15,1,18,20,21,19,2,1,3,5,19,18,20,21,17,18,2,1,3,5,5,18,20,21,19,16,20,21,3,7,5,3,1,9,19,18,2,1,3,5,5,3,1,2,18,19,9,1,3,5,7,3,21,20,16,19,21,20,18,5,5,3,1,2,18,17,21,20,18,19,5,3,1,2,19,21,20,18,1,15,19,21,1,3,19,5,3,1,2,4,6,8,7,9,4,2,5,7,9,2,5,3,7,9,8,6,4,7,9,2,1,3,5,19,4,6,8,7,9,2,3,1,7,9,4,2,1,5,9,2,4,7,11,13,4,6,8,7,9,9,7,8,6,4,13,11,7,4,2,9,5,1,2,4,9,7,1,3,2,9,7,8,6,4,19,5,3,1,2,9,7,4,6,8,9,7,3,5,2,9,7,5,2,4,9,7,8,6,4,10,12,14,13,11,6,8,10,11,13,4,6,8,11,13,10,12,14,13,11,8,6,4,7,9,10,12,14,13,11,4,6,8,11,13,6,8,10,11,13,6,8,10,15,17,10,12,14,13,11,11,13,14,12,10,17,15,10,8,6,13,11,10,8,6,13,11,8,6,4,11,13,14,12,10,9,7,4,6,8,11,13,14,12,10,13,11,8,6,4,13,11,10,8,6,11,13,14,12,10,16,18,20,17,15,12,14,18,17,15,10,12,14,17,15,16,18,20,17,15,10,12,14,13,11,16,18,20,19,15,10,12,14,17,15,12,14,16,17,15,12,16,20,21,19,16,18,20,17,15,15,17,20,18,16,19,21,20,16,12,15,17,16,14,12,15,17,14,12,10,15,19,20,18,16,11,13,14,12,10,15,17,20,18,16,15,17,14,12,10,15,17,18,14,12,15,17,20,18,16,4,2,0,21,19,2,16,20,21,19,16,18,20,21,19,0,1,3,21,19,20,18,16,17,15,8,4,0,21,17,16,18,20,21,19,0,18,20,21,19,14,18,0,2,4,0,3,1,21,19,19,21,1,3,0,4,2,0,18,14,19,21,20,18,0,19,21,20,18,16,17,21,0,4,8,15,17,16,18,20,19,21,3,1,0,19,21,20,18,16,19,21,20,16,2,19,21,0,2,4,10,8,6,1,3,4,0,1,3,5,0,3,1,5,7,6,4,2,5,7,2,0,1,3,21,19,10,6,2,1,3,4,2,0,1,3,2,3,1,5,7,10,8,6,1,3,2,4,6,5,7,7,5,6,4,2,3,1,6,8,10,7,5,1,3,2,3,1,0,2,4,3,1,2,6,10,19,21,3,1,0,2,7,5,2,4,6,7,5,1,3,0,5,3,1,0,4,3,1,6,8,10,14,12,9,7,5,6,8,10,7,9,2,4,6,9,13,8,10,12,9,13,4,6,8,5,7,9,14,12,9,7,5,6,8,10,5,7,4,6,8,9,13,14,12,9,7,5,12,10,8,9,13,13,9,8,10,12,5,7,9,12,14,13,9,8,6,4,7,5,10,8,6,5,7,9,12,14,9,7,5,8,6,4,13,9,12,10,8,13,9,6,4,2,9,7,10,8,6,5,7,9,12,14,16,20,17,15,13,12,14,16,15,13,8,10,12,17,15,14,16,18,17,15,10,16,18,17,15,13,16,20,17,15,13,12,14,16,13,9,16,12,10,17,15,16,20,17,15,13,14,16,18,17,15,15,17,18,16,14,13,15,17,20,16,15,17,10,12,16,9,13,16,14,12,13,15,17,20,16,13,15,17,18,16,10,15,17,18,16,14,15,17,12,10,8,13,15,16,14,12,13,15,17,20,16,18,22,21,19,5,18,20,22,21,17,14,18,20,22,21,19,20,22,21,19,7,12,20,22,21,19,5,18,22,21,19,18,20,22,21,19,15,18,14,22,21,19,18,22,21,19,7,5,20,22,21,19,19,21,22,20,5,7,19,21,22,18,19,21,22,14,18,15,19,21,22,20,18,19,21,22,18,5,19,21,22,20,12,7,19,21,22,20,19,21,22,20,18,14,17,21,22,20,18,5,19,21,22,18,4,2,1,3,7,1,3,5,7,19,16,2,1,3,5,7,2,1,3,5,9,14,1,3,7,9,2,3,1,7,11,2,1,3,5,7,17,20,3,1,7,9,2,1,3,5,9,2,3,1,7,9,9,7,1,3,2,9,5,3,1,2,9,7,1,3,20,17,7,5,3,1,2,11,7,1,3,2,9,7,3,1,14,9,5,3,1,2,7,5,3,1,2,16,19,7,5,3,1,7,3,1,2,4,8,6,13,9,11,2,4,6,9,11,8,6,4,9,11,13,4,6,8,11,13,2,4,5,11,13,4,6,8,9,13,4,6,8,9,11,13,2,4,5,11,13,4,6,8,11,13,4,6,8,11,13,13,11,8,6,4,13,11,8,6,4,13,11,5,4,2,13,11,9,8,6,4,13,9,8,6,4,13,11,5,4,2,13,11,8,6,4,13,11,9,4,6,8,11,9,6,4,2,11,9,13,6,8,10,12,14,15,17,8,10,12,14,15,13,10,12,14,15,17,14,12,10,15,17,6,8,10,12,15,17,14,12,10,15,17,14,12,10,17,15,6,8,10,12,15,17,14,12,10,15,17,14,12,10,17,15,15,17,10,12,14,17,15,10,12,14,17,15,12,10,8,6,15,17,10,12,14,17,15,10,12,14,17,15,12,10,8,6,17,15,10,12,14,17,15,14,12,10,13,15,14,12,10,8,17,15,14,12,10,16,18,20,21,19,16,18,20,21,19,17,16,18,20,21,19,16,18,20,21,19,14,16,18,20,21,19,16,18,20,21,19,16,18,20,21,19,20,18,16,14,21,19,16,18,20,21,19,16,18,20,21,19,19,21,20,18,16,19,21,20,18,16,19,21,14,16,18,20,19,21,20,18,16,19,21,20,18,16,19,21,20,18,16,14,19,21,20,18,16,19,21,20,18,16,17,19,21,20,18,16,19,21,20,18,16,3,1,5,7,9,5,3,1,7,9,5,3,1,7,11,2,3,1,5,9,5,3,1,7,11,2,5,3,1,7,9,2,3,1,5,7,2,3,1,5,9,11,2,5,3,1,7,9,2,3,1,5,7,7,5,1,3,2,9,7,1,3,5,2,11,9,5,1,3,2,7,5,1,3,2,9,7,1,3,5,2,11,7,1,3,5,9,5,1,3,2,11,7,1,3,5,9,7,1,3,5,9,7,5,1,3,2,4,6,11,13,2,4,6,11,13,2,4,6,9,13,4,6,8,7,11,2,4,6,9,13,4,6,10,12,11,13,4,6,8,9,11,4,6,8,7,13,15,4,6,8,10,11,13,4,6,8,9,11,11,9,8,6,4,13,11,10,8,6,4,15,13,7,8,6,4,11,9,8,6,4,13,11,12,10,6,4,13,9,6,4,2,11,7,8,6,4,13,9,6,4,2,13,11,6,4,2,13,11,6,4,2,8,10,12,17,15,8,10,16,18,17,15,8,12,16,17,15,10,12,14,15,13,8,10,12,17,15,8,14,16,18,17,15,10,12,14,15,13,10,12,14,17,19,21,12,14,16,18,17,15,10,12,14,15,13,13,15,14,12,10,15,17,18,16,14,12,21,19,17,14,12,10,13,15,14,12,10,15,17,18,16,14,8,15,17,12,10,8,13,15,14,12,10,15,17,16,12,8,15,17,18,16,10,8,15,17,12,10,8,14,18,20,21,19,12,14,20,21,19,10,14,18,20,21,19,16,18,20,21,17,14,18,20,21,19,4,0,1,20,21,19,16,18,20,21,17,16,18,20,1,3,5,4,0,1,20,21,19,16,18,20,21,17,17,21,20,18,16,19,21,20,1,0,4,5,3,1,20,18,16,17,21,20,18,16,19,21,20,1,0,4,19,21,20,18,14,17,21,20,18,16,19,21,20,18,14,10,19,21,20,14,12,19,21,20,18,14,16,0,1,3,7,0,1,3,5,7,2,0,1,3,5,7,5,3,1,7,19,16,2,0,1,3,6,2,3,5,7,4,2,0,1,3,19,0,2,4,6,7,9,6,2,3,5,7,6,4,2,0,1,19,19,1,0,2,4,6,7,5,3,2,6,9,7,6,4,2,0,19,3,1,0,2,4,7,5,3,2,6,3,1,0,2,16,19,7,1,3,5,7,5,3,1,0,2,7,5,3,1,0,7,3,1,0,16,2,4,6,5,9,13,2,6,4,9,13,4,6,8,10,9,13,0,2,4,9,13,4,6,8,5,7,8,10,12,9,13,6,8,10,5,7,9,8,10,12,14,13,15,8,10,12,9,13,8,10,12,7,5,3,3,5,7,12,10,8,13,9,12,10,8,15,13,14,12,10,8,9,7,5,10,8,6,13,9,12,10,8,7,5,8,6,4,13,9,4,2,0,13,9,10,8,6,4,13,9,4,6,2,13,9,5,6,4,2,8,10,12,15,17,8,10,14,12,17,15,12,14,16,17,15,6,8,14,16,17,15,10,12,14,13,9,14,16,18,17,15,12,14,16,15,13,17,16,18,22,20,19,17,14,18,20,17,15,14,16,18,17,13,9,9,13,17,18,16,14,15,17,20,18,14,17,19,20,22,18,16,17,13,15,16,14,12,15,17,18,16,14,9,13,14,12,10,15,17,16,14,8,6,15,17,16,14,12,15,17,12,14,10,8,17,15,12,10,8,14,18,22,21,19,16,18,22,20,21,19,18,20,22,21,19,10,12,20,22,21,19,16,18,20,17,15,3,20,22,21,19,18,20,22,21,19,5,6,2,1,5,9,21,16,22,21,19,5,6,20,22,21,19,15,15,19,21,22,20,6,5,19,21,22,16,21,9,5,1,2,6,5,19,21,22,20,18,19,21,22,20,3,15,17,20,18,16,19,21,22,20,12,10,19,21,22,20,18,19,21,20,22,18,16,19,21,22,18,14,16,20,1,5,7,5,3,1,7,11,4,2,1,3,5,7,18,3,1,7,11,4,5,1,22,21,19,2,5,1,7,11,4,2,1,3,7,9,8,4,3,7,11,4,2,1,3,7,9,8,4,2,1,3,5,5,3,1,2,4,8,9,7,3,1,2,4,11,7,3,4,8,9,7,3,1,2,4,11,7,1,5,2,19,21,22,1,5,4,11,7,1,3,18,7,5,3,1,2,4,11,7,1,3,5,7,5,1,20,16,6,4,2,3,9,11,6,4,2,9,13,6,8,10,9,11,13,4,2,5,9,13,6,2,3,7,9,4,6,8,10,9,13,6,8,10,11,13,15,10,12,14,13,15,6,8,10,11,13,15,10,12,14,7,9,11,11,9,7,14,12,10,15,13,11,10,8,6,15,13,14,12,10,15,13,11,10,8,6,13,9,10,8,6,4,9,7,3,2,6,13,9,5,2,4,13,11,9,10,8,6,13,9,2,4,6,11,9,3,2,4,6,8,10,12,13,15,8,10,12,14,15,17,12,14,16,17,15,6,8,10,12,15,17,8,10,12,11,13,12,14,16,18,17,15,12,16,20,21,19,17,16,18,20,19,17,12,16,18,21,19,17,16,18,20,17,15,13,13,15,17,20,18,16,17,19,21,18,16,12,17,19,20,18,16,17,19,21,20,16,12,15,17,18,16,14,12,13,11,12,10,8,17,15,12,10,8,6,15,17,16,14,12,17,15,14,12,10,8,15,13,12,10,8,14,16,18,20,21,19,17,16,18,20,21,19,2,18,20,21,19,14,16,18,20,21,19,14,16,18,19,15,2,3,1,20,21,19,14,18,2,3,5,9,4,2,1,3,21,14,20,2,1,5,9,4,2,1,3,21,19,19,21,3,1,2,4,9,5,1,2,20,14,21,3,1,2,4,9,5,3,2,18,14,19,21,20,1,3,2,15,19,18,16,14,19,21,20,18,16,14,19,21,20,18,2,19,21,20,18,16,17,19,21,20,18,16,14,5,3,1,7,11,2,5,3,1,7,9,6,4,1,3,5,7,2,3,1,5,7,2,1,3,20,21,17,4,6,5,7,9,8,6,4,1,7,11,10,8,6,5,7,9,8,6,4,3,7,11,10,8,6,5,7,9,9,7,5,6,8,10,11,7,3,4,6,8,9,7,5,6,8,10,11,7,1,4,6,8,9,7,5,6,4,17,21,20,3,1,2,7,5,1,3,2,7,5,3,1,4,6,9,7,1,3,5,2,11,7,1,3,5,2,4,6,9,13,4,6,8,10,11,13,8,10,9,11,13,4,6,8,10,9,11,4,6,8,5,7,8,10,12,15,13,11,10,12,14,13,15,17,12,14,16,15,13,11,10,12,18,17,15,13,12,14,16,15,13,11,11,13,15,16,14,12,13,15,17,18,12,10,11,13,15,16,14,12,17,15,13,14,12,10,11,13,15,12,10,8,7,5,8,6,4,11,9,10,8,6,4,13,11,9,10,8,13,11,10,8,6,4,13,9,6,4,2,8,10,12,14,17,15,12,14,16,17,15,12,14,20,19,17,15,12,14,16,20,17,13,10,12,13,11,9,14,18,20,21,19,17,16,18,20,21,19,5,0,18,20,21,19,17,14,16,20,21,19,3,2,18,20,21,19,17,17,19,21,20,18,2,3,19,21,20,16,14,17,19,21,20,18,0,5,19,21,20,18,16,17,19,21,20,18,14,9,11,13,12,10,13,17,20,16,14,12,15,17,19,20,14,12,15,17,16,14,12,15,17,14,12,10,8,2,16,18,20,21,19,4,18,20,21,19,16,18,21,3,7,9,6,4,18,21,19,15,14,20,19,17,15,16,0,3,1,5,7,4,2,0,1,3,7,4,2,1,3,5,7,6,4,2,0,1,5,4,0,1,3,5,7,7,5,3,1,0,4,5,1,0,2,4,6,7,5,3,1,2,4,7,3,1,0,2,4,7,5,1,3,0,16,15,17,19,20,14,15,19,21,18,4,6,9,7,3,21,18,16,19,21,20,18,4,19,21,20,18,16,2,6,4,0,1,3,5,8,6,2,0,1,3,2,0,1,5,13,10,8,2,0,1,3,16,18,21,0,2,1,2,4,6,8,9,13,6,8,10,12,9,13,6,8,10,9,13,15,8,10,12,14,9,7,6,8,10,9,13,15,15,13,9,10,8,6,7,9,14,12,10,8,15,13,9,10,8,6,13,9,12,10,8,6,13,9,8,6,4,2,1,2,0,21,18,16,3,1,0,2,8,10,13,5,1,0,2,3,1,0,2,6,8,5,3,1,0,4,6,8,10,12,13,9,7,10,12,14,16,7,5,4,6,8,15,17,12,14,16,9,7,5,8,6,4,3,5,7,10,12,14,16,17,15,14,16,18,20,17,15,12,14,22,21,19,17,16,18,20,22,15,13,12,18,20,21,19,17,17,19,21,20,18,12,13,15,22,20,18,16,17,19,21,22,14,12,15,17,20,18,16,14,15,17,16,14,12,10,7,5,3,4,6,8,5,7,9,16,14,12,17,15,8,6,4,5,7,16,14,12,10,7,9,13,12,10,8,14,18,22,19,17,15,18,20,22,15,13,9,10,12,18,22,21,19,18,20,22,17,15,13,10,12,14,15,13,9,18,20,22,21,19,7,4,2,3,22,21,19,16,18,20,1,3,7,6,2,1,21,19,17,14,16,22,1,3,7,7,3,1,22,16,14,17,19,21,1,2,6,7,3,1,20,18,16,19,21,22,3,2,4,7,19,21,22,20,18,9,13,15,14,12,10,13,15,17,22,20,18,19,21,22,18,12,10,9,13,15,22,20,18,15,17,19,22,18,14,16,20,21,1,5,7,4,1,5,21,19,17,14,16,20,1,5,7,4,1,3,21,19,16,18,20,22,21,19,17,4,2,1,3,5,9,8,6,1,5,7,9,8,6,4,2,5,9,8,4,3,5,7,9,8,6,4,2,5,9,9,5,2,4,6,8,9,7,5,3,4,8,9,5,2,4,6,8,9,7,5,1,6,8,9,5,3,1,2,4,17,19,21,22,20,18,16,19,21,3,1,4,7,5,1,20,16,14,17,19,21,5,1,4,7,5,1,21,20,16,8,6,4,2,3,9,8,6,2,3,7,9,8,6,4,2,3,9,8,6,2,5,7,9,4,2,1,3,5,7,9,6,8,10,11,13,15,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,15,13,11,10,12,14,11,13,15,15,13,11,14,12,10,11,13,15,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,15,13,11,10,8,6,9,7,5,3,1,2,4,9,7,5,2,6,8,9,3,2,4,6,8,9,7,3,2,6,8,9,3,2,4,6,8,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,11,13,15,10,12,14,15,13,11,6,8,10,12,11,13,15,12,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,12,15,13,11,12,10,8,6,11,13,15,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,15,13,11,14,12,10,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,16,18,20,21,19,17,14,16,18,20,21,19,17,14,16,6,1,3,5,6,4,2,1,3,5,8,6,4,2,1,3,6,4,2,1,3,5,8,6,4,2,1,3,3,1,2,4,6,8,5,3,1,2,4,6,3,1,2,4,6,8,5,3,1,2,4,6,5,3,1,6,16,14,17,19,21,20,18,16,14,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,17,19,21,20,18,16,8,6,4,2,1,3,8,6,4,2,1,3,5,2,1,3,5,7,9,6,4,2,1,3,5,8,6,4,2,1,3,5,10,8,4,2,7,9,8,10,13,11,9,7,14,12,10,9,7,5,8,10,7,9,11,13,14,12,10,9,7,5,5,7,9,10,12,14,13,11,9,7,10,8,5,7,9,10,12,14,7,9,11,13,10,8,9,7,2,4,8,10,5,3,1,2,4,6,8,5,3,1,2,4,6,9,7,5,3,1,2,5,3,1,2,4,6,8,3,1,2,4,6,8,14,12,10,9,7,5,10,12,13,11,9,7,10,8,6,4,11,13,15,8,10,13,11,9,7,14,12,10,13,11,9,7,12,14,16,15,13,11,12,16,21,19,17,15,16,18,20,15,13,11,12,16,21,19,17,15,16,18,20,15,13,11,11,13,15,20,18,16,15,17,19,21,16,12,11,13,15,20,18,16,15,17,19,21,16,12,11,13,15,16,14,12,7,9,11,13,10,12,14,7,9,11,13,10,8,15,13,11,4,6,8,10,7,9,11,13,12,10,5,7,9,10,12,14,16,18,20,15,13,11,14,18,20,21,19,17,15,12,16,20,21,19,17,12,16,20,21,19,17,15,16,18,20,21,19,17,15,0,18,20,21,19,17,14,18,20,2,0,1,4,2,0,21,19,17,14,18,20,4,2,0,4,2,0,21,19,17,17,19,21,0,2,4,0,2,4,20,18,14,17,19,21,0,2,4,1,0,2,20,18,14,17,19,21,20,18,0,15,17,19,21,20,18,16,15,17,19,21,20,16,12,17,19,21,20,16,12,15,17,19,21,20,18,14,11,13,15,20,18,16,2,0,1,21,19,17,16,6,4,2,0,1,3,14,18,4,2,0,1,14,18,4,2,0,1,3,8,6,4,2,0,1,4,2,1,3,5,7,10,8,6,4,3,5,7,8,6,1,3,5,7,10,8,6,1,3,5,8,6,1,3,5,7,7,5,3,1,6,8,5,3,1,6,8,10,7,5,3,1,6,8,7,5,3,4,6,8,10,7,5,3,1,2,4,1,0,2,4,6,8,3,1,0,2,4,18,14,1,0,2,4,18,14,3,1,0,2,4,6,16,17,19,21,1,0,2,8,6,4,3,5,7,8,10,12,5,7,9,13,10,8,6,12,3,5,7,10,8,6,5,7,9,16,14,12,10,7,5,3,10,8,6,9,13,15,12,14,16,9,13,15,16,14,12,10,9,13,15,16,14,12,13,9,7,14,12,10,15,13,9,9,13,15,10,12,14,7,9,13,12,14,16,15,13,9,10,12,14,16,15,13,9,16,14,12,15,13,9,6,8,10,3,5,7,10,12,14,16,9,7,5,6,8,10,7,5,3,12,6,8,10,13,9,7,5,12,10,8,7,5,3,4,6,8,10,12,14,15,13,9,14,18,22,21,19,17,15,14,16,18,22,15,13,9,12,18,20,17,15,13,18,20,22,17,15,13,9,12,18,22,21,19,17,18,20,22,21,19,17,6,18,20,22,21,19,17,18,20,22,21,19,15,16,20,22,21,19,17,17,19,21,22,20,16,15,19,21,22,20,18,17,19,21,22,20,18,6,17,19,21,22,20,18,17,19,21,22,18,12,9,13,15,17,22,20,18,13,15,17,20,18,12,9,13,15,22,18,16,14,15,17,19,21,22,18,14,9,13,15,14,12,10,16,18,20,22,21,19,17,16,20,6,4,2,1,3,2,1,20,21,19,17,14,16,22,21,19,3,5,2,1,3,5,21,19,14,16,20,2,1,5,7,6,4,2,1,3,5,8,4,2,1,3,5,6,4,2,1,3,5,17,18,6,4,2,1,3,3,1,2,4,6,18,17,5,3,1,2,4,6,5,3,1,2,4,8,5,3,1,2,4,6,7,5,1,2,20,16,14,19,21,5,3,1,2,5,3,19,21,22,16,14,17,19,21,20,1,2,3,1,2,4,6,20,16,17,19,21,22,20,18,16,8,6,4,2,1,3,5,14,12,10,8,5,7,6,4,3,5,7,9,11,8,6,4,2,1,7,9,4,6,8,7,9,11,10,8,6,4,3,9,8,10,12,13,11,9,7,10,12,14,11,9,7,12,10,8,7,9,11,13,8,10,12,9,7,5,5,7,9,12,10,8,13,11,9,7,8,10,12,7,9,11,14,12,10,7,9,11,13,12,10,8,9,3,4,6,8,10,11,9,7,8,6,4,9,7,1,2,4,6,8,11,9,7,5,3,4,6,7,5,8,10,12,14,5,3,1,2,4,6,8,14,12,10,7,9,11,13,16,18,20,13,11,9,14,12,10,8,17,15,13,10,12,14,15,13,11,10,12,18,19,17,15,13,12,14,16,15,13,11,14,18,20,21,19,17,15,16,18,20,17,15,13,14,18,20,21,19,17,15,14,16,18,15,13,11,11,13,15,18,16,14,15,17,19,21,20,18,14,13,15,17,20,18,16,15,17,19,21,20,18,14,11,13,15,16,14,12,13,15,17,19,18,12,10,11,13,15,14,12,10,13,15,17,8,10,12,14,9,11,13,20,18,16,13,11,9,7,10,12,14,16,18,20,21,19,17,15,4,2,21,19,17,15,16,18,20,21,19,3,7,4,16,18,20,21,19,17,14,16,20,21,3,5,7,6,18,20,21,19,17,16,4,2,1,3,5,7,4,2,1,3,21,19,16,6,4,2,1,3,5,6,4,20,21,19,17,17,19,21,20,4,6,5,3,1,2,4,6,16,19,21,3,1,2,4,7,5,3,1,2,4,16,17,19,21,20,18,6,7,5,3,21,20,16,14,17,19,21,20,18,16,4,7,3,19,21,20,18,16,15,17,19,21,2,4,15,17,19,21,20,18,16,4,2,1,3,5,7,9,6,1,3,5,7,9,8,6,4,2,1,5,9,6,2,1,3,5,7,9,8,6,4,2,1,9,10,8,4,2,1,3,5,10,8,6,9,11,13,12,10,8,6,5,7,9,12,10,8,7,9,11,13,10,8,2,1,3,5,5,3,1,2,8,10,13,11,9,7,8,10,12,9,7,5,6,8,10,12,13,11,9,6,8,10,5,3,1,2,4,8,10,9,1,2,4,6,8,9,7,5,3,1,2,6,9,5,1,2,4,6,8,9,7,5,3,1,6,9,7,5,3,1,2,4,12,10,8,6,11,13,15,8,10,12,14,11,13,15,16,14,12,10,11,13,15,8,10,12,14,11,13,15,14,12,10,15,13,11,16,14,12,7,9,11,13,16,14,12,19,17,15,14,16,18,20,15,13,11,14,18,21,19,17,15,16,14,12,13,11,9,7,7,9,11,13,12,14,16,15,17,19,21,18,14,11,13,15,20,18,16,14,15,17,19,12,14,16,13,11,9,7,12,14,16,11,13,15,10,12,14,15,13,11,14,12,10,8,15,13,11,10,12,14,16,15,13,11,14,12,10,8,15,13,11,6,8,10,12,14,16,18,20,21,19,17,6,16,18,20,21,19,17,18,20,21,19,17,5,8,16,18,20,21,19,17,16,18,20,21,19,17,3,8,18,20,21,19,17,15,18,20,21,0,1,3,10,8,6,4,21,19,17,16,20,6,2,1,5,8,18,20,21,19,17,15,15,17,19,21,20,18,8,5,1,2,6,20,16,17,19,21,4,6,8,10,3,1,0,21,20,18,15,17,19,21,20,18,8,3,17,19,21,20,18,16,17,19,21,20,18,16,8,5,17,19,21,20,18,17,19,21,20,18,16,6,17,19,21,20,18,16,14,8,6,4,2,0,1,3,10,8,4,2,0,1,3,6,4,2,0,1,3,7,10,6,4,2,0,1,3,8,6,4,2,0,1,5,10,6,4,2,0,1,3,8,6,4,2,5,7,16,14,12,2,0,1,3,10,8,4,0,3,7,10,6,4,0,2,1,3,3,1,2,0,4,6,10,7,3,0,4,8,10,3,1,0,2,12,14,16,7,5,2,4,6,8,3,1,0,2,4,6,10,5,1,0,2,4,6,8,3,1,0,2,4,6,10,7,3,1,0,2,4,6,3,1,0,2,4,8,10,3,1,0,2,4,6,8,14,12,10,13,9,7,5,16,14,12,13,9,7,5,14,12,10,8,9,13,15,16,14,12,13,9,7,5,14,12,10,15,13,9,7,16,14,12,13,9,7,5,14,12,10,15,13,9,18,20,22,13,9,7,5,16,14,12,15,13,9,16,14,12,13,9,7,5,5,7,9,13,12,14,16,9,13,15,12,14,16,5,7,9,13,22,20,18,9,13,15,10,12,14,5,7,9,13,12,14,16,7,9,13,15,10,12,14,5,7,9,13,12,14,16,15,13,9,8,10,12,14,5,7,9,13,12,14,16,5,7,9,13,10,12,14,16,20,22,21,19,17,15,18,20,22,21,19,17,15,16,18,20,22,21,19,17,18,20,22,21,19,17,15,16,18,20,22,21,19,17,18,20,22,21,19,17,15,16,18,20,22,21,19,17,6,2,1,21,19,17,15,18,20,22,21,19,17,18,20,22,21,19,17,15,15,17,19,21,22,20,18,17,19,21,22,20,18,15,17,19,21,1,2,6,17,19,21,22,20,18,16,15,17,19,21,22,20,18,17,19,21,22,20,18,16,15,17,19,21,22,20,18,17,19,21,22,20,18,16,15,17,19,21,22,20,18,15,17,19,21,22,20,16,18,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,6,4,2,1,3,5,8,4,3,5,7,9,8,6,4,2,1,3,5,8,6,4,2,1,3,5,5,3,1,2,4,6,8,5,3,1,2,4,6,8,9,7,5,3,4,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,8,5,3,1,2,4,6,18,12,10,8,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,10,12,14,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,14,12,10,13,11,9,7,14,12,10,15,13,11,14,12,10,13,11,9,7,14,12,10,13,11,9,7,7,9,11,13,10,12,14,7,9,11,13,10,12,14,11,13,15,10,12,14,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,14,12,10,7,9,11,13,10,12,14,7,9,11,13,10,12,14,7,9,11,13,8,10,12,14,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,15,16,18,20,21,19,17,16,18,20,21,19,17,15,16,18,20,21,19,17,15,15,17,19,21,20,18,16,15,17,19,21,20,18,16,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,15,17,19,21,20,18,16,14};
-const Int_t AliL3TPCMapping::fgkOFec[fgkNOROC] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,27,27,28,28,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,33,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,29,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,18,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,27,27,27,27,27,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,30,31,31,31,31,31,32,32,32,32,32,33,33,33,33,33,33,34,34,34,34,34,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,42,43,43,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,52,52,53,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,56,57,57,57,57,57,57,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,58,58,58,58,58,58,58,58,59,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,61,62,62,62,62,62,62,62,63,63,63,63,63,63,63,64,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,66,67,67,67,67,67,67,67,68,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,73,73,73,73,73,73,73,74,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77};
-const Int_t AliL3TPCMapping::fgkOFecChannel[fgkNOROC] = {1,3,0,2,3,1,0,2,1,0,2,4,1,3,0,2,1,3,0,2,4,1,0,2,4,1,3,0,2,1,3,0,2,1,0,2,4,4,2,0,1,2,0,3,1,2,0,3,1,4,2,0,1,4,2,0,3,1,2,0,3,1,4,2,0,1,2,0,1,3,2,0,3,1,5,7,4,6,7,5,4,6,3,5,7,6,8,5,7,4,6,5,7,6,8,3,5,7,6,8,5,7,4,6,5,7,4,6,3,5,6,8,8,6,5,3,6,4,7,5,6,4,7,5,8,6,7,5,3,8,6,7,5,6,4,7,5,8,6,7,5,3,6,4,5,7,6,4,7,5,9,11,10,8,9,11,10,8,9,11,13,12,10,9,11,10,8,9,11,12,10,9,11,13,12,10,9,11,10,8,9,11,10,8,7,9,12,10,10,12,9,7,8,10,11,9,8,10,11,9,10,12,13,11,9,10,12,11,9,8,10,11,9,10,12,13,11,9,8,10,11,9,8,10,11,9,13,15,14,12,13,15,14,12,15,17,19,16,14,13,15,14,12,13,15,16,14,15,17,19,16,14,13,15,14,12,13,15,14,12,11,13,16,14,14,16,13,11,12,14,15,13,12,14,15,13,14,16,19,17,15,14,16,15,13,12,14,15,13,14,16,19,17,15,12,14,15,13,12,14,15,13,17,19,18,16,17,19,18,16,25,23,21,20,18,17,19,18,16,17,19,20,18,21,23,25,20,18,17,19,18,16,17,19,18,16,15,17,20,18,18,20,17,15,16,18,19,17,16,18,19,17,18,20,25,23,21,18,20,19,17,16,18,19,17,18,20,21,23,25,16,18,19,17,16,18,19,17,25,23,21,20,25,23,21,22,20,29,27,22,24,23,21,22,20,27,25,23,21,22,27,29,22,24,23,21,22,24,20,23,21,22,20,19,21,23,25,25,23,21,19,20,22,21,23,20,24,22,21,23,24,22,29,27,22,21,23,25,27,20,22,21,23,24,22,27,29,20,22,21,23,25,20,21,23,25,29,27,24,22,29,27,24,26,28,32,31,26,28,27,25,24,26,29,31,24,26,28,32,31,28,26,29,27,25,26,28,27,25,24,26,27,29,22,24,24,22,29,27,26,24,25,27,28,26,25,27,29,26,28,31,32,28,26,24,31,29,26,24,25,27,28,26,31,32,28,26,24,27,29,22,24,27,29,32,31,28,26,31,32,33,30,35,34,36,33,30,31,29,28,30,32,34,33,30,35,36,34,33,30,31,32,34,33,30,31,29,30,28,31,32,28,26,26,28,32,31,28,30,29,31,30,33,34,32,31,30,33,34,36,35,30,33,34,32,30,28,29,31,30,33,36,34,35,30,33,32,31,26,28,31,32,34,36,33,30,34,36,38,39,37,38,40,42,37,35,34,32,35,33,36,38,39,37,42,40,38,37,35,36,38,37,35,34,36,32,35,33,34,36,33,30,30,33,36,34,33,35,32,36,34,35,37,38,36,35,37,38,40,42,37,39,38,36,33,35,32,34,35,37,42,40,38,37,39,38,36,34,30,33,36,34,38,40,37,35,40,42,41,45,47,44,43,45,41,39,38,36,39,37,40,42,41,47,44,43,45,41,39,40,42,41,39,38,40,42,39,37,38,40,37,35,35,37,40,38,37,39,42,40,38,39,41,42,40,39,41,45,43,44,47,41,42,40,37,39,36,38,39,41,45,43,44,47,45,41,42,40,35,37,40,38,43,42,41,39,46,44,43,49,51,48,46,47,49,45,42,40,41,44,45,43,49,51,48,46,47,49,51,45,43,49,51,44,43,45,41,43,45,42,41,39,39,41,42,45,43,41,45,43,44,51,49,43,45,51,49,47,46,48,51,49,43,45,44,41,40,42,45,49,47,46,48,51,49,43,44,46,39,41,42,43,44,45,47,49,50,48,53,55,50,52,54,51,53,43,47,49,51,46,48,50,53,55,50,52,53,55,44,46,47,53,55,48,46,47,49,46,44,47,49,51,51,49,47,44,46,49,47,46,48,55,53,47,46,44,55,53,52,50,55,53,50,48,46,51,49,47,43,53,51,54,52,50,55,53,48,50,49,47,45,44,46,48,50,51,53,52,54,59,57,56,58,55,57,44,46,48,53,55,52,54,56,59,57,54,56,59,57,48,50,52,57,59,52,50,53,51,48,50,52,53,55,55,53,52,50,48,51,53,50,52,59,57,52,50,48,57,59,56,54,57,59,56,54,52,55,53,48,46,44,57,55,58,56,57,59,54,52,53,51,50,48,46,52,54,56,57,55,56,58,63,61,60,62,59,61,50,52,54,59,57,58,60,62,63,61,58,62,63,61,54,56,58,63,61,56,54,57,55,54,56,58,59,57,57,59,58,56,54,55,57,54,56,61,63,58,56,54,61,63,62,58,61,63,62,60,58,57,59,54,52,50,61,59,62,60,61,63,58,56,55,57,56,54,52,58,60,62,61,59,60,62,68,70,66,68,70,63,56,60,62,63,61,67,65,64,66,70,60,64,68,72,60,62,65,66,62,60,58,61,59,60,62,63,61,70,70,61,63,62,60,59,61,58,60,62,66,65,62,60,72,68,64,60,70,66,64,65,67,61,63,62,60,56,63,70,68,66,70,68,62,60,59,61,62,60,58,65,66,64,68,63,65,64,66,72,67,65,64,72,74,58,66,64,70,74,71,69,68,72,67,65,66,70,74,69,67,64,68,64,68,70,72,63,65,64,66,68,72,72,68,66,64,65,63,72,70,68,64,68,64,67,69,74,70,66,65,67,72,68,69,71,74,70,64,66,58,74,72,64,65,67,72,66,64,65,63,68,64,66,65,71,69,67,70,72,67,69,74,76,69,71,73,76,78,65,67,68,72,76,73,75,76,74,69,71,73,76,78,71,73,70,72,65,67,66,74,76,67,69,71,74,76,76,74,71,69,67,76,74,66,67,65,72,70,73,71,78,76,73,71,69,74,76,75,73,76,72,68,67,65,78,76,73,71,69,76,74,69,67,72,70,67,69,71,73,75,77,76,74,71,73,80,78,75,77,79,82,80,69,71,73,78,80,77,79,80,78,75,77,79,82,80,75,77,76,74,69,73,71,78,80,73,75,77,80,78,78,80,77,75,73,80,78,71,73,69,74,76,77,75,80,82,79,77,75,78,80,79,77,80,78,73,71,69,80,82,79,77,75,78,80,73,71,74,76,77,75,73,79,81,83,80,78,75,77,83,84,82,81,83,84,88,75,79,83,84,82,85,81,83,84,82,81,83,84,86,79,81,83,80,78,75,79,77,84,82,79,81,83,84,82,82,84,83,81,79,82,84,77,79,75,78,80,83,81,79,86,84,83,81,82,84,83,81,85,82,84,83,79,75,88,84,83,81,82,84,83,77,75,78,80,83,81,79,87,85,86,84,82,79,81,85,86,88,87,85,86,92,77,81,85,86,88,87,86,88,90,92,85,87,89,88,85,86,88,84,82,83,81,85,86,88,85,88,86,90,92,92,90,86,88,85,88,86,85,81,83,82,84,88,86,85,88,89,87,85,92,90,88,86,87,88,86,85,81,77,92,86,85,87,88,86,85,81,79,82,84,86,85,87,89,91,88,90,92,91,89,87,90,92,91,89,90,94,91,89,87,90,92,89,91,93,94,97,93,91,90,92,91,87,89,90,92,91,89,87,90,92,87,89,91,94,97,97,94,91,89,87,92,90,87,89,91,92,90,89,87,91,92,90,91,93,97,94,93,91,89,92,90,87,89,91,94,90,89,91,92,90,87,89,91,92,90,88,91,89,93,95,94,97,99,93,95,96,97,94,95,93,97,99,93,95,96,97,94,95,96,98,99,101,95,96,97,94,93,95,96,94,97,93,95,96,97,94,93,95,96,101,99,99,101,96,95,93,94,97,96,95,93,97,94,96,95,93,94,97,96,95,101,99,98,96,95,94,97,96,95,93,99,97,93,95,94,97,96,95,93,99,97,94,95,93,96,98,100,103,101,98,100,102,101,99,98,100,96,103,101,98,100,102,101,99,100,104,105,103,98,100,102,101,99,98,100,102,101,99,98,100,102,101,99,98,102,106,105,103,103,105,106,102,98,99,101,102,100,98,99,101,102,100,98,99,101,102,100,98,103,105,104,100,99,101,102,100,98,101,103,96,100,98,99,101,102,100,98,101,103,100,98,96,102,104,106,105,113,107,104,106,105,103,102,104,106,105,111,107,106,104,105,103,102,106,109,113,109,104,106,105,103,104,106,105,103,113,109,104,106,105,103,100,104,107,111,115,115,111,107,104,100,103,105,106,104,109,113,103,105,106,104,103,105,106,104,109,113,109,106,102,103,105,104,106,107,111,105,106,104,102,103,105,106,104,107,113,105,106,104,102,108,107,109,111,115,108,109,111,113,117,108,107,109,113,117,108,109,111,113,117,108,107,111,115,108,111,107,113,115,108,109,107,111,115,108,111,107,113,115,110,108,109,113,117,117,113,109,108,110,115,113,107,111,108,115,111,107,109,108,115,113,107,111,108,115,111,107,108,117,113,111,109,108,117,113,109,107,108,117,113,111,109,108,115,111,109,107,108,110,112,114,117,119,110,112,114,115,119,110,112,114,115,119,110,112,114,115,119,110,112,114,117,119,110,112,114,117,119,110,112,114,117,119,110,112,114,117,119,112,114,116,119,121,121,119,116,114,112,119,117,114,112,110,119,117,114,112,110,119,117,114,112,110,119,117,114,112,110,119,115,114,112,110,119,115,114,112,110,119,115,114,112,110,119,117,114,112,110,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,116,118,120,123,121,118,120,122,125,123,123,125,122,120,118,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,121,123,120,118,116,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,124,126,127,1,2,2,1,127,126,124,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,2,0,6,10,3,1,0,2,4,1,0,2,4,6,1,0,2,4,3,1,0,2,4,2,0,6,10,1,0,2,4,6,1,0,2,4,4,2,0,6,8,5,3,0,4,4,0,3,5,8,6,0,2,4,4,2,0,1,6,4,2,0,1,10,6,0,2,4,2,0,1,3,4,2,0,1,6,4,2,0,1,4,2,0,1,3,10,6,0,2,1,3,4,8,12,7,5,8,6,3,5,7,8,10,3,5,6,8,10,7,5,6,8,1,3,4,8,12,3,7,5,8,10,3,5,6,8,1,3,5,10,12,7,9,6,8,8,6,9,7,12,10,5,3,1,8,6,5,3,10,8,5,7,3,12,8,4,3,1,8,6,5,7,10,8,6,5,3,10,8,7,5,3,6,8,5,7,12,8,4,3,1,5,7,9,14,16,9,11,12,10,9,11,13,14,12,7,9,16,14,12,9,11,12,10,5,7,9,14,16,9,13,11,14,12,7,9,12,10,7,9,11,16,14,11,13,14,10,10,14,13,11,14,16,11,9,7,10,12,9,7,12,14,11,13,9,16,14,9,7,5,10,12,11,9,12,14,16,9,7,12,14,13,11,9,10,12,11,9,16,14,9,7,5,11,17,20,18,13,15,17,16,14,15,17,19,18,16,11,17,20,18,13,15,17,16,14,11,15,19,20,18,15,19,17,18,16,11,13,16,14,13,17,19,20,18,15,17,18,12,12,18,17,15,18,20,19,17,13,14,16,13,11,16,18,17,19,15,18,20,19,15,11,14,16,17,15,13,18,20,17,11,16,18,19,17,15,14,16,17,15,13,18,20,17,11,13,15,19,22,24,21,23,19,20,18,21,22,24,20,13,15,19,21,22,21,22,19,20,18,13,17,22,24,23,25,29,31,20,15,17,19,20,18,15,21,22,26,21,24,19,20,16,16,20,19,24,21,26,22,21,15,18,20,19,17,15,20,31,29,25,23,24,22,17,13,18,20,19,22,21,22,21,19,15,13,20,24,22,21,18,20,19,23,21,24,22,19,15,13,25,23,21,26,28,25,27,22,24,23,25,27,26,28,23,25,27,24,26,23,25,24,26,25,23,21,26,28,21,27,22,24,26,21,22,24,26,28,25,23,24,28,25,23,22,26,28,28,26,22,23,25,28,24,23,25,28,26,24,22,21,26,24,22,27,21,28,26,21,23,25,26,24,25,23,26,24,27,25,23,28,26,27,25,23,24,22,27,25,28,26,21,23,25,27,29,31,30,33,29,31,30,26,29,31,32,33,30,29,31,28,30,33,27,29,28,30,27,29,31,30,33,32,34,28,30,23,25,27,30,33,27,29,31,30,33,27,29,31,30,33,33,30,31,29,27,33,30,31,29,27,33,30,27,25,23,30,28,34,32,33,30,31,29,27,30,28,29,27,33,30,28,31,29,30,33,32,31,29,26,30,31,29,33,30,31,29,27,32,34,40,37,35,32,36,40,35,28,34,40,37,35,32,34,36,37,35,31,34,36,35,33,32,34,36,37,35,36,38,35,33,29,32,34,37,35,32,34,36,37,35,32,34,36,37,35,35,37,36,34,32,35,37,36,34,32,35,37,34,32,29,33,35,38,36,35,37,36,34,32,33,35,36,34,31,35,37,36,34,32,35,37,40,34,28,35,40,36,32,35,37,40,34,32,36,38,42,41,39,34,38,42,39,33,36,42,41,39,38,40,42,41,39,32,40,41,39,37,38,40,42,41,39,40,42,41,37,31,38,42,41,39,38,40,42,41,39,38,40,42,41,39,39,41,42,40,38,39,41,42,40,38,39,41,42,38,31,37,41,42,40,39,41,42,40,38,37,39,41,40,32,39,41,42,40,38,39,41,42,36,33,39,42,38,34,39,41,42,38,36,46,44,43,45,47,46,44,43,41,37,38,43,45,47,44,45,43,47,49,38,42,44,46,45,46,44,43,45,47,45,43,47,39,36,40,43,45,47,44,45,43,47,49,44,45,43,47,49,49,47,43,45,44,49,47,43,45,44,47,45,43,40,36,39,47,43,45,47,45,43,44,46,45,46,44,42,38,49,47,43,45,44,47,45,43,38,37,41,43,44,46,47,45,43,44,46,48,50,49,51,53,48,50,45,47,49,46,44,49,51,46,48,50,51,53,48,50,43,47,49,48,50,51,49,53,44,46,49,51,48,46,44,49,51,46,48,50,51,53,46,48,50,51,53,53,51,50,48,46,53,51,50,48,46,51,49,44,46,48,51,49,46,44,53,49,51,50,48,49,47,43,50,48,53,51,50,48,46,51,49,44,46,49,47,45,50,48,53,51,49,50,48,52,54,56,57,55,52,54,56,53,51,48,50,52,53,55,52,54,56,57,55,52,54,51,53,52,54,56,57,55,48,50,52,53,55,50,52,54,53,55,52,54,56,57,55,52,54,56,57,55,55,57,56,54,52,55,57,56,54,52,55,53,54,52,50,55,53,52,50,48,55,57,56,54,52,53,51,54,52,55,57,56,54,52,55,53,52,50,48,51,53,56,54,52,55,57,56,54,52,58,60,62,63,59,58,60,62,59,55,54,56,58,59,57,58,60,62,63,59,56,58,57,55,58,62,63,61,59,54,56,58,59,57,56,60,61,59,57,58,60,62,63,59,58,62,63,61,59,59,61,63,62,58,59,63,62,60,58,57,59,61,60,56,57,59,58,56,54,59,61,63,62,58,55,57,58,56,59,63,62,60,58,57,59,58,56,54,55,59,62,60,58,59,63,62,60,58,65,64,66,68,61,66,64,63,61,57,64,60,62,63,61,65,64,66,68,61,60,62,63,59,60,65,64,66,68,68,60,62,63,61,58,62,63,66,70,68,66,64,72,61,60,65,64,66,68,68,66,64,65,60,61,72,64,66,68,70,66,63,62,58,61,63,62,60,68,68,66,64,65,60,59,63,62,60,61,68,66,64,65,61,63,62,60,64,57,61,63,64,66,61,68,66,64,65,67,69,71,70,72,67,65,68,70,72,65,68,66,70,72,71,69,67,70,72,65,64,66,68,61,67,69,71,70,72,65,66,64,70,72,67,65,64,68,72,65,67,70,74,76,67,69,71,70,72,72,70,71,69,67,76,74,70,67,65,72,68,64,65,67,72,70,64,66,65,72,70,71,69,67,61,68,66,64,65,72,70,67,69,71,72,70,66,68,65,72,70,68,65,67,72,70,71,69,67,73,75,77,76,74,69,71,73,74,76,67,69,71,74,76,73,75,77,76,74,71,69,67,70,72,73,75,77,76,74,67,69,71,74,76,69,71,73,74,76,69,71,73,78,80,73,75,77,76,74,74,76,77,75,73,80,78,73,71,69,76,74,73,71,69,76,74,71,69,67,74,76,77,75,73,72,70,67,69,71,74,76,77,75,73,76,74,71,69,67,76,74,73,71,69,74,76,77,75,73,79,81,83,80,78,75,77,81,80,78,73,75,77,80,78,79,81,83,80,78,73,75,77,76,74,79,81,83,82,78,73,75,77,80,78,75,77,79,80,78,75,79,83,84,82,79,81,83,80,78,78,80,83,81,79,82,84,83,79,75,78,80,79,77,75,78,80,77,75,73,78,82,83,81,79,74,76,77,75,73,78,80,83,81,79,78,80,77,75,73,78,80,81,77,75,78,80,83,81,79,89,87,85,84,82,87,79,83,84,82,79,81,83,84,82,85,86,88,84,82,83,81,79,80,78,93,89,85,84,80,79,81,83,84,82,85,81,83,84,82,77,81,85,87,89,85,88,86,84,82,82,84,86,88,85,89,87,85,81,77,82,84,83,81,85,82,84,83,81,79,80,84,85,89,93,78,80,79,81,83,82,84,88,86,85,82,84,83,81,79,82,84,83,79,87,82,84,85,87,89,95,93,91,86,88,89,85,86,88,90,85,88,86,90,92,91,89,87,90,92,87,85,86,88,84,82,95,91,87,86,88,89,87,85,86,88,87,88,86,90,92,95,93,91,86,88,87,89,91,90,92,92,90,91,89,87,88,86,91,93,95,92,90,86,88,87,88,86,85,87,89,88,86,87,91,95,82,84,88,86,85,87,92,90,87,89,91,92,90,86,88,85,90,88,86,85,89,88,86,91,93,95,98,96,94,92,90,91,93,95,92,94,87,89,91,94,97,93,95,96,94,97,89,91,93,90,92,94,98,96,94,92,90,91,93,95,90,92,89,91,93,94,97,98,96,94,92,90,96,95,93,94,97,97,94,93,95,96,90,92,94,96,98,97,94,93,91,89,92,90,95,93,91,90,92,94,96,98,94,92,90,93,91,89,97,94,96,95,93,97,94,91,89,87,94,92,95,93,91,90,92,94,96,98,100,104,101,99,97,96,98,100,99,97,93,95,96,101,99,98,100,102,101,99,95,100,102,101,99,97,100,104,101,99,97,96,98,100,97,94,100,96,95,101,99,100,104,101,99,97,98,100,102,101,99,99,101,102,100,98,97,99,101,104,100,99,101,95,96,100,94,97,100,98,96,97,99,101,104,100,97,99,101,102,100,95,99,101,102,100,98,99,101,96,95,93,97,99,100,98,96,97,99,101,104,100,102,106,105,103,111,102,104,106,105,101,98,102,104,106,105,103,104,106,105,103,113,96,104,106,105,103,111,102,106,105,103,102,104,106,105,103,99,102,98,106,105,103,102,106,105,103,113,111,104,106,105,103,103,105,106,104,111,113,103,105,106,102,103,105,106,98,102,99,103,105,106,104,102,103,105,106,102,111,103,105,106,104,96,113,103,105,106,104,103,105,106,104,102,98,101,105,106,104,102,111,103,105,106,102,110,108,107,109,113,107,109,111,113,103,100,108,107,109,111,113,108,107,109,111,115,98,107,109,113,115,108,109,107,113,117,108,107,109,111,113,101,104,109,107,113,115,108,107,109,111,115,108,109,107,113,115,115,113,107,109,108,115,111,109,107,108,115,113,107,109,104,101,113,111,109,107,108,117,113,107,109,108,115,113,109,107,98,115,111,109,107,108,113,111,109,107,108,100,103,113,111,109,107,113,109,107,108,110,114,112,119,115,117,108,110,112,115,117,114,112,110,115,117,119,110,112,114,117,119,108,110,111,117,119,110,112,114,115,119,110,112,114,115,117,119,108,110,111,117,119,110,112,114,117,119,110,112,114,117,119,119,117,114,112,110,119,117,114,112,110,119,117,111,110,108,119,117,115,114,112,110,119,115,114,112,110,119,117,111,110,108,119,117,114,112,110,119,117,115,110,112,114,117,115,112,110,108,117,115,119,112,114,116,118,120,121,123,114,116,118,120,121,119,116,118,120,121,123,120,118,116,121,123,112,114,116,118,121,123,120,118,116,121,123,120,118,116,123,121,112,114,116,118,121,123,120,118,116,121,123,120,118,116,123,121,121,123,116,118,120,123,121,116,118,120,123,121,118,116,114,112,121,123,116,118,120,123,121,116,118,120,123,121,118,116,114,112,123,121,116,118,120,123,121,120,118,116,119,121,120,118,116,114,123,121,120,118,116,122,124,126,127,125,122,124,126,127,125,123,122,124,126,127,125,122,124,126,127,125,120,122,124,126,127,125,122,124,126,127,125,122,124,126,127,125,126,124,122,120,127,125,122,124,126,127,125,122,124,126,127,125,125,127,126,124,122,125,127,126,124,122,125,127,120,122,124,126,125,127,126,124,122,125,127,126,124,122,125,127,126,124,122,120,125,127,126,124,122,125,127,126,124,122,123,125,127,126,124,122,125,127,126,124,122,2,0,4,6,8,4,2,0,6,8,4,2,0,6,10,1,2,0,4,8,4,2,0,6,10,1,4,2,0,6,8,1,2,0,4,6,1,2,0,4,8,10,1,4,2,0,6,8,1,2,0,4,6,6,4,0,2,1,8,6,0,2,4,1,10,8,4,0,2,1,6,4,0,2,1,8,6,0,2,4,1,10,6,0,2,4,8,4,0,2,1,10,6,0,2,4,8,6,0,2,4,8,6,4,0,2,1,3,5,10,12,1,3,5,10,12,1,3,5,8,12,3,5,7,6,10,1,3,5,8,12,3,5,9,11,10,12,3,5,7,8,10,3,5,7,6,12,14,3,5,7,9,10,12,3,5,7,8,10,10,8,7,5,3,12,10,9,7,5,3,14,12,6,7,5,3,10,8,7,5,3,12,10,11,9,5,3,12,8,5,3,1,10,6,7,5,3,12,8,5,3,1,12,10,5,3,1,12,10,5,3,1,7,9,11,16,14,7,9,15,17,16,14,7,11,15,16,14,9,11,13,14,12,7,9,11,16,14,7,13,15,17,16,14,9,11,13,14,12,9,11,13,16,18,20,11,13,15,17,16,14,9,11,13,14,12,12,14,13,11,9,14,16,17,15,13,11,20,18,16,13,11,9,12,14,13,11,9,14,16,17,15,13,7,14,16,11,9,7,12,14,13,11,9,14,16,15,11,7,14,16,17,15,9,7,14,16,11,9,7,13,17,19,20,18,11,13,19,20,18,9,13,17,19,20,18,15,17,19,20,16,13,17,19,20,18,25,21,22,19,20,18,15,17,19,20,16,15,17,19,22,24,26,25,21,22,19,20,18,15,17,19,20,16,16,20,19,17,15,18,20,19,22,21,25,26,24,22,19,17,15,16,20,19,17,15,18,20,19,22,21,25,18,20,19,17,13,16,20,19,17,15,18,20,19,17,13,9,18,20,19,13,11,18,20,19,17,13,15,21,22,24,28,21,22,24,26,28,23,21,22,24,26,28,26,24,22,28,18,15,23,21,22,24,27,23,24,26,28,25,23,21,22,24,18,21,23,25,27,28,30,27,23,24,26,28,27,25,23,21,22,18,18,22,21,23,25,27,28,26,24,23,27,30,28,27,25,23,21,18,24,22,21,23,25,28,26,24,23,27,24,22,21,23,15,18,28,22,24,26,28,26,24,22,21,23,28,26,24,22,21,28,24,22,21,15,23,25,27,26,30,33,23,27,25,30,33,25,27,29,31,30,33,21,23,25,30,33,25,27,29,26,28,29,31,32,30,33,27,29,31,26,28,30,29,31,32,34,33,35,29,31,32,30,33,29,31,32,28,26,24,24,26,28,32,31,29,33,30,32,31,29,35,33,34,32,31,29,30,28,26,31,29,27,33,30,32,31,29,28,26,29,27,25,33,30,25,23,21,33,30,31,29,27,25,33,30,25,27,23,33,30,26,27,25,23,29,31,32,35,37,29,31,34,32,37,35,32,34,36,37,35,27,29,34,36,37,35,31,32,34,33,30,34,36,38,37,35,32,34,36,35,33,37,36,38,42,40,39,37,34,38,40,37,35,34,36,38,37,33,30,30,33,37,38,36,34,35,37,40,38,34,37,39,40,42,38,36,37,33,35,36,34,32,35,37,38,36,34,30,33,34,32,31,35,37,36,34,29,27,35,37,36,34,32,35,37,32,34,31,29,37,35,32,31,29,34,38,42,41,39,36,38,42,40,41,39,38,40,42,41,39,31,32,40,42,41,39,36,38,40,37,35,45,40,42,41,39,38,40,42,41,39,47,48,44,43,47,51,41,36,42,41,39,47,48,40,42,41,39,35,35,39,41,42,40,48,47,39,41,42,36,41,51,47,43,44,48,47,39,41,42,40,38,39,41,42,40,45,35,37,40,38,36,39,41,42,40,32,31,39,41,42,40,38,39,41,40,42,38,36,39,41,42,38,34,36,40,43,47,49,47,45,43,49,53,46,44,43,45,47,49,38,45,43,49,53,46,47,43,42,41,39,44,47,43,49,53,46,44,43,45,49,51,50,46,45,49,53,46,44,43,45,49,51,50,46,44,43,45,47,47,45,43,44,46,50,51,49,45,43,44,46,53,49,45,46,50,51,49,45,43,44,46,53,49,43,47,44,39,41,42,43,47,46,53,49,43,45,38,49,47,45,43,44,46,53,49,43,45,47,49,47,43,40,36,48,46,44,45,51,53,48,46,44,51,55,48,50,52,51,53,55,46,44,47,51,55,48,44,45,49,51,46,48,50,52,51,55,48,50,52,53,55,57,52,54,56,55,57,48,50,52,53,55,57,52,54,56,49,51,53,53,51,49,56,54,52,57,55,53,52,50,48,57,55,56,54,52,57,55,53,52,50,48,55,51,52,50,48,46,51,49,45,44,48,55,51,47,44,46,55,53,51,52,50,48,55,51,44,46,48,53,51,45,44,46,48,50,52,54,55,57,50,52,54,56,57,59,54,56,58,59,57,48,50,52,54,57,59,50,52,54,53,55,54,56,58,60,59,57,54,58,62,63,61,59,58,60,62,61,59,54,58,60,63,61,59,58,60,62,59,57,55,55,57,59,62,60,58,59,61,63,60,58,54,59,61,62,60,58,59,61,63,62,58,54,57,59,60,58,56,54,55,53,54,52,50,59,57,54,52,50,48,57,59,58,56,54,59,57,56,54,52,50,57,55,54,52,50,56,58,60,62,63,61,59,58,60,62,63,61,65,60,62,63,61,56,58,60,62,63,61,56,58,60,61,57,65,66,64,62,63,61,56,60,65,66,68,72,67,65,64,66,63,56,62,65,64,68,72,67,65,64,66,63,61,61,63,66,64,65,67,72,68,64,65,62,56,63,66,64,65,67,72,68,66,65,60,56,61,63,62,64,66,65,57,61,60,58,56,61,63,62,60,58,56,61,63,62,60,65,61,63,62,60,58,59,61,63,62,60,58,56,68,66,64,70,74,65,68,66,64,70,72,69,67,64,66,68,70,65,66,64,68,70,65,64,66,62,63,59,67,69,68,70,72,71,69,67,64,70,74,73,71,69,68,70,72,71,69,67,66,70,74,73,71,69,68,70,72,72,70,68,69,71,73,74,70,66,67,69,71,72,70,68,69,71,73,74,70,64,67,69,71,72,70,68,69,67,59,63,62,66,64,65,70,68,64,66,65,70,68,66,64,67,69,72,70,64,66,68,65,74,70,64,66,68,65,67,69,72,76,67,69,71,73,74,76,71,73,72,74,76,67,69,71,73,72,74,67,69,71,68,70,71,73,75,78,76,74,73,75,77,76,78,80,75,77,79,78,76,74,73,75,81,80,78,76,75,77,79,78,76,74,74,76,78,79,77,75,76,78,80,81,75,73,74,76,78,79,77,75,80,78,76,77,75,73,74,76,78,75,73,71,70,68,71,69,67,74,72,73,71,69,67,76,74,72,73,71,76,74,73,71,69,67,76,72,69,67,65,71,73,75,77,80,78,75,77,79,80,78,75,77,83,82,80,78,75,77,79,83,80,76,73,75,76,74,72,77,81,83,84,82,80,79,81,83,84,82,90,85,81,83,84,82,80,77,79,83,84,82,88,87,81,83,84,82,80,80,82,84,83,81,87,88,82,84,83,79,77,80,82,84,83,81,85,90,82,84,83,81,79,80,82,84,83,81,77,72,74,76,75,73,76,80,83,79,77,75,78,80,82,83,77,75,78,80,79,77,75,78,80,77,75,73,71,87,79,81,83,84,82,89,81,83,84,82,79,81,84,88,92,94,91,89,81,84,82,78,77,83,82,80,78,79,85,88,86,90,92,89,87,85,86,88,92,89,87,86,88,90,92,91,89,87,85,86,90,89,85,86,88,90,92,92,90,88,86,85,89,90,86,85,87,89,91,92,90,88,86,87,89,92,88,86,85,87,89,92,90,86,88,85,79,78,80,82,83,77,78,82,84,81,89,91,94,92,88,84,81,79,82,84,83,81,89,82,84,83,81,79,87,91,89,85,86,88,90,93,91,87,85,86,88,87,85,86,90,97,95,93,87,85,86,88,79,81,84,85,87,86,87,89,91,93,94,97,91,93,95,96,94,97,91,93,95,94,97,99,93,95,96,98,94,92,91,93,95,94,97,99,99,97,94,95,93,91,92,94,98,96,95,93,99,97,94,95,93,91,97,94,96,95,93,91,97,94,93,91,89,87,86,87,85,84,81,79,88,86,85,87,93,95,97,90,86,85,87,88,86,85,87,91,93,90,88,86,85,89,91,93,95,96,97,94,92,95,96,98,100,92,90,89,91,93,99,101,96,98,100,94,92,90,93,91,89,88,90,92,95,96,98,100,101,99,98,100,102,104,101,99,96,98,106,105,103,101,100,102,104,106,99,97,96,102,104,105,103,101,101,103,105,104,102,96,97,99,106,104,102,100,101,103,105,106,98,96,99,101,104,102,100,98,99,101,100,98,96,95,92,90,88,89,91,93,90,92,94,100,98,96,101,99,93,91,89,90,92,100,98,96,95,92,94,97,96,95,93,98,102,106,103,101,99,102,104,106,99,97,94,95,96,102,106,105,103,102,104,106,101,99,97,95,96,98,99,97,94,102,104,106,105,103,113,110,108,109,106,105,103,100,102,104,107,109,113,112,108,107,105,103,101,98,100,106,107,109,113,113,109,107,106,100,98,101,103,105,107,108,112,113,109,107,104,102,100,103,105,106,109,108,110,113,103,105,106,104,102,94,97,99,98,96,95,97,99,101,106,104,102,103,105,106,102,96,95,94,97,99,106,104,102,99,101,103,106,102,98,100,104,105,107,111,113,110,107,111,105,103,101,98,100,104,107,111,113,110,107,109,105,103,100,102,104,106,105,103,101,110,108,107,109,111,115,114,112,107,111,113,115,114,112,110,108,111,115,114,110,109,111,113,115,114,112,110,108,111,115,115,111,108,110,112,114,115,113,111,109,110,114,115,111,108,110,112,114,115,113,111,107,112,114,115,111,109,107,108,110,101,103,105,106,104,102,100,103,105,109,107,110,113,111,107,104,100,98,101,103,105,111,107,110,113,111,107,105,104,100,114,112,110,108,109,115,114,112,108,109,113,115,114,112,110,108,109,115,114,112,108,111,113,115,110,108,107,109,111,113,115,112,114,116,117,119,121,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,121,119,117,116,118,120,117,119,121,121,119,117,120,118,116,117,119,121,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,121,119,117,116,114,112,115,113,111,109,107,108,110,115,113,111,108,112,114,115,109,108,110,112,114,115,113,109,108,112,114,115,109,108,110,112,114,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,117,119,121,116,118,120,121,119,117,112,114,116,118,117,119,121,118,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,118,121,119,117,118,116,114,112,117,119,121,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,121,119,117,120,118,116,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,122,124,126,127,125,123,120,122,124,126,127,125,123,120,122,5,0,2,4,5,3,1,0,2,4,7,5,3,1,0,2,5,3,1,0,2,4,7,5,3,1,0,2,2,0,1,3,5,7,4,2,0,1,3,5,2,0,1,3,5,7,4,2,0,1,3,5,4,2,0,5,122,120,123,125,127,126,124,122,120,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,123,125,127,126,124,122,7,5,3,1,0,2,7,5,3,1,0,2,4,1,0,2,4,6,8,5,3,1,0,2,4,7,5,3,1,0,2,4,9,7,3,1,6,8,7,9,12,10,8,6,13,11,9,8,6,4,7,9,6,8,10,12,13,11,9,8,6,4,4,6,8,9,11,13,12,10,8,6,9,7,4,6,8,9,11,13,6,8,10,12,9,7,8,6,1,3,7,9,4,2,0,1,3,5,7,4,2,0,1,3,5,8,6,4,2,0,1,4,2,0,1,3,5,7,2,0,1,3,5,7,13,11,9,8,6,4,9,11,12,10,8,6,9,7,5,3,10,12,14,7,9,12,10,8,6,13,11,9,12,10,8,6,11,13,15,14,12,10,11,15,20,18,16,14,15,17,19,14,12,10,11,15,20,18,16,14,15,17,19,14,12,10,10,12,14,19,17,15,14,16,18,20,15,11,10,12,14,19,17,15,14,16,18,20,15,11,10,12,14,15,13,11,6,8,10,12,9,11,13,6,8,10,12,9,7,14,12,10,3,5,7,9,6,8,10,12,11,9,4,6,8,9,11,13,15,17,19,14,12,10,13,17,19,20,18,16,14,11,15,19,20,18,16,11,15,19,20,18,16,14,15,17,19,20,18,16,14,21,17,19,20,18,16,13,17,19,23,21,22,25,23,21,20,18,16,13,17,19,25,23,21,25,23,21,20,18,16,16,18,20,21,23,25,21,23,25,19,17,13,16,18,20,21,23,25,22,21,23,19,17,13,16,18,20,19,17,21,14,16,18,20,19,17,15,14,16,18,20,19,15,11,16,18,20,19,15,11,14,16,18,20,19,17,13,10,12,14,19,17,15,23,21,22,20,18,16,15,27,25,23,21,22,24,13,17,25,23,21,22,13,17,25,23,21,22,24,29,27,25,23,21,22,25,23,22,24,26,28,31,29,27,25,24,26,28,29,27,22,24,26,28,31,29,27,22,24,26,29,27,22,24,26,28,28,26,24,22,27,29,26,24,22,27,29,31,28,26,24,22,27,29,28,26,24,25,27,29,31,28,26,24,22,23,25,22,21,23,25,27,29,24,22,21,23,25,17,13,22,21,23,25,17,13,24,22,21,23,25,27,15,16,18,20,22,21,23,29,27,25,24,26,28,29,31,32,26,28,30,33,31,29,27,32,24,26,28,31,29,27,26,28,30,36,34,32,31,28,26,24,31,29,27,30,33,35,32,34,36,30,33,35,36,34,32,31,30,33,35,36,34,32,33,30,28,34,32,31,35,33,30,30,33,35,31,32,34,28,30,33,32,34,36,35,33,30,31,32,34,36,35,33,30,36,34,32,35,33,30,27,29,31,24,26,28,31,32,34,36,30,28,26,27,29,31,28,26,24,32,27,29,31,33,30,28,26,32,31,29,28,26,24,25,27,29,31,32,34,35,33,30,34,38,42,41,39,37,35,34,36,38,42,35,33,30,32,38,40,37,35,33,38,40,42,37,35,33,30,32,38,42,41,39,37,38,40,42,41,39,37,48,38,40,42,41,39,37,38,40,42,41,39,35,36,40,42,41,39,37,37,39,41,42,40,36,35,39,41,42,40,38,37,39,41,42,40,38,48,37,39,41,42,40,38,37,39,41,42,38,32,30,33,35,37,42,40,38,33,35,37,40,38,32,30,33,35,42,38,36,34,35,37,39,41,42,38,34,30,33,35,34,32,31,36,38,40,42,41,39,37,36,40,48,46,44,43,45,44,43,40,41,39,37,34,36,42,41,39,45,47,44,43,45,47,41,39,34,36,40,44,43,47,49,48,46,44,43,45,47,50,46,44,43,45,47,48,46,44,43,45,47,37,38,48,46,44,43,45,45,43,44,46,48,38,37,47,45,43,44,46,48,47,45,43,44,46,50,47,45,43,44,46,48,49,47,43,44,40,36,34,39,41,47,45,43,44,47,45,39,41,42,36,34,37,39,41,40,43,44,45,43,44,46,48,40,36,37,39,41,42,40,38,36,50,48,46,44,43,45,47,56,54,52,50,47,49,48,46,45,47,49,51,53,50,48,46,44,43,49,51,46,48,50,49,51,53,52,50,48,46,45,51,50,52,54,55,53,51,49,52,54,56,53,51,49,54,52,50,49,51,53,55,50,52,54,51,49,47,47,49,51,54,52,50,55,53,51,49,50,52,54,49,51,53,56,54,52,49,51,53,55,54,52,50,51,45,46,48,50,52,53,51,49,50,48,46,51,49,43,44,46,48,50,53,51,49,47,45,46,48,49,47,50,52,54,56,47,45,43,44,46,48,50,56,54,52,49,51,53,55,58,60,62,55,53,51,56,54,52,50,59,57,55,52,54,56,57,55,53,52,54,60,61,59,57,55,54,56,58,57,55,53,56,60,62,63,61,59,57,58,60,62,59,57,55,56,60,62,63,61,59,57,56,58,60,57,55,53,53,55,57,60,58,56,57,59,61,63,62,60,56,55,57,59,62,60,58,57,59,61,63,62,60,56,53,55,57,58,56,54,55,57,59,61,60,54,52,53,55,57,56,54,52,55,57,59,50,52,54,56,51,53,55,62,60,58,55,53,51,49,52,54,56,58,60,62,63,61,59,57,67,65,63,61,59,57,58,60,62,63,61,66,70,67,58,60,62,63,61,59,56,58,62,63,66,68,70,69,60,62,63,61,59,58,67,65,64,66,68,70,67,65,64,66,63,61,58,69,67,65,64,66,68,69,67,62,63,61,59,59,61,63,62,67,69,68,66,64,65,67,69,58,61,63,66,64,65,67,70,68,66,64,65,67,58,59,61,63,62,60,69,70,68,66,63,62,58,56,59,61,63,62,60,58,67,70,66,61,63,62,60,58,57,59,61,63,65,67,57,59,61,63,62,60,58,67,65,64,66,68,70,72,69,64,66,68,70,72,71,69,67,65,64,68,72,69,65,64,66,68,70,72,71,69,67,65,64,72,73,71,67,65,64,66,68,73,71,69,72,74,76,75,73,71,69,68,70,72,75,73,71,70,72,74,76,73,71,65,64,66,68,68,66,64,65,71,73,76,74,72,70,71,73,75,72,70,68,69,71,73,75,76,74,72,69,71,73,68,66,64,65,67,71,73,72,64,65,67,69,71,72,70,68,66,64,65,69,72,68,64,65,67,69,71,72,70,68,66,64,69,72,70,68,66,64,65,67,75,73,71,69,74,76,78,71,73,75,77,74,76,78,79,77,75,73,74,76,78,71,73,75,77,74,76,78,77,75,73,78,76,74,79,77,75,70,72,74,76,79,77,75,82,80,78,77,79,81,83,78,76,74,77,81,84,82,80,78,79,77,75,76,74,72,70,70,72,74,76,75,77,79,78,80,82,84,81,77,74,76,78,83,81,79,77,78,80,82,75,77,79,76,74,72,70,75,77,79,74,76,78,73,75,77,78,76,74,77,75,73,71,78,76,74,73,75,77,79,78,76,74,77,75,73,71,78,76,74,69,71,73,75,77,79,81,83,84,82,80,91,79,81,83,84,82,80,81,83,84,82,80,90,93,79,81,83,84,82,80,79,81,83,84,82,80,88,93,81,83,84,82,80,78,81,83,84,85,86,88,95,93,91,89,84,82,80,79,83,91,87,86,90,93,81,83,84,82,80,78,78,80,82,84,83,81,93,90,86,87,91,83,79,80,82,84,89,91,93,95,88,86,85,84,83,81,78,80,82,84,83,81,93,88,80,82,84,83,81,79,80,82,84,83,81,79,93,90,80,82,84,83,81,80,82,84,83,81,79,91,80,82,84,83,81,79,77,93,91,89,87,85,86,88,95,93,89,87,85,86,88,91,89,87,85,86,88,92,95,91,89,87,85,86,88,93,91,89,87,85,86,90,95,91,89,87,85,86,88,93,91,89,87,90,92,100,98,96,87,85,86,88,95,93,89,85,88,92,95,91,89,85,87,86,88,88,86,87,85,89,91,95,92,88,85,89,93,95,88,86,85,87,96,98,100,92,90,87,89,91,93,88,86,85,87,89,91,95,90,86,85,87,89,91,93,88,86,85,87,89,91,95,92,88,86,85,87,89,91,88,86,85,87,89,93,95,88,86,85,87,89,91,93,98,96,95,97,94,92,90,100,98,96,97,94,92,90,98,96,95,93,94,97,99,100,98,96,97,94,92,90,98,96,95,99,97,94,92,100,98,96,97,94,92,90,98,96,95,99,97,94,102,104,106,97,94,92,90,100,98,96,99,97,94,100,98,96,97,94,92,90,90,92,94,97,96,98,100,94,97,99,96,98,100,90,92,94,97,106,104,102,94,97,99,95,96,98,90,92,94,97,96,98,100,92,94,97,99,95,96,98,90,92,94,97,96,98,100,99,97,94,93,95,96,98,90,92,94,97,96,98,100,90,92,94,97,95,96,98,100,104,106,105,103,101,99,102,104,106,105,103,101,99,100,102,104,106,105,103,101,102,104,106,105,103,101,99,100,102,104,106,105,103,101,102,104,106,105,103,101,99,100,102,104,106,105,103,101,112,108,107,105,103,101,99,102,104,106,105,103,101,102,104,106,105,103,101,99,99,101,103,105,106,104,102,101,103,105,106,104,102,99,101,103,105,107,108,112,101,103,105,106,104,102,100,99,101,103,105,106,104,102,101,103,105,106,104,102,100,99,101,103,105,106,104,102,101,103,105,106,104,102,100,99,101,103,105,106,104,102,99,101,103,105,106,104,100,102,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,112,110,108,107,109,111,114,110,109,111,113,115,114,112,110,108,107,109,111,114,112,110,108,107,109,111,111,109,107,108,110,112,114,111,109,107,108,110,112,114,115,113,111,109,110,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,114,111,109,107,108,110,112,102,118,116,114,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,116,118,120,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,120,118,116,119,117,115,113,120,118,116,121,119,117,120,118,116,119,117,115,113,120,118,116,119,117,115,113,113,115,117,119,116,118,120,113,115,117,119,116,118,120,117,119,121,116,118,120,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,120,118,116,113,115,117,119,116,118,120,113,115,117,119,116,118,120,113,115,117,119,114,116,118,120,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,121,122,124,126,127,125,123,122,124,126,127,125,123,121,122,124,126,127,125,123,121,121,123,125,127,126,124,122,121,123,125,127,126,124,122,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,121,123,125,127,126,124,122,120};
-const Int_t AliL3TPCMapping::fgkOFecCon[fgkNOROC] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,1,1,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,3,3,3,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,3,3,3,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,3,3,2,2,2,3,2,2,2,2,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,2,2,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,4,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,3,4,4,4,4,4,4,3,3,3,3,4,4,4,4,4,4,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,4,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,4,4,4,5,5,5,5,5,5,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5};
index faef680692a65bf3f6b0aa9f30138cbc4ccf292b..d9d87f8a74340c59a9ce442842b4b4aa41c37d62 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides  #
 ################################
 
-MODNAME = AliL3Misc
+MODNAME = AliHLTMisc
 
 ifndef ALIHLT_TOPDIR
 ALIHLT_TOPDIR = $(shell pwd)/..
@@ -14,14 +14,14 @@ endif
 
 include $(ALIHLT_TOPDIR)/Makefile.conf
 
-SRCS   = AliL3TransBit.cxx AliL3AltroMemHandler.cxx \
-          AliL3VHDLClusterFinder.cxx AliL3TPCMapping.cxx \
-          AliL3FFloat.cxx AliL3Stopwatch.cxx AliL3DDLRawReader.cxx \
-          AliL3DDLRawReaderFile.cxx AliL3DDLTPCRawStream.cxx 
+SRCS   = AliHLTTransBit.cxx AliHLTAltroMemHandler.cxx \
+          AliHLTVHDLClusterFinder.cxx AliHLTTPCMapping.cxx \
+          AliHLTFFloat.cxx AliHLTStopwatch.cxx AliHLTDDLRawReader.cxx \
+          AliHLTDDLRawReaderFile.cxx AliHLTDDLTPCRawStream.cxx 
 
 ifneq ($(ARCH),macosx)
 ## for macosx put into src as symbolic link
-SRCS   += AliL3DDLDataFileHandler.cxx AliL3DataHandler.cxx 
+SRCS   += AliHLTDDLDataFileHandler.cxx AliHLTDataHandler.cxx 
 endif
 
 include $(ALIHLT_TOPDIR)/Makefile.rules
index f47da5e90a7a27f61200e6ee56a312fe1ee75923..433939eeb8244ff5c28acd60791265a4ea098f2f 100644 (file)
@@ -15,8 +15,8 @@ include $(ALIHLT_TOPDIR)/Makefile.conf
 DEFSTR = -Dno_root
 INCLUDES = -I$(ALIHLT_TOPDIR)/src -I$(ALIHLT_TOPDIR)/hough -I$(ALIHLT_TOPDIR)/comp -I$(ALIHLT_TOPDIR)/misc -I$(ALIHLT_TOPDIR)/trigger -I$(ALIHLT_TOPDIR)/kalman
 
-LIBS = -L$(ALIHLT_LIBDIR) -lAliL3Src -lAliL3Hough -lAliL3Comp -lAliL3Misc 
-STATICLIBS = $(ALIHLT_LIBDIR)/libAliL3Src.a  $(ALIHLT_LIBDIR)/libAliL3Hough.a  $(ALIHLT_LIBDIR)/libAliL3Comp.a  $(ALIHLT_LIBDIR)/libAliL3Misc.a 
+LIBS = -L$(ALIHLT_LIBDIR) -lAliHLTSrc -lAliHLTHough -lAliHLTComp -lAliHLTMisc 
+STATICLIBS = $(ALIHLT_LIBDIR)/libAliHLTSrc.a  $(ALIHLT_LIBDIR)/libAliHLTHough.a  $(ALIHLT_LIBDIR)/libAliHLTComp.a  $(ALIHLT_LIBDIR)/libAliHLTMisc.a 
 
 ifneq ($(ALIHLT_USEPACKAGE),STANDALONE)
 ROOTCFLAGS := $(shell root-config --cflags)
index 14e530cffc29e160d26f51226565fb513f66337b..690a15bfa05caa70c2d767fefb040afedb6325ea 100644 (file)
@@ -7,13 +7,13 @@
 BOMB THE COMPILE: USEPACKAGE=ALIROOT
 #endif
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3MemHandler.h"
-#include "AliL3FileHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -49,9 +49,9 @@ int main (Int_t argc, Char_t** argv)
 
 
   /*
-  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
+  AliHLTFileHandler *fFileHandler = new AliHLTFileHandler(); 
   fFileHandler->SetAliInput(in);
-  AliL3Transform *fTransformer = new AliL3Transform(path);
+  AliHLTTransform *fTransformer = new AliHLTTransform(path);
 
 
   fFileHandler->Init(fTransformer);
@@ -102,7 +102,7 @@ int Make_Init(char *file, char *tofile=NULL){
   } else strcpy(tofilename,file);
 
   FILE *f = fopen(tofilename,"w");
-  fprintf(f,"void AliL3Transform::Init(){\n");
+  fprintf(f,"void AliHLTTransform::Init(){\n");
 
   fprintf(f,"  //sector:\n");
   fprintf(f,"  fNTimeBins = %d ;\n",fNTimeBins);
@@ -152,17 +152,17 @@ int Make_Init(char *file, char *tofile=NULL){
 #if 0
 void singlepatch(Char_t* in,Int_t first, Int_t last,Char_t *path="",Int_t event=0)
 {
-  AliL3Logger l;
-  //l.UnSet(AliL3Logger::kDebug);
-  //l.UnSet(AliL3Logger::kAll);
-  //l.Set(AliL3Logger::kInformational);
+  AliHLTLogger l;
+  //l.UnSet(AliHLTLogger::kDebug);
+  //l.UnSet(AliHLTLogger::kAll);
+  //l.Set(AliHLTLogger::kInformational);
   //l.UseStdout();
   l.UseStream();
   
   Char_t fname[100];
   sprintf(fname,"%sevent_%d/",path,event);
   Char_t name[256];
-  AliL3FileHandler *fFileHandler = new AliL3FileHandler(); 
+  AliHLTFileHandler *fFileHandler = new AliHLTFileHandler(); 
   fFileHandler->SetAliInput(in);
   Int_t srow[2] = {0,175};
   Int_t patch=0;
index 1f888ad2abc303538dda9ee3bd93eb37f38da855..6581addd3642a4956bed5932c80b496c1a8c10fd 100644 (file)
@@ -7,8 +7,8 @@
  Program to convert big <-> little endian cosmics data of 02/2003.
 */
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
 
 #if __GNUC__ == 3
 using namespace std;
index cdf92357080afed39f839bb8f2b4d84ad06ce00a..b0c76638134dfc90465e3b30cba39f14876783ab 100644 (file)
@@ -9,13 +9,13 @@
    vhdl implementation of the Hough transform. 
 */
 
-#include <AliL3StandardIncludes.h>
-#include <AliL3RootTypes.h>
-#include <AliL3Transform.h>
-#include <AliL3Logging.h>
-#include <AliL3Logger.h>
-#include <AliL3MemHandler.h>
-#include <AliL3HoughTransformerVhdl.h>
+#include <AliHLTStandardIncludes.h>
+#include <AliHLTRootTypes.h>
+#include <AliHLTTransform.h>
+#include <AliHLTLogging.h>
+#include <AliHLTLogger.h>
+#include <AliHLTMemHandler.h>
+#include <AliHLTHoughTransformerVhdl.h>
 
 #if __GNUC__ == 3
 using namespace std;
@@ -27,8 +27,8 @@ int main(Int_t argc,Char_t **argv)
   Int_t slice=0;
   Char_t path[1000];
 
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -47,10 +47,10 @@ int main(Int_t argc,Char_t **argv)
     exit(1);
   }
 
-  AliL3Transform::Init(path);
-  cerr << "Transform version: " << AliL3Transform::GetVersion() << endl;
+  AliHLTTransform::Init(path);
+  cerr << "Transform version: " << AliHLTTransform::GetVersion() << endl;
 
-  AliL3HoughTransformerVhdl vtest(slice,patch,100,10);
+  AliHLTHoughTransformerVhdl vtest(slice,patch,100,10);
   vtest.CreateHistograms(64,0.1,64,-30,30);
   vtest.PrintVhdl();
   exit(0);
index 97114d6247acc1f9ec270cdd376f774bd8334248..905858180ad6960a624cf397c83c98ace5ef1eb6 100644 (file)
@@ -4,15 +4,15 @@
 //*-- Copyright &copy ALICE HLT Group
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
-#include "AliL3MemHandler.h"
-#include "AliL3AltroMemHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTAltroMemHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -36,8 +36,8 @@ int main(Int_t argc,Char_t **argv)
   Bool_t altroout=kFALSE;
   FILE *afile=0;
   
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   //l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -61,11 +61,11 @@ int main(Int_t argc,Char_t **argv)
   //Loading all specific aliroot version quantities, needed.
   Char_t fname[1024];
   strcpy(fname,argv[1]);
-  AliL3Transform::Init(dirname(fname));
+  AliHLTTransform::Init(dirname(fname));
   strcpy(fname,argv[1]);
 
   //Filehandler object:
-  AliL3MemHandler file;
+  AliHLTMemHandler file;
 
   //Give slice and patch information (see filename convention)
   if((patch>=0)&&(patch<6)) file.Init(slice,patch);
@@ -83,14 +83,14 @@ int main(Int_t argc,Char_t **argv)
     }
 
   //Create an RowData object to access the data
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
   UInt_t nrows=0;
   
   //Read the file, and store the data in memory. Return value is a pointer to the data.
   digits = file.CompBinary2Memory(nrows);
 
   //Create an ALtroMemHandler object
-  AliL3AltroMemHandler altromem;
+  AliHLTAltroMemHandler altromem;
   if(altroout) altroout=altromem.SetASCIIOutput(afile);
 
   UShort_t time,charge;
@@ -100,7 +100,7 @@ int main(Int_t argc,Char_t **argv)
   for(UInt_t r=0; r<nrows; r++) //Loop over padrows
     {
       //Get the data on this padrow:
-      AliL3DigitData *dataPt = (AliL3DigitData*)digits->fDigitData;
+      AliHLTDigitData *dataPt = (AliHLTDigitData*)digits->fDigitData;
       row++;
       if(lrow+1==row) crows++;
       
index f793d366eaba22a13e146a02468c3baf0a0a7b69..8a27d015285424fe0e690ba8a8a019a2d008e4de 100644 (file)
@@ -3,24 +3,24 @@
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de
 //*-- Copyright &copy ALICE HLT Group
 
-#include <AliL3StandardIncludes.h>
-
-#include <AliL3RootTypes.h>
-#include <AliL3Logging.h>
-#include <AliL3Logger.h>
-#include <AliL3Transform.h>
-#include <AliL3Track.h>
-#include <AliL3TrackArray.h>
-#include <AliL3HoughTrack.h>
-#include <AliL3ClustFinderNew.h>
-#include <AliL3MemHandler.h>
-#include <AliL3SpacePointData.h>
-#include <AliL3HoughBaseTransformer.h>
-#include <AliL3HoughTransformer.h>
-#include <AliL3HoughTransformerLUT.h>
-#include <AliL3HoughTransformerVhdl.h>
-#include <AliL3HoughMaxFinder.h>
-#include <AliL3Hough.h>
+#include <AliHLTStandardIncludes.h>
+
+#include <AliHLTRootTypes.h>
+#include <AliHLTLogging.h>
+#include <AliHLTLogger.h>
+#include <AliHLTTransform.h>
+#include <AliHLTTrack.h>
+#include <AliHLTTrackArray.h>
+#include <AliHLTHoughTrack.h>
+#include <AliHLTClustFinderNew.h>
+#include <AliHLTMemHandler.h>
+#include <AliHLTSpacePointData.h>
+#include <AliHLTHoughBaseTransformer.h>
+#include <AliHLTHoughTransformer.h>
+#include <AliHLTHoughTransformerLUT.h>
+#include <AliHLTHoughTransformerVhdl.h>
+#include <AliHLTHoughMaxFinder.h>
+#include <AliHLTHough.h>
 
 #ifndef no_root
 #include <TROOT.h>
@@ -41,8 +41,8 @@ int main(Int_t argc,Char_t **argv)
   Int_t sh=0;
   Int_t segs=100;
 
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -63,15 +63,15 @@ int main(Int_t argc,Char_t **argv)
     segs=atoi(argv[4]);
   }
 
-  //AliL3FFloat::SetParams(10000);
-  AliL3Transform::Init(path);
+  //AliHLTFFloat::SetParams(10000);
+  AliHLTTransform::Init(path);
 
 #if 0
   runhough(sl,sh,path,segs);
 #else //do some comparison tests
 
-  AliL3HoughBaseTransformer *fh1 = new AliL3HoughTransformerVhdl(0,0,segs);
-  AliL3HoughBaseTransformer *fh2 = new AliL3HoughTransformerLUT(0,0,segs);
+  AliHLTHoughBaseTransformer *fh1 = new AliHLTHoughTransformerVhdl(0,0,segs);
+  AliHLTHoughBaseTransformer *fh2 = new AliHLTHoughTransformerLUT(0,0,segs);
 
   fh1->CreateHistograms(64,0.1,64,-30.,30.);
   fh2->CreateHistograms(64,0.1,64,-30.,30.);
@@ -80,7 +80,7 @@ int main(Int_t argc,Char_t **argv)
 
 #endif
 
-  //AliL3FFloat::PrintStat();
+  //AliHLTFFloat::PrintStat();
   exit(0);
 }
 
@@ -98,7 +98,7 @@ void runhough(Int_t sl,Int_t sh,Char_t *path,Int_t n_eta_segments, Int_t show_se
   Int_t tv=1;
   Int_t th=14000;
 
-  AliL3Hough *hough = new AliL3Hough();
+  AliHLTHough *hough = new AliHLTHough();
   hough->Init(path,binary,n_eta_segments,bit8,tv);
   hough->GetMaxFinder()->SetThreshold(th);
   Int_t ntracks=0;
@@ -110,11 +110,11 @@ void runhough(Int_t sl,Int_t sh,Char_t *path,Int_t n_eta_segments, Int_t show_se
     hough->FindTrackCandidates();
     //hough->Evaluate(5);
 
-    AliL3TrackArray *tracks = (AliL3TrackArray*)hough->GetTracks(0);
+    AliHLTTrackArray *tracks = (AliHLTTrackArray*)hough->GetTracks(0);
     ntracks=tracks->GetNTracks();
     for(int i=0; i<ntracks; i++)
       {
-       AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+       AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
        if(!track) continue;
        if(sl==sh) cout<<"pt "<<track->GetPt()<<" psi "<<track->GetPsi()<<" eta "<<track->GetEta()<<" etaindex "<<track->GetEtaIndex()<<" weight "<<track->GetWeight()<<endl;
        if(show_seg<0) show_seg=track->GetEtaIndex();
@@ -129,21 +129,21 @@ void runhough(Int_t sl,Int_t sh,Char_t *path,Int_t n_eta_segments, Int_t show_se
 #endif
 
 #if 0
-void display(AliL3Hough *hough,Int_t eta_index)
+void display(AliHLTHough *hough,Int_t eta_index)
 {
   //Display the data/tracks in eta_index
   
   hough->InitEvaluate();
-  AliL3Histogram *digitd = new AliL3Histogram("Digits display","",250,0,250,250,-125,125);
-  AliL3Histogram *trackd = new AliL3Histogram("Found tracks display","",250,0,250,250,-125,125);
+  AliHLTHistogram *digitd = new AliHLTHistogram("Digits display","",250,0,250,250,-125,125);
+  AliHLTHistogram *trackd = new AliHLTHistogram("Found tracks display","",250,0,250,250,-125,125);
   for(int i=0; i<6; i++)
     hough->GetEval(i)->DisplayEtaSlice(eta_index,digitd);
   
   float xyz[3];
-  tracks = (AliL3TrackArray*)hough->GetTracks(0);
+  tracks = (AliHLTTrackArray*)hough->GetTracks(0);
   for(int i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(i);
       if(!track) continue;
       if(track->GetEtaIndex() != eta_index) continue;
 
@@ -193,6 +193,6 @@ void geteff(char *fname)
     counter++;
   
   char filename[100];
-  file = new AliL3MemHandler();
+  file = new AliHLTMemHandler();
 }
 #endif
index 4984e02a05b4f0b4f66f7cd0a3a0a5ec1365df88..c047f816ac897521c7f81fa422b1c86f54ab0651 100644 (file)
 */
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Transform.h"
-#include "AliL3ClustFinderNew.h"
-#include "AliL3MemHandler.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTTransform.h"
+#include "AliHLTClustFinderNew.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTSpacePointData.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -39,8 +39,8 @@ int main(Int_t argc,Char_t **argv)
   Int_t th=10;
   Bool_t de=kFALSE;
 
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -65,22 +65,22 @@ int main(Int_t argc,Char_t **argv)
     de=kTRUE;
   }
 
-  AliL3DigitRowData *digits = 0;
+  AliHLTDigitRowData *digits = 0;
   unsigned int nrows=0;
   
   //reading transformer init file
   Char_t fname[1024];
   strcpy(fname,argv[1]);
-  AliL3Transform::Init(dirname(fname)); 
+  AliHLTTransform::Init(dirname(fname)); 
   strcpy(fname,argv[1]);
 
   //Does all the file/data handling  
-  AliL3MemHandler file; 
+  AliHLTMemHandler file; 
 
   //Give slice and patch information (see filename convention)
   if((patch>=0)&&(patch<6)) file.Init(slice,patch);
   else {
-    Int_t srows[2]={0,AliL3Transform::GetLastRow(5)};
+    Int_t srows[2]={0,AliHLTTransform::GetLastRow(5)};
     patch=0;
     file.Init(slice,patch,srows);
   }
@@ -97,7 +97,7 @@ int main(Int_t argc,Char_t **argv)
   file.CloseBinaryInput();
 
   //The cluster finder itself.
-  AliL3ClustFinderNew cf; 
+  AliHLTClustFinderNew cf; 
 
   //Init cluster finder
   cf.InitSlice(slice,patch,0,nrows-1,MAXCLUSTER);
@@ -110,8 +110,8 @@ int main(Int_t argc,Char_t **argv)
   cf.SetDeconv(de); //standard is false
 
   //Allocate memory to store found spacepoints 
-  AliL3MemHandler fpoints;
-  AliL3SpacePointData *points=(AliL3SpacePointData*)fpoints.Allocate(MAXCLUSTER*sizeof(AliL3SpacePointData));
+  AliHLTMemHandler fpoints;
+  AliHLTSpacePointData *points=(AliHLTSpacePointData*)fpoints.Allocate(MAXCLUSTER*sizeof(AliHLTSpacePointData));
   cf.SetOutputArray(points);
 
   //Give the data pointer to the cluster finder
index 5e549edcaef1e01c2ba05b6617c83d486fbe2705..1fdb89cfeb5ad8e1895ea68e440971706db72de4 100644 (file)
@@ -3,9 +3,9 @@
 // Author: Constantin Loizides <loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 #include "AliLevel3.h"
 
 //Standalone program to run the track follower for benchmark tests.
index 58725f31a78fd61d49127d38600cd421ae5ca88c..2b9f286f01f285e11825a08076660c4e03a85ce1 100644 (file)
@@ -4,15 +4,15 @@
 //*-- Copyright &copy ALICE HLT Group
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
-#include "AliL3VHDLClusterFinder.h"
-#include "AliL3AltroMemHandler.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVHDLClusterFinder.h"
+#include "AliHLTAltroMemHandler.h"
 
 
 #if __GNUC__ == 3
@@ -36,8 +36,8 @@ int main(Int_t argc,Char_t **argv)
   Int_t th=10;
   Bool_t de=kFALSE;
 
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -66,7 +66,7 @@ int main(Int_t argc,Char_t **argv)
   //reading transformer config file
   Char_t fname[1024];
   strcpy(fname,argv[1]);
-  AliL3Transform::Init(dirname(fname)); 
+  AliHLTTransform::Init(dirname(fname)); 
   strcpy(fname,argv[1]);
   */
 
@@ -76,7 +76,7 @@ int main(Int_t argc,Char_t **argv)
     exit(1);
   }
 
-  AliL3VHDLClusterFinder cf;
+  AliHLTVHDLClusterFinder cf;
   cf.SetASCIIInput(afile);
 
   //set cluster finder parameters
index 8193e6e87c97438a4e5a06ed947fac4a5967ba9c..dfa22b0eb25f6d1d01c8d549fcaf1d0493805ec3 100644 (file)
@@ -4,14 +4,14 @@
 //*-- Copyright &copy ALICE HLT Group
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Transform.h"
-#include "AliL3VHDLClusterFinder.h"
-#include "AliL3AltroMemHandler.h"
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVHDLClusterFinder.h"
+#include "AliHLTAltroMemHandler.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
 
 #if __GNUC__ == 3
 using namespace std;
@@ -32,8 +32,8 @@ int main(int argc,char **argv)
   Int_t fm=4;
   Int_t th=10;
 
-  AliL3Logger l;
-  l.Set(AliL3Logger::kAll);
+  AliHLTLogger l;
+  l.Set(AliHLTLogger::kAll);
   l.UseStderr();
   //l.UseStdout();
   //l.UseStream();
@@ -58,7 +58,7 @@ int main(int argc,char **argv)
   //Storing all specific quantities, needed by the Cluster Finder.
   //Char_t fname[1024];
   //strcpy(fname,argv[1]);
-  //AliL3Transform::Init(dirname(fname)); 
+  //AliHLTTransform::Init(dirname(fname)); 
   //strcpy(fname,argv[1]);
 
   FILE *afile=fopen(argv[1],"r");
@@ -67,7 +67,7 @@ int main(int argc,char **argv)
     exit(1);
   }
 
-  AliL3VHDLClusterFinder cf;
+  AliHLTVHDLClusterFinder cf;
   cf.SetASCIIInput(afile);
 
   //set cluster finder parameters
index b989155cbbfc5349ddd3b309cee6b43ba1040e21..946b243ce60f5576c70f5d014b37daf1a5b3b094 100644 (file)
@@ -10,16 +10,16 @@ int main(int arg,char **arc){
   int n = 0;
   if(arg!=2) {cerr<<"usage: speedtest #loops \n";return -1;}  
   n = atoi(arc[1]);
-//  cerr<<"allocate: "<<n*sizeof(AliL3ConfMapPoint)<<" Bytes"<<endl;
-//  AliL3ConfMapPoint *array = new AliL3ConfMapPoint[n];
+//  cerr<<"allocate: "<<n*sizeof(AliHLTConfMapPoint)<<" Bytes"<<endl;
+//  AliHLTConfMapPoint *array = new AliHLTConfMapPoint[n];
   cerr<<"allocate: "<<n*sizeof(double)<<" Bytes"<<endl;
   double *array = new double[n];
 //  cerr<<"allocate: "<<n*sizeof(int)<<" Bytes"<<endl;
 //  int *array = new int[n];
-//  cerr<<"allocate: "<<n*sizeof(AliL3SpacePointData)<<" Bytes"<<endl;
-//  AliL3SpacePointData *array = new AliL3SpacePointData[n];
+//  cerr<<"allocate: "<<n*sizeof(AliHLTSpacePointData)<<" Bytes"<<endl;
+//  AliHLTSpacePointData *array = new AliHLTSpacePointData[n];
 
-  AliL3SpacePointData hit;
+  AliHLTSpacePointData hit;
   hit.fX=103.55;
   hit.fY=22.33;
   hit.fZ=95.312;
index 9d0cedec2b33b2070f306769a4095c12b5f19773..ddb186c621f01c11b4d02af8fb5e36781340a232 100644 (file)
@@ -2,7 +2,7 @@
 
 #include <iostream.h>
 #define ALIL3LOGGING_H
-class AliL3Log{
+class AliHLTLog{
   public:
   enum TLogLevel { kNone = 0, kDebug= 0x01, kInformational = 0x02, kWarning = 0x04, kError = 0x08 , kFatal = 0x10, kPrimary = 0x80, kAll = 0x9F };
   enum TLogCmd { kEnd, kPrec, kHex, kDec };
@@ -15,7 +15,7 @@ class AliL3Log{
 #include <math.h>
 #include <stdlib.h>
 #include <time.h>
-#include "AliL3ConfMapPoint.cxx"
+#include "AliHLTConfMapPoint.cxx"
 
 double CpuTime()
 {
index dd43680848fdd9ceb591a68da57a759602a39e15..802d84b6035635f07972a882d78ec186c78bae59 100644 (file)
@@ -1,18 +1,18 @@
 // $Id$
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
 #include "AliLevel3.h"
-#include "AliL3Transform.h"
-#include "AliL3RawDataFileHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3ClustFinderNew.h"
-#include "AliL3ConfMapper.h"
-#include "AliL3Vertex.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Logging.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Track.h"
+#include "AliHLTTransform.h"
+#include "AliHLTRawDataFileHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTClustFinderNew.h"
+#include "AliHLTConfMapper.h"
+#include "AliHLTVertex.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrack.h"
 #include <TCanvas.h>
 #include <TH2.h>
 #include <TView.h>
@@ -52,20 +52,20 @@ int main(Int_t argc,Char_t **argv){
 
   //displaying the tracks:
   UInt_t fNcl;
-  AliL3MemHandler *clusterfile = new AliL3MemHandler();
+  AliHLTMemHandler *clusterfile = new AliHLTMemHandler();
   sprintf(fname,"%s/%s-points_0_-1.raw",path,cfile);
   cout<<"file: "<<fname<<endl;
   if(!clusterfile->SetBinaryInput(fname)){
     cout<<"file: "<<fname<<" can not be set as binary input!"<<endl;
-    LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+    LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
       <<"Inputfile "<<fname<<" does not exist"<<ENDLOG; 
     delete clusterfile;
     clusterfile = 0; 
   }
   clusterfile->SetBinaryInput(fname);
-  AliL3SpacePointData *fClusters = new AliL3SpacePointData();
-  memset(fClusters,0,sizeof(AliL3SpacePointData*));
-  fClusters = (AliL3SpacePointData*)clusterfile->Allocate();
+  AliHLTSpacePointData *fClusters = new AliHLTSpacePointData();
+  memset(fClusters,0,sizeof(AliHLTSpacePointData*));
+  fClusters = (AliHLTSpacePointData*)clusterfile->Allocate();
   clusterfile->Binary2Memory(fNcl,fClusters);
   clusterfile->CloseBinaryInput();
   TApplication theApp("App", &argc, argv);
@@ -75,7 +75,7 @@ int main(Int_t argc,Char_t **argv){
   c1->Clear();
   c1->SetFillColor(1);
   
-  AliL3SpacePointData *points = fClusters;
+  AliHLTSpacePointData *points = fClusters;
   TH2F *clusters = new TH2F("clusters","",65,-1,64,77,17,94);
   if(!points)
     cout<<"no points"<<endl;
@@ -130,10 +130,10 @@ int main(Int_t argc,Char_t **argv){
 
   TF1 *line = new TF1("line","[0]+[1]*x",0,63);
   line->SetParameters(xyParamA,xyParamB);
-  TLine *leftline= new TLine(0,(0-AliL3Transform::GetNPads(0)/2+55),0,AliL3Transform::GetNPads(0)-(AliL3Transform::GetNPads(0)/2)+55);
-  TLine *rightline=new TLine(63,(0-AliL3Transform::GetNPads(63)/2+55),63,AliL3Transform::GetNPads(63)-(AliL3Transform::GetNPads(63)/2)+55);
-  TLine *upperline=new TLine(0,(AliL3Transform::GetNPads(0)-AliL3Transform::GetNPads(0)/2+55),63,AliL3Transform::GetNPads(63)-(AliL3Transform::GetNPads(63)/2)+55);
-  TLine *underline=new TLine(0,(0-AliL3Transform::GetNPads(0)/2+55),63,0-(AliL3Transform::GetNPads(63)/2)+55);
+  TLine *leftline= new TLine(0,(0-AliHLTTransform::GetNPads(0)/2+55),0,AliHLTTransform::GetNPads(0)-(AliHLTTransform::GetNPads(0)/2)+55);
+  TLine *rightline=new TLine(63,(0-AliHLTTransform::GetNPads(63)/2+55),63,AliHLTTransform::GetNPads(63)-(AliHLTTransform::GetNPads(63)/2)+55);
+  TLine *upperline=new TLine(0,(AliHLTTransform::GetNPads(0)-AliHLTTransform::GetNPads(0)/2+55),63,AliHLTTransform::GetNPads(63)-(AliHLTTransform::GetNPads(63)/2)+55);
+  TLine *underline=new TLine(0,(0-AliHLTTransform::GetNPads(0)/2+55),63,0-(AliHLTTransform::GetNPads(63)/2)+55);
   
   nothing->Draw("colz");
   nothing->SetXTitle("Padrows");
index 5c83950d4dc020602772c765ec84e0f28626ad08..50cebd0fd9f5ef6889bf33d98b3e9f8731d4ebe4 100644 (file)
@@ -1,14 +1,14 @@
 // $Id$
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
 #include "AliLevel3.h"
-#include "AliL3Transform.h"
-#include "AliL3RawDataFileHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3ClustFinderNew.h"
-#include "AliL3ConfMapper.h"
-#include "AliL3Vertex.h"
+#include "AliHLTTransform.h"
+#include "AliHLTRawDataFileHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTClustFinderNew.h"
+#include "AliHLTConfMapper.h"
+#include "AliHLTVertex.h"
 
 #if __GNUC__== 3
 using namespace std;
@@ -41,9 +41,9 @@ int main(Int_t argc,Char_t **argv)
     sprintf(path,"%s",argv[2]);
   }
 
-  AliL3Transform::Init("./l3-cosmics-transform.config");
-  AliL3Transform::SetZeroSup(5);
-  AliL3RawDataFileHandler *f=new AliL3RawDataFileHandler();
+  AliHLTTransform::Init("./l3-cosmics-transform.config");
+  AliHLTTransform::SetZeroSup(5);
+  AliHLTRawDataFileHandler *f=new AliHLTRawDataFileHandler();
 
   f->Init(slice,patch);
   
@@ -73,23 +73,23 @@ int main(Int_t argc,Char_t **argv)
 #endif
 
   UInt_t nrows;
-  AliL3DigitRowData *data=(AliL3DigitRowData*)f->RawData2Memory(nrows);
+  AliHLTDigitRowData *data=(AliHLTDigitRowData*)f->RawData2Memory(nrows);
 
-  AliL3MemHandler *out = new AliL3MemHandler();
+  AliHLTMemHandler *out = new AliHLTMemHandler();
   sprintf(fname,"./%s-digits_%d_%d.raw",cfile,slice,patch);
   out->SetBinaryOutput(fname);
   out->Memory2Binary(nrows,data);
   out->CloseBinaryOutput();
   out->Free();
 
-  AliL3MemHandler *mem=new AliL3MemHandler();
+  AliHLTMemHandler *mem=new AliHLTMemHandler();
 
   UInt_t maxclusters=100000;
-  UInt_t pointsize = maxclusters*sizeof(AliL3SpacePointData);
-  AliL3SpacePointData *points = (AliL3SpacePointData*)mem->Allocate(pointsize);
+  UInt_t pointsize = maxclusters*sizeof(AliHLTSpacePointData);
+  AliHLTSpacePointData *points = (AliHLTSpacePointData*)mem->Allocate(pointsize);
 
   Bool_t rawsp=kTRUE;
-  AliL3ClustFinderNew *cf = new AliL3ClustFinderNew();
+  AliHLTClustFinderNew *cf = new AliHLTClustFinderNew();
   cf->InitSlice(slice,patch,maxclusters);
   cf->SetMatchWidth(10);
   cf->SetSTDOutput(kTRUE);
similarity index 57%
rename from HLT/sim/AliL3Generator.cxx
rename to HLT/sim/AliHLTGenerator.cxx
index 6affaedccda47ede9cb3e969f3bfa151d414feff..5b226f5cef565a809dd14b3498acf0fb7c35af33 100644 (file)
@@ -1,19 +1,19 @@
-#include "AliL3Generator.h"
+#include "AliHLTGenerator.h"
 
 
-ClassImp(AliL3Generator)
+ClassImp(AliHLTGenerator)
 
-AliL3Generator::AliL3Generator()
+AliHLTGenerator::AliHLTGenerator()
 {
 
 }
 
-AliL3Generator::~AliL3Generator()
+AliHLTGenerator::~AliHLTGenerator()
 {
 
 }
 
-void AliL3Generator::Generate()
+void AliHLTGenerator::Generate()
 {
   Float_t pt[3];
   for(Int_t i=0; i<fNpart; i++)
diff --git a/HLT/sim/AliHLTGenerator.h b/HLT/sim/AliHLTGenerator.h
new file mode 100644 (file)
index 0000000..5e8954e
--- /dev/null
@@ -0,0 +1,27 @@
+// @(#) $Id$
+
+#ifndef ALIL3GENERATOR_H
+#define ALIL3GENERATOR_H
+
+#include "AliHLTRootTypes.h"
+#include "AliGenerator.h"
+
+class AliHLTGenerator : public AliGenerator {
+
+ private:
+  
+  
+  
+
+ public:
+  AliHLTGenerator();
+  virtual ~AliHLTGenerator();
+  
+  void Generate();
+  void Init();
+  void ReadParticles(TClonesArray *particles);
+
+  ClassDef(AliHLTGenerator,1)
+};
+
+typedef AliHLTGenerator AliL3Generator; // for backward compatibility
diff --git a/HLT/sim/AliL3Generator.h b/HLT/sim/AliL3Generator.h
deleted file mode 100644 (file)
index fcd1bb2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3GENERATOR_H
-#define ALIL3GENERATOR_H
-
-#include "AliL3RootTypes.h"
-#include "AliGenerator.h"
-
-class AliL3Generator : public AliGenerator {
-
- private:
-  
-  
-  
-
- public:
-  AliL3Generator();
-  virtual ~AliL3Generator();
-  
-  void Generate();
-  void Init();
-  void ReadParticles(TClonesArray *particles);
-
-  ClassDef(AliL3Generator,1)
-};
similarity index 86%
rename from HLT/src/AliL3Benchmark.cxx
rename to HLT/src/AliHLTBenchmark.cxx
index e08a0c100f68f7b2803fde6f7d059c24fc9952cf..595ca93c8b53e69643300c5407754af21c2bba4e 100644 (file)
@@ -3,11 +3,11 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-/** \class AliL3Benchmark
+/** \class AliHLTBenchmark
 </pre>
 //_____________________________________________________________
 //
-// AliL3Benchmark
+// AliHLTBenchmark
 //
 //   Benchmark class for level3 code
 //  
 #include <TStopwatch.h>
 #include <TMath.h>
 #endif
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Benchmark.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTBenchmark.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3Benchmark)
+ClassImp(AliHLTBenchmark)
 
-AliL3Benchmark::AliL3Benchmark()
+AliHLTBenchmark::AliHLTBenchmark()
 {
   //Constructor
   fNbench = 0;
@@ -46,7 +46,7 @@ AliL3Benchmark::AliL3Benchmark()
   fCount  = 0;
 }
 
-AliL3Benchmark::~AliL3Benchmark()
+AliHLTBenchmark::~AliHLTBenchmark()
 {
   //deconstructor
    fNbench   = 0;
@@ -58,7 +58,7 @@ AliL3Benchmark::~AliL3Benchmark()
    if (fCount)  {delete [] fCount; fCount =0;}
 }
 
-Int_t AliL3Benchmark::GetBench(const Char_t *name)
+Int_t AliHLTBenchmark::GetBench(const Char_t *name)
 {
   //get bench with name
    for (Int_t i=0;i<fNbench;i++) {
@@ -68,13 +68,13 @@ Int_t AliL3Benchmark::GetBench(const Char_t *name)
 }
 
 
-void AliL3Benchmark::Start(const Char_t *name)
+void AliHLTBenchmark::Start(const Char_t *name)
 {
   //start the benchmark with name
    if (!fNbench) {
 #ifdef no_root
      fNames=new Char_t*[fNmax];
-     fTimer = new AliL3Stopwatch[fNmax];
+     fTimer = new AliHLTStopwatch[fNmax];
 #else
      fNames = new TString[fNmax];
      fTimer = new TStopwatch[fNmax];
@@ -110,11 +110,11 @@ void AliL3Benchmark::Start(const Char_t *name)
       fTimer[bench].Start();
    }
    else
-     LOG(AliL3Log::kWarning,"AliL3Benchmark::Start","Start")
+     LOG(AliHLTLog::kWarning,"AliHLTBenchmark::Start","Start")
      <<"too many benches"<<ENDLOG;
 }
 
-void AliL3Benchmark::Stop(const char *name)
+void AliHLTBenchmark::Stop(const char *name)
 {
   //stop the benchmark with name
    Int_t bench = GetBench(name);
@@ -135,7 +135,7 @@ void AliL3Benchmark::Stop(const char *name)
    }
 }
 
-void AliL3Benchmark::Analyze(const Char_t* name)
+void AliHLTBenchmark::Analyze(const Char_t* name)
 {
   //get results of benchmark
   Float_t *x = new Float_t[fNbench]; 
@@ -188,7 +188,7 @@ void AliL3Benchmark::Analyze(const Char_t* name)
   delete[] eyh;
 }
 
-Double_t AliL3Benchmark::GetCpuTime()
+Double_t AliHLTBenchmark::GetCpuTime()
 {
   //get cpu time
   {return (Double_t)(clock()) / CLOCKS_PER_SEC;}
similarity index 72%
rename from HLT/src/AliL3Benchmark.h
rename to HLT/src/AliHLTBenchmark.h
index 43a380ded3430bdbfa10be7ec0eb6b4a33d098c9..f145380382e4cdf1c0059da762f9d62fe8479416 100644 (file)
@@ -1,11 +1,11 @@
 // @(#) $Id$
 
-#ifndef AliL3BenchmarkH
-#define AliL3BenchmarkH
+#ifndef AliHLTBenchmarkH
+#define AliHLTBenchmarkH
 
 //_____________________________________________________________
 //
-// AliL3Benchmark
+// AliHLTBenchmark
 //
 //   Benchmark class for level3 code
 //  
 class TStopwatch;
 class TString;
 #else
-class  AliL3Stopwatch;
+class  AliHLTStopwatch;
 #endif
 
-class AliL3Benchmark {
+class AliHLTBenchmark {
 
 public:
-   AliL3Benchmark();
-   virtual ~AliL3Benchmark();
+   AliHLTBenchmark();
+   virtual ~AliHLTBenchmark();
    Int_t      GetBench(const char *name);
    void       Start(const char *name);
    void       Stop(const char *name);
@@ -39,14 +39,16 @@ private:
    TStopwatch *fTimer;          //Timers
 #else
    Char_t **fNames;             //Names of benchmarks
-   AliL3Stopwatch *fTimer;      //Timers
+   AliHLTStopwatch *fTimer;      //Timers
 #endif
    Float_t    *fSum;  //sum of time
    Float_t    *fMin;  //min of time
    Float_t    *fMax;  //max of time
    Int_t      *fCount;// counter
 
-   ClassDef(AliL3Benchmark,0)  //L3 benchmark
+   ClassDef(AliHLTBenchmark,0)  //L3 benchmark
 };
 
+typedef AliHLTBenchmark AliL3Benchmark; // for backward compatibility
+
 #endif
similarity index 78%
rename from HLT/src/AliL3ClustFinderNew.cxx
rename to HLT/src/AliHLTClustFinderNew.cxx
index 2bfd282bbe6681b5616aff598a476b06f6ac5319..cf88a1f6271ced82342ce43726560a9319794ca6 100644 (file)
@@ -3,30 +3,30 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3ClustFinderNew.h"
-#include "AliL3DigitData.h"
-#include "AliL3Transform.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3MemHandler.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTClustFinderNew.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTMemHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3ClustFinderNew
+/** \class AliHLTClustFinderNew
 <pre>
 //_____________________________________________________________
-// AliL3ClustFinderNew
+// AliHLTClustFinderNew
 //
 // The current cluster finder for HLT
 // (Based on STAR L3)
 // 
 // The cluster finder is initialized with the Init function, 
 // providing the slice and patch information to work on. 
-// The input is a AliL3DigitRowData structure using the 
+// The input is a AliHLTDigitRowData structure using the 
 // Read function. The resulting space points will be in the
 // array given by the SetOutputArray function.
 // 
@@ -47,17 +47,17 @@ using namespace std;
 //
 // Example Usage:
 //
-// AliL3FileHandler *file = new AliL3FileHandler();
+// AliHLTFileHandler *file = new AliHLTFileHandler();
 // file->SetAliInput(digitfile); //give some input file
 // for(int slice=0; slice<=35; slice++){
 //   for(int patch=0; pat<6; pat++){
 //     file->Init(slice,patch);
 //     UInt_t ndigits=0;
 //     UInt_t maxclusters=100000;
-//     UInt_t pointsize = maxclusters*sizeof(AliL3SpacePointData);
-//     AliL3SpacePointData *points = (AliL3SpacePointData*)memory->Allocate(pointsize);
-//     AliL3DigitRowData *digits = (AliL3DigitRowData*)file->AliAltroDigits2Memory(ndigits,event);
-//     AliL3ClustFinderNew *cf = new AliL3ClustFinderNew();
+//     UInt_t pointsize = maxclusters*sizeof(AliHLTSpacePointData);
+//     AliHLTSpacePointData *points = (AliHLTSpacePointData*)memory->Allocate(pointsize);
+//     AliHLTDigitRowData *digits = (AliHLTDigitRowData*)file->AliAltroDigits2Memory(ndigits,event);
+//     AliHLTClustFinderNew *cf = new AliHLTClustFinderNew();
 //     cf->SetMatchWidth(2);
 //     cf->InitSlice(slice,patch,maxclusters);
 //     cf->SetSTDOutput(kTRUE);    //Some output to standard IO
@@ -69,7 +69,7 @@ using namespace std;
 //     cf->Read(ndigits,digits);   //give the data to the cf
 //     cf->ProcessDigits();        //process the rows given by init
 //     Int_t npoints = cf->GetNumberOfClusters();
-//     AliL3MemHandler *out= new AliL3MemHandler();
+//     AliHLTMemHandler *out= new AliHLTMemHandler();
 //     out->SetBinaryOutput(fname);
 //     out->Memory2Binary(npoints,points); //store the spacepoints
 //     out->CloseBinaryOutput();
@@ -81,9 +81,9 @@ using namespace std;
 </pre> 
 */
 
-ClassImp(AliL3ClustFinderNew)
+ClassImp(AliHLTClustFinderNew)
 
-AliL3ClustFinderNew::AliL3ClustFinderNew()
+AliHLTClustFinderNew::AliHLTClustFinderNew()
 {
   //constructor
   fMatch = 1;
@@ -99,13 +99,13 @@ AliL3ClustFinderNew::AliL3ClustFinderNew()
   fLastRow=0;
 }
 
-AliL3ClustFinderNew::~AliL3ClustFinderNew()
+AliHLTClustFinderNew::~AliHLTClustFinderNew()
 {
   //destructor
   ;
 }
 
-void AliL3ClustFinderNew::InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t nmaxpoints)
+void AliHLTClustFinderNew::InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t nmaxpoints)
 {
   //init slice
   fNClusters = 0;
@@ -116,55 +116,55 @@ void AliL3ClustFinderNew::InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_
   fLastRow = lastrow;
 }
 
-void AliL3ClustFinderNew::InitSlice(Int_t slice,Int_t patch,Int_t nmaxpoints)
+void AliHLTClustFinderNew::InitSlice(Int_t slice,Int_t patch,Int_t nmaxpoints)
 {
   //init slice
   fNClusters = 0;
   fMaxNClusters = nmaxpoints;
   fCurrentSlice = slice;
   fCurrentPatch = patch;
-  fFirstRow=AliL3Transform::GetFirstRow(patch);
-  fLastRow=AliL3Transform::GetLastRow(patch);
+  fFirstRow=AliHLTTransform::GetFirstRow(patch);
+  fLastRow=AliHLTTransform::GetLastRow(patch);
 }
 
-void AliL3ClustFinderNew::SetOutputArray(AliL3SpacePointData *pt)
+void AliHLTClustFinderNew::SetOutputArray(AliHLTSpacePointData *pt)
 {
   //set pointer to output
   fSpacePointData = pt;
 }
 
-void AliL3ClustFinderNew::Read(UInt_t ndigits,AliL3DigitRowData *ptr)
+void AliHLTClustFinderNew::Read(UInt_t ndigits,AliHLTDigitRowData *ptr)
 {
   //set input pointer
   fNDigitRowData = ndigits;
   fDigitRowData = ptr;
 }
 
-void AliL3ClustFinderNew::ProcessDigits()
+void AliHLTClustFinderNew::ProcessDigits()
 {
   //Loop over rows, and call processrow
-  AliL3DigitRowData *tempPt = (AliL3DigitRowData*)fDigitRowData;
+  AliHLTDigitRowData *tempPt = (AliHLTDigitRowData*)fDigitRowData;
   fNClusters = 0; 
   for(Int_t i=fFirstRow; i<=fLastRow; i++)
     {
       fCurrentRow = i;
       if((Int_t)tempPt->fRow!=fCurrentRow){
-       LOG(AliL3Log::kWarning,"AliL3ClustFinderNew::ProcessDigits","Digits")
+       LOG(AliHLTLog::kWarning,"AliHLTClustFinderNew::ProcessDigits","Digits")
          <<"Row number should match! "<<tempPt->fRow<<" "<<fCurrentRow<<ENDLOG;
        continue;
       }
       ProcessRow(tempPt);
       Byte_t *tmp = (Byte_t*)tempPt;
-      Int_t size = sizeof(AliL3DigitRowData) + tempPt->fNDigit*sizeof(AliL3DigitData);
+      Int_t size = sizeof(AliHLTDigitRowData) + tempPt->fNDigit*sizeof(AliHLTDigitData);
       tmp += size;
-      tempPt = (AliL3DigitRowData*)tmp;
+      tempPt = (AliHLTDigitRowData*)tmp;
     }
-  LOG(AliL3Log::kInformational,"AliL3ClustFinderNew::ProcessDigits","Space points")
+  LOG(AliHLTLog::kInformational,"AliHLTClustFinderNew::ProcessDigits","Space points")
     <<"Cluster finder found "<<fNClusters<<" clusters in slice "<<fCurrentSlice
     <<" patch "<<fCurrentPatch<<ENDLOG;
 }
 
-void AliL3ClustFinderNew::ProcessRow(AliL3DigitRowData *tempPt)
+void AliHLTClustFinderNew::ProcessRow(AliHLTDigitRowData *tempPt)
 {
   //process row
   UInt_t lastpad = 123456789;
@@ -182,7 +182,7 @@ void AliL3ClustFinderNew::ProcessRow(AliL3DigitRowData *tempPt)
   //Loop over sequences of this row:
   for(UInt_t bin=0; bin<tempPt->fNDigit; bin++)
     {
-      AliL3DigitData *data = tempPt->fDigitData;
+      AliHLTDigitData *data = tempPt->fDigitData;
       if(data[bin].fPad != lastpad)
        {
          //This is a new pad
@@ -228,9 +228,9 @@ void AliL3ClustFinderNew::ProcessRow(AliL3DigitRowData *tempPt)
       
       while(1) //Loop over current sequence
        {
-         if(data[bin].fTime >= AliL3Transform::GetNTimeBins())
+         if(data[bin].fTime >= AliHLTTransform::GetNTimeBins())
            {
-             LOG(AliL3Log::kFatal,"AliL3ClustFinderNew::ProcessRow","Digits")
+             LOG(AliHLTLog::kFatal,"AliHLTClustFinderNew::ProcessRow","Digits")
                <<"Timebin out of range "<<(Int_t)data[bin].fTime<<ENDLOG;
              break;
            }
@@ -275,7 +275,7 @@ void AliL3ClustFinderNew::ProcessRow(AliL3DigitRowData *tempPt)
        seqmean = seqaverage/seqcharge;
       else
        {
-         LOG(AliL3Log::kFatal,"AliL3ClustFinderNew::ProcessRow","Data")
+         LOG(AliHLTLog::kFatal,"AliHLTClustFinderNew::ProcessRow","Data")
            <<"Error in data given to the cluster finder"<<ENDLOG;
          seqmean = 1;
          seqcharge = 1;
@@ -368,7 +368,7 @@ void AliL3ClustFinderNew::ProcessRow(AliL3DigitRowData *tempPt)
   WriteClusters(ntotal,clusterlist);
 }
 
-void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
+void AliHLTClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
 {
   //write cluster to output pointer
   Int_t thisrow,thissector;
@@ -386,10 +386,10 @@ void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
       Float_t ftime2=fZErr*fZErr;  //fixed given error
 
       if(fCalcerr) { //calc the errors, otherwice take the fixed error 
-       Int_t patch = AliL3Transform::GetPatch(fCurrentRow);
+       Int_t patch = AliHLTTransform::GetPatch(fCurrentRow);
        UInt_t q2=list[j].fTotalCharge*list[j].fTotalCharge;
        if (!q2) {
-           LOG(AliL3Log::kError,"AliL3ClustFinderNew::WriteClusters","Total charge")
+           LOG(AliHLTLog::kError,"AliHLTClustFinderNew::WriteClusters","Total charge")
              <<"Zero total charge "<<q2<<" on row "<<fCurrentRow<<" "<<fpad<<" "<<ftime<<ENDLOG;
            continue;
 
@@ -397,12 +397,12 @@ void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
        Float_t sy2=list[j].fPad2 * list[j].fTotalCharge - list[j].fPad * list[j].fPad;
        sy2/=q2;
        if(sy2 < 0) {
-           LOG(AliL3Log::kError,"AliL3ClustFinderNew::WriteClusters","Cluster width")
+           LOG(AliHLTLog::kError,"AliHLTClustFinderNew::WriteClusters","Cluster width")
              <<"SigmaY2 negative "<<sy2<<" on row "<<fCurrentRow<<" "<<fpad<<" "<<ftime<<ENDLOG;
            continue;
        } else {
          if(!fRawSP){
-           fpad2 = (sy2 + 1./12)*AliL3Transform::GetPadPitchWidth(patch)*AliL3Transform::GetPadPitchWidth(patch);
+           fpad2 = (sy2 + 1./12)*AliHLTTransform::GetPadPitchWidth(patch)*AliHLTTransform::GetPadPitchWidth(patch);
            if(sy2 != 0){
              fpad2*=0.108; //constants are from offline studies
              if(patch<2)
@@ -413,12 +413,12 @@ void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
        Float_t sz2=list[j].fTime2*list[j].fTotalCharge - list[j].fTime*list[j].fTime;
        sz2/=q2;
        if(sz2 < 0){
-         LOG(AliL3Log::kError,"AliL3ClustFinderNew::WriteClusters","Cluster width")
+         LOG(AliHLTLog::kError,"AliHLTClustFinderNew::WriteClusters","Cluster width")
            <<"SigmaZ2 negative "<<sz2<<" on row "<<fCurrentRow<<" "<<fpad<<" "<<ftime<<ENDLOG;
          continue;
        } else {
          if(!fRawSP){
-           ftime2 = (sz2 + 1./12)*AliL3Transform::GetZWidth()*AliL3Transform::GetZWidth();
+           ftime2 = (sz2 + 1./12)*AliHLTTransform::GetZWidth()*AliHLTTransform::GetZWidth();
            if(sz2 != 0) {
              ftime2 *= 0.169; //constants are from offline studies
              if(patch<2)
@@ -431,15 +431,15 @@ void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
        cout<<"WriteCluster: padrow "<<fCurrentRow<<" pad "<<fpad << " +- "<<fpad2<<" time "<<ftime<<" +- "<<ftime2<<" charge "<<list[j].fTotalCharge<<endl;
       
       if(!fRawSP){
-       AliL3Transform::Slice2Sector(fCurrentSlice,fCurrentRow,thissector,thisrow);
-       AliL3Transform::Raw2Local(xyz,thissector,thisrow,fpad,ftime);
+       AliHLTTransform::Slice2Sector(fCurrentSlice,fCurrentRow,thissector,thisrow);
+       AliHLTTransform::Raw2Local(xyz,thissector,thisrow,fpad,ftime);
        
-       if(xyz[0]==0) LOG(AliL3Log::kError,"AliL3ClustFinder","Cluster Finder")
-         <<AliL3Log::kDec<<"Zero cluster"<<ENDLOG;
+       if(xyz[0]==0) LOG(AliHLTLog::kError,"AliHLTClustFinder","Cluster Finder")
+         <<AliHLTLog::kDec<<"Zero cluster"<<ENDLOG;
        if(fNClusters >= fMaxNClusters)
          {
-           LOG(AliL3Log::kError,"AliL3ClustFinder::WriteClusters","Cluster Finder")
-             <<AliL3Log::kDec<<"Too many clusters "<<fNClusters<<ENDLOG;
+           LOG(AliHLTLog::kError,"AliHLTClustFinder::WriteClusters","Cluster Finder")
+             <<AliHLTLog::kDec<<"Too many clusters "<<fNClusters<<ENDLOG;
            return;
          }  
        
@@ -479,19 +479,19 @@ void AliL3ClustFinderNew::WriteClusters(Int_t nclusters,AliClusterData *list)
 }
 
 #ifdef do_mc
-void AliL3ClustFinderNew::GetTrackID(Int_t pad,Int_t time,Int_t *trackID)
+void AliHLTClustFinderNew::GetTrackID(Int_t pad,Int_t time,Int_t *trackID)
 {
   //get mc id
-  AliL3DigitRowData *rowPt = (AliL3DigitRowData*)fDigitRowData;
+  AliHLTDigitRowData *rowPt = (AliHLTDigitRowData*)fDigitRowData;
   
   trackID[0]=trackID[1]=trackID[2]=-2;
   //cout<<"Looking for pad "<<pad<<" time "<<time<<endl;
   for(Int_t i=fFirstRow; i<=fLastRow; i++){
     if(rowPt->fRow < (UInt_t)fCurrentRow){
-      AliL3MemHandler::UpdateRowPointer(rowPt);
+      AliHLTMemHandler::UpdateRowPointer(rowPt);
       continue;
     }
-    AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+    AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
     for(UInt_t j=0; j<rowPt->fNDigit; j++){
       Int_t cpad = digPt[j].fPad;
       Int_t ctime = digPt[j].fTime;
similarity index 78%
rename from HLT/src/AliL3ClustFinderNew.h
rename to HLT/src/AliHLTClustFinderNew.h
index 7c631897702a43c3b2475fa248f3dad9c3357b52..bbc95827d0c16105aa39a1e9a7c9f6dc9ed75b3a 100644 (file)
@@ -1,12 +1,12 @@
 // @(#) $Id$
 
-#ifndef AliL3_ClustFinderNew
-#define AliL3_ClustFinderNew
+#ifndef AliHLT_ClustFinderNew
+#define AliHLT_ClustFinderNew
 
-class AliL3DigitRowData;
-class AliL3SpacePointData;
+class AliHLTDigitRowData;
+class AliHLTSpacePointData;
 
-class AliL3ClustFinderNew {
+class AliHLTClustFinderNew {
 
  public:
   struct AliClusterData
@@ -25,8 +25,8 @@ class AliL3ClustFinderNew {
   typedef struct AliClusterData AliClusterData; //!
 
  private:
-  AliL3DigitRowData *fDigitRowData; //!
-  AliL3SpacePointData *fSpacePointData; //!
+  AliHLTDigitRowData *fDigitRowData; //!
+  AliHLTSpacePointData *fSpacePointData; //!
   Bool_t fDeconvTime; //deconv in time direction
   Bool_t fDeconvPad;  //deconv in pad direction
   Bool_t fStdout;     //have print out in write clusters
@@ -51,15 +51,15 @@ class AliL3ClustFinderNew {
 #endif
   
  public:
-  AliL3ClustFinderNew();
-  virtual ~AliL3ClustFinderNew();
+  AliHLTClustFinderNew();
+  virtual ~AliHLTClustFinderNew();
   
-  void Read(UInt_t ndigits,AliL3DigitRowData *ptr);
+  void Read(UInt_t ndigits,AliHLTDigitRowData *ptr);
   void InitSlice(Int_t slice,Int_t patch,Int_t firstrow, Int_t lastrow,Int_t maxpoints);
   void InitSlice(Int_t slice,Int_t patch,Int_t maxpoints);
   void ProcessDigits();
-  void ProcessRow(AliL3DigitRowData *tempPt);
-  void SetOutputArray(AliL3SpacePointData *pt);
+  void ProcessRow(AliHLTDigitRowData *tempPt);
+  void SetOutputArray(AliHLTSpacePointData *pt);
   void WriteClusters(Int_t n_clusters,AliClusterData *list);
 
   void SetXYError(Float_t f) {fXYErr=f;}
@@ -72,8 +72,11 @@ class AliL3ClustFinderNew {
   void SetRawSP(Bool_t f=kFALSE) {fRawSP=f;}
   Int_t GetNumberOfClusters() const {return fNClusters;}
   
-  ClassDef(AliL3ClustFinderNew,1) //Fast cluster finder
+  ClassDef(AliHLTClustFinderNew,1) //Fast cluster finder
 };
+
+typedef AliHLTClustFinderNew AliL3ClustFinderNew; // for backward compatibility
+
 #endif
 
 
similarity index 81%
rename from HLT/src/AliL3ConfMapFit.cxx
rename to HLT/src/AliHLTConfMapFit.cxx
index 72ae002ac4372cbe7be05a87ae128daf471fb2d4..36291c908e023f72842d4730213730eb07e57b69 100644 (file)
@@ -3,19 +3,19 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Vertex.h"
-#include "AliL3ConfMapTrack.h"
-#include "AliL3ConfMapPoint.h"
-#include "AliL3Transform.h"
-#include "AliL3ConfMapFit.h"
-
-/** \class AliL3ConfMapFit
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTVertex.h"
+#include "AliHLTConfMapTrack.h"
+#include "AliHLTConfMapPoint.h"
+#include "AliHLTTransform.h"
+#include "AliHLTConfMapFit.h"
+
+/** \class AliHLTConfMapFit
 <pre>
 //_____________________________________________________________
-// AliL3ConfMapFit
+// AliHLTConfMapFit
 //
 // Fit class for conformal mapping tracking
 </pre>
 using namespace std;
 #endif
 
-ClassImp(AliL3ConfMapFit)
+ClassImp(AliHLTConfMapFit)
 
 
-AliL3ConfMapFit::AliL3ConfMapFit(AliL3ConfMapTrack *track,AliL3Vertex *vertex)
+AliHLTConfMapFit::AliHLTConfMapFit(AliHLTConfMapTrack *track,AliHLTVertex *vertex)
 {
   //constructor
   fTrack = track;
   fVertex = vertex;
 }
 
-Int_t AliL3ConfMapFit::FitHelix()
+Int_t AliHLTConfMapFit::FitHelix()
 {
   //fit the helix
   if(FitCircle())
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapFit::FitHelix","TrackFit")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapFit::FitHelix","TrackFit")<<AliHLTLog::kDec<<
        "Problems during circle fit"<<ENDLOG;
       return 1;
     }
   if(FitLine())
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapFit::FitHelix","TrackFit")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapFit::FitHelix","TrackFit")<<AliHLTLog::kDec<<
        "Problems during line fit"<<ENDLOG;
       return 1;
     }
   return 0;
 }
 
-Int_t AliL3ConfMapFit::FitCircle()
+Int_t AliHLTConfMapFit::FitCircle()
 {
   //-----------------------------------------------------------------
   //Fits circle parameters using algorithm
@@ -77,14 +77,14 @@ Int_t AliL3ConfMapFit::FitCircle()
   for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
     {
       co++;
-      AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+      AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)fTrack->GetCurrentHit();
       cHit->SetXYWeight( 1./ (Double_t)(cHit->GetXerr()*cHit->GetXerr() + cHit->GetYerr()*cHit->GetYerr()) );
       wsum      += cHit->GetXYWeight() ;
       xav       += cHit->GetXYWeight() * cHit->GetX() ;
       yav       += cHit->GetXYWeight() * cHit->GetY() ;
     }
   if(co!=num_of_hits) 
-    LOG(AliL3Log::kError,"AliL3ConfMapFit::FitCircle","TrackFit")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kError,"AliHLTConfMapFit::FitCircle","TrackFit")<<AliHLTLog::kDec<<
       "Mismatch of hits. Counter: "<<co<<" nHits: "<<num_of_hits<<ENDLOG;
   if (fTrack->ComesFromMainVertex() == true)
     {    
@@ -105,8 +105,8 @@ Int_t AliL3ConfMapFit::FitCircle()
 
   for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
     { 
-      //AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint *)hits->At(hit_counter);
-      AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+      //AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint *)hits->At(hit_counter);
+      AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)fTrack->GetCurrentHit();
       xi        = cHit->GetX() - xav ;
       yi        = cHit->GetY() - yav ;
       xxav     += xi * xi * cHit->GetXYWeight() ;
@@ -189,8 +189,8 @@ Int_t AliL3ConfMapFit::FitCircle()
   //for (hit_counter=0; hit_counter<num_of_hits; hit_counter++) 
   for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())  
     { 
-      //AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);  
-      AliL3ConfMapPoint* cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+      //AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)hits->At(hit_counter);  
+      AliHLTConfMapPoint* cHit = (AliHLTConfMapPoint*)fTrack->GetCurrentHit();
 
       xold = cHit->GetX() - xav ;
       yold = cHit->GetY() - yav ;
@@ -302,7 +302,7 @@ Int_t AliL3ConfMapFit::FitCircle()
   Double_t h24   = yrrav ;
   Double_t h34   = 1.0   + 2.0*lamda ;
   if ( h11 == 0.0 || h22 == 0.0 ){
-    LOG(AliL3Log::kError,"AliL3ConfMapFit::FitCircle","TrackFit")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kError,"AliHLTConfMapFit::FitCircle","TrackFit")<<AliHLTLog::kDec<<
       "Problems fitting circle"<<ENDLOG;
     return 1 ;
   }
@@ -349,17 +349,17 @@ Int_t AliL3ConfMapFit::FitCircle()
   
   
   //Set the first point on the track to the space point coordinates of the innermost track
-  //This will be updated to lie on the fit later on (AliL3Track::UpdateToFirstPoint).
+  //This will be updated to lie on the fit later on (AliHLTTrack::UpdateToFirstPoint).
   Double_t x0,y0,psi,pt ;
-  AliL3ConfMapPoint *lHit = (AliL3ConfMapPoint*)fTrack->GetLastHit();
+  AliHLTConfMapPoint *lHit = (AliHLTConfMapPoint*)fTrack->GetLastHit();
   x0 = lHit->GetX();
   y0 = lHit->GetY();
   fTrack->SetFirstPoint(x0,y0,0); //Z-value is set in FitLine
 
   psi  = (Double_t)atan2(bcent-y0,acent-x0) ;
-  psi  = psi + q * AliL3Transform::PiHalf();
-  if ( psi < 0 ) psi = psi + AliL3Transform::TwoPi();
-  pt   = (Double_t)(AliL3Transform::GetBFieldValue() * radius ) ;
+  psi  = psi + q * AliHLTTransform::PiHalf();
+  if ( psi < 0 ) psi = psi + AliHLTTransform::TwoPi();
+  pt   = (Double_t)(AliHLTTransform::GetBFieldValue() * radius ) ;
   
   //Update the track parameters with the parameters from this fit:
   fTrack->SetPsi(psi);
@@ -380,7 +380,7 @@ Int_t AliL3ConfMapFit::FitCircle()
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 //    Fit Line in s-z plane
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Int_t AliL3ConfMapFit::FitLine ( )
+Int_t AliHLTConfMapFit::FitLine ( )
 {
   //
   //Initialization 
@@ -394,22 +394,22 @@ Int_t AliL3ConfMapFit::FitLine ( )
   //find sum , sums ,sumz, sumss 
   // 
   Double_t dx, dy ;
-  Double_t radius = (Double_t)(fTrack->GetPt() / AliL3Transform::GetBFieldValue() ) ;
+  Double_t radius = (Double_t)(fTrack->GetPt() / AliHLTTransform::GetBFieldValue() ) ;
 
   //TObjArray *hits = fTrack->GetHits();
   //Int_t num_of_hits = fTrack->GetNumberOfPoints();
 
   if (0)// fTrack->ComesFromMainVertex() == true ) 
     {
-      dx = ((AliL3ConfMapPoint*)fTrack->GetFirstHit())->GetX() - fVertex->GetX();
-      dy = ((AliL3ConfMapPoint*)fTrack->GetFirstHit())->GetY() - fVertex->GetY() ;
+      dx = ((AliHLTConfMapPoint*)fTrack->GetFirstHit())->GetX() - fVertex->GetX();
+      dy = ((AliHLTConfMapPoint*)fTrack->GetFirstHit())->GetY() - fVertex->GetY() ;
     }
   else 
     {
-      dx = ((AliL3ConfMapPoint *)fTrack->GetFirstHit())->GetX() - ((AliL3ConfMapPoint *)fTrack->GetLastHit())->GetX() ;
-      dy = ((AliL3ConfMapPoint *)fTrack->GetFirstHit())->GetY() - ((AliL3ConfMapPoint *)fTrack->GetLastHit())->GetY() ;
-      //dx = ((AliL3ConfMapPoint *)hits->First())->GetX() - ((AliL3ConfMapPoint *)hits->Last())->GetX() ;
-      //dy = ((AliL3ConfMapPoint *)hits->First())->GetY() - ((AliL3ConfMapPoint *)hits->Last())->GetY() ;
+      dx = ((AliHLTConfMapPoint *)fTrack->GetFirstHit())->GetX() - ((AliHLTConfMapPoint *)fTrack->GetLastHit())->GetX() ;
+      dy = ((AliHLTConfMapPoint *)fTrack->GetFirstHit())->GetY() - ((AliHLTConfMapPoint *)fTrack->GetLastHit())->GetY() ;
+      //dx = ((AliHLTConfMapPoint *)hits->First())->GetX() - ((AliHLTConfMapPoint *)hits->Last())->GetX() ;
+      //dy = ((AliHLTConfMapPoint *)hits->First())->GetY() - ((AliHLTConfMapPoint *)hits->Last())->GetY() ;
     }
   
   Double_t localPsi = 0.5F * sqrt ( dx*dx + dy*dy ) / radius ;
@@ -421,10 +421,10 @@ Int_t AliL3ConfMapFit::FitLine ( )
     } 
   else 
     { 
-      total_s = 2.0 * radius * AliL3Transform::Pi() ;
+      total_s = 2.0 * radius * AliHLTTransform::Pi() ;
     } 
   
-  AliL3ConfMapPoint *previousHit = NULL;
+  AliHLTConfMapPoint *previousHit = NULL;
 
   // FtfBaseHit *previousHit = 0  ;
   
@@ -434,8 +434,8 @@ Int_t AliL3ConfMapFit::FitLine ( )
   //  for(hit_counter=0; hit_counter<num_of_hits; hit_counter++)
   for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())  
     {
-      // AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);
-      AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+      // AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)hits->At(hit_counter);
+      AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)fTrack->GetCurrentHit();
       // if ( GetCurrentHit() != GetFirstHit() ) 
       if(cHit != fTrack->GetFirstHit())//  hits->First())
        {
@@ -483,8 +483,8 @@ Int_t AliL3ConfMapFit::FitLine ( )
   //for(hit_counter=0; hit_counter<num_of_hits; hit_counter++)
   for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())  
     {
-      //AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);
-      AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+      //AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)hits->At(hit_counter);
+      AliHLTConfMapPoint *cHit = (AliHLTConfMapPoint*)fTrack->GetCurrentHit();
       r1   = cHit->GetZ() - tanl * cHit->GetS() - z0 ;
       chi2 += (Double_t) ( (Double_t)cHit->GetZWeight() * (r1 * r1) );
     }
diff --git a/HLT/src/AliHLTConfMapFit.h b/HLT/src/AliHLTConfMapFit.h
new file mode 100644 (file)
index 0000000..6cd4707
--- /dev/null
@@ -0,0 +1,28 @@
+// @(#) $Id$
+
+#ifndef ALIL3_ConfMapFit
+#define ALIL3_ConfMapFit
+
+class AliHLTConfMapTrack;
+class AliHLTVertex;
+
+class AliHLTConfMapFit {
+
+ private:
+  AliHLTConfMapTrack *fTrack; //!
+  AliHLTVertex *fVertex; //!
+  
+ public:
+  AliHLTConfMapFit (AliHLTConfMapTrack *track,AliHLTVertex *vertex);
+  virtual ~AliHLTConfMapFit() {};
+
+  Int_t FitHelix();
+  Int_t FitCircle();
+  Int_t FitLine();
+
+  ClassDef(AliHLTConfMapFit,1) //Conformal mapping fit class
+};
+
+typedef AliHLTConfMapFit AliL3ConfMapFit; // for backward compatibility
+
+#endif
similarity index 84%
rename from HLT/src/AliL3ConfMapPoint.cxx
rename to HLT/src/AliHLTConfMapPoint.cxx
index ed94af24381945f5da0f8df05b83e2c61c477c26..e9ca604934d786330a126ead22472c59cce9c51c 100644 (file)
@@ -3,28 +3,28 @@
 // Author: Anders Vestbo <mailto:vestbo$fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3ConfMapPoint.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Vertex.h"
-#include "AliL3ConfMapTrack.h"
+#include "AliHLTLogging.h"
+#include "AliHLTConfMapPoint.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTVertex.h"
+#include "AliHLTConfMapTrack.h"
 
 /**
 <pre>
 //_____________________________________________________________
-// AliL3ConfMapPoint
+// AliHLTConfMapPoint
 //
 // Hit class for conformal mapper
 </pre
 */
 
-ClassImp(AliL3ConfMapPoint)
+ClassImp(AliHLTConfMapPoint)
 
-Bool_t AliL3ConfMapPoint::fgDontMap=kFALSE;
+Bool_t AliHLTConfMapPoint::fgDontMap=kFALSE;
 
-AliL3ConfMapPoint::AliL3ConfMapPoint()
+AliHLTConfMapPoint::AliHLTConfMapPoint()
 {
   //Constructor
   
@@ -49,13 +49,13 @@ AliL3ConfMapPoint::AliL3ConfMapPoint()
   SetMCTrackID(0,0,0);
 }
 
-AliL3ConfMapPoint::~AliL3ConfMapPoint()
+AliHLTConfMapPoint::~AliHLTConfMapPoint()
 {
   // Destructor.
   ;
 }
 
-Bool_t AliL3ConfMapPoint::ReadHits(AliL3SpacePointData* hits )
+Bool_t AliHLTConfMapPoint::ReadHits(AliHLTSpacePointData* hits )
 {
   //read the hits
   SetHitNumber(hits->fID);
@@ -71,7 +71,7 @@ Bool_t AliL3ConfMapPoint::ReadHits(AliL3SpacePointData* hits )
   return kTRUE;
 }
 
-void AliL3ConfMapPoint::Reset()
+void AliHLTConfMapPoint::Reset()
 {
   //Reset this point.
   SetUsage(kFALSE);
@@ -81,7 +81,7 @@ void AliL3ConfMapPoint::Reset()
   fNextTrackHit=0;
 }
 
-void AliL3ConfMapPoint::Setup(AliL3Vertex *vertex)
+void AliHLTConfMapPoint::Setup(AliHLTVertex *vertex)
 {
   //Setup. Sets the vertex, conformal coordinates, 
   //and phi and eta of each hit.
@@ -97,7 +97,7 @@ void AliL3ConfMapPoint::Setup(AliL3Vertex *vertex)
   return;
 }
 
-void AliL3ConfMapPoint::SetIntPoint(Double_t inx, Double_t iny, Double_t inz,
+void AliHLTConfMapPoint::SetIntPoint(Double_t inx, Double_t iny, Double_t inz,
                                    Double_t inxerr, Double_t inyerr, Double_t inzerr)
 {
   // Defines a new interaction point. This point is needed to calculate
@@ -113,7 +113,7 @@ void AliL3ConfMapPoint::SetIntPoint(Double_t inx, Double_t iny, Double_t inz,
   return;
 }
 
-void AliL3ConfMapPoint::SetAllCoord(const AliL3ConfMapPoint *precedinghit)
+void AliHLTConfMapPoint::SetAllCoord(const AliHLTConfMapPoint *precedinghit)
 {
   // Sets the interaction point, the shifted coordinates, and the conformal mapping coordinates.
   // These values are calculated from the interaction point of the given cluster which should be a
@@ -135,7 +135,7 @@ void AliL3ConfMapPoint::SetAllCoord(const AliL3ConfMapPoint *precedinghit)
   return;
 }
 
-void AliL3ConfMapPoint::SetShiftedCoord()
+void AliHLTConfMapPoint::SetShiftedCoord()
 {
   // Sets the coordinates with resepct to the given vertex point
 
@@ -150,7 +150,7 @@ void AliL3ConfMapPoint::SetShiftedCoord()
   return;
 }
 
-void AliL3ConfMapPoint::SetConfCoord()
+void AliHLTConfMapPoint::SetConfCoord()
 {
   // Calculates the conformal coordinates of one cluster.
   // If the option "vertex_constraint" applies the interaction point is
@@ -192,7 +192,7 @@ void AliL3ConfMapPoint::SetConfCoord()
   return;
 }
 
-void AliL3ConfMapPoint::SetAngles()
+void AliHLTConfMapPoint::SetAngles()
 {
   // Calculates the angle phi and the pseudorapidity eta for each cluster.
   /*
@@ -236,10 +236,10 @@ void AliL3ConfMapPoint::SetAngles()
 }
 
 /*
-AliL3ConfMapTrack *AliL3ConfMapPoint::GetTrack(TClonesArray *tracks) const
+AliHLTConfMapTrack *AliHLTConfMapPoint::GetTrack(TClonesArray *tracks) const
 {
   // Returns the pointer to the track to which this hit belongs.
   
-  return (AliL3ConfMapTrack*)tracks->At(this->GetTrackNumber());
+  return (AliHLTConfMapTrack*)tracks->At(this->GetTrackNumber());
 }
 */
similarity index 83%
rename from HLT/src/AliL3ConfMapPoint.h
rename to HLT/src/AliHLTConfMapPoint.h
index 45a477982c2fb37daade3eb15b2c4e37b15ecc78..1639c9e622f51fe7a5a59d46cd3172e517d92137 100644 (file)
@@ -3,13 +3,13 @@
 #ifndef ALIL3ConfMapPointH
 #define ALIL3ConfMapPointH
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3SpacePointData;
-class AliL3ConfMapTrack;
-class AliL3Vertex;
+class AliHLTSpacePointData;
+class AliHLTConfMapTrack;
+class AliHLTVertex;
 
-class AliL3ConfMapPoint {
+class AliHLTConfMapPoint {
 
  private:
 
@@ -63,9 +63,9 @@ class AliL3ConfMapPoint {
   Double_t   fPhi;         // angle phi
   Double_t   fEta;         // pseudorapidity
   
-  AliL3ConfMapPoint *fNextVolumeHit; //!
-  AliL3ConfMapPoint *fNextRowHit;    //!
-  AliL3ConfMapPoint *fNextTrackHit;  //! Linked chain of points in a track
+  AliHLTConfMapPoint *fNextVolumeHit; //!
+  AliHLTConfMapPoint *fNextRowHit;    //!
+  AliHLTConfMapPoint *fNextTrackHit;  //! Linked chain of points in a track
   Short_t fPhiIndex; //phi index
   Short_t fEtaIndex; //eta index
   Double_t fXYChi2; //xy chi
@@ -76,11 +76,11 @@ class AliL3ConfMapPoint {
 
  public:
 
-  AliL3ConfMapPoint();
-  virtual ~AliL3ConfMapPoint();
+  AliHLTConfMapPoint();
+  virtual ~AliHLTConfMapPoint();
   
   void Reset();
-  Bool_t ReadHits(AliL3SpacePointData* hits );
+  Bool_t ReadHits(AliHLTSpacePointData* hits );
   
    // getter
   Double_t GetX() const {return fx;}
@@ -124,9 +124,9 @@ class AliL3ConfMapPoint {
   Int_t GetTrackNumber() const {return fTrackNumber;}
   //Int_t const *GetMCTrackID()     const {return fMCTrackID;}
   
-  AliL3ConfMapPoint* GetNextVolumeHit(){return fNextVolumeHit;}
-  AliL3ConfMapPoint* GetNextRowHit(){return fNextRowHit;}
-  AliL3ConfMapPoint* GetNextTrackHit(){return fNextTrackHit;}
+  AliHLTConfMapPoint* GetNextVolumeHit(){return fNextVolumeHit;}
+  AliHLTConfMapPoint* GetNextRowHit(){return fNextRowHit;}
+  AliHLTConfMapPoint* GetNextTrackHit(){return fNextTrackHit;}
   Short_t GetPhiIndex() const {return fPhiIndex;}
   Short_t GetEtaIndex() const {return fEtaIndex;}
   Double_t GetXYChi2() const {return fXYChi2;}
@@ -134,9 +134,9 @@ class AliL3ConfMapPoint {
   //Int_t fMCTrackID[3]; //MClabel of tracks, may overlap
 
   // setter
-  void SetNextVolumeHit(AliL3ConfMapPoint* p){fNextVolumeHit=p;}
-  void SetNextRowHit(AliL3ConfMapPoint* p){fNextRowHit=p;}
-  void SetNextTrackHit(AliL3ConfMapPoint* p){fNextTrackHit=p;}
+  void SetNextVolumeHit(AliHLTConfMapPoint* p){fNextVolumeHit=p;}
+  void SetNextRowHit(AliHLTConfMapPoint* p){fNextRowHit=p;}
+  void SetNextTrackHit(AliHLTConfMapPoint* p){fNextTrackHit=p;}
 
   void SetPhiIndex(Short_t p){fPhiIndex=p;}
   void SetEtaIndex(Short_t p){fEtaIndex=p;}
@@ -181,17 +181,19 @@ class AliL3ConfMapPoint {
   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 Setup(AliHLTVertex *vertex);// does the usual setup in the right order
   void SetAngles();               // calculate spherical angles and set values
   void SetIntPoint(Double_t inx = 0., Double_t iny = 0.,
                   Double_t inz = 0., Double_t inxerr = 0., 
                   Double_t inyerr = 0., Double_t inzerr = 0.);  
   //-> set interaction point
   void SetShiftedCoord();// set shifted coordinates  
-  void SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
+  void SetAllCoord(const AliHLTConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
   void SetConfCoord();// conformal mapping
 
-  ClassDef(AliL3ConfMapPoint, 1)   //Conformal mapping hit class.
+  ClassDef(AliHLTConfMapPoint, 1)   //Conformal mapping hit class.
 };
 
+typedef AliHLTConfMapPoint AliL3ConfMapPoint; // for backward compatibility
+
 #endif
similarity index 73%
rename from HLT/src/AliL3ConfMapTrack.cxx
rename to HLT/src/AliHLTConfMapTrack.cxx
index 37761d2554b083346b4061e833c3433a09ed59bb..f8504a4e480f95a0ded8ecad96e262023f21adf9 100644 (file)
@@ -3,21 +3,21 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Vertex.h"
-#include "AliL3ConfMapPoint.h"
-#include "AliL3ConfMapFit.h"
-#include "AliL3ConfMapTrack.h"
-#include "AliL3Transform.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTVertex.h"
+#include "AliHLTConfMapPoint.h"
+#include "AliHLTConfMapFit.h"
+#include "AliHLTConfMapTrack.h"
+#include "AliHLTTransform.h"
 #include "AliLevel3.h"
 
-/** \class AliL3ConfMapTrack
+/** \class AliHLTConfMapTrack
 <pre>
 //_____________________________________________________________
-// AliL3ConfMapTrack
+// AliHLTConfMapTrack
 //
 // Track class for conformal mapper
 </pre>
 using namespace std;
 #endif
 
-ClassImp(AliL3ConfMapTrack)
+ClassImp(AliHLTConfMapTrack)
 
 
-AliL3ConfMapTrack::AliL3ConfMapTrack()
+AliHLTConfMapTrack::AliHLTConfMapTrack()
 {
   //Constructor
   fChiSq[0] = 0.;
   fChiSq[1] = 0.;
 }
 
-AliL3ConfMapTrack::~AliL3ConfMapTrack()
+AliHLTConfMapTrack::~AliHLTConfMapTrack()
 {
   //deconstructor
 }
 
-void AliL3ConfMapTrack::DeleteCandidate()
+void AliHLTConfMapTrack::DeleteCandidate()
 {
   //Deletes this track by resetting all its parameters. Does not delete
   //the object itself.
 
-  AliL3ConfMapPoint *curHit = (AliL3ConfMapPoint*)fFirstHit;
-  AliL3ConfMapPoint *nextHit;
+  AliHLTConfMapPoint *curHit = (AliHLTConfMapPoint*)fFirstHit;
+  AliHLTConfMapPoint *nextHit;
   
   while(curHit != 0)
     {
-      nextHit = (AliL3ConfMapPoint*)curHit->GetNextTrackHit();
+      nextHit = (AliHLTConfMapPoint*)curHit->GetNextTrackHit();
       curHit->SetNextTrackHit(0);
       curHit = nextHit;
     }
@@ -77,18 +77,18 @@ void AliL3ConfMapTrack::DeleteCandidate()
 }
 
 
-void AliL3ConfMapTrack::SetProperties(Bool_t usage)
+void AliHLTConfMapTrack::SetProperties(Bool_t usage)
 {
   //Set the hits to this track to 'usage'
   for(StartLoop(); LoopDone(); GetNextHit())
     {
-      AliL3ConfMapPoint *p = (AliL3ConfMapPoint*)fCurrentHit;
+      AliHLTConfMapPoint *p = (AliHLTConfMapPoint*)fCurrentHit;
       p->SetUsage(usage);
     }
   return;
 }
 
-void AliL3ConfMapTrack::Reset()
+void AliHLTConfMapTrack::Reset()
 {
   //Resets the fit parameters of this track.
 
@@ -111,7 +111,7 @@ void AliL3ConfMapTrack::Reset()
   SetNHits(0);
 }
 
-void AliL3ConfMapTrack::UpdateParam(AliL3ConfMapPoint *thisHit)
+void AliHLTConfMapTrack::UpdateParam(AliHLTConfMapPoint *thisHit)
 {
   //Function to update fit parameters of track
   //Also, it updates the hit pointers.
@@ -129,7 +129,7 @@ void AliL3ConfMapTrack::UpdateParam(AliL3ConfMapPoint *thisHit)
   if(GetNHits()==1)  
     fFirstHit = thisHit;
   else
-    ((AliL3ConfMapPoint*)fLastHit)->SetNextTrackHit(thisHit);
+    ((AliHLTConfMapPoint*)fLastHit)->SetNextTrackHit(thisHit);
   fLastHit = thisHit;
 
   
@@ -162,7 +162,7 @@ void AliL3ConfMapTrack::UpdateParam(AliL3ConfMapPoint *thisHit)
 }
 
 
-void AliL3ConfMapTrack::Fill(AliL3Vertex *vertex,Double_t max_Dca)
+void AliHLTConfMapTrack::Fill(AliHLTVertex *vertex,Double_t max_Dca)
 {
   //Fill track variables with or without fit.
   
@@ -170,18 +170,18 @@ void AliL3ConfMapTrack::Fill(AliL3Vertex *vertex,Double_t max_Dca)
   Double_t radius = sqrt(fa2Xy*fa2Xy+1)/(2*fabs(fa1Xy));
   SetRadius(radius);
 
-  //fPt = (Double_t)(AliL3Transform::GetBFieldValue() * fRadius);
-  Double_t pt = (Double_t)(AliL3Transform::GetBFieldValue() * GetRadius());
+  //fPt = (Double_t)(AliHLTTransform::GetBFieldValue() * fRadius);
+  Double_t pt = (Double_t)(AliHLTTransform::GetBFieldValue() * GetRadius());
   SetPt(pt);
 
   if(GetPt() > max_Dca) //go for fit of helix in real space
     {
-      AliL3ConfMapFit *fit = new AliL3ConfMapFit(this,vertex);
+      AliHLTConfMapFit *fit = new AliHLTConfMapFit(this,vertex);
       ComesFromMainVertex(AliLevel3::DoVertexFit());
       fit->FitHelix();
       
-      //AliL3ConfMapPoint *lHit = (AliL3ConfMapPoint*)fLastHit;
-      AliL3ConfMapPoint *fHit = (AliL3ConfMapPoint*)fFirstHit;
+      //AliHLTConfMapPoint *lHit = (AliHLTConfMapPoint*)fLastHit;
+      AliHLTConfMapPoint *fHit = (AliHLTConfMapPoint*)fFirstHit;
       SetLastPoint(fHit->GetX(),fHit->GetY(),fHit->GetZ());
       
       UpdateToFirstPoint();
@@ -189,16 +189,16 @@ void AliL3ConfMapTrack::Fill(AliL3Vertex *vertex,Double_t max_Dca)
       delete fit;
     }
   else if(GetPt() == 0)
-    LOG(AliL3Log::kError,"AliL3ConfMapTrack::Fill","Tracks")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kError,"AliHLTConfMapTrack::Fill","Tracks")<<AliHLTLog::kDec<<
       "Found track with Pt=0!!!"<<ENDLOG;
   else
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapTrack::Fill","Tracks")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapTrack::Fill","Tracks")<<AliHLTLog::kDec<<
        "Track with pt<max_Dca :"<<GetPt()<<ENDLOG;
     }
 }
 
-Int_t AliL3ConfMapTrack::GetMCLabel()
+Int_t AliHLTConfMapTrack::GetMCLabel()
 {
   //For evaluation study.
   //Returns the MCtrackID of the belonging clusters.
@@ -213,7 +213,7 @@ Int_t AliL3ConfMapTrack::GetMCLabel()
   
   Int_t lab=123456789;
   for (i=0; i<num_of_clusters; i++) {
-    AliL3ConfMapPoint *c=(AliL3ConfMapPoint*)fPoints->UncheckedAt(i);
+    AliHLTConfMapPoint *c=(AliHLTConfMapPoint*)fPoints->UncheckedAt(i);
     lab=fabs(c->fMCTrackID[0]);
     Int_t j;
     for (j=0; j<num_of_clusters; j++)
@@ -229,7 +229,7 @@ Int_t AliL3ConfMapTrack::GetMCLabel()
   delete[] s;
   
   for (i=0; i<num_of_clusters; i++) {
-    AliL3ConfMapPoint *c=(AliL3ConfMapPoint*)fPoints->UncheckedAt(i);
+    AliHLTConfMapPoint *c=(AliHLTConfMapPoint*)fPoints->UncheckedAt(i);
     if (fabs(c->fMCTrackID[1]) == lab ||
        fabs(c->fMCTrackID[2]) == lab ) max++;
   }
@@ -245,7 +245,7 @@ Int_t AliL3ConfMapTrack::GetMCLabel()
   
   max=0;
   for (i=1; i<=tail; i++) {
-    AliL3ConfMapPoint *c = (AliL3ConfMapPoint*)fPoints->UncheckedAt(num_of_clusters-i);
+    AliHLTConfMapPoint *c = (AliHLTConfMapPoint*)fPoints->UncheckedAt(num_of_clusters-i);
     if (lab == fabs(c->fMCTrackID[0]) ||
        lab == fabs(c->fMCTrackID[1]) ||
        lab == fabs(c->fMCTrackID[2])) max++;
similarity index 68%
rename from HLT/src/AliL3ConfMapTrack.h
rename to HLT/src/AliHLTConfMapTrack.h
index 199f55747188868d9145295c97b86b0ba5985f23..dc67a581a55bebaf0df36b77673aa528a000339b 100644 (file)
@@ -5,26 +5,26 @@
 
 #include <string.h>
 
-#include "AliL3Track.h"
+#include "AliHLTTrack.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3ConfMapPoint.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTConfMapPoint.h"
 
-class AliL3Vertex;
+class AliHLTVertex;
 
-class AliL3ConfMapTrack :public AliL3Track {
+class AliHLTConfMapTrack :public AliHLTTrack {
 
  public:
   
-  AliL3ConfMapTrack();
-  virtual ~AliL3ConfMapTrack();
-  void Fill(AliL3Vertex *vertex,Double_t max_Dca);
+  AliHLTConfMapTrack();
+  virtual ~AliHLTConfMapTrack();
+  void Fill(AliHLTVertex *vertex,Double_t max_Dca);
   void Reset();
-  void UpdateParam(AliL3ConfMapPoint *hit);
+  void UpdateParam(AliHLTConfMapPoint *hit);
   void DeleteCandidate();
 
   void StartLoop() {fCurrentHit = fFirstHit;}
-  void GetNextHit() {fCurrentHit = ((AliL3ConfMapPoint*)fCurrentHit)->GetNextTrackHit();}
+  void GetNextHit() {fCurrentHit = ((AliHLTConfMapPoint*)fCurrentHit)->GetNextTrackHit();}
   Int_t LoopDone() const {return fCurrentHit != 0;}
 
   // setter   
@@ -57,16 +57,16 @@ class AliL3ConfMapTrack :public AliL3Track {
   Double_t GetA1Sz() const {return fa1Sz;} 
   Double_t GetA2Sz() const {return fa2Sz;}  
 
-  AliL3ConfMapPoint* GetFirstHit()   const {return fFirstHit;}
-  AliL3ConfMapPoint* GetLastHit()    const {return fLastHit;}
-  AliL3ConfMapPoint* GetCurrentHit() const {return fCurrentHit;}
+  AliHLTConfMapPoint* GetFirstHit()   const {return fFirstHit;}
+  AliHLTConfMapPoint* GetLastHit()    const {return fLastHit;}
+  AliHLTConfMapPoint* GetCurrentHit() const {return fCurrentHit;}
   Int_t GetMCLabel();
 
  protected:
 
-  AliL3ConfMapPoint *fCurrentHit;  //!
-  AliL3ConfMapPoint *fLastHit;  //!
-  AliL3ConfMapPoint *fFirstHit;  //!
+  AliHLTConfMapPoint *fCurrentHit;  //!
+  AliHLTConfMapPoint *fLastHit;  //!
+  AliHLTConfMapPoint *fFirstHit;  //!
 
 
   Double_t fChiSq[2]; //chi squared
@@ -86,8 +86,10 @@ class AliL3ConfMapTrack :public AliL3Track {
   Double_t    fddXy, fa1Xy, fa2Xy ;    /*fit par in xy */
   Double_t    fddSz, fa1Sz, fa2Sz ;    /*fit par in sz */
   
-  ClassDef(AliL3ConfMapTrack,1) //Conformal mapping track class
+  ClassDef(AliHLTConfMapTrack,1) //Conformal mapping track class
 };
+
+typedef AliHLTConfMapTrack AliL3ConfMapTrack; // for backward compatibility
     
 #endif
     
similarity index 73%
rename from HLT/src/AliL3ConfMapper.cxx
rename to HLT/src/AliHLTConfMapper.cxx
index c3c6dd3c6aec481e8bb5186120cdcbac713e3f02..9369c7f4c0853b776f47b0d539f0ee20d09dfd12 100644 (file)
@@ -1,9 +1,9 @@
 // @(#) $Id$
 
-/** \class AliL3ConfMapper
+/** \class AliHLTConfMapper
 <pre>
 //_____________________________________________________________
-// AliL3ConfMapper
+// AliHLTConfMapper
 //
 // Conformal mapping base class
 //
 
 #include <sys/time.h>
  
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Logging.h" 
-#include "AliL3Vertex.h"
-#include "AliL3ConfMapTrack.h"
-#include "AliL3ConfMapPoint.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Transform.h"
-#include "AliL3ConfMapper.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTLogging.h" 
+#include "AliHLTVertex.h"
+#include "AliHLTConfMapTrack.h"
+#include "AliHLTConfMapPoint.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTransform.h"
+#include "AliHLTConfMapper.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3ConfMapper)
+ClassImp(AliHLTConfMapper)
 
-AliL3ConfMapper::AliL3ConfMapper()
+AliHLTConfMapper::AliHLTConfMapper()
 {
   //Default constructor
   fVertex = NULL;
@@ -46,7 +46,7 @@ AliL3ConfMapper::AliL3ConfMapper()
 }
 
 
-AliL3ConfMapper::~AliL3ConfMapper()
+AliHLTConfMapper::~AliHLTConfMapper()
 {
   // Destructor.
   if(fVolume) {
@@ -63,14 +63,14 @@ AliL3ConfMapper::~AliL3ConfMapper()
   }
 }
  
-void AliL3ConfMapper::InitVolumes()
+void AliHLTConfMapper::InitVolumes()
 {
   //Data organization.
   //Allocate volumes, set conformal coordinates and pointers.
   
   //Should be done after setting the track parameters
   
-  fNumRowSegmentPlusOne = AliL3Transform::GetNRows();//NumRows[0]; //Maximum 32.
+  fNumRowSegmentPlusOne = AliHLTTransform::GetNRows();//NumRows[0]; //Maximum 32.
   fNumPhiSegmentPlusOne = fNumPhiSegment+1;
   fNumEtaSegmentPlusOne = fNumEtaSegment+1;
   fNumPhiEtaSegmentPlusOne = fNumPhiSegmentPlusOne*fNumEtaSegmentPlusOne;
@@ -80,16 +80,16 @@ void AliL3ConfMapper::InitVolumes()
   if(fVolume) delete [] fVolume;
   if(fRow) delete [] fRow;
   
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::InitVolumes","Memory")<<AliL3Log::kDec<<
-    "Allocating "<<fBounds*sizeof(AliL3ConfMapContainer)<<" Bytes to fVolume"<<ENDLOG;
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::InitVolumes","Memory")<<AliL3Log::kDec<<
-    "Allocating "<<fNumRowSegmentPlusOne*sizeof(AliL3ConfMapContainer)<<" Bytes to fRow"<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::InitVolumes","Memory")<<AliHLTLog::kDec<<
+    "Allocating "<<fBounds*sizeof(AliHLTConfMapContainer)<<" Bytes to fVolume"<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::InitVolumes","Memory")<<AliHLTLog::kDec<<
+    "Allocating "<<fNumRowSegmentPlusOne*sizeof(AliHLTConfMapContainer)<<" Bytes to fRow"<<ENDLOG;
   
-  fVolume = new AliL3ConfMapContainer[fBounds];
-  fRow = new AliL3ConfMapContainer[fNumRowSegmentPlusOne];
+  fVolume = new AliHLTConfMapContainer[fBounds];
+  fRow = new AliHLTConfMapContainer[fNumRowSegmentPlusOne];
   
-  memset(fVolume,0,fBounds*sizeof(AliL3ConfMapContainer));
-  memset(fRow,0,fNumRowSegmentPlusOne*sizeof(AliL3ConfMapContainer));
+  memset(fVolume,0,fBounds*sizeof(AliHLTConfMapContainer));
+  memset(fRow,0,fNumRowSegmentPlusOne*sizeof(AliHLTConfMapContainer));
   
   Int_t maxnumoftracks = 2000;
   Int_t maxnumofhits = 120000;
@@ -99,11 +99,11 @@ void AliL3ConfMapper::InitVolumes()
   if(fTrack)
     delete fTrack;
     
-  fHit = new AliL3ConfMapPoint[maxnumofhits];
-  fTrack = new AliL3TrackArray("AliL3ConfMapTrack",maxnumoftracks);
+  fHit = new AliHLTConfMapPoint[maxnumofhits];
+  fTrack = new AliHLTTrackArray("AliHLTConfMapTrack",maxnumoftracks);
 }
 
-void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
+void AliHLTConfMapper::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.
@@ -121,7 +121,7 @@ void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
   else //complete sector
     {
       fRowMin = 0;
-      fRowMax = AliL3Transform::GetNRows() - 1;
+      fRowMax = AliHLTTransform::GetNRows() - 1;
     }
   if(etarange)
     {
@@ -135,8 +135,8 @@ void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
     }
   
   //Set the angles to sector 2:
-  fPhiMin = -10*AliL3Transform::ToRad();//fParam->GetAngle(sector) - 10/todeg;
-  fPhiMax =  10*AliL3Transform::ToRad();//fParam->GetAngle(sector) + 10/todeg;
+  fPhiMin = -10*AliHLTTransform::ToRad();//fParam->GetAngle(sector) - 10/todeg;
+  fPhiMax =  10*AliHLTTransform::ToRad();//fParam->GetAngle(sector) + 10/todeg;
 
   fNTracks=0;
   fMainVertexTracks = 0;
@@ -145,13 +145,13 @@ void AliL3ConfMapper::InitSector(Int_t sector,Int_t *rowrange,Float_t *etarange)
   fPhiHitsOutOfRange=0;
   
   fNumRowSegment = fRowMax - fRowMin; //number of rows to be considered by tracker
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::InitSector","B-field")
-    <<"Tracker initializing with a magnetic field of "<<AliL3Transform::GetBField()<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::InitSector","B-field")
+    <<"Tracker initializing with a magnetic field of "<<AliHLTTransform::GetBField()<<ENDLOG;
   
   fTrack->Reset();
 }
 
-Bool_t AliL3ConfMapper::ReadHits(UInt_t count, AliL3SpacePointData* hits )
+Bool_t AliHLTConfMapper::ReadHits(UInt_t count, AliHLTSpacePointData* hits )
 {
   //read hits
   Int_t nhit=(Int_t)count; 
@@ -161,13 +161,13 @@ Bool_t AliL3ConfMapper::ReadHits(UInt_t count, AliL3SpacePointData* hits )
       fHit[i].ReadHits(&(hits[i]));
     }
   fClustersUnused += nhit;
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::ReadHits","#hits")
-    <<AliL3Log::kDec<<"hit_counter: "<<nhit<<" count: "<<count<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::ReadHits","#hits")
+    <<AliHLTLog::kDec<<"hit_counter: "<<nhit<<" count: "<<count<<ENDLOG;
   
   return true;
 }
 
-void AliL3ConfMapper::SetPointers()
+void AliHLTConfMapper::SetPointers()
 {
   //Check if there are not enough clusters to make a track in this sector
   //Can happen in pp events.
@@ -176,8 +176,8 @@ void AliL3ConfMapper::SetPointers()
     return;
   
   //Reset detector volumes
-  memset(fVolume,0,fBounds*sizeof(AliL3ConfMapContainer));
-  memset(fRow,0,fNumRowSegmentPlusOne*sizeof(AliL3ConfMapContainer));
+  memset(fVolume,0,fBounds*sizeof(AliHLTConfMapContainer));
+  memset(fRow,0,fNumRowSegmentPlusOne*sizeof(AliHLTConfMapContainer));
   
   Float_t phiSlice = (fPhiMax-fPhiMin)/fNumPhiSegment;
   Float_t etaSlice = (fEtaMax-fEtaMin)/fNumEtaSegment;
@@ -186,8 +186,8 @@ void AliL3ConfMapper::SetPointers()
   Int_t localcounter=0;
   for(Int_t j=0; j<fClustersUnused; j++)
     {
-      //AliL3ConfMapPoint *thisHit = (AliL3ConfMapPoint*)fHit->At(j);
-      AliL3ConfMapPoint *thisHit = &(fHit[j]);
+      //AliHLTConfMapPoint *thisHit = (AliHLTConfMapPoint*)fHit->At(j);
+      AliHLTConfMapPoint *thisHit = &(fHit[j]);
 
       thisHit->Setup(fVertex);
       
@@ -221,7 +221,7 @@ void AliL3ConfMapper::SetPointers()
       if(fVolume[volumeIndex].first == NULL)
        fVolume[volumeIndex].first = (void *)thisHit;
       else
-       ((AliL3ConfMapPoint *)fVolume[volumeIndex].last)->SetNextVolumeHit(thisHit);
+       ((AliHLTConfMapPoint *)fVolume[volumeIndex].last)->SetNextVolumeHit(thisHit);
       fVolume[volumeIndex].last = (void *)thisHit;
       
       
@@ -229,28 +229,28 @@ void AliL3ConfMapper::SetPointers()
       if(fRow[(localrow-fRowMin)].first == NULL)
        fRow[(localrow-fRowMin)].first = (void *)thisHit;
       else
-       ((AliL3ConfMapPoint *)(fRow[(localrow-fRowMin)].last))->SetNextRowHit(thisHit);
+       ((AliHLTConfMapPoint *)(fRow[(localrow-fRowMin)].last))->SetNextRowHit(thisHit);
        fRow[(localrow-fRowMin)].last = (void *)thisHit;
     }
   
   if(fClustersUnused>0 && localcounter==0)
-    LOG(AliL3Log::kError,"AliL3ConfMapper::SetPointers","Parameters")
-      <<AliL3Log::kDec<<"No points passed to track finder, hits out of range: "
+    LOG(AliHLTLog::kError,"AliHLTConfMapper::SetPointers","Parameters")
+      <<AliHLTLog::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")
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::SetPointers","Setup")
     <<"Setup finished, hits out of range: "<<fEtaHitsOutOfRange+fPhiHitsOutOfRange
     <<" hits accepted "<<hits_accepted<<ENDLOG;
 }
 
-void AliL3ConfMapper::MainVertexTracking_a()
+void AliHLTConfMapper::MainVertexTracking_a()
 {
   //Tracking with vertex constraint.
 
   if(!fParamSet[(Int_t)kTRUE])
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapper::MainVertexTracking","Parameters")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapper::MainVertexTracking","Parameters")<<AliHLTLog::kDec<<
        "Tracking parameters not set!"<<ENDLOG;
       return;
     }
@@ -262,18 +262,18 @@ void AliL3ConfMapper::MainVertexTracking_a()
   SetVertexConstraint(true);
   cpuTime = CpuTime() - initCpuTime;
   if(fBench)
-    LOG(AliL3Log::kInformational,"AliL3ConfMapper::MainVertexTracking_a","Timing")
-      <<AliL3Log::kDec<<"Setup finished in "<<cpuTime*1000<<" ms"<<ENDLOG;
+    LOG(AliHLTLog::kInformational,"AliHLTConfMapper::MainVertexTracking_a","Timing")
+      <<AliHLTLog::kDec<<"Setup finished in "<<cpuTime*1000<<" ms"<<ENDLOG;
   
 }
 
-void AliL3ConfMapper::MainVertexTracking_b()
+void AliHLTConfMapper::MainVertexTracking_b()
 {
   //Tracking with vertex constraint.
 
   if(!fParamSet[(Int_t)kTRUE])
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapper::MainVertexTracking","Parameters")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapper::MainVertexTracking","Parameters")<<AliHLTLog::kDec<<
        "Tracking parameters not set!"<<ENDLOG;
       return;
     }
@@ -284,17 +284,17 @@ void AliL3ConfMapper::MainVertexTracking_b()
  
   cpuTime = CpuTime() - initCpuTime;
   if(fBench)
-    LOG(AliL3Log::kInformational,"AliL3ConfMapper::MainVertexTracking_b","Timing")
-      <<AliL3Log::kDec<<"Main Tracking finished in "<<cpuTime*1000<<" ms"<<ENDLOG;
+    LOG(AliHLTLog::kInformational,"AliHLTConfMapper::MainVertexTracking_b","Timing")
+      <<AliHLTLog::kDec<<"Main Tracking finished in "<<cpuTime*1000<<" ms"<<ENDLOG;
 }
 
-void AliL3ConfMapper::MainVertexTracking()
+void AliHLTConfMapper::MainVertexTracking()
 {
   //Tracking with vertex constraint.
 
   if(!fParamSet[(Int_t)kTRUE])
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapper::MainVertexTracking","Parameters")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapper::MainVertexTracking","Parameters")<<AliHLTLog::kDec<<
        "Tracking parameters not set!"<<ENDLOG;
       return;
     }
@@ -309,13 +309,13 @@ void AliL3ConfMapper::MainVertexTracking()
 
   cpuTime = CpuTime() - initCpuTime;
   if(fBench)
-    LOG(AliL3Log::kInformational,"AliL3ConfMapper::MainVertexTracking","Timing")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kInformational,"AliHLTConfMapper::MainVertexTracking","Timing")<<AliHLTLog::kDec<<
       "Tracking finished in "<<cpuTime*1000<<" ms"<<ENDLOG;
   
   return;
 }
 
-void AliL3ConfMapper::NonVertexTracking()
+void AliHLTConfMapper::NonVertexTracking()
 {
   //Tracking with no vertex constraint. This should be called after doing MainVertexTracking,
   //in order to do tracking on the remaining clusters.
@@ -324,19 +324,19 @@ void AliL3ConfMapper::NonVertexTracking()
   
   if(!fParamSet[(Int_t)kFALSE])
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapper::NonVertexTracking","Parameters")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapper::NonVertexTracking","Parameters")<<AliHLTLog::kDec<<
        "Tracking parameters not set!"<<ENDLOG;
       return;
     }
   
   SetVertexConstraint(false);
   ClusterLoop();
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::NonVertexTracking","ntracks")<<AliL3Log::kDec<<
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::NonVertexTracking","ntracks")<<AliHLTLog::kDec<<
     "Number of nonvertex tracks found: "<<(fNTracks-fMainVertexTracks)<<ENDLOG;
   return;
 }
 
-void AliL3ConfMapper::MainVertexSettings(Int_t trackletlength, Int_t tracklength,
+void AliHLTConfMapper::MainVertexSettings(Int_t trackletlength, Int_t tracklength,
                                         Int_t rowscopetracklet, Int_t rowscopetrack,
                                         Double_t maxphi,Double_t maxeta)
 {
@@ -355,7 +355,7 @@ void AliL3ConfMapper::MainVertexSettings(Int_t trackletlength, Int_t tracklength
   SetParamDone(kTRUE);
 }
 
-void AliL3ConfMapper::NonVertexSettings(Int_t trackletlength, Int_t tracklength,
+void AliHLTConfMapper::NonVertexSettings(Int_t trackletlength, Int_t tracklength,
                                        Int_t rowscopetracklet, Int_t rowscopetrack)
 {
   //set parameters for non-vertex tracking
@@ -366,7 +366,7 @@ void AliL3ConfMapper::NonVertexSettings(Int_t trackletlength, Int_t tracklength,
   SetParamDone(kFALSE);
 }
 
-void AliL3ConfMapper::SetTrackCuts(Double_t hitChi2Cut, Double_t goodHitChi2, Double_t trackChi2Cut,Int_t maxdist,Bool_t vertexconstraint)
+void AliHLTConfMapper::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
@@ -380,7 +380,7 @@ void AliL3ConfMapper::SetTrackCuts(Double_t hitChi2Cut, Double_t goodHitChi2, Do
   SetMaxDist(maxdist,vertexconstraint);
 }
 
-void AliL3ConfMapper::SetTrackletCuts(Double_t maxangle,Double_t goodDist, Bool_t vc)
+void AliHLTConfMapper::SetTrackletCuts(Double_t maxangle,Double_t goodDist, Bool_t vc)
 {
   //Sets cuts of tracklets. Right now this is only:
   //maxangle:  Maximum angle when forming segments (if trackletlength > 2)
@@ -389,7 +389,7 @@ void AliL3ConfMapper::SetTrackletCuts(Double_t maxangle,Double_t goodDist, Bool_
   SetMaxAngleTracklet(maxangle, vc);
 }
 
-void AliL3ConfMapper::ClusterLoop()
+void AliHLTConfMapper::ClusterLoop()
 {
   //Loop over hits, starting at outermost padrow, and trying to build segments.
   
@@ -399,17 +399,17 @@ void AliL3ConfMapper::ClusterLoop()
     return;
   
   Int_t rowsegm,lastrow = fRowMin + fMinPoints[fVertexConstraint];
-  AliL3ConfMapPoint *hit;
+  AliHLTConfMapPoint *hit;
   
   //Loop over rows, and try to create tracks from the hits.
   //Starts at the outermost row, and loops as long as a track can be build, due to length.
   
   for(rowsegm = fRowMax; rowsegm >= lastrow; rowsegm--)
     {
-      if(fRow[(rowsegm-fRowMin)].first && ((AliL3ConfMapPoint*)fRow[(rowsegm-fRowMin)].first)->GetPadRow() < fRowMin + 1)
+      if(fRow[(rowsegm-fRowMin)].first && ((AliHLTConfMapPoint*)fRow[(rowsegm-fRowMin)].first)->GetPadRow() < fRowMin + 1)
        break;
 
-      for(hit = (AliL3ConfMapPoint*)fRow[(rowsegm-fRowMin)].first; hit!=0; hit=hit->GetNextRowHit())
+      for(hit = (AliHLTConfMapPoint*)fRow[(rowsegm-fRowMin)].first; hit!=0; hit=hit->GetNextRowHit())
        {
          if(hit->GetUsage() == true)
            continue;
@@ -422,18 +422,18 @@ void AliL3ConfMapper::ClusterLoop()
 }
 
 
-void AliL3ConfMapper::CreateTrack(AliL3ConfMapPoint *hit)
+void AliHLTConfMapper::CreateTrack(AliHLTConfMapPoint *hit)
 {
   //Tries to create a track from the initial hit given by ClusterLoop()
 
-  AliL3ConfMapPoint *closesthit = NULL;
-  AliL3ConfMapTrack *track = NULL;
+  AliHLTConfMapPoint *closesthit = NULL;
+  AliHLTConfMapTrack *track = NULL;
   
   Int_t point;
   Int_t tracks = fNTracks;
   fNTracks++;
 
-  track = (AliL3ConfMapTrack*)fTrack->NextTrack();
+  track = (AliHLTConfMapTrack*)fTrack->NextTrack();
 
   //reset hit parameters:
   track->Reset();
@@ -459,8 +459,8 @@ void AliL3ConfMapper::CreateTrack(AliL3ConfMapPoint *hit)
        {//closest hit exist
          
          //   Calculate track length in sz plane
-         dx = ((AliL3ConfMapPoint*)closesthit)->GetX() - ((AliL3ConfMapPoint*)hit)->GetX();
-         dy = ((AliL3ConfMapPoint*)closesthit)->GetY() - ((AliL3ConfMapPoint*)hit)->GetY();
+         dx = ((AliHLTConfMapPoint*)closesthit)->GetX() - ((AliHLTConfMapPoint*)hit)->GetX();
+         dy = ((AliHLTConfMapPoint*)closesthit)->GetY() - ((AliHLTConfMapPoint*)hit)->GetY();
          //track->fLength += (Double_t)sqrt ( dx * dx + dy * dy ) ;
          Double_t length = track->GetLength()+(Double_t)sqrt ( dx * dx + dy * dy );
          track->SetLength(length);
@@ -509,7 +509,7 @@ void AliL3ConfMapper::CreateTrack(AliL3ConfMapPoint *hit)
          for(point = fTrackletLength[fVertexConstraint]; point <= fNumRowSegment; point++)
            {
              track->SetChiSq1(fHitChi2Cut[fVertexConstraint]);
-             closesthit = GetNextNeighbor((AliL3ConfMapPoint*)track->GetLastHit(),track);
+             closesthit = GetNextNeighbor((AliHLTConfMapPoint*)track->GetLastHit(),track);
              
              if(closesthit)
                {
@@ -574,16 +574,16 @@ void AliL3ConfMapper::CreateTrack(AliL3ConfMapPoint *hit)
   return;
 }
 
-AliL3ConfMapPoint *AliL3ConfMapper::GetNextNeighbor(AliL3ConfMapPoint *starthit,
-                                         AliL3ConfMapTrack *track)
+AliHLTConfMapPoint *AliHLTConfMapper::GetNextNeighbor(AliHLTConfMapPoint *starthit,
+                                         AliHLTConfMapTrack *track)
 {
   //When forming segments: Finds closest hit to input hit
   //When forming tracks: Find closest hit to track fit.
   
   Double_t dist,closestdist = fMaxDist[fVertexConstraint];
   
-  AliL3ConfMapPoint *hit = NULL;
-  AliL3ConfMapPoint *closesthit = NULL;
+  AliHLTConfMapPoint *hit = NULL;
+  AliHLTConfMapPoint *closesthit = NULL;
     
   Int_t subrowsegm;
   Int_t subphisegm;
@@ -644,11 +644,11 @@ AliL3ConfMapPoint *AliL3ConfMapper::GetNextNeighbor(AliL3ConfMapPoint *starthit,
              
              if(volumeIndex<0)
                {//debugging
-                 LOG(AliL3Log::kError,"AliL3ConfMapper::GetNextNeighbor","Memory")<<AliL3Log::kDec<<
+                 LOG(AliHLTLog::kError,"AliHLTConfMapper::GetNextNeighbor","Memory")<<AliHLTLog::kDec<<
                    "VolumeIndex error "<<volumeIndex<<ENDLOG;
                }
              
-             for(hit = (AliL3ConfMapPoint*)fVolume[volumeIndex].first;
+             for(hit = (AliHLTConfMapPoint*)fVolume[volumeIndex].first;
                  hit!=0; hit = hit->GetNextVolumeHit())
                {
                  
@@ -715,7 +715,7 @@ AliL3ConfMapPoint *AliL3ConfMapper::GetNextNeighbor(AliL3ConfMapPoint *starthit,
     return 0;
 }
 
-Int_t AliL3ConfMapper::EvaluateHit(AliL3ConfMapPoint *starthit,AliL3ConfMapPoint *hit,AliL3ConfMapTrack *track) 
+Int_t AliHLTConfMapper::EvaluateHit(AliHLTConfMapPoint *starthit,AliHLTConfMapPoint *hit,AliHLTConfMapTrack *track) 
 {
   //Check if space point gives a fit with acceptable chi2.
   
@@ -762,23 +762,23 @@ Int_t AliL3ConfMapper::EvaluateHit(AliL3ConfMapPoint *starthit,AliL3ConfMapPoint
   
 }
 
-Double_t AliL3ConfMapper::CalcDistance(const AliL3ConfMapPoint *hit1,const AliL3ConfMapPoint *hit2) const
+Double_t AliHLTConfMapper::CalcDistance(const AliHLTConfMapPoint *hit1,const AliHLTConfMapPoint *hit2) const
 {
   //Return distance between two clusters, defined by Pablo
   
   Double_t phidiff = fabs( hit1->GetPhi() - hit2->GetPhi() );
-  if (phidiff > AliL3Transform::Pi()) phidiff = AliL3Transform::TwoPi() - phidiff;
+  if (phidiff > AliHLTTransform::Pi()) phidiff = AliHLTTransform::TwoPi() - phidiff;
   
-  return AliL3Transform::ToDeg()*fabs((Float_t)((hit1->GetPadRow() - hit2->GetPadRow()) * 
+  return AliHLTTransform::ToDeg()*fabs((Float_t)((hit1->GetPadRow() - hit2->GetPadRow()) * 
          (phidiff + fabs( hit1->GetEta() - hit2->GetEta()))));
 }
 
-Bool_t AliL3ConfMapper::VerifyRange(const AliL3ConfMapPoint *hit1,const AliL3ConfMapPoint *hit2) const
+Bool_t AliHLTConfMapper::VerifyRange(const AliHLTConfMapPoint *hit1,const AliHLTConfMapPoint *hit2) const
 {
   //Check if the hit are within reasonable range in phi and eta
   Double_t dphi,deta;//maxphi=0.1,maxeta=0.1;
   dphi = fabs(hit1->GetPhi() - hit2->GetPhi());
-  if(dphi > AliL3Transform::Pi()) dphi = fabs(AliL3Transform::TwoPi() - dphi);
+  if(dphi > AliHLTTransform::Pi()) dphi = fabs(AliHLTTransform::TwoPi() - dphi);
   if(dphi > fMaxPhi) return false;
   
   deta = fabs(hit1->GetEta() - hit2->GetEta());
@@ -788,7 +788,7 @@ Bool_t AliL3ConfMapper::VerifyRange(const AliL3ConfMapPoint *hit1,const AliL3Con
 
 }
 
-Double_t AliL3ConfMapper::TrackletAngle(AliL3ConfMapTrack *track,Int_t n) const
+Double_t AliHLTConfMapper::TrackletAngle(AliHLTConfMapTrack *track,Int_t n) const
 {
   // Returns the angle 'between' the last three points (started at point number n) on this track.
   
@@ -805,7 +805,7 @@ Double_t AliL3ConfMapper::TrackletAngle(AliL3ConfMapTrack *track,Int_t n) const
   Int_t counter=0;
   for(track->StartLoop(); track->LoopDone(); track->GetNextHit())
     {
-      AliL3ConfMapPoint *p = (AliL3ConfMapPoint*)track->GetCurrentHit();
+      AliHLTConfMapPoint *p = (AliHLTConfMapPoint*)track->GetCurrentHit();
       if( (n-1) == counter)
        {
          x1[0] = p->GetX();
@@ -843,11 +843,11 @@ Double_t AliL3ConfMapper::TrackletAngle(AliL3ConfMapTrack *track,Int_t n) const
     return 0;
   
 
-  x1[0] = ((AliL3ConfMapPoint *)hits->At(n-2))->GetX() - ((AliL3ConfMapPoint *)hits->At(n-3))->GetX();
-  x1[1] = ((AliL3ConfMapPoint *)hits->At(n-2))->GetY() - ((AliL3ConfMapPoint *)hits->At(n-3))->GetY();
+  x1[0] = ((AliHLTConfMapPoint *)hits->At(n-2))->GetX() - ((AliHLTConfMapPoint *)hits->At(n-3))->GetX();
+  x1[1] = ((AliHLTConfMapPoint *)hits->At(n-2))->GetY() - ((AliHLTConfMapPoint *)hits->At(n-3))->GetY();
 
-  x2[0] = ((AliL3ConfMapPoint *)hits->At(n-1))->GetX() - ((AliL3ConfMapPoint *)hits->At(n-2))->GetX();
-  x2[1] = ((AliL3ConfMapPoint *)hits->At(n-1))->GetY() - ((AliL3ConfMapPoint *)hits->At(n-2))->GetY();
+  x2[0] = ((AliHLTConfMapPoint *)hits->At(n-1))->GetX() - ((AliHLTConfMapPoint *)hits->At(n-2))->GetX();
+  x2[1] = ((AliHLTConfMapPoint *)hits->At(n-1))->GetY() - ((AliHLTConfMapPoint *)hits->At(n-2))->GetY();
   
   angle1 = atan2(x1[1],x1[0]);
   angle2 = atan2(x2[1],x1[0]);
@@ -855,7 +855,7 @@ Double_t AliL3ConfMapper::TrackletAngle(AliL3ConfMapTrack *track,Int_t n) const
   */
 }
 
-Int_t AliL3ConfMapper::FillTracks()
+Int_t AliHLTConfMapper::FillTracks()
 {
   //Fill track parameters. Which basically means do a fit of helix in real space,
   //which should be done in order to get nice tracks.
@@ -863,24 +863,24 @@ Int_t AliL3ConfMapper::FillTracks()
   Int_t numoftracks = fNTracks;
   if(fNTracks == 0)
     {
-      LOG(AliL3Log::kError,"AliL3ConfMapper::FillTracks","fNTracks")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTConfMapper::FillTracks","fNTracks")<<AliHLTLog::kDec<<
        "No tracks found!!"<<ENDLOG;
       return 0;
     }
 
-  LOG(AliL3Log::kInformational,"AliL3ConfMapper::FillTracks","fNTracks")<<AliL3Log::kDec<<
+  LOG(AliHLTLog::kInformational,"AliHLTConfMapper::FillTracks","fNTracks")<<AliHLTLog::kDec<<
     "Number of found tracks: "<<fNTracks<<ENDLOG;
   
   //  fTrack->Sort();
   for(Int_t i=0; i<numoftracks; i++)
     {
-      AliL3ConfMapTrack *track = (AliL3ConfMapTrack*)fTrack->GetTrack(i);
+      AliHLTConfMapTrack *track = (AliHLTConfMapTrack*)fTrack->GetTrack(i);
       track->Fill(fVertex,fMaxDca);
     }
   return 1;
 }
 
-Double_t AliL3ConfMapper::CpuTime()
+Double_t AliHLTConfMapper::CpuTime()
 {
   //Return the Cputime in seconds.
  struct timeval tv;
similarity index 76%
rename from HLT/src/AliL3ConfMapper.h
rename to HLT/src/AliHLTConfMapper.h
index 00f7df3a8b3ee3bfe877c636b83b473f89a28b70..15d08773e668d10057000ab7ab20754e8eceff07 100644 (file)
 //*-- Copyright &copy ALICE HLT Group
 
 
-class AliL3ConfMapPoint;
-class AliL3ConfMapTrack;
-class AliL3Vertex;
-class AliL3TrackArray;
-class AliL3SpacePointData;
+class AliHLTConfMapPoint;
+class AliHLTConfMapTrack;
+class AliHLTVertex;
+class AliHLTTrackArray;
+class AliHLTSpacePointData;
 
 
-class AliL3ConfMapper {
+class AliHLTConfMapper {
 
  public:
 
-  AliL3ConfMapper();
-  //  AliL3ConfMapper(AliTPCParam *param,AliL3Vertex *vertex,Bool_t bench=(Bool_t)false);
-  virtual ~AliL3ConfMapper();
+  AliHLTConfMapper();
+  //  AliHLTConfMapper(AliTPCParam *param,AliHLTVertex *vertex,Bool_t bench=(Bool_t)false);
+  virtual ~AliHLTConfMapper();
   
   void InitVolumes();
   void InitSector(Int_t sector,Int_t *rowrange=0,Float_t *etarange=0);
-  void SetVertex(AliL3Vertex *vertex){fVertex = vertex;}
+  void SetVertex(AliHLTVertex *vertex){fVertex = vertex;}
   void MainVertexTracking_a();
   void MainVertexTracking_b();
   void MainVertexTracking();
@@ -36,22 +36,22 @@ class AliL3ConfMapper {
                          Int_t rowscopetracklet, Int_t rowscopetrack,Double_t maxphi=0.1,Double_t maxeta=0.1);
   void NonVertexSettings(Int_t trackletlength, Int_t tracklength, 
                         Int_t rowscopetracklet, Int_t rowscopetrack);
-  Bool_t ReadHits(UInt_t count, AliL3SpacePointData* hits );
+  Bool_t ReadHits(UInt_t count, AliHLTSpacePointData* hits );
   void ClusterLoop();
-  void CreateTrack(AliL3ConfMapPoint *hit);
-  AliL3ConfMapPoint *GetNextNeighbor(AliL3ConfMapPoint *start_hit,AliL3ConfMapTrack *track=NULL);
-  Int_t EvaluateHit(AliL3ConfMapPoint *start_hit,AliL3ConfMapPoint *hit,AliL3ConfMapTrack *track);
+  void CreateTrack(AliHLTConfMapPoint *hit);
+  AliHLTConfMapPoint *GetNextNeighbor(AliHLTConfMapPoint *start_hit,AliHLTConfMapTrack *track=NULL);
+  Int_t EvaluateHit(AliHLTConfMapPoint *start_hit,AliHLTConfMapPoint *hit,AliHLTConfMapTrack *track);
 
-  Double_t CalcDistance(const AliL3ConfMapPoint *hit1,const AliL3ConfMapPoint *hit2) const;
-  Double_t TrackletAngle(AliL3ConfMapTrack *track,Int_t n=3) const;
-  Bool_t VerifyRange(const AliL3ConfMapPoint *hit1,const AliL3ConfMapPoint *hit2) const;
+  Double_t CalcDistance(const AliHLTConfMapPoint *hit1,const AliHLTConfMapPoint *hit2) const;
+  Double_t TrackletAngle(AliHLTConfMapTrack *track,Int_t n=3) const;
+  Bool_t VerifyRange(const AliHLTConfMapPoint *hit1,const AliHLTConfMapPoint *hit2) const;
   Int_t FillTracks();
   
   //getters
   Int_t GetNumberOfTracks()    const {return fNTracks;}
-  AliL3TrackArray *GetTracks() const {return fTrack;}
+  AliHLTTrackArray *GetTracks() const {return fTrack;}
   Double_t GetMaxDca()         const {return fMaxDca;}
-  AliL3Vertex* GetVertex()     const {return fVertex;}
+  AliHLTVertex* GetVertex()     const {return fVertex;}
   Double_t CpuTime();
 
   //setters
@@ -78,7 +78,7 @@ class AliL3ConfMapper {
 
  private:
 
-  struct AliL3ConfMapContainer 
+  struct AliHLTConfMapContainer 
   {
     void *first; // first track
     void *last;  // last track
@@ -87,17 +87,17 @@ class AliL3ConfMapper {
   Bool_t fBench; //run-time measurements
   Int_t fNTracks; //number of tracks build.
 
-  AliL3Vertex *fVertex; //!
+  AliHLTVertex *fVertex; //!
   Bool_t fParamSet[2];  //!
   Bool_t fVertexFinder; //Include vertexfinding or not 
                         //(latter case vertex=(0,0,0))
 
-  AliL3ConfMapPoint *fHit;  //!
-  AliL3TrackArray *fTrack;  //!
+  AliHLTConfMapPoint *fHit;  //!
+  AliHLTTrackArray *fTrack;  //!
   Double_t fMaxDca;      //cut value for momentum fit
   
-  AliL3ConfMapContainer *fVolume;  //!  Segment volume
-  AliL3ConfMapContainer *fRow;     //!  Row volume
+  AliHLTConfMapContainer *fVolume;  //!  Segment volume
+  AliHLTConfMapContainer *fRow;     //!  Row volume
 
    //Number of cells (segments)
   Int_t  fNumRowSegment;          // Total number of padrows
@@ -139,7 +139,9 @@ class AliL3ConfMapper {
   Int_t fMainVertexTracks; //number of tracks coming from the main vertex
   Int_t fClustersUnused;   //number of unused clusters
 
-  ClassDef(AliL3ConfMapper,1) //Base class for conformal mapping tracking
+  ClassDef(AliHLTConfMapper,1) //Base class for conformal mapping tracking
 };
 
+typedef AliHLTConfMapper AliL3ConfMapper; // for backward compatibility
+
 #endif
diff --git a/HLT/src/AliHLTDigitData.h b/HLT/src/AliHLTDigitData.h
new file mode 100644 (file)
index 0000000..20b1fd4
--- /dev/null
@@ -0,0 +1,45 @@
+// @(#) $Id$
+
+#ifndef _DIGITDATA_H_
+#define _DIGITDATA_H_
+
+#include "AliHLTRootTypes.h" 
+
+struct AliHLTDigitData
+{
+#ifdef do_mc
+  Int_t fTrackID[3];
+#endif
+  UShort_t fCharge;
+  UChar_t fPad;
+  UShort_t fTime;
+#ifdef IA64
+  UChar_t dummy1;
+  UChar_t dummy2;
+#endif
+};
+typedef struct AliHLTDigitData AliHLTDigitData;
+typedef AliHLTDigitData AliL3DigitData;
+
+struct AliHLTDigitRowData
+{
+  UInt_t fNDigit;
+  UInt_t fRow;
+#if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
+  AliHLTDigitData fDigitData[1];
+#else
+  AliHLTDigitData fDigitData[0];
+#endif
+};
+typedef struct AliHLTDigitRowData AliHLTDigitRowData;
+typedef AliHLTDigitRowData AliL3DigitRowData;
+
+struct AliHLTRandomDigitData{
+  UChar_t fRow;
+  UShort_t fCharge;
+  UChar_t fPad;
+  UShort_t fTime;
+};
+typedef struct AliHLTRandomDigitData AliHLTRandomDigitData;
+typedef AliHLTRandomDigitData AliL3RandomDigitData;
+#endif /* _DIGITDATA_H_ */
similarity index 80%
rename from HLT/src/AliL3Display.cxx
rename to HLT/src/AliHLTDisplay.cxx
index cebc0f2590710c9191f0b435e8d3ec551b363662..6d82a7bccb9b00afcc1bae2eb0131f3ca4e41943 100644 (file)
@@ -1,9 +1,9 @@
 // @(#) $Id$
 
-/** \class AliL3Display
+/** \class AliHLTDisplay
 <pre>
 //_____________________________________________________________
-// AliL3Display
+// AliHLTDisplay
 //
 // Simple display class for the HLT tracks.
 </pre>
@@ -11,7 +11,7 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 #include <TCanvas.h>
 #include <TView.h>
 #include <TPolyMarker3D.h>
 #include <AliTPCParam.h>
 #endif
 
-#include "AliL3Logging.h"
-#include "AliL3Display.h"
-#include "AliL3Transform.h"
-#include "AliL3Track.h"
-#include "AliL3TrackArray.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3MemHandler.h"
+#include "AliHLTLogging.h"
+#include "AliHLTDisplay.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTMemHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 
-ClassImp(AliL3Display)
+ClassImp(AliHLTDisplay)
 
-AliL3Display::AliL3Display()
+AliHLTDisplay::AliHLTDisplay()
 {
   //constructor
   fGeom = NULL;
   fTracks = NULL;
 }
 
-AliL3Display::AliL3Display(Int_t *slice,Char_t *gfile)
+AliHLTDisplay::AliHLTDisplay(Int_t *slice,Char_t *gfile)
 {
   //ctor. Specify which slices you want to look at.
   TFile *file = TFile::Open(gfile);
   if(!file)
     {
-      LOG(AliL3Log::kError,"AliL3Display::AliL3Display","File Open")
+      LOG(AliHLTLog::kError,"AliHLTDisplay::AliHLTDisplay","File Open")
        <<"Geometry file " << gfile << " does not exist!"<<ENDLOG;
       return;
     }
@@ -71,43 +71,43 @@ AliL3Display::AliL3Display(Int_t *slice,Char_t *gfile)
   delete file;
 }
 
-AliL3Display::~AliL3Display()
+AliHLTDisplay::~AliHLTDisplay()
 {
   //destructor
   if(fTracks)
     delete fTracks;
 }
 
-void AliL3Display::Setup(Char_t *trackfile,Char_t *path,Int_t event,Bool_t sp)
+void AliHLTDisplay::Setup(Char_t *trackfile,Char_t *path,Int_t event,Bool_t sp)
 {
   //Read in the hit and track information from produced files.
   
   Char_t fname[256];
-  AliL3MemHandler *clusterfile[36][6];
-  memset(fClusters,0,36*6*sizeof(AliL3SpacePointData*));
+  AliHLTMemHandler *clusterfile[36][6];
+  memset(fClusters,0,36*6*sizeof(AliHLTSpacePointData*));
   for(Int_t s=fMinSlice; s<=fMaxSlice; s++)
     {
-      for(Int_t p=0; p<AliL3Transform::GetNPatches(); p++)
+      for(Int_t p=0; p<AliHLTTransform::GetNPatches(); p++)
        {
          Int_t patch;
          if(sp==kTRUE)
            patch=-1;
          else
            patch=p;
-         clusterfile[s][p] = new AliL3MemHandler();
+         clusterfile[s][p] = new AliHLTMemHandler();
          if(event<0)
            sprintf(fname,"%s/points_%d_%d.raw",path,s,patch);
          else
            sprintf(fname,"%s/points_%d_%d_%d.raw",path,event,s,patch);
          if(!clusterfile[s][p]->SetBinaryInput(fname))
            {
-             LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+             LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
                <<"Inputfile "<<fname<<" does not exist"<<ENDLOG; 
              delete clusterfile[s][p];
               clusterfile[s][p] = 0; 
              continue;
            }
-         fClusters[s][p] = (AliL3SpacePointData*)clusterfile[s][p]->Allocate();
+         fClusters[s][p] = (AliHLTSpacePointData*)clusterfile[s][p]->Allocate();
          clusterfile[s][p]->Binary2Memory(fNcl[s][p],fClusters[s][p]);
          clusterfile[s][p]->CloseBinaryInput();
          if(sp==kTRUE)
@@ -116,21 +116,21 @@ void AliL3Display::Setup(Char_t *trackfile,Char_t *path,Int_t event,Bool_t sp)
     }
   
   if(!trackfile) return;
-  AliL3MemHandler *tfile = new AliL3MemHandler();
+  AliHLTMemHandler *tfile = new AliHLTMemHandler();
   if(!tfile->SetBinaryInput(trackfile))
     {
-      LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+      LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
        <<"Inputfile "<<trackfile<<" does not exist"<<ENDLOG; 
       return;
     }
-  fTracks = new AliL3TrackArray();
+  fTracks = new AliHLTTrackArray();
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   delete tfile;
 
 }
 
-void AliL3Display::DisplayTracks(Int_t minhits,Bool_t x3don,Float_t thr)
+void AliHLTDisplay::DisplayTracks(Int_t minhits,Bool_t x3don,Float_t thr)
 {
   //Display the found tracks.
 
@@ -152,7 +152,7 @@ void AliL3Display::DisplayTracks(Int_t minhits,Bool_t x3don,Float_t thr)
   
   for(Int_t j=0; j<ntracks; j++)
     {
-      AliL3Track *gtrack = fTracks->GetCheckedTrack(j); 
+      AliHLTTrack *gtrack = fTracks->GetCheckedTrack(j); 
       if(!gtrack) continue;
       if((thr>=0)&&(gtrack->GetPt()<thr)) continue;        
       Int_t nHits = gtrack->GetNHits();
@@ -168,17 +168,17 @@ void AliL3Display::DisplayTracks(Int_t minhits,Bool_t x3don,Float_t thr)
          Int_t patch = (id>>22) & 0x7;
          UInt_t pos = id&0x3fffff;           
          //cout << h << " id " << pos << endl;
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          if(slice < fMinSlice || slice > fMaxSlice)
            continue;
 
          if(!points) {
-           LOG(AliL3Log::kError,"AliL3Display::DisplayTracks","Clusterarray")
+           LOG(AliHLTLog::kError,"AliHLTDisplay::DisplayTracks","Clusterarray")
              <<"No points at slice "<<slice<<" patch "<<patch<<" pos "<<pos<<ENDLOG;
            continue;
          }
          if(pos>=fNcl[slice][patch]){
-           LOG(AliL3Log::kError,"AliL3Display::DisplayTracks","Clusterarray")
+           LOG(AliHLTLog::kError,"AliHLTDisplay::DisplayTracks","Clusterarray")
              <<"Pos is too large: pos "<<pos <<" ncl "<<fNcl[slice][patch]<<ENDLOG;
            continue;
          }
@@ -232,7 +232,7 @@ void AliL3Display::DisplayTracks(Int_t minhits,Bool_t x3don,Float_t thr)
   
 }
 
-void AliL3Display::DisplayClusters(Bool_t x3don)
+void AliHLTDisplay::DisplayClusters(Bool_t x3don)
 {
   //Display all clusters.
   
@@ -250,7 +250,7 @@ void AliL3Display::DisplayClusters(Bool_t x3don)
     {
       for(Int_t p=0;p<6;p++)
        {
-         AliL3SpacePointData *points = fClusters[s][p];
+         AliHLTSpacePointData *points = fClusters[s][p];
          if(!points) continue;
          Int_t npoints = fNcl[s][p];
          TPolyMarker3D *pm = new TPolyMarker3D(npoints);
@@ -261,7 +261,7 @@ void AliL3Display::DisplayClusters(Bool_t x3don)
              xyz[0] = points[i].fX;
              xyz[1] = points[i].fY;
              xyz[2] = points[i].fZ;
-             //AliL3Transform::Local2Global(xyz,s);
+             //AliHLTTransform::Local2Global(xyz,s);
              pm->SetPoint(i,xyz[0],xyz[1],xyz[2]); 
            }
          pm->SetMarkerColor(2);
@@ -274,7 +274,7 @@ void AliL3Display::DisplayClusters(Bool_t x3don)
 }
 
 
-void AliL3Display::DisplayAll(Int_t minhits,Bool_t x3don)
+void AliHLTDisplay::DisplayAll(Int_t minhits,Bool_t x3don)
 {
   //Display tracks & all hits.
 
@@ -291,7 +291,7 @@ void AliL3Display::DisplayAll(Int_t minhits,Bool_t x3don)
     {
       for(Int_t p=0;p<6;p++)
        {
-         AliL3SpacePointData *points = fClusters[s][p];
+         AliHLTSpacePointData *points = fClusters[s][p];
          if(!points) continue;
          Int_t npoints = fNcl[s][p];
          TPolyMarker3D *pm = new TPolyMarker3D(npoints);
@@ -318,7 +318,7 @@ void AliL3Display::DisplayAll(Int_t minhits,Bool_t x3don)
   
   for(Int_t j=0; j<ntracks; j++)
     {
-      AliL3Track *gtrack = fTracks->GetCheckedTrack(j); 
+      AliHLTTrack *gtrack = fTracks->GetCheckedTrack(j); 
       if(!gtrack) continue;        
       Int_t nHits = gtrack->GetNHits();
       UInt_t *hitnum = gtrack->GetHitNumbers();
@@ -334,14 +334,14 @@ void AliL3Display::DisplayAll(Int_t minhits,Bool_t x3don)
          if(slice < fMinSlice || slice > fMaxSlice)
            continue;
          
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          if(!points) {
-           LOG(AliL3Log::kError,"AliL3Display::DisplayAll","Clusterarray")
+           LOG(AliHLTLog::kError,"AliHLTDisplay::DisplayAll","Clusterarray")
              <<"No points at slice "<<slice<<" patch "<<patch<<" pos "<<pos<<ENDLOG;
            continue;
          }
          if(pos>=fNcl[slice][patch]) {
-           LOG(AliL3Log::kError,"AliL3Display::DisplayAll","Clusterarray")
+           LOG(AliHLTLog::kError,"AliHLTDisplay::DisplayAll","Clusterarray")
              <<"Pos is too large: pos "<<pos <<" ncl "<<fNcl[slice][patch]<<ENDLOG;
            continue;
          }
@@ -385,22 +385,22 @@ void AliL3Display::DisplayAll(Int_t minhits,Bool_t x3don)
   if(x3don) c1->x3d();
 }
 
-void AliL3Display::DisplayClusterRow(Int_t slice,Int_t padrow,Char_t *digitsFile,Char_t *type)
+void AliHLTDisplay::DisplayClusterRow(Int_t slice,Int_t padrow,Char_t *digitsFile,Char_t *type)
 {
   //Display the found clusters on this row together with the raw data.
   
 #ifdef use_aliroot
   TFile *file = new TFile(digitsFile);
-  AliTPCParam *param = (AliTPCParam*)file->Get(AliL3Transform::GetParamName());
+  AliTPCParam *param = (AliTPCParam*)file->Get(AliHLTTransform::GetParamName());
 
   Char_t dname[100];
-  sprintf(dname,"TreeD_%s_0",AliL3Transform::GetParamName());
+  sprintf(dname,"TreeD_%s_0",AliHLTTransform::GetParamName());
   TTree *td=(TTree*)file->Get(dname);
   AliSimDigits da, *digits=&da;
   td->GetBranch("Segment")->SetAddress(&digits); //Return pointer to branch segment.
   
   Int_t sector,row;
-  AliL3Transform::Slice2Sector(slice,padrow,sector,row);
+  AliHLTTransform::Slice2Sector(slice,padrow,sector,row);
   Int_t npads = param->GetNPads(sector,row);
   Int_t ntimes = param->GetMaxTBin();
   TH2F *histdig = new TH2F("histdig","",npads,0,npads-1,ntimes,0,ntimes-1);
@@ -439,13 +439,13 @@ void AliL3Display::DisplayClusterRow(Int_t slice,Int_t padrow,Char_t *digitsFile
   gAlice->GetEvent(0);
   TClonesArray *fParticles=gAlice->Particles(); 
   TParticle *part = (TParticle*)fParticles->UncheckedAt(0);
-  AliL3Evaluate *eval = new AliL3Evaluate();
+  AliHLTEvaluate *eval = new AliHLTEvaluate();
   Float_t xyzcross[3];
   */
   
   for(Int_t p=0;p<6;p++)
     {
-      AliL3SpacePointData *points = fClusters[slice][p];
+      AliHLTSpacePointData *points = fClusters[slice][p];
       if(!points) continue;
       
       Int_t npoints = fNcl[slice][p];     
@@ -456,8 +456,8 @@ void AliL3Display::DisplayClusterRow(Int_t slice,Int_t padrow,Char_t *digitsFile
          xyz[0] = points[i].fX;
          xyz[1] = points[i].fY;
          xyz[2] = points[i].fZ;
-         AliL3Transform::Global2Raw(xyz,sector,row);
-         //AliL3Transform::Local2Raw(xyz,sector,row);
+         AliHLTTransform::Global2Raw(xyz,sector,row);
+         //AliHLTTransform::Local2Raw(xyz,sector,row);
          histfast->Fill(xyz[1],xyz[2],1);
          
          
similarity index 56%
rename from HLT/src/AliL3Display.h
rename to HLT/src/AliHLTDisplay.h
index 9171cf859a4a3e3c29cc41b6d41b5660cbd2e60a..90f374dd568120fa7788d2a482df5bce01a90fa7 100644 (file)
@@ -3,10 +3,10 @@
 #ifndef ALIL3DISPLAY_H
 #define ALIL3DISPLAY_H
 
-/** \class AliL3Display
+/** \class AliHLTDisplay
 <pre>
 //_____________________________________________________________
-// AliL3Display
+// AliHLTDisplay
 //
 // Simple display class for the HLT tracks.
 </pre>
 
 #include <TObject.h>
 class TGeometry;
-class AliL3SpacePointData;
-class AliL3TrackArray;
+class AliHLTSpacePointData;
+class AliHLTTrackArray;
 
-class AliL3Display : public TObject {
+class AliHLTDisplay : public TObject {
 
  public:
-  AliL3Display();
-  AliL3Display(Int_t *slice, Char_t *gfile="$(ALIHLT_BASEDIR)/geo/alice.geom");
-  virtual ~AliL3Display();
+  AliHLTDisplay();
+  AliHLTDisplay(Int_t *slice, Char_t *gfile="$(ALIHLT_BASEDIR)/geo/alice.geom");
+  virtual ~AliHLTDisplay();
 
   void Setup(Char_t *trackfile,Char_t *path,Int_t event=-1,Bool_t sp=kFALSE);
   void DisplayTracks(Int_t min_hits=10,Bool_t x3don=kTRUE,Float_t thr=0.);
@@ -32,20 +32,22 @@ class AliL3Display : public TObject {
   void DisplayClusters(Bool_t x3don=kTRUE);
 
   void DisplayClusterRow(Int_t slice,Int_t padrow,Char_t *digitsFile,Char_t *type="hist");
-  void SetTracks(AliL3TrackArray *tracks) {fTracks=tracks;}
+  void SetTracks(AliHLTTrackArray *tracks) {fTracks=tracks;}
 
  private:
-  AliL3Display(const AliL3Display &/*d*/):TObject(){;}
-  AliL3Display& operator=(const AliL3Display &/*d*/){return *this;}
+  AliHLTDisplay(const AliHLTDisplay &/*d*/):TObject(){;}
+  AliHLTDisplay& operator=(const AliHLTDisplay &/*d*/){return *this;}
 
   TGeometry *fGeom; //!
-  AliL3SpacePointData *fClusters[36][6]; //!
-  AliL3TrackArray *fTracks; //!
+  AliHLTSpacePointData *fClusters[36][6]; //!
+  AliHLTTrackArray *fTracks; //!
   UInt_t fNcl[36][6]; //number of cluster
   Int_t fMinSlice; //min slice
   Int_t fMaxSlice; //max slice
   
-  ClassDef(AliL3Display,1) //Display class
+  ClassDef(AliHLTDisplay,1) //Display class
 };
 
+typedef AliHLTDisplay AliL3Display; // for backward compatibility
+
 #endif
similarity index 78%
rename from HLT/src/AliL3Evaluate.cxx
rename to HLT/src/AliHLTEvaluate.cxx
index e43ab9062f6efd74553c8fabf7e060462f662ae7..0c78c3ba76cf452252a0e2f9c7981e99600ed8d9 100644 (file)
@@ -3,10 +3,10 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-/** \class AliL3Evaluate
+/** \class AliHLTEvaluate
 <pre>
 //_____________________________________________________________
-// AliL3Evaluate
+// AliHLTEvaluate
 //
 // Evaluation class for tracking; plots, efficiencies etc..
 //
 #include <AliComplexCluster.h>
 #include <AliStack.h>
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Track.h"
-#include "AliL3FileHandler.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Evaluate.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTrack.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTEvaluate.h"
 
 #if __GNUC__ == 3
 #include <iosfwd>
 using namespace std;
 #endif
 
-ClassImp(AliL3Evaluate)
+ClassImp(AliHLTEvaluate)
 
-AliL3Evaluate::AliL3Evaluate()
+AliHLTEvaluate::AliHLTEvaluate()
 { 
   //constructor
   Clear();
 }
 
-AliL3Evaluate::AliL3Evaluate(Char_t *datapath,Int_t minclusters,Int_t minhits,Double_t minpt,Double_t maxpt,Int_t *slice)
+AliHLTEvaluate::AliHLTEvaluate(Char_t *datapath,Int_t minclusters,Int_t minhits,Double_t minpt,Double_t maxpt,Int_t *slice)
 { 
   //constructor
   Clear();
@@ -77,7 +77,7 @@ AliL3Evaluate::AliL3Evaluate(Char_t *datapath,Int_t minclusters,Int_t minhits,Do
   fMaxGoodPt = maxpt;
 }
 
-AliL3Evaluate::~AliL3Evaluate()
+AliHLTEvaluate::~AliHLTEvaluate()
 { 
   //destructor
   if(fGoodTracks) delete[] fGoodTracks;
@@ -107,7 +107,7 @@ AliL3Evaluate::~AliL3Evaluate()
       }
 }
 
-void AliL3Evaluate::Clear()
+void AliHLTEvaluate::Clear()
 { 
   //clear
   fTracks = 0;
@@ -148,14 +148,14 @@ void AliL3Evaluate::Clear()
   sprintf(fPath,"./");
 }
 
-void AliL3Evaluate::LoadData(Int_t event,Bool_t sp)
+void AliHLTEvaluate::LoadData(Int_t event,Bool_t sp)
 { 
   //load cluster points
   Char_t fname[1024];
 
   for(Int_t s=fMinSlice; s<=fMaxSlice; s++)
     {
-      for(Int_t p=0; p<AliL3Transform::GetNPatches(); p++)
+      for(Int_t p=0; p<AliHLTTransform::GetNPatches(); p++)
        {
          Int_t patch;
          if(sp==kTRUE)
@@ -166,20 +166,20 @@ void AliL3Evaluate::LoadData(Int_t event,Bool_t sp)
          if(fClustersFile[s][p])
            delete fClustersFile[s][p];
          fClusters[s][p] = 0;
-         fClustersFile[s][p] = new AliL3FileHandler();
+         fClustersFile[s][p] = new AliHLTFileHandler();
          if(event<0)
            sprintf(fname,"%s/points_%d_%d.raw",fPath,s,patch);
          else
            sprintf(fname,"%s/points_%d_%d_%d.raw",fPath,event,s,patch);
          if(!fClustersFile[s][p]->SetBinaryInput(fname))
            {
-             LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+             LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
                <<"Inputfile "<<fname<<" does not exist"<<ENDLOG; 
               delete fClustersFile[s][p];
               fClustersFile[s][p] = 0; 
              continue;
            }
-         fClusters[s][p] = (AliL3SpacePointData*)fClustersFile[s][p]->Allocate();
+         fClusters[s][p] = (AliHLTSpacePointData*)fClustersFile[s][p]->Allocate();
          fClustersFile[s][p]->Binary2Memory(fNcl[s][p],fClusters[s][p]);
          fClustersFile[s][p]->CloseBinaryInput();
          if(sp==kTRUE)
@@ -188,31 +188,31 @@ void AliL3Evaluate::LoadData(Int_t event,Bool_t sp)
     }
    
   sprintf(fname,"%s/tracks_%d.raw",fPath,event);
-  AliL3FileHandler *tfile = new AliL3FileHandler();
+  AliHLTFileHandler *tfile = new AliHLTFileHandler();
   if(!tfile->SetBinaryInput(fname)){
-    LOG(AliL3Log::kError,"AliL3Evaluation::Setup","File Open")
+    LOG(AliHLTLog::kError,"AliHLTEvaluation::Setup","File Open")
       <<"Inputfile "<<fname<<" does not exist"<<ENDLOG; 
     return;
   }
   if(fTracks)
     delete fTracks;
-  fTracks = new AliL3TrackArray();
+  fTracks = new AliHLTTrackArray();
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   fTracks->QSort();
   delete tfile;
 }
 
-void AliL3Evaluate::AssignPIDs()
+void AliHLTEvaluate::AssignPIDs()
 { 
   //assign pid 
   if(!fTracks) return;
   fTracks->QSort();
-  LOG(AliL3Log::kDebug,"AliL3Evaluate::AssignPIDs","Track Loop")
+  LOG(AliHLTLog::kDebug,"AliHLTEvaluate::AssignPIDs","Track Loop")
     <<"Assigning pid to the found tracks...."<<ENDLOG;
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3Track *track = (AliL3Track*)fTracks->GetCheckedTrack(i);
+      AliHLTTrack *track = (AliHLTTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue; 
       if(track->GetNumberOfPoints() < fMinPointsOnTrack)
        track->SetPID(0);
@@ -223,21 +223,21 @@ void AliL3Evaluate::AssignPIDs()
     }
 }
   
-void AliL3Evaluate::AssignIDs()
+void AliHLTEvaluate::AssignIDs()
 { 
   //Assign MC id to the tracks.
 #ifndef do_mc
-  cerr<<"AliL3Evaluate::AssignIDs() : You need to compile with the do_mc flag!"<<endl;
+  cerr<<"AliHLTEvaluate::AssignIDs() : You need to compile with the do_mc flag!"<<endl;
   return;
 #else
   if(!fTracks) return;
   fGoodFound=0;
   fTracks->QSort();
-  LOG(AliL3Log::kDebug,"AliL3Evaluate::AssignIDs","Track Loop")
+  LOG(AliHLTLog::kDebug,"AliHLTEvaluate::AssignIDs","Track Loop")
     <<"Assigning MC id to the found tracks...."<<ENDLOG;
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3Track *track = (AliL3Track*)fTracks->GetCheckedTrack(i);
+      AliHLTTrack *track = (AliHLTTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue; 
       if(track->GetNumberOfPoints() < fMinPointsOnTrack) break;
       
@@ -249,7 +249,7 @@ void AliL3Evaluate::AssignIDs()
 #endif
 }
 
-Float_t AliL3Evaluate::GetTrackPID(AliL3Track *track)
+Float_t AliHLTEvaluate::GetTrackPID(AliHLTTrack *track)
 { 
   //get track pid
   track->CalculateHelix();
@@ -262,18 +262,18 @@ Float_t AliL3Evaluate::GetTrackPID(AliL3Track *track)
     Int_t iSector = (hitID>>25) & 0x7f;
     Int_t patch = (hitID>>22) & 0x7;
     UInt_t position = hitID&0x3fffff;
-    AliL3SpacePointData *points = fClusters[iSector][patch];
+    AliHLTSpacePointData *points = fClusters[iSector][patch];
     if(!points) continue; 
     if(position>=fNcl[iSector][patch]) 
       {
-       LOG(AliL3Log::kError,"AliL3Evaluate::GetMCTrackLabel","Clusterarray")
-         <<AliL3Log::kDec<<"ERROR"<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTEvaluate::GetMCTrackLabel","Clusterarray")
+         <<AliHLTLog::kDec<<"ERROR"<<ENDLOG;
        continue;
       }
     UChar_t padrow = points[position].fPadRow;
-    Float_t pWidth = AliL3Transform::GetPadPitchWidthLow();
+    Float_t pWidth = AliHLTTransform::GetPadPitchWidthLow();
     if (padrow>63)
-      pWidth = AliL3Transform::GetPadPitchWidthUp(); 
+      pWidth = AliHLTTransform::GetPadPitchWidthUp(); 
     Float_t corr=1.; if (padrow>63) corr=0.67;
     sampleDEdx[iHit] = points[position].fCharge/pWidth*corr;
     Double_t crossingangle = track->GetCrossingAngle(padrow,iSector);
@@ -306,7 +306,7 @@ Float_t AliL3Evaluate::GetTrackPID(AliL3Track *track)
 }
 
 #ifdef do_mc
-Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
+Int_t AliHLTEvaluate::GetMCTrackLabel(AliHLTTrack *track)
 { 
   //Returns the MCtrackID of the belonging clusters.
   //If MCLabel < 0, means that track is fake.
@@ -332,12 +332,12 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;              
       
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       if(!points) continue; 
       if(pos>=fNcl[slice][patch]) 
        {
-         LOG(AliL3Log::kError,"AliL3Evaluate::GetMCTrackLabel","Clusterarray")
-           <<AliL3Log::kDec<<"ERROR"<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTEvaluate::GetMCTrackLabel","Clusterarray")
+           <<AliHLTLog::kDec<<"ERROR"<<ENDLOG;
          continue;
        }
       
@@ -358,7 +358,7 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
   if(lab == -1)
     return -1; //If most clusters is -1, this is a noise track.
   if(lab < 0)
-    cerr<<"AliL3Evaluate::GetMCTrackLabel : Track label negative :"<<lab<<endl;
+    cerr<<"AliHLTEvaluate::GetMCTrackLabel : Track label negative :"<<lab<<endl;
   
   delete[] s;
   
@@ -369,12 +369,12 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;              
       
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       if(!points) continue; 
       if(pos>=fNcl[slice][patch]) 
        {
-         LOG(AliL3Log::kError,"AliL3Evaluate::GetMCTrackLabel","Clusterarray")
-           <<AliL3Log::kDec<<"ERROR"<<ENDLOG;
+         LOG(AliHLTLog::kError,"AliHLTEvaluate::GetMCTrackLabel","Clusterarray")
+           <<AliHLTLog::kDec<<"ERROR"<<ENDLOG;
          continue;
        }
       
@@ -399,7 +399,7 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
          Int_t patch = (id>>22) & 0x7;
          UInt_t pos = id&0x3fffff;           
          
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          if(!points) continue;
          if(lab == abs(points[pos].fTrackID[0]) ||
             lab == abs(points[pos].fTrackID[1]) ||
@@ -410,7 +410,7 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
 
   return lab;
 #else //If we are running with mc_ids or not
-  Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track */*track*/)
+  Int_t AliHLTEvaluate::GetMCTrackLabel(AliHLTTrack */*track*/)
 { 
   // Does nothing if do_mc undefined
   return 0;
@@ -418,7 +418,7 @@ Int_t AliL3Evaluate::GetMCTrackLabel(AliL3Track *track)
 
 }
 
-void AliL3Evaluate::GetFastClusterIDs(Char_t *path)
+void AliHLTEvaluate::GetFastClusterIDs(Char_t *path)
 {
   //Get the MC id of space points in case of using the fast simulator. 
   char name[256];
@@ -443,11 +443,11 @@ void AliL3Evaluate::GetFastClusterIDs(Char_t *path)
   fclose(infile);
 }
 
-void AliL3Evaluate::CreateHistos(Int_t nbin,Float_t xlow,Float_t xup)
+void AliHLTEvaluate::CreateHistos(Int_t nbin,Float_t xlow,Float_t xup)
 {
   //Create the histograms 
   
-  LOG(AliL3Log::kInformational,"AliL3Evaluate::CreateHistos","Allocating")
+  LOG(AliHLTLog::kInformational,"AliHLTEvaluate::CreateHistos","Allocating")
     <<"Creating histograms..."<<ENDLOG;
   
   fNtuppel = new TNtuple("fNtuppel","Pt resolution","pt_gen:pt_found:nHits");
@@ -467,7 +467,7 @@ void AliL3Evaluate::CreateHistos(Int_t nbin,Float_t xlow,Float_t xup)
 
 }
 
-void AliL3Evaluate::GetGoodParticles(Char_t *path,Int_t event,Int_t *padrowrange)
+void AliHLTEvaluate::GetGoodParticles(Char_t *path,Int_t event,Int_t *padrowrange)
 {
   //Read the good particles from file. This file should already have been
   //generated by macro AliTPCComparison.C.
@@ -482,7 +482,7 @@ void AliL3Evaluate::GetGoodParticles(Char_t *path,Int_t event,Int_t *padrowrange
   ifstream in(filename);
   if(!in)
     {
-      cerr<<"AliL3Evaluate::GetGoodParticles : Problems opening file :"<<filename<<endl;
+      cerr<<"AliHLTEvaluate::GetGoodParticles : Problems opening file :"<<filename<<endl;
       return;
     }
   Int_t MaxTracks=20000;
@@ -501,7 +501,7 @@ void AliL3Evaluate::GetGoodParticles(Char_t *path,Int_t event,Int_t *padrowrange
        fGoodGen++;
        if (fGoodGen==MaxTracks) 
          {
-           cerr<<"AliL3Evaluate::GetGoodParticles : Too many good tracks !\n";
+           cerr<<"AliHLTEvaluate::GetGoodParticles : Too many good tracks !\n";
            break;
          }
       }
@@ -514,20 +514,20 @@ void AliL3Evaluate::GetGoodParticles(Char_t *path,Int_t event,Int_t *padrowrange
        fGoodGen++;
        if (fGoodGen==MaxTracks) 
          {
-           cerr<<"AliL3Evaluate::GetGoodParticles : Too many good tracks !\n";
+           cerr<<"AliHLTEvaluate::GetGoodParticles : Too many good tracks !\n";
            break;
          }
       }
   }
 }
 
-void AliL3Evaluate::FillEffHistos()
+void AliHLTEvaluate::FillEffHistos()
 { 
   //has to be modified for fakes.
 
   if(!fGoodTracks)
     {
-      cerr<<"AliL3Evaluate::FillEffHistos : No good tracks"<<endl;
+      cerr<<"AliHLTEvaluate::FillEffHistos : No good tracks"<<endl;
       return;
     }
   if(!fTracks) return;
@@ -554,7 +554,7 @@ void AliL3Evaluate::FillEffHistos()
       
       for(Int_t k=0; k<fTracks->GetNTracks(); k++)
        {
-         AliL3Track *track = fTracks->GetCheckedTrack(k);
+         AliHLTTrack *track = fTracks->GetCheckedTrack(k);
          if(!track) continue;
          Int_t nHits = track->GetNumberOfPoints();
          if(nHits < fMinPointsOnTrack) break;
@@ -586,7 +586,7 @@ void AliL3Evaluate::FillEffHistos()
     }
 }
 
-void AliL3Evaluate::FillEffHistosNAIVE()
+void AliHLTEvaluate::FillEffHistosNAIVE()
 {  
   //Fill the efficiency histograms.
   
@@ -607,7 +607,7 @@ void AliL3Evaluate::FillEffHistosNAIVE()
   
   for(Int_t k=0; k<fTracks->GetNTracks(); k++)
     {
-      AliL3Track *track = fTracks->GetCheckedTrack(k);
+      AliHLTTrack *track = fTracks->GetCheckedTrack(k);
       if(!track) continue;
       Int_t nHits = track->GetNumberOfPoints();
       if(nHits < fMinPointsOnTrack) break;
@@ -621,7 +621,7 @@ void AliL3Evaluate::FillEffHistosNAIVE()
     }
 }
 
-void AliL3Evaluate::CalcEffHistos()
+void AliHLTEvaluate::CalcEffHistos()
 { 
   //calc eff histos
 
@@ -629,16 +629,16 @@ void AliL3Evaluate::CalcEffHistos()
   Stat_t nfound=fNFoundTracksPt->GetEntries();
   Stat_t nfake=fNFakeTracksPt->GetEntries();
 
-  LOG(AliL3Log::kInformational,"AliL3Evaluate::FillEffHistos","Efficiency")
-    <<AliL3Log::kDec<<"There was "<<ngood<<" generated good tracks"<<ENDLOG;
-  LOG(AliL3Log::kInformational,"AliL3Evaluate::FillEffHistos","Efficiency")
-    <<AliL3Log::kDec<<"Found "<<nfound<<" tracks"<<ENDLOG;
-  LOG(AliL3Log::kInformational,"AliL3Evaluate::FillEffHistos","Efficiency")
-    <<AliL3Log::kDec<<"Integral efficiency is about "<<nfound/ngood*100<<ENDLOG;
-  LOG(AliL3Log::kInformational,"AliL3Evaluate::FillEffHistos","Efficiency")
-    <<AliL3Log::kDec<<"Fake tracks relative is about "<<nfake/ngood*100<<ENDLOG;
-  //LOG(AliL3Log::kInformational,"AliL3Evaluate::FillEffHistos","Efficiency")
-  //<<AliL3Log::kDec<<"Naive efficiency "<<(Double_t)fGoodFound/(Double_t)fGoodGen<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTEvaluate::FillEffHistos","Efficiency")
+    <<AliHLTLog::kDec<<"There was "<<ngood<<" generated good tracks"<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTEvaluate::FillEffHistos","Efficiency")
+    <<AliHLTLog::kDec<<"Found "<<nfound<<" tracks"<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTEvaluate::FillEffHistos","Efficiency")
+    <<AliHLTLog::kDec<<"Integral efficiency is about "<<nfound/ngood*100<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTEvaluate::FillEffHistos","Efficiency")
+    <<AliHLTLog::kDec<<"Fake tracks relative is about "<<nfake/ngood*100<<ENDLOG;
+  //LOG(AliHLTLog::kInformational,"AliHLTEvaluate::FillEffHistos","Efficiency")
+  //<<AliHLTLog::kDec<<"Naive efficiency "<<(Double_t)fGoodFound/(Double_t)fGoodGen<<ENDLOG;
 
   fNFoundTracksPt->Sumw2(); fNGoodTracksPt->Sumw2();
   fTrackEffPt->Divide(fNFoundTracksPt,fNGoodTracksPt,1,1.,"b");
@@ -661,14 +661,14 @@ void AliL3Evaluate::CalcEffHistos()
   fFakeTrackEffEta->SetFillColor(2);
 }
 
-void AliL3Evaluate::Write2File(Char_t *outputfile)
+void AliHLTEvaluate::Write2File(Char_t *outputfile)
 {
   //Write histograms to file:
   
   TFile *of = TFile::Open(outputfile,"RECREATE");
   if(!of->IsOpen())
     {
-      LOG(AliL3Log::kError,"AliL3Evaluate::Write2File","File Open")
+      LOG(AliHLTLog::kError,"AliHLTEvaluate::Write2File","File Open")
        <<"Problems opening rootfile"<<ENDLOG;
       return;
     }
@@ -690,7 +690,7 @@ void AliL3Evaluate::Write2File(Char_t *outputfile)
   of->Close();
 }
 
-TNtuple *AliL3Evaluate::GetNtuple()
+TNtuple *AliHLTEvaluate::GetNtuple()
 { 
   //get ntuple
   if(!fNtupleRes)
@@ -701,7 +701,7 @@ TNtuple *AliL3Evaluate::GetNtuple()
   return fNtupleRes;
 }
 
-void AliL3Evaluate::CalculateResiduals()
+void AliHLTEvaluate::CalculateResiduals()
 { 
   //calculate residuals
   TNtuple *ntuppel = GetNtuple();
@@ -709,7 +709,7 @@ void AliL3Evaluate::CalculateResiduals()
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
       
-      AliL3Track *track = (AliL3Track*)fTracks->GetCheckedTrack(i);
+      AliHLTTrack *track = (AliHLTTrack*)fTracks->GetCheckedTrack(i);
       if(!track) continue;
       if(track->GetNHits() < fMinPointsOnTrack) break;
       
@@ -728,17 +728,17 @@ void AliL3Evaluate::CalculateResiduals()
 
          //if(slice<18) continue;
          
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          if(!points) 
            {
-             LOG(AliL3Log::kError,"AliL3Evaluate::CalculateResiduals","Clusterarray")
+             LOG(AliHLTLog::kError,"AliHLTEvaluate::CalculateResiduals","Clusterarray")
                <<"No points at slice "<<slice<<" patch "<<patch<<" pos "<<pos<<ENDLOG;
              continue;
            }
          if(pos>=fNcl[slice][patch]) 
            {
-             LOG(AliL3Log::kError,"AliL3Evaluate::CalculateResiduals","Clusterarray")
-               <<AliL3Log::kDec<<"ERROR"<<ENDLOG;
+             LOG(AliHLTLog::kError,"AliHLTEvaluate::CalculateResiduals","Clusterarray")
+               <<AliHLTLog::kDec<<"ERROR"<<ENDLOG;
              continue;
            }
          
@@ -746,21 +746,21 @@ void AliL3Evaluate::CalculateResiduals()
          xyz[1] = points[pos].fY;
          xyz[2] = points[pos].fZ;
          padrow = points[pos].fPadRow;
-         //AliL3Transform::Global2Local(xyz,slice,kTRUE);
-         AliL3Transform::Global2LocHLT(xyz,slice);
+         //AliHLTTransform::Global2Local(xyz,slice,kTRUE);
+         AliHLTTransform::Global2LocHLT(xyz,slice);
          
          Float_t angle = 0;
-         AliL3Transform::Local2GlobalAngle(&angle,slice);
-         if(!track->CalculateReferencePoint(angle,AliL3Transform::Row2X(padrow)))
+         AliHLTTransform::Local2GlobalAngle(&angle,slice);
+         if(!track->CalculateReferencePoint(angle,AliHLTTransform::Row2X(padrow)))
            {
-             LOG(AliL3Log::kError,"AliL3Evaluate::CalculateResiduals","Crossing point")
+             LOG(AliHLTLog::kError,"AliHLTEvaluate::CalculateResiduals","Crossing point")
                <<"Track does not crossing padrow "<<padrow<<" in slice "<<slice<<ENDLOG;
              continue;
            }
          
          Float_t xyzcross[3] = {track->GetPointX(),track->GetPointY(),track->GetPointZ()};
-         //AliL3Transform::Global2Local(xyzcross,slice,kTRUE);   
-         AliL3Transform::Global2LocHLT(xyzcross,slice);
+         //AliHLTTransform::Global2Local(xyzcross,slice,kTRUE);          
+         AliHLTTransform::Global2LocHLT(xyzcross,slice);
          
          Double_t beta = track->GetCrossingAngle(padrow,slice);
          
@@ -775,14 +775,14 @@ void AliL3Evaluate::CalculateResiduals()
 
 enum tagprimary {kPrimaryCharged = 0x4000};
 #ifndef do_mc
-void AliL3Evaluate::EvaluatePoints(Char_t */*rootfile*/,Char_t */*exactfile*/,Char_t */*tofile*/,Int_t /*nevent*/,Bool_t /*offline*/,Bool_t /*sp*/)
+void AliHLTEvaluate::EvaluatePoints(Char_t */*rootfile*/,Char_t */*exactfile*/,Char_t */*tofile*/,Int_t /*nevent*/,Bool_t /*offline*/,Bool_t /*sp*/)
 {
   // Does nothing if do_mc undefined
   
-  cerr<<"AliL3Evaluate::EvaluatePoints : Compile with do_mc flag!"<<endl;
+  cerr<<"AliHLTEvaluate::EvaluatePoints : Compile with do_mc flag!"<<endl;
   return;
 #else
-void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *tofile,Int_t nevent,Bool_t offline,Bool_t sp)
+void AliHLTEvaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *tofile,Int_t nevent,Bool_t offline,Bool_t sp)
 {
   //Compare points to the exact crossing points of track and padrows.
   //The input file to this function, contains the exact clusters calculated
@@ -805,17 +805,17 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
   gAlice = (AliRun*)exfile->Get("gAlice");
   if (!gAlice) 
     {
-      LOG(AliL3Log::kError,"AliL3Evaluate::InitMC","gAlice")
+      LOG(AliHLTLog::kError,"AliHLTEvaluate::InitMC","gAlice")
        <<"AliRun object non existing on file"<<ENDLOG;
       return;
     }
 
-  AliTPCParam *param = (AliTPCParam*)exfile->Get(AliL3Transform::GetParamName());
+  AliTPCParam *param = (AliTPCParam*)exfile->Get(AliHLTTransform::GetParamName());
   
   TFile *exact = TFile::Open(exactfile);
   if(!exact)
     {
-      cerr<<"AliL3Evaluate::EvaluatePoints : Problems opening file :"<<exactfile<<endl;
+      cerr<<"AliHLTEvaluate::EvaluatePoints : Problems opening file :"<<exactfile<<endl;
       return;
     }
   
@@ -840,7 +840,7 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
       char treeName[500];
       sprintf(treeName,"TreeCExact_%s_%d",param->GetTitle(),event);
       Bool_t clusterok = arr->ConnectTree(treeName);//Segment Tree (for offline clusters)
-      if(!clusterok) {printf("AliL3Evaluate::EvaluatePoints : Error in clusterloading\n"); return;}
+      if(!clusterok) {printf("AliHLTEvaluate::EvaluatePoints : Error in clusterloading\n"); return;}
       
       //cout<<"Entering loop with "<<(Int_t)arr->GetTree()->GetEntries()<<endl;
       for(Int_t i=0; i<arr->GetTree()->GetEntries(); i++)
@@ -856,14 +856,14 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
          
          //Get the found clusters:
          Int_t slice,padrow;
-         AliL3Transform::Sector2Slice(slice,padrow,cursec,currow);
+         AliHLTTransform::Sector2Slice(slice,padrow,cursec,currow);
          if(slice < fMinSlice) continue;
          if(slice > fMaxSlice) break;
          
-         Int_t patch = AliL3Transform::GetPatch(padrow);
+         Int_t patch = AliHLTTransform::GetPatch(padrow);
          if(sp)
            patch=0;
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          if(!points)
            continue;
          
@@ -881,27 +881,27 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
              if(mcId <0) continue;
        
 #ifdef use_newio      
-             if(cluster->GetY() < 1 || cluster->GetY() > AliL3Transform::GetNPads(padrow) - 2 ||
-                cluster->GetX() < 1 || cluster->GetX() > AliL3Transform::GetNTimeBins() - 2)
+             if(cluster->GetY() < 1 || cluster->GetY() > AliHLTTransform::GetNPads(padrow) - 2 ||
+                cluster->GetX() < 1 || cluster->GetX() > AliHLTTransform::GetNTimeBins() - 2)
                continue;
 #else
-             if(cluster->fY < 1 || cluster->fY > AliL3Transform::GetNPads(padrow) - 2 ||
-                cluster->fX < 1 || cluster->fX > AliL3Transform::GetNTimeBins() - 2)
+             if(cluster->fY < 1 || cluster->fY > AliHLTTransform::GetNPads(padrow) - 2 ||
+                cluster->fX < 1 || cluster->fX > AliHLTTransform::GetNTimeBins() - 2)
                continue;
 #endif       
              Float_t xyzex[3];
              
 #ifdef use_newio
-             AliL3Transform::Raw2Local(xyzex,cursec,currow,cluster->GetY(),cluster->GetX());
+             AliHLTTransform::Raw2Local(xyzex,cursec,currow,cluster->GetY(),cluster->GetX());
 #else        
-             AliL3Transform::Raw2Local(xyzex,cursec,currow,cluster->fY,cluster->fX);
+             AliHLTTransform::Raw2Local(xyzex,cursec,currow,cluster->fY,cluster->fX);
 #endif       
              //In function AliTPC::Hits2ExactClusters the time offset is not included,
              //so we have to substract it again here.
              if(slice<18)
-               xyzex[2]-=AliL3Transform::GetZOffset();
+               xyzex[2]-=AliHLTTransform::GetZOffset();
              else
-               xyzex[2]+=AliL3Transform::GetZOffset();
+               xyzex[2]+=AliHLTTransform::GetZOffset();
              
              //Outside our cone:
              if(param->GetPadRowRadii(cursec,currow)<230./250.*fabs(xyzex[2]))
@@ -923,7 +923,7 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
                  Float_t xyzcl[3] = {points[c].fX,points[c].fY,points[c].fZ};
                  
                  if(!offline)
-                   AliL3Transform::Global2Local(xyzcl,cursec);
+                   AliHLTTransform::Global2Local(xyzcl,cursec);
                  tempcount++;
                  
                  if(points[c].fTrackID[0] != mcId &&
@@ -939,8 +939,8 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
                  Int_t charge = (Int_t)points[c].fCharge;
                  Float_t beta = GetCrossingAngle(part,slice,padrow,xyzex);
                  Double_t tanl = xyzex[2]/sqrt(xyzex[0]*xyzex[0]+xyzex[1]*xyzex[1]);
-                 Float_t psigmaY2 = AliL3Transform::GetParSigmaY2(padrow,xyzex[2],beta);
-                 Float_t psigmaZ2 = AliL3Transform::GetParSigmaZ2(padrow,xyzex[2],tanl);
+                 Float_t psigmaY2 = AliHLTTransform::GetParSigmaY2(padrow,xyzex[2],beta);
+                 Float_t psigmaZ2 = AliHLTTransform::GetParSigmaZ2(padrow,xyzex[2],tanl);
                  Float_t sigmaY2 = points[c].fSigmaY2;
                  Float_t sigmaZ2 = points[c].fSigmaZ2;
                  ntuppel->Fill(slice,padrow,charge,resy,resz,xyzex[2],part->Pt(),beta,sigmaY2,sigmaZ2,psigmaY2,psigmaZ2);
@@ -962,14 +962,14 @@ void AliL3Evaluate::EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *to
 }
 
 #ifndef do_mc
-void AliL3Evaluate::GetCFeff(Char_t */*path*/,Char_t */*outfile*/,Int_t /*nevent*/,Bool_t /*sp*/)
+void AliHLTEvaluate::GetCFeff(Char_t */*path*/,Char_t */*outfile*/,Int_t /*nevent*/,Bool_t /*sp*/)
 {
   // Does nothing if do_mc undefined
   
-  cerr<<"AliL3Evaluate::GetCFeff : Compile with do_mc flag"<<endl;
+  cerr<<"AliHLTEvaluate::GetCFeff : Compile with do_mc flag"<<endl;
   return;
 #else
-void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp)
+void AliHLTEvaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp)
 {
   //Evaluate the cluster finder efficiency.
   
@@ -983,7 +983,7 @@ void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp
 
   AliStack *astack=gAlice->Stack();
   
-  AliTPCParam *param = (AliTPCParam*)rfile->Get(AliL3Transform::GetParamName());
+  AliTPCParam *param = (AliTPCParam*)rfile->Get(AliHLTTransform::GetParamName());
       
   Int_t zero=param->GetZeroSup();
 
@@ -1016,7 +1016,7 @@ void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp
          crossed=recs=0;
          if (!TD->GetEvent(i)) continue;
          param->AdjustSectorRow(digits->GetID(),sec,row);
-         AliL3Transform::Sector2Slice(sl,sr,sec,row);
+         AliHLTTransform::Sector2Slice(sl,sr,sec,row);
          if(sl < fMinSlice) continue;
          if(sl > fMaxSlice) break;
          cout<<"Processing slice "<<sl<<" row "<<sr<<endl;
@@ -1026,7 +1026,7 @@ void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp
            Short_t dig = digits->GetDigit(it,ip);
            
            if(dig<=param->GetZeroSup()) continue;
-           AliL3Transform::Raw2Local(xyz,sec,row,ip,it);
+           AliHLTTransform::Raw2Local(xyz,sec,row,ip,it);
            if(param->GetPadRowRadii(sec,row)<230./250.*fabs(xyz[2]))
              continue;
            
@@ -1050,10 +1050,10 @@ void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp
                }
            }
 
-         Int_t patch = AliL3Transform::GetPatch(sr);
+         Int_t patch = AliHLTTransform::GetPatch(sr);
          if(sp==kTRUE)
            patch=0;
-         AliL3SpacePointData *points = fClusters[sl][patch];
+         AliHLTSpacePointData *points = fClusters[sl][patch];
          if(!points)
            continue;
          for(UInt_t k=0; k<fNcl[sl][patch]; k++)
@@ -1076,22 +1076,22 @@ void AliL3Evaluate::GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent,Bool_t sp
 #endif
 }
 
-Float_t AliL3Evaluate::GetCrossingAngle(TParticle *part,Int_t slice,Int_t /*padrow*/,Float_t *xyz)
+Float_t AliHLTEvaluate::GetCrossingAngle(TParticle *part,Int_t slice,Int_t /*padrow*/,Float_t *xyz)
 {
   //Calculate the padrow crossing angle of the particle
   
-  Double_t kappa = AliL3Transform::GetBField()*AliL3Transform::GetBFact()/part->Pt();
+  Double_t kappa = AliHLTTransform::GetBField()*AliHLTTransform::GetBFact()/part->Pt();
   
   Double_t radius = 1/fabs(kappa);
   if(part->GetPdgCode() > 0) kappa = -kappa;
 
   Float_t angl[1] = {part->Phi()};
   
-  AliL3Transform::Global2LocalAngle(angl,slice);
+  AliHLTTransform::Global2LocalAngle(angl,slice);
   
   Double_t charge = -1.*kappa;
 
-  Double_t trackPhi0 = angl[0] + charge*0.5*AliL3Transform::Pi()/fabs(charge);
+  Double_t trackPhi0 = angl[0] + charge*0.5*AliHLTTransform::Pi()/fabs(charge);
   
   Double_t x0=0;
   Double_t y0=0;
@@ -1109,7 +1109,7 @@ Float_t AliL3Evaluate::GetCrossingAngle(TParticle *part,Int_t slice,Int_t /*padr
   return acos(cosbeta);
 }
 
-Int_t AliL3Evaluate::FindPrimaries(Int_t nparticles)
+Int_t AliHLTEvaluate::FindPrimaries(Int_t nparticles)
 {
   // cuts:
   Double_t vertcut = 0.001;
similarity index 82%
rename from HLT/src/AliL3Evaluate.h
rename to HLT/src/AliHLTEvaluate.h
index d890bd5f30b8faaac925cf31d0ee75f5feff6f79..b4866011839efb6b248d4ddcbbe294610877201a 100644 (file)
@@ -4,25 +4,25 @@
 #define ALIL3_Evaluate
 
 
-class AliL3Track;
+class AliHLTTrack;
 class TClonesArray;
 class TFile;
-class AliL3TrackArray;
-class AliL3SpacePointData;
+class AliHLTTrackArray;
+class AliHLTSpacePointData;
 class TH1F;
 class AliTPCParam;
 class TTree;
 class AliSimDigits;
 class TObjArray;
 class TParticle;
-class AliL3FileHandler;
+class AliHLTFileHandler;
 class TClonesArray;
 class TNtuple;
 class TH1F;
 //#include <TNtuple.h>
 //#include <TH1F.h>
 
-class AliL3Evaluate {
+class AliHLTEvaluate {
 
 struct AliGoodTrack 
 {
@@ -45,9 +45,9 @@ typedef struct AliS AliS;
 
  private:
 
-  AliL3TrackArray *fTracks; //!
-  AliL3SpacePointData *fClusters[36][6]; //!
-  AliL3FileHandler *fClustersFile[36][6]; //!
+  AliHLTTrackArray *fTracks; //!
+  AliHLTSpacePointData *fClusters[36][6]; //!
+  AliHLTFileHandler *fClustersFile[36][6]; //!
   Char_t fPath[1024];      //path
   Int_t fMinSlice;         //min slice
   Int_t fMaxSlice;         //max slice
@@ -84,9 +84,9 @@ typedef struct AliS AliS;
   
   void Clear();
  public:
-  AliL3Evaluate();
-  AliL3Evaluate(Char_t *path,Int_t min_clusters,Int_t minhits,Double_t minpt=0.1,Double_t maxpt=4.,Int_t *slice=0);
-  virtual ~AliL3Evaluate();
+  AliHLTEvaluate();
+  AliHLTEvaluate(Char_t *path,Int_t min_clusters,Int_t minhits,Double_t minpt=0.1,Double_t maxpt=4.,Int_t *slice=0);
+  virtual ~AliHLTEvaluate();
   
   void LoadData(Int_t event=-1,Bool_t sp=kFALSE);
   void CreateHistos(Int_t nbin=20,Float_t xlow=0,Float_t xup=4);
@@ -99,8 +99,8 @@ typedef struct AliS AliS;
   void GetGoodParticles(Char_t *particlefile,Int_t event=-1,Int_t *padrowrange=0);
   void GetFastClusterIDs(Char_t *path);
   void GetCFeff(Char_t *path,Char_t *outfile,Int_t nevent=0,Bool_t sp=kFALSE);
-  Int_t GetMCTrackLabel(AliL3Track *track);
-  Float_t GetTrackPID(AliL3Track *track);
+  Int_t GetMCTrackLabel(AliHLTTrack *track);
+  Float_t GetTrackPID(AliHLTTrack *track);
   void CalculateResiduals();
   void EvaluatePoints(Char_t *rootfile,Char_t *exactfile,Char_t *tofile,Int_t nevent=1,Bool_t offline=kFALSE,Bool_t sp=kFALSE);
   Float_t GetCrossingAngle(TParticle *part,Int_t slice,Int_t padrow,Float_t *xyz);
@@ -117,9 +117,11 @@ typedef struct AliS AliS;
   TH1F *GetFakeEffEta() {return fFakeTrackEffEta;}
   TH1F *GetFakeEffPt() {return fFakeTrackEffPt;}
   TH1F *GetPtRes() {return fPtRes;}
-  AliL3TrackArray *GetTracks() {return fTracks;}
+  AliHLTTrackArray *GetTracks() {return fTracks;}
   
-  ClassDef(AliL3Evaluate,1) //Tracking evaluation class
+  ClassDef(AliHLTEvaluate,1) //Tracking evaluation class
 };
 
+typedef AliHLTEvaluate AliL3Evaluate; // for backward compatibility
+
 #endif
similarity index 73%
rename from HLT/src/AliL3FileHandler.cxx
rename to HLT/src/AliHLTFileHandler.cxx
index 50375b23baae9114856f10e26f6e39fd5e3c19d6..a81f1620ddc25e37b3cb6bd5c4df96bbeb16e97f 100644 (file)
@@ -3,7 +3,7 @@
 // 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 "AliHLTStandardIncludes.h"
 #include <TClonesArray.h>
 #include <TSystem.h>
 #include <TMath.h>
 #include <AliTPCClustersRow.h>
 #include <AliSimDigits.h>
 
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3TrackArray.h"
-#include "AliL3FileHandler.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTFileHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3FileHandler
+/** \class AliHLTFileHandler
 <pre>
 //_____________________________________________________________
-// AliL3FileHandler
+// AliHLTFileHandler
 //
 // The HLT ROOT <-> binary files handling class
 //
@@ -50,17 +50,17 @@ using namespace std;
 //
 // For reading a AliROOT file into HLT format in memory, do the following:
 //
-// AliL3FileHandler file;
+// AliHLTFileHandler file;
 // file.Init(slice,patch);
 // file.SetAliInput("galice.root");
-// AliL3DigitRowData *dataPt = (AliL3DigitRowData*)file.AliDigits2Memory(nrows,eventnr);
+// AliHLTDigitRowData *dataPt = (AliHLTDigitRowData*)file.AliDigits2Memory(nrows,eventnr);
 // 
 // All the data are then stored in memory and accessible via the pointer dataPt.
-// Accesing the data is then identical to the example 1) showed in AliL3MemHandler class.
+// Accesing the data is then identical to the example 1) showed in AliHLTMemHandler class.
 //
 // For converting the data back, and writing it to a new AliROOT file do:
 //
-// AliL3FileHandler file;
+// AliHLTFileHandler file;
 // file.Init(slice,patch);
 // file.SetAliInput("galice.root");
 // file.Init(slice,patch,NumberOfRowsInPatch);
@@ -69,24 +69,24 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3FileHandler)
+ClassImp(AliHLTFileHandler)
 
 // of course on start up the index is not created
-Bool_t AliL3FileHandler::fgStaticIndexCreated=kFALSE;
-Int_t  AliL3FileHandler::fgStaticIndex[36][159]; 
+Bool_t AliHLTFileHandler::fgStaticIndexCreated=kFALSE;
+Int_t  AliHLTFileHandler::fgStaticIndex[36][159]; 
 
-void AliL3FileHandler::CleanStaticIndex() 
+void AliHLTFileHandler::CleanStaticIndex() 
 { 
   // use this static call to clean static index after
   // running over one event
-  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+  for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+    for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
       fgStaticIndex[i][j]=-1;
   }
   fgStaticIndexCreated=kFALSE;
 }
 
-Int_t AliL3FileHandler::SaveStaticIndex(Char_t *prefix,Int_t event) 
+Int_t AliHLTFileHandler::SaveStaticIndex(Char_t *prefix,Int_t event) 
 { 
   // use this static call to store static index after
   if(!fgStaticIndexCreated) return -1;
@@ -100,8 +100,8 @@ Int_t AliL3FileHandler::SaveStaticIndex(Char_t *prefix,Int_t event)
   ofstream file(fname,ios::trunc);
   if(!file.good()) return -1;
 
-  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+  for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+    for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
       file << fgStaticIndex[i][j] << " ";
     file << endl;
   }
@@ -109,11 +109,11 @@ Int_t AliL3FileHandler::SaveStaticIndex(Char_t *prefix,Int_t event)
   return 0;
 }
 
-Int_t AliL3FileHandler::LoadStaticIndex(Char_t *prefix,Int_t event) 
+Int_t AliHLTFileHandler::LoadStaticIndex(Char_t *prefix,Int_t event) 
 { 
   // use this static call to store static index after
   if(fgStaticIndexCreated){
-      LOG(AliL3Log::kWarning,"AliL3FileHandler::LoadStaticIndex","Inxed")
+      LOG(AliHLTLog::kWarning,"AliHLTFileHandler::LoadStaticIndex","Inxed")
        <<"Static index already created, will overwrite"<<ENDLOG;
       CleanStaticIndex();
   }
@@ -127,8 +127,8 @@ Int_t AliL3FileHandler::LoadStaticIndex(Char_t *prefix,Int_t event)
   ifstream file(fname);
   if(!file.good()) return -1;
 
-  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+  for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+    for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
       file >> fgStaticIndex[i][j];
   }
   file.close();
@@ -137,7 +137,7 @@ Int_t AliL3FileHandler::LoadStaticIndex(Char_t *prefix,Int_t event)
   return 0;
 }
 
-AliL3FileHandler::AliL3FileHandler(Bool_t b)
+AliHLTFileHandler::AliHLTFileHandler(Bool_t b)
 {
   //Default constructor
   fInAli = 0;
@@ -151,14 +151,14 @@ AliL3FileHandler::AliL3FileHandler(Bool_t b)
   fIndexCreated=kFALSE;
   fUseStaticIndex=b;
 
-  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++)
-    for(Int_t j=0;j<AliL3Transform::GetNRows();j++) 
+  for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++)
+    for(Int_t j=0;j<AliHLTTransform::GetNRows();j++) 
       fIndex[i][j]=-1;
 
   if(fUseStaticIndex&&!fgStaticIndexCreated) CleanStaticIndex();
 }
 
-AliL3FileHandler::~AliL3FileHandler()
+AliHLTFileHandler::~AliHLTFileHandler()
 {
   //Destructor
   if(fMC) CloseMCOutput();
@@ -166,12 +166,12 @@ AliL3FileHandler::~AliL3FileHandler()
   if(fInAli) CloseAliInput();
 }
 
-void AliL3FileHandler::FreeDigitsTree()
+void AliHLTFileHandler::FreeDigitsTree()
 { 
   //free digits tree
   if(!fDigitsTree)
     {
-      LOG(AliL3Log::kInformational,"AliL3FileHandler::FreeDigitsTree()","Pointer")
+      LOG(AliHLTLog::kInformational,"AliHLTFileHandler::FreeDigitsTree()","Pointer")
        <<"Cannot free digitstree, it is not present"<<ENDLOG;
       return;
     }
@@ -182,42 +182,42 @@ void AliL3FileHandler::FreeDigitsTree()
 #endif
   fDigitsTree=0;
 
-  for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-    for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+  for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+    for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
       fIndex[i][j]=-1;
   }
   fIndexCreated=kFALSE;
 }
 
-Bool_t AliL3FileHandler::SetMCOutput(Char_t *name)
+Bool_t AliHLTFileHandler::SetMCOutput(Char_t *name)
 { 
   //set mc input
   fMC = fopen(name,"w");
   if(!fMC){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetMCOutput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetMCOutput","File Open")
       <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3FileHandler::SetMCOutput(FILE *file)
+Bool_t AliHLTFileHandler::SetMCOutput(FILE *file)
 { 
   //set mc output
   fMC = file;
   if(!fMC){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetMCOutput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetMCOutput","File Open")
       <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-void AliL3FileHandler::CloseMCOutput()
+void AliHLTFileHandler::CloseMCOutput()
 { 
   //close mc output
   if(!fMC){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::CloseMCOutPut","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::CloseMCOutPut","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -225,41 +225,41 @@ void AliL3FileHandler::CloseMCOutput()
   fMC =0;
 }
 
-Bool_t AliL3FileHandler::SetAliInput()
+Bool_t AliHLTFileHandler::SetAliInput()
 { 
   //set ali input
 #ifdef use_newio
   fInAli->CdGAFile();
   fParam = (AliTPCParam*)gFile->Get("75x40_100x60_150x60");
   if(!fParam){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetAliInput","File")
       <<"No TPC parameters found in \""<<gFile->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 "<<gFile->GetName()<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTFileHandler::SetAliInput","File Open")
+      <<"No AliTPCParam "<<AliHLTTransform::GetParamName()<<" in File "<<gFile->GetName()<<ENDLOG;
     return kFALSE;
   }
 #else
   if(!fInAli->IsOpen()){
-    LOG(AliL3Log::kError,"AliL3FileHandler::SetAliInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTFileHandler::SetAliInput","File Open")
       <<"Ali File "<<fInAli->GetName()<<" does not exist"<<ENDLOG;
     return kFALSE;
   }
-  fParam = (AliTPCParam*)fInAli->Get(AliL3Transform::GetParamName());
+  fParam = (AliTPCParam*)fInAli->Get(AliHLTTransform::GetParamName());
   if(!fParam){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::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;
+    LOG(AliHLTLog::kError,"AliHLTFileHandler::SetAliInput","File Open")
+      <<"No AliTPCParam "<<AliHLTTransform::GetParamName()<<" in File "<<fInAli->GetName()<<ENDLOG;
     return kFALSE;
   }
 #endif
@@ -267,7 +267,7 @@ Bool_t AliL3FileHandler::SetAliInput()
   return kTRUE;
 }
 
-Bool_t AliL3FileHandler::SetAliInput(Char_t *name)
+Bool_t AliHLTFileHandler::SetAliInput(Char_t *name)
 { 
   //Open the AliROOT file with name.
 #ifdef use_newio
@@ -276,7 +276,7 @@ Bool_t AliL3FileHandler::SetAliInput(Char_t *name)
   fInAli= new TFile(name,"READ");
 #endif
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetAliInput","File Open")
     <<"Pointer to fInAli = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -284,13 +284,13 @@ Bool_t AliL3FileHandler::SetAliInput(Char_t *name)
 }
 
 #ifdef use_newio
-Bool_t AliL3FileHandler::SetAliInput(AliRunLoader *runLoader)
+Bool_t AliHLTFileHandler::SetAliInput(AliRunLoader *runLoader)
 { 
   //set ali input as runloader
   fInAli=runLoader;
   fUseRunLoader = kTRUE;
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetAliInput","File Open")
     <<"Pointer to AliRunLoader = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -299,20 +299,20 @@ Bool_t AliL3FileHandler::SetAliInput(AliRunLoader *runLoader)
 #endif
 
 #ifdef use_newio
-Bool_t AliL3FileHandler::SetAliInput(TFile */*file*/)
+Bool_t AliHLTFileHandler::SetAliInput(TFile */*file*/)
 {
   //Specify already opened AliROOT file to use as an input.
-  LOG(AliL3Log::kFatal,"AliL3FileHandler::SetAliInput","File Open")
+  LOG(AliHLTLog::kFatal,"AliHLTFileHandler::SetAliInput","File Open")
     <<"This function is not supported for NEWIO, check ALIHLT_USENEWIO settings in Makefile.conf"<<ENDLOG;
   return kFALSE;
 }
 #else
-Bool_t AliL3FileHandler::SetAliInput(TFile *file)
+Bool_t AliHLTFileHandler::SetAliInput(TFile *file)
 { 
   //Specify already opened AliROOT file to use as an input.
   fInAli=file;
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::SetAliInput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::SetAliInput","File Open")
     <<"Pointer to fInAli = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -320,14 +320,14 @@ Bool_t AliL3FileHandler::SetAliInput(TFile *file)
 }
 #endif
 
-void AliL3FileHandler::CloseAliInput()
+void AliHLTFileHandler::CloseAliInput()
 { 
   //close ali input
 #ifdef use_newio
   if(fUseRunLoader) return;
 #endif
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::CloseAliInput","RunLoader")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::CloseAliInput","RunLoader")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -339,20 +339,20 @@ void AliL3FileHandler::CloseAliInput()
   fInAli = 0;
 }
 
-Bool_t AliL3FileHandler::IsDigit(Int_t event)
+Bool_t AliHLTFileHandler::IsDigit(Int_t event)
 {
   //Check if there is a TPC digit tree in the current file.
   //Return kTRUE if tree was found, and kFALSE if not found.
   
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::IsDigit","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::IsDigit","File")
     <<"Pointer to fInAli = 0x0 "<<ENDLOG;
     return kTRUE;  //maybe you are using binary input which is Digits!
   }
 #ifdef use_newio
   AliLoader* tpcLoader = fInAli->GetLoader("TPCLoader");
   if(!tpcLoader){
-    LOG(AliL3Log::kWarning,"AliL3FileHandlerNewIO::IsDigit","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandlerNewIO::IsDigit","File")
     <<"Pointer to AliLoader for TPC = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -361,28 +361,28 @@ Bool_t AliL3FileHandler::IsDigit(Int_t event)
   TTree *t=tpcLoader->TreeD();
 #else
   Char_t name[1024];
-  sprintf(name,"TreeD_%s_%d",AliL3Transform::GetParamName(),event);
+  sprintf(name,"TreeD_%s_%d",AliHLTTransform::GetParamName(),event);
   TTree *t=(TTree*)fInAli->Get(name);
 #endif
   if(t){
-    LOG(AliL3Log::kInformational,"AliL3FileHandlerNewIO::IsDigit","File Type")
+    LOG(AliHLTLog::kInformational,"AliHLTFileHandlerNewIO::IsDigit","File Type")
     <<"Found Digit Tree -> Use Fast Cluster Finder"<<ENDLOG;
     return kTRUE;
   }
   else{
-    LOG(AliL3Log::kInformational,"AliL3FileHandlerNewIO::IsDigit","File Type")
+    LOG(AliHLTLog::kInformational,"AliHLTFileHandlerNewIO::IsDigit","File Type")
     <<"No Digit Tree -> Use Cluster Tree"<<ENDLOG;
     return kFALSE;
   }
 }
 
 ///////////////////////////////////////// Digit IO  
-Bool_t AliL3FileHandler::AliDigits2Binary(Int_t event,Bool_t altro)
+Bool_t AliHLTFileHandler::AliDigits2Binary(Int_t event,Bool_t altro)
 {
   //save alidigits as binary
   Bool_t out = kTRUE;
   UInt_t nrow;
-  AliL3DigitRowData* data = 0;
+  AliHLTDigitRowData* data = 0;
   if(altro)
     data = AliAltroDigits2Memory(nrow,event);
   else
@@ -392,14 +392,14 @@ Bool_t AliL3FileHandler::AliDigits2Binary(Int_t event,Bool_t altro)
   return out;
 }
 
-Bool_t AliL3FileHandler::AliDigits2CompBinary(Int_t event,Bool_t altro)
+Bool_t AliHLTFileHandler::AliDigits2CompBinary(Int_t event,Bool_t altro)
 {
   //Convert AliROOT TPC data, into HLT data format.
   //event specifies the event you want in the aliroot file.
   
   Bool_t out = kTRUE;
   UInt_t ndigits=0;
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
   if(altro)
     digits = AliAltroDigits2Memory(ndigits,event);
   else
@@ -409,13 +409,13 @@ Bool_t AliL3FileHandler::AliDigits2CompBinary(Int_t event,Bool_t altro)
   return out;
 }
 
-Bool_t AliL3FileHandler::CreateIndex()
+Bool_t AliHLTFileHandler::CreateIndex()
 {
   //create the access index or copy from static index
   fIndexCreated=kFALSE;
 
   if(!fgStaticIndexCreated || !fUseStaticIndex) { //we have to create index 
-    LOG(AliL3Log::kInformational,"AliL3FileHandler::CreateIndex","Index")
+    LOG(AliHLTLog::kInformational,"AliHLTFileHandler::CreateIndex","Index")
       <<"Starting to create index, this can take a while."<<ENDLOG;
 
     for(Int_t n=0; n<fDigitsTree->GetEntries(); n++) {
@@ -423,9 +423,9 @@ Bool_t AliL3FileHandler::CreateIndex()
       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 "
+      if(!AliHLTTransform::Sector2Slice(lslice,lrow,sector,row)){
+       LOG(AliHLTLog::kError,"AliHLTFileHandler::CreateIndex","Slice/Row")
+         <<AliHLTLog::kDec<<"Index could not be created. Wrong values "
          <<sector<<" "<<row<<ENDLOG;
        return kFALSE;
       }
@@ -434,46 +434,46 @@ Bool_t AliL3FileHandler::CreateIndex()
       }
     }
     if(fUseStaticIndex) { // create static index
-      for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-       for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+      for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+       for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
          fgStaticIndex[i][j]=fIndex[i][j];
       }
       fgStaticIndexCreated=kTRUE; //remember that index has been created
     }
 
-  LOG(AliL3Log::kInformational,"AliL3FileHandler::CreateIndex","Index")
+  LOG(AliHLTLog::kInformational,"AliHLTFileHandler::CreateIndex","Index")
     <<"Index successfully created."<<ENDLOG;
 
   } else if(fUseStaticIndex) { //simply copy static index
-    for(Int_t i=0;i<AliL3Transform::GetNSlice();i++){
-      for(Int_t j=0;j<AliL3Transform::GetNRows();j++)
+    for(Int_t i=0;i<AliHLTTransform::GetNSlice();i++){
+      for(Int_t j=0;j<AliHLTTransform::GetNRows();j++)
        fIndex[i][j]=fgStaticIndex[i][j];
     }
 
-  LOG(AliL3Log::kInformational,"AliL3FileHandler::CreateIndex","Index")
+  LOG(AliHLTLog::kInformational,"AliHLTFileHandler::CreateIndex","Index")
     <<"Index successfully taken from static copy."<<ENDLOG;
   }
   fIndexCreated=kTRUE;
   return kTRUE;
 }
 
-AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event)
+AliHLTDigitRowData * AliHLTFileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event)
 {
   //Read data from AliROOT file into memory, and store it in the HLT data format.
   //Returns a pointer to the data.
 
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
   
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2Memory","File")
     <<"No Input avalible: Pointer to fInAli == NULL"<<ENDLOG;
     return 0; 
   }
 
 #ifndef use_newio
   if(!fInAli->IsOpen()){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2Memory","File")
     <<"No Input avalible: TFile not opened"<<ENDLOG;
     return 0;
   }
@@ -489,12 +489,12 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
   Int_t ndigitcount=0;
   Int_t entries = (Int_t)fDigitsTree->GetEntries();
   if(entries==0) {
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2Memory","ndigits")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2Memory","ndigits")
       <<"No TPC digits (entries==0)!"<<ENDLOG;
     nrow = (UInt_t)(fRowMax-fRowMin+1);
-    Int_t size = nrow*sizeof(AliL3DigitRowData);
-    data=(AliL3DigitRowData*) Allocate(size);
-    AliL3DigitRowData *tempPt = data;
+    Int_t size = nrow*sizeof(AliHLTDigitRowData);
+    data=(AliHLTDigitRowData*) Allocate(size);
+    AliHLTDigitRowData *tempPt = data;
     for(Int_t r=fRowMin;r<=fRowMax;r++){
       tempPt->fRow = r;
       tempPt->fNDigit = 0;
@@ -511,11 +511,11 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
     if(n!=-1){ //data on that row
       fDigitsTree->GetEvent(n);
       fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+      AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
 
       if(lrow!=r){
-       LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2Memory","Row")
-         <<AliL3Log::kDec<<"Rows in slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2Memory","Row")
+         <<AliHLTLog::kDec<<"Rows in slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
        continue;
       }
 
@@ -526,10 +526,10 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
        pad=fDigits->CurrentColumn();
        dig = fDigits->GetDigit(time,pad);
        if(dig <= fParam->GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
+       if(dig >= AliHLTTransform::GetADCSat())
+         dig = AliHLTTransform::GetADCSat();
       
-       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
        //      if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
        //        continue; // why 230???
 
@@ -542,15 +542,15 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
     nrows++;
   }
 
-  Int_t size = sizeof(AliL3DigitData)*ndigitcount
-    + nrows*sizeof(AliL3DigitRowData);
+  Int_t size = sizeof(AliHLTDigitData)*ndigitcount
+    + nrows*sizeof(AliHLTDigitRowData);
 
-  LOG(AliL3Log::kDebug,"AliL3FileHandler::AliDigits2Memory","Digits")
-    <<AliL3Log::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTFileHandler::AliDigits2Memory","Digits")
+    <<AliHLTLog::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
   
-  data=(AliL3DigitRowData*) Allocate(size);
+  data=(AliHLTDigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
-  AliL3DigitRowData *tempPt = data;
+  AliHLTDigitRowData *tempPt = data;
 
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     Int_t n=fIndex[fSlice][r];
@@ -560,10 +560,10 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
     if(n!=-1){//data on that row
       fDigitsTree->GetEvent(n);
       fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+      AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
       if(lrow!=r){
-       LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2Memory","Row")
-         <<AliL3Log::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2Memory","Row")
+         <<AliHLTLog::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
        continue;
       }
 
@@ -576,17 +576,17 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
        pad=fDigits->CurrentColumn();
        dig = fDigits->GetDigit(time,pad);
        if (dig <= fParam->GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
+       if(dig >= AliHLTTransform::GetADCSat())
+         dig = AliHLTTransform::GetADCSat();
 
        //Exclude data outside cone:
-       AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       AliHLTTransform::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 "
+         LOG(AliHLTLog::kFatal,"AliHLTFileHandler::AliDigits2Binary","Memory")
+           <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
            <<ndigits[lrow]<<ENDLOG;
        
        tempPt->fDigitData[localcount].fCharge=dig;
@@ -601,16 +601,16 @@ AliL3DigitRowData * AliL3FileHandler::AliDigits2Memory(UInt_t & nrow,Int_t event
       } while (fDigits->Next());
     }
     Byte_t *tmp = (Byte_t*)tempPt;
-    Int_t size = sizeof(AliL3DigitRowData)
-                                      + ndigits[lrow]*sizeof(AliL3DigitData);
+    Int_t size = sizeof(AliHLTDigitRowData)
+                                      + ndigits[lrow]*sizeof(AliHLTDigitData);
     tmp += size;
-    tempPt = (AliL3DigitRowData*)tmp;
+    tempPt = (AliHLTDigitRowData*)tmp;
   }
   delete [] ndigits;
   return data;
 }
 
-AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t event,Bool_t eventmerge)
+AliHLTDigitRowData * AliHLTFileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t event,Bool_t eventmerge)
 {
   //Read data from AliROOT file into memory, and store it in the HLT data format.
   //Returns a pointer to the data.
@@ -618,24 +618,24 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
   //are removed are timebins which have the 4 zero neighbours; 
   //(pad-1,time),(pad+1,time),(pad,time-1),(pad,time+1).
   
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
   
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliAltroDigits2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliAltroDigits2Memory","File")
     <<"No Input avalible: Pointer to TFile == NULL"<<ENDLOG;
     return 0; 
   }
 #ifndef use_newio
   if(!fInAli->IsOpen()){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliAltroDigits2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliAltroDigits2Memory","File")
     <<"No Input avalible: TFile not opened"<<ENDLOG;
     return 0;
   }
 #endif
   if(eventmerge == kTRUE && event >= 1024)
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliAltroDigits2Memory","TrackIDs")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliAltroDigits2Memory","TrackIDs")
        <<"Too many events if you want to merge!"<<ENDLOG;
       return 0;
     }
@@ -658,12 +658,12 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
   Int_t ndigitcount=0;
   Int_t entries = (Int_t)fDigitsTree->GetEntries();
   if(entries==0) {
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliAltroDigits2Memory","ndigits")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliAltroDigits2Memory","ndigits")
       <<"No TPC digits (entries==0)!"<<ENDLOG;
     nrow = (UInt_t)(fRowMax-fRowMin+1);
-    Int_t size = nrow*sizeof(AliL3DigitRowData);
-    data=(AliL3DigitRowData*) Allocate(size);
-    AliL3DigitRowData *tempPt = data;
+    Int_t size = nrow*sizeof(AliHLTDigitRowData);
+    data=(AliHLTDigitRowData*) Allocate(size);
+    AliHLTDigitRowData *tempPt = data;
     for(Int_t r=fRowMin;r<=fRowMax;r++){
       tempPt->fRow = r;
       tempPt->fNDigit = 0;
@@ -673,7 +673,7 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
   }
   Int_t * ndigits = new Int_t[fRowMax+1];
   Int_t lslice,lrow;
-  Int_t zerosupval=AliL3Transform::GetZeroSup();
+  Int_t zerosupval=AliHLTTransform::GetZeroSup();
   Float_t xyz[3];
 
   for(Int_t r=fRowMin;r<=fRowMax;r++){
@@ -684,11 +684,11 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
     if(n!=-1){//data on that row
       fDigitsTree->GetEvent(n);
       fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+      AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
       //cout << lslice << " " << fSlice << " " << lrow << " " << r << " " << sector << " " << row << endl;
       if((lslice!=fSlice)||(lrow!=r)){
-       LOG(AliL3Log::kError,"AliL3FileHandler::AliAltroDigits2Memory","Row")
-         <<AliL3Log::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTFileHandler::AliAltroDigits2Memory","Row")
+         <<AliHLTLog::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
        continue;
       }
 
@@ -700,8 +700,8 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
          time=j;
          dig = fDigits->GetDigitFast(time,pad);
          if(dig <= zerosupval) continue;
-         if(dig >= AliL3Transform::GetADCSat())
-           dig = AliL3Transform::GetADCSat();
+         if(dig >= AliHLTTransform::GetADCSat())
+           dig = AliHLTTransform::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)
@@ -791,7 +791,7 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
                }
            }
 
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+         AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
          //      if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2]))
          //      continue; 
              
@@ -803,15 +803,15 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
     nrows++;
   }
   
-  Int_t size = sizeof(AliL3DigitData)*ndigitcount
-    + nrows*sizeof(AliL3DigitRowData);
+  Int_t size = sizeof(AliHLTDigitData)*ndigitcount
+    + nrows*sizeof(AliHLTDigitRowData);
 
-  LOG(AliL3Log::kDebug,"AliL3FileHandler::AliAltroDigits2Memory","Digits")
-    <<AliL3Log::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTFileHandler::AliAltroDigits2Memory","Digits")
+    <<AliHLTLog::kDec<<"Found "<<ndigitcount<<" Digits"<<ENDLOG;
   
-  data=(AliL3DigitRowData*) Allocate(size);
+  data=(AliHLTDigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
-  AliL3DigitRowData *tempPt = data;
+  AliHLTDigitRowData *tempPt = data;
  
   for(Int_t r=fRowMin;r<=fRowMax;r++){
     Int_t n=fIndex[fSlice][r];
@@ -820,11 +820,11 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
     if(n!=-1){ //no data on that row
       fDigitsTree->GetEvent(n);
       fParam->AdjustSectorRow(fDigits->GetID(),sector,row);
-      AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+      AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
 
       if(lrow!=r){
-       LOG(AliL3Log::kError,"AliL3FileHandler::AliAltroDigits2Memory","Row")
-         <<AliL3Log::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTFileHandler::AliAltroDigits2Memory","Row")
+         <<AliHLTLog::kDec<<"Rows on slice " << fSlice << " dont match "<<lrow<<" "<<r<<ENDLOG;
        continue;
       }
 
@@ -839,8 +839,8 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
          time=j;
          dig = fDigits->GetDigitFast(time,pad);
          if(dig <= zerosupval) continue;
-         if(dig >= AliL3Transform::GetADCSat())
-           dig = AliL3Transform::GetADCSat();
+         if(dig >= AliHLTTransform::GetADCSat())
+           dig = AliHLTTransform::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)
@@ -929,13 +929,13 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
                }
            }
        
-         AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+         AliHLTTransform::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::AliAltroDigits2Binary","Memory")
-             <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+           LOG(AliHLTLog::kFatal,"AliHLTFileHandler::AliAltroDigits2Binary","Memory")
+             <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
              <<ndigits[lrow]<<ENDLOG;
        
          tempPt->fDigitData[localcount].fCharge=dig;
@@ -960,22 +960,22 @@ AliL3DigitRowData * AliL3FileHandler::AliAltroDigits2Memory(UInt_t & nrow,Int_t
       }
     }
     Byte_t *tmp = (Byte_t*)tempPt;
-    Int_t size = sizeof(AliL3DigitRowData)
-      + ndigits[r]*sizeof(AliL3DigitData);
+    Int_t size = sizeof(AliHLTDigitRowData)
+      + ndigits[r]*sizeof(AliHLTDigitData);
     tmp += size;
-    tempPt = (AliL3DigitRowData*)tmp;
+    tempPt = (AliHLTDigitRowData*)tmp;
   }
   delete [] ndigits;
   return data;
 }
  
-Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
+Bool_t AliHLTFileHandler::GetDigitsTree(Int_t event)
 {
   //Connects to the TPC digit tree in the AliROOT file.
 #ifdef use_newio
   AliLoader* tpcLoader = fInAli->GetLoader("TPCLoader");
   if(!tpcLoader){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::GetDigitsTree","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::GetDigitsTree","File")
     <<"Pointer to AliLoader for TPC = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -985,13 +985,13 @@ Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
 #else  
   fInAli->cd();
   Char_t dname[100];
-  sprintf(dname,"TreeD_%s_%d",AliL3Transform::GetParamName(),event);
+  sprintf(dname,"TreeD_%s_%d",AliHLTTransform::GetParamName(),event);
   fDigitsTree = (TTree*)fInAli->Get(dname);
 #endif
   if(!fDigitsTree) 
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::GetDigitsTree","Digits Tree")
-       <<AliL3Log::kHex<<"Error getting digitstree "<<(void*)fDigitsTree<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::GetDigitsTree","Digits Tree")
+       <<AliHLTLog::kHex<<"Error getting digitstree "<<(void*)fDigitsTree<<ENDLOG;
       return kFALSE;
     }
   fDigitsTree->GetBranch("Segment")->SetAddress(&fDigits);
@@ -1000,7 +1000,7 @@ Bool_t AliL3FileHandler::GetDigitsTree(Int_t event)
   else return kTRUE;
 }
 
-void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile)
+void AliHLTFileHandler::AliDigits2RootFile(AliHLTDigitRowData *rowPt,Char_t *new_digitsfile)
 {
   //Write the data stored in rowPt, into a new AliROOT file.
   //The data is stored in the AliROOT format 
@@ -1012,13 +1012,13 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
 
   if(!fInAli)
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","File")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","File")
        <<"No rootfile "<<ENDLOG;
       return;
     }
   if(!fParam)
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","File")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","File")
        <<"No parameter object. Run on rootfile "<<ENDLOG;
       return;
     }
@@ -1027,7 +1027,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
   //Get the original digitstree:
   AliLoader* tpcLoader = fInAli->GetLoader("TPCLoader");
   if(!tpcLoader){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2RootFile","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2RootFile","File")
     <<"Pointer to AliLoader for TPC = 0x0 "<<ENDLOG;
     return;
   }
@@ -1041,7 +1041,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
   Bool_t ok = old_array->ConnectTree(t);
   if(!ok)
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","File")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","File")
        << "No digits tree object" << ENDLOG;
       return;
     }
@@ -1058,7 +1058,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
   
   //Get the original digitstree:
   Char_t dname[100];
-  sprintf(dname,"TreeD_%s_0",AliL3Transform::GetParamName());
+  sprintf(dname,"TreeD_%s_0",AliHLTTransform::GetParamName());
 
   fInAli->cd();
   AliTPCDigitsArray *old_array = new AliTPCDigitsArray();
@@ -1068,7 +1068,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
   Bool_t ok = old_array->ConnectTree(dname);
   if(!ok)
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","File")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","File")
        <<"No digits tree object." <<ENDLOG;
       return;
     }
@@ -1078,7 +1078,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
   
   if(gSystem->AccessPathName(new_digitsfile))
     {
-      LOG(AliL3Log::kInformational,"AliL3FileHandler::AliDigits2RootFile","File")
+      LOG(AliHLTLog::kInformational,"AliHLTFileHandler::AliDigits2RootFile","File")
        <<"Creating new file "<<new_digitsfile<<ENDLOG;
       create = kTRUE;
       digFile = TFile::Open(new_digitsfile,"RECREATE");
@@ -1092,7 +1092,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
     }
   if(!digFile->IsOpen())
     {
-      LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","Rootfile")
+      LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","Rootfile")
        <<"Error opening rootfile "<<new_digitsfile<<ENDLOG;
       return;
     }
@@ -1110,7 +1110,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
       Bool_t ok = arr->ConnectTree(dname);
       if(!ok)
        {
-         LOG(AliL3Log::kError,"AliL3FileHandler::AliDigits2RootFile","Rootfile")
+         LOG(AliHLTLog::kError,"AliHLTFileHandler::AliDigits2RootFile","Rootfile")
            <<"No digits tree object in existing file"<<ENDLOG;
          return;
        }
@@ -1123,11 +1123,11 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
     {
       
       if((Int_t)rowPt->fRow != i) 
-       LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2RootFile","Data")
+       LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2RootFile","Data")
          <<"Mismatching row numbering "<<(Int_t)rowPt->fRow<<" "<<i<<ENDLOG;
             
       Int_t sector,row;
-      AliL3Transform::Slice2Sector(fSlice,i,sector,row);
+      AliHLTTransform::Slice2Sector(fSlice,i,sector,row);
       
       AliSimDigits *old_dig = (AliSimDigits*)old_array->LoadRow(sector,row);
       AliSimDigits * dig = (AliSimDigits*)arr->CreateRow(sector,row);
@@ -1137,10 +1137,10 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
       dig->ExpandTrackBuffer();
       
       if(!old_dig)
-       LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2RootFile","Data")
+       LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2RootFile","Data")
          <<"No padrow " << sector << " " << row <<ENDLOG;
 
-      AliL3DigitData *digPt = rowPt->fDigitData;
+      AliHLTDigitData *digPt = rowPt->fDigitData;
       digcounter=0;
       for(UInt_t j=0; j<rowPt->fNDigit; j++)
        {
@@ -1150,7 +1150,7 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
          
          if(charge == 0) //Only write the digits that has not been removed
            {
-             LOG(AliL3Log::kWarning,"AliL3FileHandler::AliDigits2RootFile","Data")
+             LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliDigits2RootFile","Data")
                <<"Zero charge" <<ENDLOG;
              continue;
            }
@@ -1200,30 +1200,30 @@ void AliL3FileHandler::AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_d
 }
 
 ///////////////////////////////////////// Point IO  
-Bool_t AliL3FileHandler::AliPoints2Binary(Int_t eventn)
+Bool_t AliHLTFileHandler::AliPoints2Binary(Int_t eventn)
 {
   //points to binary
   Bool_t out = kTRUE;
   UInt_t npoint;
-  AliL3SpacePointData *data = AliPoints2Memory(npoint,eventn);
+  AliHLTSpacePointData *data = AliPoints2Memory(npoint,eventn);
   out = Memory2Binary(npoint,data);
   Free();
   return out;
 }
 
-AliL3SpacePointData * AliL3FileHandler::AliPoints2Memory(UInt_t & npoint,Int_t eventn)
+AliHLTSpacePointData * AliHLTFileHandler::AliPoints2Memory(UInt_t & npoint,Int_t eventn)
 {
   //points to memory
-  AliL3SpacePointData *data = 0;
+  AliHLTSpacePointData *data = 0;
   npoint=0;
   if(!fInAli){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliPoints2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliPoints2Memory","File")
     <<"No Input avalible: no object fInAli"<<ENDLOG;
     return 0;
   }
 #ifndef use_newio
   if(!fInAli->IsOpen()){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliPoints2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliPoints2Memory","File")
     <<"No Input avalible: TFile not opend"<<ENDLOG;
     return 0;
   }
@@ -1233,7 +1233,7 @@ AliL3SpacePointData * AliL3FileHandler::AliPoints2Memory(UInt_t & npoint,Int_t e
 #ifdef use_newio
   AliLoader* tpcLoader = fInAli->GetLoader("TPCLoader");
   if(!tpcLoader){
-    LOG(AliL3Log::kWarning,"AliL3FileHandler::AliPoints2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTFileHandler::AliPoints2Memory","File")
     <<"Pointer to AliLoader for TPC = 0x0 "<<ENDLOG;
     return 0;
   }
@@ -1271,18 +1271,18 @@ AliL3SpacePointData * AliL3FileHandler::AliPoints2Memory(UInt_t & npoint,Int_t e
     rows[i] = row;
     sects[i] = sector;
     clusterrow[i] = 0;
-    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+    AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
     if(fSlice != lslice || lrow<fRowMin || lrow>fRowMax) continue;
     clusterrow[i] = carray.GetRow(sector,row);
     if(clusterrow[i])
       sum+=clusterrow[i]->GetArray()->GetEntriesFast();
   }
-  UInt_t size = sum*sizeof(AliL3SpacePointData);
+  UInt_t size = sum*sizeof(AliHLTSpacePointData);
 
-  LOG(AliL3Log::kDebug,"AliL3FileHandler::AliPoints2Memory","File")
-  <<AliL3Log::kDec<<"Found "<<sum<<" SpacePoints"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTFileHandler::AliPoints2Memory","File")
+  <<AliHLTLog::kDec<<"Found "<<sum<<" SpacePoints"<<ENDLOG;
 
-  data = (AliL3SpacePointData *) Allocate(size);
+  data = (AliHLTSpacePointData *) Allocate(size);
   npoint = sum;
   UInt_t n=0; 
   Int_t pat=fPatch;
@@ -1292,7 +1292,7 @@ AliL3SpacePointData * AliL3FileHandler::AliPoints2Memory(UInt_t & npoint,Int_t e
     if(!clusterrow[i]) continue;
     Int_t row = rows[i];
     Int_t sector = sects[i];
-    AliL3Transform::Sector2Slice(lslice,lrow,sector,row);
+    AliHLTTransform::Sector2Slice(lslice,lrow,sector,row);
     Int_t entries_in_row = clusterrow[i]->GetArray()->GetEntriesFast();
     for(Int_t j = 0;j<entries_in_row;j++){
       AliTPCcluster *c = (AliTPCcluster*)(*clusterrow[i])[j];
similarity index 69%
rename from HLT/src/AliL3FileHandler.h
rename to HLT/src/AliHLTFileHandler.h
index 2f076b56d3d474404910911809a687c4bd36f08a..49cfe4938bbd2f9890eefb4a66b6cb48a2b43414 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef ALIL3FILEHANDLER_H
 #define ALIL3FILEHANDLER_H
 
-#include "AliL3MemHandler.h"
+#include "AliHLTMemHandler.h"
 
 class TClonesArray;
 
@@ -17,12 +17,12 @@ class TClonesArray;
 #include <TFile.h>
 #include <TTree.h>
 
-class AliL3SpacePointData;
-class AliL3DigitRowData;
-class AliL3TrackSegmentData;
-class AliL3TrackArray;
+class AliHLTSpacePointData;
+class AliHLTDigitRowData;
+class AliHLTTrackSegmentData;
+class AliHLTTrackArray;
 
-class AliL3FileHandler:public AliL3MemHandler{
+class AliHLTFileHandler:public AliHLTMemHandler{
 
  protected:
 #ifdef use_newio
@@ -50,8 +50,8 @@ class AliL3FileHandler:public AliL3MemHandler{
   Bool_t CreateIndex();  //create the index
 
  public:
-  AliL3FileHandler(Bool_t b=kFALSE);
-  ~AliL3FileHandler();
+  AliHLTFileHandler(Bool_t b=kFALSE);
+  ~AliHLTFileHandler();
 
   void FreeDigitsTree();
   static void CleanStaticIndex();
@@ -73,17 +73,19 @@ class AliL3FileHandler:public AliL3MemHandler{
 
   //Digit IO
   Bool_t AliDigits2Binary(Int_t event=0,Bool_t altro=kFALSE);
-  AliL3DigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
-  AliL3DigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t eventmerge=kFALSE); 
+  AliHLTDigitRowData *AliDigits2Memory(UInt_t & nrow,Int_t event=0); //Allocates Memory
+  AliHLTDigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t eventmerge=kFALSE); 
   //Allocates Memory
   Bool_t AliDigits2CompBinary(Int_t event=0,Bool_t altro=kFALSE);  
-  void AliDigits2RootFile(AliL3DigitRowData *rowPt,Char_t *new_digitsfile);
+  void AliDigits2RootFile(AliHLTDigitRowData *rowPt,Char_t *new_digitsfile);
 
   //Point IO
   Bool_t AliPoints2Binary(Int_t eventn=0);
-  AliL3SpacePointData *AliPoints2Memory(UInt_t & npoint,Int_t eventn=0);//Allocates Memory
+  AliHLTSpacePointData *AliPoints2Memory(UInt_t & npoint,Int_t eventn=0);//Allocates Memory
 
-  ClassDef(AliL3FileHandler,1)   //Filehandler class
+  ClassDef(AliHLTFileHandler,1)   //Filehandler class
 };
 
+typedef AliHLTFileHandler AliL3FileHandler; // for backward compatibility
+
 #endif
similarity index 86%
rename from HLT/src/AliL3Fitter.cxx
rename to HLT/src/AliHLTFitter.cxx
index fe9035fc7a5e57bebff00a09000b256d2fc164e7..ee35ccd243056ecc11c707813933b1d147fa2140 100644 (file)
@@ -3,51 +3,51 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
 
-/** \class AliL3Fitter
+/** \class AliHLTFitter
 <pre>
 //_____________________________________________________________
-// AliL3Fitter
+// AliHLTFitter
 //
 // Fit class HLT for helix
 </pre>
 */
 
 #include <math.h>
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3Fitter.h"
-#include "AliL3Vertex.h"
-#include "AliL3Track.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Transform.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTFitter.h"
+#include "AliHLTVertex.h"
+#include "AliHLTTrack.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTTransform.h"
 #include "AliLevel3.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3Fitter)
+ClassImp(AliHLTFitter)
 
 
-AliL3Fitter::AliL3Fitter()
+AliHLTFitter::AliHLTFitter()
 {
   //constructor
   fTrack=0;
   fVertex=0;
-  memset(fClusters,0,36*6*sizeof(AliL3SpacePointData*));
+  memset(fClusters,0,36*6*sizeof(AliHLTSpacePointData*));
 }
 
-AliL3Fitter::AliL3Fitter(AliL3Vertex *vertex,Bool_t vertexconstraint)
+AliHLTFitter::AliHLTFitter(AliHLTVertex *vertex,Bool_t vertexconstraint)
 {
   //constructor
   fTrack=0;
   fVertex = vertex;
   fVertexConstraint=vertexconstraint;
-  memset(fClusters,0,36*6*sizeof(AliL3SpacePointData*));
+  memset(fClusters,0,36*6*sizeof(AliHLTSpacePointData*));
 }
 
-AliL3Fitter::~AliL3Fitter()
+AliHLTFitter::~AliHLTFitter()
 {
   //destructor
   for(Int_t i=0; i<36; i++)
@@ -60,11 +60,11 @@ AliL3Fitter::~AliL3Fitter()
     }
 }
 
-void AliL3Fitter::LoadClusters(Char_t *path,Int_t event,Bool_t sp)
+void AliHLTFitter::LoadClusters(Char_t *path,Int_t event,Bool_t sp)
 {
   //load clusters
   Char_t fname[256];
-  AliL3MemHandler *clusterfile[36][6];
+  AliHLTMemHandler *clusterfile[36][6];
   for(Int_t s=0; s<=35; s++)
     {
       for(Int_t p=0; p<6; p++)
@@ -77,7 +77,7 @@ void AliL3Fitter::LoadClusters(Char_t *path,Int_t event,Bool_t sp)
          if(fClusters[s][p])
            delete fClusters[s][p];
          fClusters[s][p] = 0;
-         clusterfile[s][p] = new AliL3MemHandler();
+         clusterfile[s][p] = new AliHLTMemHandler();
          sprintf(fname,"%s/points_%d_%d_%d.raw",path,event,s,patch);
          if(!clusterfile[s][p]->SetBinaryInput(fname))
            {
@@ -85,7 +85,7 @@ void AliL3Fitter::LoadClusters(Char_t *path,Int_t event,Bool_t sp)
               clusterfile[s][p] = 0; 
              continue;
            }
-         fClusters[s][p] = (AliL3SpacePointData*)clusterfile[s][p]->Allocate();
+         fClusters[s][p] = (AliHLTSpacePointData*)clusterfile[s][p]->Allocate();
          clusterfile[s][p]->Binary2Memory(fNcl[s][p],fClusters[s][p]);
          clusterfile[s][p]->CloseBinaryInput();
          if(sp==kTRUE)
@@ -94,7 +94,7 @@ void AliL3Fitter::LoadClusters(Char_t *path,Int_t event,Bool_t sp)
     }
 }
 
-void AliL3Fitter::SortTrackClusters(AliL3Track *track) const
+void AliHLTFitter::SortTrackClusters(AliHLTTrack *track) const
 {
   //Sort the internal cluster list in each track with respect to row numbering.
   //This may be necessary when no conventional track follower has been
@@ -122,7 +122,7 @@ void AliL3Fitter::SortTrackClusters(AliL3Track *track) const
          slice = (id>>25) & 0x7f;
          patch = (id>>22) & 0x7;
          pos = id&0x3fffff;          
-         AliL3SpacePointData *points = fClusters[slice][patch];
+         AliHLTSpacePointData *points = fClusters[slice][patch];
          padrow = points[pos].fPadRow;
          if(padrow > maxrow)
            {
@@ -140,26 +140,26 @@ void AliL3Fitter::SortTrackClusters(AliL3Track *track) const
   delete [] mk;
 }
 
-Int_t AliL3Fitter::FitHelix(AliL3Track *track)
+Int_t AliHLTFitter::FitHelix(AliHLTTrack *track)
 {
   //fit helix parameters
   fTrack = track;
   if(FitCircle())
     {
-      LOG(AliL3Log::kError,"AliL3Fitter::FitHelix","TrackFit")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTFitter::FitHelix","TrackFit")<<AliHLTLog::kDec<<
        "Problems during circle fit"<<ENDLOG;
       return 1;
     }
   if(FitLine())
     {
-      LOG(AliL3Log::kError,"AliL3Fitter::FitHelix","TrackFit")<<AliL3Log::kDec<<
+      LOG(AliHLTLog::kError,"AliHLTFitter::FitHelix","TrackFit")<<AliHLTLog::kDec<<
        "Problems during line fit"<<ENDLOG;
       return 1;
     }
   return 0;
 }
 
-Int_t AliL3Fitter::FitCircle()
+Int_t AliHLTFitter::FitCircle()
 {
   //-----------------------------------------------------------------
   //Fits circle parameters using algorithm
@@ -185,7 +185,7 @@ Int_t AliL3Fitter::FitCircle()
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       fXYWeight[i] = 1./ (Double_t)(points[pos].fSigmaY2 + points[pos].fSigmaY2);
       wsum += fXYWeight[i];
       xav += fXYWeight[i]*points[pos].fX;
@@ -214,7 +214,7 @@ Int_t AliL3Fitter::FitCircle()
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
 
       xi = points[pos].fX -xav;
       yi        = points[pos].fY - yav ;
@@ -301,7 +301,7 @@ Int_t AliL3Fitter::FitCircle()
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       
       xold = points[pos].fX - xav ;
       yold = points[pos].fY - yav ;
@@ -412,7 +412,7 @@ Int_t AliL3Fitter::FitCircle()
   Double_t h24   = yrrav ;
   Double_t h34   = 1.0   + 2.0*lamda ;
   if ( h11 == 0.0 || h22 == 0.0 ){
-    LOG(AliL3Log::kError,"AliL3Fitter::FitCircle","TrackFit")<<AliL3Log::kDec<<
+    LOG(AliHLTLog::kError,"AliHLTFitter::FitCircle","TrackFit")<<AliHLTLog::kDec<<
       "Problems fitting circle"<<ENDLOG;
     return 1 ;
   }
@@ -457,24 +457,24 @@ Int_t AliL3Fitter::FitCircle()
   fTrack->SetCharge(q);
   
   //Set the first point on the track to the space point coordinates of the innermost track
-  //This will be updated to lie on the fit later on (AliL3Track::UpdateToFirstPoint).
+  //This will be updated to lie on the fit later on (AliHLTTrack::UpdateToFirstPoint).
   Double_t x0,y0,psi,pt ;
   Int_t lastid=fTrack->GetNHits()-1;
   UInt_t id = hitnum[lastid];
   Int_t slice = (id>>25) & 0x7f;
   Int_t patch = (id>>22) & 0x7;
   UInt_t pos = id&0x3fffff;
-  AliL3SpacePointData *points = fClusters[slice][patch];
+  AliHLTSpacePointData *points = fClusters[slice][patch];
   x0   =  points[pos].fX;
   y0   =  points[pos].fY;
   fTrack->SetFirstPoint(x0,y0,0); //Z-value is set in FitLine
   
   //Set the remaining fit parameters
   psi  = (Double_t)atan2(bcent-y0,acent-x0) ;
-  psi  = psi + q * 0.5F * AliL3Transform::Pi() ;
-  if ( psi < 0 ) psi = psi + 2*AliL3Transform::Pi();
+  psi  = psi + q * 0.5F * AliHLTTransform::Pi() ;
+  if ( psi < 0 ) psi = psi + 2*AliHLTTransform::Pi();
   
-  pt   = (Double_t)(AliL3Transform::GetBFact() * AliL3Transform::GetBField() * radius ) ;
+  pt   = (Double_t)(AliHLTTransform::GetBFact() * AliHLTTransform::GetBField() * radius ) ;
   fTrack->SetPsi(psi);
   fTrack->SetPt(pt);
   fTrack->SetRadius(radius);
@@ -492,7 +492,7 @@ Int_t AliL3Fitter::FitCircle()
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 //    Fit Line in s-z plane
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Int_t AliL3Fitter::FitLine ( )
+Int_t AliHLTFitter::FitLine ( )
 {
   //
   //Initialization 
@@ -506,7 +506,7 @@ Int_t AliL3Fitter::FitLine ( )
   //find sum , sums ,sumz, sumss 
   // 
   Double_t dx, dy ;
-  Double_t radius = (Double_t)(fTrack->GetPt() / ( AliL3Transform::GetBFact() * AliL3Transform::GetBField() ) ) ;
+  Double_t radius = (Double_t)(fTrack->GetPt() / ( AliHLTTransform::GetBFact() * AliHLTTransform::GetBField() ) ) ;
 
   Double_t * fS = new Double_t[(fTrack->GetNHits())];
   Double_t *fZWeight = new Double_t[fTrack->GetNHits()];
@@ -517,7 +517,7 @@ Int_t AliL3Fitter::FitLine ( )
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       
       dx = points[pos].fX - fVertex->GetX();
       dy = points[pos].fY - fVertex->GetY();
@@ -528,12 +528,12 @@ Int_t AliL3Fitter::FitLine ( )
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t posf = id&0x3fffff;
-      AliL3SpacePointData *pointsf = fClusters[slice][patch];
+      AliHLTSpacePointData *pointsf = fClusters[slice][patch];
       id = hitnum[(fTrack->GetNHits()-1)];
       slice = (id>>25) & 0x7f;
       patch = (id>>22) & 0x7;
       UInt_t posl = id&0x3fffff;
-      AliL3SpacePointData *pointsl = fClusters[slice][patch];
+      AliHLTSpacePointData *pointsl = fClusters[slice][patch];
       dx = pointsf[posf].fX - pointsl[posl].fX;
       dy = pointsf[posf].fY - pointsl[posl].fY;
     }
@@ -547,7 +547,7 @@ Int_t AliL3Fitter::FitLine ( )
     } 
   else 
     { 
-      totals = 2.0 * radius * AliL3Transform::Pi() ;
+      totals = 2.0 * radius * AliHLTTransform::Pi() ;
     } 
   
   Double_t dpsi,s;
@@ -558,7 +558,7 @@ Int_t AliL3Fitter::FitLine ( )
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       
       fZWeight[i] = 1./(Double_t)(points[pos].fSigmaZ2);
       if(i>0)
@@ -567,7 +567,7 @@ Int_t AliL3Fitter::FitLine ( )
          slice = (id>>25) & 0x7f;
          patch = (id>>22) & 0x7;
          UInt_t lastpos = id&0x3fffff;
-         AliL3SpacePointData *lastpoints = fClusters[slice][patch];
+         AliHLTSpacePointData *lastpoints = fClusters[slice][patch];
          dx = points[pos].fX -lastpoints[lastpos].fX;
          dy = points[pos].fY -lastpoints[lastpos].fY;
          dpsi = 0.5 * (Double_t)sqrt ( dx*dx + dy*dy ) / radius ;
@@ -616,7 +616,7 @@ Int_t AliL3Fitter::FitLine ( )
       Int_t slice = (id>>25) & 0x7f;
       Int_t patch = (id>>22) & 0x7;
       UInt_t pos = id&0x3fffff;
-      AliL3SpacePointData *points = fClusters[slice][patch];
+      AliHLTSpacePointData *points = fClusters[slice][patch];
       r1   = points[pos].fZ - tanl * fS[i] - z0 ;
       chi2 += (Double_t) ( (Double_t)(fZWeight[i]) * (r1 * r1) );
     }
diff --git a/HLT/src/AliHLTFitter.h b/HLT/src/AliHLTFitter.h
new file mode 100644 (file)
index 0000000..17d3b64
--- /dev/null
@@ -0,0 +1,43 @@
+// @(#) $Id$
+
+#ifndef ALIL3FITTER_H
+#define ALIL3FITTER_H
+
+//_____________________________________________________________
+// AliHLTFitter
+//
+// Fit class HLT
+//
+// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
+
+class AliHLTTrack;
+class AliHLTVertex;
+class AliHLTSpacePointData;
+
+class AliHLTFitter {
+
+  public:
+  AliHLTFitter();
+  AliHLTFitter(AliHLTVertex *vertex,Bool_t vertexconstraint=kTRUE);
+  virtual ~AliHLTFitter();
+  
+  void LoadClusters(Char_t *path,Int_t event=0,Bool_t sp=kFALSE);
+  void SortTrackClusters(AliHLTTrack *track) const;
+  Int_t FitHelix(AliHLTTrack *track);
+  Int_t FitCircle();
+  Int_t FitLine();
+  void NoVertex() {fVertexConstraint=kFALSE;}
+ private:
+  AliHLTTrack *fTrack; //!                    actual track
+  AliHLTVertex *fVertex; //!                  vertex info
+  Bool_t fVertexConstraint; //               include vertex constraint
+  AliHLTSpacePointData *fClusters[36][6]; //! clusters
+  UInt_t fNcl[36][6]; //                     cluster numbers
+  ClassDef(AliHLTFitter,1) //HLT fit class
+};
+
+typedef AliHLTFitter AliL3Fitter; // for backward compatibility
+
+#endif
similarity index 77%
rename from HLT/src/AliL3GlobalMerger.cxx
rename to HLT/src/AliHLTGlobalMerger.cxx
index c506b1adaa4c5d6d27192af8507c3624f5ba616c..136fbb60f2ea65e6ada31f14a503ff9ce958f50d 100644 (file)
@@ -3,18 +3,18 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3GlobalMerger.h"
-#include "AliL3Track.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTGlobalMerger.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
 
-/** \class AliL3GlobalMerger
+/** \class AliHLTGlobalMerger
 <pre>
 //_____________________________________________________________
-// AliL3GlobalMerger
+// AliHLTGlobalMerger
 //
 // The L3 Slice merger
 //
@@ -25,9 +25,9 @@
 using namespace std;
 #endif
 
-ClassImp(AliL3GlobalMerger)
+ClassImp(AliHLTGlobalMerger)
 
-AliL3GlobalMerger::AliL3GlobalMerger()
+AliHLTGlobalMerger::AliHLTGlobalMerger()
 {
   //Default constructor. Use Setup to specify and setup the necessary parameters and arrays.
   Is2Global(kTRUE);
@@ -38,12 +38,12 @@ AliL3GlobalMerger::AliL3GlobalMerger()
 }
 
 
-AliL3GlobalMerger::~AliL3GlobalMerger()
+AliHLTGlobalMerger::~AliHLTGlobalMerger()
 {
   //Destructor
 }
 
-void AliL3GlobalMerger::Setup(Int_t first,Int_t last)
+void AliHLTGlobalMerger::Setup(Int_t first,Int_t last)
 {
   //Used to setup the arrays and everything
   
@@ -53,7 +53,7 @@ void AliL3GlobalMerger::Setup(Int_t first,Int_t last)
   InitMerger(last-first+1);
 }
 
-void AliL3GlobalMerger::InitSlice(Int_t slice)
+void AliHLTGlobalMerger::InitSlice(Int_t slice)
 {
   // 
   // Select Sector The following FillTracks call will 
@@ -63,7 +63,7 @@ void AliL3GlobalMerger::InitSlice(Int_t slice)
   fCurrentTracks = fSlice - fFirst; 
 }
 
-Double_t AliL3GlobalMerger::CheckTracks(AliL3Track *innertrack,AliL3Track *outertrack,Int_t slice)
+Double_t AliHLTGlobalMerger::CheckTracks(AliHLTTrack *innertrack,AliHLTTrack *outertrack,Int_t slice)
 {
   //Compare the tracks by propagating the outermost track to the last and first point plane
   //of the innermost track. This plane is defined by the padrow plane where these points
@@ -72,10 +72,10 @@ Double_t AliL3GlobalMerger::CheckTracks(AliL3Track *innertrack,AliL3Track *outer
   if(innertrack->GetCharge()!=outertrack->GetCharge()) return -1;
   
   Float_t angle = 0;//perpendicular to the padrowplane (in local system)
-  AliL3Transform::Local2GlobalAngle(&angle,slice);
+  AliHLTTransform::Local2GlobalAngle(&angle,slice);
   Double_t dx[2],dy[2],dz[2];
   Double_t diff =-1;
-  AliL3Track *tracks[2];
+  AliHLTTrack *tracks[2];
   tracks[0] = innertrack;
   tracks[1] = outertrack;
   SortGlobalTracks(tracks,2);
@@ -87,7 +87,7 @@ Double_t AliL3GlobalMerger::CheckTracks(AliL3Track *innertrack,AliL3Track *outer
   point[0]=innertrack->GetLastPointX();
   point[1]=innertrack->GetLastPointY();
   point[2]=innertrack->GetLastPointZ();
-  AliL3Transform::Global2LocHLT(point,slice);
+  AliHLTTransform::Global2LocHLT(point,slice);
   
   outertrack->CalculateReferencePoint(angle,point[0]);//local x = global distance to padrowplane
   if(!outertrack->IsPoint()) return diff;
@@ -98,7 +98,7 @@ Double_t AliL3GlobalMerger::CheckTracks(AliL3Track *innertrack,AliL3Track *outer
   point[0]=innertrack->GetFirstPointX();
   point[1]=innertrack->GetFirstPointY();
   point[2]=innertrack->GetFirstPointZ();
-  AliL3Transform::Global2LocHLT(point,slice);
+  AliHLTTransform::Global2LocHLT(point,slice);
   
   outertrack->CalculateReferencePoint(angle,point[0]);//local x = global distance to padrowplane
   if(!outertrack->IsPoint()) return diff;
@@ -112,7 +112,7 @@ Double_t AliL3GlobalMerger::CheckTracks(AliL3Track *innertrack,AliL3Track *outer
   return diff;
 }
 
-void AliL3GlobalMerger::SlowMerge(Char_t *path)
+void AliHLTGlobalMerger::SlowMerge(Char_t *path)
 {
   //Tuning of parameters. This matches _all_ tracks between two neighbouring
   //slices, and merges the ones which are closest in space. The difference
@@ -121,11 +121,11 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
   
   
   void* ntuple=GetNtuple();
-  AliL3Track *track[2];
-  AliL3TrackArray *tout = GetOutTracks();
+  AliHLTTrack *track[2];
+  AliHLTTrackArray *tout = GetOutTracks();
   if(fNSlices<2)
     {
-      LOG(AliL3Log::kWarning,"AliL3GlobalMerger::SlowMerge","Slice Number")
+      LOG(AliHLTLog::kWarning,"AliHLTGlobalMerger::SlowMerge","Slice Number")
        <<"Need more than one Slice!"<<ENDLOG;
       return;
     }
@@ -134,17 +134,17 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
     {
       //if(fNSlices!=18 && i+1 == fNSlices) continue; 
       Int_t slice = fFirst + i;
-      AliL3TrackArray *ttt0=GetInTracks(i);
+      AliHLTTrackArray *ttt0=GetInTracks(i);
       Int_t slice2 = i+1;
       //if(slice2==fNSlices) slice2 =0; 
       
       //Make sure slices are on the same side of the TPC
       if(slice2 == 18) slice2=0;
       else if(slice2 == 36) slice2=18;
-      AliL3TrackArray *ttt1=GetInTracks(slice2);
+      AliHLTTrackArray *ttt1=GetInTracks(slice2);
       //10 degrees -> the border of the slices in local coordinates
-      Float_t angle = AliL3Transform::Pi()/18; 
-      AliL3Transform::Local2GlobalAngle(&angle,slice);
+      Float_t angle = AliHLTTransform::Pi()/18; 
+      AliHLTTransform::Local2GlobalAngle(&angle,slice);
       
       //In the two following cases, the angle is 2*pi, so set it back to 0 in order for
       //the calculation of crossing points to be correct.
@@ -155,7 +155,7 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
       ttt1->QSort();
       for(Int_t s0=0;s0<ttt0->GetNTracks();s0++)
        {
-         AliL3Track *track0=ttt0->GetCheckedTrack(s0);
+         AliHLTTrack *track0=ttt0->GetCheckedTrack(s0);
          if(!track0) continue;
          track0->CalculateHelix();
          track0->CalculateEdgePoint(angle);
@@ -163,7 +163,7 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
        }
       for(Int_t s1=0;s1<ttt1->GetNTracks();s1++)
        {
-         AliL3Track *track1=ttt1->GetCheckedTrack(s1);
+         AliHLTTrack *track1=ttt1->GetCheckedTrack(s1);
          if(!track1) continue;
          track1->CalculateHelix();
          track1->CalculateEdgePoint(angle);
@@ -177,12 +177,12 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
          Int_t n0=ttt0->GetNTracks(),n1=ttt1->GetNTracks();
          for(Int_t s0=0;s0<n0;s0++)
            {
-             AliL3Track *track0=ttt0->GetCheckedTrack(s0);
+             AliHLTTrack *track0=ttt0->GetCheckedTrack(s0);
              if(!track0) continue;
              if(!track0->IsPoint()) continue;
              for(Int_t s1=0;s1<n1;s1++)
                {
-                 AliL3Track *track1=ttt1->GetCheckedTrack(s1);
+                 AliHLTTrack *track1=ttt1->GetCheckedTrack(s1);
                  if(!track1) continue;
                  if(!track1->IsPoint()) continue;
                  
@@ -199,12 +199,12 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
            }
          if(min0>=0&&min1>=0)
            {
-             AliL3Track *track0=ttt0->GetTrack(min0);
-             AliL3Track *track1=ttt1->GetTrack(min1);
+             AliHLTTrack *track0=ttt0->GetTrack(min0);
+             AliHLTTrack *track1=ttt1->GetTrack(min1);
              track[0] = track0;
              track[1] = track1;
              SortGlobalTracks(track,2);
-             track1->CalculateEdgePoint((angle+AliL3Transform::Pi()/9));
+             track1->CalculateEdgePoint((angle+AliHLTTransform::Pi()/9));
              if(track1->IsPoint())//Check if the track will cross the boundary of yet another slice.
                MultiMerge(ttt1,track,2);
              else
@@ -221,8 +221,8 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
        }
       ttt0->Compress();
       ttt1->Compress();
-      LOG(AliL3Log::kInformational,"AliL3GlobalMerger::SlowMerge","Result")
-       <<AliL3Log::kDec<<"Merged Tracks: "<<tout->GetNTracks()<<" at:"
+      LOG(AliHLTLog::kInformational,"AliHLTGlobalMerger::SlowMerge","Result")
+       <<AliHLTLog::kDec<<"Merged Tracks: "<<tout->GetNTracks()<<" at:"
        <<angle<<ENDLOG;
     }
   Char_t fname[1024];
@@ -230,16 +230,16 @@ void AliL3GlobalMerger::SlowMerge(Char_t *path)
   WriteNtuple(fname,ntuple);
 }
 
-void AliL3GlobalMerger::Merge()
+void AliHLTGlobalMerger::Merge()
 {
   //Normal merging procedure. Matches tracks which are within limits
   //set by SetParameters. Parameters can be tuned by SlowMerge.
   
-  AliL3Track *track[2];
-  AliL3TrackArray *tout = GetOutTracks();
+  AliHLTTrack *track[2];
+  AliHLTTrackArray *tout = GetOutTracks();
   if(fNSlices<2)
     {
-      LOG(AliL3Log::kWarning,"AliL3GlobalMerger::Merge","Slice Number")
+      LOG(AliHLTLog::kWarning,"AliHLTGlobalMerger::Merge","Slice Number")
        <<"Need more than one Slice!"<<ENDLOG;
       return;
     }
@@ -247,17 +247,17 @@ void AliL3GlobalMerger::Merge()
     {
       //if(fNSlices!=18 && i+1 == fNSlices) continue; 
       Int_t slice = fFirst + i;
-      AliL3TrackArray *ttt0=GetInTracks(i);
+      AliHLTTrackArray *ttt0=GetInTracks(i);
       Int_t slice2 = i+1;
       //if(slice2==fNSlices) slice2 =0;
       
       //Make sure slices are on the same side of the TPC
       if(slice2 == 18) slice2=0;
       else if(slice2 == 36) slice2=18;
-      AliL3TrackArray *ttt1=GetInTracks(slice2);
+      AliHLTTrackArray *ttt1=GetInTracks(slice2);
       //10 degrees -> the border of the slices in local coordinates
-      Float_t angle = AliL3Transform::Pi()/18; 
-      AliL3Transform::Local2GlobalAngle(&angle,slice);
+      Float_t angle = AliHLTTransform::Pi()/18; 
+      AliHLTTransform::Local2GlobalAngle(&angle,slice);
       
       //In the two following cases, the angle is 2*pi, so set it back to 0 in order for
       //the calculation of crossing points to be correct.
@@ -272,7 +272,7 @@ void AliL3GlobalMerger::Merge()
       for(Int_t s0=0;s0<ttt0->GetNTracks();s0++)
        {
          ismatched0[s0]=kFALSE;
-         AliL3Track *track0=ttt0->GetCheckedTrack(s0);
+         AliHLTTrack *track0=ttt0->GetCheckedTrack(s0);
          if(!track0) continue;
          track0->CalculateHelix();
          track0->CalculateEdgePoint(angle);
@@ -285,7 +285,7 @@ void AliL3GlobalMerger::Merge()
       for(Int_t s1=0;s1<ttt1->GetNTracks();s1++)
        {
          ismatched1[s1]=kFALSE;
-         AliL3Track *track1=ttt1->GetCheckedTrack(s1);
+         AliHLTTrack *track1=ttt1->GetCheckedTrack(s1);
          if(!track1) continue;
          track1->CalculateHelix();
          track1->CalculateEdgePoint(angle);
@@ -298,13 +298,13 @@ void AliL3GlobalMerger::Merge()
       for(Int_t s0=0;s0<ttt0->GetNTracks();s0++)
        {
          if(ismatched0[s0]) continue;
-         AliL3Track *track0=ttt0->GetCheckedTrack(s0);
+         AliHLTTrack *track0=ttt0->GetCheckedTrack(s0);
          if(!track0) continue;
          if(!track0->IsPoint()) continue;
          for(Int_t s1=0;s1<ttt1->GetNTracks();s1++)
            {
              if(ismatched1[s1]) continue;
-             AliL3Track *track1=ttt1->GetCheckedTrack(s1);
+             AliHLTTrack *track1=ttt1->GetCheckedTrack(s1);
              if(!track1) continue;
              if(!track1->IsPoint()) continue;
              if(IsRTrack(track0,track1))
@@ -333,8 +333,8 @@ void AliL3GlobalMerger::Merge()
                }
            }
        }
-      LOG(AliL3Log::kInformational,"AliL3GlobalMerger::Merge","Result")
-       <<AliL3Log::kDec<<"slice0: "<<n0<<" slice1: "<<n1
+      LOG(AliHLTLog::kInformational,"AliHLTGlobalMerger::Merge","Result")
+       <<AliHLTLog::kDec<<"slice0: "<<n0<<" slice1: "<<n1
        <<" Merged Tracks: "<<tout->GetNTracks()<<ENDLOG;
       delete [] ismatched0;
       delete [] ismatched1;
diff --git a/HLT/src/AliHLTGlobalMerger.h b/HLT/src/AliHLTGlobalMerger.h
new file mode 100644 (file)
index 0000000..36dac98
--- /dev/null
@@ -0,0 +1,35 @@
+// @(#) $Id$
+
+#ifndef ALIL3_GLOBALMERGER_H
+#define ALIL3_GLOBALMERGER_H
+
+#ifndef  __CINT__
+#include "AliHLTMerger.h"
+#endif
+
+#include "AliHLTRootTypes.h"
+
+class AliHLTGlobalMerger : public AliHLTMerger{
+
+ private:
+  Int_t fNSlices;
+  Int_t fFirst;
+  Int_t fLast;
+
+  Double_t CheckTracks(AliHLTTrack *innertrack,AliHLTTrack *outertrack,Int_t slice);
+  
+ public:
+  AliHLTGlobalMerger();
+  virtual ~AliHLTGlobalMerger();
+  
+  void Setup(Int_t first,Int_t last);
+  void InitSlice(Int_t slice);
+  void SlowMerge(Char_t *path="./");
+  void Merge();  //Loop over tracks from different sectors
+
+  ClassDef(AliHLTGlobalMerger,1) //Slice merger
+};
+
+typedef AliHLTGlobalMerger AliL3GlobalMerger; // for backward compatibility
+
+#endif
similarity index 67%
rename from HLT/src/AliL3InterMerger.cxx
rename to HLT/src/AliHLTInterMerger.cxx
index 3981bee34fce04de2c435394371b8fbcb227ebec..3266d0eeb4537f2ad63dc9fbfeecdda0fb814620 100644 (file)
@@ -3,19 +3,19 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3InterMerger.h"
-#include "AliL3Track.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTInterMerger.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
 
-/** \class AliL3InterMerger
+/** \class AliHLTInterMerger
 <pre>
 //_____________________________________________________________
-// AliL3InterMerger
+// AliHLTInterMerger
 //
 // The L3 track segment merger
 //
@@ -26,9 +26,9 @@
 using namespace std;
 #endif
 
-ClassImp(AliL3InterMerger)
+ClassImp(AliHLTInterMerger)
 
-AliL3InterMerger::AliL3InterMerger()
+AliHLTInterMerger::AliHLTInterMerger()
 {
   //Default constructor
   InitMerger(1);
@@ -39,17 +39,17 @@ AliL3InterMerger::AliL3InterMerger()
 }
 
 
-AliL3InterMerger::~AliL3InterMerger(){
+AliHLTInterMerger::~AliHLTInterMerger(){
   //Destructor
   
 }
 
-void AliL3InterMerger::SlowMerge(){
+void AliHLTInterMerger::SlowMerge(){
   Int_t nrow= fRowMax-fRowMin+1;
   void *ntuple=GetNtuple();
-  AliL3TrackArray * tracks = GetInTracks(0);
+  AliHLTTrackArray * tracks = GetInTracks(0);
   const Int_t  kNIn =tracks->GetNTracks();
-  AliL3Track *tr[2];
+  AliHLTTrack *tr[2];
   Bool_t merge = kTRUE;
   for(Int_t in=0;in<kNIn;in++)
     tracks->GetCheckedTrack(in)->CalculateHelix();
@@ -57,11 +57,11 @@ void AliL3InterMerger::SlowMerge(){
     Int_t inmin=-1,outmin=-1;
     Double_t min=10;
     for(Int_t out=0;out<kNIn;out++){
-    AliL3Track *outertrack=tracks->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=tracks->GetCheckedTrack(out);
     if(!outertrack) continue;
       for(Int_t in=0;in<kNIn;in++){
         if(in==out) continue;
-        AliL3Track *innertrack=tracks->GetCheckedTrack(in);
+        AliHLTTrack *innertrack=tracks->GetCheckedTrack(in);
         if(!innertrack) continue;
         if(outertrack->GetNHits()+innertrack->GetNHits()>nrow) continue;
 
@@ -75,8 +75,8 @@ void AliL3InterMerger::SlowMerge(){
       } 
     }
     if(inmin>=0&&outmin>=0){
-      AliL3Track *outertrack=tracks->GetTrack(outmin);
-      AliL3Track *innertrack=tracks->GetTrack(inmin);
+      AliHLTTrack *outertrack=tracks->GetTrack(outmin);
+      AliHLTTrack *innertrack=tracks->GetTrack(inmin);
       tr[0]=innertrack;
       tr[1]=outertrack;
       SortTracks(tr,2);
@@ -90,38 +90,38 @@ void AliL3InterMerger::SlowMerge(){
     }
     else merge = kFALSE;
   }
-  LOG(AliL3Log::kInformational,"AliL3InterMerger::SlowMerge","Result")
-  <<AliL3Log::kDec<<"Merged Tracks: "<<tracks->GetNTracks()-kNIn<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTInterMerger::SlowMerge","Result")
+  <<AliHLTLog::kDec<<"Merged Tracks: "<<tracks->GetNTracks()-kNIn<<ENDLOG;
 
   char name[256];
   sprintf(name,"ntuple_i_%d.root",fPatch);
   WriteNtuple(name,ntuple);
 }
 
-void AliL3InterMerger::MMerge(){
+void AliHLTInterMerger::MMerge(){
   while(Merge());
   GetOutTracks()->AddTracks(GetInTracks(0));
 }
 
-Int_t AliL3InterMerger::Merge(){
+Int_t AliHLTInterMerger::Merge(){
   Int_t nrow= fRowMax-fRowMin+1;
-  Double_t xval =AliL3Transform::Row2X((fRowMax+fRowMin)/2);
-  AliL3TrackArray * tracks = GetInTracks(0);
+  Double_t xval =AliHLTTransform::Row2X((fRowMax+fRowMin)/2);
+  AliHLTTrackArray * tracks = GetInTracks(0);
   const Int_t  kNIn =tracks->GetNTracks();
-  AliL3Track *tr[2];
+  AliHLTTrack *tr[2];
   for(Int_t in=0;in<kNIn;in++){
-    AliL3Track *t = tracks->GetCheckedTrack(in);
+    AliHLTTrack *t = tracks->GetCheckedTrack(in);
     if(t){
       t->CalculateHelix();
       t->CalculatePoint(xval);
     }
   }
   for(Int_t out=0;out<kNIn;out++){
-  AliL3Track *outertrack=tracks->GetCheckedTrack(out);
+  AliHLTTrack *outertrack=tracks->GetCheckedTrack(out);
   if(!outertrack) continue;
     for(Int_t in=0;in<kNIn;in++){
       if(in==out) continue;
-      AliL3Track *innertrack=tracks->GetCheckedTrack(in);
+      AliHLTTrack *innertrack=tracks->GetCheckedTrack(in);
       if(!innertrack) continue;
       if(outertrack->GetNHits()+innertrack->GetNHits()>nrow) continue;
 
@@ -144,8 +144,8 @@ Int_t AliL3InterMerger::Merge(){
     } 
   }
   Int_t nmerged = tracks->GetNTracks()-kNIn; 
-  LOG(AliL3Log::kInformational,"AliL3InterMerger::Merge","Result")
-  <<AliL3Log::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTInterMerger::Merge","Result")
+  <<AliHLTLog::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
   //add in tracks
 //  GetOutTracks()->AddTracks(GetInTracks(0)); 
 
similarity index 55%
rename from HLT/src/AliL3InterMerger.h
rename to HLT/src/AliHLTInterMerger.h
index ee0ece0ba217b593b52f29ab8fd97ed84c1ea86e..81357adb4dd77830b48f432e1a9012f38e59722b 100644 (file)
@@ -4,27 +4,29 @@
 #define ALIL3INTERMERGER_H
 
 #ifndef __CINT__ 
-#include "AliL3Merger.h"
+#include "AliHLTMerger.h"
 #endif
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3InterMerger : public AliL3Merger {
+class AliHLTInterMerger : public AliHLTMerger {
 
  private:
   Int_t fPatch;
   Int_t fRowMin;
   Int_t fRowMax;
  public:
-  AliL3InterMerger();
-  virtual ~AliL3InterMerger();
+  AliHLTInterMerger();
+  virtual ~AliHLTInterMerger();
 
   void Init(Int_t *row,Int_t p){fRowMin=row[0];fRowMax=row[1];fPatch=p;}
   void SlowMerge();
   Int_t Merge();
   void MMerge();  //Loop over tracks from different subsectors
   
-  ClassDef(AliL3InterMerger,1) //Intermerging class
+  ClassDef(AliHLTInterMerger,1) //Intermerging class
 };
 
+typedef AliHLTInterMerger AliL3InterMerger; // for backward compatibility
+
 #endif
diff --git a/HLT/src/AliHLTLog.cxx b/HLT/src/AliHLTLog.cxx
new file mode 100644 (file)
index 0000000..1816547
--- /dev/null
@@ -0,0 +1,10 @@
+// $Id$
+
+#ifndef use_logging
+
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+
+AliHLTLog::TLogLevel AliHLTLog::fgLevel=AliHLTLog::kNone;
+
+#endif
similarity index 68%
rename from HLT/src/AliL3Log.h
rename to HLT/src/AliHLTLog.h
index 627ef1457c4081fcce798c23de6d92e8a69f4ad8..4d3a560d8dadc471d75525b04108b74ca6655f25 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef ALIL3LOG_H
 #define ALIL3LOG_H
 
-class AliL3Log {
+class AliHLTLog {
   public:
   enum TLogLevel { kNone = 0, kDebug= 0x01, kInformational = 0x02, kWarning = 0x04, kError = 0x08 , kFatal = 0x10, kPrimary = 0x80, kAll = 0x9F };
   enum TLogCmd { kEnd, kPrec, kHex, kDec };
@@ -12,11 +12,14 @@ class AliL3Log {
 
 #if __GNUC__ == 3
 #define LOG( lvl, origin, keyword ) \
- if (lvl>=AliL3Log::fgLevel) std::cerr<<"["<<origin<<": "<<keyword<<"] "
+ if (lvl>=AliHLTLog::fgLevel) std::cerr<<"["<<origin<<": "<<keyword<<"] "
 #define ENDLOG std::endl
 #else
 #define LOG( lvl, origin, keyword ) \
- if (lvl>=AliL3Log::fgLevel) cerr<<"["<<origin<<": "<<keyword<<"] "
+ if (lvl>=AliHLTLog::fgLevel) cerr<<"["<<origin<<": "<<keyword<<"] "
 #define ENDLOG endl
 #endif /* __GNUC__ */
+
+typedef AliHLTLog AliL3Log; // for backward compatibility
+
 #endif /* ALIL3LOG_H */
similarity index 51%
rename from HLT/src/AliL3Logger.cxx
rename to HLT/src/AliHLTLogger.cxx
index 08490d59536e2559865000c221057c0edf537018..9a63e755f464b7c1afb529dcbdf190e5a7321667 100644 (file)
@@ -3,23 +3,23 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Logger.h"
+#include "AliHLTLogging.h"
+#include "AliHLTLogger.h"
 
-ClassImp(AliL3Logger)
+ClassImp(AliHLTLogger)
 
 #ifdef use_logging
 
-Int_t AliL3Logger::fgAll= AliL3Log::kAll;
-Int_t AliL3Logger::fgDebug = AliL3Log::kDebug;
-Int_t AliL3Logger::fgInformational = AliL3Log::kInformational;
-Int_t AliL3Logger::fgWarning = AliL3Log::kWarning;
-Int_t AliL3Logger::fgError = AliL3Log::kError;
-Int_t AliL3Logger::fgFatal = AliL3Log::kFatal;
+Int_t AliHLTLogger::fgAll= AliHLTLog::kAll;
+Int_t AliHLTLogger::fgDebug = AliHLTLog::kDebug;
+Int_t AliHLTLogger::fgInformational = AliHLTLog::kInformational;
+Int_t AliHLTLogger::fgWarning = AliHLTLog::kWarning;
+Int_t AliHLTLogger::fgError = AliHLTLog::kError;
+Int_t AliHLTLogger::fgFatal = AliHLTLog::kFatal;
 
-AliL3Logger::AliL3Logger()
+AliHLTLogger::AliHLTLogger()
 {
   //constructor
  if (!gLogP) {
@@ -34,12 +34,12 @@ AliL3Logger::AliL3Logger()
    gLogLevelP = &MLUCLog::gLogLevel;
    //printf( "gLogLevelP set...\n" );
  }
- (*gLogLevelP)=AliL3Log::kAll;
+ (*gLogLevelP)=AliHLTLog::kAll;
   fdn = fso = fse = fsm =0;
   fof = 0;
 }
 
-AliL3Logger::~AliL3Logger()
+AliHLTLogger::~AliHLTLogger()
 {
   //destructor
   if(fdn) {gLogP->DelServer(fdn);delete fdn;}
@@ -49,41 +49,41 @@ AliL3Logger::~AliL3Logger()
   if(fof) {fof->close();delete fof;}
 }
 
-void AliL3Logger::Set(Int_t l)
+void AliHLTLogger::Set(Int_t l)
 { 
   //set logger
   (*gLogLevelP) |=l;
 }
 
-void AliL3Logger::UnSet(Int_t l)
+void AliHLTLogger::UnSet(Int_t l)
 { 
   //unset logger
   (*gLogLevelP) &=(~l);
 }
 
-void AliL3Logger::UseDevNull()
+void AliHLTLogger::UseDevNull()
 {
   //use dev null
   if(fdn) return;
-  fdn = new AliL3DevNullLogServer();
+  fdn = new AliHLTDevNullLogServer();
   gLogP->AddServer(fdn);
 }
-void AliL3Logger::UseStdout()
+void AliHLTLogger::UseStdout()
 {
   //use stdout
   if(fso)return;
-  fso = new AliL3StdoutLogServer(); 
+  fso = new AliHLTStdoutLogServer(); 
   gLogP->AddServer(fso);
 }
-void AliL3Logger::UseStderr()
+void AliHLTLogger::UseStderr()
 {
   //use stderr
   if(fse) return;
-  fse = new AliL3StderrLogServer();
+  fse = new AliHLTStderrLogServer();
   gLogP->AddServer(fse);
 }
 
-void AliL3Logger::UseStream(Char_t *name)
+void AliHLTLogger::UseStream(Char_t *name)
 {
   //use stream
   if(fsm) return;
@@ -92,29 +92,29 @@ void AliL3Logger::UseStream(Char_t *name)
   fof = 0;
   fof = new ofstream();
   fof->open(name);
-  fsm = new  AliL3StreamLogServer(*fof);
+  fsm = new  AliHLTStreamLogServer(*fof);
   gLogP->AddServer(fsm);
 }
 
-void AliL3Logger::NotUseDevNull()
+void AliHLTLogger::NotUseDevNull()
 {
   //not dev null
   if(fdn) {gLogP->DelServer(fdn);delete fdn;fdn=0;}
 }
 
-void AliL3Logger::NotUseStdout()
+void AliHLTLogger::NotUseStdout()
 {
   //not stdout
   if(fso) {gLogP->DelServer(fso);delete fso;fso=0;}
 }
 
-void AliL3Logger::NotUseStderr()
+void AliHLTLogger::NotUseStderr()
 {
   //not stderr
   if(fse) {gLogP->DelServer(fse);delete fse;fse=0;}
 }
 
-void AliL3Logger::NotUseStream()
+void AliHLTLogger::NotUseStream()
 {
   //not stream
   if(fsm) {gLogP->DelServer(fsm);delete fsm;fsm=0;}
@@ -123,80 +123,80 @@ void AliL3Logger::NotUseStream()
 
 #else /*not use_logging*/
 
-Int_t AliL3Logger::fgAll= AliL3Log::kAll;
-Int_t AliL3Logger::fgDebug = AliL3Log::kDebug;
-Int_t AliL3Logger::fgInformational = AliL3Log::kInformational;
-Int_t AliL3Logger::fgWarning = AliL3Log::kWarning;
-Int_t AliL3Logger::fgError = AliL3Log::kError;
-Int_t AliL3Logger::fgFatal = AliL3Log::kFatal;
+Int_t AliHLTLogger::fgAll= AliHLTLog::kAll;
+Int_t AliHLTLogger::fgDebug = AliHLTLog::kDebug;
+Int_t AliHLTLogger::fgInformational = AliHLTLog::kInformational;
+Int_t AliHLTLogger::fgWarning = AliHLTLog::kWarning;
+Int_t AliHLTLogger::fgError = AliHLTLog::kError;
+Int_t AliHLTLogger::fgFatal = AliHLTLog::kFatal;
 
-AliL3Logger::AliL3Logger()
+AliHLTLogger::AliHLTLogger()
 {
   //
   ;
 }
 
-AliL3Logger::~AliL3Logger()
+AliHLTLogger::~AliHLTLogger()
 {
   //
   ;
 }
 
-void AliL3Logger::Set(Int_t /*l*/)
+void AliHLTLogger::Set(Int_t /*l*/)
 {
   //
   ;
 }
 
-void AliL3Logger::UnSet(Int_t /*l*/)
+void AliHLTLogger::UnSet(Int_t /*l*/)
 {
   //
   ;
 }
 
-void AliL3Logger::UseDevNull()
+void AliHLTLogger::UseDevNull()
 {
   //
   ;
 }
 
-void AliL3Logger::UseStdout()
+void AliHLTLogger::UseStdout()
 {
   //
   ;
 }
 
-void AliL3Logger::UseStderr()
+void AliHLTLogger::UseStderr()
 {
   //
   ;
 }
 
-void AliL3Logger::UseStream(Char_t */*name*/)
+void AliHLTLogger::UseStream(Char_t */*name*/)
 {
   //
   ;
 }
 
-void AliL3Logger::NotUseDevNull()
+void AliHLTLogger::NotUseDevNull()
 {
   //
   ;
 }
 
-void AliL3Logger::NotUseStdout()
+void AliHLTLogger::NotUseStdout()
 {
   //
   ;
 }
 
-void AliL3Logger::NotUseStderr()
+void AliHLTLogger::NotUseStderr()
 {
   //
   ;
 }
 
-void AliL3Logger::NotUseStream()
+void AliHLTLogger::NotUseStream()
 {
   //
   ;
similarity index 78%
rename from HLT/src/AliL3Logger.h
rename to HLT/src/AliHLTLogger.h
index b4a5c768c11be251c3ae2bff113deb63b4c31a84..98ff87f6118c3c6ff216e9b875faa0a45f137b60 100644 (file)
@@ -3,17 +3,17 @@
 #ifndef ALIL3LOGGER_H
 #define ALIL3LOGGER_H
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
 
 class MLUCLogServer;
 
-class AliL3Logger {
+class AliHLTLogger {
 
  public:
  
-  AliL3Logger();
-  virtual ~AliL3Logger();
+  AliHLTLogger();
+  virtual ~AliHLTLogger();
 
   void Set(Int_t l);
   void UnSet(Int_t l);
@@ -47,8 +47,10 @@ class AliL3Logger {
   ofstream *fof; //!
 #endif
 
-  ClassDef(AliL3Logger,0)
+  ClassDef(AliHLTLogger,0)
 };
 
+typedef AliHLTLogger AliL3Logger; // for backward compatibility
+
 #endif
 
diff --git a/HLT/src/AliHLTLogging.h b/HLT/src/AliHLTLogging.h
new file mode 100644 (file)
index 0000000..9650c4b
--- /dev/null
@@ -0,0 +1,24 @@
+// @(#) $Id$
+
+#ifndef ALIL3LOGGING_H
+#define ALIL3LOGGING_H
+
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+
+#ifdef use_logging
+#include <MLUCLog.hpp>
+#include <MLUCLogServer.hpp>
+
+typedef MLUCLog AliHLTLog;
+typedef MLUCLogServer AliHLTLogServer;
+typedef MLUCDevNullLogServer AliHLTDevNullLogServer;
+typedef MLUCStdoutLogServer AliHLTStdoutLogServer;
+typedef MLUCStderrLogServer AliHLTStderrLogServer;
+typedef MLUCStreamLogServer AliHLTStreamLogServer;
+
+#else
+
+#include "AliHLTLog.h"
+#endif /* use_logging */ 
+#endif /* ALIL3LOGGING_H */
similarity index 62%
rename from HLT/src/AliL3MemHandler.cxx
rename to HLT/src/AliHLTMemHandler.cxx
index 7a511ed69a4751ccaf25412aaf25082af27e98c3..0176577bc7d165e7d8fe4ea4e93ffc5a5a1e8a13 100644 (file)
@@ -3,10 +3,10 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>, Anders Vestbo <mailto:vestbo$fi.uib.no>, Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group 
 
-/** \class AliL3MemHandler 
+/** \class AliHLTMemHandler 
 <pre>
 //_____________________________________________________________
-// AliL3MemHandler
+// AliHLTMemHandler
 //
 // The HLT Binary File handler 
 //
 //
 //  1) Reading a binary file:
 //  
-//  AliL3MemHandler file;
+//  AliHLTMemHandler file;
 //  file.SetBinaryInput(filename);
 //  file.Init(slice,patch);
 //
 //  UInt_t nrowss;
-//  AliL3DigitRowData *data = file.CompBinary2Memory(nrows);
+//  AliHLTDigitRowData *data = file.CompBinary2Memory(nrows);
 //  
 //  for(int i=0; i<nrows; i++) 
 //    {
 //    
-//    AliL3DigitData *dataPt = (AliL3DigitData*)data->fDigitData;
+//    AliHLTDigitData *dataPt = (AliHLTDigitData*)data->fDigitData;
 //    for(int j=0; j<data->fNDigit; j++) 
 //      {
 //        pad = dataPt[j].fPad;
 //  2) Writing a binary file:
 //  
 //  //First of all you need to store the data in memory,
-//  //and have a pointer to it of type AliL3DigitRowData.
+//  //and have a pointer to it of type AliHLTDigitRowData.
 //  //E.g. if you just want to write the data you read in example 1)
 //  //into a new file, you can do the following:
 //  
-//  AliL3MemHandler newfile;
+//  AliHLTMemHandler newfile;
 //  newfile.Init(slice,patch);
 //  newfile.SetBinaryOutput(newfilename);
-//  newfile.Memory2CompBinary((UInt_t)NumberOfRowsInPatch,(AliL3DigitRowData*)data);
+//  newfile.Memory2CompBinary((UInt_t)NumberOfRowsInPatch,(AliHLTDigitRowData*)data);
 //  newfile.CloseBinaryOutput();
 //
 //
 </pre>
 */  
 
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-#include "AliL3DigitData.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3TrackArray.h"
-#include "AliL3MemHandler.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTMemHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
   
-ClassImp(AliL3MemHandler)
+ClassImp(AliHLTMemHandler)
   
-AliL3MemHandler::AliL3MemHandler()
+AliHLTMemHandler::AliHLTMemHandler()
 { 
   //Constructor
   fPt = 0;
@@ -97,7 +97,7 @@ AliL3MemHandler::AliL3MemHandler()
 }
 
 
-AliL3MemHandler::~AliL3MemHandler()
+AliHLTMemHandler::~AliHLTMemHandler()
 {
   //Destructor
   if(fPt) delete[] fPt;
@@ -105,7 +105,7 @@ AliL3MemHandler::~AliL3MemHandler()
   if(fDPt) delete [] fDPt;
 }
 
-void AliL3MemHandler::Init(Int_t s,Int_t p, Int_t *r)
+void AliHLTMemHandler::Init(Int_t s,Int_t p, Int_t *r)
 {
   //init handler
   fSlice=s;fPatch=p;
@@ -113,23 +113,23 @@ void AliL3MemHandler::Init(Int_t s,Int_t p, Int_t *r)
     fRowMin=r[0];
     fRowMax=r[1];
   }else{
-     fRowMin=AliL3Transform::GetFirstRow(p);
-     fRowMax=AliL3Transform::GetLastRow(p); 
+     fRowMin=AliHLTTransform::GetFirstRow(p);
+     fRowMax=AliHLTTransform::GetLastRow(p); 
   }
   ResetROI();
 }
 
-void AliL3MemHandler::ResetROI()
+void AliHLTMemHandler::ResetROI()
 {
   //Resets the Look-up table for Region of Interest mode.
   for(Int_t i=fRowMin; i<=fRowMax; i++)
     {
       fEtaMinTimeBin[i] = 0;
-      fEtaMaxTimeBin[i] = AliL3Transform::GetNTimeBins()-1;
+      fEtaMaxTimeBin[i] = AliHLTTransform::GetNTimeBins()-1;
     }
 }
 
-void AliL3MemHandler::SetROI(Float_t *eta,Int_t */*slice*/)
+void AliHLTMemHandler::SetROI(Float_t *eta,Int_t */*slice*/)
 {
   // Init the Look-up table for the Region of Interest mode.
   //   Here you can specify a certain etaregion, - all data
@@ -142,7 +142,7 @@ void AliL3MemHandler::SetROI(Float_t *eta,Int_t */*slice*/)
 
   if(eta[1]==0)
     {
-      LOG(AliL3Log::kWarning,"AliL3MemHandler::SetROI","Eta Values")
+      LOG(AliHLTLog::kWarning,"AliHLTMemHandler::SetROI","Eta Values")
        <<"Bad ROI parameters. IDIOT! "<<ENDLOG;
       for(Int_t i=fRowMin; i<=fRowMax; i++)
        {
@@ -159,11 +159,11 @@ void AliL3MemHandler::SetROI(Float_t *eta,Int_t */*slice*/)
       
       Float_t thetamax = 2*atan(exp(-1.*eta[1]));
       
-      xyz[0] = AliL3Transform::Row2X(i);
+      xyz[0] = AliHLTTransform::Row2X(i);
       xyz[1]=0;
       xyz[2] = xyz[0]/tan(thetamax);
-      AliL3Transform::Slice2Sector(fSlice,i,sector,row);
-      AliL3Transform::Local2Raw(xyz,sector,row);
+      AliHLTTransform::Slice2Sector(fSlice,i,sector,row);
+      AliHLTTransform::Local2Raw(xyz,sector,row);
       
       fEtaMinTimeBin[i] = (Int_t)xyz[2];
       
@@ -172,46 +172,46 @@ void AliL3MemHandler::SetROI(Float_t *eta,Int_t */*slice*/)
       else
        {
          Float_t thetamin = 2*atan(exp(-1.*eta[0]));
-         xyz[0] = AliL3Transform::Row2X(i);
-         xyz[1] = AliL3Transform::GetMaxY(i);
+         xyz[0] = AliHLTTransform::Row2X(i);
+         xyz[1] = AliHLTTransform::GetMaxY(i);
          Float_t radii = sqrt(pow(xyz[0],2) + pow(xyz[1],2));
          xyz[2] = radii/tan(thetamin);
-         AliL3Transform::Local2Raw(xyz,sector,row);
+         AliHLTTransform::Local2Raw(xyz,sector,row);
          fEtaMaxTimeBin[i] = (Int_t)xyz[2];
        }
     }
   
 }
 
-Bool_t AliL3MemHandler::SetBinaryInput(char *name)
+Bool_t AliHLTMemHandler::SetBinaryInput(char *name)
 {
   //Set the input binary file.
   fInBinary = fopen(name,"r");
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::SetBinaryInput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::SetBinaryInput","File Open")
       <<"Error opening file "<<name<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::SetBinaryInput(FILE *file)
+Bool_t AliHLTMemHandler::SetBinaryInput(FILE *file)
 {
   //Set the input binary file.
   fInBinary = file;
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::SetBinaryInput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::SetBinaryInput","File Open")
     <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-void AliL3MemHandler::CloseBinaryInput()
+void AliHLTMemHandler::CloseBinaryInput()
 {
   //Close the input file.
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CloseBinaryInput","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CloseBinaryInput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -219,35 +219,35 @@ void AliL3MemHandler::CloseBinaryInput()
   fInBinary =0;
 }
 
-Bool_t AliL3MemHandler::SetBinaryOutput(char *name)
+Bool_t AliHLTMemHandler::SetBinaryOutput(char *name)
 {
   //Set the binary output file.
     fOutBinary = fopen(name,"w");
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::SetBinaryOutput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::SetBinaryOutput","File Open")
       <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::SetBinaryOutput(FILE *file)
+Bool_t AliHLTMemHandler::SetBinaryOutput(FILE *file)
 {
   //Set the binary output file.
     fOutBinary = file;
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::SetBinaryOutput","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::SetBinaryOutput","File Open")
       <<"Pointer to File = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   return kTRUE;
 }
 
-void AliL3MemHandler::CloseBinaryOutput()
+void AliHLTMemHandler::CloseBinaryOutput()
 {
   //close binary  
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CloseBinaryOutPut","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CloseBinaryOutPut","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -255,11 +255,11 @@ void AliL3MemHandler::CloseBinaryOutput()
   fOutBinary =0;
 }
 
-UInt_t AliL3MemHandler::GetFileSize()
+UInt_t AliHLTMemHandler::GetFileSize()
 {
   //Returns the file size in bytes of the input file.
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::GetFileSize","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::GetFileSize","File")
       <<"No Input File"<<ENDLOG;
     return 0;
   }
@@ -269,44 +269,44 @@ UInt_t AliL3MemHandler::GetFileSize()
   return size; 
 }
 
-Byte_t *AliL3MemHandler::Allocate()
+Byte_t *AliHLTMemHandler::Allocate()
 {
   //Allocate
   return Allocate(GetFileSize()); 
 }
 
-Byte_t *AliL3MemHandler::Allocate(AliL3TrackArray *array)
+Byte_t *AliHLTMemHandler::Allocate(AliHLTTrackArray *array)
 {
   //Allocate memory for tracks in memory. Used by TrackArray2Binary()
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Allocate","Memory")
-      <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Allocate","Memory")
+      <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return 0;
   }
   return Allocate(array->GetOutSize()); 
 }
 
-Byte_t *AliL3MemHandler::Allocate(UInt_t size)
+Byte_t *AliHLTMemHandler::Allocate(UInt_t size)
 {
   //Allocate memory of size in bytes.
   if(fPt){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Allocate","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Allocate","Memory")
       <<"Delete Memory"<<ENDLOG;
     Free();
   } 
   fPt = new Byte_t[size];
   fSize = size;
   memset(fPt,0,fSize);
-  LOG(AliL3Log::kDebug,"AliL3MemHandler::Allocate","Memory")
-  <<AliL3Log::kDec<<"Allocate "<<size<<" Bytes of Memory"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Allocate","Memory")
+  <<AliHLTLog::kDec<<"Allocate "<<size<<" Bytes of Memory"<<ENDLOG;
   return fPt;
 }
 
-void AliL3MemHandler::Free()
+void AliHLTMemHandler::Free()
 {
   //Clear the memory, if allocated.
   if(!fPt){
-    //    LOG(AliL3Log::kInformational,"AliL3MemHandler::Free","Memory")
+    //    LOG(AliHLTLog::kInformational,"AliHLTMemHandler::Free","Memory")
     //      <<"No Memory allocated - can't Free"<<ENDLOG;
     return;
   }  
@@ -316,14 +316,14 @@ void AliL3MemHandler::Free()
 }
 
 ///////////////////////////////////////// Random
-void AliL3MemHandler::SetRandomSeed()
+void AliHLTMemHandler::SetRandomSeed()
 {
   //If you are adding random data to the original data.
   time_t *tp=0;
   SetRandomSeed(time(tp));
 }
 
-void AliL3MemHandler::SetRandomCluster(Int_t maxnumber)
+void AliHLTMemHandler::SetRandomCluster(Int_t maxnumber)
 {
   //If you are adding random data to the original data.
   
@@ -331,19 +331,19 @@ void AliL3MemHandler::SetRandomCluster(Int_t maxnumber)
   fNRandom = maxnumber;
   fNDigits = 0;
   if(fRandomDigits) delete [] fRandomDigits;
-  fRandomDigits = new AliL3RandomDigitData[fNRandom*9];
+  fRandomDigits = new AliHLTRandomDigitData[fNRandom*9];
   if(fDPt) delete [] fDPt;
-  fDPt = new AliL3RandomDigitData *[fNRandom*9];
+  fDPt = new AliHLTRandomDigitData *[fNRandom*9];
 }
 
-void AliL3MemHandler::QSort(AliL3RandomDigitData **a, Int_t first, Int_t last)
+void AliHLTMemHandler::QSort(AliHLTRandomDigitData **a, Int_t first, Int_t last)
 {
 
-   // Sort array of AliL3RandomDigitData pointers using a quicksort algorithm.
+   // Sort array of AliHLTRandomDigitData pointers using a quicksort algorithm.
    // Uses CompareDigits() to compare objects.
    // Thanks to Root!
 
-   static AliL3RandomDigitData *tmp;
+   static AliHLTRandomDigitData *tmp;
    static int i;           // "static" to save stack space
    int j;
 
@@ -380,18 +380,18 @@ void AliL3MemHandler::QSort(AliL3RandomDigitData **a, Int_t first, Int_t last)
    }
 }
 
-UInt_t AliL3MemHandler::GetRandomSize() const
+UInt_t AliHLTMemHandler::GetRandomSize() const
 {
   //get random size
   Int_t nrandom = 0;
   for(Int_t r=fRowMin;r<=fRowMax;r++){
-    Int_t npad=AliL3Transform::GetNPads(r);
+    Int_t npad=AliHLTTransform::GetNPads(r);
     nrandom  += Int_t (fNGenerate * ((Double_t) npad/141.));
   }
-  return 9 * nrandom * sizeof(AliL3DigitData);
+  return 9 * nrandom * sizeof(AliHLTDigitData);
 }
 
-void AliL3MemHandler::Generate(Int_t row)
+void AliHLTMemHandler::Generate(Int_t row)
 {
   //Generate random data on row, if you didn't 
   //ask for this, nothing happens here.
@@ -399,22 +399,22 @@ void AliL3MemHandler::Generate(Int_t row)
   if(!fIsRandom) return;
   ResetRandom();
   fNDigits = 0;
-  Int_t npad=AliL3Transform::GetNPads(row);
+  Int_t npad=AliHLTTransform::GetNPads(row);
   Int_t ntime = fEtaMaxTimeBin[row] - fEtaMinTimeBin[row];
   Int_t nrandom  = Int_t (fNGenerate * ((Double_t) npad/141.) * 
-                         (Double_t) ntime/(Double_t) AliL3Transform::GetNTimeBins() );
+                         (Double_t) ntime/(Double_t) AliHLTTransform::GetNTimeBins() );
   
   for(Int_t n=0;n<nrandom;n++){
     Int_t pad = (int)((float)rand()/RAND_MAX*npad);
     Int_t time =(int)((float)rand()/RAND_MAX*ntime+fEtaMinTimeBin[row] );
-    Int_t charge = (int)((float)rand()/RAND_MAX*AliL3Transform::GetADCSat());
+    Int_t charge = (int)((float)rand()/RAND_MAX*AliHLTTransform::GetADCSat());
     DigitizePoint(row,pad,time,charge);
   }
   QSort(fDPt,0,fNDigits);
 }
 
 
-void AliL3MemHandler::DigitizePoint(Int_t row, Int_t pad, 
+void AliHLTMemHandler::DigitizePoint(Int_t row, Int_t pad, 
                                    Int_t time,Int_t charge)
 {
   //Making one single random cluster.
@@ -427,8 +427,8 @@ void AliL3MemHandler::DigitizePoint(Int_t row, Int_t pad,
       Int_t dpad  = j + pad;
       Int_t dtime = k + time;
       
-      if(dpad<0||dpad>=AliL3Transform::GetNPads(row))  continue;
-      if(dtime<0||dtime>=AliL3Transform::GetNTimeBins()) continue;
+      if(dpad<0||dpad>=AliHLTTransform::GetNPads(row))  continue;
+      if(dtime<0||dtime>=AliHLTTransform::GetNTimeBins()) continue;
       
       fRandomDigits[fNDigits].fCharge = dcharge;
       fRandomDigits[fNDigits].fRow = row;
@@ -441,82 +441,82 @@ void AliL3MemHandler::DigitizePoint(Int_t row, Int_t pad,
 }
 
 ///////////////////////////////////////// Digit IO  
-Bool_t AliL3MemHandler::Memory2Binary(UInt_t nrow,AliL3DigitRowData *data)
+Bool_t AliHLTMemHandler::Memory2Binary(UInt_t nrow,AliHLTDigitRowData *data)
 {
   //Write data to the outputfile as is. No run-length encoding is done.
   
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","File")
       <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","Memory")
-      <<"Pointer to AliL3DigitRowData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","Memory")
+      <<"Pointer to AliHLTDigitRowData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   
-  AliL3DigitRowData *rowPt = data; 
+  AliHLTDigitRowData *rowPt = data; 
   Int_t outsize = 0;
   for(UInt_t i=0;i<nrow;i++){
-    Int_t size = sizeof(AliL3DigitData) * rowPt->fNDigit 
-      + sizeof(AliL3DigitRowData);
+    Int_t size = sizeof(AliHLTDigitData) * rowPt->fNDigit 
+      + sizeof(AliHLTDigitRowData);
     outsize += size;
     fwrite(rowPt,size,1,fOutBinary);
     Byte_t  *bytePt =(Byte_t *) rowPt;
     bytePt += size;
-    rowPt = (AliL3DigitRowData *) bytePt;
+    rowPt = (AliHLTDigitRowData *) bytePt;
   }
-  LOG(AliL3Log::kDebug,"AliL3MemHandler::Memory2Binary","Memory")
-    <<AliL3Log::kDec<<"Wrote "<<outsize<<" Bytes to Memory ("
+  LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Memory2Binary","Memory")
+    <<AliHLTLog::kDec<<"Wrote "<<outsize<<" Bytes to Memory ("
     <<nrow<<" Rows)"<<ENDLOG;
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Binary2Memory(UInt_t & nrow,AliL3DigitRowData *data)
+Bool_t AliHLTMemHandler::Binary2Memory(UInt_t & nrow,AliHLTDigitRowData *data)
 {
   //Read inputfile into memory as is, and store it in data. 
   // No run-length encoding is assumed.
 
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","File")
       <<"No Input File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","Memory")
-      <<"Pointer to AliL3DigitRowData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","Memory")
+      <<"Pointer to AliHLTDigitRowData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   rewind(fInBinary);
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   UInt_t rowcount = 0;
   Int_t outsize =0;
   while(!feof(fInBinary)){
     Byte_t  *bytePt =(Byte_t *) rowPt;
 
-    if(fread(rowPt,sizeof(AliL3DigitRowData),1,fInBinary)!=1) break;
+    if(fread(rowPt,sizeof(AliHLTDigitRowData),1,fInBinary)!=1) break;
 
-    bytePt += sizeof(AliL3DigitRowData);
-    outsize += sizeof(AliL3DigitRowData);
+    bytePt += sizeof(AliHLTDigitRowData);
+    outsize += sizeof(AliHLTDigitRowData);
 
-    Int_t size = sizeof(AliL3DigitData) * rowPt->fNDigit;
+    Int_t size = sizeof(AliHLTDigitData) * rowPt->fNDigit;
 
     //if(fread(bytePt,size,1,fInBinary)!=1) break;
     fread(bytePt,size,1,fInBinary);
     bytePt += size;
     outsize += size;
-    rowPt = (AliL3DigitRowData *) bytePt;
+    rowPt = (AliHLTDigitRowData *) bytePt;
     rowcount++;
   }  
   nrow= rowcount;
-    LOG(AliL3Log::kDebug,"AliL3MemHandler::Binary2Memory","Memory")
-    <<AliL3Log::kDec<<"Wrote "<<outsize<<" Bytes to Memory ("
+    LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Binary2Memory","Memory")
+    <<AliHLTLog::kDec<<"Wrote "<<outsize<<" Bytes to Memory ("
     <<rowcount<<" Rows)"<<ENDLOG;
   return kTRUE;
 }
 
-void AliL3MemHandler::AddData(AliL3DigitData *data,UInt_t & ndata,
+void AliHLTMemHandler::AddData(AliHLTDigitData *data,UInt_t & ndata,
                              UInt_t /*row*/,UShort_t pad,UShort_t time,UShort_t charge) const
 {
   //add some data
@@ -526,7 +526,7 @@ void AliL3MemHandler::AddData(AliL3DigitData *data,UInt_t & ndata,
   ndata++;
 }
 
-void AliL3MemHandler::AddRandom(AliL3DigitData *data, UInt_t & ndata)
+void AliHLTMemHandler::AddRandom(AliHLTDigitData *data, UInt_t & ndata)
 {
   //add some random data
   data[ndata].fPad = fDPt[fNUsed]->fPad;
@@ -536,7 +536,7 @@ void AliL3MemHandler::AddRandom(AliL3DigitData *data, UInt_t & ndata)
   fNUsed++;
 }
 
-void AliL3MemHandler::MergeDataRandom(AliL3DigitData *data, UInt_t & ndata,
+void AliHLTMemHandler::MergeDataRandom(AliHLTDigitData *data, UInt_t & ndata,
                                      UInt_t row, UShort_t pad, UShort_t time, UShort_t charge)
 {
   //merge random data
@@ -545,14 +545,14 @@ void AliL3MemHandler::MergeDataRandom(AliL3DigitData *data, UInt_t & ndata,
   data[ndata].fCharge = charge;
   while(ComparePoints(row,pad,time)==0){
     Int_t ch = data[ndata].fCharge + fDPt[fNUsed]->fCharge;
-    if(charge>=AliL3Transform::GetADCSat()) ch = AliL3Transform::GetADCSat();
+    if(charge>=AliHLTTransform::GetADCSat()) ch = AliHLTTransform::GetADCSat();
     data[ndata].fCharge = ch;
     fNUsed++;
   }
   ndata++;
 }
 
-void AliL3MemHandler::AddDataRandom(AliL3DigitData *data, UInt_t & ndata,
+void AliHLTMemHandler::AddDataRandom(AliHLTDigitData *data, UInt_t & ndata,
                    UInt_t row, UShort_t pad, UShort_t time, UShort_t charge)
 {
   //add data random
@@ -568,7 +568,7 @@ void AliL3MemHandler::AddDataRandom(AliL3DigitData *data, UInt_t & ndata,
   }  
 }
 
-void AliL3MemHandler::Write(UInt_t *comp, UInt_t & index, 
+void AliHLTMemHandler::Write(UInt_t *comp, UInt_t & index, 
                            UInt_t & subindex, UShort_t value) const
 {
   //write compressed data
@@ -582,7 +582,7 @@ void AliL3MemHandler::Write(UInt_t *comp, UInt_t & index,
   else subindex++;
 }
 
-UShort_t AliL3MemHandler::Read(UInt_t *comp, UInt_t & index, UInt_t & subindex) const
+UShort_t AliHLTMemHandler::Read(UInt_t *comp, UInt_t & index, UInt_t & subindex) const
 { 
   //read compressed data
   UInt_t shift[3] = {0,10,20};
@@ -596,7 +596,7 @@ UShort_t AliL3MemHandler::Read(UInt_t *comp, UInt_t & index, UInt_t & subindex)
   return value;
 }
 
-UShort_t AliL3MemHandler::Test(UInt_t *comp, 
+UShort_t AliHLTMemHandler::Test(UInt_t *comp, 
                               UInt_t index, UInt_t  subindex) const
 {
   //supi dupi test
@@ -604,22 +604,22 @@ UShort_t AliL3MemHandler::Test(UInt_t *comp,
   return (comp[index]>>shift[subindex])&0x03ff;
 }
 
-Int_t AliL3MemHandler::Memory2CompMemory(UInt_t nrow,
-                                        AliL3DigitRowData *data,UInt_t *comp)
+Int_t AliHLTMemHandler::Memory2CompMemory(UInt_t nrow,
+                                        AliHLTDigitRowData *data,UInt_t *comp)
 {
   //Performs run-length encoding on data stored in memory pointed to by data.
   //The compressed data is written to comp.
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2CompMemory","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2CompMemory","Memory")
       <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return 0;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2CompMemory","Memory")
-      <<"Pointer to AliL3DigitRowData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2CompMemory","Memory")
+      <<"Pointer to AliHLTDigitRowData = 0x0 "<<ENDLOG;
     return 0;
   }
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   UInt_t index=0;
   UInt_t subindex=0;
   
@@ -675,36 +675,36 @@ Int_t AliL3MemHandler::Memory2CompMemory(UInt_t nrow,
       Write(comp,index,subindex,0);
     }
     
-    Int_t size = sizeof(AliL3DigitData) * rowPt->fNDigit+
-                                            sizeof(AliL3DigitRowData);
+    Int_t size = sizeof(AliHLTDigitData) * rowPt->fNDigit+
+                                            sizeof(AliHLTDigitRowData);
     Byte_t  *bytePt =(Byte_t *) rowPt;
     bytePt += size;
-    rowPt = (AliL3DigitRowData *) bytePt;
+    rowPt = (AliHLTDigitRowData *) bytePt;
   }
   while(subindex)
     Write(comp,index,subindex,0);
   return index * sizeof(UInt_t);
 }
 
-Int_t AliL3MemHandler::CompMemory2Memory(UInt_t  nrow,
-                                        AliL3DigitRowData *data,UInt_t *comp)
+Int_t AliHLTMemHandler::CompMemory2Memory(UInt_t  nrow,
+                                        AliHLTDigitRowData *data,UInt_t *comp)
 {
   //Uncompress the run-length encoded data in memory pointed to by comp, and
   //  store it in data.
 
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompMemory2Memory","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompMemory2Memory","Memory")
       <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return 0;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompMemory2Memory","Memory")
-      <<"Pointer to AliL3DigitRowData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompMemory2Memory","Memory")
+      <<"Pointer to AliHLTDigitRowData = 0x0 "<<ENDLOG;
     return 0;
   }
   Int_t outsize=0;
   
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   UInt_t index=0;
   UInt_t subindex=0;
   
@@ -738,26 +738,26 @@ Int_t AliL3MemHandler::CompMemory2Memory(UInt_t  nrow,
       }
     }
     rowPt->fNDigit = ndigit;
-    Int_t size = sizeof(AliL3DigitData) * rowPt->fNDigit+
-      sizeof(AliL3DigitRowData);
+    Int_t size = sizeof(AliHLTDigitData) * rowPt->fNDigit+
+      sizeof(AliHLTDigitRowData);
     Byte_t  *bytePt =(Byte_t *) rowPt;
     bytePt += size;
     outsize += size;
-    rowPt = (AliL3DigitRowData *) bytePt;
+    rowPt = (AliHLTDigitRowData *) bytePt;
   }
   return outsize;
 }
 
-UInt_t AliL3MemHandler::GetCompMemorySize(UInt_t nrow,AliL3DigitRowData *data) const
+UInt_t AliHLTMemHandler::GetCompMemorySize(UInt_t nrow,AliHLTDigitRowData *data) const
 {
   //Return the size of RLE data, after compressing data.
   
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::GetCompMemorySize","Memory")
-      <<"Pointer to AliL3DigitRowData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::GetCompMemorySize","Memory")
+      <<"Pointer to AliHLTDigitRowData = 0x0 "<<ENDLOG;
     return 0;
   }
-  AliL3DigitRowData *rowPt = data;
+  AliHLTDigitRowData *rowPt = data;
   UInt_t index=0;
   
   for(UInt_t i=0;i<nrow;i++){
@@ -805,22 +805,22 @@ UInt_t AliL3MemHandler::GetCompMemorySize(UInt_t nrow,AliL3DigitRowData *data) c
       index++;
     }
 
-    Int_t size = sizeof(AliL3DigitData) * rowPt->fNDigit+
-                                            sizeof(AliL3DigitRowData);
+    Int_t size = sizeof(AliHLTDigitData) * rowPt->fNDigit+
+                                            sizeof(AliHLTDigitRowData);
     Byte_t  *bytePt =(Byte_t *) rowPt;
     bytePt += size;
-    rowPt = (AliL3DigitRowData *) bytePt;
+    rowPt = (AliHLTDigitRowData *) bytePt;
   }
   while(index%3)
     index++;
   return (index/3) * sizeof(UInt_t);
 }
 
-UInt_t AliL3MemHandler::GetMemorySize(UInt_t nrow,UInt_t *comp) const
+UInt_t AliHLTMemHandler::GetMemorySize(UInt_t nrow,UInt_t *comp) const
 {
   //get memory size
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::GetMemorySize","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::GetMemorySize","Memory")
     <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return 0;
   }
@@ -844,19 +844,19 @@ UInt_t AliL3MemHandler::GetMemorySize(UInt_t nrow,UInt_t *comp) const
         if(Read(comp,index,subindex)==0) break;
       }
     }
-    Int_t size = sizeof(AliL3DigitData) * ndigit+
-                                        sizeof(AliL3DigitRowData);
+    Int_t size = sizeof(AliHLTDigitData) * ndigit+
+                                        sizeof(AliHLTDigitRowData);
     outsize += size;
   }
    
   return outsize;
 }
 
-UInt_t AliL3MemHandler::GetNRow(UInt_t *comp,UInt_t size)
+UInt_t AliHLTMemHandler::GetNRow(UInt_t *comp,UInt_t size)
 {
   //get number of rows
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::GetNRow","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::GetNRow","Memory")
       <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return 0;
   }
@@ -889,25 +889,25 @@ UInt_t AliL3MemHandler::GetNRow(UInt_t *comp,UInt_t size)
   return nrow;
 }
 
-Bool_t AliL3MemHandler::CompMemory2CompBinary(UInt_t nrow,UInt_t *comp,
+Bool_t AliHLTMemHandler::CompMemory2CompBinary(UInt_t nrow,UInt_t *comp,
                                              UInt_t size)
 {
   //Write the RLE data in comp to the output file.
   
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompMemory2CompBinary","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompMemory2CompBinary","File")
     <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompMemory2CompBinary","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompMemory2CompBinary","Memory")
     <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   if(size==0)
     size=GetMemorySize(nrow,comp);
   if(!size){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompMemory2CompBinary","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompMemory2CompBinary","Memory")
     <<"Memory size = 0 "<<ENDLOG;
     return kFALSE;
   }
@@ -917,17 +917,17 @@ Bool_t AliL3MemHandler::CompMemory2CompBinary(UInt_t nrow,UInt_t *comp,
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::CompBinary2CompMemory(UInt_t & nrow,UInt_t *comp)
+Bool_t AliHLTMemHandler::CompBinary2CompMemory(UInt_t & nrow,UInt_t *comp)
 {
   //Read the RLE data from file, and store it in comp. No unpacking yet.
 
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompBinary2CompMemory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompBinary2CompMemory","File")
       <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!comp){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::CompBinary2CompMemory","Memory")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::CompBinary2CompMemory","Memory")
       <<"Pointer to compressed data = 0x0 "<<ENDLOG;
     return kFALSE;
   }
@@ -941,26 +941,26 @@ Bool_t AliL3MemHandler::CompBinary2CompMemory(UInt_t & nrow,UInt_t *comp)
   return kTRUE;
 }
 
-AliL3DigitRowData *AliL3MemHandler::CompBinary2Memory(UInt_t & nrow)
+AliHLTDigitRowData *AliHLTMemHandler::CompBinary2Memory(UInt_t & nrow)
 {
   // Read the RLE inputfile, unpack it and return the pointer to it.
-  AliL3MemHandler * handler = new AliL3MemHandler();
+  AliHLTMemHandler * handler = new AliHLTMemHandler();
   handler->SetBinaryInput(fInBinary);
   UInt_t *comp =(UInt_t *)handler->Allocate();
   handler->CompBinary2CompMemory(nrow,comp);
   UInt_t size = GetMemorySize(nrow,comp);
-  AliL3DigitRowData *data = (AliL3DigitRowData *)Allocate(size);
+  AliHLTDigitRowData *data = (AliHLTDigitRowData *)Allocate(size);
   CompMemory2Memory(nrow,data,comp);
   handler->Free();
   delete handler;
   return data;  
 }
 
-Bool_t AliL3MemHandler::Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data)
+Bool_t AliHLTMemHandler::Memory2CompBinary(UInt_t nrow,AliHLTDigitRowData *data)
 {
   //Perform RLE on the data, and write it to the output file.
   Bool_t out = kTRUE;
-  AliL3MemHandler * handler = new AliL3MemHandler();
+  AliHLTMemHandler * handler = new AliHLTMemHandler();
   UInt_t size = GetCompMemorySize(nrow,data);
   UInt_t *comp =(UInt_t *)handler->Allocate(size);
   Memory2CompMemory(nrow,data,comp);
@@ -972,31 +972,31 @@ Bool_t AliL3MemHandler::Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data)
 
 
 ///////////////////////////////////////// Point IO  
-Bool_t AliL3MemHandler::Memory2Binary(UInt_t npoint,AliL3SpacePointData *data)
+Bool_t AliHLTMemHandler::Memory2Binary(UInt_t npoint,AliHLTSpacePointData *data)
 {
   //Writing spacepoints stored in data to the outputfile.
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","File")
       <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","Memory")
-      <<"Pointer to AliL3SpacePointData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","Memory")
+      <<"Pointer to AliHLTSpacePointData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
-  UInt_t size = npoint*sizeof(AliL3SpacePointData);
+  UInt_t size = npoint*sizeof(AliHLTSpacePointData);
   fwrite(data,size,1,fOutBinary);
   
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Transform(UInt_t npoint,AliL3SpacePointData *data,Int_t slice)
+Bool_t AliHLTMemHandler::Transform(UInt_t npoint,AliHLTSpacePointData *data,Int_t slice)
 {
   //Transform the space points in data, to global coordinates in slice.
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Transform","Memory")
-    <<"Pointer to AliL3SpacePointData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Transform","Memory")
+    <<"Pointer to AliHLTSpacePointData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   
@@ -1005,7 +1005,7 @@ Bool_t AliL3MemHandler::Transform(UInt_t npoint,AliL3SpacePointData *data,Int_t
     xyz[0] = data[i].fX;
     xyz[1] = data[i].fY;
     xyz[2] = data[i].fZ;
-    AliL3Transform::Local2Global(xyz,slice);
+    AliHLTTransform::Local2Global(xyz,slice);
     data[i].fX = xyz[0];
     data[i].fY = xyz[1];
     data[i].fZ = xyz[2];
@@ -1013,117 +1013,117 @@ Bool_t AliL3MemHandler::Transform(UInt_t npoint,AliL3SpacePointData *data,Int_t
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Binary2Memory(UInt_t & npoint,AliL3SpacePointData *data)
+Bool_t AliHLTMemHandler::Binary2Memory(UInt_t & npoint,AliHLTSpacePointData *data)
 {
   //Read the space points in inputfile, and store it in data.
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","File")
     <<"No Input File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","Memory")
-    <<"Pointer to AliL3SpacePointData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","Memory")
+    <<"Pointer to AliHLTSpacePointData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
 
   Int_t size = GetFileSize(); 
-  npoint = size/sizeof(AliL3SpacePointData);
+  npoint = size/sizeof(AliHLTSpacePointData);
   if(size==0) {
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","File")
     <<"File Size == 0"<<ENDLOG;
     return kFALSE;
   }
 
   if(fread(data,size,1,fInBinary)!=1){
-    LOG(AliL3Log::kFatal,"AliL3MemHandler::Binary2Memory","File")
+    LOG(AliHLTLog::kFatal,"AliHLTMemHandler::Binary2Memory","File")
     <<"File Read Error "<<ENDLOG;
     return kFALSE;
   }
-  if(size%sizeof(AliL3SpacePointData)){
-    LOG(AliL3Log::kFatal,"AliL3MemHandler::Binary2Memory","File Size")
+  if(size%sizeof(AliHLTSpacePointData)){
+    LOG(AliHLTLog::kFatal,"AliHLTMemHandler::Binary2Memory","File Size")
     <<"File Size wrong "<<ENDLOG;
     return kFALSE; 
   }
-  LOG(AliL3Log::kDebug,"AliL3MemHandler::Binary2Memory","File")
-  <<AliL3Log::kDec<<"Wrote  "<<size<<" Bytes to Memory"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Binary2Memory","File")
+  <<AliHLTLog::kDec<<"Wrote  "<<size<<" Bytes to Memory"<<ENDLOG;
   return kTRUE;
 }
 
 ///////////////////////////////////////// Track IO  
-Bool_t AliL3MemHandler::Memory2Binary(UInt_t ntrack,AliL3TrackSegmentData *data)
+Bool_t AliHLTMemHandler::Memory2Binary(UInt_t ntrack,AliHLTTrackSegmentData *data)
 {
   //Write the tracks stored in data, to outputfile.
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","File")
     <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2Binary","Memory")
-    <<"Pointer to AliL3TrackSegmentData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2Binary","Memory")
+    <<"Pointer to AliHLTTrackSegmentData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
-  AliL3TrackSegmentData *trackPt = data;
+  AliHLTTrackSegmentData *trackPt = data;
   for(UInt_t i=0;i<ntrack;i++){
-    Int_t size=sizeof(AliL3TrackSegmentData)+trackPt->fNPoints*sizeof(UInt_t); 
+    Int_t size=sizeof(AliHLTTrackSegmentData)+trackPt->fNPoints*sizeof(UInt_t); 
     fwrite(trackPt,size,1,fOutBinary);
     Byte_t *bytePt = (Byte_t*) trackPt;
     bytePt += size; 
-    trackPt = (AliL3TrackSegmentData*) bytePt;
+    trackPt = (AliHLTTrackSegmentData*) bytePt;
   }
-  LOG(AliL3Log::kDebug,"AliL3MemHandler::Memory2Binary","File")
-  <<AliL3Log::kDec<<"Wrote  "<<ntrack<<" Tracks to File"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Memory2Binary","File")
+  <<AliHLTLog::kDec<<"Wrote  "<<ntrack<<" Tracks to File"<<ENDLOG;
   
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Binary2Memory(UInt_t & ntrack,AliL3TrackSegmentData *data)
+Bool_t AliHLTMemHandler::Binary2Memory(UInt_t & ntrack,AliHLTTrackSegmentData *data)
 {
   //Read the tracks in inputfile, and store it in data.
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","File")
     <<"No Input File"<<ENDLOG;
     return kFALSE;
   }
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2Memory","Memory")
-    <<"Pointer to AliL3TrackSegmentData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2Memory","Memory")
+    <<"Pointer to AliHLTTrackSegmentData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
 
   ntrack=0;
-  AliL3TrackSegmentData *trackPt = data;
+  AliHLTTrackSegmentData *trackPt = data;
   rewind(fInBinary);
 
   while(!feof(fInBinary)){
-    if(fread(trackPt,sizeof(AliL3TrackSegmentData),1,fInBinary)!=1) break;
+    if(fread(trackPt,sizeof(AliHLTTrackSegmentData),1,fInBinary)!=1) break;
     Int_t size=trackPt->fNPoints*sizeof(UInt_t);
     if(fread(trackPt->fPointIDs,size,1,fInBinary)!=1) break;
     Byte_t *bytePt = (Byte_t*) trackPt;
-    bytePt += sizeof(AliL3TrackSegmentData)+size;
-    trackPt = (AliL3TrackSegmentData*) bytePt;
+    bytePt += sizeof(AliHLTTrackSegmentData)+size;
+    trackPt = (AliHLTTrackSegmentData*) bytePt;
     ntrack++; 
   }
-  LOG(AliL3Log::kDebug,"AliL3MemHandler::Binary2Memory","File")
-  <<AliL3Log::kDec<<"Wrote  "<<ntrack<<" Tracks to Memory"<<ENDLOG;
+  LOG(AliHLTLog::kDebug,"AliHLTMemHandler::Binary2Memory","File")
+  <<AliHLTLog::kDec<<"Wrote  "<<ntrack<<" Tracks to Memory"<<ENDLOG;
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::TrackArray2Binary(AliL3TrackArray *array)
+Bool_t AliHLTMemHandler::TrackArray2Binary(AliHLTTrackArray *array)
 {
   //Write the trackarray to the outputfile.
   if(!fOutBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::TrackArray2Binary","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::TrackArray2Binary","File")
     <<"No Output File"<<ENDLOG;
     return kFALSE;
   }
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::TrackArray2Binary","Memory")
-    <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::TrackArray2Binary","Memory")
+    <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return kFALSE;
   }
-  AliL3TrackSegmentData *data = (AliL3TrackSegmentData *)Allocate(array);
+  AliHLTTrackSegmentData *data = (AliHLTTrackSegmentData *)Allocate(array);
 
   UInt_t ntrack;
   TrackArray2Memory(ntrack,data,array);
@@ -1132,21 +1132,21 @@ Bool_t AliL3MemHandler::TrackArray2Binary(AliL3TrackArray *array)
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Binary2TrackArray(AliL3TrackArray *array)
+Bool_t AliHLTMemHandler::Binary2TrackArray(AliHLTTrackArray *array)
 {
   //Read the tracks in inputfile, and fill it in trackarray. 
   //array should already be constructed.
   if(!fInBinary){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2TrackArray","File")
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2TrackArray","File")
     <<"No Input File"<<ENDLOG;
     return kFALSE;
   }
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Binary2TrackArray","Memory")
-    <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Binary2TrackArray","Memory")
+    <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return kFALSE;
   }
-  AliL3TrackSegmentData *data = (AliL3TrackSegmentData *)Allocate();
+  AliHLTTrackSegmentData *data = (AliHLTTrackSegmentData *)Allocate();
   UInt_t ntrack;
   Binary2Memory(ntrack,data);
   Memory2TrackArray(ntrack,data,array);  
@@ -1154,17 +1154,17 @@ Bool_t AliL3MemHandler::Binary2TrackArray(AliL3TrackArray *array)
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::TrackArray2Memory(UInt_t & ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array) const
+Bool_t AliHLTMemHandler::TrackArray2Memory(UInt_t & ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array) const
 {
   //Fill the trackarray into the AliTrackSegmentData structures before writing to outputfile.
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::TrackArray2Memory","Memory")
-    <<"Pointer to AliL3TrackSegmentData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::TrackArray2Memory","Memory")
+    <<"Pointer to AliHLTTrackSegmentData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::TrackArray2Memory","Memory")
-    <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::TrackArray2Memory","Memory")
+    <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return kFALSE;
   }
 
@@ -1172,53 +1172,53 @@ Bool_t AliL3MemHandler::TrackArray2Memory(UInt_t & ntrack,AliL3TrackSegmentData
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Memory2TrackArray(UInt_t ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array) const
+Bool_t AliHLTMemHandler::Memory2TrackArray(UInt_t ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array) const
 {
   //Fill the tracks in data into trackarray.
   
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2TrackArray","Memory")
-    <<"Pointer to AliL3TrackSegmentData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2TrackArray","Memory")
+    <<"Pointer to AliHLTTrackSegmentData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2TrackArray","Memory")
-    <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2TrackArray","Memory")
+    <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   array->FillTracks(ntrack,data);
   return kTRUE;
 }
 
-Bool_t AliL3MemHandler::Memory2TrackArray(UInt_t ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array,Int_t slice) const
+Bool_t AliHLTMemHandler::Memory2TrackArray(UInt_t ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array,Int_t slice) const
 {
   //Fill the tracks in data into trackarray, and rotate the tracks to global coordinates.
     
   if(!data){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2TrackArray","Memory")
-    <<"Pointer to AliL3TrackSegmentData = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2TrackArray","Memory")
+    <<"Pointer to AliHLTTrackSegmentData = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   if(!array){
-    LOG(AliL3Log::kWarning,"AliL3MemHandler::Memory2TrackArray","Memory")
-    <<"Pointer to AliL3TrackArray = 0x0 "<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTMemHandler::Memory2TrackArray","Memory")
+    <<"Pointer to AliHLTTrackArray = 0x0 "<<ENDLOG;
     return kFALSE;
   }
   array->FillTracks(ntrack,data,slice);
   return kTRUE;
 }
 
-void AliL3MemHandler::UpdateRowPointer(AliL3DigitRowData *&tempPt)
+void AliHLTMemHandler::UpdateRowPointer(AliHLTDigitRowData *&tempPt)
 {
   //Update the data pointer to the next padrow in memory.
   
   Byte_t *tmp = (Byte_t*)tempPt;
-  Int_t size = sizeof(AliL3DigitRowData) + tempPt->fNDigit*sizeof(AliL3DigitData);
+  Int_t size = sizeof(AliHLTDigitRowData) + tempPt->fNDigit*sizeof(AliHLTDigitData);
   tmp += size;
-  tempPt = (AliL3DigitRowData*)tmp;
+  tempPt = (AliHLTDigitRowData*)tmp;
 }
 
-Int_t  AliL3MemHandler::ComparePoints(UInt_t /*row*/,UShort_t pad,UShort_t time) const
+Int_t  AliHLTMemHandler::ComparePoints(UInt_t /*row*/,UShort_t pad,UShort_t time) const
 {
   //compare two points
   if(fNUsed>=fNDigits) return -2;
@@ -1231,7 +1231,7 @@ Int_t  AliL3MemHandler::ComparePoints(UInt_t /*row*/,UShort_t pad,UShort_t time)
   return 1;
 }
 
-Int_t AliL3MemHandler::CompareDigits(AliL3RandomDigitData *a,AliL3RandomDigitData *b) const
+Int_t AliHLTMemHandler::CompareDigits(AliHLTRandomDigitData *a,AliHLTRandomDigitData *b) const
 {
   //compare two digits
   if(a->fPad==b->fPad && a->fTime == b->fTime) return 0;
similarity index 65%
rename from HLT/src/AliL3MemHandler.h
rename to HLT/src/AliHLTMemHandler.h
index 325fedb129361eee10a73534da15c6c7baed3953..1dfd062890a2a4e26a708e50166d157f6a86e224 100644 (file)
@@ -4,7 +4,7 @@
 #define ALIL3_MEMHANDLER_H
 
 //_____________________________________________________________
-// AliL3MemHandler
+// AliHLTMemHandler
 //
 // The HLT Binary File handler 
 //
 //         Constantin Loizides <mailto:loizides@ikf.uni-frankfurt.de>
 // *-- Copyright &copy ALICE HLT Group 
 
-class AliL3DigitData;
-class AliL3SpacePointData;
-class AliL3DigitRowData;
-class AliL3TrackSegmentData;
-class AliL3TrackArray;
-class AliL3RandomPointData;
-class AliL3RandomDigitData;
+class AliHLTDigitData;
+class AliHLTSpacePointData;
+class AliHLTDigitRowData;
+class AliHLTTrackSegmentData;
+class AliHLTTrackArray;
+class AliHLTRandomPointData;
+class AliHLTRandomDigitData;
 
 #ifdef use_newio
 class AliRunLoader;
@@ -29,13 +29,13 @@ class AliRawEvent;
 #endif
 class AliTPCRawStream;
 
-class AliL3MemHandler { 
+class AliHLTMemHandler { 
 
  public:
-  AliL3MemHandler();
-  virtual ~AliL3MemHandler();
-  AliL3MemHandler(const AliL3MemHandler& /*m*/){};
-  AliL3MemHandler& operator=(const AliL3MemHandler& /*&m*/)
+  AliHLTMemHandler();
+  virtual ~AliHLTMemHandler();
+  AliHLTMemHandler(const AliHLTMemHandler& /*m*/){};
+  AliHLTMemHandler& operator=(const AliHLTMemHandler& /*&m*/)
     {return (*this);}
    
   void Reset(){CloseBinaryInput();CloseBinaryOutput();Free();}  
@@ -62,44 +62,44 @@ class AliL3MemHandler {
   void ResetROI();
 
   //Digit IO
-  Bool_t Memory2Binary(UInt_t nrow,AliL3DigitRowData *data);
-  Bool_t Binary2Memory(UInt_t & nrow,AliL3DigitRowData *data);
+  Bool_t Memory2Binary(UInt_t nrow,AliHLTDigitRowData *data);
+  Bool_t Binary2Memory(UInt_t & nrow,AliHLTDigitRowData *data);
 
-  Int_t Memory2CompMemory(UInt_t nrow,AliL3DigitRowData *data,UInt_t *comp);
-  Int_t CompMemory2Memory(UInt_t nrow,AliL3DigitRowData *data,UInt_t *comp);
+  Int_t Memory2CompMemory(UInt_t nrow,AliHLTDigitRowData *data,UInt_t *comp);
+  Int_t CompMemory2Memory(UInt_t nrow,AliHLTDigitRowData *data,UInt_t *comp);
   Bool_t CompMemory2CompBinary(UInt_t nrow,UInt_t *comp, UInt_t size=0);
   Bool_t CompBinary2CompMemory(UInt_t & nrow,UInt_t *comp);
 
-  virtual AliL3DigitRowData *CompBinary2Memory(UInt_t & nrow);
-  virtual Bool_t Memory2CompBinary(UInt_t nrow,AliL3DigitRowData *data);
+  virtual AliHLTDigitRowData *CompBinary2Memory(UInt_t & nrow);
+  virtual Bool_t Memory2CompBinary(UInt_t nrow,AliHLTDigitRowData *data);
   
   UInt_t GetNRow(UInt_t *comp,UInt_t size);
 
   //Point IO
-  Bool_t Memory2Binary(UInt_t npoint,AliL3SpacePointData *data);
-  Bool_t Binary2Memory(UInt_t & npoint,AliL3SpacePointData *data);
-  Bool_t Transform(UInt_t npoint,AliL3SpacePointData *data,Int_t slice);
-  static void UpdateRowPointer(AliL3DigitRowData *&tempPt);
+  Bool_t Memory2Binary(UInt_t npoint,AliHLTSpacePointData *data);
+  Bool_t Binary2Memory(UInt_t & npoint,AliHLTSpacePointData *data);
+  Bool_t Transform(UInt_t npoint,AliHLTSpacePointData *data,Int_t slice);
+  static void UpdateRowPointer(AliHLTDigitRowData *&tempPt);
   
   //Track IO
-  Bool_t Memory2Binary(UInt_t ntrack,AliL3TrackSegmentData *data);
-  Bool_t Binary2Memory(UInt_t & ntrack,AliL3TrackSegmentData *data);
-  Bool_t TrackArray2Binary(AliL3TrackArray *array);
-  Bool_t Binary2TrackArray(AliL3TrackArray *array);
-  Bool_t TrackArray2Memory(UInt_t & ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array) const;
-  Bool_t Memory2TrackArray(UInt_t ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array) const;
-  Bool_t Memory2TrackArray(UInt_t ntrack,AliL3TrackSegmentData *data,AliL3TrackArray *array,Int_t slice) const;
+  Bool_t Memory2Binary(UInt_t ntrack,AliHLTTrackSegmentData *data);
+  Bool_t Binary2Memory(UInt_t & ntrack,AliHLTTrackSegmentData *data);
+  Bool_t TrackArray2Binary(AliHLTTrackArray *array);
+  Bool_t Binary2TrackArray(AliHLTTrackArray *array);
+  Bool_t TrackArray2Memory(UInt_t & ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array) const;
+  Bool_t Memory2TrackArray(UInt_t ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array) const;
+  Bool_t Memory2TrackArray(UInt_t ntrack,AliHLTTrackSegmentData *data,AliHLTTrackArray *array,Int_t slice) const;
     
   //Memory Allocation
   UInt_t GetAllocatedSize() const {return fSize;}  
   UInt_t GetFileSize();
   UInt_t GetMemorySize(UInt_t nrow,UInt_t *comp) const;
-  UInt_t GetCompMemorySize(UInt_t nrow,AliL3DigitRowData *data) const;
+  UInt_t GetCompMemorySize(UInt_t nrow,AliHLTDigitRowData *data) const;
   UInt_t GetRandomSize() const;
 
   Byte_t *Allocate(UInt_t size);
   Byte_t *Allocate();  // allocate size of Binary Input File
-  Byte_t *Allocate(AliL3TrackArray *array);
+  Byte_t *Allocate(AliHLTTrackArray *array);
   Byte_t *GetDataPointer(UInt_t &size) {size = fSize; return fPt;}
   FILE *GetFilePointer() {return fInBinary;}
   void   Free();
@@ -123,13 +123,13 @@ class AliL3MemHandler {
   virtual void CloseMCOutput(){fDummy=0; return;}
   virtual Bool_t AliDigits2Binary(Int_t /*event*/=0,Bool_t /*altro*/=kFALSE){fDummy=0; return 0;}
   virtual Bool_t AliDigits2CompBinary(Int_t /*event*/=0,Bool_t /*altro*/=kFALSE){fDummy=0; return 0;}  
-  virtual AliL3DigitRowData *AliDigits2Memory(UInt_t & /*nrow*/,Int_t /*event*/=0){fDummy=0; return 0;}
-  virtual AliL3DigitRowData *AliAltroDigits2Memory(UInt_t & /*nrow*/,Int_t /*event*/=0,Bool_t /*eventmerge*/=kFALSE){fDummy=0; return 0;}
-  virtual void AliDigits2RootFile(AliL3DigitRowData */*rowPt*/,Char_t */*new_digitsfile*/){fDummy=0; return;}
+  virtual AliHLTDigitRowData *AliDigits2Memory(UInt_t & /*nrow*/,Int_t /*event*/=0){fDummy=0; return 0;}
+  virtual AliHLTDigitRowData *AliAltroDigits2Memory(UInt_t & /*nrow*/,Int_t /*event*/=0,Bool_t /*eventmerge*/=kFALSE){fDummy=0; return 0;}
+  virtual void AliDigits2RootFile(AliHLTDigitRowData */*rowPt*/,Char_t */*new_digitsfile*/){fDummy=0; return;}
   virtual Bool_t AliPoints2Binary(Int_t /*eventn*/=0){fDummy=0; return 0;}
-  virtual AliL3SpacePointData *AliPoints2Memory(UInt_t & /*npoint*/,Int_t /*eventn*/=0){fDummy=0; return 0;}
+  virtual AliHLTSpacePointData *AliPoints2Memory(UInt_t & /*npoint*/,Int_t /*eventn*/=0){fDummy=0; return 0;}
 
-  //AliL3RawDataFileHandler
+  //AliHLTRawDataFileHandler
   virtual Bool_t SetRawInput(Char_t */*name*/){fDummy=0; return 0;}
   virtual Bool_t SetRawInput(ifstream */*file*/){fDummy=0; return 0;}
   virtual void CloseRawInput(){} 
@@ -151,10 +151,10 @@ class AliL3MemHandler {
   virtual void CloseRawPedestalsInput(){} 
   virtual Int_t ReadRawPedestalsInput(){fDummy=0; return 0;}
 
-  virtual AliL3DigitRowData* RawData2Memory(UInt_t &/*nrow*/,Int_t /*event*/=-1){fDummy=0; return 0;}
+  virtual AliHLTDigitRowData* RawData2Memory(UInt_t &/*nrow*/,Int_t /*event*/=-1){fDummy=0; return 0;}
   virtual Bool_t RawData2CompMemory(Int_t /*event*/=-1){fDummy=0; return 0;}
 
-  //AliL3DDLDataFileHandler
+  //AliHLTDDLDataFileHandler
 #ifdef use_newio
   virtual Bool_t SetReaderInput(AliRawEvent */*rawevent*/){fDummy=0; return 0;}
   virtual Bool_t SetReaderInput(Char_t */*name*/,Int_t /*event*/=0){fDummy=0; return 0;}
@@ -163,7 +163,7 @@ class AliL3MemHandler {
 #endif
   virtual void CloseReaderInput(){};
 
-  virtual AliL3DigitRowData* DDLData2Memory(UInt_t &/*nrow*/,Int_t /*event*/=-1){fDummy=0; return 0;}
+  virtual AliHLTDigitRowData* DDLData2Memory(UInt_t &/*nrow*/,Int_t /*event*/=-1){fDummy=0; return 0;}
   virtual Bool_t DDLData2CompBinary(Int_t /*event*/=-1){fDummy=0; return 0;}
 
   virtual AliTPCRawStream* GetTPCRawStream(){fDummy=0; return 0;}
@@ -191,8 +191,8 @@ class AliL3MemHandler {
   Int_t fNUsed;     //count used digits
   Int_t fNDigits;   //count digits from digitstree
 
-  AliL3RandomDigitData **fDPt;//!
-  AliL3RandomDigitData *fRandomDigits;//!
+  AliHLTRandomDigitData **fDPt;//!
+  AliHLTRandomDigitData *fRandomDigits;//!
 
   Int_t fDummy; // to fool the virtual const problem 
                 // of the coding conventions tool
@@ -202,18 +202,21 @@ class AliL3MemHandler {
   UShort_t Test(UInt_t *comp, UInt_t index, UInt_t subindex) const; 
   
   void DigitizePoint(Int_t row,Int_t pad, Int_t time,Int_t charge);
-  void QSort(AliL3RandomDigitData **a, Int_t first, Int_t last);
+  void QSort(AliHLTRandomDigitData **a, Int_t first, Int_t last);
   Int_t ComparePoints(UInt_t row,UShort_t pad,UShort_t time) const ;
-  Int_t CompareDigits(AliL3RandomDigitData *a,AliL3RandomDigitData *b) const;
-  void AddData(AliL3DigitData *data,UInt_t & ndata,
+  Int_t CompareDigits(AliHLTRandomDigitData *a,AliHLTRandomDigitData *b) const;
+  void AddData(AliHLTDigitData *data,UInt_t & ndata,
                       UInt_t row,UShort_t pad,UShort_t time,UShort_t charge) const;
-  void AddRandom(AliL3DigitData *data,UInt_t & ndata);
-  void MergeDataRandom(AliL3DigitData *data,UInt_t & ndata,
+  void AddRandom(AliHLTDigitData *data,UInt_t & ndata);
+  void MergeDataRandom(AliHLTDigitData *data,UInt_t & ndata,
                       UInt_t row,UShort_t pad,UShort_t time,UShort_t charge);
-  void AddDataRandom(AliL3DigitData *data,UInt_t & ndata,
+  void AddDataRandom(AliHLTDigitData *data,UInt_t & ndata,
                       UInt_t row,UShort_t pad,UShort_t time,UShort_t charge);
 
 
-  ClassDef(AliL3MemHandler,1) // Memory handler class
+  ClassDef(AliHLTMemHandler,1) // Memory handler class
 };
+
+typedef AliHLTMemHandler AliL3MemHandler; // for backward compatibility
+
 #endif
similarity index 70%
rename from HLT/src/AliL3Merger.cxx
rename to HLT/src/AliHLTMerger.cxx
index 8044694a636f0198837c06a0ef1aa95a26296d0d..159444666878d03f73777619f84df745d4e0a338 100644 (file)
@@ -3,14 +3,14 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy Uli 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3Merger.h"
-#include "AliL3Track.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTMerger.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
 
 #ifdef use_root //use root ntuple for slow merge
 #include <TNtuple.h>
 #include <TFile.h>
 #endif
 
-/** \class AliL3Merger
+/** \class AliHLTMerger
 <pre>
 //_____________________________________________________________
-// AliL3Merger
+// AliHLTMerger
 //
 // The L3 merger base class
 //
@@ -32,9 +32,9 @@
 using namespace std;
 #endif
 
-ClassImp(AliL3Merger)
+ClassImp(AliHLTMerger)
 
-AliL3Merger::AliL3Merger()
+AliHLTMerger::AliHLTMerger()
 {
   //Default constructor
   fInTrack=0;
@@ -43,28 +43,28 @@ AliL3Merger::AliL3Merger()
   fNIn=0;
 }
 
-AliL3Merger::~AliL3Merger()
+AliHLTMerger::~AliHLTMerger()
 {
   //Destructor
   DeleteArray();
 }
 
-void AliL3Merger::InitMerger(Int_t ntrackarrays,Char_t *tracktype)
+void AliHLTMerger::InitMerger(Int_t ntrackarrays,Char_t *tracktype)
 {
   //Used to setup all arrays
   
-  if(strcmp(tracktype,"AliL3Track")==0) fTrackType='t';
-  else if(strcmp(tracktype,"AliL3ConfMapTrack")==0) fTrackType='c';
-  else if(strcmp(tracktype,"AliL3HoughTrack")==0) fTrackType='h';
+  if(strcmp(tracktype,"AliHLTTrack")==0) fTrackType='t';
+  else if(strcmp(tracktype,"AliHLTConfMapTrack")==0) fTrackType='c';
+  else if(strcmp(tracktype,"AliHLTHoughTrack")==0) fTrackType='h';
   else
-    LOG(AliL3Log::kError,"AliL3Merger::AliL3Merger","Track types")
+    LOG(AliHLTLog::kError,"AliHLTMerger::AliHLTMerger","Track types")
       <<"Unknown tracktype"<<ENDLOG;
   SetArray(ntrackarrays);
   fCurrentTracks=0;
 
 }
 
-void AliL3Merger::DeleteArray()
+void AliHLTMerger::DeleteArray()
 {
   //delete arrays
   for(Int_t i=0; i<fNIn;i++)
@@ -81,28 +81,28 @@ void AliL3Merger::DeleteArray()
   fOutTrack=0;
 }
 
-void AliL3Merger::SetArray(Int_t nin)
+void AliHLTMerger::SetArray(Int_t nin)
 { 
   //set arrays
   DeleteArray();//Make sure arrays are cleaned 
   
   fNIn = nin;
-  fInTrack = new AliL3TrackArray*[fNIn];
+  fInTrack = new AliHLTTrackArray*[fNIn];
   for(Int_t i=0; i<fNIn;i++)
     {
       if(fTrackType=='h')
-       fInTrack[i] = new AliL3TrackArray("AliL3HoughTrack");
+       fInTrack[i] = new AliHLTTrackArray("AliHLTHoughTrack");
       else
-       fInTrack[i] = new AliL3TrackArray("AliL3Track");
+       fInTrack[i] = new AliHLTTrackArray("AliHLTTrack");
       
     }
   if(fTrackType=='h')
-    fOutTrack= new AliL3TrackArray("AliL3HoughTrack");
+    fOutTrack= new AliHLTTrackArray("AliHLTHoughTrack");
   else
-    fOutTrack= new AliL3TrackArray("AliL3Track");
+    fOutTrack= new AliHLTTrackArray("AliHLTTrack");
 }
 
-void AliL3Merger::Reset()
+void AliHLTMerger::Reset()
 { 
   //reset
   for(Int_t i=0; i<fNIn;i++)
@@ -112,31 +112,31 @@ void AliL3Merger::Reset()
   fOutTrack->Reset();
 }
 
-void AliL3Merger::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr)
+void AliHLTMerger::FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr)
 {
   //Read tracks from shared memory (or memory)
-  AliL3TrackArray *destination = GetInTracks(fCurrentTracks);
+  AliHLTTrackArray *destination = GetInTracks(fCurrentTracks);
   if(Is2Global())
     destination->FillTracks(ntracks, tr, fSlice);
   else
     destination->FillTracks(ntracks, tr);
 }
 
-void AliL3Merger::AddAllTracks()
+void AliHLTMerger::AddAllTracks()
 { 
   //add all tracks
   for(Int_t i=0; i<GetNIn();i++)
     {
-      AliL3TrackArray *in = GetInTracks(i);
-      AliL3TrackArray *out = GetOutTracks();
+      AliHLTTrackArray *in = GetInTracks(i);
+      AliHLTTrackArray *out = GetOutTracks();
       out->AddTracks(in);
     }
 }
 
-void AliL3Merger::SortGlobalTracks(AliL3Track **tracks, Int_t ntrack)
+void AliHLTMerger::SortGlobalTracks(AliHLTTrack **tracks, Int_t ntrack)
 { 
   //sort global tracks
-  AliL3Track **tmp = new AliL3Track*[ntrack]; 
+  AliHLTTrack **tmp = new AliHLTTrack*[ntrack]; 
   for(Int_t i=0;i<ntrack;i++) tmp[i] = tracks[i];
   Int_t *t = new Int_t[ntrack];
   for(Int_t i=0;i<ntrack;i++) t[i]=-1;
@@ -163,10 +163,10 @@ void AliL3Merger::SortGlobalTracks(AliL3Track **tracks, Int_t ntrack)
   delete[] tmp;
 }
 
-void AliL3Merger::SortTracks(AliL3Track **tracks, Int_t ntrack) const
+void AliHLTMerger::SortTracks(AliHLTTrack **tracks, Int_t ntrack) const
 { 
   //sort tracks
-  AliL3Track **tmp = new  AliL3Track*[ntrack];
+  AliHLTTrack **tmp = new  AliHLTTrack*[ntrack];
   for(Int_t i=0;i<ntrack;i++) tmp[i] = tracks[i];
   Int_t *t = new Int_t[ntrack];
   for(Int_t i=0;i<ntrack;i++) t[i]=-1;
@@ -192,25 +192,25 @@ void AliL3Merger::SortTracks(AliL3Track **tracks, Int_t ntrack) const
   delete[] tmp;
 }
 
-void AliL3Merger::AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track)
+void AliHLTMerger::AddTrack(AliHLTTrackArray *mergedtrack,AliHLTTrack *track)
 { 
   // add tracks
-  AliL3Track *t[1];
+  AliHLTTrack *t[1];
   t[0] = track;
   MultiMerge(mergedtrack,t,1);
 }
 
-AliL3Track * AliL3Merger::MergeTracks(AliL3TrackArray *mergedtrack,AliL3Track *t0,AliL3Track *t1)
+AliHLTTrack * AliHLTMerger::MergeTracks(AliHLTTrackArray *mergedtrack,AliHLTTrack *t0,AliHLTTrack *t1)
 { 
   //merge tracks
-  AliL3Track *t[2];
+  AliHLTTrack *t[2];
   t[0] = t0; 
   t[1] = t1;
   SortTracks(t,2);
   return MultiMerge(mergedtrack,t,2);
 }
 
-AliL3Track * AliL3Merger::MultiMerge(AliL3TrackArray *mergedtracks,AliL3Track **tracks, Int_t ntrack)
+AliHLTTrack * AliHLTMerger::MultiMerge(AliHLTTrackArray *mergedtracks,AliHLTTrack **tracks, Int_t ntrack)
 {
   //multi merge the tracks
   //check npoints
@@ -219,17 +219,17 @@ AliL3Track * AliL3Merger::MultiMerge(AliL3TrackArray *mergedtracks,AliL3Track **
     {
       nps+=tracks[i]->GetNHits();
     }
-  if(nps>AliL3Transform::GetNRows())
+  if(nps>AliHLTTransform::GetNRows())
     {
-      LOG(AliL3Log::kWarning,"AliL3Merger::MultiMerge","Adding Points")
-       <<AliL3Log::kDec<<"Too many Points: "<<nps<<ENDLOG;
+      LOG(AliHLTLog::kWarning,"AliHLTMerger::MultiMerge","Adding Points")
+       <<AliHLTLog::kDec<<"Too many Points: "<<nps<<ENDLOG;
       return 0;
     }
   
   //create new track
-  AliL3Track *newtrack = mergedtracks->NextTrack();
+  AliHLTTrack *newtrack = mergedtracks->NextTrack();
   //copy points
-  UInt_t * nn = new UInt_t[AliL3Transform::GetNRows()];
+  UInt_t * nn = new UInt_t[AliHLTTransform::GetNRows()];
   nps = 0;
   
   //  for(Int_t i=0;i<ntrack;i++){
@@ -238,9 +238,9 @@ AliL3Track * AliL3Merger::MultiMerge(AliL3TrackArray *mergedtracks,AliL3Track **
       memcpy(&nn[nps],tracks[i]->GetHitNumbers(),tracks[i]->GetNHits()*sizeof(UInt_t));
       nps+=tracks[i]->GetNHits();
     }
-  AliL3Track *tpf=tracks[0];
-  AliL3Track *tpl=tracks[ntrack-1];
-  AliL3Track *best = tpf;
+  AliHLTTrack *tpf=tracks[0];
+  AliHLTTrack *tpl=tracks[ntrack-1];
+  AliHLTTrack *best = tpf;
   if(tpf->GetNHits()<tpl->GetNHits() && Is2Global())
     best = tpl;//Best means = most points and therefore best fit (in global case)
   
@@ -256,7 +256,7 @@ AliL3Track * AliL3Merger::MultiMerge(AliL3TrackArray *mergedtracks,AliL3Track **
   return newtrack;
 }
 
-void* AliL3Merger::GetNtuple(char *varlist) const
+void* AliHLTMerger::GetNtuple(char *varlist) const
 { 
   //get ntuple
 #ifdef use_root
@@ -267,7 +267,7 @@ void* AliL3Merger::GetNtuple(char *varlist) const
 #endif
 }
 
-void* AliL3Merger::GetNtuple() const
+void* AliHLTMerger::GetNtuple() const
 { 
   //get ntuple
 #ifdef use_root
@@ -279,7 +279,7 @@ void* AliL3Merger::GetNtuple() const
 #endif
 }
 
-Bool_t AliL3Merger::WriteNtuple(char *filename, void* nt) const
+Bool_t AliHLTMerger::WriteNtuple(char *filename, void* nt) const
 { 
   //write ntuple
 #ifdef use_root
@@ -294,7 +294,7 @@ Bool_t AliL3Merger::WriteNtuple(char *filename, void* nt) const
 #endif
 }
 
-void AliL3Merger::FillNtuple(void *nt,AliL3Track *innertrack,AliL3Track *outertrack)
+void AliHLTMerger::FillNtuple(void *nt,AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 { 
   //fill ntuple
   Float_t data[17];
@@ -305,8 +305,8 @@ void AliL3Merger::FillNtuple(void *nt,AliL3Track *innertrack,AliL3Track *outertr
       data[2] =Float_t(innertrack->GetPointZ()-outertrack->GetPointZ());
       data[3] =Float_t(innertrack->GetKappa()-outertrack->GetKappa());
       Double_t psi= innertrack->GetPointPsi() - outertrack->GetPointPsi();
-      if(psi>AliL3Transform::Pi()) psi-=AliL3Transform::TwoPi();
-      else if(psi<-AliL3Transform::Pi()) psi+=AliL3Transform::TwoPi();
+      if(psi>AliHLTTransform::Pi()) psi-=AliHLTTransform::TwoPi();
+      else if(psi<-AliHLTTransform::Pi()) psi+=AliHLTTransform::TwoPi();
       data[4] =Float_t(psi);
       data[5] =Float_t(innertrack->GetTgl()-outertrack->GetTgl());
       data[6] =Float_t(innertrack->GetCharge()-outertrack->GetCharge());
@@ -327,7 +327,7 @@ void AliL3Merger::FillNtuple(void *nt,AliL3Track *innertrack,AliL3Track *outertr
     }
 }
 
-void AliL3Merger::FillNtuple(void *nt,Float_t *data) const
+void AliHLTMerger::FillNtuple(void *nt,Float_t *data) const
 { 
   //fill ntuple
 #ifdef use_root
@@ -336,16 +336,16 @@ void AliL3Merger::FillNtuple(void *nt,Float_t *data) const
 #endif
 }
 
-Double_t AliL3Merger::GetAngle(Double_t a1,Double_t a2)
+Double_t AliHLTMerger::GetAngle(Double_t a1,Double_t a2)
 { 
   //get angle
-  Double_t da = a1 - a2 + 4*AliL3Transform::Pi();
-  da = fmod(da,AliL3Transform::TwoPi());
-  if(da>AliL3Transform::Pi()) da = AliL3Transform::TwoPi()-da;
+  Double_t da = a1 - a2 + 4*AliHLTTransform::Pi();
+  da = fmod(da,AliHLTTransform::TwoPi());
+  if(da>AliHLTTransform::Pi()) da = AliHLTTransform::TwoPi()-da;
   return da;
 }
 
-void AliL3Merger::SetParameter(Double_t maxy, Double_t maxz, Double_t maxkappa, Double_t maxpsi, Double_t maxtgl)
+void AliHLTMerger::SetParameter(Double_t maxy, Double_t maxz, Double_t maxkappa, Double_t maxpsi, Double_t maxtgl)
 { 
   //set parameters for merger
   fMaxY = maxy;
@@ -355,12 +355,12 @@ void AliL3Merger::SetParameter(Double_t maxy, Double_t maxz, Double_t maxkappa,
   fMaxTgl = maxtgl;
 }
 
-Bool_t AliL3Merger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrack)
+Bool_t AliHLTMerger::IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 {
   //is track to be merged
   if(innertrack->GetCharge()!=outertrack->GetCharge()) return kFALSE;
   if( (!innertrack->IsPoint()) || (!outertrack->IsPoint()) )  return kFALSE; 
-  if(innertrack->GetNHits()+outertrack->GetNHits()>AliL3Transform::GetNRows()) return kFALSE;
+  if(innertrack->GetNHits()+outertrack->GetNHits()>AliHLTTransform::GetNRows()) return kFALSE;
   
   if(fabs(innertrack->GetPointY()-outertrack->GetPointY()) >fMaxY) return kFALSE;
   if(fabs(innertrack->GetPointZ()-outertrack->GetPointZ()) >fMaxZ) return kFALSE;
@@ -371,18 +371,18 @@ Bool_t AliL3Merger::IsTrack(AliL3Track *innertrack,AliL3Track *outertrack)
   return kTRUE;
 }
 
-Bool_t AliL3Merger::IsRTrack(AliL3Track *innertrack,AliL3Track *outertrack)
+Bool_t AliHLTMerger::IsRTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 { 
   //same as IsTrack
   return IsTrack(innertrack,outertrack);
 }
 
-Double_t AliL3Merger::TrackDiff(AliL3Track *innertrack,AliL3Track *outertrack)
+Double_t AliHLTMerger::TrackDiff(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 { 
   //return track difference
   Double_t diff =-1;
   Double_t x[4],y[4],z[4],dy[4],dz[4];
-  AliL3Track *tracks[2]; 
+  AliHLTTrack *tracks[2]; 
   
   tracks[0] = innertrack;
   tracks[1] = outertrack;
@@ -432,13 +432,13 @@ Double_t AliL3Merger::TrackDiff(AliL3Track *innertrack,AliL3Track *outertrack)
   return diff; 
 }
 
-void AliL3Merger::PrintDiff(AliL3Track *innertrack,AliL3Track *outertrack)
+void AliHLTMerger::PrintDiff(AliHLTTrack *innertrack,AliHLTTrack *outertrack)
 { 
   // print difference
   if(!innertrack->IsPoint()||!outertrack->IsPoint())
     {
-      LOG(AliL3Log::kInformational,"AliL3Merger::PrintDiff","No Points")<<ENDLOG;
-      //cerr<<"AliL3Merger::PrintDiff: No Points"<<endl;
+      LOG(AliHLTLog::kInformational,"AliHLTMerger::PrintDiff","No Points")<<ENDLOG;
+      //cerr<<"AliHLTMerger::PrintDiff: No Points"<<endl;
       //cerr<<"---------------------------"<<endl;
       return;
     } 
@@ -448,43 +448,43 @@ void AliL3Merger::PrintDiff(AliL3Track *innertrack,AliL3Track *outertrack)
   Double_t dz = innertrack->GetPointZ()-outertrack->GetPointZ();
   Double_t dk = innertrack->GetKappa()-outertrack->GetKappa();
   Double_t dpsi= innertrack->GetPointPsi() - outertrack->GetPointPsi();
-  if(dpsi>AliL3Transform::Pi()) dpsi-=AliL3Transform::TwoPi();
-  else if(dpsi<-AliL3Transform::Pi())dpsi+=AliL3Transform::TwoPi();
+  if(dpsi>AliHLTTransform::Pi()) dpsi-=AliHLTTransform::TwoPi();
+  else if(dpsi<-AliHLTTransform::Pi())dpsi+=AliHLTTransform::TwoPi();
   //Double_t dpsi = GetAngle(innertrack->GetPointPsi(),outertrack->GetPointPsi());
   Double_t dtgl= innertrack->GetTgl()-outertrack->GetTgl();
   Double_t dq =innertrack->GetCharge()-outertrack->GetCharge();
   
-  LOG(AliL3Log::kInformational,"AliL3Merger::PrintDiff","Points") <<"dx: "<<dx<<" dy: "<<dy<<" dz: "<<dz<<" dk: "<<dk<<" dpsi: "<<dpsi<<" dtgl: "<<dtgl<<" dq: "<<dq<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTMerger::PrintDiff","Points") <<"dx: "<<dx<<" dy: "<<dy<<" dz: "<<dz<<" dk: "<<dk<<" dpsi: "<<dpsi<<" dtgl: "<<dtgl<<" dq: "<<dq<<ENDLOG;
   //fprintf(stderr,"dx: %4f dy: %4f dz: %4f dk: %4f dpsi: %4f dtgl: %4f dq: %4f\n",dx,dy,dz,dk,dpsi,dtgl,dq);
   //cerr<<"---------------------------"<<endl;
   
 }
 
-void AliL3Merger::Print()
+void AliHLTMerger::Print()
 {
   // print some infos
   for(Int_t i=0; i<fNIn; i++)
     {
-      AliL3TrackArray *ttt= GetInTracks(i);
+      AliHLTTrackArray *ttt= GetInTracks(i);
       for(Int_t j =0;j<ttt->GetNTracks();j++)
        {
-         AliL3Track *track=ttt->GetCheckedTrack(j);
+         AliHLTTrack *track=ttt->GetCheckedTrack(j);
          if(!track) continue;
          track->CalculateHelix();
          //      Double_t angle = atan2(track->GetLastPointY(),track->GetLastPointX());
-         //      if(angle<0) angle+=AliL3Transform::Pi();
+         //      if(angle<0) angle+=AliHLTTransform::Pi();
          if(track->CalculatePoint(135))
            //      if(!track->CalculateEdgePoint(angle)) cerr<<"**************"<<endl;     
            //      if(track->CalculatePoint(track->GetLastPointX()))
            //      if(track->CalculatePoint(0))
            {
              //      PrintTrack(track);
-             //      track->CalculateReferencePoint(AliL3Transform::Pi()/180.);
+             //      track->CalculateReferencePoint(AliHLTTransform::Pi()/180.);
              track->CalculateReferencePoint(0.001);
              Float_t dx=(float)track->GetPointX()-track->GetPointX();
              Float_t dy=(float)track->GetPointY()-track->GetPointY();
              Float_t dz=(float)track->GetPointZ()-track->GetPointZ();
-             LOG(AliL3Log::kInformational,"AliL3Merger::Print","RefPoint") <<"npt: "<<track->GetNHits()<<" dx: "<<dx<<" dy: "<<dy<<" dz: "<<dz<<ENDLOG;
+             LOG(AliHLTLog::kInformational,"AliHLTMerger::Print","RefPoint") <<"npt: "<<track->GetNHits()<<" dx: "<<dx<<" dy: "<<dy<<" dz: "<<dz<<ENDLOG;
              
              //fprintf(stderr,"npt: %3d dx: %8.5f dy: %8.5f dz: %8.5f\n",track->GetNHits(),dx,dy,dz);
              //cerr<<"---------------------------"<<endl;
@@ -493,7 +493,7 @@ void AliL3Merger::Print()
     }
 }
 
-void AliL3Merger::PrintTrack(AliL3Track *track)
+void AliHLTMerger::PrintTrack(AliHLTTrack *track)
 { 
   //print track info
   fprintf(stderr,"npt: %3d pt: %.2f psi: %.2f tgl: %5.2f q: %2d\n",
diff --git a/HLT/src/AliHLTMerger.h b/HLT/src/AliHLTMerger.h
new file mode 100644 (file)
index 0000000..1da7c8e
--- /dev/null
@@ -0,0 +1,75 @@
+// @(#) $Id$
+#ifndef ALIL3MERGER_H
+#define ALIL3MERGER_H
+//#define PI 3.14159265358979312
+
+#include "AliHLTRootTypes.h"
+
+class AliHLTTrack;
+class AliHLTTrackSegmentData;
+class AliHLTVertex;
+class AliHLTTrackArray;
+
+class AliHLTMerger {
+ private:
+  Double_t fMaxY;    //maxy
+  Double_t fMaxZ;    //maxz
+  Double_t fMaxKappa;//maxkappa
+  Double_t fMaxPsi;  //maxpsi
+  Double_t fMaxTgl;  //maxtgl
+  Char_t fTrackType; //track type to merge
+  
+  AliHLTTrackArray **fInTrack;//!
+  Int_t fNIn; //ntracks
+
+  AliHLTTrackArray *fOutTrack;//!
+
+  void SetArray(Int_t nin);
+  void DeleteArray();
+
+ protected:
+  Int_t fCurrentTracks; //current number
+  Int_t fSlice;         //slice
+  AliHLTVertex *fVertex; //!
+  Bool_t f2Global; //global
+  Bool_t Is2Global(Bool_t is){f2Global=is;return f2Global;}
+  void InitMerger(Int_t ntrackarrays,Char_t *tracktype="AliHLTTrack");
+  
+ public:
+  AliHLTMerger();
+  virtual ~AliHLTMerger();
+
+  Int_t GetNIn() const {return fNIn;}
+  AliHLTTrackArray *GetInTracks(Int_t in){return fInTrack[in];}
+  AliHLTTrackArray *GetOutTracks(){return fOutTrack;}
+
+  Bool_t Is2Global() const {return f2Global;}
+  void SetVertex(AliHLTVertex *vertex){fVertex=vertex;}
+  void Reset();
+  void SetParameter(Double_t maxy=1., Double_t maxz=1., Double_t maxkappa=0.001, Double_t maxpsi=0.05, Double_t maxtgl=0.1);
+  void FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr); //Fill tracks in fTrackArray[fCurrentTracks] 
+  Double_t GetAngle(Double_t a1,Double_t a2);
+  void* GetNtuple() const;
+  void* GetNtuple(char *varlist) const;
+  Bool_t WriteNtuple(char *filename,void* nt) const;
+  void FillNtuple(void* nt,Float_t *data) const ;
+  void FillNtuple(void* nt,AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  void AddAllTracks();//Copy all Tracks to Output Array
+  void SortGlobalTracks(AliHLTTrack **tracks, Int_t ntrack);
+  virtual void SortTracks(AliHLTTrack **tracks, Int_t ntrack) const;
+  virtual void AddTrack(AliHLTTrackArray *mergedtrack,AliHLTTrack *track);
+  virtual AliHLTTrack * MultiMerge(AliHLTTrackArray *mergedtrack,AliHLTTrack **tracks, Int_t ntrack);
+  AliHLTTrack * MergeTracks(AliHLTTrackArray *mergedtrack,AliHLTTrack *t0,AliHLTTrack *t1);
+  virtual Bool_t IsTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  Bool_t IsRTrack(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  Double_t TrackDiff(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  void Print();
+  void PrintDiff(AliHLTTrack *innertrack,AliHLTTrack *outertrack);
+  void PrintTrack(AliHLTTrack *track);
+  
+  ClassDef(AliHLTMerger,1) //Merging base class
+};
+
+typedef AliHLTMerger AliL3Merger; // for backward compatibility
+
+#endif
similarity index 63%
rename from HLT/src/AliL3RawDataFileHandler.cxx
rename to HLT/src/AliHLTRawDataFileHandler.cxx
index a608d610a2c7e619219572b79c1a1c559db37e64..a7919caed3f71bc24ae945e3c912c0548a961893 100644 (file)
@@ -3,31 +3,31 @@
 // Author: C. Loizides <loizides@ikf.uni-frankfurt.de>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DigitData.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDigitData.h"
 
-#include "AliL3RawDataFileHandler.h"
+#include "AliHLTRawDataFileHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3RawDataFileHandler 
+/** \class AliHLTRawDataFileHandler 
 <pre>
 //_____________________________________________________________
-// AliL3RawDataFileHandler
+// AliHLTRawDataFileHandler
 //
 </pre>
 */
 
-ClassImp(AliL3RawDataFileHandler)
+ClassImp(AliHLTRawDataFileHandler)
 
-AliL3RawDataFileHandler::AliL3RawDataFileHandler()
+AliHLTRawDataFileHandler::AliHLTRawDataFileHandler()
 {
   //constructor
   fConvert=kTRUE;
@@ -44,18 +44,18 @@ AliL3RawDataFileHandler::AliL3RawDataFileHandler()
   FreeAll();
 
   if((sizeof(Int_t) != 4) || (sizeof(Short_t) != 2)){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::AliL3RawDataFileHandler","Constructor")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::AliHLTRawDataFileHandler","Constructor")
       <<"Check architecture to run the conversion on! Int_t should be 32 and Short_t should be 16 bit."<<ENDLOG;
   }
 }
 
-AliL3RawDataFileHandler::~AliL3RawDataFileHandler()
+AliHLTRawDataFileHandler::~AliHLTRawDataFileHandler()
 {
   //destructor
   FreeAll();
 }
 
-void AliL3RawDataFileHandler::FreeAll()
+void AliHLTRawDataFileHandler::FreeAll()
 {
   //free all heap
   if(fInRaw) CloseRawInput();
@@ -80,20 +80,20 @@ void AliL3RawDataFileHandler::FreeAll()
   fPad=0;
   fRowPad=0;
   fNChannels=0;
-  fRowMinUsed=AliL3Transform::GetNRows();
+  fRowMinUsed=AliHLTTransform::GetNRows();
   fRowMaxUsed=0;
   fPadMinUsed=255;
   fPadMaxUsed=0;
   fNTimeBins=0;
-  for(Int_t i=0;i<AliL3Transform::GetNRows();i++) fNPads[i]=0;
+  for(Int_t i=0;i<AliHLTTransform::GetNRows();i++) fNPads[i]=0;
   fPedVal=0;
 }
 
-Bool_t AliL3RawDataFileHandler::SetRawInput(Char_t *name)
+Bool_t AliHLTRawDataFileHandler::SetRawInput(Char_t *name)
 {
   //set raw input
   if(fInRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawInput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -111,7 +111,7 @@ Bool_t AliL3RawDataFileHandler::SetRawInput(Char_t *name)
 #else
   if(!fInRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawInput","File Open")
       <<"Pointer to ifstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -119,11 +119,11 @@ Bool_t AliL3RawDataFileHandler::SetRawInput(Char_t *name)
   return kTRUE;
 }
 
-Bool_t AliL3RawDataFileHandler::SetRawInput(ifstream *file)
+Bool_t AliHLTRawDataFileHandler::SetRawInput(ifstream *file)
 {
   //set raw input
   if(fInRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawInput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -135,7 +135,7 @@ Bool_t AliL3RawDataFileHandler::SetRawInput(ifstream *file)
 #else
   if(!fInRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawInput","File Open")
       <<"Pointer to ifstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -143,11 +143,11 @@ Bool_t AliL3RawDataFileHandler::SetRawInput(ifstream *file)
   return kTRUE;
 }
 
-void AliL3RawDataFileHandler::CloseRawInput()
+void AliHLTRawDataFileHandler::CloseRawInput()
 {
   //close raw input
   if(!fInRaw){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseRawInput","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::CloseRawInput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -160,11 +160,11 @@ void AliL3RawDataFileHandler::CloseRawInput()
   fInRaw = 0;
 }
 
-Bool_t AliL3RawDataFileHandler::SetRawOutput(Char_t *name)
+Bool_t AliHLTRawDataFileHandler::SetRawOutput(Char_t *name)
 {
   //set raw output
   if(fOutRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawOutput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawOutput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -181,7 +181,7 @@ Bool_t AliL3RawDataFileHandler::SetRawOutput(Char_t *name)
 #else
   if(!fOutRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawOutput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawOutput","File Open")
       <<"Pointer to ofstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -189,11 +189,11 @@ Bool_t AliL3RawDataFileHandler::SetRawOutput(Char_t *name)
   return kTRUE;
 }
 
-Bool_t AliL3RawDataFileHandler::SetRawOutput(ofstream *file)
+Bool_t AliHLTRawDataFileHandler::SetRawOutput(ofstream *file)
 {
   //set raw output
   if(fOutRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawOutput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawOutput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -206,7 +206,7 @@ Bool_t AliL3RawDataFileHandler::SetRawOutput(ofstream *file)
 #else
   if(!fOutRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawOutput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawOutput","File Open")
       <<"Pointer to ofstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -214,11 +214,11 @@ Bool_t AliL3RawDataFileHandler::SetRawOutput(ofstream *file)
   return kTRUE;
 }
 
-void AliL3RawDataFileHandler::CloseRawOutput()
+void AliHLTRawDataFileHandler::CloseRawOutput()
 {
   //close raw output
   if(!fOutRaw){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseRawOutput","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::CloseRawOutput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -232,11 +232,11 @@ void AliL3RawDataFileHandler::CloseRawOutput()
 }
 
 
-Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(Char_t *name)
+Bool_t AliHLTRawDataFileHandler::SetRawPedestalsInput(Char_t *name)
 {
   //set raw pedestals
   if(fInRawPed){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawPedestalsInput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -254,7 +254,7 @@ Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(Char_t *name)
 #else
   if(!fInRawPed->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawPedestalsInput","File Open")
       <<"Pointer to ifstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -262,11 +262,11 @@ Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(Char_t *name)
   return kTRUE;
 }
 
-Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(ifstream *file)
+Bool_t AliHLTRawDataFileHandler::SetRawPedestalsInput(ifstream *file)
 {
   //set raw pedestals input
   if(fInRawPed){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawPedestalsInput","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
@@ -278,7 +278,7 @@ Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(ifstream *file)
 #else
   if(!fInRawPed->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetRawPedestalsInput","File Open")
       <<"Pointer to ifstream = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -286,11 +286,11 @@ Bool_t AliL3RawDataFileHandler::SetRawPedestalsInput(ifstream *file)
   return kTRUE;
 }
 
-void AliL3RawDataFileHandler::CloseRawPedestalsInput()
+void AliHLTRawDataFileHandler::CloseRawPedestalsInput()
 {
   //close raw pedestals input
   if(!fInRawPed){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseRawPedestalsInput","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::CloseRawPedestalsInput","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -303,18 +303,18 @@ void AliL3RawDataFileHandler::CloseRawPedestalsInput()
   fInRaw = 0;
 }
 
-Bool_t AliL3RawDataFileHandler::SetMappingFile(Char_t *name)
+Bool_t AliHLTRawDataFileHandler::SetMappingFile(Char_t *name)
 {
   //set mapping file
   if(fMapping){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetMapping","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetMapping","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
 
   fMapping = fopen(name,"r");
   if(!fMapping){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::SetMappingFile","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::SetMappingFile","File Open")
       <<"Pointer to file = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -322,18 +322,18 @@ Bool_t AliL3RawDataFileHandler::SetMappingFile(Char_t *name)
   return kTRUE;
 }
 
-Bool_t AliL3RawDataFileHandler::SetMappingFile(FILE *file)
+Bool_t AliHLTRawDataFileHandler::SetMappingFile(FILE *file)
 {
   //set mapping file
   if(fMapping){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::SetMapping","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::SetMapping","File Open")
       <<"File ptr is already in use, close file first"<<ENDLOG;
     return kFALSE;
   }
 
   fMapping = file;
   if(!fMapping){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::SetMappingFile","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::SetMappingFile","File Open")
       <<"Pointer to file = 0x0"<<ENDLOG;
     return kFALSE;
   }
@@ -341,11 +341,11 @@ Bool_t AliL3RawDataFileHandler::SetMappingFile(FILE *file)
   return kTRUE;
 }
 
-void AliL3RawDataFileHandler::CloseMappingFile()
+void AliHLTRawDataFileHandler::CloseMappingFile()
 {
   //close mapping file
   if(!fMapping){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::CloseMappingFile","File Close")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::CloseMappingFile","File Close")
       <<"Nothing to Close"<<ENDLOG;
     return;
   }
@@ -353,11 +353,11 @@ void AliL3RawDataFileHandler::CloseMappingFile()
   fMapping = 0;
 }
 
-Int_t AliL3RawDataFileHandler::ReadMappingFile()
+Int_t AliHLTRawDataFileHandler::ReadMappingFile()
 {
   //read mapping file
   if(!fMapping){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadMappingFile","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadMappingFile","File Open")
       <<"Pointer to file = 0x0"<<ENDLOG;
     return -1;
   }
@@ -370,17 +370,17 @@ Int_t AliL3RawDataFileHandler::ReadMappingFile()
 
   fNChannels=nboard*nadc;
   if(fNChannels<=0){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::ReadMappingFile","Data Inconsistency")
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::ReadMappingFile","Data Inconsistency")
       <<"fNChannels must be greater than 0"<<ENDLOG;
     return -1;
   }
 
   fRow=new Byte_t[fNChannels];
   fPad=new Byte_t[fNChannels];
-  fRowPad=new Short_t*[AliL3Transform::GetNRows()];
-  for(Int_t i=0; i < AliL3Transform::GetNRows(); i++){
-    fRowPad[i]=new Short_t[AliL3Transform::GetNPads(i)];
-    for(Int_t j=0; j < AliL3Transform::GetNPads(i); j++) fRowPad[i][j]=-1;
+  fRowPad=new Short_t*[AliHLTTransform::GetNRows()];
+  for(Int_t i=0; i < AliHLTTransform::GetNRows(); i++){
+    fRowPad[i]=new Short_t[AliHLTTransform::GetNPads(i)];
+    for(Int_t j=0; j < AliHLTTransform::GetNPads(i); j++) fRowPad[i][j]=-1;
   }
 
   for(UInt_t i=0;i<fNChannels;i++){
@@ -403,7 +403,7 @@ Int_t AliL3RawDataFileHandler::ReadMappingFile()
   return fNChannels;
 }
 
-inline Int_t AliL3RawDataFileHandler::Convert4(Int_t i) const
+inline Int_t AliHLTRawDataFileHandler::Convert4(Int_t i) const
 { 
   //BigEndian i0i1i2i3 -> LittleEndian i3i2i1i0
   if(!fConvert) return i;
@@ -416,7 +416,7 @@ inline Int_t AliL3RawDataFileHandler::Convert4(Int_t i) const
   return (*(Int_t*)temp);
 }
 
-inline Short_t AliL3RawDataFileHandler::Convert2(Short_t s) const
+inline Short_t AliHLTRawDataFileHandler::Convert2(Short_t s) const
 { 
   //BigEndian i0i1 -> LittleEndian i1i0
   if(!fConvert) return s;
@@ -427,11 +427,11 @@ inline Short_t AliL3RawDataFileHandler::Convert2(Short_t s) const
   return (*(Short_t*)temp);
 }
 
-Int_t AliL3RawDataFileHandler::ReadRawInput()
+Int_t AliHLTRawDataFileHandler::ReadRawInput()
 {
   //Read data from cosmics file into memory
   if(!fInRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInput","File Open")
       <<"No Input avalible: no object ifstream"<<ENDLOG;
     return 0; 
   }
@@ -441,7 +441,7 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
 #else
   if(!fInRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInput","File Open")
       <<"No Input avalible: ifstream not opened"<<ENDLOG;
     return 0;
   }
@@ -453,7 +453,7 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
   else {
     Int_t knumofChannels = Convert4(dummy4);    
     if(knumofChannels!=(Int_t)fNChannels){
-      LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInput","Data Inconsistency")
+      LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInput","Data Inconsistency")
        <<"Number of Channels should be equal to fNChannels "<<knumofChannels<<" "<<fNChannels<<ENDLOG;
       return 0;
     }
@@ -466,8 +466,8 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
     fInRaw->read((Char_t*)&dummy2,sizeof(dummy2));
     UShort_t channel = Convert2(dummy2);
     if(channel>fNChannels){
-      LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::ReadRawInput","Data Inconsistency")
-       <<AliL3Log::kDec<<"Channel number must be smaller then fNChannels "<<channel<<" "<<fNChannels<<ENDLOG;
+      LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::ReadRawInput","Data Inconsistency")
+       <<AliHLTLog::kDec<<"Channel number must be smaller then fNChannels "<<channel<<" "<<fNChannels<<ENDLOG;
       return 0;
     }
   }
@@ -476,8 +476,8 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
    Int_t numofChannelsTest = Convert4(dummy4);
 
   if (numofChannelsTest != (Int_t)fNChannels){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::ReadRawInput","Data Inconsistency")
-      <<AliL3Log::kDec<<"Number of test channels should be equal to fNChannels "<<numofChannelsTest<<" "<<fNChannels<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::ReadRawInput","Data Inconsistency")
+      <<AliHLTLog::kDec<<"Number of test channels should be equal to fNChannels "<<numofChannelsTest<<" "<<fNChannels<<ENDLOG;
     return 0;
   }
 
@@ -485,9 +485,9 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
   fInRaw->read((Char_t*)&dummy4,sizeof(dummy4));
   fNTimeBins=Convert4(dummy4);
 
-  if(fNTimeBins!=AliL3Transform::GetNTimeBins()){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInput","Data Inconsistency")
-      <<AliL3Log::kDec<<"fNTimeBins does not match AliL3Transformer, check AliL3Transform::Init() "<<fNTimeBins<<" "<<AliL3Transform::GetNTimeBins()<<ENDLOG;
+  if(fNTimeBins!=AliHLTTransform::GetNTimeBins()){
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInput","Data Inconsistency")
+      <<AliHLTLog::kDec<<"fNTimeBins does not match AliHLTTransformer, check AliHLTTransform::Init() "<<fNTimeBins<<" "<<AliHLTTransform::GetNTimeBins()<<ENDLOG;
   }
 
   //assign array
@@ -513,11 +513,11 @@ Int_t AliL3RawDataFileHandler::ReadRawInput()
   return fNChannels;
 }
 
-Int_t AliL3RawDataFileHandler::ReadRawInputPointer(const Char_t *ptr)
+Int_t AliHLTRawDataFileHandler::ReadRawInputPointer(const Char_t *ptr)
 {
   //Read data from cosmics pointer into memory
   if(!ptr){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInputPointer","Pointer")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInputPointer","Pointer")
       <<"Pointer equals 0x0!"<<ENDLOG;
     return 0; 
   }
@@ -528,7 +528,7 @@ Int_t AliL3RawDataFileHandler::ReadRawInputPointer(const Char_t *ptr)
   else {
     Int_t knumofChannels = Convert4(dummy4);    
     if(knumofChannels!=(Int_t)fNChannels){
-      LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
+      LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
        <<"Number of Channels should be equal to fNChannels "<<knumofChannels<<" "<<fNChannels<<ENDLOG;
       return 0;
     }
@@ -540,24 +540,24 @@ Int_t AliL3RawDataFileHandler::ReadRawInputPointer(const Char_t *ptr)
     dummy2=*(Short_t*)ptr; ptr+=sizeof(dummy2);
     UShort_t channel = Convert2(dummy2);
     if(channel>fNChannels){
-      LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
-       <<AliL3Log::kDec<<"Channel number must be smaller then fNChannels "<<channel<<" "<<fNChannels<<ENDLOG;
+      LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
+       <<AliHLTLog::kDec<<"Channel number must be smaller then fNChannels "<<channel<<" "<<fNChannels<<ENDLOG;
       return 0;
     }
   }
   dummy4=*(Int_t*)ptr; ptr+=sizeof(dummy4);
   Int_t numofChannelsTest = Convert4(dummy4);
   if (numofChannelsTest != (Int_t)fNChannels){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
-      <<AliL3Log::kDec<<"Number of test channels should be equal to fNChannels "<<numofChannelsTest<<" "<<fNChannels<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
+      <<AliHLTLog::kDec<<"Number of test channels should be equal to fNChannels "<<numofChannelsTest<<" "<<fNChannels<<ENDLOG;
     return 0;
   }
   //Timebins
   dummy4=*(Int_t*)ptr; ptr+=sizeof(Int_t);
   fNTimeBins=Convert4(dummy4);
-  if(fNTimeBins!=AliL3Transform::GetNTimeBins()){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
-      <<AliL3Log::kDec<<"fNTimeBins does not match AliL3Transformer, check AliL3Transform::Init() "<<fNTimeBins<<" "<<AliL3Transform::GetNTimeBins()<<ENDLOG;
+  if(fNTimeBins!=AliHLTTransform::GetNTimeBins()){
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawInputPointer","Data Inconsistency")
+      <<AliHLTLog::kDec<<"fNTimeBins does not match AliHLTTransformer, check AliHLTTransform::Init() "<<fNTimeBins<<" "<<AliHLTTransform::GetNTimeBins()<<ENDLOG;
   }
   //assign array
   if(fCharges) delete[] fCharges;
@@ -583,7 +583,7 @@ Int_t AliL3RawDataFileHandler::ReadRawInputPointer(const Char_t *ptr)
 }
 
 
-Short_t** AliL3RawDataFileHandler::GetRawData(Int_t &channels, Int_t &timebins)
+Short_t** AliHLTRawDataFileHandler::GetRawData(Int_t &channels, Int_t &timebins)
 {
   //get raw data
   Short_t **charges=0;
@@ -591,10 +591,10 @@ Short_t** AliL3RawDataFileHandler::GetRawData(Int_t &channels, Int_t &timebins)
   timebins=0;
 
   if(fNTimeBins==0){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::GetRawData","Data Inconsistency")
-      <<"Call AliL3RawDataFileHandler::RawReadInput() first"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::GetRawData","Data Inconsistency")
+      <<"Call AliHLTRawDataFileHandler::RawReadInput() first"<<ENDLOG;
     if(!ReadRawInput()){
-      LOG(AliL3Log::kError,"AliL3RawDataFileHandler::GetRawData","Data Inconsistency")
+      LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::GetRawData","Data Inconsistency")
        <<"Something went wrong reading data header"<<ENDLOG;
       return 0;
     }
@@ -618,11 +618,11 @@ Short_t** AliL3RawDataFileHandler::GetRawData(Int_t &channels, Int_t &timebins)
   return charges;
 }
 
-Int_t AliL3RawDataFileHandler::StoreRawData(Short_t **charges)
+Int_t AliHLTRawDataFileHandler::StoreRawData(Short_t **charges)
 {
   //store charges in the raw data format
   if(!fOutRaw){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::StoreRawData","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::StoreRawData","File Open")
       <<"No Output avalible: no object ofstream"<<ENDLOG;
     return 0; 
   }
@@ -632,7 +632,7 @@ Int_t AliL3RawDataFileHandler::StoreRawData(Short_t **charges)
 #else
   if(!fOutRaw->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::StoreRawData","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::StoreRawData","File Open")
       <<"No Output avalible: ofstream not opened"<<ENDLOG;
     return 0;
   }
@@ -666,11 +666,11 @@ Int_t AliL3RawDataFileHandler::StoreRawData(Short_t **charges)
   return fNChannels;
 }
 
-Int_t AliL3RawDataFileHandler::ReadRawPedestalsInput()
+Int_t AliHLTRawDataFileHandler::ReadRawPedestalsInput()
 {
   //read raw pedestals input
   if(!fInRawPed){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawPedestalsInput","File Open")
       <<"No Input avalible: no object ifstream"<<ENDLOG;
     return 0; 
   }
@@ -680,7 +680,7 @@ Int_t AliL3RawDataFileHandler::ReadRawPedestalsInput()
 #else
   if(!fInRawPed->is_open()){
 #endif
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawPedestalsInput","File Open")
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawPedestalsInput","File Open")
       <<"No Input avalible: ifstream not opened"<<ENDLOG;
     return 0;
   }
@@ -692,8 +692,8 @@ Int_t AliL3RawDataFileHandler::ReadRawPedestalsInput()
   else {
     Int_t knumofChannels = Convert4(dummy4);    
     if(knumofChannels!=(Int_t)fNChannels){
-      LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawPedestalsInput","Data Inconsistency")
-       <<AliL3Log::kDec<<"Number of Channels should be equal to fNChannels "<<knumofChannels<<" "<<fNChannels<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawPedestalsInput","Data Inconsistency")
+       <<AliHLTLog::kDec<<"Number of Channels should be equal to fNChannels "<<knumofChannels<<" "<<fNChannels<<ENDLOG;
       return 0;
     }
   }
@@ -711,9 +711,9 @@ Int_t AliL3RawDataFileHandler::ReadRawPedestalsInput()
   fInRawPed->read((Char_t*)&dummy4,sizeof(dummy4));
   fNTimeBins=Convert4(dummy4);
 
-  if(fNTimeBins!=AliL3Transform::GetNTimeBins()){
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::ReadRawPedestalsInput","Data Inconsistency")
-      <<AliL3Log::kDec<<"fNTimeBins does not match AliL3Transformer, check AliL3Transform::Init() "<<fNTimeBins<<" "<<AliL3Transform::GetNTimeBins()<<ENDLOG;
+  if(fNTimeBins!=AliHLTTransform::GetNTimeBins()){
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::ReadRawPedestalsInput","Data Inconsistency")
+      <<AliHLTLog::kDec<<"fNTimeBins does not match AliHLTTransformer, check AliHLTTransform::Init() "<<fNTimeBins<<" "<<AliHLTTransform::GetNTimeBins()<<ENDLOG;
   }
 
   //Read the data
@@ -732,17 +732,17 @@ Int_t AliL3RawDataFileHandler::ReadRawPedestalsInput()
   return fNChannels;
 }
 
-AliL3DigitRowData * AliL3RawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /*event*/)
+AliHLTDigitRowData * AliHLTRawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /*event*/)
 {
   //convert raw data to memory
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
 
   if(fNTimeBins==0){
-    LOG(AliL3Log::kWarning,"AliL3RawDataFileHandler::RawData2Memory","Data Inconsistency")
-      <<"Call AliL3RawDataFileHandler::RawReadInput() first"<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTRawDataFileHandler::RawData2Memory","Data Inconsistency")
+      <<"Call AliHLTRawDataFileHandler::RawReadInput() first"<<ENDLOG;
     if(!ReadRawInput()){
-      LOG(AliL3Log::kError,"AliL3RawDataFileHandler::RawData2Memory","Data Inconsistency")
+      LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::RawData2Memory","Data Inconsistency")
        <<"Something went wrong reading data header"<<ENDLOG;
       return 0;
     }
@@ -751,27 +751,27 @@ AliL3DigitRowData * AliL3RawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /
   //get data size
   Int_t nrows=0;
   Int_t ndigitcount=0;
-  Int_t *ndigits=new Int_t[AliL3Transform::GetNRows()];
-  for(Int_t i=0;i<AliL3Transform::GetNRows();i++) ndigits[i]=0;
+  Int_t *ndigits=new Int_t[AliHLTTransform::GetNRows()];
+  for(Int_t i=0;i<AliHLTTransform::GetNRows();i++) ndigits[i]=0;
 
   //no need to search for slice/sector given by init
   //but check for row/patch boundaries
   //assume slice 0
-  for(Int_t slrow=0;slrow<AliL3Transform::GetNRows();slrow++){
+  for(Int_t slrow=0;slrow<AliHLTTransform::GetNRows();slrow++){
     
     if(slrow<fRowMin) continue;
     if(slrow>fRowMax) break;
 
-    for(Int_t pad=0;pad<AliL3Transform::GetNPads(slrow);pad++){
+    for(Int_t pad=0;pad<AliHLTTransform::GetNPads(slrow);pad++){
       Short_t channel=fRowPad[slrow][pad];
       if(channel==-1) continue; //no data on that channel;
 
       for(Int_t timebin = 0 ; timebin < fNTimeBins ; timebin++){
        Int_t dig=fCharges[channel][timebin];
        
-       if(dig <= AliL3Transform::GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
+       if(dig <= AliHLTTransform::GetZeroSup()) continue;
+       if(dig >= AliHLTTransform::GetADCSat())
+         dig = AliHLTTransform::GetADCSat();
 
        ndigits[slrow]++; //for this row only
        ndigitcount++;  //total number of digits to be published
@@ -784,25 +784,25 @@ AliL3DigitRowData * AliL3RawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /
 
   //test data consistency
   Int_t ndigitcounttest=0;
-  for(Int_t slrow=0;slrow<AliL3Transform::GetNRows();slrow++)
+  for(Int_t slrow=0;slrow<AliHLTTransform::GetNRows();slrow++)
     ndigitcounttest+=ndigits[slrow];
   if(ndigitcount!=ndigitcounttest)
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::RawData2Memory","Digits")
-      <<AliL3Log::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::RawData2Memory","Digits")
+      <<AliHLTLog::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest<<ENDLOG;
     
-  Int_t size = sizeof(AliL3DigitData)*ndigitcount
-    + nrows*sizeof(AliL3DigitRowData);
-  LOG(AliL3Log::kDebug,"AliL3RawDataFileHandler::RawData2Memory","Digits")
-    <<AliL3Log::kDec<<"Found "<<ndigitcount<<" Digits on "<<nrows<<" rows"<<ENDLOG;
+  Int_t size = sizeof(AliHLTDigitData)*ndigitcount
+    + nrows*sizeof(AliHLTDigitRowData);
+  LOG(AliHLTLog::kDebug,"AliHLTRawDataFileHandler::RawData2Memory","Digits")
+    <<AliHLTLog::kDec<<"Found "<<ndigitcount<<" Digits on "<<nrows<<" rows"<<ENDLOG;
 
   //now copy data
-  data=(AliL3DigitRowData*) Allocate(size);
+  data=(AliHLTDigitRowData*) Allocate(size);
   nrow = (UInt_t)nrows;
   //memset(data,1,size); //for debugging
 
   Int_t ndigitcounttest2=0;
-  AliL3DigitRowData *tempPt = data;
-  for(Int_t slrow=0;slrow<AliL3Transform::GetNRows();slrow++){
+  AliHLTDigitRowData *tempPt = data;
+  for(Int_t slrow=0;slrow<AliHLTTransform::GetNRows();slrow++){
     
     if(slrow<fRowMin) continue;
     if(slrow>fRowMax) break;
@@ -811,19 +811,19 @@ AliL3DigitRowData * AliL3RawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /
     tempPt->fNDigit = ndigits[slrow];
 
     Int_t localcount=0;
-    for(Int_t pad=0;pad<AliL3Transform::GetNPads(slrow);pad++){
+    for(Int_t pad=0;pad<AliHLTTransform::GetNPads(slrow);pad++){
       Short_t channel=fRowPad[slrow][pad];
       if(channel==-1) continue; //no data on that channel;
 
       for(Int_t timebin = 0 ; timebin < fNTimeBins ; timebin++){
        Int_t dig=fCharges[channel][timebin];
        
-       if(dig <= AliL3Transform::GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-         dig = AliL3Transform::GetADCSat();
+       if(dig <= AliHLTTransform::GetZeroSup()) continue;
+       if(dig >= AliHLTTransform::GetADCSat())
+         dig = AliHLTTransform::GetADCSat();
 
        //Exclude data outside cone:
-       //AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       //AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
        //if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2])) continue;
 
        tempPt->fDigitData[localcount].fCharge=(UShort_t)dig;
@@ -840,31 +840,31 @@ AliL3DigitRowData * AliL3RawDataFileHandler::RawData2Memory(UInt_t &nrow,Int_t /
     } //pad 
 
     if(localcount != ndigits[slrow])
-      LOG(AliL3Log::kFatal,"AliL3RawDataFileHandler::RawData2Memory","Memory")
-       <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+      LOG(AliHLTLog::kFatal,"AliHLTRawDataFileHandler::RawData2Memory","Memory")
+       <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
        <<ndigits[slrow]<<ENDLOG;
 
     Byte_t *tmp = (Byte_t*)tempPt;
-    Int_t size = sizeof(AliL3DigitRowData)
-      + ndigits[slrow]*sizeof(AliL3DigitData);
+    Int_t size = sizeof(AliHLTDigitRowData)
+      + ndigits[slrow]*sizeof(AliHLTDigitData);
     tmp += size;
-    tempPt = (AliL3DigitRowData*)tmp;
+    tempPt = (AliHLTDigitRowData*)tmp;
   }//row
 
   if(ndigitcount!=ndigitcounttest2)
-    LOG(AliL3Log::kError,"AliL3RawDataFileHandler::RawData2Memory","Digits")
-      <<AliL3Log::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest2<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTRawDataFileHandler::RawData2Memory","Digits")
+      <<AliHLTLog::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest2<<ENDLOG;
 
   delete [] ndigits;
   return data;
 }
 
-Bool_t AliL3RawDataFileHandler::RawData2CompBinary(Int_t event)
+Bool_t AliHLTRawDataFileHandler::RawData2CompBinary(Int_t event)
 {
   //raw data to binary
   Bool_t out = kTRUE;
   UInt_t ndigits=0;
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
   digits = RawData2Memory(ndigits,event);
   out = Memory2CompBinary(ndigits,digits);
   Free();
similarity index 83%
rename from HLT/src/AliL3RawDataFileHandler.h
rename to HLT/src/AliHLTRawDataFileHandler.h
index 9f96e1e7d167b66003145690239a702e74298206..247e5fd486c62c33386f2807afa58dd55a649428 100644 (file)
@@ -3,9 +3,9 @@
 #ifndef ALIL3RAWDATAFILEHANDLER_H
 #define ALIL3RAWDATAFILEHANDLER_H
 
-#include "AliL3MemHandler.h"
+#include "AliHLTMemHandler.h"
 
-class AliL3RawDataFileHandler:public AliL3MemHandler {
+class AliHLTRawDataFileHandler:public AliHLTMemHandler {
  private:
   
   FILE *fMapping;//!
@@ -36,10 +36,10 @@ class AliL3RawDataFileHandler:public AliL3MemHandler {
   Short_t Convert2(Short_t i) const; //big2little and vice versa
 
  public:
-  AliL3RawDataFileHandler();
-  virtual ~AliL3RawDataFileHandler();
+  AliHLTRawDataFileHandler();
+  virtual ~AliHLTRawDataFileHandler();
 
-  void FreeAll(); //like AliL3MemHandler::Free() or AliL3FileHandler::FreeDigitsTree
+  void FreeAll(); //like AliHLTMemHandler::Free() or AliHLTFileHandler::FreeDigitsTree
 
   Bool_t SetRawInput(Char_t *name);
   Bool_t SetRawInput(STDIF *file);
@@ -75,10 +75,13 @@ class AliL3RawDataFileHandler:public AliL3MemHandler {
   Short_t GetPedVal()   const {return fPedVal;}
   Int_t GetNChannels()  const {return fNChannels;}
 
-  AliL3DigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
+  AliHLTDigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
   Bool_t RawData2CompBinary(Int_t event=-1);
 
-  ClassDef(AliL3RawDataFileHandler,1)   //RawData Filehandler class
+  ClassDef(AliHLTRawDataFileHandler,1)   //RawData Filehandler class
 };
+
+typedef AliHLTRawDataFileHandler AliL3RawDataFileHandler; // for backward compatibility
+
 #endif
 
index 4333a93c236f48ffff06365311c05fd273dd5233..5daecc0afaca1caa139969889aac1ddfc05c4815 100644 (file)
 #include <AliESD.h>
 #include <AliESDHLTtrack.h>
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
 #include "AliLevel3.h"
-#include "AliL3Evaluate.h"
+#include "AliHLTEvaluate.h"
 #include "AliHLTReconstructor.h"
-#include "AliL3Transform.h"
-#include "AliL3Hough.h"
-#include "AliL3FileHandler.h"
-#include "AliL3Track.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHough.h"
+#include "AliHLTFileHandler.h"
+#include "AliHLTTrack.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTTrackArray.h"
 
 #include "AliRun.h"
 #include "AliITS.h"
 #include "AliITSgeom.h"
-#include "AliL3ITStracker.h"
-#include "AliL3TPCtracker.h"
+#include "AliHLTITStracker.h"
+#include "AliHLTTPCtracker.h"
 #include "MUON/src/AliRoot/AliHLTMUONTracker.h"
 
 #if __GNUC__== 3
@@ -50,7 +50,7 @@ AliHLTReconstructor::AliHLTReconstructor(): AliReconstructor()
 { 
   //constructor
 #ifndef use_logging
-  AliL3Log::fgLevel=AliL3Log::kWarning;
+  AliHLTLog::fgLevel=AliHLTLog::kWarning;
 #endif
   fDoTracker=1;
   fDoHough=0;
@@ -62,7 +62,7 @@ AliHLTReconstructor::AliHLTReconstructor(Bool_t doTracker, Bool_t doHough): AliR
 { 
   //constructor
 #ifndef use_logging
-  AliL3Log::fgLevel=AliL3Log::kWarning;
+  AliHLTLog::fgLevel=AliHLTLog::kWarning;
 #endif
   fDoTracker=doTracker;
   fDoHough=doHough;
@@ -88,7 +88,7 @@ void AliHLTReconstructor::Reconstruct(AliRunLoader* runLoader) const
 {
   // do the standard and hough reconstruction chain
   if(!runLoader) {
-    LOG(AliL3Log::kFatal,"AliHLTReconstructor::Reconstruct","RunLoader")
+    LOG(AliHLTLog::kFatal,"AliHLTReconstructor::Reconstruct","RunLoader")
       <<" Missing RunLoader! 0x0"<<ENDLOG;
     return;
   }
@@ -97,9 +97,9 @@ void AliHLTReconstructor::Reconstruct(AliRunLoader* runLoader) const
   gSystem->Exec("rm -rf hough");
   gSystem->MakeDirectory("hough");
 
-  Bool_t isinit=AliL3Transform::Init(runLoader);
+  Bool_t isinit=AliHLTTransform::Init(runLoader);
   if(!isinit){
-    LOG(AliL3Log::kError,"AliHLTReconstructor::Reconstruct","Transformer")
+    LOG(AliHLTLog::kError,"AliHLTReconstructor::Reconstruct","Transformer")
      << "Could not create transform settings, please check log for error messages!" << ENDLOG;
     return;
   }
@@ -167,7 +167,7 @@ void AliHLTReconstructor::ReconstructWithHoughTransform(AliRunLoader* runLoader,
   //reconstruct with hough
   //not used anymore, Hough tracking is moved out of the local
   //reconstruction chain
-  Float_t ptmin = 0.1*AliL3Transform::GetSolenoidField();
+  Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
 
   Float_t zvertex = 0;
   TArrayF mcVertex(3); 
@@ -178,10 +178,10 @@ void AliHLTReconstructor::ReconstructWithHoughTransform(AliRunLoader* runLoader,
   }
   zvertex = mcVertex[2];
 
-  LOG(AliL3Log::kInformational,"AliHLTReconstructor::Reconstruct","HoughTransform")
+  LOG(AliHLTLog::kInformational,"AliHLTReconstructor::Reconstruct","HoughTransform")
     <<" Hough Transform will run with ptmin="<<ptmin<<" and zvertex="<<zvertex<<ENDLOG;
 
-  AliL3Hough *hough = new AliL3Hough();
+  AliHLTHough *hough = new AliHLTHough();
     
   hough->SetThreshold(4);
   hough->CalcTransformerParams(ptmin);
@@ -224,26 +224,26 @@ void AliHLTReconstructor::FillESDforConformalMapping(AliESD* esd,Int_t iEvent) c
 {
   //fill esd with tracks from conformal mapping
   Int_t slicerange[2]={0,35};
-  Int_t good = (int)(0.4*AliL3Transform::GetNRows());
-  Int_t nclusters = (int)(0.4*AliL3Transform::GetNRows());
-  Int_t nminpointsontracks = (int)(0.3*AliL3Transform::GetNRows());
+  Int_t good = (int)(0.4*AliHLTTransform::GetNRows());
+  Int_t nclusters = (int)(0.4*AliHLTTransform::GetNRows());
+  Int_t nminpointsontracks = (int)(0.3*AliHLTTransform::GetNRows());
   Float_t ptmin = 0.;
   Float_t ptmax = 0.;
   Float_t maxfalseratio = 0.1;
   
-  AliL3Evaluate *fHLTEval = new AliL3Evaluate("./hlt",nclusters,good,ptmin,ptmax,slicerange);
+  AliHLTEvaluate *fHLTEval = new AliHLTEvaluate("./hlt",nclusters,good,ptmin,ptmax,slicerange);
   fHLTEval->SetMaxFalseClusters(maxfalseratio);
   fHLTEval->LoadData(iEvent,kTRUE);
   fHLTEval->AssignPIDs();
   fHLTEval->AssignIDs();
-  AliL3TrackArray *fTracks = fHLTEval->GetTracks();
+  AliHLTTrackArray *fTracks = fHLTEval->GetTracks();
   if(!fTracks){
     delete fHLTEval;
     return;
   }
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3Track *tpt = (AliL3Track *)fTracks->GetCheckedTrack(i);
+      AliHLTTrack *tpt = (AliHLTTrack *)fTracks->GetCheckedTrack(i);
       if(!tpt) continue; 
       if(tpt->GetNumberOfPoints() < nminpointsontracks) continue;
       
@@ -274,21 +274,21 @@ void AliHLTReconstructor::FillESDforHoughTransform(AliESD* esd,Int_t iEvent) con
   char filename[256];
   sprintf(filename,"./hough/tracks_%d.raw",iEvent);
   
-  AliL3FileHandler *tfile = new AliL3FileHandler();
+  AliHLTFileHandler *tfile = new AliHLTFileHandler();
   if(!tfile->SetBinaryInput(filename)){
-    LOG(AliL3Log::kError,"AliHLTReconstructor::FillESDforHoughTransform","Input file")
+    LOG(AliHLTLog::kError,"AliHLTReconstructor::FillESDforHoughTransform","Input file")
       <<" Missing file "<<filename<<ENDLOG;
     return;
   }
   
-  AliL3TrackArray *fTracks = new AliL3TrackArray("AliL3HoughTrack");
+  AliHLTTrackArray *fTracks = new AliHLTTrackArray("AliHLTHoughTrack");
   tfile->Binary2TrackArray(fTracks);
   tfile->CloseBinaryInput();
   delete tfile;
   if(!fTracks) return; 
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3HoughTrack *tpt = (AliL3HoughTrack *)fTracks->GetCheckedTrack(i);
+      AliHLTHoughTrack *tpt = (AliHLTHoughTrack *)fTracks->GetCheckedTrack(i);
       if(!tpt) continue; 
       
       AliESDHLTtrack *esdtrack = new AliESDHLTtrack() ; 
@@ -322,13 +322,13 @@ AliTracker* AliHLTReconstructor::CreateTracker(AliRunLoader* runLoader) const
   TString opt = GetOption();
   if(!opt.CompareTo("TPC")) {
     // Create Hough tracker for TPC
-    return new AliL3TPCtracker(runLoader);
+    return new AliHLTTPCtracker(runLoader);
   }
   if(!opt.CompareTo("ITS")) {
     // Create ITS tracker
     AliITSgeom* geom = GetITSgeom(runLoader);
     if (!geom) return NULL;
-    return new AliL3ITStracker(geom);
+    return new AliHLTITStracker(geom);
   }
   if(!opt.CompareTo("MUON")) {
     return new AliHLTMUONTracker(runLoader);
index eeabfd569f6b4fda2d991003510c12790ea4ed6a..3f7757b690574934b4b2f7720e7c778dda2a5eed 100644 (file)
@@ -61,4 +61,6 @@ private:
 };
 #endif
 
+typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility
+
 #endif
similarity index 96%
rename from HLT/src/AliL3RootTypes.h
rename to HLT/src/AliHLTRootTypes.h
index 1120a282b2e84e9bea4bc768978c65f0f5d8594d..65089acb875fac44bbebed91bbf6bed312d9c9fb 100644 (file)
@@ -83,14 +83,14 @@ const Ssiz_t kNPOS        = ~(Ssiz_t)0;
 #endif  //end of Rtypes 
 #endif  //end of root selection
 
-//---- Timms AliL3EventDataType  from AliL3EventDataType.h
+//---- Timms AliHLTEventDataType  from AliHLTEventDataType.h
 
-union AliL3EventDataTypeRoot{
+union AliHLTEventDataTypeRoot{
   ULong_t      fID;
   unsigned char      fDescr[8];
 };
 
-typedef union AliL3EventDataTypeRoot AliL3EventDataTypeRoot;
+typedef union AliHLTEventDataTypeRoot AliHLTEventDataTypeRoot;
 
 #define ROOT_UNKNOWN_DATAID               (((ULong_t)'UNKN')<<32 | 'OWN ')
 #define ROOT_COMPOSITE_DATAID             (((ULong_t)'COMP')<<32 | 'OSIT')
similarity index 71%
rename from HLT/src/AliL3SpacePointData.h
rename to HLT/src/AliHLTSpacePointData.h
index 62534bcdb6469c0f11f5ed824e605591e3619533..5921deaac80ad081eba8f361899a2b3254a2e679 100644 (file)
@@ -3,8 +3,8 @@
 #ifndef SPACEPOINTDATA_H
 #define SPACEPOINTDATA_H
 
-#include "AliL3RootTypes.h"
-struct AliL3SpacePointData{
+#include "AliHLTRootTypes.h"
+struct AliHLTSpacePointData{
 #ifdef do_mc
   Int_t fTrackID[3];
 #endif
@@ -17,7 +17,8 @@ struct AliL3SpacePointData{
   Float_t fSigmaZ2; //error (former width) of the clusters
   UInt_t fCharge;
 };
-typedef struct AliL3SpacePointData AliL3SpacePointData;
+typedef struct AliHLTSpacePointData AliHLTSpacePointData;
+typedef AliHLTSpacePointData AliL3SpacePointData;
 
 
 #endif /* SPACEPOINTDATA_H */
diff --git a/HLT/src/AliHLTSrcLinkDef.h b/HLT/src/AliHLTSrcLinkDef.h
new file mode 100644 (file)
index 0000000..a72d149
--- /dev/null
@@ -0,0 +1,82 @@
+// @(#) $Id$
+
+#ifdef __CINT__
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ typedef AliL3Benchmark;
+#pragma link C++ typedef AliL3DigitRowData; 
+#pragma link C++ typedef AliL3DigitData;
+#pragma link C++ typedef AliL3SpacePointData;
+#pragma link C++ typedef AliL3ConfMapper;
+#pragma link C++ typedef AliL3ConfMapPoint;
+#pragma link C++ typedef AliL3Vertex;
+#pragma link C++ typedef AliL3VertexFinder;
+#pragma link C++ typedef AliL3VertexArray;
+#pragma link C++ typedef AliL3Track;
+#pragma link C++ typedef AliL3ConfMapTrack;
+#pragma link C++ typedef AliL3ConfMapFit;
+#pragma link C++ typedef AliL3Transform;
+#pragma link C++ typedef AliL3Merger;
+#pragma link C++ typedef AliL3TrackMerger;
+#pragma link C++ typedef AliL3GlobalMerger;
+#pragma link C++ typedef AliL3InterMerger;
+#pragma link C++ typedef AliL3TrackArray;
+#pragma link C++ typedef AliL3Logger;
+#pragma link C++ typedef AliL3MemHandler;
+#pragma link C++ typedef AliL3Display; 
+#pragma link C++ typedef AliL3ClustFinderNew;
+#pragma link C++ typedef AliL3Fitter;
+#pragma link C++ typedef AliL3RawDataFileHandler;
+#pragma link C++ typedef AliL3TPCBeamTestMemHandler;
+
+#ifdef use_aliroot
+#pragma link C++ typedef AliL3FileHandler;
+#pragma link C++ typedef AliL3Evaluate; 
+#ifdef use_reconstruction
+#pragma link C++ typedef AliL3Reconstructor;
+#pragma link C++ typedef AliL3TPCtracker;
+#endif
+#endif
+
+
+#pragma link C++ class AliHLTBenchmark;
+#pragma link C++ class AliHLTDigitRowData; 
+#pragma link C++ class AliHLTDigitData;
+#pragma link C++ class AliHLTSpacePointData;
+#pragma link C++ class AliHLTConfMapper;
+#pragma link C++ class AliHLTConfMapPoint;
+#pragma link C++ class AliHLTVertex;
+#pragma link C++ class AliHLTVertexFinder;
+#pragma link C++ class AliHLTVertexArray;
+#pragma link C++ class AliHLTTrack;
+#pragma link C++ class AliHLTConfMapTrack;
+#pragma link C++ class AliHLTConfMapFit;
+#pragma link C++ class AliHLTTransform;
+#pragma link C++ class AliHLTMerger;
+#pragma link C++ class AliHLTTrackMerger;
+#pragma link C++ class AliHLTGlobalMerger;
+#pragma link C++ class AliHLTInterMerger;
+#pragma link C++ class AliLevel3;
+#pragma link C++ class AliHLTTrackArray;
+#pragma link C++ class AliHLTLogger;
+#pragma link C++ class AliHLTMemHandler;
+#pragma link C++ class AliHLTDisplay; 
+#pragma link C++ class AliHLTClustFinderNew;
+#pragma link C++ class AliHLTFitter;
+#pragma link C++ class AliHLTRawDataFileHandler;
+#pragma link C++ class AliHLTTPCBeamTestMemHandler;
+
+#ifdef use_aliroot
+#pragma link C++ class AliHLTFileHandler;
+#pragma link C++ class AliHLTEvaluate; 
+#ifdef use_reconstruction
+#pragma link C++ class AliHLTReconstructor;
+#pragma link C++ class AliHLTTPCtracker;
+#endif
+#endif
+
+#endif
+
similarity index 64%
rename from HLT/src/AliL3TPCBeamTestMemHandler.cxx
rename to HLT/src/AliHLTTPCBeamTestMemHandler.cxx
index d799a25a25318d6ebfea45c001008cf39474fb26..3a176334e14d6d2e4e613054bbfc0c8a387325fe 100644 (file)
@@ -1,9 +1,9 @@
 // @(#) $Id$
 
-/** \class AliL3TPCBeamTestMemHandler 
+/** \class AliHLTTPCBeamTestMemHandler 
 <pre>
 //_____________________________________________________________
-// AliL3TPCBeamTestMemHandler
+// AliHLTTPCBeamTestMemHandler
 //
 // Class for converting the test beam data of May 2004 
 // to the HLT file format using R. Bramms tables.
 </pre>
 */
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3MemHandler.h"
-#include "AliL3DigitData.h"
-#include "AliL3TPCBeamTestMemHandler.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTPCBeamTestMemHandler.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
 
-ClassImp(AliL3TPCBeamTestMemHandler)
+ClassImp(AliHLTTPCBeamTestMemHandler)
 
-AliL3TPCBeamTestMemHandler::AliL3TPCBeamTestMemHandler(Char_t *fPathToMappingFile) : AliL3MemHandler()
+AliHLTTPCBeamTestMemHandler::AliHLTTPCBeamTestMemHandler(Char_t *fPathToMappingFile) : AliHLTMemHandler()
 { 
   //constructor
   fMinTimeBin=1;
@@ -44,7 +44,7 @@ AliL3TPCBeamTestMemHandler::AliL3TPCBeamTestMemHandler(Char_t *fPathToMappingFil
 #else
   if(!in->is_open()){
 #endif
-    LOG(AliL3Log::kFatal,"AliL3TPCBeamTestMemHandler","Mapping File")
+    LOG(AliHLTLog::kFatal,"AliHLTTPCBeamTestMemHandler","Mapping File")
        <<"Can't open file " << fPathToMappingFile << " !!!" <<ENDLOG;
   }
   fMapping = new short*[fNumOfChannels];
@@ -74,7 +74,7 @@ AliL3TPCBeamTestMemHandler::AliL3TPCBeamTestMemHandler(Char_t *fPathToMappingFil
   delete in;
 }
 
-AliL3TPCBeamTestMemHandler::~AliL3TPCBeamTestMemHandler()
+AliHLTTPCBeamTestMemHandler::~AliHLTTPCBeamTestMemHandler()
 { 
   //destructor
   for(Int_t i = 0; i < 5504 ; i++) { 
@@ -84,23 +84,23 @@ AliL3TPCBeamTestMemHandler::~AliL3TPCBeamTestMemHandler()
  delete[] fMapping;
 }
 
-AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t /*event*/)
+AliHLTDigitRowData* AliHLTTPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t /*event*/)
 { 
   //convert the raw data
-  AliL3DigitRowData *data = 0;
+  AliHLTDigitRowData *data = 0;
   nrow=0;
 
-  Int_t nrowsdummy=AliL3Transform::GetNRows(fPatch);
+  Int_t nrowsdummy=AliHLTTransform::GetNRows(fPatch);
   fRows = new AliRowStructure[nrowsdummy];
   for(Int_t i=0;i<nrowsdummy;i++){
    fRows[i].fRow=-1;
    fRows[i].fNDigits=0;
-   fRows[i].fPadPos= new Int_t[AliL3Transform::GetNPads(i+fRowMin)];
-   for(Int_t p=0;p<AliL3Transform::GetNPads(i+fRowMin);p++)
+   fRows[i].fPadPos= new Int_t[AliHLTTransform::GetNPads(i+fRowMin)];
+   for(Int_t p=0;p<AliHLTTransform::GetNPads(i+fRowMin);p++)
      fRows[i].fPadPos[p]=-1;
   }
 
-  Int_t ntimebins=AliL3Transform::GetNTimeBins();
+  Int_t ntimebins=AliHLTTransform::GetNTimeBins();
   Int_t npads=fInputSize/(ntimebins+1);
   Int_t ndigitcount=0; //total number of digits to be published
   for(Int_t i=0;i<npads;i++){
@@ -129,9 +129,9 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
     for(Int_t timebin = fMinTimeBin ; timebin <= ntimebins ; timebin++){
       Int_t dig=fInputPtr[pos+timebin]-digmean;
     
-      if(dig <= AliL3Transform::GetZeroSup()) continue;
-      if(dig >= AliL3Transform::GetADCSat())
-        dig = AliL3Transform::GetADCSat();
+      if(dig <= AliHLTTransform::GetZeroSup()) continue;
+      if(dig >= AliHLTTransform::GetADCSat())
+        dig = AliHLTTransform::GetADCSat();
 
        fRows[lrow].fNDigits++; //for this row only
        ndigitcount++;  
@@ -144,31 +144,31 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
   }
 
   Int_t nrows=0;
-  for(Int_t i=0;i<AliL3Transform::GetNRows(fPatch);i++){
+  for(Int_t i=0;i<AliHLTTransform::GetNRows(fPatch);i++){
       if(fRows[i].fRow!=-1) nrows++;
   }
-  if(nrows!=AliL3Transform::GetNRows(fPatch))
-    LOG(AliL3Log::kError,"AliL3TPCBeamTestMemHandler::RawData2Memory","nrows")
-      <<AliL3Log::kDec<<"Found Inconsistency "<<nrows<<" != "<<AliL3Transform::GetNRows(fPatch)<<ENDLOG;
+  if(nrows!=AliHLTTransform::GetNRows(fPatch))
+    LOG(AliHLTLog::kError,"AliHLTTPCBeamTestMemHandler::RawData2Memory","nrows")
+      <<AliHLTLog::kDec<<"Found Inconsistency "<<nrows<<" != "<<AliHLTTransform::GetNRows(fPatch)<<ENDLOG;
 
   //allocate memory
-  Int_t size = sizeof(AliL3DigitData)*ndigitcount
-    + nrows*sizeof(AliL3DigitRowData);
-  LOG(AliL3Log::kDebug,"AliL3TPCBeamTestMemHandler::RawData2Memory","Digits")
-    <<AliL3Log::kDec<<"Found "<<ndigitcount<<" Digits on "<<nrows<<" rows"<<ENDLOG;
+  Int_t size = sizeof(AliHLTDigitData)*ndigitcount
+    + nrows*sizeof(AliHLTDigitRowData);
+  LOG(AliHLTLog::kDebug,"AliHLTTPCBeamTestMemHandler::RawData2Memory","Digits")
+    <<AliHLTLog::kDec<<"Found "<<ndigitcount<<" Digits on "<<nrows<<" rows"<<ENDLOG;
 
-  data=(AliL3DigitRowData*)Allocate(size);
+  data=(AliHLTDigitRowData*)Allocate(size);
   nrow = (UInt_t)nrows;
   //memset(data,1,size); //for debugging
 
   Int_t ndigitcounttest=0;
-  AliL3DigitRowData *tempPt = data;
-  for(Int_t i=0;i<AliL3Transform::GetNRows(fPatch);i++){
+  AliHLTDigitRowData *tempPt = data;
+  for(Int_t i=0;i<AliHLTTransform::GetNRows(fPatch);i++){
     Int_t slrow=i+fRowMin;
     
     if(slrow!=fRows[i].fRow){
-      LOG(AliL3Log::kFatal,"AliL3TPCBeamTestMemHandler::RawData2Memory","Row Mismatch")
-       <<AliL3Log::kDec<<"Mismatch: slrow "<<slrow<<" row "
+      LOG(AliHLTLog::kFatal,"AliHLTTPCBeamTestMemHandler::RawData2Memory","Row Mismatch")
+       <<AliHLTLog::kDec<<"Mismatch: slrow "<<slrow<<" row "
        <<fRows[i].fRow<<ENDLOG;
     }
 
@@ -176,7 +176,7 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
     tempPt->fNDigit = fRows[i].fNDigits;
 
     Int_t localcount=0;
-    for(Int_t pad=0;pad<AliL3Transform::GetNPads(slrow);pad++){
+    for(Int_t pad=0;pad<AliHLTTransform::GetNPads(slrow);pad++){
       Int_t pos=fRows[i].fPadPos[pad];
       if(pos==-1) continue; //no data on that pad;
       Int_t digmean=0;
@@ -192,12 +192,12 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
       for(Int_t timebin = fMinTimeBin ; timebin <= ntimebins ; timebin++){
         Int_t dig=fInputPtr[pos+timebin]-digmean;
     
-       if(dig <= AliL3Transform::GetZeroSup()) continue;
-       if(dig >= AliL3Transform::GetADCSat())
-           dig = AliL3Transform::GetADCSat();
+       if(dig <= AliHLTTransform::GetZeroSup()) continue;
+       if(dig >= AliHLTTransform::GetADCSat())
+           dig = AliHLTTransform::GetADCSat();
 
        //Exclude data outside cone:
-       //AliL3Transform::Raw2Local(xyz,sector,row,pad,time);
+       //AliHLTTransform::Raw2Local(xyz,sector,row,pad,time);
        //if(fParam->GetPadRowRadii(sector,row)<230./250.*fabs(xyz[2])) continue;
 
        tempPt->fDigitData[localcount].fCharge=(UShort_t)dig;
@@ -215,20 +215,20 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
     } //pad 
 
     if(localcount != fRows[i].fNDigits)
-      LOG(AliL3Log::kFatal,"AliL3TPCBeamTestMemHandler::RawData2Memory","Memory")
-       <<AliL3Log::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
+      LOG(AliHLTLog::kFatal,"AliHLTTPCBeamTestMemHandler::RawData2Memory","Memory")
+       <<AliHLTLog::kDec<<"Mismatch: localcount "<<localcount<<" ndigits "
        <<fRows[i].fNDigits<<ENDLOG;
 
     Byte_t *tmp = (Byte_t*)tempPt;
-    Int_t size = sizeof(AliL3DigitRowData)
-      + localcount*sizeof(AliL3DigitData);
+    Int_t size = sizeof(AliHLTDigitRowData)
+      + localcount*sizeof(AliHLTDigitData);
     tmp += size;
-    tempPt = (AliL3DigitRowData*)tmp;
+    tempPt = (AliHLTDigitRowData*)tmp;
   }//row
 
   if(ndigitcount!=ndigitcounttest)
-    LOG(AliL3Log::kError,"AliL3TPCBeamTestMemHandler::RawData2Memory","Digits")
-      <<AliL3Log::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTPCBeamTestMemHandler::RawData2Memory","Digits")
+      <<AliHLTLog::kDec<<"Found Inconsistency "<<ndigitcount<<" != "<<ndigitcounttest<<ENDLOG;
 
   for(Int_t i=0;i<nrowsdummy;i++){
     delete[] fRows[i].fPadPos;
@@ -237,12 +237,12 @@ AliL3DigitRowData* AliL3TPCBeamTestMemHandler::RawData2Memory(UInt_t &nrow,Int_t
   return data;
 }
 
-Bool_t AliL3TPCBeamTestMemHandler::RawData2CompBinary(Int_t event)
+Bool_t AliHLTTPCBeamTestMemHandler::RawData2CompBinary(Int_t event)
 { 
   //raw data to memory
   Bool_t out = kTRUE;
   UInt_t ndigits=0;
-  AliL3DigitRowData *digits=0;
+  AliHLTDigitRowData *digits=0;
   digits = RawData2Memory(ndigits,event);
   out = Memory2CompBinary(ndigits,digits);
   Free();
similarity index 74%
rename from HLT/src/AliL3TPCBeamTestMemHandler.h
rename to HLT/src/AliHLTTPCBeamTestMemHandler.h
index 7997b01b0a7a7cdc3224faa7eeb721e0635bc3e0..1528d0a5ae67cc9b5146afab41876221a048c42e 100644 (file)
@@ -4,7 +4,7 @@
 #define ALIL3TPCBEAMTESTMEMHANDLER_H
 
 //_____________________________________________________________
-// AliL3TPCBeamTestMemHandler
+// AliHLTTPCBeamTestMemHandler
 //
 // Class for converting the test beam data of May 2004 
 // to the HLT file format using R. Bramms tables.
 // -- Copyright &copy ALICE HLT Group
 
 
-#include "AliL3MemHandler.h"
+#include "AliHLTMemHandler.h"
 
-class AliL3TPCBeamTestMemHandler : public AliL3MemHandler{
+class AliHLTTPCBeamTestMemHandler : public AliHLTMemHandler{
 
  public:
-  AliL3TPCBeamTestMemHandler(Char_t *fPathToMappingFile="./MappingHWAdress.data");
-  virtual ~AliL3TPCBeamTestMemHandler();
+  AliHLTTPCBeamTestMemHandler(Char_t *fPathToMappingFile="./MappingHWAdress.data");
+  virtual ~AliHLTTPCBeamTestMemHandler();
 
   void SetInputPointer(Short_t *ptr, Int_t s) {fInputPtr=ptr;fInputSize=s;}
   void SetNTimeBins(Int_t i) {
-   fNTimeBins=i;AliL3Transform::SetNTimeBins(i);
+   fNTimeBins=i;AliHLTTransform::SetNTimeBins(i);
   }
   void SetMinTimeBin(Int_t i) {
     fMinTimeBin=i;
@@ -43,7 +43,7 @@ class AliL3TPCBeamTestMemHandler : public AliL3MemHandler{
     return retval;
   }
 
-  AliL3DigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
+  AliHLTDigitRowData* RawData2Memory(UInt_t &nrow,Int_t event=-1);
   Bool_t RawData2CompBinary(Int_t event=-1);
 
  private:
@@ -64,7 +64,10 @@ class AliL3TPCBeamTestMemHandler : public AliL3MemHandler{
   Int_t fNTimeBins;              // number of timebins
   Int_t fMinTimeBin;             // min timebin (not zero because of altro)
 
-  ClassDef(AliL3TPCBeamTestMemHandler,1)   //RawData Filehandler class
+  ClassDef(AliHLTTPCBeamTestMemHandler,1)   //RawData Filehandler class
 };
+
+typedef AliHLTTPCBeamTestMemHandler AliL3TPCBeamTestMemHandler; // for backward compatibility
+
 #endif
 
similarity index 84%
rename from HLT/src/AliL3TPCtracker.cxx
rename to HLT/src/AliHLTTPCtracker.cxx
index 241fc9e23aa32739509d6f7c8979ed91cf9c176d..842b35cad41de18cb7dbed7e38206aae9431a74c 100644 (file)
 
 #include "AliESD.h"
 #include "AliRunLoader.h"
-#include "AliL3TPCtracker.h"
-#include "AliL3Hough.h"
+#include "AliHLTTPCtracker.h"
+#include "AliHLTHough.h"
 
-ClassImp(AliL3TPCtracker)
+ClassImp(AliHLTTPCtracker)
 
-AliL3TPCtracker::AliL3TPCtracker(AliRunLoader *runLoader):AliTracker()
+AliHLTTPCtracker::AliHLTTPCtracker(AliRunLoader *runLoader):AliTracker()
 {
   //--------------------------------------------------------------
   // Constructor
   //--------------------------------------------------------------
 
-  if(AliL3Transform::GetVersion() == AliL3Transform::kVdefault) {
-    Bool_t isinit=AliL3Transform::Init(runLoader);
-    if(!isinit) AliWarning("Could not init AliL3Transform settings, using defaults!");
+  if(AliHLTTransform::GetVersion() == AliHLTTransform::kVdefault) {
+    Bool_t isinit=AliHLTTransform::Init(runLoader);
+    if(!isinit) AliWarning("Could not init AliHLTTransform settings, using defaults!");
   }
 
   fRunLoader = runLoader;
 }
 
-Int_t AliL3TPCtracker::Clusters2Tracks(AliESD *event)
+Int_t AliHLTTPCtracker::Clusters2Tracks(AliESD *event)
 {
   //--------------------------------------------------------------------
   // This method reconstructs HLT TPC Hough tracks
@@ -57,13 +57,13 @@ Int_t AliL3TPCtracker::Clusters2Tracks(AliESD *event)
   }
   Int_t iEvent = fRunLoader->GetEventNumber();
   
-  Float_t ptmin = 0.1*AliL3Transform::GetSolenoidField();
+  Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
 
   Float_t zvertex = GetZ();
 
   AliInfo(Form("Hough Transform will run with ptmin=%f and zvertex=%f",ptmin,zvertex));
 
-  AliL3Hough *hough = new AliL3Hough();
+  AliHLTHough *hough = new AliHLTHough();
     
   hough->SetThreshold(4);
   hough->CalcTransformerParams(ptmin);
similarity index 84%
rename from HLT/src/AliL3TPCtracker.h
rename to HLT/src/AliHLTTPCtracker.h
index b1e393f3e8654cad0e1b8ce9f4982df50780b5d8..0b74762ac90200c2d368607ce9e0d447a9aca69b 100644 (file)
 #include "AliTracker.h"
 #include "AliLog.h"
 
-#include "AliL3Transform.h"
+#include "AliHLTTransform.h"
 
 class AliRunLoader;
 class AliESD;
 
 //-------------------------------------------------------------------------
-class AliL3TPCtracker : public AliTracker {
+class AliHLTTPCtracker : public AliTracker {
 public:
-  AliL3TPCtracker(AliRunLoader *runLoader);
+  AliHLTTPCtracker(AliRunLoader *runLoader);
 
   Int_t Clusters2Tracks(AliESD *event);
 
@@ -40,7 +40,9 @@ public:
 private:
   AliRunLoader *fRunLoader; // Pointer to the runloader
 
-  ClassDef(AliL3TPCtracker,1)   //HLT TPC Hough tracker
+  ClassDef(AliHLTTPCtracker,1)   //HLT TPC Hough tracker
 };
 
+typedef AliHLTTPCtracker AliL3TPCtracker; // for backward compatibility
+
 #endif
similarity index 75%
rename from HLT/src/AliL3Track.cxx
rename to HLT/src/AliHLTTrack.cxx
index ecee84038967df5f4682ab7c3e052e9675546fec..1a45e211bc3058ff81d5d7b46f09123fb5c50544 100644 (file)
@@ -3,23 +3,23 @@
 // Author: Anders Vestbo <mailto:vestbo$fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3Track.h"
-#include "AliL3Transform.h"
-#include "AliL3Vertex.h"
-#include "AliL3SpacePointData.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVertex.h"
+#include "AliHLTSpacePointData.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3Track
+/** \class AliHLTTrack
 //<pre>
 //_____________________________________________________________
-// AliL3Track
+// AliHLTTrack
 //
 // Track base class
 //Begin_Html
@@ -28,10 +28,10 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3Track)
+ClassImp(AliHLTTrack)
 
 
-AliL3Track::AliL3Track()
+AliHLTTrack::AliHLTTrack()
 {
   //Constructor
   fNHits = 0;
@@ -66,7 +66,7 @@ AliL3Track::AliL3Track()
   fPointPsi=0;
 }
 
-void AliL3Track::Set(AliL3Track *tpt)
+void AliHLTTrack::Set(AliHLTTrack *tpt)
 {
   //setter
   SetRowRange(tpt->GetFirstRow(),tpt->GetLastRow());
@@ -90,7 +90,7 @@ void AliL3Track::Set(AliL3Track *tpt)
   SetSector(tpt->GetSector());
 }
 
-Int_t AliL3Track::Compare(const AliL3Track *track) const
+Int_t AliHLTTrack::Compare(const AliHLTTrack *track) const
 {
   // compare tracks
   if(track->GetNHits() < GetNHits()) return 1;
@@ -98,37 +98,37 @@ Int_t AliL3Track::Compare(const AliL3Track *track) const
   return 0;
 }
 
-AliL3Track::~AliL3Track()
+AliHLTTrack::~AliHLTTrack()
 {
   //Nothing to do
 }
 
-Double_t AliL3Track::GetP() const
+Double_t AliHLTTrack::GetP() const
 {
   // Returns total momentum.  
   return fabs(GetPt())*sqrt(1. + GetTgl()*GetTgl());
 }
 
-Double_t AliL3Track::GetPseudoRapidity() const
+Double_t AliHLTTrack::GetPseudoRapidity() const
 { //get pseudo rap
   return 0.5 * log((GetP() + GetPz()) / (GetP() - GetPz()));
 }
 
 /*
-Double_t AliL3Track::GetEta() const
+Double_t AliHLTTrack::GetEta() const
 {
   return GetPseudoRapidity();
 }
 */
 
-Double_t AliL3Track::GetRapidity() const
+Double_t AliHLTTrack::GetRapidity() const
 { 
   //get rap
   const Double_t kmpi = 0.13957;
   return 0.5 * log((kmpi + GetPz()) / (kmpi - GetPz()));
 }
 
-void AliL3Track::Rotate(Int_t slice,Bool_t tolocal)
+void AliHLTTrack::Rotate(Int_t slice,Bool_t tolocal)
 {
   //Rotate track to global parameters
   //If flag tolocal is set, the track is rotated
@@ -136,19 +136,19 @@ void AliL3Track::Rotate(Int_t slice,Bool_t tolocal)
 
   Float_t psi[1] = {GetPsi()};
   if(!tolocal)
-    AliL3Transform::Local2GlobalAngle(psi,slice);
+    AliHLTTransform::Local2GlobalAngle(psi,slice);
   else
-    AliL3Transform::Global2LocalAngle(psi,slice);
+    AliHLTTransform::Global2LocalAngle(psi,slice);
   SetPsi(psi[0]);
   Float_t first[3];
   first[0] = GetFirstPointX();
   first[1] = GetFirstPointY();
   first[2] = GetFirstPointZ();
   if(!tolocal)
-    AliL3Transform::Local2Global(first,slice);
+    AliHLTTransform::Local2Global(first,slice);
   else
-    AliL3Transform::Global2LocHLT(first,slice);
-  //AliL3Transform::Global2Local(first,slice,kTRUE);
+    AliHLTTransform::Global2LocHLT(first,slice);
+  //AliHLTTransform::Global2Local(first,slice,kTRUE);
   
   SetFirstPoint(first[0],first[1],first[2]);
   Float_t last[3];
@@ -156,18 +156,18 @@ void AliL3Track::Rotate(Int_t slice,Bool_t tolocal)
   last[1] = GetLastPointY();
   last[2] = GetLastPointZ();
   if(!tolocal)
-    AliL3Transform::Local2Global(last,slice);
+    AliHLTTransform::Local2Global(last,slice);
   else
-    AliL3Transform::Global2LocHLT(last,slice);    
-  //AliL3Transform::Global2Local(last,slice,kTRUE);
+    AliHLTTransform::Global2LocHLT(last,slice);    
+  //AliHLTTransform::Global2Local(last,slice,kTRUE);
   SetLastPoint(last[0],last[1],last[2]);
   
   Float_t center[3] = {GetCenterX(),GetCenterY(),0};
   if(!tolocal)
-    AliL3Transform::Local2Global(center,slice);
+    AliHLTTransform::Local2Global(center,slice);
   else
-    AliL3Transform::Global2LocHLT(center,slice);
-  //AliL3Transform::Global2Local(center,slice,kTRUE);
+    AliHLTTransform::Global2LocHLT(center,slice);
+  //AliHLTTransform::Global2Local(center,slice,kTRUE);
   SetCenterX(center[0]);
   SetCenterY(center[1]);
   
@@ -180,13 +180,13 @@ void AliL3Track::Rotate(Int_t slice,Bool_t tolocal)
     fIsLocal=kTRUE;
 }
 
-void AliL3Track::CalculateHelix()
+void AliHLTTrack::CalculateHelix()
 {
   //Calculate Radius, CenterX and CenterY from Psi, X0, Y0
-  fRadius = fPt / (AliL3Transform::GetBFieldValue());
+  fRadius = fPt / (AliHLTTransform::GetBFieldValue());
   if(fRadius) fKappa = -fQ*1./fRadius;
   else fRadius = 999999;  //just zero
-  Double_t trackPhi0 = fPsi + fQ * AliL3Transform::PiHalf();
+  Double_t trackPhi0 = fPsi + fQ * AliHLTTransform::PiHalf();
 
   fCenterX = fFirstPoint[0] - fRadius *  cos(trackPhi0);
   fCenterY = fFirstPoint[1] - fRadius *  sin(trackPhi0);
@@ -195,7 +195,7 @@ void AliL3Track::CalculateHelix()
   SetR0(sqrt(fFirstPoint[0]*fFirstPoint[0]+fFirstPoint[1]*fFirstPoint[1]));
 }
 
-Double_t AliL3Track::GetCrossingAngle(Int_t padrow,Int_t slice) 
+Double_t AliHLTTrack::GetCrossingAngle(Int_t padrow,Int_t slice) 
 {
   //Calculate the crossing angle between track and given padrow.
   //Take the dot product of the tangent vector of the track, and
@@ -208,9 +208,9 @@ Double_t AliL3Track::GetCrossingAngle(Int_t padrow,Int_t slice)
   Float_t angle=0;//Angle perpendicular to the padrow in local coordinates
   if(slice>=0)//Global coordinates
     {
-      AliL3Transform::Local2GlobalAngle(&angle,slice);
-      if(!CalculateReferencePoint(angle,AliL3Transform::Row2X(padrow)))
-       cerr<<"AliL3Track::GetCrossingAngle : Track does not cross line in slice "<<slice<<" row "<<padrow<<endl;
+      AliHLTTransform::Local2GlobalAngle(&angle,slice);
+      if(!CalculateReferencePoint(angle,AliHLTTransform::Row2X(padrow)))
+       cerr<<"AliHLTTrack::GetCrossingAngle : Track does not cross line in slice "<<slice<<" row "<<padrow<<endl;
     }
   else //should be in local coordinates
     {
@@ -232,7 +232,7 @@ Double_t AliL3Track::GetCrossingAngle(Int_t padrow,Int_t slice)
   return acos(cosbeta);
 }
 
-Bool_t AliL3Track::GetCrossingPoint(Int_t padrow,Float_t *xyz)
+Bool_t AliHLTTrack::GetCrossingPoint(Int_t padrow,Float_t *xyz)
 {
   //Assumes the track is given in local coordinates
   
@@ -242,7 +242,7 @@ Bool_t AliL3Track::GetCrossingPoint(Int_t padrow,Float_t *xyz)
       return false;
     }
   
-  Double_t xHit = AliL3Transform::Row2X(padrow);
+  Double_t xHit = AliHLTTransform::Row2X(padrow);
 
   xyz[0] = xHit;
   Double_t aa = (xHit - GetCenterX())*(xHit - GetCenterX());
@@ -258,12 +258,12 @@ Bool_t AliL3Track::GetCrossingPoint(Int_t padrow,Float_t *xyz)
  
   Double_t yHit = xyz[1];
   Double_t angle1 = atan2((yHit - GetCenterY()),(xHit - GetCenterX()));
-  if(angle1 < 0) angle1 += 2.*AliL3Transform::Pi();
+  if(angle1 < 0) angle1 += 2.*AliHLTTransform::Pi();
   Double_t angle2 = atan2((GetFirstPointY() - GetCenterY()),(GetFirstPointX() - GetCenterX()));
-  if(angle2 < 0) angle2 += AliL3Transform::TwoPi();
+  if(angle2 < 0) angle2 += AliHLTTransform::TwoPi();
   Double_t diffangle = angle1 - angle2;
-  diffangle = fmod(diffangle,AliL3Transform::TwoPi());
-  if((GetCharge()*diffangle) > 0) diffangle = diffangle - GetCharge()*AliL3Transform::TwoPi();
+  diffangle = fmod(diffangle,AliHLTTransform::TwoPi());
+  if((GetCharge()*diffangle) > 0) diffangle = diffangle - GetCharge()*AliHLTTransform::TwoPi();
   Double_t stot = fabs(diffangle)*GetRadius();
   Double_t zHit = GetFirstPointZ() + stot*GetTgl();
   xyz[2] = zHit;
@@ -272,16 +272,16 @@ Bool_t AliL3Track::GetCrossingPoint(Int_t padrow,Float_t *xyz)
 
 }
 
-Bool_t AliL3Track::CalculateReferencePoint(Double_t angle,Double_t radius)
+Bool_t AliHLTTrack::CalculateReferencePoint(Double_t angle,Double_t radius)
 {
   // Global coordinate: crossing point with y = ax+ b; 
-  // a=tan(angle-AliL3Transform::PiHalf());
+  // a=tan(angle-AliHLTTransform::PiHalf());
   //
   const Double_t krr=radius; //position of reference plane
   const Double_t kxr = cos(angle) * krr;
   const Double_t kyr = sin(angle) * krr;
   
-  Double_t a = tan(angle-AliL3Transform::PiHalf());
+  Double_t a = tan(angle-AliHLTTransform::PiHalf());
   Double_t b = kyr - a * kxr;
 
   Double_t pp=(fCenterX+a*fCenterY-a*b)/(1+pow(a,2));
@@ -310,26 +310,26 @@ Bool_t AliL3Track::CalculateReferencePoint(Double_t angle,Double_t radius)
 
   Double_t pointPhi0  = atan2(fPoint[1]-fCenterY,fPoint[0]-fCenterX);
   Double_t trackPhi0  = atan2(fFirstPoint[1]-fCenterY,fFirstPoint[0]-fCenterX);
-  if(fabs(trackPhi0-pointPhi0)>AliL3Transform::Pi()){
-    if(trackPhi0<pointPhi0) trackPhi0 += AliL3Transform::TwoPi();
-    else                    pointPhi0 += AliL3Transform::TwoPi();
+  if(fabs(trackPhi0-pointPhi0)>AliHLTTransform::Pi()){
+    if(trackPhi0<pointPhi0) trackPhi0 += AliHLTTransform::TwoPi();
+    else                    pointPhi0 += AliHLTTransform::TwoPi();
   }
   Double_t stot = -fQ * (pointPhi0-trackPhi0) * fRadius ;
   fPoint[2]   = fFirstPoint[2] + stot * fTanl;
 
-  fPointPsi = pointPhi0 - fQ * AliL3Transform::PiHalf();
-  if(fPointPsi<0.)  fPointPsi+= AliL3Transform::TwoPi();
-  fPointPsi = fmod(fPointPsi, AliL3Transform::TwoPi());
+  fPointPsi = pointPhi0 - fQ * AliHLTTransform::PiHalf();
+  if(fPointPsi<0.)  fPointPsi+= AliHLTTransform::TwoPi();
+  fPointPsi = fmod(fPointPsi, AliHLTTransform::TwoPi());
 
   return IsPoint(kTRUE);
 }
 
-Bool_t AliL3Track::CalculateEdgePoint(Double_t angle)
+Bool_t AliHLTTrack::CalculateEdgePoint(Double_t angle)
 {
   // Global coordinate: crossing point with y = ax; a=tan(angle);
   //
-  Double_t rmin=AliL3Transform::Row2X(AliL3Transform::GetFirstRow(-1));  //min Radius of TPC
-  Double_t rmax=AliL3Transform::Row2X(AliL3Transform::GetLastRow(-1)); //max Radius of TPC
+  Double_t rmin=AliHLTTransform::Row2X(AliHLTTransform::GetFirstRow(-1));  //min Radius of TPC
+  Double_t rmax=AliHLTTransform::Row2X(AliHLTTransform::GetLastRow(-1)); //max Radius of TPC
 
   Double_t a = tan(angle);
   Double_t pp=(fCenterX+a*fCenterY)/(1+pow(a,2));
@@ -351,13 +351,13 @@ Bool_t AliL3Track::CalculateEdgePoint(Double_t angle)
 
   if(r0>rmin&&r0<rmax){
     Double_t da=atan2(y0,x0);
-    if(da<0) da+=AliL3Transform::TwoPi();
+    if(da<0) da+=AliHLTTransform::TwoPi();
     if(fabs(da-angle)<0.5)
       ok0 = kTRUE;
   }
   if(r1>rmin&&r1<rmax){
     Double_t da=atan2(y1,x1);
-    if(da<0) da+=AliL3Transform::TwoPi();
+    if(da<0) da+=AliHLTTransform::TwoPi();
     if(fabs(da-angle)<0.5)
       ok1 = kTRUE;
   }
@@ -374,21 +374,21 @@ Bool_t AliL3Track::CalculateEdgePoint(Double_t angle)
 
   Double_t pointPhi0  = atan2(fPoint[1]-fCenterY,fPoint[0]-fCenterX);
   Double_t trackPhi0  = atan2(fFirstPoint[1]-fCenterY,fFirstPoint[0]-fCenterX);
-  if(fabs(trackPhi0-pointPhi0)>AliL3Transform::Pi()){
-    if(trackPhi0<pointPhi0) trackPhi0 += AliL3Transform::TwoPi();
-    else                    pointPhi0 += AliL3Transform::TwoPi();
+  if(fabs(trackPhi0-pointPhi0)>AliHLTTransform::Pi()){
+    if(trackPhi0<pointPhi0) trackPhi0 += AliHLTTransform::TwoPi();
+    else                    pointPhi0 += AliHLTTransform::TwoPi();
   }
   Double_t stot = -fQ * (pointPhi0-trackPhi0) * fRadius ;
   fPoint[2]   = fFirstPoint[2] + stot * fTanl;
 
-  fPointPsi = pointPhi0 - fQ * AliL3Transform::PiHalf();
-  if(fPointPsi<0.)  fPointPsi+= AliL3Transform::TwoPi();
-  fPointPsi = fmod(fPointPsi, AliL3Transform::TwoPi());
+  fPointPsi = pointPhi0 - fQ * AliHLTTransform::PiHalf();
+  if(fPointPsi<0.)  fPointPsi+= AliHLTTransform::TwoPi();
+  fPointPsi = fmod(fPointPsi, AliHLTTransform::TwoPi());
 
   return IsPoint(kTRUE);
 }
 
-Bool_t AliL3Track::CalculatePoint(Double_t xplane)
+Bool_t AliHLTTrack::CalculatePoint(Double_t xplane)
 {
   // Local coordinate: crossing point with x plane
   //
@@ -409,21 +409,21 @@ Bool_t AliL3Track::CalculatePoint(Double_t xplane)
 
   Double_t pointPhi0  = atan2(fPoint[1]-fCenterY,fPoint[0]-fCenterX);
   Double_t trackPhi0  = atan2(fFirstPoint[1]-fCenterY,fFirstPoint[0]-fCenterX);
-  if(fabs(trackPhi0-pointPhi0)>AliL3Transform::Pi()){
-    if(trackPhi0<pointPhi0) trackPhi0 += AliL3Transform::TwoPi();
-    else                    pointPhi0 += AliL3Transform::TwoPi();
+  if(fabs(trackPhi0-pointPhi0)>AliHLTTransform::Pi()){
+    if(trackPhi0<pointPhi0) trackPhi0 += AliHLTTransform::TwoPi();
+    else                    pointPhi0 += AliHLTTransform::TwoPi();
   }
   Double_t stot = -fQ * (pointPhi0-trackPhi0) * fRadius ;  
   fPoint[2]   = fFirstPoint[2] + stot * fTanl;
 
-  fPointPsi = pointPhi0 - fQ * AliL3Transform::PiHalf();
-  if(fPointPsi<0.)  fPointPsi+= AliL3Transform::TwoPi();
-  fPointPsi = fmod(fPointPsi, AliL3Transform::TwoPi());
+  fPointPsi = pointPhi0 - fQ * AliHLTTransform::PiHalf();
+  if(fPointPsi<0.)  fPointPsi+= AliHLTTransform::TwoPi();
+  fPointPsi = fmod(fPointPsi, AliHLTTransform::TwoPi());
 
   return IsPoint(kTRUE);
 }
 
-void AliL3Track::UpdateToFirstPoint()
+void AliHLTTrack::UpdateToFirstPoint()
 {
   //Update track parameters to the innermost point on the track.
   //This means that the parameters of the track will be given in the point
@@ -464,8 +464,8 @@ void AliL3Track::UpdateToFirstPoint()
     }
 
   Double_t pointpsi = atan2(point[1]-GetCenterY(),point[0]-GetCenterX());
-  pointpsi -= GetCharge()*AliL3Transform::PiHalf();
-  if(pointpsi < 0) pointpsi += AliL3Transform::TwoPi();
+  pointpsi -= GetCharge()*AliHLTTransform::PiHalf();
+  if(pointpsi < 0) pointpsi += AliHLTTransform::TwoPi();
   
   //Update the track parameters
   SetR0(sqrt(point[0]*point[0]+point[1]*point[1]));
@@ -475,7 +475,7 @@ void AliL3Track::UpdateToFirstPoint()
   
 }
 
-void AliL3Track::GetClosestPoint(AliL3Vertex *vertex,Double_t &closestx,Double_t &closesty,Double_t &closestz)
+void AliHLTTrack::GetClosestPoint(AliHLTVertex *vertex,Double_t &closestx,Double_t &closesty,Double_t &closestz)
 {
   //Calculate the point of closest approach to the vertex
   //This function calculates the minimum distance from the helix to the vertex, and choose 
@@ -506,22 +506,22 @@ void AliL3Track::GetClosestPoint(AliL3Vertex *vertex,Double_t &closestx,Double_t
   
   //Get the z coordinate:
   Double_t angle1 = atan2((closesty-GetCenterY()),(closestx-GetCenterX()));
-  if(angle1 < 0) angle1 = angle1 + AliL3Transform::TwoPi();
+  if(angle1 < 0) angle1 = angle1 + AliHLTTransform::TwoPi();
  
   Double_t angle2 = atan2((GetFirstPointY()-GetCenterY()),(GetFirstPointX()-GetCenterX()));
-  if(angle2 < 0) angle2 = angle2 + AliL3Transform::TwoPi();
+  if(angle2 < 0) angle2 = angle2 + AliHLTTransform::TwoPi();
   
   Double_t diff_angle = angle1 - angle2;
-  diff_angle = fmod(diff_angle,AliL3Transform::TwoPi());
+  diff_angle = fmod(diff_angle,AliHLTTransform::TwoPi());
   
-  if((GetCharge()*diff_angle) < 0) diff_angle = diff_angle + GetCharge()*AliL3Transform::TwoPi();
+  if((GetCharge()*diff_angle) < 0) diff_angle = diff_angle + GetCharge()*AliHLTTransform::TwoPi();
   Double_t stot = fabs(diff_angle)*GetRadius();
   closestz = GetFirstPointZ() - stot*GetTgl();
 }
 
-void AliL3Track::Print() const
+void AliHLTTrack::Print() const
 { //print out parameters of track
-  LOG(AliL3Log::kInformational,"AliL3Track::Print","Print values")
+  LOG(AliHLTLog::kInformational,"AliHLTTrack::Print","Print values")
     <<fNHits<<" "<<fMCid<<" "<<fKappa<<" "<<fRadius<<" "<<fCenterX<<" "<<fCenterY<<" "
     <<fFromMainVertex<<" "<<fRowRange[0]<<" "<<fRowRange[1]<<" "<<fSector<<" "<<fQ<<" "
     <<fTanl<<" "<<fPsi<<" "<<fPt<<" "<<fLength<<" "<<fPterr<<" "<<fPsierr<<" "<<fZ0err<<" "
similarity index 92%
rename from HLT/src/AliL3Track.h
rename to HLT/src/AliHLTTrack.h
index e8e4e0db12a42061226cce3e19e2e54fb58ef89e..68eb767bdc9eea9d46d9a9f181922061e048c48a 100644 (file)
@@ -3,18 +3,18 @@
 #ifndef ALIL3TRACK_H
 #define ALIL3TRACK_H
 
-class AliL3Vertex;
-class AliL3SpacePointData;
+class AliHLTVertex;
+class AliHLTSpacePointData;
 
-class AliL3Track {
+class AliHLTTrack {
 
  public:
   
-  AliL3Track();
-  virtual ~AliL3Track();
+  AliHLTTrack();
+  virtual ~AliHLTTrack();
   
-  virtual void Set(AliL3Track* track);
-  virtual Int_t Compare(const AliL3Track *track) const;
+  virtual void Set(AliHLTTrack* track);
+  virtual Int_t Compare(const AliHLTTrack *track) const;
   virtual void CalculateHelix();
   
   Bool_t CalculateReferencePoint(Double_t angle,Double_t radius=132);//Calculate Reference Point
@@ -25,7 +25,7 @@ class AliL3Track {
   Bool_t GetCrossingPoint(Int_t padrow,Float_t *xyz);
   Double_t GetDistance(Double_t /*x0*/,Double_t /*x1*/){return 0;}
   void UpdateToFirstPoint();
-  void GetClosestPoint(AliL3Vertex *vertex,Double_t &closest_x,Double_t &closest_y,Double_t &closest_z);
+  void GetClosestPoint(AliHLTVertex *vertex,Double_t &closest_x,Double_t &closest_y,Double_t &closest_z);
   void Rotate(Int_t slice,Bool_t tolocal=kFALSE);
   Bool_t IsLocal() const {return fIsLocal;}
   void Print() const;
@@ -154,6 +154,9 @@ class AliL3Track {
 
   Bool_t IsPoint(Bool_t ispoint) {fIsPoint = ispoint;return fIsPoint;}
   
-  ClassDef(AliL3Track,1) //Base track class
+  ClassDef(AliHLTTrack,1) //Base track class
 };
+
+typedef AliHLTTrack AliL3Track; // for backward compatibility
+
 #endif
similarity index 65%
rename from HLT/src/AliL3TrackArray.cxx
rename to HLT/src/AliHLTTrackArray.cxx
index 935094cda277653333d7883d7fa6fcffa3f06e01..51331c04957ec65570160f720850c602745cb2aa 100644 (file)
@@ -3,21 +3,21 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-
-#include "AliL3Logging.h"
-#include "AliL3TrackArray.h"
-#include "AliL3HoughTrack.h"
-#include "AliL3ModelTrack.h"
-#include "AliL3ConfMapTrack.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3Transform.h"
-#include "AliL3ConfMapPoint.h"
-
-/** \class AliL3TrackArray
+#include "AliHLTStandardIncludes.h"
+
+#include "AliHLTLogging.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTHoughTrack.h"
+#include "AliHLTModelTrack.h"
+#include "AliHLTConfMapTrack.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTConfMapPoint.h"
+
+/** \class AliHLTTrackArray
 <pre>
 //_____________________________________________________________
-// AliL3TrackArray
+// AliHLTTrackArray
 //
 // Track array class 
 //
@@ -28,9 +28,9 @@
 using namespace std;
 #endif
 
-ClassImp(AliL3TrackArray)
+ClassImp(AliHLTTrackArray)
 
-AliL3TrackArray::AliL3TrackArray()
+AliHLTTrackArray::AliHLTTrackArray()
 {
   //Default constructor
   fSize = 0;
@@ -41,7 +41,7 @@ AliL3TrackArray::AliL3TrackArray()
 }
 
 
-AliL3TrackArray::AliL3TrackArray(Int_t ntrack)
+AliHLTTrackArray::AliHLTTrackArray(Int_t ntrack)
 {
   //Constructor.
   fSize = 0;
@@ -51,40 +51,40 @@ AliL3TrackArray::AliL3TrackArray(Int_t ntrack)
   SetSize(ntrack);
 }
 
-AliL3TrackArray::AliL3TrackArray(char* tracktype,Int_t ntrack)
+AliHLTTrackArray::AliHLTTrackArray(char* tracktype,Int_t ntrack)
 {
   //Constructor.
   fSize = 0;
   fNTracks=0;
   fNAbsent=0;
-  if(strcmp(tracktype,"AliL3Track")==0) fTrackType='t';
-  if(strcmp(tracktype,"AliL3ConfMapTrack")==0) fTrackType='c';
-  if(strcmp(tracktype,"AliL3HoughTrack")==0) fTrackType='h';
-  if(strcmp(tracktype,"AliL3ModelTrack")==0) fTrackType='m';
+  if(strcmp(tracktype,"AliHLTTrack")==0) fTrackType='t';
+  if(strcmp(tracktype,"AliHLTConfMapTrack")==0) fTrackType='c';
+  if(strcmp(tracktype,"AliHLTHoughTrack")==0) fTrackType='h';
+  if(strcmp(tracktype,"AliHLTModelTrack")==0) fTrackType='m';
   SetSize(ntrack);
 }
 
-AliL3TrackArray::AliL3TrackArray(char* tracktype)
+AliHLTTrackArray::AliHLTTrackArray(char* tracktype)
 {
   //Constructor.
   fSize = 0;
   fNTracks=0;
   fNAbsent=0;
-  if(strcmp(tracktype,"AliL3Track")==0) fTrackType='t';
-  if(strcmp(tracktype,"AliL3ConfMapTrack")==0) fTrackType='c';
-  if(strcmp(tracktype,"AliL3HoughTrack")==0) fTrackType='h';
-  if(strcmp(tracktype,"AliL3ModelTrack")==0) fTrackType='m';
+  if(strcmp(tracktype,"AliHLTTrack")==0) fTrackType='t';
+  if(strcmp(tracktype,"AliHLTConfMapTrack")==0) fTrackType='c';
+  if(strcmp(tracktype,"AliHLTHoughTrack")==0) fTrackType='h';
+  if(strcmp(tracktype,"AliHLTModelTrack")==0) fTrackType='m';
   SetSize();
 }
 
-AliL3TrackArray::~AliL3TrackArray()
+AliHLTTrackArray::~AliHLTTrackArray()
 {
   //Destructor
   DeleteArray();
 }
 
 
-AliL3Track *AliL3TrackArray::NextTrack()
+AliHLTTrack *AliHLTTrackArray::NextTrack()
 {
   //next track in array
   if(fNTracks<fSize) return fTrack[fNTracks++];
@@ -92,7 +92,7 @@ AliL3Track *AliL3TrackArray::NextTrack()
    return fTrack[fNTracks++]; 
 }
 
-void AliL3TrackArray::DeleteArray()
+void AliHLTTrackArray::DeleteArray()
 {
   //delete array
   for(Int_t i=0; i<fSize;i++)
@@ -101,36 +101,36 @@ void AliL3TrackArray::DeleteArray()
   delete[] fTrack;
 }
 
-Bool_t AliL3TrackArray::SetSize(Int_t newsize)
+Bool_t AliHLTTrackArray::SetSize(Int_t newsize)
 {
   //set size
   if(newsize<=fSize) return kFALSE; //shrink comes later!! 
   if(!fSize){
     fSize = newsize;
-    fTrack = new AliL3Track*[fSize];
+    fTrack = new AliHLTTrack*[fSize];
     fIsPresent = new Bool_t[fSize];
     switch(fTrackType){
       case 't':
         for(Int_t i=0;i<fSize;i++){
-          fTrack[i]   = new AliL3Track();
+          fTrack[i]   = new AliHLTTrack();
           fIsPresent[i] = kTRUE;
         }
         break;
       case 'c':  
         for(Int_t i=0;i<fSize;i++){
-          fTrack[i]   = new AliL3ConfMapTrack();
+          fTrack[i]   = new AliHLTConfMapTrack();
           fIsPresent[i] = kTRUE;
         }
         break;
       case 'h':
         for(Int_t i=0;i<fSize;i++){
-          fTrack[i]   = new AliL3HoughTrack();
+          fTrack[i]   = new AliHLTHoughTrack();
           fIsPresent[i] = kTRUE;
         }
         break;
        case 'm':
         for(Int_t i=0;i<fSize;i++){
-          fTrack[i]   = new AliL3ModelTrack();
+          fTrack[i]   = new AliHLTModelTrack();
           fIsPresent[i] = kTRUE;
         }
         break;
@@ -139,7 +139,7 @@ Bool_t AliL3TrackArray::SetSize(Int_t newsize)
     }
     return kTRUE;
   }
-  AliL3Track **tmp = new AliL3Track*[fSize];
+  AliHLTTrack **tmp = new AliHLTTrack*[fSize];
   Bool_t *pre = new Bool_t[fSize];
   for(Int_t i=0; i<fSize;i++){
     tmp[i] = fTrack[i];
@@ -147,7 +147,7 @@ Bool_t AliL3TrackArray::SetSize(Int_t newsize)
   }
   delete[]  fTrack;
   delete[] fIsPresent;
-  fTrack =  new AliL3Track*[newsize];
+  fTrack =  new AliHLTTrack*[newsize];
   fIsPresent = new Bool_t[newsize];
   for(Int_t i=0; i<fSize;i++){
     fTrack[i]   = tmp[i];
@@ -158,25 +158,25 @@ Bool_t AliL3TrackArray::SetSize(Int_t newsize)
   switch(fTrackType){
     case 't':
       for(Int_t i=fSize;i<newsize;i++){
-        fTrack[i]   = new AliL3Track();
+        fTrack[i]   = new AliHLTTrack();
         fIsPresent[i] = kTRUE;
       }
       break;
     case 'c':  
       for(Int_t i=fSize;i<newsize;i++){
-        fTrack[i]   = new AliL3ConfMapTrack();
+        fTrack[i]   = new AliHLTConfMapTrack();
         fIsPresent[i] = kTRUE;
       }
       break;
     case 'h':
       for(Int_t i=fSize;i<newsize;i++){
-        fTrack[i]   = new AliL3HoughTrack();
+        fTrack[i]   = new AliHLTHoughTrack();
         fIsPresent[i] = kTRUE;
       }
       break;
     case 'm':
       for(Int_t i=fSize;i<newsize;i++){
-        fTrack[i]   = new AliL3ModelTrack();
+        fTrack[i]   = new AliHLTModelTrack();
         fIsPresent[i] = kTRUE;
       }
       break;
@@ -187,7 +187,7 @@ Bool_t AliL3TrackArray::SetSize(Int_t newsize)
   return kTRUE;
 }
 
-void AliL3TrackArray::Reset()
+void AliHLTTrackArray::Reset()
 {
   //reset
   fNTracks=0;
@@ -196,7 +196,7 @@ void AliL3TrackArray::Reset()
     fIsPresent[i] = kTRUE; 
 }
 
-void AliL3TrackArray::Remove(Int_t track)
+void AliHLTTrackArray::Remove(Int_t track)
 {
   //remove track
   if(fIsPresent[track]){
@@ -205,11 +205,11 @@ void AliL3TrackArray::Remove(Int_t track)
   }
 }
 
-void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr){
+void AliHLTTrackArray::FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr){
   //Read tracks from shared memory (or memory)
-  AliL3TrackSegmentData *trs = tr;
+  AliHLTTrackSegmentData *trs = tr;
    for(Int_t i=0; i<ntracks; i++){
-    AliL3Track *track = NextTrack(); 
+    AliHLTTrack *track = NextTrack(); 
     track->SetPt(trs->fPt);
     track->SetPsi(trs->fPsi);
     track->SetTgl(trs->fTgl);
@@ -223,8 +223,8 @@ void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr){
     track->SetHits( trs->fNPoints, trs->fPointIDs );
 #ifdef ROWHOUGHPARAMS
     if(GetTrackType()=='h') {
-      ((AliL3HoughTrack *)track)->SetWeight(trs->fWeight);
-      ((AliL3HoughTrack *)track)->SetBinXY(trs->fBinX,trs->fBinY,trs->fBinXSize,trs->fBinYSize);
+      ((AliHLTHoughTrack *)track)->SetWeight(trs->fWeight);
+      ((AliHLTHoughTrack *)track)->SetBinXY(trs->fBinX,trs->fBinY,trs->fBinXSize,trs->fBinYSize);
     }
     track->SetMCid(trs->fTrackID);
     track->SetRowRange(trs->fRowRange1,trs->fRowRange2);
@@ -232,22 +232,22 @@ void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr){
     track->SetPID(trs->fPID);
 #endif
     UChar_t *tmpP = (UChar_t*)trs;
-    tmpP += sizeof(AliL3TrackSegmentData)+trs->fNPoints*sizeof(UInt_t);
-    trs = (AliL3TrackSegmentData*)tmpP;
+    tmpP += sizeof(AliHLTTrackSegmentData)+trs->fNPoints*sizeof(UInt_t);
+    trs = (AliHLTTrackSegmentData*)tmpP;
   }
 }
 
-void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice)
+void AliHLTTrackArray::FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr,Int_t slice)
 {
   //Read tracks from shared memory (or memory)
-  AliL3TrackSegmentData *trs = tr;
+  AliHLTTrackSegmentData *trs = tr;
   for(Int_t i=0; i<ntracks; i++){
-    AliL3Track *track = NextTrack(); 
+    AliHLTTrack *track = NextTrack(); 
     track->SetPt(trs->fPt);
     track->SetPterr(trs->fPterr);
     Float_t psi[1];
     psi[0]=trs->fPsi;
-    AliL3Transform::Local2GlobalAngle(psi,slice);
+    AliHLTTransform::Local2GlobalAngle(psi,slice);
     track->SetPsi(psi[0]);
     track->SetTgl(trs->fTgl);
     track->SetPsierr(trs->fPsierr);
@@ -256,17 +256,17 @@ void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t
     track->SetCharge(trs->fCharge);
     Float_t first[3];
     first[0]=trs->fX;first[1]=trs->fY;first[2]=trs->fZ;
-    AliL3Transform::Local2Global(first,slice);
+    AliHLTTransform::Local2Global(first,slice);
     track->SetFirstPoint(first[0],first[1],first[2]);
     Float_t last[3];
     last[0]=trs->fLastX;last[1]=trs->fLastY;last[2]=trs->fLastZ;
-    AliL3Transform::Local2Global(last,slice);
+    AliHLTTransform::Local2Global(last,slice);
     track->SetLastPoint(last[0],last[1],last[2]);
     track->SetHits( trs->fNPoints, trs->fPointIDs );
 #ifdef ROWHOUGHPARAMS
     if(GetTrackType()=='h') {
-      ((AliL3HoughTrack *)track)->SetWeight(trs->fWeight);
-      ((AliL3HoughTrack *)track)->SetBinXY(trs->fBinX,trs->fBinY,trs->fBinXSize,trs->fBinYSize);
+      ((AliHLTHoughTrack *)track)->SetWeight(trs->fWeight);
+      ((AliHLTHoughTrack *)track)->SetBinXY(trs->fBinX,trs->fBinY,trs->fBinXSize,trs->fBinYSize);
     }
     track->SetMCid(trs->fTrackID);
     track->SetRowRange(trs->fRowRange1,trs->fRowRange2);
@@ -274,41 +274,41 @@ void AliL3TrackArray::FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t
     track->SetPID(trs->fPID);
 #endif
     UChar_t *tmpP = (UChar_t*)trs;
-    tmpP += sizeof(AliL3TrackSegmentData)+trs->fNPoints*sizeof(UInt_t);
-    trs = (AliL3TrackSegmentData*)tmpP;
+    tmpP += sizeof(AliHLTTrackSegmentData)+trs->fNPoints*sizeof(UInt_t);
+    trs = (AliHLTTrackSegmentData*)tmpP;
   }
 }
 
-UInt_t AliL3TrackArray::GetOutSize()
+UInt_t AliHLTTrackArray::GetOutSize()
 {
   //get size for IO
   UInt_t count = GetOutCount();   //use only present tracks
   UInt_t tHits = 0;
   for(Int_t i=0;i<fNTracks;i++){  //loop over all tracks
-    AliL3Track *track = GetCheckedTrack(i);  //use only present tracks
+    AliHLTTrack *track = GetCheckedTrack(i);  //use only present tracks
     if(track)                                       //use only present tracks
       tHits += track->GetNHits();
   }
 
   //calculate size of track
-  return count*sizeof(AliL3TrackSegmentData)+sizeof(UInt_t)*tHits;
+  return count*sizeof(AliHLTTrackSegmentData)+sizeof(UInt_t)*tHits;
 }
 
-UInt_t AliL3TrackArray::WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr)
+UInt_t AliHLTTrackArray::WriteTracks(UInt_t & ntracks,AliHLTTrackSegmentData* tr)
 {
   //write tracks
   ntracks = GetOutCount();
   return WriteTracks(tr);
 }
 
-UInt_t AliL3TrackArray::WriteTracks(AliL3TrackSegmentData* tr)
+UInt_t AliHLTTrackArray::WriteTracks(AliHLTTrackSegmentData* tr)
 {
   //if(GetTrackType()=='c') return WriteConfMapTracks(tr);
-  AliL3TrackSegmentData *tP = tr;
+  AliHLTTrackSegmentData *tP = tr;
   UInt_t *pP;
   UInt_t size = 0;
   for(Int_t i=0; i<fNTracks; i++){  //loop over all tracks
-    AliL3Track *track = GetCheckedTrack(i); //use only present tracks
+    AliHLTTrack *track = GetCheckedTrack(i); //use only present tracks
     if(!track) continue;                           //use only present tracks
     tP->fX = track->GetFirstPointX();
     tP->fY = track->GetFirstPointY();
@@ -326,11 +326,11 @@ UInt_t AliL3TrackArray::WriteTracks(AliL3TrackSegmentData* tr)
     tP->fNPoints = track->GetNHits();
 #ifdef ROWHOUGHPARAMS
     if(GetTrackType()=='h') {
-      tP->fWeight = ((AliL3HoughTrack *)track)->GetWeight();
-      tP->fBinX = ((AliL3HoughTrack *)track)->GetBinX();
-      tP->fBinY = ((AliL3HoughTrack *)track)->GetBinY();
-      tP->fBinXSize = ((AliL3HoughTrack *)track)->GetSizeX();
-      tP->fBinYSize = ((AliL3HoughTrack *)track)->GetSizeY();
+      tP->fWeight = ((AliHLTHoughTrack *)track)->GetWeight();
+      tP->fBinX = ((AliHLTHoughTrack *)track)->GetBinX();
+      tP->fBinY = ((AliHLTHoughTrack *)track)->GetBinY();
+      tP->fBinXSize = ((AliHLTHoughTrack *)track)->GetSizeX();
+      tP->fBinYSize = ((AliHLTHoughTrack *)track)->GetSizeY();
     }
     tP->fTrackID = track->GetMCid();
     tP->fRowRange1 = track->GetFirstRow();
@@ -343,24 +343,24 @@ UInt_t AliL3TrackArray::WriteTracks(AliL3TrackSegmentData* tr)
       tP->fPointIDs[j] = pP[j];
     }
     Byte_t *tmpP = (Byte_t *)tP;
-    tmpP += sizeof(AliL3TrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
-    size += sizeof(AliL3TrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
-    tP = (AliL3TrackSegmentData*)tmpP;
+    tmpP += sizeof(AliHLTTrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
+    size += sizeof(AliHLTTrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
+    tP = (AliHLTTrackSegmentData*)tmpP;
   }
   return size;
 }
 
-UInt_t AliL3TrackArray::WriteConfMapTracks(AliL3TrackSegmentData* tr)
+UInt_t AliHLTTrackArray::WriteConfMapTracks(AliHLTTrackSegmentData* tr)
 {
   // use first and last point objects
-  AliL3TrackSegmentData *tP = tr;
+  AliHLTTrackSegmentData *tP = tr;
   UInt_t *pP;
   UInt_t size = 0;
   for(Int_t i=0; i<fNTracks; i++){  //loop over all tracks
-    AliL3ConfMapTrack *track =(AliL3ConfMapTrack *) GetCheckedTrack(i); //use only present tracks
+    AliHLTConfMapTrack *track =(AliHLTConfMapTrack *) GetCheckedTrack(i); //use only present tracks
     if(!track) continue;                           //use only present tracks
-    AliL3ConfMapPoint *hit = (AliL3ConfMapPoint*)track->GetLastHit();
-    AliL3ConfMapPoint *lastHit = (AliL3ConfMapPoint*)track->GetFirstHit();
+    AliHLTConfMapPoint *hit = (AliHLTConfMapPoint*)track->GetLastHit();
+    AliHLTConfMapPoint *lastHit = (AliHLTConfMapPoint*)track->GetFirstHit();
     tP->fX = hit->GetX();
     tP->fY = hit->GetY();
     tP->fZ = hit->GetZ();
@@ -394,45 +394,45 @@ UInt_t AliL3TrackArray::WriteConfMapTracks(AliL3TrackSegmentData* tr)
       tP->fPointIDs[j] = pP[j];
     }
     Byte_t *tmpP = (Byte_t *)tP;
-    tmpP += sizeof(AliL3TrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
-    size +=sizeof(AliL3TrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
-    tP = (AliL3TrackSegmentData*)tmpP;
+    tmpP += sizeof(AliHLTTrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
+    size +=sizeof(AliHLTTrackSegmentData)+tP->fNPoints*sizeof(UInt_t);
+    tP = (AliHLTTrackSegmentData*)tmpP;
   }
   return size;
 }
 
-void AliL3TrackArray::AddLast(AliL3Track *track)
+void AliHLTTrackArray::AddLast(AliHLTTrack *track)
 {
   //add track to last position
-  AliL3Track *tpt = NextTrack();
+  AliHLTTrack *tpt = NextTrack();
   tpt->Set(track);
   
 }
 
-void AliL3TrackArray::AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old,Int_t slice)
+void AliHLTTrackArray::AddTracks(AliHLTTrackArray *newtrack,Bool_t remove_old,Int_t slice)
 {
   //add tracks
   if(GetTrackType() != newtrack->GetTrackType() && GetTrackType()!='t')
     {
-      LOG(AliL3Log::kError,"AliL3TrackArray::AddTracks","Track types")
+      LOG(AliHLTLog::kError,"AliHLTTrackArray::AddTracks","Track types")
        <<"Bad idea to add tracks of different types"<<ENDLOG;
       return;
     }
   if(fSize < fNTracks+newtrack->GetNPresent())
     SetSize(fSize+newtrack->GetSize());
   for(Int_t i =0;i<newtrack->GetNTracks();i++){
-    AliL3Track *tpt = newtrack->GetCheckedTrack(i);
+    AliHLTTrack *tpt = newtrack->GetCheckedTrack(i);
     if(!tpt) continue;
     if(remove_old)
       newtrack->Remove(i);
-    AliL3Track *track = NextTrack();
+    AliHLTTrack *track = NextTrack();
     track->Set(tpt);
     if(slice>=0)
       track->Rotate(slice); //Rotate track to global coordinates
     /*
-      AliL3Track *track;
+      AliHLTTrack *track;
       if(GetTrackType()=='h')
-      track = (AliL3HoughTrack*)NextTrack();
+      track = (AliHLTHoughTrack*)NextTrack();
       else
       track = NextTrack();
       track->Set(tpt);
@@ -440,11 +440,11 @@ void AliL3TrackArray::AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old,Int_
   }
 }
 
-void AliL3TrackArray::Compress()
+void AliHLTTrackArray::Compress()
 {
   //compress array
   if(GetNPresent()==GetNTracks()) return;
-  AliL3Track **tmp =  new AliL3Track *[fNTracks];
+  AliHLTTrack **tmp =  new AliHLTTrack *[fNTracks];
   Int_t present=0;
   Int_t absent=GetNPresent();
   for(Int_t i=0;i<GetNTracks();i++){
@@ -465,20 +465,20 @@ void AliL3TrackArray::Compress()
   fNAbsent = 0;
 }
 
-void AliL3TrackArray::QSort()
+void AliHLTTrackArray::QSort()
 {
   // compress and sort
   Compress();
   QSort(fTrack,0,fNTracks);
 }
 
-void AliL3TrackArray::QSort( AliL3Track **a, Int_t first, Int_t last)
+void AliHLTTrackArray::QSort( AliHLTTrack **a, Int_t first, Int_t last)
 {
-   // Sort array of AliL3Track pointers using a quicksort algorithm.
+   // Sort array of AliHLTTrack pointers using a quicksort algorithm.
    // Uses TrackCompare() to compare objects.
    // Thanks to Root! 
 
-   static AliL3Track *tmp;
+   static AliHLTTrack *tmp;
    static int i;           // "static" to save stack space
    int j;
 
@@ -514,7 +514,7 @@ void AliL3TrackArray::QSort( AliL3Track **a, Int_t first, Int_t last)
    }
 }
 
-Int_t AliL3TrackArray::TrackCompare(AliL3Track *a, AliL3Track *b) const
+Int_t AliHLTTrackArray::TrackCompare(AliHLTTrack *a, AliHLTTrack *b) const
 {
    // Compare the two tracks.
   
@@ -523,8 +523,8 @@ Int_t AliL3TrackArray::TrackCompare(AliL3Track *a, AliL3Track *b) const
   /*
     if(fTrackType=='h')
     {
-    AliL3HoughTrack *tra = (AliL3HoughTrack*)a;
-    AliL3HoughTrack *trb = (AliL3HoughTrack*)b;
+    AliHLTHoughTrack *tra = (AliHLTHoughTrack*)a;
+    AliHLTHoughTrack *trb = (AliHLTHoughTrack*)b;
     if(tra->GetWeight() < trb->GetWeight()) return 1;
     if(tra->GetWeight() > trb->GetWeight()) return -1;
     }
diff --git a/HLT/src/AliHLTTrackArray.h b/HLT/src/AliHLTTrackArray.h
new file mode 100644 (file)
index 0000000..12ab25c
--- /dev/null
@@ -0,0 +1,65 @@
+// @(#) $Id$
+
+#ifndef ALIL3TRACKARRAY_H
+#define ALIL3TRACKARRAY_H
+
+#include "AliHLTRootTypes.h"
+
+class AliHLTConfMapTrack;
+class AliHLTTrack;
+class AliHLTTrackSegmentData;
+
+class AliHLTTrackArray {
+
+ private:
+
+  Char_t fTrackType; //track type
+  Int_t fSize; //size of arra
+  Bool_t *fIsPresent;//!
+  Int_t fNAbsent; //ntracks absent
+
+  AliHLTTrack **fTrack;//!
+  Int_t fNTracks; //ntracks in
+
+  UInt_t WriteConfMapTracks(AliHLTTrackSegmentData* tr); 
+  void DeleteArray();
+
+ public:
+  AliHLTTrackArray();
+  AliHLTTrackArray(Int_t ntrack);
+  AliHLTTrackArray(char* tracktype,Int_t ntrack);
+  AliHLTTrackArray(char* tracktype);
+  virtual ~AliHLTTrackArray();
+  Int_t GetTrackType(){return fTrackType;}
+  Int_t GetSize() const {return fSize;}
+  Bool_t SetSize(Int_t newsize=2000);
+
+  Int_t GetNPresent() const {return (fNTracks- fNAbsent);}
+  Int_t GetNTracks() const {return fNTracks;}
+  AliHLTTrack *NextTrack();
+  AliHLTTrack *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
+  AliHLTTrack *GetTrack(Int_t t){return fTrack[t];}
+
+  void Remove(Int_t track); 
+  void RemoveLast() {fNTracks--;}
+  void Compress();
+  void Reset();
+  void QSort();
+  void QSort( AliHLTTrack **a, Int_t first, Int_t last);
+  Int_t TrackCompare(AliHLTTrack *a, AliHLTTrack *b) const;
+
+  void FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr,Int_t slice); //Fill tracks and transform
+  void FillTracks(Int_t ntracks, AliHLTTrackSegmentData* tr); //Fill tracks
+  UInt_t WriteTracks(AliHLTTrackSegmentData* tr); //Write tracks
+  UInt_t WriteTracks(UInt_t & ntracks,AliHLTTrackSegmentData* tr); //Write tracks
+  UInt_t GetOutSize();
+  UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
+  void AddTracks(AliHLTTrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this 
+  void AddLast(AliHLTTrack *track);
+
+  ClassDef(AliHLTTrackArray,1) //Track array class
+};
+
+typedef AliHLTTrackArray AliL3TrackArray; // for backward compatibility
+
+#endif
similarity index 67%
rename from HLT/src/AliL3TrackMerger.cxx
rename to HLT/src/AliHLTTrackMerger.cxx
index 0bd883e00c33b6ebff3dfb8e064040229f3c88b1..d3f7d7514a38b359ea43253824d5ca0b44c64587 100644 (file)
@@ -3,32 +3,32 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-/** \class AliL3TrackMerger
+/** \class AliHLTTrackMerger
 <pre>
 //_____________________________________________________________
-// AliL3TrackMerger
+// AliHLTTrackMerger
 //
 // The L3 track segment merger
 //
 </pre
 */
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3TrackMerger.h"
-#include "AliL3Track.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3Transform.h"
-#include "AliL3TrackArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrackMerger.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTTransform.h"
+#include "AliHLTTrackArray.h"
 
 #if __GNUC__ >= 3
 using namespace std;
 #endif
 
-ClassImp(AliL3TrackMerger)
+ClassImp(AliHLTTrackMerger)
 
-AliL3TrackMerger::AliL3TrackMerger(){
+AliHLTTrackMerger::AliHLTTrackMerger(){
   //Default constructor
   Is2Global(kFALSE);
   fSlow = kFALSE;
@@ -38,7 +38,7 @@ AliL3TrackMerger::AliL3TrackMerger(){
 }
 
 
-AliL3TrackMerger::AliL3TrackMerger(Int_t nsubsectors) : AliL3Merger()
+AliHLTTrackMerger::AliHLTTrackMerger(Int_t nsubsectors) : AliHLTMerger()
 {
   //Constructor.
   InitMerger(nsubsectors);
@@ -51,11 +51,11 @@ AliL3TrackMerger::AliL3TrackMerger(Int_t nsubsectors) : AliL3Merger()
   
 }
 
-AliL3TrackMerger::~AliL3TrackMerger(){
+AliHLTTrackMerger::~AliHLTTrackMerger(){
   //Destructor
 }
 
-void AliL3TrackMerger::SetRows(Int_t *row){
+void AliHLTTrackMerger::SetRows(Int_t *row){
   //Set the indeces of the first and last
   //TPC padrows
   //
@@ -65,7 +65,7 @@ void AliL3TrackMerger::SetRows(Int_t *row){
   }
 }
 
-void AliL3TrackMerger::InitSector(Int_t slice,Int_t subsector){
+void AliHLTTrackMerger::InitSector(Int_t slice,Int_t subsector){
   // 
   // Select Sector and subsector. The following FillTracks call will 
   // fill this subsector
@@ -75,25 +75,25 @@ void AliL3TrackMerger::InitSector(Int_t slice,Int_t subsector){
   fCurrentTracks = fSubSector;
 }
 
-void AliL3TrackMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout,Double_t xval){
+void AliHLTTrackMerger::SlowMerge(AliHLTTrackArray *mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout,Double_t xval){
   // 
-  // Slow merging of two AliL3TrackArrays
+  // Slow merging of two AliHLTTrackArrays
   // at reference plane x=xval
   //
   void *ntuple=GetNtuple();
   const Int_t  kNOut=tracksout->GetNTracks();
   const Int_t  kNIn =tracksin->GetNTracks();
   const Int_t  kNMerged =mergedtrack->GetNTracks();
-  AliL3Track *tracks[2];
+  AliHLTTrack *tracks[2];
   Bool_t merge = kTRUE;
   while(merge){
     Int_t inmin=-1,outmin=-1;
     Double_t min=10;
     for(Int_t out=0;out<kNOut;out++){
-    AliL3Track *outertrack=tracksout->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=tracksout->GetCheckedTrack(out);
     if(!outertrack) continue;
       for(Int_t in=0;in<kNIn;in++){
-        AliL3Track *innertrack=tracksin->GetCheckedTrack(in);
+        AliHLTTrack *innertrack=tracksin->GetCheckedTrack(in);
         if(!innertrack) continue;
         Double_t diff = TrackDiff(innertrack,outertrack);
         if(diff>=0&&diff<min){
@@ -104,8 +104,8 @@ void AliL3TrackMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
       } 
     }
     if(inmin>=0&&outmin>=0){
-      AliL3Track *outertrack=tracksout->GetTrack(outmin);
-      AliL3Track *innertrack=tracksin->GetTrack(inmin);
+      AliHLTTrack *outertrack=tracksout->GetTrack(outmin);
+      AliHLTTrack *innertrack=tracksin->GetTrack(inmin);
       tracks[0]=innertrack;
       tracks[1]=outertrack;
       SortTracks(tracks,2);
@@ -121,8 +121,8 @@ void AliL3TrackMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
     }
     else merge = kFALSE;
   }
-  LOG(AliL3Log::kInformational,"AliL3TrackMerger::SlowMerge","Result")
-  <<AliL3Log::kDec<<"Merged Tracks: "
+  LOG(AliHLTLog::kInformational,"AliHLTTrackMerger::SlowMerge","Result")
+  <<AliHLTLog::kDec<<"Merged Tracks: "
   <<mergedtrack->GetNTracks()-kNMerged<<ENDLOG;
   char name[256] = "ntuple_t.root";
   for(Int_t i=0;i<4;i++)
@@ -131,35 +131,35 @@ void AliL3TrackMerger::SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *t
   WriteNtuple(name,ntuple);
 }
 
-void AliL3TrackMerger::SlowMerge(){
+void AliHLTTrackMerger::SlowMerge(){
   fSlow = kTRUE;
   Merge();
 }
 
-void AliL3TrackMerger::InterMerge(){
+void AliHLTTrackMerger::InterMerge(){
   // 
   // Merging of the tracks
   // between readout patches
   //
   for(Int_t patch=0;patch< GetNIn();patch++){
-    AliL3TrackArray * tracks = GetInTracks(patch);
-    Double_t xval = AliL3Transform::Row2X((fRowMax[patch]+fRowMin[patch])/2);
+    AliHLTTrackArray * tracks = GetInTracks(patch);
+    Double_t xval = AliHLTTransform::Row2X((fRowMax[patch]+fRowMin[patch])/2);
     Int_t nrow= fRowMax[patch]-fRowMin[patch]+1;
     const Int_t  kNIn =tracks->GetNTracks();
-    AliL3Track *tr[2];
+    AliHLTTrack *tr[2];
     for(Int_t in=0;in<kNIn;in++){
-      AliL3Track *t = tracks->GetCheckedTrack(in);
+      AliHLTTrack *t = tracks->GetCheckedTrack(in);
       if(t){
         t->CalculateHelix();
         t->CalculatePoint(xval);
       }
     }
     for(Int_t out=0;out<kNIn;out++){
-    AliL3Track *outertrack=tracks->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=tracks->GetCheckedTrack(out);
     if(!outertrack) continue;
       for(Int_t in=0;in<kNIn;in++){
         if(in==out) continue;
-        AliL3Track *innertrack=tracks->GetCheckedTrack(in);
+        AliHLTTrack *innertrack=tracks->GetCheckedTrack(in);
         if(!innertrack) continue;
         if(outertrack->GetNHits()+innertrack->GetNHits()>nrow) continue;
 
@@ -177,33 +177,33 @@ void AliL3TrackMerger::InterMerge(){
       }
     }
     Int_t nmerged = tracks->GetNTracks()-kNIn;
-    LOG(AliL3Log::kInformational,"AliL3TrackMerger::InterMerge","Result")
-    <<AliL3Log::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
+    LOG(AliHLTLog::kInformational,"AliHLTTrackMerger::InterMerge","Result")
+    <<AliHLTLog::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
   }
 }
 
-void AliL3TrackMerger::Merge(){
+void AliHLTTrackMerger::Merge(){
   //Loop over tracks and pass them to the track merger.
-  Double_t edge0 = AliL3Transform::Pi()/18;
-  Double_t edge1 = AliL3Transform::TwoPi() - edge0;
-  AliL3TrackArray *ttt = GetOutTracks();
+  Double_t edge0 = AliHLTTransform::Pi()/18;
+  Double_t edge1 = AliHLTTransform::TwoPi() - edge0;
+  AliHLTTrackArray *ttt = GetOutTracks();
   if(fNSubSector==1) {
     GetOutTracks()->AddTracks(GetInTracks(0)); 
-    LOG(AliL3Log::kInformational,"AliL3TrackMerger::Merge","Result")
-    <<AliL3Log::kDec<<"Total Copied Tracks: "<<GetOutTracks()->GetNPresent()
+    LOG(AliHLTLog::kInformational,"AliHLTTrackMerger::Merge","Result")
+    <<AliHLTLog::kDec<<"Total Copied Tracks: "<<GetOutTracks()->GetNPresent()
     <<ENDLOG;
     return;
   }
   Int_t subsec = fNSubSector -2; 
   for(Int_t i=subsec;i>=0;i--){
-    AliL3TrackArray *tout = GetOutTracks();
+    AliHLTTrackArray *tout = GetOutTracks();
     if(i==subsec) tout = GetInTracks(subsec+1);
-    AliL3TrackArray *tin = GetInTracks(i);
-    Double_t xval = AliL3Transform::Row2X(fRowMax[i]);
-    Double_t xmax = AliL3Transform::Row2X(fRowMax[i+1]);
+    AliHLTTrackArray *tin = GetInTracks(i);
+    Double_t xval = AliHLTTransform::Row2X(fRowMax[i]);
+    Double_t xmax = AliHLTTransform::Row2X(fRowMax[i+1]);
     Double_t ymax = xval*tan(edge0);
     for(Int_t out=0;out<tout->GetNTracks();out++){
-      AliL3Track *outtrack=tout->GetCheckedTrack(out);
+      AliHLTTrack *outtrack=tout->GetCheckedTrack(out);
       if(!outtrack) continue;
       outtrack->CalculateHelix();
       outtrack->CalculatePoint(xval);
@@ -214,7 +214,7 @@ void AliL3TrackMerger::Merge(){
     }
 //    tout->Compress();
     for(Int_t in=0;in<tin->GetNTracks();in++){
-      AliL3Track *intrack=(AliL3Track*)tin->GetTrack(in);
+      AliHLTTrack *intrack=(AliHLTTrack*)tin->GetTrack(in);
       intrack->CalculateHelix();
       intrack->CalculatePoint(xval);
     }
@@ -224,7 +224,7 @@ void AliL3TrackMerger::Merge(){
     if(fSlow) SlowMerge(ttt,tin,tout,xval);
     else Merge(ttt,tin,tout);
     for(Int_t in=0;in<tin->GetNTracks();in++){
-      AliL3Track *intrack=(AliL3Track*)tin->GetCheckedTrack(in);
+      AliHLTTrack *intrack=(AliHLTTrack*)tin->GetCheckedTrack(in);
       if(!intrack) continue;
       if(intrack->CalculateEdgePoint(edge0)){
         if(intrack->GetPointX()<xmax ){
@@ -241,7 +241,7 @@ void AliL3TrackMerger::Merge(){
     }
 /*
     for(Int_t in=0;in<tin->GetNTracks();in++){
-      AliL3Track *intrack=(AliL3Track*)tin->GetCheckedTrack(in);
+      AliHLTTrack *intrack=(AliHLTTrack*)tin->GetCheckedTrack(in);
       if(!intrack) continue;
       if(intrack->GetNHits()<10) continue;
       AddTrack(ttt,intrack);
@@ -249,14 +249,14 @@ void AliL3TrackMerger::Merge(){
     }
 */
   } // end subsector loop
-  LOG(AliL3Log::kInformational,"AliL3TrackMerger::Merge","Result")
-  <<AliL3Log::kDec<<"Total Merged Tracks: "<<GetOutTracks()->GetNPresent()
+  LOG(AliHLTLog::kInformational,"AliHLTTrackMerger::Merge","Result")
+  <<AliHLTLog::kDec<<"Total Merged Tracks: "<<GetOutTracks()->GetNPresent()
   <<ENDLOG;
 }
 
-Int_t AliL3TrackMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout){
+Int_t AliHLTTrackMerger::Merge(AliHLTTrackArray* mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout){
   //Loop over tracks and pass them to the track merger.
-  AliL3Track *tracks[2];
+  AliHLTTrack *tracks[2];
 
   const Int_t  kNOut=tracksout->GetNTracks();
   const Int_t  kNIn =tracksin->GetNTracks();
@@ -269,11 +269,11 @@ Int_t AliL3TrackMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *trac
   for(Int_t out =0;out<kNOut;out++)
     ismatchedout[out] = kFALSE;
   for(Int_t out =0;out<kNOut;out++){
-    AliL3Track *outertrack=(AliL3Track*)tracksout->GetCheckedTrack(out);
+    AliHLTTrack *outertrack=(AliHLTTrack*)tracksout->GetCheckedTrack(out);
     if(!outertrack) continue;
     for(Int_t in =0;in<kNIn;in++){
       if(ismatchedin[in]) continue;
-      AliL3Track *innertrack=(AliL3Track*)tracksin->GetCheckedTrack(in);
+      AliHLTTrack *innertrack=(AliHLTTrack*)tracksin->GetCheckedTrack(in);
       if(!innertrack) continue;
       if(outertrack==innertrack) continue;
       if(outertrack->GetCharge()!=innertrack->GetCharge()) continue;
@@ -293,8 +293,8 @@ Int_t AliL3TrackMerger::Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *trac
   }
 
   Int_t nmerged = mergedtrack->GetNTracks()-kNMerged;
-  LOG(AliL3Log::kInformational,"AliL3TrackMerger::Merge","Result")
-  <<AliL3Log::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTTrackMerger::Merge","Result")
+  <<AliHLTLog::kDec<<"Merged Tracks: "<<nmerged<<ENDLOG;
   delete[] ismatchedin;
   delete[] ismatchedout;
   return nmerged;
similarity index 56%
rename from HLT/src/AliL3TrackMerger.h
rename to HLT/src/AliHLTTrackMerger.h
index be66669ff8599d9c18e77b245336329d22b4638d..5b0abc2aba628175516cb1efae427960e8c34ebd 100644 (file)
@@ -4,25 +4,25 @@
 #define ALIL3TRACKMERGER_H
 
 //-------------------------------------------------------------------------
-//                Class AliL3TrackMerger
+//                Class AliHLTTrackMerger
 //   This class is responsible for the merging of the HLT tracks
 //   between TPC sectors and readout patches
 //-------------------------------------------------------------------------
 
 #ifndef __CINT__ 
-#include "AliL3Merger.h"
+#include "AliHLTMerger.h"
 #endif
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3Merger;
+class AliHLTMerger;
 
-class AliL3TrackMerger : public AliL3Merger {
+class AliHLTTrackMerger : public AliHLTMerger {
 
  public:
-  AliL3TrackMerger();
-  AliL3TrackMerger(Int_t nsubsectors);
-  virtual ~AliL3TrackMerger();
+  AliHLTTrackMerger();
+  AliHLTTrackMerger(Int_t nsubsectors);
+  virtual ~AliHLTTrackMerger();
 
   void SetRows(Int_t *row);
   void InitSector(Int_t sector,Int_t subsector);
@@ -36,10 +36,12 @@ class AliL3TrackMerger : public AliL3Merger {
   Int_t *fRowMin;//!
   Int_t *fRowMax;//!
   Bool_t fSlow;//Slow or fast merging
-  void SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout,Double_t xval);
-  Int_t Merge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout);
+  void SlowMerge(AliHLTTrackArray *mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout,Double_t xval);
+  Int_t Merge(AliHLTTrackArray *mergedtrack,AliHLTTrackArray *tracksin,AliHLTTrackArray *tracksout);
   
-  ClassDef(AliL3TrackMerger,1) //Track merging class 
+  ClassDef(AliHLTTrackMerger,1) //Track merging class 
 };
 
+typedef AliHLTTrackMerger AliL3TrackMerger; // for backward compatibility
+
 #endif
similarity index 87%
rename from HLT/src/AliL3TrackSegmentData.h
rename to HLT/src/AliHLTTrackSegmentData.h
index 8ca6a77cd20ee487f485f0bf802f047796695ecb..4767ccd3637af61f69a7e56c4adeb36cca528f33 100644 (file)
@@ -3,9 +3,9 @@
 #ifndef _ALIL3TRACKSEGMENTDATA_H_
 #define _ALIL3TRACKSEGMENTDATA_H_
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-struct AliL3TrackSegmentData
+struct AliHLTTrackSegmentData
     {
        Float_t fX;
        Float_t fY;
@@ -41,6 +41,6 @@ struct AliL3TrackSegmentData
 #endif
     };
 
-typedef struct AliL3TrackSegmentData AliL3TrackSegmentData;
+typedef struct AliHLTTrackSegmentData AliHLTTrackSegmentData;
 
 #endif /* _ALIL3TRACKSEGMENTDATA_H_ */
similarity index 82%
rename from HLT/src/AliL3Transform.cxx
rename to HLT/src/AliHLTTransform.cxx
index acd20f736374cd9822c64c9e6b10e22313b668e9..2410085bbfb9b155027cc397cc16faeacd4b719d 100644 (file)
@@ -4,7 +4,7 @@
 //*-- Copyright &copy ALICE HLT Group
 
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 #include "dirent.h"
 
 #ifdef use_aliroot
 #include <TError.h>
 #endif
 
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
 
 #if defined(__GNUC__) && __GNUC__ >= 3
 using namespace std;
 #endif
 
-/** \class AliL3Transform 
+/** \class AliHLTTransform 
 <pre>
 //_____________________________________________________________
-// AliL3Transform
+// AliHLTTransform
 //
 // Transformation class for ALICE TPC.
 //
@@ -41,14 +41,14 @@ using namespace std;
 // The class is completely static, which means that no object needs
 // to be instantiated. Function calls should then be done like, e.g.:
 //
-// Double_t eta = AliL3Transform::GetEta(xyz);
+// Double_t eta = AliHLTTransform::GetEta(xyz);
 //
 // IMPORTANT: If used as is, default detector parameters will be used,
 //            and you really have to make sure that these correspond to
 //            the AliROOT version you are currently working on!!
 //            You should therefore always initialize the parameters by
 //
-//            AliL3Transform::Init(path);
+//            AliHLTTransform::Init(path);
 // 
 //            where path is a char*, giving the path to where file containing
 //            the detector parameter is located. This file should be called
@@ -57,7 +57,7 @@ using namespace std;
 //            You can also force reading the parameters from a AliTPCParam object
 //            by setting the flag;
 //
-//            AliL3Transform::Init(path,kTRUE);
+//            AliHLTTransform::Init(path,kTRUE);
 //
 //            where path is a char* 
 //            either providing the rootfile name containing the geometry or 
@@ -74,55 +74,55 @@ using namespace std;
 </pre>
 */
 
-ClassImp(AliL3Transform)
+ClassImp(AliHLTTransform)
 
-const Double_t AliL3Transform::fgkAnodeWireSpacing = 0.25; //Taken from the TDR
-const Double_t AliL3Transform::fgkBFACT = 0.0029980;       //Conversion Factor
-const Double_t AliL3Transform::fgkPi  =   3.141592653589793;
-const Double_t AliL3Transform::fgk2Pi = 2*3.141592653589793;
-const Double_t AliL3Transform::fgkPi2 = 0.5*3.141592653589793;
-const Double_t AliL3Transform::fgkToDeg = 180/3.141592653589793;
+const Double_t AliHLTTransform::fgkAnodeWireSpacing = 0.25; //Taken from the TDR
+const Double_t AliHLTTransform::fgkBFACT = 0.0029980;       //Conversion Factor
+const Double_t AliHLTTransform::fgkPi  =   3.141592653589793;
+const Double_t AliHLTTransform::fgk2Pi = 2*3.141592653589793;
+const Double_t AliHLTTransform::fgkPi2 = 0.5*3.141592653589793;
+const Double_t AliHLTTransform::fgkToDeg = 180/3.141592653589793;
 
 //Defined by HLT and GSI
-Int_t AliL3Transform::fgNPatches = 6;
-Int_t AliL3Transform::fgRows[6][2] = {{0,29},{30,62},{63,90},{91,116},{117,139},{140,158}}; 
-Int_t AliL3Transform::fgNRows[6] = {30,33,28,26,23,19};
+Int_t AliHLTTransform::fgNPatches = 6;
+Int_t AliHLTTransform::fgRows[6][2] = {{0,29},{30,62},{63,90},{91,116},{117,139},{140,158}}; 
+Int_t AliHLTTransform::fgNRows[6] = {30,33,28,26,23,19};
 
 // The following definition is generated by MakeInitFile function
-Double_t AliL3Transform::fgBField = 0.2;
-Double_t AliL3Transform::fgSolenoidBField = 2;
-Double_t AliL3Transform::fgBFieldFactor = 1;
-Int_t AliL3Transform::fgVersion = kVdefault;
-Int_t AliL3Transform::fgNTimeBins = 446;
-Int_t AliL3Transform::fgNRowLow = 63;
-Int_t AliL3Transform::fgNRowUp = 96;
-Int_t AliL3Transform::fgNRowUp1 = 64;
-Int_t AliL3Transform::fgNRowUp2 = 32;
-Int_t AliL3Transform::fgNSectorLow = 36;
-Int_t AliL3Transform::fgNSectorUp = 36;
-Int_t AliL3Transform::fgNSector = 72;
-Double_t AliL3Transform::fgPadPitchWidthLow = 0.4;
-Double_t AliL3Transform::fgPadPitchWidthUp = 0.6;
-Double_t AliL3Transform::fgZWidth = 0.5660;
-Double_t AliL3Transform::fgZSigma = 0.2288;
-Double_t AliL3Transform::fgZLength = 250.0000;
-Double_t AliL3Transform::fgZOffset = 0.6864;
-Double_t AliL3Transform::fgDiffT = 0.0220;
-Double_t AliL3Transform::fgDiffL = 0.0220;
-Double_t AliL3Transform::fgOmegaTau = 0.1450;
-Double_t AliL3Transform::fgInnerPadLength = 0.75;
-Double_t AliL3Transform::fgOuter1PadLength = 1.00;
-Double_t AliL3Transform::fgOuter2PadLength = 1.50;
-Double_t AliL3Transform::fgInnerPRFSigma = 0.203811;
-Double_t AliL3Transform::fgOuter1PRFSigma = 0.299325;
-Double_t AliL3Transform::fgOuter2PRFSigma = 0.299323;
-Double_t AliL3Transform::fgTimeSigma = 0.228809;
-Int_t AliL3Transform::fgADCSat = 1024;
-Int_t AliL3Transform::fgZeroSup = 0;
-Int_t AliL3Transform::fgNSlice = 36;
-Int_t AliL3Transform::fgNRow = 159;
-Double_t AliL3Transform::fgNRotShift = 0.5;
-Int_t AliL3Transform::fgSlice2Sector[36][2] = { { 0, 36}, 
+Double_t AliHLTTransform::fgBField = 0.2;
+Double_t AliHLTTransform::fgSolenoidBField = 2;
+Double_t AliHLTTransform::fgBFieldFactor = 1;
+Int_t AliHLTTransform::fgVersion = kVdefault;
+Int_t AliHLTTransform::fgNTimeBins = 446;
+Int_t AliHLTTransform::fgNRowLow = 63;
+Int_t AliHLTTransform::fgNRowUp = 96;
+Int_t AliHLTTransform::fgNRowUp1 = 64;
+Int_t AliHLTTransform::fgNRowUp2 = 32;
+Int_t AliHLTTransform::fgNSectorLow = 36;
+Int_t AliHLTTransform::fgNSectorUp = 36;
+Int_t AliHLTTransform::fgNSector = 72;
+Double_t AliHLTTransform::fgPadPitchWidthLow = 0.4;
+Double_t AliHLTTransform::fgPadPitchWidthUp = 0.6;
+Double_t AliHLTTransform::fgZWidth = 0.5660;
+Double_t AliHLTTransform::fgZSigma = 0.2288;
+Double_t AliHLTTransform::fgZLength = 250.0000;
+Double_t AliHLTTransform::fgZOffset = 0.6864;
+Double_t AliHLTTransform::fgDiffT = 0.0220;
+Double_t AliHLTTransform::fgDiffL = 0.0220;
+Double_t AliHLTTransform::fgOmegaTau = 0.1450;
+Double_t AliHLTTransform::fgInnerPadLength = 0.75;
+Double_t AliHLTTransform::fgOuter1PadLength = 1.00;
+Double_t AliHLTTransform::fgOuter2PadLength = 1.50;
+Double_t AliHLTTransform::fgInnerPRFSigma = 0.203811;
+Double_t AliHLTTransform::fgOuter1PRFSigma = 0.299325;
+Double_t AliHLTTransform::fgOuter2PRFSigma = 0.299323;
+Double_t AliHLTTransform::fgTimeSigma = 0.228809;
+Int_t AliHLTTransform::fgADCSat = 1024;
+Int_t AliHLTTransform::fgZeroSup = 0;
+Int_t AliHLTTransform::fgNSlice = 36;
+Int_t AliHLTTransform::fgNRow = 159;
+Double_t AliHLTTransform::fgNRotShift = 0.5;
+Int_t AliHLTTransform::fgSlice2Sector[36][2] = { { 0, 36}, 
                                               { 1, 37}, 
                                               { 2, 38}, 
                                               { 3, 39}, 
@@ -160,7 +160,7 @@ Int_t AliL3Transform::fgSlice2Sector[36][2] = { { 0, 36},
                                               {35, 71}
 };
 
-Int_t AliL3Transform::fgSector2Slice[72] = { 0, 
+Int_t AliHLTTransform::fgSector2Slice[72] = { 0, 
                                            1, 
                                            2, 
                                            3, 
@@ -234,7 +234,7 @@ Int_t AliL3Transform::fgSector2Slice[72] = { 0,
                                            35 
 };
 
-Int_t AliL3Transform::fgSectorLow[72] = { 1, 
+Int_t AliHLTTransform::fgSectorLow[72] = { 1, 
                                         1, 
                                         1, 
                                         1, 
@@ -308,7 +308,7 @@ Int_t AliL3Transform::fgSectorLow[72] = { 1,
                                         0 
 };
 
-Double_t AliL3Transform::fgX[159] = { 85.195,
+Double_t AliHLTTransform::fgX[159] = { 85.195,
                                     85.945,
                                     86.695,
                                     87.445,
@@ -469,7 +469,7 @@ Double_t AliL3Transform::fgX[159] = { 85.195,
                                     245.930
 };
 
-Int_t AliL3Transform::fgNPads[159] = {67,
+Int_t AliHLTTransform::fgNPads[159] = {67,
                                      67,
                                      69,
                                      69,
@@ -630,7 +630,7 @@ Int_t AliL3Transform::fgNPads[159] = {67,
                                      139
 };
 
-Double_t AliL3Transform::fgCos[36] = { 0.9848077297,
+Double_t AliHLTTransform::fgCos[36] = { 0.9848077297,
                                      0.8660253882,
                                      0.6427876353,
                                      0.3420201540,
@@ -668,7 +668,7 @@ Double_t AliL3Transform::fgCos[36] = { 0.9848077297,
                                      0.9848077297
 };
 
-Double_t AliL3Transform::fgSin[36] = { 0.1736481786,
+Double_t AliHLTTransform::fgSin[36] = { 0.1736481786,
                                      0.5000000000,
                                      0.7660444379,
                                      0.9396926165,
@@ -707,18 +707,18 @@ Double_t AliL3Transform::fgSin[36] = { 0.1736481786,
 };
 
 #ifdef use_aliroot
-Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
+Bool_t AliHLTTransform::Init(AliRunLoader *runLoader)
 { 
   //init with runloader
   if(!runLoader) {
-    LOG(AliL3Log::kFatal,"AliL3Transform::Init","RunLoader")
+    LOG(AliHLTLog::kFatal,"AliHLTTransform::Init","RunLoader")
       <<" Missing RunLoader! 0x0"<<ENDLOG;
     return kFALSE;
   }
  
   if(fgVersion != kVdefault)
-    LOG(AliL3Log::kWarning,"AliL3Transform::Init","Init values")
-      <<AliL3Log::kDec<<"You are initializing the parameters more than once; check your code please! "<<fgVersion<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTTransform::Init","Init values")
+      <<AliHLTLog::kDec<<"You are initializing the parameters more than once; check your code please! "<<fgVersion<<ENDLOG;
 
   TDirectory* savedir1 = gDirectory;
   runLoader->CdGAFile();
@@ -726,7 +726,7 @@ Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
   savedir1->cd();
   if(!param)
     {
-      LOG(AliL3Log::kFatal,"AliL3Transform::Init","File")
+      LOG(AliHLTLog::kFatal,"AliHLTTransform::Init","File")
        <<"No TPC parameters found!"<<ENDLOG;
       return kFALSE;
     }
@@ -743,7 +743,7 @@ Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
   TFile *prf_file = TFile::Open("$ALICE_ROOT/TPC/AliTPCprf2d.root");
   if (!prf_file->IsOpen()) 
     { 
-      LOG(AliL3Log::kError,"AliL3Transform::Init","File")
+      LOG(AliHLTLog::kError,"AliHLTTransform::Init","File")
        <<"Can't open $ALICE_ROOT/TPC/AliTPCprf2d.root !"<<ENDLOG;
       return kFALSE;
     }
@@ -765,7 +765,7 @@ Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
   fgNRowUp2 = param->GetNRowUp2();
   fgNRow= fgNRowLow + fgNRowUp;
   if(fgNRow!=159){
-    LOG(AliL3Log::kError,"AliL3Transform::Init","fNRow")
+    LOG(AliHLTLog::kError,"AliHLTTransform::Init","fNRow")
       <<"Number of rows have changed in ALIROOT"<<ENDLOG;
     return kFALSE;
   }
@@ -782,7 +782,7 @@ Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
   Int_t shift1=TMath::Nint(irotshift/kDegtoRad);
   Int_t shift2=TMath::Nint(orotshift/kDegtoRad+0.1);
   if((shift1!=shift2) || (shift1!=10)){
-    LOG(AliL3Log::kError,"AliL3Transform::Init","Rotshiftangle")
+    LOG(AliHLTLog::kError,"AliHLTTransform::Init","Rotshiftangle")
       <<"Rotation shift angle has changed in ALIROOT"<<ENDLOG;
     return kFALSE;
   } else {
@@ -845,7 +845,7 @@ Bool_t AliL3Transform::Init(AliRunLoader *runLoader)
 }
 #endif
 
-Bool_t AliL3Transform::Init(Char_t* path,Bool_t UseAliTPCParam)
+Bool_t AliHLTTransform::Init(Char_t* path,Bool_t UseAliTPCParam)
 {
   //Overwrite the parameters with values stored in file "l3transform.config" in path.
   //If file does not exist, old default values will be used.
@@ -853,8 +853,8 @@ Bool_t AliL3Transform::Init(Char_t* path,Bool_t UseAliTPCParam)
   //which then has to be called path/digitfile.root
   
   if(fgVersion != kVdefault)
-    LOG(AliL3Log::kWarning,"AliL3Transform::Init","Init values")
-      <<AliL3Log::kDec<<"You are initializing the parameters more than once; check your code please! "<<fgVersion<<ENDLOG;
+    LOG(AliHLTLog::kWarning,"AliHLTTransform::Init","Init values")
+      <<AliHLTLog::kDec<<"You are initializing the parameters more than once; check your code please! "<<fgVersion<<ENDLOG;
   
   if(UseAliTPCParam) //use rootfile to generate temporary init file
     return ReadInit(path);
@@ -876,12 +876,12 @@ Bool_t AliL3Transform::Init(Char_t* path,Bool_t UseAliTPCParam)
   return ReadInitFile(pathname);
 }
 
-Bool_t AliL3Transform::ReadInitFile(Char_t* pathname)
+Bool_t AliHLTTransform::ReadInitFile(Char_t* pathname)
 {
   //read transformer settings from pathname
   FILE *fptr=fopen(pathname,"r");
   if(!fptr){
-    LOG(AliL3Log::kWarning,"AliL3Transform::ReadInitFile","File Open")
+    LOG(AliHLTLog::kWarning,"AliHLTTransform::ReadInitFile","File Open")
       <<"Pointer to Config File \""<<pathname<<"\" 0x0!"<<ENDLOG;
     return kFALSE;
   }
@@ -905,7 +905,7 @@ Bool_t AliL3Transform::ReadInitFile(Char_t* pathname)
        fscanf(fptr,"%s %d %s",d2,&dummy,d3);
        fgNRowLow=(Int_t)dummy;
        if(fgNRowLow != 63)
-         LOG(AliL3Log::kError,"AliL3Transform::ReadInitFile","Overflow")
+         LOG(AliHLTLog::kError,"AliHLTTransform::ReadInitFile","Overflow")
            <<"Number of inner PadRows should be 63! Check and fgrep the code for 63 to see the consequences of this major change!"<<ENDLOG;
       }
     else if(strcmp(d1,"fNRowUp")==0){fscanf(fptr,"%s %d %s",d2,&dummy,d3);fgNRowUp=(Int_t)dummy;}
@@ -936,7 +936,7 @@ Bool_t AliL3Transform::ReadInitFile(Char_t* pathname)
     else if(strcmp(d1,"fNRow")==0){
       fscanf(fptr,"%s %d %s",d2,&dummy,d3);fgNRow=(Int_t)dummy;
       if(fgNRow!=159){
-       LOG(AliL3Log::kError,"AliL3Transform::ReadInitFile","Overflow")<<"Number of PadRows should be 159! Check and fgrep the code for 159 to see the consequences of this major change!"<<ENDLOG;
+       LOG(AliHLTLog::kError,"AliHLTTransform::ReadInitFile","Overflow")<<"Number of PadRows should be 159! Check and fgrep the code for 159 to see the consequences of this major change!"<<ENDLOG;
       }
     }
     else if(strcmp(d1,"fNRotShift")==0){fscanf(fptr,"%s %lf %s",d2,&ddummy,d3);fgNRotShift=(Double_t)ddummy;}
@@ -993,25 +993,25 @@ Bool_t AliL3Transform::ReadInitFile(Char_t* pathname)
 
   //Test if new config file has been used.
   if(fgVersion==kVdeprecated){
-    LOG(AliL3Log::kError,"AliL3Transform::ReadInitFile","Version")
+    LOG(AliHLTLog::kError,"AliHLTTransform::ReadInitFile","Version")
       <<"Version is deprecated, you have to create a new config file."<<ENDLOG;
     return kFALSE;
   }
 
-  LOG(AliL3Log::kInformational,"AliL3Transform::ReadInitFile","Config")
+  LOG(AliHLTLog::kInformational,"AliHLTTransform::ReadInitFile","Config")
     <<"Successfully loaded values from config file \""<<pathname<<"\""<<ENDLOG;
 
   return kTRUE;
 }
 
-Bool_t AliL3Transform::ReadInit(Char_t *path)
+Bool_t AliHLTTransform::ReadInit(Char_t *path)
 {
   //Read all the parameters from a aliroot file, and store it in a temporary 
   //file which is read by Init. Use this if you want to read the parameters from
   //the rootfile "every" time.
   
 #ifndef use_aliroot
-  LOG(AliL3Log::kError,"AliL3Transform::ReadInit","Version")
+  LOG(AliHLTLog::kError,"AliHLTTransform::ReadInit","Version")
     <<"You have to compile with use_aliroot flag in order to read from AliROOT file"<<ENDLOG;
   return kFALSE;
 #else
@@ -1040,34 +1040,34 @@ Bool_t AliL3Transform::ReadInit(Char_t *path)
 #endif  
 }
 
-Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
+Bool_t AliHLTTransform::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 kV_aliroot!
   
 #ifndef use_aliroot
-  LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","Version")
+  LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","Version")
     <<"You have to compile with use_aliroot flag in order to use this function"<<ENDLOG;
   return kFALSE;
 #else
   TFile *rootfile = TFile::Open(rootfilename);
   if(!rootfile)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
+      LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","File")
        <<"Could not open file: "<<rootfilename<<ENDLOG;
       return kFALSE;
     }
   AliRun *gAlice = (AliRun*)rootfile->Get("gAlice");
   if(!gAlice)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
+      LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","File")
        <<"No gAlice in file: "<<rootfilename<<ENDLOG;
       return kFALSE;
     }  
   AliTPCParamSR *param=(AliTPCParamSR*)rootfile->Get(GetParamName());
   if(!param)
     {
-      LOG(AliL3Log::kWarning,"AliL3Transform::MakeInitFile","File")
+      LOG(AliHLTLog::kWarning,"AliHLTTransform::MakeInitFile","File")
        <<"No TPC parameters found in \""<<rootfilename
         <<"\", creating standard parameters "
        <<"which might not be what you want!"<<ENDLOG;
@@ -1086,7 +1086,7 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
   TFile *prf_file = TFile::Open("$ALICE_ROOT/TPC/AliTPCprf2d.root");
   if (!prf_file->IsOpen()) 
     { 
-      LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","File")
+      LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","File")
        <<"Can't open $ALICE_ROOT/TPC/AliTPCprf2d.root !"<<ENDLOG;
       return kFALSE;
     }
@@ -1108,7 +1108,7 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
   fgNRowUp2 = param->GetNRowUp2();
   fgNRow= fgNRowLow + fgNRowUp;
   if(fgNRow!=159){
-    LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","fNRow")
+    LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","fNRow")
       <<"Number of rows have changed in ALIROOT"<<ENDLOG;
     return kFALSE;
   }
@@ -1125,7 +1125,7 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
   Int_t shift1=TMath::Nint(irotshift/kDegtoRad);
   Int_t shift2=TMath::Nint(orotshift/kDegtoRad+0.1);
   if((shift1!=shift2) || (shift1!=10)){
-    LOG(AliL3Log::kError,"AliL3Transform::MakeInitFile","Rotshiftangle")
+    LOG(AliHLTLog::kError,"AliHLTTransform::MakeInitFile","Rotshiftangle")
       <<"Rotation shift angle has changed in ALIROOT"<<ENDLOG;
     return kFALSE;
   } else {
@@ -1184,18 +1184,18 @@ Bool_t AliL3Transform::MakeInitFile(Char_t *rootfilename,Char_t *filename)
 #endif
 }
 
-Bool_t AliL3Transform::SaveInitFile(Char_t *filenamepath)
+Bool_t AliHLTTransform::SaveInitFile(Char_t *filenamepath)
 {
   //store the parameters in the file "filenamepath"
   
   FILE *f = fopen(filenamepath,"w");
   if(!f){
-    LOG(AliL3Log::kError,"AliL3Transform::SaveInitFile","File")
+    LOG(AliHLTLog::kError,"AliHLTTransform::SaveInitFile","File")
        <<"Could not open file: "<<filenamepath<<ENDLOG;
     return kFALSE;
   }
 
-  fprintf(f,"void AliL3Transform::Init(){\n");
+  fprintf(f,"void AliHLTTransform::Init(){\n");
   fprintf(f,"  fVersion = %d;\n", fgVersion); 
   fprintf(f,"  fBFieldFactor = %.3f;\n",fgBFieldFactor);
   fprintf(f,"  fSolenoidBField = %.3f;\n",fgSolenoidBField);
@@ -1270,26 +1270,26 @@ Bool_t AliL3Transform::SaveInitFile(Char_t *filenamepath)
   fprintf(f,"}\n");
   fclose(f);
 
-  LOG(AliL3Log::kInformational,"AliL3Transform::SaveInitFile","File created")
+  LOG(AliHLTLog::kInformational,"AliHLTTransform::SaveInitFile","File created")
     <<"Init file \""<<filenamepath<<"\" created"<<ENDLOG;
 
   return kTRUE;
 }
 
-Int_t AliL3Transform::GetNPads(Int_t row)
+Int_t AliHLTTransform::GetNPads(Int_t row)
 {
   //get number of pads per row
   if(row < 0 || row >= fgNRow)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetNPads","Row")
-       <<AliL3Log::kDec<<"Wrong row "<<row<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetNPads","Row")
+       <<AliHLTLog::kDec<<"Wrong row "<<row<<ENDLOG;
       return 0;
     }
 
   return fgNPads[row];
 }
 
-Int_t AliL3Transform::GetFirstRow(Int_t patch)
+Int_t AliHLTTransform::GetFirstRow(Int_t patch)
 {
   //get first row per patch
 
@@ -1297,30 +1297,30 @@ Int_t AliL3Transform::GetFirstRow(Int_t patch)
     return 0;
   else if(patch < -1 || patch >= 6)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetFirstRow","Patch")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetFirstRow","Patch")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return 0;
     }
   else
     return fgRows[patch][0];
 }
 
-Int_t AliL3Transform::GetLastRow(Int_t patch)
+Int_t AliHLTTransform::GetLastRow(Int_t patch)
 {
   //get last row per patch
   if(patch==-1)
     return fgRows[5][1];
   else if(patch < -1 || patch >= 6)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetLastRow","Patch")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetLastRow","Patch")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return 0;
     }
   else
     return fgRows[patch][1];
 }
 
-Int_t AliL3Transform::GetFirstRowOnDDL(Int_t patch)
+Int_t AliHLTTransform::GetFirstRowOnDDL(Int_t patch)
 {
   //get first row per patch
 
@@ -1328,8 +1328,8 @@ Int_t AliL3Transform::GetFirstRowOnDDL(Int_t patch)
     return 0;
   else if(patch < -1 || patch >= 6)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetFirstRow","Patch")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetFirstRow","Patch")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return 0;
     }
   else
@@ -1339,15 +1339,15 @@ Int_t AliL3Transform::GetFirstRowOnDDL(Int_t patch)
     }
 }
 
-Int_t AliL3Transform::GetLastRowOnDDL(Int_t patch)
+Int_t AliHLTTransform::GetLastRowOnDDL(Int_t patch)
 {
   //get last row per patch
   if(patch==-1)
     return fgRows[5][1];
   else if(patch < -1 || patch >= 6)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetLastRow","Patch")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetLastRow","Patch")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return 0;
     }
   else
@@ -1357,28 +1357,28 @@ Int_t AliL3Transform::GetLastRowOnDDL(Int_t patch)
     }
 }
 
-Int_t AliL3Transform::GetNRows(Int_t patch)
+Int_t AliHLTTransform::GetNRows(Int_t patch)
 {
   //get number of rows per patch
   if(patch==-1)
     return fgNRow;
   else if(patch < -1 || patch >= 6)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetNRows","Patch")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetNRows","Patch")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return 0;
     }
   else
     return fgNRows[patch];
 }
 
-Int_t AliL3Transform::GetPadRow(Float_t xvalue)
+Int_t AliHLTTransform::GetPadRow(Float_t xvalue)
 {
   //Find the padrow number corresponding to cartesian _local_ x value
   if(xvalue < 0 || xvalue > 250)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetPadRow","X-value")
-       <<AliL3Log::kDec<<"Suspicious x-value, make sure it is in local coordinate! "
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetPadRow","X-value")
+       <<AliHLTLog::kDec<<"Suspicious x-value, make sure it is in local coordinate! "
        <<xvalue<<ENDLOG;
       return -1;
     }
@@ -1401,13 +1401,13 @@ Int_t AliL3Transform::GetPadRow(Float_t xvalue)
     }
 }
 
-Int_t AliL3Transform::GetPatch(Int_t padrow)
+Int_t AliHLTTransform::GetPatch(Int_t padrow)
 {
   //get patch for padrow
   if(padrow < 0 || padrow >= fgNRow)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetPatch","Padrow")
-       <<AliL3Log::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetPatch","Padrow")
+       <<AliHLTLog::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
       return -2;
     }
   Int_t patch=0;
@@ -1420,12 +1420,12 @@ Int_t AliL3Transform::GetPatch(Int_t padrow)
   return patch;
 }
 
-Double_t AliL3Transform::GetPadLength(Int_t padrow)
+Double_t AliHLTTransform::GetPadLength(Int_t padrow)
 {
   //get pad length for padrow
   if(padrow >= fgNRow){
-      LOG(AliL3Log::kError,"AliL3Transform::GetPadLength","Padrow")
-       <<AliL3Log::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetPadLength","Padrow")
+       <<AliHLTLog::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
       return 0;
     }
 
@@ -1437,24 +1437,24 @@ Double_t AliL3Transform::GetPadLength(Int_t padrow)
     return fgOuter2PadLength;
 
   //should never happen
-  LOG(AliL3Log::kError,"AliL3Transform::GetPadLength","Padrow")
-    <<AliL3Log::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
+  LOG(AliHLTLog::kError,"AliHLTTransform::GetPadLength","Padrow")
+    <<AliHLTLog::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
   return -1.0; 
 }
 
-Double_t AliL3Transform::GetPadPitchWidth(Int_t patch)
+Double_t AliHLTTransform::GetPadPitchWidth(Int_t patch)
 {
   //get pad patch width for patch
   if(patch < 0 || patch > fgNPatches)
     {
-      LOG(AliL3Log::kError,"AliL3Transform::GetPadPitchWidth","patct")
-       <<AliL3Log::kDec<<"Wrong patch "<<patch<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::GetPadPitchWidth","patct")
+       <<AliHLTLog::kDec<<"Wrong patch "<<patch<<ENDLOG;
       return -1;
     }
   return patch < 2 ? fgPadPitchWidthLow : fgPadPitchWidthUp;  
 }
 
-Double_t AliL3Transform::GetParSigmaY2(Int_t padrow,Float_t z,Float_t angle)
+Double_t AliHLTTransform::GetParSigmaY2(Int_t padrow,Float_t z,Float_t angle)
 {
   //Calculate the expected transverse cluster width as a function of 
   //drift distance and crossing angle.
@@ -1476,7 +1476,7 @@ Double_t AliL3Transform::GetParSigmaY2(Int_t padrow,Float_t z,Float_t angle)
   return (t1 + t2 + t3 + t4);
 }
 
-Double_t AliL3Transform::GetParSigmaZ2(Int_t padrow,Float_t z,Float_t tgl)
+Double_t AliHLTTransform::GetParSigmaZ2(Int_t padrow,Float_t z,Float_t tgl)
 {
   //Calculate the expected longitudinal cluster width as a function of 
   //drift distance and track crossing angle.
@@ -1486,9 +1486,9 @@ Double_t AliL3Transform::GetParSigmaZ2(Int_t padrow,Float_t z,Float_t tgl)
 
   Double_t drift;
   if(z > 0)
-    drift = AliL3Transform::GetZLength() - z;
+    drift = AliHLTTransform::GetZLength() - z;
   else
-    drift = AliL3Transform::GetZLength() + z;
+    drift = AliHLTTransform::GetZLength() + z;
   
   Double_t t1 = fgZSigma*fgZSigma;
   Double_t t2 = fgDiffL*fgDiffL*drift;
@@ -1497,13 +1497,13 @@ Double_t AliL3Transform::GetParSigmaZ2(Int_t padrow,Float_t z,Float_t tgl)
   return (t1 + t2 + t3);
 }
 
-Double_t AliL3Transform::GetPRFSigma(Int_t padrow)
+Double_t AliHLTTransform::GetPRFSigma(Int_t padrow)
 {
   //get sigma of pad response function for padrow
 
   if(padrow >= fgNRow){
-    LOG(AliL3Log::kError,"AliL3Transform::GetPRFSigma","Padrow")
-      <<AliL3Log::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::GetPRFSigma","Padrow")
+      <<AliHLTLog::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
     return 0;
   }
   if(padrow < fgNRowLow)
@@ -1514,12 +1514,12 @@ Double_t AliL3Transform::GetPRFSigma(Int_t padrow)
     return fgOuter2PRFSigma;
 
   //should never happen
-  LOG(AliL3Log::kError,"AliL3Transform::GetPRFSigma","Padrow")
-    <<AliL3Log::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
+  LOG(AliHLTLog::kError,"AliHLTTransform::GetPRFSigma","Padrow")
+    <<AliHLTLog::kDec<<"Wrong padrow "<<padrow<<ENDLOG;
   return -1.; 
 }
 
-Double_t AliL3Transform::GetEta(Float_t *xyz)
+Double_t AliHLTTransform::GetEta(Float_t *xyz)
 {
   //get eta
   Double_t r3 = sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]+xyz[2]*xyz[2]);
@@ -1527,7 +1527,7 @@ Double_t AliL3Transform::GetEta(Float_t *xyz)
   return eta;
 }
 
-void AliL3Transform::XYZtoRPhiEta(Float_t *rpe, Float_t *xyz)
+void AliHLTTransform::XYZtoRPhiEta(Float_t *rpe, Float_t *xyz)
 {
   //transform xyz into rpe
   rpe[0] = sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]+xyz[2]*xyz[2]);
@@ -1535,7 +1535,7 @@ void AliL3Transform::XYZtoRPhiEta(Float_t *rpe, Float_t *xyz)
   rpe[2] = 0.5 * log((rpe[0]+xyz[2])/(rpe[0]-xyz[2]));
 }
 
-Double_t AliL3Transform::GetEta(Int_t slice,Int_t padrow,Int_t pad,Int_t time)
+Double_t AliHLTTransform::GetEta(Int_t slice,Int_t padrow,Int_t pad,Int_t time)
 {
   //get eta
   Float_t xyz[3];
@@ -1546,24 +1546,24 @@ Double_t AliL3Transform::GetEta(Int_t slice,Int_t padrow,Int_t pad,Int_t time)
   return GetEta(xyz);
 }
 
-Double_t AliL3Transform::GetPhi(Float_t *xyz)
+Double_t AliHLTTransform::GetPhi(Float_t *xyz)
 {
   //get phi
   Double_t phi = atan2(xyz[1],xyz[0]);
   return phi;
 }
 
-Bool_t AliL3Transform::Slice2Sector(Int_t slice, Int_t slicerow, Int_t & sector, Int_t &row)
+Bool_t AliHLTTransform::Slice2Sector(Int_t slice, Int_t slicerow, Int_t & sector, Int_t &row)
 {
   //slice to sector number
   if(slicerow<0&&slicerow>=fgNRow){
-    LOG(AliL3Log::kError,"AliL3Transform::Slice2Sector","Slicerow")
-      <<AliL3Log::kDec<<"Wrong slicerow "<<slicerow<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Slice2Sector","Slicerow")
+      <<AliHLTLog::kDec<<"Wrong slicerow "<<slicerow<<ENDLOG;
     return kFALSE;
   }
   if(slice<0||slice>=fgNSlice){
-    LOG(AliL3Log::kError,"AliL3Transform::Slice2Sector","Slice")
-      <<AliL3Log::kDec<<"Wrong slice "<<slice<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Slice2Sector","Slice")
+      <<AliHLTLog::kDec<<"Wrong slice "<<slice<<ENDLOG;
     return kFALSE;
   }
 
@@ -1579,12 +1579,12 @@ Bool_t AliL3Transform::Slice2Sector(Int_t slice, Int_t slicerow, Int_t & sector,
   return kTRUE;
 }
 
-Bool_t AliL3Transform::Sector2Slice(Int_t & slice, Int_t  sector)
+Bool_t AliHLTTransform::Sector2Slice(Int_t & slice, Int_t  sector)
 {
   //sector to slice
   if(sector<0||sector>=fgNSector){
-    LOG(AliL3Log::kError,"AliL3Transform::Sector2Slice","Sector")
-      <<AliL3Log::kDec<<"Wrong sector "<<sector<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Sector2Slice","Sector")
+      <<AliHLTLog::kDec<<"Wrong sector "<<sector<<ENDLOG;
     return kFALSE;
   }
 
@@ -1593,24 +1593,24 @@ Bool_t AliL3Transform::Sector2Slice(Int_t & slice, Int_t  sector)
   return kTRUE;
 }
 
-Bool_t AliL3Transform::Sector2Slice(Int_t & slice, Int_t & slicerow, Int_t sector, Int_t row)
+Bool_t AliHLTTransform::Sector2Slice(Int_t & slice, Int_t & slicerow, Int_t sector, Int_t row)
 {
   //sector to slice
   if(sector<0 || sector>=fgNSector){
-    LOG(AliL3Log::kError,"AliL3Transform::Sector2Slice","Sector")
-      <<AliL3Log::kDec<<"Wrong sector "<<sector<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Sector2Slice","Sector")
+      <<AliHLTLog::kDec<<"Wrong sector "<<sector<<ENDLOG;
     return kFALSE;
   }
   if(row<0){
-    LOG(AliL3Log::kError,"AliL3Transform::Sector2Slice","Row")
-      <<AliL3Log::kDec<<"Wrong row "<<row<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Sector2Slice","Row")
+      <<AliHLTLog::kDec<<"Wrong row "<<row<<ENDLOG;
     return kFALSE;
   }
 
   if(fgSectorLow[sector]){
     if(row>=fgNRowLow){
-      LOG(AliL3Log::kError,"AliL3Transform::Sector2Slice","Row")
-       <<AliL3Log::kDec<<"Wrong row "<<row<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::Sector2Slice","Row")
+       <<AliHLTLog::kDec<<"Wrong row "<<row<<ENDLOG;
       return kFALSE;
     }
     slice = fgSector2Slice[sector];
@@ -1618,8 +1618,8 @@ Bool_t AliL3Transform::Sector2Slice(Int_t & slice, Int_t & slicerow, Int_t secto
   }
   else{
     if(row>=fgNRowUp){
-      LOG(AliL3Log::kError,"AliL3Transform::Sector2Slice","Row")
-       <<AliL3Log::kDec<<"Wrong row "<<row<<ENDLOG;
+      LOG(AliHLTLog::kError,"AliHLTTransform::Sector2Slice","Row")
+       <<AliHLTLog::kDec<<"Wrong row "<<row<<ENDLOG;
       return kFALSE;
     }
     slice = fgSector2Slice[sector];
@@ -1629,7 +1629,7 @@ Bool_t AliL3Transform::Sector2Slice(Int_t & slice, Int_t & slicerow, Int_t secto
   return kTRUE;
 }
 
-Double_t AliL3Transform::GetMaxY(Int_t slicerow)
+Double_t AliHLTTransform::GetMaxY(Int_t slicerow)
 {
   //get maximum y value (for slice 0)
  if(slicerow < fgNRowLow)
@@ -1640,18 +1640,18 @@ Double_t AliL3Transform::GetMaxY(Int_t slicerow)
 
 }
 
-Double_t AliL3Transform::Row2X(Int_t slicerow)
+Double_t AliHLTTransform::Row2X(Int_t slicerow)
 {
   //slicerow to X value (slice 0)
   if(slicerow<0||slicerow>=fgNRow){
-    LOG(AliL3Log::kError,"AliL3Transform::Row2X","Slicerow")
-      <<AliL3Log::kDec<<"Wrong slicerow "<<slicerow<<ENDLOG;
+    LOG(AliHLTLog::kError,"AliHLTTransform::Row2X","Slicerow")
+      <<AliHLTLog::kDec<<"Wrong slicerow "<<slicerow<<ENDLOG;
     return 0;
   }
   return fgX[slicerow];
 }
 
-Double_t AliL3Transform::GetZFast(Int_t slice, Int_t time, Float_t vertex)
+Double_t AliHLTTransform::GetZFast(Int_t slice, Int_t time, Float_t vertex)
 {
   //get z value
   Double_t z=fgZWidth*time-fgZOffset;
@@ -1662,7 +1662,7 @@ Double_t AliL3Transform::GetZFast(Int_t slice, Int_t time, Float_t vertex)
   return z;
 }
 
-void AliL3Transform::Local2Global(Float_t *xyz,Int_t slice)
+void AliHLTTransform::Local2Global(Float_t *xyz,Int_t slice)
 {
   //Transformation to global coordinate system
   Float_t x0 = xyz[0];
@@ -1673,20 +1673,20 @@ void AliL3Transform::Local2Global(Float_t *xyz,Int_t slice)
   xyz[2]=xyz[2];//global z=local z
 }
 
-void AliL3Transform::Local2GlobalAngle(Float_t *angle,Int_t slice)
+void AliHLTTransform::Local2GlobalAngle(Float_t *angle,Int_t slice)
 {
   //get angle global
   angle[0] = fmod(angle[0]+(slice+fgNRotShift)*(2*fgkPi/18),2*fgkPi);
 }
 
-void AliL3Transform::Global2LocalAngle(Float_t *angle,Int_t slice)
+void AliHLTTransform::Global2LocalAngle(Float_t *angle,Int_t slice)
 {
   //get angle local
   angle[0] = angle[0]-(slice+fgNRotShift)*(2*fgkPi/18);
   if(angle[0]<0) angle[0]+=2*fgkPi;
 }
 
-void AliL3Transform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time)
+void AliHLTTransform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time)
 {
   //Transformation from rawdata to local coordinate system
   
@@ -1711,7 +1711,7 @@ void AliL3Transform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,F
     xyz[2]=fgZWidth*time-fgZOffset-fgZLength;
 }
 
-void AliL3Transform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,Int_t time)
+void AliHLTTransform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,Int_t time)
 {
   //Transformation from rawdata to local coordinate system
   
@@ -1736,7 +1736,7 @@ void AliL3Transform::Raw2Local(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,Int
     xyz[2]=fgZWidth*time-fgZOffset-fgZLength;
 }
 
-void AliL3Transform::RawHLT2Local(Float_t *xyz,Int_t slice,
+void AliHLTTransform::RawHLT2Local(Float_t *xyz,Int_t slice,
                                Int_t slicerow,Float_t pad,Float_t time)
 {
   //Transformation from HLT rawdata to local coordinate system
@@ -1758,7 +1758,7 @@ void AliL3Transform::RawHLT2Local(Float_t *xyz,Int_t slice,
     xyz[2]=fgZWidth*time-fgZOffset-fgZLength;
 }
 
-void AliL3Transform::RawHLT2Local(Float_t *xyz,Int_t slice,
+void AliHLTTransform::RawHLT2Local(Float_t *xyz,Int_t slice,
                                Int_t slicerow,Int_t pad,Int_t time)
 {
   //Transformation from HLT rawdata to local coordinate system
@@ -1780,7 +1780,7 @@ void AliL3Transform::RawHLT2Local(Float_t *xyz,Int_t slice,
     xyz[2]=fgZWidth*time-fgZOffset-fgZLength;
 }
 
-void AliL3Transform::Local2Global(Float_t *xyz,Int_t sector,Int_t row)
+void AliHLTTransform::Local2Global(Float_t *xyz,Int_t sector,Int_t row)
 {
   //Transformation to global coordinate system
   Int_t slice,slicerow;
@@ -1792,7 +1792,7 @@ void AliL3Transform::Local2Global(Float_t *xyz,Int_t sector,Int_t row)
   xyz[2]=xyz[2];//global z=local z
 }
 
-void AliL3Transform::LocHLT2Global(Float_t *xyz,Int_t slice,Int_t slicerow)
+void AliHLTTransform::LocHLT2Global(Float_t *xyz,Int_t slice,Int_t slicerow)
 {
   //Transformation from HLT to global coordinate system
   Float_t r=Row2X(slicerow); //have to get x value first
@@ -1802,7 +1802,7 @@ void AliL3Transform::LocHLT2Global(Float_t *xyz,Int_t slice,Int_t slicerow)
   xyz[2]=xyz[2];//global z=local z
 }
 
-void AliL3Transform::Global2Local(Float_t *xyz,Int_t sector)
+void AliHLTTransform::Global2Local(Float_t *xyz,Int_t sector)
 { //check code
   Int_t slice;
   Sector2Slice(slice, sector);  
@@ -1813,7 +1813,7 @@ void AliL3Transform::Global2Local(Float_t *xyz,Int_t sector)
   xyz[1] = y1;
 }
 
-void AliL3Transform::Global2LocHLT(Float_t *xyz,Int_t slice)
+void AliHLTTransform::Global2LocHLT(Float_t *xyz,Int_t slice)
 {
   Float_t x1 =  xyz[0]*fgCos[slice] + xyz[1]*fgSin[slice];
   Float_t y1 = -xyz[0]*fgSin[slice] + xyz[1]*fgCos[slice];
@@ -1821,7 +1821,7 @@ void AliL3Transform::Global2LocHLT(Float_t *xyz,Int_t slice)
   xyz[1] = y1;
 }
 
-void AliL3Transform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time)
+void AliHLTTransform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,Float_t time)
 {
   //Transformation from raw to global coordinates
  
@@ -1829,7 +1829,7 @@ void AliL3Transform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Float_t pad,
   Local2Global(xyz,sector,row);
 }
 
-void AliL3Transform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,Int_t time)
+void AliHLTTransform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,Int_t time)
 {
   //Transformation from raw to global coordinates
  
@@ -1837,7 +1837,7 @@ void AliL3Transform::Raw2Global(Float_t *xyz,Int_t sector,Int_t row,Int_t pad,In
   Local2Global(xyz,sector,row);
 }
 
-void AliL3Transform::RawHLT2Global(Float_t *xyz,Int_t slice,
+void AliHLTTransform::RawHLT2Global(Float_t *xyz,Int_t slice,
                                    Int_t slicerow,Float_t pad,Float_t time)
 {
   //Transformation from raw to global coordinates
@@ -1846,7 +1846,7 @@ void AliL3Transform::RawHLT2Global(Float_t *xyz,Int_t slice,
   LocHLT2Global(xyz,slice,slicerow);
 }
 
-void AliL3Transform::RawHLT2Global(Float_t *xyz,Int_t slice,
+void AliHLTTransform::RawHLT2Global(Float_t *xyz,Int_t slice,
                                    Int_t slicerow,Int_t pad,Int_t time)
 {
   //Transformation from raw to global coordinates
@@ -1855,7 +1855,7 @@ void AliL3Transform::RawHLT2Global(Float_t *xyz,Int_t slice,
   LocHLT2Global(xyz,slice,slicerow);
 }
 
-void AliL3Transform::Local2Raw(Float_t *xyz,Int_t sector,Int_t row)
+void AliHLTTransform::Local2Raw(Float_t *xyz,Int_t sector,Int_t row)
 {
   //Transformation from local coordinates to raw
 
@@ -1875,7 +1875,7 @@ void AliL3Transform::Local2Raw(Float_t *xyz,Int_t sector,Int_t row)
     xyz[2]=(fgZLength+xyz[2]+fgZOffset)/fgZWidth;
 }
 
-void AliL3Transform::LocHLT2Raw(Float_t *xyz,Int_t slice,Int_t slicerow)
+void AliHLTTransform::LocHLT2Raw(Float_t *xyz,Int_t slice,Int_t slicerow)
 {
   //Transformation from local coordinates to raw
 
@@ -1892,7 +1892,7 @@ void AliL3Transform::LocHLT2Raw(Float_t *xyz,Int_t slice,Int_t slicerow)
     xyz[2]=(fgZLength+xyz[2]+fgZOffset)/fgZWidth;
 }
 
-void AliL3Transform::Global2Raw(Float_t *xyz,Int_t sector,Int_t row)
+void AliHLTTransform::Global2Raw(Float_t *xyz,Int_t sector,Int_t row)
 {
   //Transformation from global coordinates to raw. 
 
@@ -1900,7 +1900,7 @@ void AliL3Transform::Global2Raw(Float_t *xyz,Int_t sector,Int_t row)
   Local2Raw(xyz,sector,row);
 }
 
-void AliL3Transform::Global2HLT(Float_t *xyz,Int_t slice,Int_t slicerow)
+void AliHLTTransform::Global2HLT(Float_t *xyz,Int_t slice,Int_t slicerow)
 {
   //Transformation from global coordinates to raw. 
 
@@ -1908,7 +1908,7 @@ void AliL3Transform::Global2HLT(Float_t *xyz,Int_t slice,Int_t slicerow)
   LocHLT2Raw(xyz,slice,slicerow);
 }
 
-void AliL3Transform::PrintCompileOptions()
+void AliHLTTransform::PrintCompileOptions()
 {
   //print compile options
 #if defined(__GNUC__)
@@ -1945,9 +1945,9 @@ void AliL3Transform::PrintCompileOptions()
 #endif
 
 #ifdef ROWHOUGHPARAMS
-  cout << "Using extended AliL3TrackSegmentData: -DROWHOUGHPARAMS was given." << endl;
+  cout << "Using extended AliHLTTrackSegmentData: -DROWHOUGHPARAMS was given." << endl;
 #else
-  cout << "NOT using extended AliL3TrackSegmentData: -DROWHOUGHPARAMS was not given." << endl;
+  cout << "NOT using extended AliHLTTrackSegmentData: -DROWHOUGHPARAMS was not given." << endl;
 #endif
 
 #ifdef use_newio
similarity index 98%
rename from HLT/src/AliL3Transform.h
rename to HLT/src/AliHLTTransform.h
index 54de8e67d463756aabbf1dfa155e175b5edc1660..3fbadb2cef87a1572081a73ae14eef0b9054e8d2 100644 (file)
@@ -7,9 +7,9 @@
   class AliRunLoader;
 #endif
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-class AliL3Transform {
+class AliHLTTransform {
 
  public:
   enum VersionType { kVdefault=0, kVdeprecated=1, kValiroot=10, kVcosmics=100};
@@ -68,7 +68,7 @@ class AliL3Transform {
   static Double_t fgSin[36]; //stores the sin value for local to global rotations  
 
  public:
-  virtual ~AliL3Transform() {}
+  virtual ~AliHLTTransform() {}
 #ifdef use_aliroot
   static Bool_t Init(AliRunLoader *runLoader); //init transformer params using a run loader
 #endif
@@ -237,6 +237,9 @@ class AliL3Transform {
 
   static void PrintCompileOptions();
   
-  ClassDef(AliL3Transform,1)
+  ClassDef(AliHLTTransform,1)
 };
+
+typedef AliHLTTransform AliL3Transform; // for backward compatibility
+
 #endif
similarity index 60%
rename from HLT/src/AliL3Vertex.cxx
rename to HLT/src/AliHLTVertex.cxx
index 29532e9fdb8de136794f7b4e04f071265874cf40..442a382c872d54938e1bffc3e33b1dc5fad538c7 100644 (file)
@@ -3,39 +3,39 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3Logging.h"
-#include "AliL3VertexData.h"
-#include "AliL3Vertex.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTVertexData.h"
+#include "AliHLTVertex.h"
 
-/** \class AliL3Vertex
+/** \class AliHLTVertex
 <pre>
 //_____________________________________________________________
-// AliL3Vertex
+// AliHLTVertex
 //
 // Stores the information of the vertex position
 //
 </pre>
 */
 
-ClassImp(AliL3Vertex)
+ClassImp(AliHLTVertex)
 
-AliL3Vertex::AliL3Vertex(){
+AliHLTVertex::AliHLTVertex(){
   //
-  // default constructor for the AliL3Vertex class. 
+  // default constructor for the AliHLTVertex class. 
   //
 
   SetZero();  
 }
 
-AliL3Vertex::~AliL3Vertex(){
+AliHLTVertex::~AliHLTVertex(){
   //
   // destructor
   //
 }
 
-void AliL3Vertex::SetZero()
+void AliHLTVertex::SetZero()
 {
   // set vertex to zero
   SetX(0);
@@ -49,7 +49,7 @@ void AliL3Vertex::SetZero()
   fMWxy = 1.;
 }
 
-void AliL3Vertex::Read(const AliL3VertexData *vertex)
+void AliHLTVertex::Read(const AliHLTVertexData *vertex)
 {
   // read vertex
   SetX(vertex->fX);
similarity index 73%
rename from HLT/src/AliL3Vertex.h
rename to HLT/src/AliHLTVertex.h
index bd3d243ba24594219410c55dbc1f47c202b40089..c518e9faab636b83ec3fc40057fa77c007b16840 100644 (file)
@@ -3,17 +3,17 @@
 #ifndef ALIL3VERTEX_H
 #define ALIL3VERTEX_H
 
-class AliL3VertexData;
+class AliHLTVertexData;
 
-class AliL3Vertex {
+class AliHLTVertex {
 
   public:
-    AliL3Vertex(); 
+    AliHLTVertex(); 
 
-    virtual ~AliL3Vertex();
+    virtual ~AliHLTVertex();
 
     void SetZero();
-    void Read(const AliL3VertexData *vertex);
+    void Read(const AliHLTVertexData *vertex);
 
     Double_t GetX()    const {return fX;}
     Double_t GetY()    const {return fY;}
@@ -33,8 +33,8 @@ class AliL3Vertex {
     void SetXYWeight(Double_t f) {fMWxy = f;}
 
   private:
-    AliL3Vertex(const AliL3Vertex&){;}
-    AliL3Vertex& operator=(const AliL3Vertex&){return *this;}
+    AliHLTVertex(const AliHLTVertex&){;}
+    AliHLTVertex& operator=(const AliHLTVertex&){return *this;}
 
     Double_t fX;   //x 
     Double_t fY;   //y 
@@ -46,6 +46,9 @@ class AliL3Vertex {
     Double_t fZErr; //error in y
     Double_t fMWxy; //weight
  
-    ClassDef(AliL3Vertex,1)  // Vertex base class
+    ClassDef(AliHLTVertex,1)  // Vertex base class
 };
+
+typedef AliHLTVertex AliL3Vertex; // for backward compatibility
+
 #endif
similarity index 83%
rename from HLT/src/AliL3VertexArray.cxx
rename to HLT/src/AliHLTVertexArray.cxx
index 2bebaf7505e08f6719e30b4580d8808621f325df..f134233d33d35a91aaba3e6d00f04861eac5c821 100644 (file)
@@ -3,16 +3,16 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
-#include "AliL3Logging.h"
-#include "AliL3VertexArray.h"
+#include "AliHLTLogging.h"
+#include "AliHLTVertexArray.h"
 
 
-/** \class AliL3VertexArray
+/** \class AliHLTVertexArray
 <pre>
 //_____________________________________________________________
-// AliL3VertexArray
+// AliHLTVertexArray
 //
 // The L3 Fast Vertex Finder Base Class
 //
 using namespace std;
 #endif
 
-ClassImp(AliL3VertexArray)
+ClassImp(AliHLTVertexArray)
 
-void AliL3VertexArray::AnalyzeSector(Float_t *vertex, Int_t *array, Int_t len)
+void AliHLTVertexArray::AnalyzeSector(Float_t *vertex, Int_t *array, Int_t len)
 {
   //loop over all seeds and all vertex position
-  LOG(AliL3Log::kInformational,"AliL3VertexArray::AnalyzeSector","Analyze")
-  <<AliL3Log::kDec<<"Number of Seeds: "<<fNSeed<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTVertexArray::AnalyzeSector","Analyze")
+  <<AliHLTLog::kDec<<"Number of Seeds: "<<fNSeed<<ENDLOG;
   for(Int_t i =0;i<fNSeed;i++)
     for(Int_t bin = 0;bin<len;bin++)
       array[bin] += Trace(fZSeed[i],fRSeed[i],fSecSeed[i],vertex[bin]);
 }
 
-void AliL3VertexArray::FindSectorVertex(Double_t pos, Double_t range, Int_t nbin)
+void AliHLTVertexArray::FindSectorVertex(Double_t pos, Double_t range, Int_t nbin)
 {
   //define position and range for search and
   //loop over all seeds
@@ -68,7 +68,7 @@ void AliL3VertexArray::FindSectorVertex(Double_t pos, Double_t range, Int_t nbin
   delete[] ver;
 }
 
-void AliL3VertexArray::FindMean(Float_t *vertex,Int_t *array, Int_t len)
+void AliHLTVertexArray::FindMean(Float_t *vertex,Int_t *array, Int_t len)
 {
   //find mean and error of array and store it in
   //fZSector and fZSectorErr
similarity index 73%
rename from HLT/src/AliL3VertexArray.h
rename to HLT/src/AliHLTVertexArray.h
index 8b0006aaf66b7d5fa87b7fe825fc30f8900d7b53..8d43e103ca775198d1221d9d796d207d74772c7d 100644 (file)
@@ -1,12 +1,12 @@
 // @(#) $Id$
 
-#ifndef AliL3VERTEXARRAY_H
-#define AliL3VERTEXARRAY_H
+#ifndef AliHLTVERTEXARRAY_H
+#define AliHLTVERTEXARRAY_H
 
 #include <math.h>
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
  
-class AliL3VertexArray {
+class AliHLTVertexArray {
   private:
 
   Char_t fArray[8320][8][8]; //array
@@ -22,10 +22,10 @@ class AliL3VertexArray {
   void AnalyzeSector(Float_t *vertex, Int_t *array, Int_t len);
 
   public:
-  AliL3VertexArray(){fNSeed=0;fMaxSeed=400;}
-  AliL3VertexArray(AliL3VertexArray&){fNSeed=0;fMaxSeed=400;}
-  AliL3VertexArray(Int_t maxseed){fNSeed=0;fMaxSeed=maxseed;}
-  virtual ~AliL3VertexArray(){;}
+  AliHLTVertexArray(){fNSeed=0;fMaxSeed=400;}
+  AliHLTVertexArray(AliHLTVertexArray&){fNSeed=0;fMaxSeed=400;}
+  AliHLTVertexArray(Int_t maxseed){fNSeed=0;fMaxSeed=maxseed;}
+  virtual ~AliHLTVertexArray(){;}
   
   Int_t GetContent(Float_t z,Float_t r,Int_t sec);
   Int_t Trace(Float_t z,Float_t r,Int_t sec,Float_t vertex);
@@ -45,11 +45,13 @@ class AliL3VertexArray {
   void FindSectorVertex(Double_t pos = 0,Double_t range = 60,Int_t nbin = 60);
   void ResetSector();
 
-  ClassDef(AliL3VertexArray,1)  //The L3 Fast Vertex Finder Base Class
+  ClassDef(AliHLTVertexArray,1)  //The L3 Fast Vertex Finder Base Class
 
 };
 
-inline void AliL3VertexArray::FillSector3D(Float_t x, Float_t y, Float_t z)
+typedef AliHLTVertexArray AliL3VertexArray; // for backward compatibility
+
+inline void AliHLTVertexArray::FillSector3D(Float_t x, Float_t y, Float_t z)
 {
   // Filling routine in coordinates
   Int_t sec = Int_t( (y+.168*x)/(.336*x)*8); // 8 subsec!!
@@ -57,7 +59,7 @@ inline void AliL3VertexArray::FillSector3D(Float_t x, Float_t y, Float_t z)
   FillSector2D(z,r,sec); 
 }
 
-inline void AliL3VertexArray:: FillSectorSeed3D(Float_t x,Float_t y, Float_t z)
+inline void AliHLTVertexArray:: FillSectorSeed3D(Float_t x,Float_t y, Float_t z)
 {
   // Filling routine for seeds in coordinates
   Int_t sec = Int_t( (y+.168*x)/(.336*x)*8); // 8 subsec!!
@@ -65,7 +67,7 @@ inline void AliL3VertexArray:: FillSectorSeed3D(Float_t x,Float_t y, Float_t z)
   FillSectorSeed2D(z,r,sec);    
 }
 
-inline void AliL3VertexArray::FillSectorSeed2D(Float_t z,Float_t r,Int_t sec)
+inline void AliHLTVertexArray::FillSectorSeed2D(Float_t z,Float_t r,Int_t sec)
 {
   // Filling routine in r,z coordinates 
   if(fNSeed>=400) return;
@@ -73,21 +75,21 @@ inline void AliL3VertexArray::FillSectorSeed2D(Float_t z,Float_t r,Int_t sec)
   fNSeed++; 
 }
 
-inline void AliL3VertexArray::FillSector2D(Float_t z,Float_t r,Int_t sec)
+inline void AliHLTVertexArray::FillSector2D(Float_t z,Float_t r,Int_t sec)
 {
   // Filling routine for seeds in r,z coordinates
   if(z>r||z<=0||r<220||r>=252) return;
   fArray[Int_t(z/r*32*260)][(Int_t(r-220))/4][sec] += 1;
 }
 
-inline Int_t AliL3VertexArray::GetContent(Float_t z,Float_t r,Int_t sec)
+inline Int_t AliHLTVertexArray::GetContent(Float_t z,Float_t r,Int_t sec)
 {
   // Return content of array in r,z coordinates
   if(z>r||z<=0||r<220||r>=252) return 0;
   return  fArray[Int_t(z/r*32*260)][(Int_t(r-220))/4][sec];
 }
 
-inline void AliL3VertexArray::ResetSector()
+inline void AliHLTVertexArray::ResetSector()
 {
   // do it!
   fZSector=0;
@@ -101,7 +103,7 @@ inline void AliL3VertexArray::ResetSector()
         fArray[z][r][sec] = 0;
 }
 
-inline Int_t AliL3VertexArray::Trace(Float_t z,Float_t r,Int_t sec,Float_t vertex)
+inline Int_t AliHLTVertexArray::Trace(Float_t z,Float_t r,Int_t sec,Float_t vertex)
 {
 // count the number of entries along starting from z,r to vertex,0
   Int_t cont=0;
similarity index 65%
rename from HLT/src/AliL3VertexData.h
rename to HLT/src/AliHLTVertexData.h
index 01bcc96b134891dbe24ebb56a9173c79adec0d7b..db13e79c75d6f02048515029e9ed9decc94efb27 100644 (file)
@@ -3,9 +3,9 @@
 #ifndef VERTEXDATA_H
 #define VERTEXDATA_H
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 
-struct AliL3VertexData{
+struct AliHLTVertexData{
     Double_t fX;
     Double_t fY;
     Double_t fZ;
@@ -13,6 +13,6 @@ struct AliL3VertexData{
     Double_t fYErr;
     Double_t fZErr;
 };
-typedef struct AliL3VertexData AliL3VertexData;
+typedef struct AliHLTVertexData AliHLTVertexData;
 
 #endif /* VERTEXDATA_H */
similarity index 59%
rename from HLT/src/AliL3VertexFinder.cxx
rename to HLT/src/AliHLTVertexFinder.cxx
index ade080673c3f90cebee281d9daaacc7eaaf49f7d..12a31ad19b22c8b2b8f4638bf5880a525c8c2eb9 100644 (file)
@@ -3,23 +3,23 @@
 // Author: Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3RootTypes.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3VertexData.h"
-#include "AliL3Logging.h"
-#include "AliL3VertexArray.h"
-#include "AliL3Vertex.h"
-#include "AliL3VertexFinder.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3Transform.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTRootTypes.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTVertexData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTVertexArray.h"
+#include "AliHLTVertex.h"
+#include "AliHLTVertexFinder.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTransform.h"
 
-/** \class AliL3VertexFinder
+/** \class AliHLTVertexFinder
 <pre>
 //_____________________________________________________________
-// AliL3VertexFinder
+// AliHLTVertexFinder
 //
-//   Implementation of AliL3Array 
+//   Implementation of AliHLTArray 
 //   usage:
 // 
 //   ResetSector();
 using namespace std;
 #endif
 
-ClassImp(AliL3VertexFinder)
+ClassImp(AliHLTVertexFinder)
 
-AliL3VertexFinder::AliL3VertexFinder()
+AliHLTVertexFinder::AliHLTVertexFinder()
 {
   //
-  // default constructor for the AliL3VertexFinder class. 
+  // default constructor for the AliHLTVertexFinder class. 
   //
 
   //Set vertex to zero.
@@ -57,14 +57,14 @@ AliL3VertexFinder::AliL3VertexFinder()
   fMWxy = 1.;
 }
 
-AliL3VertexFinder::~AliL3VertexFinder()
+AliHLTVertexFinder::~AliHLTVertexFinder()
 {
   //
   // destructor
   //
 }
 
-void AliL3VertexFinder::Reset()
+void AliHLTVertexFinder::Reset()
 {
   //
   // Reset
@@ -73,13 +73,13 @@ void AliL3VertexFinder::Reset()
 }
 
 
-void AliL3VertexFinder::Read(Int_t ncluster, AliL3SpacePointData* hits )
+void AliHLTVertexFinder::Read(Int_t ncluster, AliHLTSpacePointData* hits )
 {
   //
   //  analyze sector 
   // 
   
-  const Int_t kseedRow = AliL3Transform::GetNRows() - 1; 
+  const Int_t kseedRow = AliHLTTransform::GetNRows() - 1; 
   const Int_t kfirstRow = kseedRow-32;
   for(Int_t n=0;n<ncluster;n++){
     if(hits[n].fPadRow==kseedRow)
@@ -89,7 +89,7 @@ void AliL3VertexFinder::Read(Int_t ncluster, AliL3SpacePointData* hits )
   }
 }
 
-void AliL3VertexFinder::Analyze()
+void AliHLTVertexFinder::Analyze()
 {
   //
   // analyze all
@@ -97,11 +97,11 @@ void AliL3VertexFinder::Analyze()
   FindSectorVertex();
   SetZ(GetZSector());
   SetZErr(GetZSectorErr());
-  LOG(AliL3Log::kInformational,"AliL3VertexFinder::Analyze","Result")
-  <<AliL3Log::kDec<<"Vertex: "<<GetZ()<<"  RMS: "<<GetZErr()<<ENDLOG;
+  LOG(AliHLTLog::kInformational,"AliHLTVertexFinder::Analyze","Result")
+  <<AliHLTLog::kDec<<"Vertex: "<<GetZ()<<"  RMS: "<<GetZErr()<<ENDLOG;
 }
 
-void AliL3VertexFinder::Write(AliL3Vertex *vertex) const
+void AliHLTVertexFinder::Write(AliHLTVertex *vertex) const
 {
   //
   // write
@@ -116,7 +116,7 @@ void AliL3VertexFinder::Write(AliL3Vertex *vertex) const
   vertex->SetXYWeight(GetXYWeight());
 }
 
-void AliL3VertexFinder::Write(AliL3VertexData *vertex) const
+void AliHLTVertexFinder::Write(AliHLTVertexData *vertex) const
 {
   //
   // write
similarity index 60%
rename from HLT/src/AliL3VertexFinder.h
rename to HLT/src/AliHLTVertexFinder.h
index 5d7735ecc8e4f46784ead9ac520e4d8c51c617b6..e7cd1f7c2eba61abf6891ecca09668dc3dee8d03 100644 (file)
@@ -1,15 +1,15 @@
 // @(#) $Id$
 
-#ifndef AliL3VERTEXFINDER_H
-#define AliL3VERTEXFINDER_H
+#ifndef AliHLTVERTEXFINDER_H
+#define AliHLTVERTEXFINDER_H
 
-class AliL3SpacePointData;
-class AliL3VertexData;
-class AliL3Vertex;
+class AliHLTSpacePointData;
+class AliHLTVertexData;
+class AliHLTVertex;
 
-#include "AliL3VertexArray.h"
+#include "AliHLTVertexArray.h"
 
-class AliL3VertexFinder:public AliL3VertexArray {
+class AliHLTVertexFinder:public AliHLTVertexArray {
  private:
   Double_t fX;     // x
   Double_t fY;     // y
@@ -23,15 +23,15 @@ class AliL3VertexFinder:public AliL3VertexArray {
   Double_t fMWxy;  // xy weight
 
  public:
-  AliL3VertexFinder(); 
-  AliL3VertexFinder(AliL3VertexFinder &vf) : AliL3VertexArray(vf){;}
-  virtual ~AliL3VertexFinder();
+  AliHLTVertexFinder(); 
+  AliHLTVertexFinder(AliHLTVertexFinder &vf) : AliHLTVertexArray(vf){;}
+  virtual ~AliHLTVertexFinder();
 
   void Reset();
-  void Read(Int_t ncluster, AliL3SpacePointData* hits);
+  void Read(Int_t ncluster, AliHLTSpacePointData* hits);
   void Analyze();
-  void Write(AliL3Vertex *vertex) const;
-  void Write(AliL3VertexData *vertex) const;
+  void Write(AliHLTVertex *vertex) const;
+  void Write(AliHLTVertexData *vertex) const;
 
   Double_t GetX() const {return fX;}
   Double_t GetY() const {return fY;}
@@ -51,6 +51,9 @@ class AliL3VertexFinder:public AliL3VertexArray {
 
   void SetXYWeight(Double_t f) {fMWxy = f;}
  
-  ClassDef(AliL3VertexFinder,1)  // Vertex finder class
+  ClassDef(AliHLTVertexFinder,1)  // Vertex finder class
 };
+
+typedef AliHLTVertexFinder AliL3VertexFinder; // for backward compatibility
+
 #endif
diff --git a/HLT/src/AliL3ConfMapFit.h b/HLT/src/AliL3ConfMapFit.h
deleted file mode 100644 (file)
index d9a2a91..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3_ConfMapFit
-#define ALIL3_ConfMapFit
-
-class AliL3ConfMapTrack;
-class AliL3Vertex;
-
-class AliL3ConfMapFit {
-
- private:
-  AliL3ConfMapTrack *fTrack; //!
-  AliL3Vertex *fVertex; //!
-  
- public:
-  AliL3ConfMapFit (AliL3ConfMapTrack *track,AliL3Vertex *vertex);
-  virtual ~AliL3ConfMapFit() {};
-
-  Int_t FitHelix();
-  Int_t FitCircle();
-  Int_t FitLine();
-
-  ClassDef(AliL3ConfMapFit,1) //Conformal mapping fit class
-};
-
-#endif
diff --git a/HLT/src/AliL3DigitData.h b/HLT/src/AliL3DigitData.h
deleted file mode 100644 (file)
index d1a4855..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// @(#) $Id$
-
-#ifndef _DIGITDATA_H_
-#define _DIGITDATA_H_
-
-#include "AliL3RootTypes.h" 
-
-struct AliL3DigitData
-{
-#ifdef do_mc
-  Int_t fTrackID[3];
-#endif
-  UShort_t fCharge;
-  UChar_t fPad;
-  UShort_t fTime;
-#ifdef IA64
-  UChar_t dummy1;
-  UChar_t dummy2;
-#endif
-};
-typedef struct AliL3DigitData AliL3DigitData;
-
-struct AliL3DigitRowData
-{
-  UInt_t fNDigit;
-  UInt_t fRow;
-#if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-  AliL3DigitData fDigitData[1];
-#else
-  AliL3DigitData fDigitData[0];
-#endif
-};
-typedef struct AliL3DigitRowData AliL3DigitRowData;
-
-struct AliL3RandomDigitData{
-  UChar_t fRow;
-  UShort_t fCharge;
-  UChar_t fPad;
-  UShort_t fTime;
-};
-typedef struct AliL3RandomDigitData AliL3RandomDigitData;
-#endif /* _DIGITDATA_H_ */
diff --git a/HLT/src/AliL3Fitter.h b/HLT/src/AliL3Fitter.h
deleted file mode 100644 (file)
index 970e7eb..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3FITTER_H
-#define ALIL3FITTER_H
-
-//_____________________________________________________________
-// AliL3Fitter
-//
-// Fit class HLT
-//
-// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
-
-class AliL3Track;
-class AliL3Vertex;
-class AliL3SpacePointData;
-
-class AliL3Fitter {
-
-  public:
-  AliL3Fitter();
-  AliL3Fitter(AliL3Vertex *vertex,Bool_t vertexconstraint=kTRUE);
-  virtual ~AliL3Fitter();
-  
-  void LoadClusters(Char_t *path,Int_t event=0,Bool_t sp=kFALSE);
-  void SortTrackClusters(AliL3Track *track) const;
-  Int_t FitHelix(AliL3Track *track);
-  Int_t FitCircle();
-  Int_t FitLine();
-  void NoVertex() {fVertexConstraint=kFALSE;}
- private:
-  AliL3Track *fTrack; //!                    actual track
-  AliL3Vertex *fVertex; //!                  vertex info
-  Bool_t fVertexConstraint; //               include vertex constraint
-  AliL3SpacePointData *fClusters[36][6]; //! clusters
-  UInt_t fNcl[36][6]; //                     cluster numbers
-  ClassDef(AliL3Fitter,1) //HLT fit class
-};
-
-#endif
diff --git a/HLT/src/AliL3GlobalMerger.h b/HLT/src/AliL3GlobalMerger.h
deleted file mode 100644 (file)
index b933ab7..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3_GLOBALMERGER_H
-#define ALIL3_GLOBALMERGER_H
-
-#ifndef  __CINT__
-#include "AliL3Merger.h"
-#endif
-
-#include "AliL3RootTypes.h"
-
-class AliL3GlobalMerger : public AliL3Merger{
-
- private:
-  Int_t fNSlices;
-  Int_t fFirst;
-  Int_t fLast;
-
-  Double_t CheckTracks(AliL3Track *innertrack,AliL3Track *outertrack,Int_t slice);
-  
- public:
-  AliL3GlobalMerger();
-  virtual ~AliL3GlobalMerger();
-  
-  void Setup(Int_t first,Int_t last);
-  void InitSlice(Int_t slice);
-  void SlowMerge(Char_t *path="./");
-  void Merge();  //Loop over tracks from different sectors
-
-  ClassDef(AliL3GlobalMerger,1) //Slice merger
-};
-
-#endif
diff --git a/HLT/src/AliL3Log.cxx b/HLT/src/AliL3Log.cxx
deleted file mode 100644 (file)
index 5af7e7e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-// $Id$
-
-#ifndef use_logging
-
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-
-AliL3Log::TLogLevel AliL3Log::fgLevel=AliL3Log::kNone;
-
-#endif
diff --git a/HLT/src/AliL3Logging.h b/HLT/src/AliL3Logging.h
deleted file mode 100644 (file)
index d84534b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3LOGGING_H
-#define ALIL3LOGGING_H
-
-#include "AliL3RootTypes.h"
-#include "AliL3StandardIncludes.h"
-
-#ifdef use_logging
-#include <MLUCLog.hpp>
-#include <MLUCLogServer.hpp>
-
-typedef MLUCLog AliL3Log;
-typedef MLUCLogServer AliL3LogServer;
-typedef MLUCDevNullLogServer AliL3DevNullLogServer;
-typedef MLUCStdoutLogServer AliL3StdoutLogServer;
-typedef MLUCStderrLogServer AliL3StderrLogServer;
-typedef MLUCStreamLogServer AliL3StreamLogServer;
-
-#else
-
-#include "AliL3Log.h"
-#endif /* use_logging */ 
-#endif /* ALIL3LOGGING_H */
diff --git a/HLT/src/AliL3Merger.h b/HLT/src/AliL3Merger.h
deleted file mode 100644 (file)
index 91ff048..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-// @(#) $Id$
-#ifndef ALIL3MERGER_H
-#define ALIL3MERGER_H
-//#define PI 3.14159265358979312
-
-#include "AliL3RootTypes.h"
-
-class AliL3Track;
-class AliL3TrackSegmentData;
-class AliL3Vertex;
-class AliL3TrackArray;
-
-class AliL3Merger {
- private:
-  Double_t fMaxY;    //maxy
-  Double_t fMaxZ;    //maxz
-  Double_t fMaxKappa;//maxkappa
-  Double_t fMaxPsi;  //maxpsi
-  Double_t fMaxTgl;  //maxtgl
-  Char_t fTrackType; //track type to merge
-  
-  AliL3TrackArray **fInTrack;//!
-  Int_t fNIn; //ntracks
-
-  AliL3TrackArray *fOutTrack;//!
-
-  void SetArray(Int_t nin);
-  void DeleteArray();
-
- protected:
-  Int_t fCurrentTracks; //current number
-  Int_t fSlice;         //slice
-  AliL3Vertex *fVertex; //!
-  Bool_t f2Global; //global
-  Bool_t Is2Global(Bool_t is){f2Global=is;return f2Global;}
-  void InitMerger(Int_t ntrackarrays,Char_t *tracktype="AliL3Track");
-  
- public:
-  AliL3Merger();
-  virtual ~AliL3Merger();
-
-  Int_t GetNIn() const {return fNIn;}
-  AliL3TrackArray *GetInTracks(Int_t in){return fInTrack[in];}
-  AliL3TrackArray *GetOutTracks(){return fOutTrack;}
-
-  Bool_t Is2Global() const {return f2Global;}
-  void SetVertex(AliL3Vertex *vertex){fVertex=vertex;}
-  void Reset();
-  void SetParameter(Double_t maxy=1., Double_t maxz=1., Double_t maxkappa=0.001, Double_t maxpsi=0.05, Double_t maxtgl=0.1);
-  void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks in fTrackArray[fCurrentTracks] 
-  Double_t GetAngle(Double_t a1,Double_t a2);
-  void* GetNtuple() const;
-  void* GetNtuple(char *varlist) const;
-  Bool_t WriteNtuple(char *filename,void* nt) const;
-  void FillNtuple(void* nt,Float_t *data) const ;
-  void FillNtuple(void* nt,AliL3Track *innertrack,AliL3Track *outertrack);
-  void AddAllTracks();//Copy all Tracks to Output Array
-  void SortGlobalTracks(AliL3Track **tracks, Int_t ntrack);
-  virtual void SortTracks(AliL3Track **tracks, Int_t ntrack) const;
-  virtual void AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track);
-  virtual AliL3Track * MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack);
-  AliL3Track * MergeTracks(AliL3TrackArray *mergedtrack,AliL3Track *t0,AliL3Track *t1);
-  virtual Bool_t IsTrack(AliL3Track *innertrack,AliL3Track *outertrack);
-  Bool_t IsRTrack(AliL3Track *innertrack,AliL3Track *outertrack);
-  Double_t TrackDiff(AliL3Track *innertrack,AliL3Track *outertrack);
-  void Print();
-  void PrintDiff(AliL3Track *innertrack,AliL3Track *outertrack);
-  void PrintTrack(AliL3Track *track);
-  
-  ClassDef(AliL3Merger,1) //Merging base class
-};
-
-#endif
diff --git a/HLT/src/AliL3SrcLinkDef.h b/HLT/src/AliL3SrcLinkDef.h
deleted file mode 100644 (file)
index da70519..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// @(#) $Id$
-
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AliL3Benchmark;
-#pragma link C++ class AliL3DigitRowData; 
-#pragma link C++ class AliL3DigitData;
-#pragma link C++ class AliL3SpacePointData;
-#pragma link C++ class AliL3ConfMapper;
-#pragma link C++ class AliL3ConfMapPoint;
-#pragma link C++ class AliL3Vertex;
-#pragma link C++ class AliL3VertexFinder;
-#pragma link C++ class AliL3VertexArray;
-#pragma link C++ class AliL3Track;
-#pragma link C++ class AliL3ConfMapTrack;
-#pragma link C++ class AliL3ConfMapFit;
-#pragma link C++ class AliL3Transform;
-#pragma link C++ class AliL3Merger;
-#pragma link C++ class AliL3TrackMerger;
-#pragma link C++ class AliL3GlobalMerger;
-#pragma link C++ class AliL3InterMerger;
-#pragma link C++ class AliLevel3;
-#pragma link C++ class AliL3TrackArray;
-#pragma link C++ class AliL3Logger;
-#pragma link C++ class AliL3MemHandler;
-#pragma link C++ class AliL3Display; 
-#pragma link C++ class AliL3ClustFinderNew;
-#pragma link C++ class AliL3Fitter;
-#pragma link C++ class AliL3RawDataFileHandler;
-#pragma link C++ class AliL3TPCBeamTestMemHandler;
-
-#ifdef use_aliroot
-#pragma link C++ class AliL3FileHandler;
-#pragma link C++ class AliL3Evaluate; 
-#ifdef use_reconstruction
-#pragma link C++ class AliHLTReconstructor;
-#pragma link C++ class AliL3TPCtracker;
-#endif
-#endif
-
-#endif
-
diff --git a/HLT/src/AliL3TrackArray.h b/HLT/src/AliL3TrackArray.h
deleted file mode 100644 (file)
index 293d74e..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// @(#) $Id$
-
-#ifndef ALIL3TRACKARRAY_H
-#define ALIL3TRACKARRAY_H
-
-#include "AliL3RootTypes.h"
-
-class AliL3ConfMapTrack;
-class AliL3Track;
-class AliL3TrackSegmentData;
-
-class AliL3TrackArray {
-
- private:
-
-  Char_t fTrackType; //track type
-  Int_t fSize; //size of arra
-  Bool_t *fIsPresent;//!
-  Int_t fNAbsent; //ntracks absent
-
-  AliL3Track **fTrack;//!
-  Int_t fNTracks; //ntracks in
-
-  UInt_t WriteConfMapTracks(AliL3TrackSegmentData* tr); 
-  void DeleteArray();
-
- public:
-  AliL3TrackArray();
-  AliL3TrackArray(Int_t ntrack);
-  AliL3TrackArray(char* tracktype,Int_t ntrack);
-  AliL3TrackArray(char* tracktype);
-  virtual ~AliL3TrackArray();
-  Int_t GetTrackType(){return fTrackType;}
-  Int_t GetSize() const {return fSize;}
-  Bool_t SetSize(Int_t newsize=2000);
-
-  Int_t GetNPresent() const {return (fNTracks- fNAbsent);}
-  Int_t GetNTracks() const {return fNTracks;}
-  AliL3Track *NextTrack();
-  AliL3Track *GetCheckedTrack(Int_t t){if(fIsPresent[t]) return fTrack[t]; return 0;}
-  AliL3Track *GetTrack(Int_t t){return fTrack[t];}
-
-  void Remove(Int_t track); 
-  void RemoveLast() {fNTracks--;}
-  void Compress();
-  void Reset();
-  void QSort();
-  void QSort( AliL3Track **a, Int_t first, Int_t last);
-  Int_t TrackCompare(AliL3Track *a, AliL3Track *b) const;
-
-  void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr,Int_t slice); //Fill tracks and transform
-  void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks
-  UInt_t WriteTracks(AliL3TrackSegmentData* tr); //Write tracks
-  UInt_t WriteTracks(UInt_t & ntracks,AliL3TrackSegmentData* tr); //Write tracks
-  UInt_t GetOutSize();
-  UInt_t GetOutCount(){return (UInt_t) GetNPresent();}
-  void AddTracks(AliL3TrackArray *newtrack,Bool_t remove_old=kTRUE,Int_t slice=-1);//add all Tracks to this 
-  void AddLast(AliL3Track *track);
-
-  ClassDef(AliL3TrackArray,1) //Track array class
-};
-
-#endif
index d16cefbdb16b6f5966d4cb838cc5c8985e4c6150..a26bf5a3216ac95cf9e3ed8b8858a02bb14e7e99 100644 (file)
@@ -3,7 +3,7 @@
 // Author: Anders Vestbo <mailto:vestbo@fi.uib.no>, Uli Frankenfeld <mailto:franken@fi.uib.no>
 //*-- Copyright &copy ALICE HLT Group
 
-#include "AliL3StandardIncludes.h"
+#include "AliHLTStandardIncludes.h"
 
 #ifndef no_root
 #include <TFile.h>
 #include <AliRunLoader.h>
 #endif
 
-#include "AliL3Logging.h"
+#include "AliHLTLogging.h"
 #include "AliLevel3.h"
-#include "AliL3ConfMapper.h"
-#include "AliL3Vertex.h"
-#include "AliL3VertexFinder.h"
-#include "AliL3TrackMerger.h"
-#include "AliL3GlobalMerger.h"
-#include "AliL3InterMerger.h"
-#include "AliL3ConfMapPoint.h"
-#include "AliL3ConfMapTrack.h"
-#include "AliL3Transform.h"
-#include "AliL3ClustFinderNew.h"
-#include "AliL3DigitData.h"
-#include "AliL3TrackArray.h"
-#include "AliL3MemHandler.h"
-#include "AliL3Fitter.h"
+#include "AliHLTConfMapper.h"
+#include "AliHLTVertex.h"
+#include "AliHLTVertexFinder.h"
+#include "AliHLTTrackMerger.h"
+#include "AliHLTGlobalMerger.h"
+#include "AliHLTInterMerger.h"
+#include "AliHLTConfMapPoint.h"
+#include "AliHLTConfMapTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTClustFinderNew.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTFitter.h"
 #ifdef use_aliroot
-#include "AliL3FileHandler.h"
+#include "AliHLTFileHandler.h"
 #endif
-#include "AliL3Benchmark.h"
-#include "AliL3DigitData.h"
-#include "AliL3TrackSegmentData.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3VertexData.h"
-#include "AliL3DDLDataFileHandler.h"
+#include "AliHLTBenchmark.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTTrackSegmentData.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTVertexData.h"
+#include "AliHLTDDLDataFileHandler.h"
 
 /** \class AliLevel3
 <pre>
@@ -120,7 +120,7 @@ void AliLevel3::Init(Char_t *path,EFileType filetype,Int_t npatches)
   //Init the whole standard tracker chain
 #ifndef use_newio
   if (filetype==kRunLoader){
-    LOG(AliL3Log::kError,"AliLevel3::Init","Files")
+    LOG(AliHLTLog::kError,"AliLevel3::Init","Files")
        <<"You have not supplied the input rootfile; if you want "
        <<"to run with RunLoader use -Duse_newio for compiling!"<<ENDLOG;
   }
@@ -129,14 +129,14 @@ void AliLevel3::Init(Char_t *path,EFileType filetype,Int_t npatches)
   if((filetype!=kBinary) && (filetype!=kDate) 
        && (filetype!=kRunLoader)&& !fInputFile)
     {
-      LOG(AliL3Log::kError,"AliLevel3::Init","Files")
+      LOG(AliHLTLog::kError,"AliLevel3::Init","Files")
        <<"You have not supplied the input rootfile; use the appropriate ctor!"<<ENDLOG;
       return;
     }
 #if use_newio
   if((filetype==kRunLoader) && !fRunLoader)
     {
-      LOG(AliL3Log::kError,"AliLevel3::Init","Files")
+      LOG(AliHLTLog::kError,"AliLevel3::Init","Files")
        <<"You have not supplied the input runloader; use the appropriate ctor!"<<ENDLOG;
       return;
     }
@@ -158,79 +158,79 @@ void AliLevel3::Init(Char_t *path,EFileType filetype,Int_t npatches)
 
   fEvent=0;
 #ifdef use_aliroot /*just to be sure*/
-  AliL3FileHandler::CleanStaticIndex();
+  AliHLTFileHandler::CleanStaticIndex();
 #endif
 
   switch(npatches){
   case 0:
     fNPatch = 1;
-    fRow[0][0] = AliL3Transform::GetFirstRow(3);
-    fRow[0][1] = AliL3Transform::GetLastRow(5);
+    fRow[0][0] = AliHLTTransform::GetFirstRow(3);
+    fRow[0][1] = AliHLTTransform::GetLastRow(5);
     break;
   case 1:
     fNPatch = 1;        //number of patches change row in process
     fRow[0][0] = 0;
-    fRow[0][1] = AliL3Transform::GetLastRow(-1);
+    fRow[0][1] = AliHLTTransform::GetLastRow(-1);
     break;
   case 2:
     fNPatch = 2;        //number of patches change row in process
     fRow[0][0] = 0;     // first row
-    fRow[0][1] = AliL3Transform::GetLastRow(1);
-    fRow[1][0] = AliL3Transform::GetFirstRow(2);
-    fRow[1][1] = AliL3Transform::GetLastRow(5);
+    fRow[0][1] = AliHLTTransform::GetLastRow(1);
+    fRow[1][0] = AliHLTTransform::GetFirstRow(2);
+    fRow[1][1] = AliHLTTransform::GetLastRow(5);
     break;
   default: 
     fNPatch = 6;        
-    fRow[0][0] = AliL3Transform::GetFirstRow(0);
-    fRow[0][1] = AliL3Transform::GetLastRow(0);
-    fRow[1][0] = AliL3Transform::GetFirstRow(1);
-    fRow[1][1] = AliL3Transform::GetLastRow(1);
-    fRow[2][0] = AliL3Transform::GetFirstRow(2);
-    fRow[2][1] = AliL3Transform::GetLastRow(2);
-    fRow[3][0] = AliL3Transform::GetFirstRow(3);
-    fRow[3][1] = AliL3Transform::GetLastRow(3);
-    fRow[4][0] = AliL3Transform::GetFirstRow(4);
-    fRow[4][1] = AliL3Transform::GetLastRow(4);
-    fRow[5][0] = AliL3Transform::GetFirstRow(5);
-    fRow[5][1] = AliL3Transform::GetLastRow(5);
+    fRow[0][0] = AliHLTTransform::GetFirstRow(0);
+    fRow[0][1] = AliHLTTransform::GetLastRow(0);
+    fRow[1][0] = AliHLTTransform::GetFirstRow(1);
+    fRow[1][1] = AliHLTTransform::GetLastRow(1);
+    fRow[2][0] = AliHLTTransform::GetFirstRow(2);
+    fRow[2][1] = AliHLTTransform::GetLastRow(2);
+    fRow[3][0] = AliHLTTransform::GetFirstRow(3);
+    fRow[3][1] = AliHLTTransform::GetLastRow(3);
+    fRow[4][0] = AliHLTTransform::GetFirstRow(4);
+    fRow[4][1] = AliHLTTransform::GetLastRow(4);
+    fRow[5][0] = AliHLTTransform::GetFirstRow(5);
+    fRow[5][1] = AliHLTTransform::GetLastRow(5);
   }
 
-  fVertexFinder = new AliL3VertexFinder();
-  fVertex = new AliL3Vertex();
-  fTracker = new AliL3ConfMapper();
-  fTrackMerger = new AliL3TrackMerger(fNPatch);
-  fInterMerger = new AliL3InterMerger();
-  fGlobalMerger = new AliL3GlobalMerger();
+  fVertexFinder = new AliHLTVertexFinder();
+  fVertex = new AliHLTVertex();
+  fTracker = new AliHLTConfMapper();
+  fTrackMerger = new AliHLTTrackMerger(fNPatch);
+  fInterMerger = new AliHLTInterMerger();
+  fGlobalMerger = new AliHLTGlobalMerger();
   SetMergerParameters();//Set default merger parameters
 #ifdef use_aliroot
   if(filetype==kRoot){
-    fFileHandler = new AliL3FileHandler(kTRUE); //static version
+    fFileHandler = new AliHLTFileHandler(kTRUE); //static version
     fFileHandler->SetAliInput(fInputFile);
   }else if(filetype==kRaw){
-    fFileHandler = new AliL3DDLDataFileHandler();
+    fFileHandler = new AliHLTDDLDataFileHandler();
     fFileHandler->SetReaderInput(fInputFile);
   }else if(filetype==kDate){
-    fFileHandler = new AliL3DDLDataFileHandler();
+    fFileHandler = new AliHLTDDLDataFileHandler();
     fFileHandler->SetReaderInput(fInputFile,-1);
   }
 #if use_newio
   else if(filetype==kRunLoader){
-    fFileHandler = new AliL3FileHandler(kTRUE); //static version
+    fFileHandler = new AliHLTFileHandler(kTRUE); //static version
     fFileHandler->SetAliInput(fRunLoader);
   }
 #endif
   else{
-    fFileHandler = new AliL3MemHandler();
+    fFileHandler = new AliHLTMemHandler();
   }
 #else
   if(filetype==kRaw){
-    fFileHandler = new AliL3DDLDataFileHandler();
+    fFileHandler = new AliHLTDDLDataFileHandler();
     fFileHandler->SetReaderInput(fInputFile);
   }else{
-    fFileHandler = new AliL3MemHandler();
+    fFileHandler = new AliHLTMemHandler();
   }
 #endif
-  fBenchmark = new AliL3Benchmark();
+  fBenchmark = new AliHLTBenchmark();
 }
 
 void AliLevel3::DoBench(char* name)
@@ -238,7 +238,7 @@ void AliLevel3::DoBench(char* name)
   //dobench
   fBenchmark->Analyze(name);
   delete fBenchmark;
-  fBenchmark = new AliL3Benchmark();
+  fBenchmark = new AliHLTBenchmark();
 }
 
 void AliLevel3::DoMc(char* file)
@@ -308,7 +308,7 @@ void AliLevel3::ProcessEvent(Int_t first,Int_t last,Int_t event)
 
   fGlobalMerger->Setup(first,last);
 #ifdef use_aliroot
-  if(fEvent!=event) AliL3FileHandler::CleanStaticIndex();
+  if(fEvent!=event) AliHLTFileHandler::CleanStaticIndex();
 #endif
   fEvent=event;
   for(Int_t i=first; i<=last; i++){
@@ -346,8 +346,8 @@ void AliLevel3::ProcessSlice(Int_t slice)
     UseCF = kFALSE;
 
   const Int_t kmaxpoints=120000;
-  const Int_t kpointsize = kmaxpoints * sizeof(AliL3SpacePointData);
-  AliL3MemHandler *memory = new AliL3MemHandler();
+  const Int_t kpointsize = kmaxpoints * sizeof(AliHLTSpacePointData);
+  AliHLTMemHandler *memory = new AliHLTMemHandler();
 
   fTrackMerger->Reset();
   fTrackMerger->SetRows(fRow[0]);
@@ -355,9 +355,9 @@ void AliLevel3::ProcessSlice(Int_t slice)
   for(Int_t patch=fNPatch-1;patch>=0;patch--){
     fFileHandler->Init(slice,patch,&fRow[patch][0]);
     UInt_t npoints=0;
-    AliL3SpacePointData *points =0;
+    AliHLTSpacePointData *points =0;
     UInt_t ndigits=0;
-    AliL3DigitRowData *digits =0;
+    AliHLTDigitRowData *digits =0;
     if(UseCF){
       if(fUseBinary){
         if(!fDoRoi){ 
@@ -370,11 +370,11 @@ void AliLevel3::ProcessSlice(Int_t slice)
            if(!fFileHandler->SetBinaryInput(name)) return;
            if(fPileUp)
              { //Read binary files which are not RLE
-               digits = (AliL3DigitRowData*)fFileHandler->Allocate();
+               digits = (AliHLTDigitRowData*)fFileHandler->Allocate();
                fFileHandler->Binary2Memory(ndigits,digits); 
              }
            else //Read RLE binary files
-             digits= (AliL3DigitRowData *)fFileHandler->CompBinary2Memory(ndigits);
+             digits= (AliHLTDigitRowData *)fFileHandler->CompBinary2Memory(ndigits);
 
            fFileHandler->CloseBinaryInput(); 
           }
@@ -391,7 +391,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
             memory->CompBinary2CompMemory(ndigits,comp);
             memory->CloseBinaryInput();
             UInt_t datasize=memory->GetMemorySize(ndigits,comp);
-            digits=(AliL3DigitRowData *)fFileHandler->Allocate(datasize);
+            digits=(AliHLTDigitRowData *)fFileHandler->Allocate(datasize);
             fBenchmark->Start("Unpacker"); 
             fFileHandler->CompMemory2Memory(ndigits,digits,comp); 
             fBenchmark->Stop("Unpacker");
@@ -414,7 +414,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
             memory->CloseBinaryInput();
             UInt_t dsize=memory->GetMemorySize(ndigits,comp);
             UInt_t rsize=fFileHandler->GetRandomSize();       
-            digits=(AliL3DigitRowData*)fFileHandler->Allocate(dsize+rsize);
+            digits=(AliHLTDigitRowData*)fFileHandler->Allocate(dsize+rsize);
             fBenchmark->Start("Unpacker");
             fFileHandler->CompMemory2Memory(ndigits,digits,comp); 
             fBenchmark->Stop("Unpacker");
@@ -436,7 +436,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
           memory->CompBinary2CompMemory(ndigits,comp);
           memory->CloseBinaryInput();
           UInt_t datasize=memory->GetMemorySize(ndigits,comp);
-          digits=(AliL3DigitRowData *)fFileHandler->Allocate(datasize);
+          digits=(AliHLTDigitRowData *)fFileHandler->Allocate(datasize);
           fBenchmark->Start("Unpacker"); 
           datasize = fFileHandler->CompMemory2Memory(ndigits,digits,comp); 
           fBenchmark->Stop("Unpacker"); 
@@ -459,7 +459,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
         }
   
         if(1){   //Ali to Memory
-          digits=(AliL3DigitRowData *)fFileHandler->AliAltroDigits2Memory(ndigits,fEvent);
+          digits=(AliHLTDigitRowData *)fFileHandler->AliAltroDigits2Memory(ndigits,fEvent);
           if(0){ //Memory to Binary
             fFileHandler->SetBinaryOutput(name);
             fFileHandler->Memory2CompBinary(ndigits,digits);
@@ -469,8 +469,8 @@ void AliLevel3::ProcessSlice(Int_t slice)
 #endif
       }//end else UseBinary
 
-      points = (AliL3SpacePointData *) memory->Allocate(kpointsize);
-      fClusterFinder = new AliL3ClustFinderNew();
+      points = (AliHLTSpacePointData *) memory->Allocate(kpointsize);
+      fClusterFinder = new AliHLTClustFinderNew();
       fClusterFinder->InitSlice(slice,patch,fRow[patch][0],fRow[patch][1],kmaxpoints);
       fClusterFinder->SetDeconv(fClusterDeconv);
       fClusterFinder->SetXYError(fXYClusterError);
@@ -486,8 +486,8 @@ void AliLevel3::ProcessSlice(Int_t slice)
       delete fClusterFinder;
       fClusterFinder = 0;
       fFileHandler->Free();
-      LOG(AliL3Log::kInformational,"AliLevel3::ProcessSlice","Cluster Finder")
-        <<AliL3Log::kDec<<"Found "<<npoints<<" Points"<<ENDLOG;
+      LOG(AliHLTLog::kInformational,"AliLevel3::ProcessSlice","Cluster Finder")
+        <<AliHLTLog::kDec<<"Found "<<npoints<<" Points"<<ENDLOG;
     }//end UseCF
     else{// if not use Clusterfinder
       if(fUseBinary){//Binary to Memory
@@ -497,11 +497,11 @@ void AliLevel3::ProcessSlice(Int_t slice)
        else
          sprintf(name,"%s/points_%d_%d_%d.raw",fPath,fEvent,slice,patch);
         if(!memory->SetBinaryInput(name)) return;
-        points = (AliL3SpacePointData *) memory->Allocate();
+        points = (AliHLTSpacePointData *) memory->Allocate();
         memory->Binary2Memory(npoints,points);
         memory->CloseBinaryInput();
-        LOG(AliL3Log::kInformational,"AliLevel3::ProcessSlice","Read Cluster")
-        <<AliL3Log::kDec<<"Found "<<npoints<<" Points in File"<<ENDLOG;
+        LOG(AliHLTLog::kInformational,"AliLevel3::ProcessSlice","Read Cluster")
+        <<AliHLTLog::kDec<<"Found "<<npoints<<" Points in File"<<ENDLOG;
       }
 #ifdef use_aliroot
       else{
@@ -525,7 +525,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
         fBenchmark->Stop("Vertex Finder Read"); 
         fBenchmark->Start("Vertex Finder");
         fVertexFinder->Analyze();
-        AliL3VertexData vertex[1];
+        AliHLTVertexData vertex[1];
         fVertexFinder->Write(vertex);
         fVertex->Read(vertex);
         fBenchmark->Stop("Vertex Finder"); 
@@ -562,8 +562,8 @@ void AliLevel3::ProcessSlice(Int_t slice)
       fFileHandler->Free();
 
     UInt_t ntracks0 =0;
-    AliL3TrackSegmentData *trackdata0  = 
-         (AliL3TrackSegmentData *) memory->Allocate(fTracker->GetTracks());
+    AliHLTTrackSegmentData *trackdata0  = 
+         (AliHLTTrackSegmentData *) memory->Allocate(fTracker->GetTracks());
     memory->TrackArray2Memory(ntracks0,trackdata0,fTracker->GetTracks());
 
     //write tracks
@@ -597,8 +597,8 @@ void AliLevel3::ProcessSlice(Int_t slice)
     memory->Free();
     
     UInt_t ntracks1 =0;
-    AliL3TrackSegmentData *trackdata1 =
-      (AliL3TrackSegmentData *) memory->Allocate(fInterMerger->GetInTracks(0));
+    AliHLTTrackSegmentData *trackdata1 =
+      (AliHLTTrackSegmentData *) memory->Allocate(fInterMerger->GetInTracks(0));
     memory->TrackArray2Memory(ntracks1,trackdata1,fInterMerger->GetInTracks(0));
 
     fTrackMerger->InitSector(slice,patch);
@@ -618,7 +618,7 @@ void AliLevel3::ProcessSlice(Int_t slice)
     WriteTracks(name,fTrackMerger,'o'); //write output of trackmerger
   }
   */
-  fTrackData = (AliL3TrackSegmentData *) 
+  fTrackData = (AliHLTTrackSegmentData *) 
                          fFileHandler->Allocate(fTrackMerger->GetOutTracks());
 
   fFileHandler->TrackArray2Memory(fNTrackData,fTrackData,
@@ -630,17 +630,17 @@ void AliLevel3::ProcessSlice(Int_t slice)
 void AliLevel3::FitGlobalTracks()
 { 
   //fit global tracks
-  AliL3Fitter *fitter = new AliL3Fitter(fVertex,AliLevel3::DoVertexFit());
+  AliHLTFitter *fitter = new AliHLTFitter(fVertex,AliLevel3::DoVertexFit());
   if(fNPatch==1)
     fitter->LoadClusters(fWriteOutPath,fEvent,kTRUE);
   else
     fitter->LoadClusters(fWriteOutPath,fEvent,kFALSE);
   
   fBenchmark->Start("Global track fitter");
-  AliL3TrackArray *tracks = fGlobalMerger->GetOutTracks();
+  AliHLTTrackArray *tracks = fGlobalMerger->GetOutTracks();
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3Track *tr = tracks->GetCheckedTrack(i);
+      AliHLTTrack *tr = tracks->GetCheckedTrack(i);
       if(!tr) continue;
       fitter->FitHelix(tr);
       tr->UpdateToFirstPoint();
@@ -649,7 +649,7 @@ void AliLevel3::FitGlobalTracks()
   delete fitter;
 }
 
-void AliLevel3::WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
+void AliLevel3::WriteSpacePoints(UInt_t npoints,AliHLTSpacePointData *points,
                                 Int_t slice,Int_t patch) const
 { 
   //write space points
@@ -658,7 +658,7 @@ void AliLevel3::WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
     sprintf(name,"%s/points_%d_%d_%d.raw",fWriteOutPath,fEvent,slice,-1);
   else
     sprintf(name,"%s/points_%d_%d_%d.raw",fWriteOutPath,fEvent,slice,patch);
-  AliL3MemHandler * memory = new AliL3MemHandler();
+  AliHLTMemHandler * memory = new AliHLTMemHandler();
   memory->SetBinaryOutput(name);
   memory->Transform(npoints,points,slice);
   memory->Memory2Binary(npoints,points);
@@ -666,20 +666,20 @@ void AliLevel3::WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
   delete  memory;
 }
 
-Int_t AliLevel3::WriteTracks(char *filename,AliL3Merger *merger,char opt) const
+Int_t AliLevel3::WriteTracks(char *filename,AliHLTMerger *merger,char opt) const
 { 
   //write tracks
-  AliL3MemHandler *memory = new AliL3MemHandler();
+  AliHLTMemHandler *memory = new AliHLTMemHandler();
   memory->SetBinaryOutput(filename);
   if(opt=='a'||opt=='i'){  //add intracks
     for(Int_t i=0;i<merger->GetNIn();i++){
-      AliL3TrackArray *tr=merger->GetInTracks(i);
+      AliHLTTrackArray *tr=merger->GetInTracks(i);
       memory->TrackArray2Binary(tr);
     }
   }
 
   if(opt=='o'||opt=='a'){
-    AliL3TrackArray *tr=merger->GetOutTracks();
+    AliHLTTrackArray *tr=merger->GetOutTracks();
     memory->TrackArray2Binary(tr);
   }
 
index 8873f17d546aefb47105ff52f0efb2d233bc1594..450b7c5d221c378c6c8d88bee09e8237d93e6043 100644 (file)
 class AliRunLoader;
 #endif
 
-#include "AliL3DigitData.h"
-#include "AliL3RootTypes.h"
-
-class AliL3SpacePointData;
-class AliL3DigitRowData;
-class AliL3TrackSegmentData;
-class AliL3DigitData;
-class AliL3ConfMapper;
-class AliL3Vertex;
-class AliL3VertexFinder;
-class AliL3TrackMerger;
-class AliL3GlobalMerger;
+#include "AliHLTDigitData.h"
+#include "AliHLTRootTypes.h"
+
+class AliHLTSpacePointData;
+class AliHLTDigitRowData;
+class AliHLTTrackSegmentData;
+class AliHLTDigitData;
+class AliHLTConfMapper;
+class AliHLTVertex;
+class AliHLTVertexFinder;
+class AliHLTTrackMerger;
+class AliHLTGlobalMerger;
 #ifndef no_root
 class TDirectory;
 #endif
-class AliL3ClustFinderNew;
-class AliL3Merger;
-class AliL3InterMerger;
-class AliL3FileHandler;
-class AliL3MemHandler;
-class AliL3Benchmark;
+class AliHLTClustFinderNew;
+class AliHLTMerger;
+class AliHLTInterMerger;
+class AliHLTFileHandler;
+class AliHLTMemHandler;
+class AliHLTBenchmark;
 
 #ifdef no_root
 class AliLevel3 {
@@ -42,16 +42,16 @@ class AliLevel3 : public TObject {
 
  private:
   UInt_t fNTrackData; //count data
-  AliL3TrackSegmentData* fTrackData; //!
-  AliL3ConfMapper *fTracker; //!
-  AliL3Vertex *fVertex; //! 
-  AliL3VertexFinder *fVertexFinder; //!
-  AliL3TrackMerger *fTrackMerger; //!
-  AliL3GlobalMerger *fGlobalMerger; //!
-  AliL3InterMerger *fInterMerger; //!
-  AliL3ClustFinderNew *fClusterFinder; //! 
-  AliL3MemHandler *fFileHandler; //!
-  AliL3Benchmark *fBenchmark;//!
+  AliHLTTrackSegmentData* fTrackData; //!
+  AliHLTConfMapper *fTracker; //!
+  AliHLTVertex *fVertex; //! 
+  AliHLTVertexFinder *fVertexFinder; //!
+  AliHLTTrackMerger *fTrackMerger; //!
+  AliHLTGlobalMerger *fGlobalMerger; //!
+  AliHLTInterMerger *fInterMerger; //!
+  AliHLTClustFinderNew *fClusterFinder; //! 
+  AliHLTMemHandler *fFileHandler; //!
+  AliHLTBenchmark *fBenchmark;//!
 
   Int_t fEvent;    //event number
   Int_t fNPatch;   //number of patches
@@ -80,9 +80,9 @@ class AliLevel3 : public TObject {
   Float_t fXYClusterError; //Cluster error
   Float_t fZClusterError; //Cluster error
 
-  void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
+  void WriteSpacePoints(UInt_t npoints,AliHLTSpacePointData *points,
                         Int_t slice,Int_t patch) const;
-  Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o') const;  
+  Int_t WriteTracks(char *filename,AliHLTMerger *merger,char opt='o') const;  
   void WriteResults();
   void FitGlobalTracks();
   void SetPath(char *p){sprintf(fPath,"%s",p);}
index 811f156b12a2c04a8ed51b9804f8d1aefa21f7c3..c0b9e0fcd5cce5fc96a14ec8853a4d0bc6bb6a7b 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides   #
 #################################
 
-MODNAME = AliL3Src
+MODNAME = AliHLTSrc
 
 ifndef ALIHLT_TOPDIR
 ALIHLT_TOPDIR = $(shell pwd)/..
@@ -14,33 +14,33 @@ endif
 
 include $(ALIHLT_TOPDIR)/Makefile.conf
 
-SRCS   = AliL3ConfMapper.cxx AliL3ConfMapPoint.cxx \
-          AliL3ConfMapTrack.cxx AliL3ConfMapFit.cxx AliL3Track.cxx\
-          AliL3Transform.cxx AliL3TrackMerger.cxx AliL3VertexArray.cxx \
-          AliL3Vertex.cxx AliL3VertexFinder.cxx \
-          AliL3Merger.cxx AliL3GlobalMerger.cxx AliL3ClustFinderNew.cxx \
-          AliL3TrackArray.cxx AliL3InterMerger.cxx AliL3Logger.cxx \
-          AliL3MemHandler.cxx AliLevel3.cxx AliL3Benchmark.cxx  \
-          AliL3Fitter.cxx AliL3RawDataFileHandler.cxx AliL3Log.cxx \
-          AliL3TPCBeamTestMemHandler.cxx
+SRCS   = AliHLTConfMapper.cxx AliHLTConfMapPoint.cxx \
+          AliHLTConfMapTrack.cxx AliHLTConfMapFit.cxx AliHLTTrack.cxx\
+          AliHLTTransform.cxx AliHLTTrackMerger.cxx AliHLTVertexArray.cxx \
+          AliHLTVertex.cxx AliHLTVertexFinder.cxx \
+          AliHLTMerger.cxx AliHLTGlobalMerger.cxx AliHLTClustFinderNew.cxx \
+          AliHLTTrackArray.cxx AliHLTInterMerger.cxx AliHLTLogger.cxx \
+          AliHLTMemHandler.cxx AliLevel3.cxx AliHLTBenchmark.cxx  \
+          AliHLTFitter.cxx AliHLTRawDataFileHandler.cxx AliHLTLog.cxx \
+          AliHLTTPCBeamTestMemHandler.cxx
 
 ifeq ($(ARCH),macosx)
-EXTRA_SRCS = AliL3HoughTrack.cxx AliL3ModelTrack.cxx \
-             AliL3DataCompressorHelper.cxx AliL3DataHandler.cxx \
-             AliL3TransBit.cxx  AliL3DDLDataFileHandler.cxx
+EXTRA_SRCS = AliHLTHoughTrack.cxx AliHLTModelTrack.cxx \
+             AliHLTDataCompressorHelper.cxx AliHLTDataHandler.cxx \
+             AliHLTTransBit.cxx  AliHLTDDLDataFileHandler.cxx
 endif
 
 SRCS += $(EXTRA_SRCS)
 
 ifeq ($(ALIHLT_USEPACKAGE),ROOT)
-SRCS += AliL3Display.cxx
-HDRS = $(SRCS:.cxx=.h) AliL3SpacePointData.h $(MODNAME)LinkDef.h
+SRCS += AliHLTDisplay.cxx
+HDRS = $(SRCS:.cxx=.h) AliHLTSpacePointData.h $(MODNAME)LinkDef.h
 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
 
 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
-SRCS += AliL3Display.cxx AliL3FileHandler.cxx AliL3Evaluate.cxx AliHLTReconstructor.cxx
-HDRS = $(SRCS:.cxx=.h) AliL3SpacePointData.h $(MODNAME)LinkDef.h
+SRCS += AliHLTDisplay.cxx AliHLTFileHandler.cxx AliHLTEvaluate.cxx AliHLTReconstructor.cxx
+HDRS = $(SRCS:.cxx=.h) AliHLTSpacePointData.h $(MODNAME)LinkDef.h
 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
 
index 6350cf2484965a4d69b4616b0e727acfe324ec55..f20b57a6408bfcb9488228b7de7f4e15eb86578f 100755 (executable)
@@ -1,4 +1,4 @@
-void AliL3Transform::Init(){
+void AliHLTTransform::Init(){
   fVersion = 10;
   fBFieldFactor = 1.000;
   fSolenoidBField = 5.000;
index 532935193ee518d257530b3dc1ee35db0a22112d..dbbe0d86a36667fd656a8ffeab499462c9f7e2e5 100644 (file)
@@ -1,7 +1,7 @@
 #include "AliD0Trigger.h"
 #include <TMath.h>
 #include "AliITStrackV2.h"
-#include "AliL3Transform.h"
+#include "AliHLTTransform.h"
 #include <TVector3.h>
 #include <iostream.h>
 
@@ -108,8 +108,8 @@ bool AliD0Trigger::FindV0(){
   Gxneg=negTrack->GetX()*cos(negTrack->GetAlpha())-negTrack->GetY()*sin(negTrack->GetAlpha());
   Gyneg=negTrack->GetX()*sin(negTrack->GetAlpha())+negTrack->GetY()*cos(negTrack->GetAlpha());
     
-  r1=fabs(1/(AliL3Transform::GetBFact()*Bfield*posTrack->Get1Pt()));
-  r2=fabs(1/(AliL3Transform::GetBFact()*Bfield*negTrack->Get1Pt()));
+  r1=fabs(1/(AliHLTTransform::GetBFact()*Bfield*posTrack->Get1Pt()));
+  r2=fabs(1/(AliHLTTransform::GetBFact()*Bfield*negTrack->Get1Pt()));
   
   a1=Gxpos-(r1*cos(posTrack->GetAlpha()+asin(posTrack->GetSnp())+TMath::PiOver2()));
   a2=Gxneg-(r2*cos(negTrack->GetAlpha()+asin(negTrack->GetSnp())-TMath::PiOver2()));
@@ -184,8 +184,8 @@ void AliD0Trigger::FindMomentaAtVertex(){
 
   //This method moves the momenta to the secondary vertex
 
-  double r1=fabs(1/(AliL3Transform::GetBFact()*Bfield*posTrack->Get1Pt()));
-  double r2=fabs(1/(AliL3Transform::GetBFact()*Bfield*negTrack->Get1Pt()));
+  double r1=fabs(1/(AliHLTTransform::GetBFact()*Bfield*posTrack->Get1Pt()));
+  double r2=fabs(1/(AliHLTTransform::GetBFact()*Bfield*negTrack->Get1Pt()));
   
   double Gx1=posTrack->GetX()*cos(posTrack->GetAlpha())-posTrack->GetY()*sin(posTrack->GetAlpha());
   double Gy1=posTrack->GetX()*sin(posTrack->GetAlpha())+posTrack->GetY()*cos(posTrack->GetAlpha());
index ed5af693db74682cafebedd0b3baec89a8e7e20a..c7000d845499f81f8c6cc8950eaacf7b7160d4a8 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef AliD0_Trigger
 #define AliD0_Trigger
 
-#include "AliL3RootTypes.h"
+#include "AliHLTRootTypes.h"
 #include <math.h>
 #include <TObject.h>
 #include <TObjArray.h>
similarity index 59%
rename from HLT/trigger/AliL3Trigger.cxx
rename to HLT/trigger/AliHLTTrigger.cxx
index 6213abae51c5b792ae57c97eeab5f8748f6cfe6c..7d4e23f106efed396a735faf982a79d6ea12bfd0 100644 (file)
@@ -1,17 +1,17 @@
 
-#include "AliL3Trigger.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Transform.h"
-#include "AliL3Vertex.h"
-#include "AliL3Defs.h"
-#include "AliL3DigitData.h"
-#include "AliL3Logging.h"
-#include "AliL3Track.h"
-#include "AliL3MemHandler.h"
+#include "AliHLTTrigger.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVertex.h"
+#include "AliHLTDefs.h"
+#include "AliHLTDigitData.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTrack.h"
+#include "AliHLTMemHandler.h"
 
-ClassImp(AliL3Trigger)
+ClassImp(AliHLTTrigger)
 
-AliL3Trigger::AliL3Trigger()
+AliHLTTrigger::AliHLTTrigger()
 {
   fDataSize=0;
   fTracks=0;
@@ -20,54 +20,54 @@ AliL3Trigger::AliL3Trigger()
   fVertex=0;
 }
 
-AliL3Trigger::~AliL3Trigger()
+AliHLTTrigger::~AliHLTTrigger()
 {
   if(fTracks)
     delete fTracks;
 }
 
-void AliL3Trigger::InitTrigger()
+void AliHLTTrigger::InitTrigger()
 {
   if(fTracks)
     delete fTracks;
-  fTracks = new AliL3TrackArray();
+  fTracks = new AliHLTTrackArray();
 }
 
-void AliL3Trigger::InitPatch(Int_t slice,Int_t patch)
+void AliHLTTrigger::InitPatch(Int_t slice,Int_t patch)
 {
   fSlice=slice;
   fPatch=patch;
   fTracks->Reset();
 }
 
-void AliL3Trigger::FillTracks(Int_t ntracks,AliL3TrackSegmentData *tr)
+void AliHLTTrigger::FillTracks(Int_t ntracks,AliHLTTrackSegmentData *tr)
 {
   fTracks->FillTracks(ntracks,tr);
 }
 
-void AliL3Trigger::FillData(AliL3DigitRowData *data)
+void AliHLTTrigger::FillData(AliHLTDigitRowData *data)
 {
   fDigitRowData = data;
 }
 
-void AliL3Trigger::SetParameters(Float_t zcut,Int_t timematch,Int_t padmatch)
+void AliHLTTrigger::SetParameters(Float_t zcut,Int_t timematch,Int_t padmatch)
 {
   fZcut=zcut;
   fTimeMatch=timematch;
   fPadMatch=padmatch;
 }
 
-void AliL3Trigger::SetOutputData(AliL3DigitRowData *ptr)
+void AliHLTTrigger::SetOutputData(AliHLTDigitRowData *ptr)
 {
   fOutput=ptr;
 }
 
-void AliL3Trigger::RemovePileupTracks()
+void AliHLTTrigger::RemovePileupTracks()
 {
   Double_t xc,yc,zc;
   for(Int_t i=0; i<fTracks->GetNTracks(); i++)
     {
-      AliL3Track *track = fTracks->GetCheckedTrack(i);
+      AliHLTTrack *track = fTracks->GetCheckedTrack(i);
       if(!track) continue;
       track->Rotate(fSlice,kTRUE);
       track->CalculateHelix();
@@ -81,7 +81,7 @@ void AliL3Trigger::RemovePileupTracks()
   fTracks->Compress();
 }
 
-void AliL3Trigger::RemovePileupData()
+void AliHLTTrigger::RemovePileupData()
 {
   Float_t hit[3];
   Int_t sector,row;
@@ -89,21 +89,21 @@ void AliL3Trigger::RemovePileupData()
   rowhit row_cross[(fTracks->GetNTracks())];
   Int_t digitcount[(NumRows[fPatch])];
   Int_t totalcount=0;
-  AliL3DigitRowData *rowPt = fDigitRowData;
+  AliHLTDigitRowData *rowPt = fDigitRowData;
   for(Int_t i=NRows[fPatch][0]; i<=NRows[fPatch][1]; i++)
     {
       digitcount[(i-NRows[fPatch][0])]=0;
       for(Int_t j=0; j<fTracks->GetNTracks(); j++)
        {
-         AliL3Track *track = fTracks->GetCheckedTrack(j);
+         AliHLTTrack *track = fTracks->GetCheckedTrack(j);
          if(!track) continue;
          track->GetCrossingPoint(i,hit);
-         AliL3Transform::Slice2Sector(fSlice,i,sector,row);
-         AliL3Transform::Local2Raw(hit,sector,row);
+         AliHLTTransform::Slice2Sector(fSlice,i,sector,row);
+         AliHLTTransform::Local2Raw(hit,sector,row);
          row_cross[j].pad = (Int_t)rint(hit[1]);
          row_cross[j].time = (Int_t)rint(hit[2]);
        }
-      AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+      AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
       Bool_t mark;
       for(Int_t k=0; k<rowPt->fNDigit; k++)
        {
@@ -122,16 +122,16 @@ void AliL3Trigger::RemovePileupData()
          if(mark==kTRUE)
            digPt[k].fCharge=0;
        }
-      AliL3MemHandler::UpdateRowPointer(rowPt);
+      AliHLTMemHandler::UpdateRowPointer(rowPt);
     }
   
-  Int_t size = totalcount*sizeof(AliL3DigitData) + NumRows[fPatch]*sizeof(AliL3DigitRowData);
+  Int_t size = totalcount*sizeof(AliHLTDigitData) + NumRows[fPatch]*sizeof(AliHLTDigitRowData);
   fDataSize = size;
-  LOG(AliL3Log::kDebug,"AliL3Trigger::RemovePileupData","Memory")
+  LOG(AliHLTLog::kDebug,"AliHLTTrigger::RemovePileupData","Memory")
     <<"Allocating "<<size<<" bytes of data for trigger event"<<ENDLOG;
   Byte_t *data = new Byte_t[size];
   memset(data,0,size);
-  AliL3DigitRowData *tempPt = (AliL3DigitRowData*)data;
+  AliHLTDigitRowData *tempPt = (AliHLTDigitRowData*)data;
   rowPt = fDigitRowData;
   
   Int_t localcount;
@@ -139,14 +139,14 @@ void AliL3Trigger::RemovePileupData()
     {
       tempPt->fRow = i;
       tempPt->fNDigit = digitcount[(i-NRows[fPatch][0])];
-      AliL3DigitData *digPt = (AliL3DigitData*)rowPt->fDigitData;
+      AliHLTDigitData *digPt = (AliHLTDigitData*)rowPt->fDigitData;
       localcount=0;
       for(Int_t j=0; j<rowPt->fNDigit; j++)
        {
          if(digPt[j].fCharge==0) continue;
          if(localcount >= digitcount[(i-NRows[fPatch][0])])
            {
-             LOG(AliL3Log::kFatal,"AliL§Trigger::RemovePileupData","Array")
+             LOG(AliHLTLog::kFatal,"AliL§Trigger::RemovePileupData","Array")
                <<"Mismatch in digitcount: "<<localcount<<" "<<digitcount[(i-NRows[fPatch][0])]<<ENDLOG;
              return;
            }
@@ -157,17 +157,17 @@ void AliL3Trigger::RemovePileupData()
        }
       if(digitcount[(i-NRows[fPatch][0])]!=localcount)
        {
-         LOG(AliL3Log::kFatal,"AliL§Trigger::RemovePileupData","Array")
+         LOG(AliHLTLog::kFatal,"AliL§Trigger::RemovePileupData","Array")
            <<"Mismatch in digitcount: "<<localcount<<" "<<digitcount[(i-NRows[fPatch][0])]<<ENDLOG;
        }
-      AliL3MemHandler::UpdateRowPointer(rowPt);
+      AliHLTMemHandler::UpdateRowPointer(rowPt);
       Byte_t *tmp = (Byte_t*)tempPt;
-      Int_t size = sizeof(AliL3DigitRowData)+digitcount[(i-NRows[fPatch][0])]*sizeof(AliL3DigitData);
+      Int_t size = sizeof(AliHLTDigitRowData)+digitcount[(i-NRows[fPatch][0])]*sizeof(AliHLTDigitData);
       tmp += size;
-      tempPt = (AliL3DigitRowData*)tmp;
+      tempPt = (AliHLTDigitRowData*)tmp;
     }
   
-  fOutput=(AliL3DigitRowData*)data;
+  fOutput=(AliHLTDigitRowData*)data;
 }
 
 
diff --git a/HLT/trigger/AliHLTTrigger.h b/HLT/trigger/AliHLTTrigger.h
new file mode 100644 (file)
index 0000000..2ed2f1c
--- /dev/null
@@ -0,0 +1,50 @@
+// @(#) $Id$
+
+#ifndef AliHLT_Trigger
+#define AliHLT_Trigger
+
+#include "AliHLTRootTypes.h"
+
+class AliHLTTrackSegmentData;
+class AliHLTDigitRowData;
+class AliHLTTrackArray;
+class AliHLTVertex;
+
+class AliHLTTrigger {
+ private:
+  AliHLTTrackArray *fTracks; //!
+  AliHLTDigitRowData *fDigitRowData; //!
+  AliHLTDigitRowData *fOutput; //!
+  AliHLTVertex *fVertex; //!
+  Int_t fDataSize;
+
+  Float_t fZcut;
+  Int_t fTimeMatch;
+  Int_t fPadMatch;
+  Int_t fSlice;
+  Int_t fPatch;
+
+ public:
+  AliHLTTrigger();
+  virtual ~AliHLTTrigger();
+  
+  void InitTrigger();
+  void InitPatch(Int_t slice,Int_t patch);
+  void FillTracks(Int_t ntracks,AliHLTTrackSegmentData *tr);
+  void FillData(AliHLTDigitRowData *data);
+  void SetOutputData(AliHLTDigitRowData *ptr);
+  void SetVertex(AliHLTVertex *vertex) {fVertex = vertex;}
+  void SetParameters(Float_t zcut,Int_t timematch,Int_t padmatch);
+  void RemovePileupTracks();
+  void RemovePileupData();
+  
+  Int_t GetDataSize() {return fDataSize;}
+  
+  ClassDef(AliHLTTrigger,1) 
+
+};
+
+typedef AliHLTTrigger AliL3Trigger; // for backward compatibility
+
+#endif
diff --git a/HLT/trigger/AliL3Trigger.h b/HLT/trigger/AliL3Trigger.h
deleted file mode 100644 (file)
index 6202d18..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// @(#) $Id$
-
-#ifndef AliL3_Trigger
-#define AliL3_Trigger
-
-#include "AliL3RootTypes.h"
-
-class AliL3TrackSegmentData;
-class AliL3DigitRowData;
-class AliL3TrackArray;
-class AliL3Vertex;
-
-class AliL3Trigger {
- private:
-  AliL3TrackArray *fTracks; //!
-  AliL3DigitRowData *fDigitRowData; //!
-  AliL3DigitRowData *fOutput; //!
-  AliL3Vertex *fVertex; //!
-  Int_t fDataSize;
-
-  Float_t fZcut;
-  Int_t fTimeMatch;
-  Int_t fPadMatch;
-  Int_t fSlice;
-  Int_t fPatch;
-
- public:
-  AliL3Trigger();
-  virtual ~AliL3Trigger();
-  
-  void InitTrigger();
-  void InitPatch(Int_t slice,Int_t patch);
-  void FillTracks(Int_t ntracks,AliL3TrackSegmentData *tr);
-  void FillData(AliL3DigitRowData *data);
-  void SetOutputData(AliL3DigitRowData *ptr);
-  void SetVertex(AliL3Vertex *vertex) {fVertex = vertex;}
-  void SetParameters(Float_t zcut,Int_t timematch,Int_t padmatch);
-  void RemovePileupTracks();
-  void RemovePileupData();
-  
-  Int_t GetDataSize() {return fDataSize;}
-  
-  ClassDef(AliL3Trigger,1) 
-
-};
-
-#endif
index 594b20d9887c2f8a64320863809b10eb45e7d216..d658badf89272d198485a1bd3587c516d0292465 100644 (file)
@@ -6,7 +6,7 @@
 #         Constantin Loizides    #
 ##################################
 
-MODNAME = AliL3Trigger
+MODNAME = AliHLTTrigger
 
 ifndef ALIHLT_TOPDIR
 TOPDIR = $(shell pwd)/..
index 46b22a522c3e7f783db49246b4da961b6e0cd9a0..93fc59368b4dae6f02ebbb73f81359aa53c17561 100644 (file)
@@ -17,8 +17,8 @@
 #include <AliESD.h>
 #include <AliESDtrack.h>
 #include <AliESDHLTtrack.h>
-#include <AliL3Track.h>
-#include <AliL3Vertex.h>
+#include <AliHLTTrack.h>
+#include <AliHLTVertex.h>
 #include <AliKalmanTrack.h>
 #include <AliJetEventParticles.h>
 #include "AliJetParticlesReaderHLT.h"
@@ -111,7 +111,7 @@ Int_t AliJetParticlesReaderHLT::ReadESD(AliESD* esd)
 
   fEventParticles->SetVertex(vertexpos[0],vertexpos[1],vertexpos[2]);
   //cout << vertexpos[0] << " " << vertexpos[1] << " " << vertexpos[2] << endl;
-  AliL3Vertex v;
+  AliHLTVertex v;
   v.SetX(vertexpos[0]);
   v.SetY(vertexpos[1]);
   v.SetZ(vertexpos[2]);
@@ -154,7 +154,7 @@ Int_t AliJetParticlesReaderHLT::ReadESD(AliESD* esd)
        py=mom[1];
        pz=mom[2];
 #else
-      AliL3Track l3;
+      AliHLTTrack l3;
       //if(!kesdtrack->ComesFromMainVertex()) continue;
       //cout << "Pos: " << kesdtrack->GetFirstPointX() << " " << kesdtrack->GetFirstPointY() << " " << kesdtrack->GetFirstPointZ() << endl;      
       l3.SetFirstPoint(kesdtrack->GetFirstPointX(),kesdtrack->GetFirstPointY(),kesdtrack->GetFirstPointZ());
index ebf0b1c38ebe93e942402c24f40749bfcf520b1d..4883808c11db101d7de98b964a5a1081d9f8fb63 100644 (file)
@@ -8,7 +8,7 @@
   Int_t saveErrIgLevel=gErrorIgnoreLevel;
   gErrorIgnoreLevel=kFatal;
 
-  gSystem->Load("libAliL3ITS.so");
+  gSystem->Load("libAliHLTITS.so");
 
   gSystem->Load("libTkJetFinder.so");
   gSystem->Load("libJetFinder.so");
index a58bf2b4b35b3cbb8bfeb18691197c83f0042f10..296e5a8422a52e21b7f77a10d9f9f0b51a65a814 100644 (file)
 #include "AliLog.h"
 #include <TFolder.h>
 #include <stdlib.h>
-#include "AliL3MemHandler.h"
-#include "AliL3SpacePointData.h"
-#include "AliL3TrackArray.h"
-#include "AliL3Track.h"
-#include "AliL3Transform.h"
-#include "AliL3Vertex.h"
+#include "AliHLTMemHandler.h"
+#include "AliHLTSpacePointData.h"
+#include "AliHLTTrackArray.h"
+#include "AliHLTTrack.h"
+#include "AliHLTTransform.h"
+#include "AliHLTVertex.h"
 
 //_____________________________________________________________________________
 AliMonitorHLT::AliMonitorHLT(AliTPCParam* param):
@@ -152,8 +152,8 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
 {
 // fill the HLT monitor histogrms
 
-  AliL3MemHandler clusterHandler[36];
-  AliL3SpacePointData *clusters[36];
+  AliHLTMemHandler clusterHandler[36];
+  AliHLTSpacePointData *clusters[36];
   for (Int_t iSector = 0; iSector < fParam->GetNInnerSector(); iSector++) {
     char fileName[256];
     sprintf(fileName, "hlt/points_%d_-1.raw", iSector);
@@ -161,12 +161,12 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
       AliWarning(Form("could not open file %s", fileName));
       continue;
     }
-    clusters[iSector] = (AliL3SpacePointData*) clusterHandler[iSector].Allocate();
+    clusters[iSector] = (AliHLTSpacePointData*) clusterHandler[iSector].Allocate();
     UInt_t nClusters = 0;
     clusterHandler[iSector].Binary2Memory(nClusters, clusters[iSector]);
 
     for (UInt_t iCluster = 0; iCluster < nClusters; iCluster++) {
-      AliL3SpacePointData& cluster = clusters[iSector][iCluster];
+      AliHLTSpacePointData& cluster = clusters[iSector][iCluster];
       fClustersCharge->Fill(cluster.fCharge);
       fNClustersVsRow->Fill(cluster.fPadRow);
       fNClustersVsSector->Fill(iSector);
@@ -177,19 +177,19 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
 
   fNClustersVsSector->ScaleErrorBy(10.);
 
-  AliL3MemHandler memHandler;
+  AliHLTMemHandler memHandler;
   if (!memHandler.SetBinaryInput("hlt/tracks.raw")) {
     AliWarning("could not open file hlt/tracks.raw");
     return;
   }
-  AliL3TrackArray* tracks = new AliL3TrackArray;
+  AliHLTTrackArray* tracks = new AliHLTTrackArray;
   memHandler.Binary2TrackArray(tracks);
   Double_t xc,yc,zc;
-  AliL3Vertex vertex;
+  AliHLTVertex vertex;
 
   fNTracks->Fill(tracks->GetNTracks());
   for (Int_t iTrack = 0; iTrack < tracks->GetNTracks(); iTrack++) {
-    AliL3Track* track = tracks->GetCheckedTrack(iTrack);
+    AliHLTTrack* track = tracks->GetCheckedTrack(iTrack);
     if(!track) continue;
     track->CalculateHelix();
     track->GetClosestPoint(&vertex,xc,yc,zc);
@@ -216,9 +216,9 @@ void AliMonitorHLT::FillHistos(AliRunLoader* /*runLoader*/,
       Int_t iSector = (hitID>>25) & 0x7f;
       UInt_t position = hitID&0x3fffff;
       UChar_t padrow = clusters[iSector][position].fPadRow;
-      Float_t pWidth = AliL3Transform::GetPadPitchWidthLow();
+      Float_t pWidth = AliHLTTransform::GetPadPitchWidthLow();
       if (padrow>63)
-       pWidth = AliL3Transform::GetPadPitchWidthUp(); 
+       pWidth = AliHLTTransform::GetPadPitchWidthUp(); 
       Float_t corr=1.; if (padrow>63) corr=0.67;
       sampleDEdx[iHit] = clusters[iSector][position].fCharge/pWidth*corr;
       Double_t crossingangle = track->GetCrossingAngle(padrow,iSector);
index fc669bc35d1ec97f3c6b4c7dabb2e3b730bd8156..5b95e358898819451a3e91bd71a638d6c29b31bf 100644 (file)
 #include "AliLog.h"
 #include <TFolder.h>
 #include <stdlib.h>
-#include <AliL3MemHandler.h>
-#include <AliL3TrackArray.h>
-#include <AliL3SpacePointData.h>
-#include <AliL3HoughTrack.h>
-#include <AliL3Transform.h>
+#include <AliHLTMemHandler.h>
+#include <AliHLTTrackArray.h>
+#include <AliHLTSpacePointData.h>
+#include <AliHLTHoughTrack.h>
+#include <AliHLTTransform.h>
 
 //_____________________________________________________________________________
 AliMonitorHLTHough::AliMonitorHLTHough(AliTPCParam* param):
@@ -130,8 +130,8 @@ void AliMonitorHLTHough::FillHistos(AliRunLoader* /*runLoader*/,
 {
 // fill the HLT Hough transform monitor histograms
 
-  AliL3MemHandler clusterHandler[36][6];
-  AliL3SpacePointData *clusters[36][6];
+  AliHLTMemHandler clusterHandler[36][6];
+  AliHLTSpacePointData *clusters[36][6];
   for (Int_t iSector = 0; iSector < fParam->GetNInnerSector(); iSector++) {
     for (Int_t iPatch = 0; iPatch < 6; iPatch++) {
       char fileName[256];
@@ -140,12 +140,12 @@ void AliMonitorHLTHough::FillHistos(AliRunLoader* /*runLoader*/,
        AliWarning(Form("could not open file %s", fileName));
        continue;
       }
-      clusters[iSector][iPatch] = (AliL3SpacePointData*) clusterHandler[iSector][iPatch].Allocate();
+      clusters[iSector][iPatch] = (AliHLTSpacePointData*) clusterHandler[iSector][iPatch].Allocate();
       UInt_t nClusters = 0;
       clusterHandler[iSector][iPatch].Binary2Memory(nClusters, clusters[iSector][iPatch]);
 
       for (UInt_t iCluster = 0; iCluster < nClusters; iCluster++) {
-       AliL3SpacePointData& cluster = clusters[iSector][iPatch][iCluster];
+       AliHLTSpacePointData& cluster = clusters[iSector][iPatch][iCluster];
        fClustersCharge->Fill(cluster.fCharge);
        fNClustersVsRow->Fill(cluster.fPadRow);
        fNClustersVsSector->Fill(iSector);
@@ -158,7 +158,7 @@ void AliMonitorHLTHough::FillHistos(AliRunLoader* /*runLoader*/,
   fNClustersVsSector->ScaleErrorBy(10.);
 
 
-  AliL3MemHandler memHandler;
+  AliHLTMemHandler memHandler;
   Int_t nHoughTracks = 0;
 
   char fileName[256];
@@ -167,12 +167,12 @@ void AliMonitorHLTHough::FillHistos(AliRunLoader* /*runLoader*/,
     AliWarning("could not open file hlt/fitter/tracks.raw");
     return;
   }
-  AliL3TrackArray* tracks = new AliL3TrackArray;
+  AliHLTTrackArray* tracks = new AliHLTTrackArray;
   memHandler.Binary2TrackArray(tracks);
 
   nHoughTracks += tracks->GetNTracks();
   for (Int_t iTrack = 0; iTrack < tracks->GetNTracks(); iTrack++) {
-    AliL3HoughTrack *track = (AliL3HoughTrack*)tracks->GetCheckedTrack(iTrack);
+    AliHLTHoughTrack *track = (AliHLTHoughTrack*)tracks->GetCheckedTrack(iTrack);
     if(!track) continue;
 
     track->CalculateHelix();
@@ -197,9 +197,9 @@ void AliMonitorHLTHough::FillHistos(AliRunLoader* /*runLoader*/,
       Int_t iPatch = (hitID>>22) & 0x7;
       UInt_t position = hitID&0x3fffff;
       UChar_t padrow = clusters[iSector][iPatch][position].fPadRow;
-      Float_t pWidth = AliL3Transform::GetPadPitchWidthLow();
+      Float_t pWidth = AliHLTTransform::GetPadPitchWidthLow();
       if (padrow>63)
-       pWidth = AliL3Transform::GetPadPitchWidthUp(); 
+       pWidth = AliHLTTransform::GetPadPitchWidthUp(); 
       Float_t corr=1.; if (padrow>63) corr=0.67;
       sampleDEdx[iHit] = clusters[iSector][iPatch][position].fCharge/pWidth*corr;
       Double_t crossingangle = track->GetCrossingAngle(padrow,iSector);
index 4f5e9bc939af7d3f1fc0873fadd3713ea9cf3844..d1e435707937fd29bd9f76687e93fb9e0a44086f 100644 (file)
 #include "AliTPCtrackerMI.h"
 #include "AliV0vertexer.h"
 
-#include <AliL3StandardIncludes.h>
-#include <AliL3MemHandler.h>
-#include <AliL3ClusterFitter.h>
-#include <AliL3Fitter.h>
-#include <AliL3Hough.h>
-#include <AliL3HoughBaseTransformer.h>
-#include <AliL3StandardIncludes.h>
-#include <AliL3Track.h>
-#include <AliL3TrackArray.h>
-#include <AliL3Transform.h>
-#include <AliL3Vertex.h>
+#include <AliHLTStandardIncludes.h>
+#include <AliHLTMemHandler.h>
+#include <AliHLTClusterFitter.h>
+#include <AliHLTFitter.h>
+#include <AliHLTHough.h>
+#include <AliHLTHoughBaseTransformer.h>
+#include <AliHLTStandardIncludes.h>
+#include <AliHLTTrack.h>
+#include <AliHLTTrackArray.h>
+#include <AliHLTTransform.h>
+#include <AliHLTVertex.h>
 #include <AliLevel3.h>
 
 ClassImp(AliMonitorProcess)
@@ -144,7 +144,7 @@ AliMonitorProcess::AliMonitorProcess(
   if (!fITSgeom) AliFatal("could not load ITS geometry");
 
   // Init TPC parameters for HLT
-  Bool_t isinit=AliL3Transform::Init(const_cast<char*>(fileNameGalice),kTRUE);
+  Bool_t isinit=AliHLTTransform::Init(const_cast<char*>(fileNameGalice),kTRUE);
   if(!isinit){
     AliFatal("Could not create transform settings, please check log for error messages!");
   }
@@ -729,7 +729,7 @@ void AliMonitorProcess::CreateHLTHough(const char* fileName)
   char name[256];
   strcpy(name, fileName);
 
-  fHLTHough = new AliL3Hough();
+  fHLTHough = new AliHLTHough();
   fHLTHough->SetThreshold(4);
   fHLTHough->SetTransformerParams(140,150,0.5,-1);
   fHLTHough->SetPeakThreshold(9000,-1);// or 6000
@@ -792,7 +792,7 @@ Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
   fHLTHough->WriteTracks("./hlt/hough");
 
   // Run cluster fitter
-  AliL3ClusterFitter *fitter = new AliL3ClusterFitter("./hlt");
+  AliHLTClusterFitter *fitter = new AliHLTClusterFitter("./hlt");
 
   // Set debug flag for the cluster fitter
   //  fitter->Debug();
@@ -805,7 +805,7 @@ Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
   //fitter->SetChiSqMax(5,kFALSE); //isolated clusters
   fitter->SetChiSqMax(5,kTRUE);  //overlapping clusters
 
-  Int_t rowrange[2] = {0,AliL3Transform::GetNRows()-1};
+  Int_t rowrange[2] = {0,AliHLTTransform::GetNRows()-1};
 
   // Takes input from global hough tracks produced by HT
   fitter->LoadSeeds(rowrange,kFALSE,iEvent);
@@ -814,12 +814,12 @@ Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
 
   for(Int_t islice = 0; islice <= 35; islice++)
     {
-      for(Int_t ipatch = 0; ipatch < AliL3Transform::GetNPatches(); ipatch++)
+      for(Int_t ipatch = 0; ipatch < AliHLTTransform::GetNPatches(); ipatch++)
        {
          // Read digits
          fHLTHough->GetMemHandler(ipatch)->Free();
          fHLTHough->GetMemHandler(ipatch)->Init(islice,ipatch);
-         AliL3DigitRowData *digits = (AliL3DigitRowData *)fHLTHough->GetMemHandler(ipatch)->AliAltroDigits2Memory(ndigits,iEvent);
+         AliHLTDigitRowData *digits = (AliHLTDigitRowData *)fHLTHough->GetMemHandler(ipatch)->AliAltroDigits2Memory(ndigits,iEvent);
 
          fitter->Init(islice,ipatch);
          fitter->SetInputData(digits);
@@ -829,15 +829,15 @@ Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
     }
 
   // Refit of the clusters
-  AliL3Vertex vertex;
+  AliHLTVertex vertex;
   //The seeds are the input tracks from circle HT
-  AliL3TrackArray *tracks = fitter->GetSeeds();
-  AliL3Fitter *ft = new AliL3Fitter(&vertex,1);
+  AliHLTTrackArray *tracks = fitter->GetSeeds();
+  AliHLTFitter *ft = new AliHLTFitter(&vertex,1);
 
   ft->LoadClusters("./hlt/fitter/",iEvent,kFALSE);
   for(Int_t i=0; i<tracks->GetNTracks(); i++)
     {
-      AliL3Track *track = tracks->GetCheckedTrack(i);
+      AliHLTTrack *track = tracks->GetCheckedTrack(i);
       if(!track) continue;
       if(track->GetNHits() < 20) continue;
       ft->SortTrackClusters(track);
index d10760544c17cfbc45db4522e072a917b973d601..b83389310a9f29ec58e68c93aa27e927f266fda9 100644 (file)
@@ -24,7 +24,7 @@ class AliRawReader;
 class AliRunLoader;
 class AliTPCParam;
 class AliLevel3;
-class AliL3Hough;
+class AliHLTHough;
 
 
 class AliMonitorProcess : public TObject {
@@ -102,7 +102,7 @@ private:
   TString          fLogicalFileName;    // logical AliEn file name
   TString          fFileName;           // physical file name
   AliLevel3*       fHLT;                // the HLT tracker
-  AliL3Hough*      fHLTHough;           // the HLT hough transformer
+  AliHLTHough*      fHLTHough;           // the HLT hough transformer
 
   UInt_t           fRunNumber;          // current run number
   UInt_t           fSubRunNumber;       // current part (=resets per run)
index b4b9a36eca29ace42605bc6cc44d333dd191912c..b2fcac8ae485e61ee69f351acfe0ac94b9b252d2 100644 (file)
@@ -17,7 +17,7 @@ PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 ifdef DATE_ROOT
 
 ELIBSDIR:=${DATE_MONITOR_DIR}/${DATE_SYS}
-ELIBS:= ESD CDB STEER RAWDatabase RAWDatarec RAWDatasim monitor shift TPCbase TPCsim TPCrec ITSbase ITSsim ITSrec AliL3Src AliL3Comp AliL3Misc AliL3Hough AliL3ITS AliL3MUON MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
+ELIBS:= ESD CDB STEER RAWDatabase RAWDatarec RAWDatasim monitor shift TPCbase TPCsim TPCrec ITSbase ITSsim ITSrec AliHLTSrc AliHLTComp AliHLTMisc AliHLTHough AliHLTITS AliHLTMUON MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
 EINCLUDE+= ${DATE_COMMON_DEFS} ${DATE_MONITOR_DIR}
 
 endif
index 86139276cdc60952e0bd04f6f1d8a29cc8cfe044..57012c1a8ced29640efe6a8244894aa7aa31773a 100644 (file)
@@ -17,7 +17,7 @@ PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 ifdef DATE_ROOT
 
 ELIBSDIR:=${DATE_MONITOR_DIR}/${DATE_SYS}
-ELIBS:=ESD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec AliL3Src AliL3Misc AliL3Hough AliL3Comp AliL3ITS AliL3MUON ITSbase ITSsim ITSrec monitor shift MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
+ELIBS:=ESD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS AliHLTMUON ITSbase ITSsim ITSrec monitor shift MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
 EINCLUDE+= ${DATE_COMMON_DEFS} ${DATE_MONITOR_DIR}
 
 endif
index 869158c6f06ad49b5445d48596f6627960ced0ad..eb6f6400b34c72c2787a66c4edb6ce13fada6372 100644 (file)
@@ -7,10 +7,10 @@ void client()
 {
   // load libraries
   if (!gROOT->GetClass("AliLevel3")) {
-    gSystem->Load("libAliL3Src.so");
-    gSystem->Load("libAliL3Misc.so");
-    gSystem->Load("libAliL3Hough.so");
-    gSystem->Load("libAliL3Comp.so");
+    gSystem->Load("libAliHLTSrc.so");
+    gSystem->Load("libAliHLTMisc.so");
+    gSystem->Load("libAliHLTHough.so");
+    gSystem->Load("libAliHLTComp.so");
   }
   if (!gROOT->GetClass("AliMonitorClient")) {
     gSystem->Load("libMONITOR.so");
index a34ea79eba2f13bd31df92cea8ff66132d4c9e32..e41cd9c8944589d77707a5cd4718d05740022952 100644 (file)
@@ -14,10 +14,10 @@ void monitor(Bool_t batchMode = kFALSE,
 {
   // load libraries
   if (!gROOT->GetClass("AliLevel3")) {
-    gSystem->Load("libAliL3Src.so");
-    gSystem->Load("libAliL3Misc.so");
-    gSystem->Load("libAliL3Hough.so");
-    gSystem->Load("libAliL3Comp.so");
+    gSystem->Load("libAliHLTSrc.so");
+    gSystem->Load("libAliHLTMisc.so");
+    gSystem->Load("libAliHLTHough.so");
+    gSystem->Load("libAliHLTComp.so");
   }
   if (!gROOT->GetClass("AliMonitorProcess")) {
     gSystem->Load("libMONITOR.so");
index d659165d87ac98a9dfc479c8e3a259e41e6c3a81..59118ccb20bd7780d6276a0c4dd08efe976b06a3 100644 (file)
 #include "AliRawReaderDate.h"
 #include "event.h"
 #include "monitor.h"
-#include <AliL3StandardIncludes.h>
-#include <AliL3Transform.h>
-#include <AliL3MemHandler.h>
-#include <AliL3TrackArray.h>
-#include <AliL3HoughMaxFinder.h>
-#include <AliL3HoughBaseTransformer.h>
-#include <AliL3Hough.h>
-#include <AliL3Benchmark.h>
+#include <AliHLTStandardIncludes.h>
+#include <AliHLTTransform.h>
+#include <AliHLTMemHandler.h>
+#include <AliHLTTrackArray.h>
+#include <AliHLTHoughMaxFinder.h>
+#include <AliHLTHoughBaseTransformer.h>
+#include <AliHLTHough.h>
+#include <AliHLTBenchmark.h>
 #include <AliKalmanTrack.h>
 #include "AliITSgeom.h"
 #include "AliMagF.h"
 #include "AliMagFMaps.h"
-#include <AliL3ITSclusterer.h>
-#include <AliL3ITSVertexerZ.h>
-#include <AliL3ITStracker.h>
+#include <AliHLTITSclusterer.h>
+#include <AliHLTITSVertexerZ.h>
+#include <AliHLTITStracker.h>
 #endif
 
 //_____________________________________________________________________________
@@ -100,18 +100,18 @@ int main(int argc, char** argv)
   if (status) ::Fatal("monitorDeclareMp", monitorDecodeError(status));
 
   // initialize HLT transformations
-  if (!AliL3Transform::Init("./", kFALSE)) {
-    ::Fatal("AliL3Transform::Init", "HLT initialization failed");
+  if (!AliHLTTransform::Init("./", kFALSE)) {
+    ::Fatal("AliHLTTransform::Init", "HLT initialization failed");
   }
   AliESD *esd = new AliESD;
   //  AliKalmanTrack::SetConvConst(
-  //     1000/0.299792458/AliL3Transform::GetSolenoidField()
+  //     1000/0.299792458/AliHLTTransform::GetSolenoidField()
   //  );
   AliITSgeom *geom = new AliITSgeom();
   geom->ReadNewFile("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det");
   if (!geom) return 1;
   Int_t sfield = 0;
-  switch ((Int_t)(AliL3Transform::GetSolenoidField()+0.5)) {
+  switch ((Int_t)(AliHLTTransform::GetSolenoidField()+0.5)) {
   case 2:
     sfield = AliMagFMaps::k2kG;
     break;
@@ -122,7 +122,7 @@ int main(int argc, char** argv)
     sfield = AliMagFMaps::k5kG;
     break;
   default:
-    ::Fatal("AliL3Transform::GetSolenoidField", "Incorrect magnetic field");
+    ::Fatal("AliHLTTransform::GetSolenoidField", "Incorrect magnetic field");
   }
   AliMagF* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., sfield);
   AliTracker::SetFieldMap(field,kTRUE);
@@ -164,18 +164,18 @@ int main(int argc, char** argv)
 
       } else {
 
-       AliL3Benchmark *fBenchmark = new AliL3Benchmark();
+       AliHLTBenchmark *fBenchmark = new AliHLTBenchmark();
        fBenchmark->Start("Overall timing");
 
        // ITS clusterer and vertexer
        fBenchmark->Start("ITS Clusterer");
-       AliL3ITSclusterer clusterer(geom);
+       AliHLTITSclusterer clusterer(geom);
        AliRawReader *itsrawreader=new AliRawReaderDate(ptr);
        TTree* treeClusters = new TTree("TreeL3ITSclusters"," "); //make a tree
        clusterer.Digits2Clusters(itsrawreader,treeClusters);
        fBenchmark->Stop("ITS Clusterer");
        
-       AliL3ITSVertexerZ vertexer;
+       AliHLTITSVertexerZ vertexer;
        AliESDVertex *vertex = vertexer.FindVertexForCurrentEvent(geom,treeClusters);
        Double_t vtxPos[3];
        Double_t vtxErr[3]={0.005,0.005,0.010};
@@ -184,12 +184,12 @@ int main(int argc, char** argv)
        esd->SetVertex(vertex);
 
        // TPC Hough reconstruction
-       Float_t ptmin = 0.1*AliL3Transform::GetSolenoidField();
+       Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
        Float_t zvertex = vtxPos[2];
 
        // Run the Hough Transformer
        fBenchmark->Start("Init");
-       AliL3Hough *hough1 = new AliL3Hough();
+       AliHLTHough *hough1 = new AliHLTHough();
 
        hough1->SetThreshold(4);
        hough1->CalcTransformerParams(ptmin);
@@ -200,7 +200,7 @@ int main(int argc, char** argv)
        fBenchmark->Stop("Init");
 
        fBenchmark->Start("Init");
-       AliL3Hough *hough2 = new AliL3Hough();
+       AliHLTHough *hough2 = new AliHLTHough();
 
        hough2->SetThreshold(4);
        hough2->CalcTransformerParams(ptmin);
@@ -217,9 +217,9 @@ int main(int argc, char** argv)
 
        //      gSystem->Sleep(20000);
        if(hough1->WaitForThreadFinish())
-         ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! ");
+         ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
        if(hough2->WaitForThreadFinish())
-         ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! ");
+         ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
 
        gSystem->MakeDirectory("hough1");
        hough1->WriteTracks("./hough1");
@@ -242,7 +242,7 @@ int main(int argc, char** argv)
          hough1->AddTracks();
          fBenchmark->Stop("AddTracks");
 
-         //      AliL3TrackArray* tracks = (AliL3TrackArray*)hough1->GetTracks(0);
+         //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough1->GetTracks(0);
          //      nglobaltracks += tracks->GetNTracks();
        }
        for(int slice=18; slice<=35; slice++)
@@ -260,7 +260,7 @@ int main(int argc, char** argv)
          hough2->AddTracks();
          fBenchmark->Stop("AddTracks");
 
-         //      AliL3TrackArray* tracks = (AliL3TrackArray*)hough2->GetTracks(0);
+         //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough2->GetTracks(0);
          //      nglobaltracks += tracks->GetNTracks();
        }
 
@@ -268,7 +268,7 @@ int main(int argc, char** argv)
        nglobaltracks += hough2->FillESD(esd);
 
        // ITS tracker
-       AliL3ITStracker itsTracker(geom);
+       AliHLTITStracker itsTracker(geom);
        itsTracker.SetVertex(vtxPos,vtxErr);
 
        itsTracker.LoadClusters(treeClusters);
index 80dc23b9ac73721c0e223f5a9525ee5a4f71c625..ca9410dd40912975dda02eb998a124cdaae172e3 100644 (file)
 
 #include <TStopwatch.h>
 
-#include "AliL3StandardIncludes.h"
-#include "AliL3Logging.h"
-#include "AliL3Transform.h"
-#include "AliL3Hough.h"
+#include "AliHLTStandardIncludes.h"
+#include "AliHLTLogging.h"
+#include "AliHLTTransform.h"
+#include "AliHLTHough.h"
 #include "AliLog.h"
-#include <AliL3ITSclusterer.h>
-#include <AliL3ITSVertexerZ.h>
-#include <AliL3ITStracker.h>
+#include <AliHLTITSclusterer.h>
+#include <AliHLTITSVertexerZ.h>
+#include <AliHLTITStracker.h>
 
 #include "AliHoughFilter.h"
 
@@ -50,23 +50,23 @@ fITSgeom(NULL)
 // default constructor
 
   // Init debug level
-  AliL3Log::fgLevel = AliL3Log::kError;
-  if (AliDebugLevel() > 0) AliL3Log::fgLevel = AliL3Log::kWarning;
-  if (AliDebugLevel() > 1) AliL3Log::fgLevel = AliL3Log::kInformational;
-  if (AliDebugLevel() > 2) AliL3Log::fgLevel = AliL3Log::kDebug;
+  AliHLTLog::fgLevel = AliHLTLog::kError;
+  if (AliDebugLevel() > 0) AliHLTLog::fgLevel = AliHLTLog::kWarning;
+  if (AliDebugLevel() > 1) AliHLTLog::fgLevel = AliHLTLog::kInformational;
+  if (AliDebugLevel() > 2) AliHLTLog::fgLevel = AliHLTLog::kDebug;
 
   // Init TPC HLT geometry
   const char *path = gSystem->Getenv("ALICE_ROOT");
   Char_t pathname[1024];
   strcpy(pathname,path);
   strcat(pathname,"/HLT/src");
-  if (!AliL3Transform::Init(pathname, kFALSE))
+  if (!AliHLTTransform::Init(pathname, kFALSE))
     AliError("HLT initialization failed!");
 
   // Init magnetic field
   AliMagF* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., AliMagFMaps::k5kG);
   AliTracker::SetFieldMap(field,kTRUE);
-  fPtmin = 0.1*AliL3Transform::GetSolenoidField();
+  fPtmin = 0.1*AliHLTTransform::GetSolenoidField();
 
   // Init ITS geometry
   fITSgeom = new AliITSgeom();
@@ -115,7 +115,7 @@ void AliHoughFilter::RunITSclusterer(AliRawEvent* event, TTree *treeClusters)
 
   if(!fITSgeom)
     AliError("ITS geometry not created!");
-  AliL3ITSclusterer clusterer(fITSgeom);
+  AliHLTITSclusterer clusterer(fITSgeom);
   AliRawReader *itsrawreader=new AliRawReaderRoot(event);
   clusterer.Digits2Clusters(itsrawreader,treeClusters);
   delete itsrawreader;
@@ -133,7 +133,7 @@ void AliHoughFilter::RunITSvertexer(AliESD* esd, TTree *treeClusters)
   TStopwatch timer;
   timer.Start();
 
-  AliL3ITSVertexerZ vertexer;
+  AliHLTITSVertexerZ vertexer;
   AliESDVertex *vertex = vertexer.FindVertexForCurrentEvent(fITSgeom,treeClusters);
   esd->SetVertex(vertex);
   AliInfo(Form("ITS vertexer has finished in %f seconds\n",timer.RealTime()));
@@ -152,7 +152,7 @@ void AliHoughFilter::RunTPCtracking(AliRawEvent* event, AliESD* esd)
   const AliESDVertex *vertex = esd->GetVertex();
   Float_t zvertex = vertex->GetZv();
 
-  AliL3Hough *hough1 = new AliL3Hough();
+  AliHLTHough *hough1 = new AliHLTHough();
     
   hough1->SetThreshold(4);
   hough1->CalcTransformerParams(fPtmin);
@@ -160,7 +160,7 @@ void AliHoughFilter::RunTPCtracking(AliRawEvent* event, AliESD* esd)
   hough1->Init(100,4,event,zvertex);
   hough1->SetAddHistograms();
 
-  AliL3Hough *hough2 = new AliL3Hough();
+  AliHLTHough *hough2 = new AliHLTHough();
   
   hough2->SetThreshold(4);
   hough2->CalcTransformerParams(fPtmin);
@@ -174,9 +174,9 @@ void AliHoughFilter::RunTPCtracking(AliRawEvent* event, AliESD* esd)
   hough2->StartProcessInThread(18,35);
 
   if(hough1->WaitForThreadFinish())
-    ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! ");
+    ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
   if(hough2->WaitForThreadFinish())
-    ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! ");
+    ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
 
     /* In case we run HLT code in the main thread
     for(Int_t slice=0; slice<=17; slice++)
@@ -228,7 +228,7 @@ void AliHoughFilter::RunITStracking(AliESD* esd, TTree *treeClusters)
   const AliESDVertex *vertex = esd->GetVertex();
   vertex->GetXYZ(vtxPos);
 
-  AliL3ITStracker itsTracker(fITSgeom);
+  AliHLTITStracker itsTracker(fITSgeom);
   itsTracker.SetVertex(vtxPos,vtxErr);
 
   itsTracker.LoadClusters(treeClusters);
index b21fd5c54003b3b0db8c1b10f9a446f63a05bec7..c486b1caddf444db59107dbbabbf105768274f5e 100644 (file)
@@ -50,7 +50,7 @@ endif
 ifneq ($(findstring hlt,$(MAKECMDGOALS)),)
 include ../HLT/hlt.conf
 CXXFLAGS += -DUSE_HLT ${HLTDEFS} -I${ALICE_ROOT}/include -I../HLT/src -I../HLT/hough -I../HLT/comp
-LIBS     += -lEG -lVMC -lGeom -lThread -L../lib/tgt_linuxDEBUG -lSTEER -lRAWData -lTPCbase -lTPCsim -lTPCrec -lCONTAINERS -lAliL3Src -lAliL3Misc -lAliL3Hough -lAliL3Comp
+LIBS     += -lEG -lVMC -lGeom -lThread -L../lib/tgt_linuxDEBUG -lSTEER -lRAWData -lTPCbase -lTPCsim -lTPCrec -lCONTAINERS -lAliHLTSrc -lAliHLTMisc -lAliHLTHough -lAliHLTComp
 endif
 
 ##### DATE #####
index e5edf6698b27f7bac5065b77792d8628086250c9..bc48081eca81e1327b77cc4cb840102778ece986 100644 (file)
@@ -14,7 +14,7 @@ EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
-ELIBS:=ESD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec AliL3Src AliL3Misc AliL3Hough AliL3Comp AliL3ITS AliL3MUON ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
+ELIBS:=ESD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS AliHLTMUON ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
 
 ifneq (,$(findstring macosx,$(ALICE_TARGET)))
 PACKLDFLAGS:=$(LDFLAGS) $(@PACKAGE@LIBSINIT:%=-Wl,-u,_G__cpp_setupG__%)
index 236dd5dc2e1401a969004acca66893946d5c54d1..8b819d4782d4c85ca3f6409183bf2a2f5f139039 100644 (file)
@@ -13,7 +13,7 @@ EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
-ELIBS:=ESD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec AliL3Src AliL3Misc AliL3Hough AliL3Comp AliL3ITS AliL3MUON ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
+ELIBS:=ESD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS AliHLTMUON ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONmapping
 
 ifneq (,$(findstring macosx,$(ALICE_TARGET)))
 PACKLDFLAGS:=$(LDFLAGS) $(@PACKAGE@LIBSINIT:%=-Wl,-u,_G__cpp_setupG__%)
index 6de91a960cc40b6bdbaa5dd2da1c1b463a908201..f8c7a34e4bba1897fe23341c503eb6776c60dcae 100644 (file)
@@ -1408,10 +1408,10 @@ AliReconstructor* AliReconstruction::GetReconstructor(Int_t iDet)
 
   if (detName == "HLT") {
     if (!gROOT->GetClass("AliLevel3")) {
-      gSystem->Load("libAliL3Src.so");
-      gSystem->Load("libAliL3Misc.so");
-      gSystem->Load("libAliL3Hough.so");
-      gSystem->Load("libAliL3Comp.so");
+      gSystem->Load("libAliHLTSrc.so");
+      gSystem->Load("libAliHLTMisc.so");
+      gSystem->Load("libAliHLTHough.so");
+      gSystem->Load("libAliHLTComp.so");
     }
   }
 
index 6ca6ff9dad87496a26c2c7b8284ba144f8c271a7..480cf17c307fb3624620c67b5ea1c7e9b8899298 100644 (file)
@@ -12,7 +12,7 @@ HBTAN/module.mk:       HBTAN/libHBTAN.pkg
 HBTP/module.mk:                 HBTP/libHBTP.pkg
 HERWIG/module.mk:        HERWIG/libherwig.pkg
 HIJING/module.mk:       HIJING/libhijing.pkg
-HLT/module.mk:           HLT/libAliL3Src.pkg  HLT/libAliL3Hough.pkg  HLT/libAliL3Misc.pkg  HLT/libAliL3Comp.pkg HLT/libAliL3ITS.pkg HLT/libAliL3MUON.pkg
+HLT/module.mk:           HLT/libAliHLTSrc.pkg  HLT/libAliHLTHough.pkg  HLT/libAliHLTMisc.pkg  HLT/libAliHLTComp.pkg HLT/libAliHLTITS.pkg HLT/libAliHLTMUON.pkg
 ITS/module.mk:          ITS/libITSbase.pkg ITS/libITSsim.pkg ITS/libITSrec.pkg
 JETAN/module.mk:        JETAN/libJETAN.pkg
 MEVSIM/module.mk:       MEVSIM/libmevsim.pkg
index 485043626769582dce7e24890ca0c01056f47232..ff2217462082fb74a16307b12a92d45577ef4dbf 100644 (file)
@@ -89,10 +89,10 @@ void loadlibs ()
   gSystem->Load("libTOFsim");
   gSystem->Load("libTOFrec");
 
-  gSystem->Load("libAliL3ITS");
-  gSystem->Load("libAliL3Src");
-  gSystem->Load("libAliL3Misc");
-  gSystem->Load("libAliL3Comp");
+  gSystem->Load("libAliHLTITS");
+  gSystem->Load("libAliHLTSrc");
+  gSystem->Load("libAliHLTMisc");
+  gSystem->Load("libAliHLTComp");
   gSystem->Load("libThread");
-  gSystem->Load("libAliL3Hough");
+  gSystem->Load("libAliHLTHough");
 }
index 7905401ec0b357e90f505b8314e05c421a9543ce..05c571f774fe835bf7f00da7f41c1eb6c02b62ce 100644 (file)
@@ -71,10 +71,10 @@ void loadlibsrec ()
   gSystem->Load("libTOFsim");
   gSystem->Load("libTOFrec");
 
-  gSystem->Load("libAliL3ITS");
-  gSystem->Load("libAliL3Src");
-  gSystem->Load("libAliL3Misc");
-  gSystem->Load("libAliL3Comp");
+  gSystem->Load("libAliHLTITS");
+  gSystem->Load("libAliHLTSrc");
+  gSystem->Load("libAliHLTMisc");
+  gSystem->Load("libAliHLTComp");
   gSystem->Load("libThread");
-  gSystem->Load("libAliL3Hough");
+  gSystem->Load("libAliHLTHough");
 }