Introduction of the HLT reconstruction into the simulation. Removal of the obsolete...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Oct 2007 11:52:00 +0000 (11:52 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Oct 2007 11:52:00 +0000 (11:52 +0000)
22 files changed:
ALIROOT/binaliroot.pkg
ANALYSIS/binaliengui.pkg
EVE/binalieve.pkg
MONITOR/AliMonitorProcess.cxx
MONITOR/AliMonitorProcess.h
MONITOR/MONITORLinkDef.h
MONITOR/binderoot.pkg
MONITOR/binmonitorCheck.pkg
MONITOR/binmonitorGDC.pkg
MONITOR/libMONITOR.pkg
MONITOR/monitorCheck.cxx
MONITOR/monitorGDC.cxx
RAW/MDCFilterLinkDef.h
RAW/binalimdc.pkg
RAW/bindateStream.pkg
RAW/libMDC.pkg
RAW/libMDCFilter.pkg
STEER/AliReconstruction.cxx
STEER/AliSimulation.cxx
STEER/AliSimulation.h
STEER/libSTEER.pkg
build/module.dep

index b2aa52ace8e1a66e44b95068ea0cc570e4b0143f..1c9a4964118910f58902feeebb08bbec0c3646bd 100644 (file)
@@ -21,8 +21,7 @@ ELIBS:= MUONgeometry MUONrec MUONsim MUONbase MUONtrigger MUONraw MUONcalib MUON
         hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
         FASTSIM microcern \
        RAWDatabase RAWDatarec RAWDatasim \
-       HLTbase AliHLTSrc AliHLTComp AliHLTMisc MUONevaluation \
-       AliHLTHough AliHLTITS\
+       HLTbase MUONevaluation \
 #      THerwig herwig TPHIC
 
 ifeq (macosx,$(ALICE_TARGET))
index c1add39207b2f0fdfb46f429756e3549c07b724b..e4d9d7524a6348c18af052ce1bc259399ba641a0 100644 (file)
@@ -18,8 +18,7 @@ ELIBS    := Aliengui \
   hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
-  HLTbase AliHLTSrc AliHLTComp AliHLTMisc \
-  AliHLTHough AliHLTITS \
+  HLTbase \
   ANALYSIS
 
 CHECKXML = $(shell root-config --has-xml)
index 5fcc3c1ae73dcf0873fcd816cc11e2b2e3da102b..c928975547f7bdadf8851269042d4a2f167adf37 100644 (file)
@@ -18,8 +18,7 @@ ELIBS    := Reve Alieve \
   hijing TMEVSIM mevsim THbtp HBTP TEPEMGEN EPEMGEN \
   FASTSIM microcern \
   RAWDatabase RAWDatarec RAWDatasim \
-  HLTbase AliHLTSrc AliHLTComp AliHLTMisc \
-  AliHLTHough AliHLTITS \
+  HLTbase \
 # THerwig herwig TPHIC
 
 PACKBLIBS := $(ROOTCLIBS) $(ROOTPLIBS) -lTreePlayer -lGeomPainter -lGed -lFTGL -lRGL $(SYSLIBS)
index ae246336107240b3baa10ad178835be125db3915..9cfe950da8ce7e0b3d52d58c26d07be5bc58b4a5 100644 (file)
 #include "AliITSgeom.h"
 #include "AliITStrackerV2.h"
 #include "AliLoader.h"
+// Matthias 2007-10-03 HLT legacy code disabled
+// everything encapsulated by ENABLE_ALIMONITORPROCESS_HLT
+// set the define in the header file to include the code
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 #include "AliMonitorHLT.h"
 #include "AliMonitorHLTHough.h"
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 #include "AliMonitorITS.h"
 #include "AliMonitorProcess.h"
 #include "AliMonitorTPC.h"
@@ -52,6 +57,7 @@
 #include "AliTPCtrackerMI.h"
 #include "AliV0vertexer.h"
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 #include <AliHLTStandardIncludes.h>
 #include <AliHLTMemHandler.h>
 #include <AliHLTClusterFitter.h>
@@ -64,6 +70,7 @@
 #include <AliHLTTransform.h>
 #include <AliHLTVertex.h>
 #include <AliLevel3.h>
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
 ClassImp(AliMonitorProcess)
 
@@ -143,11 +150,13 @@ AliMonitorProcess::AliMonitorProcess(
   fITSgeom = (AliITSgeom*)gDirectory->Get("AliITSgeom");
   if (!fITSgeom) AliFatal("could not load ITS geometry");
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   // Init TPC parameters for HLT
   Bool_t isinit=AliHLTTransform::Init(const_cast<char*>(fileNameGalice),kTRUE);
   if(!isinit){
     AliFatal("Could not create transform settings, please check log for error messages!");
   }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   fTopFolder = new TFolder("Monitor", "monitor histograms");
   fTopFolder->SetOwner(kTRUE);
@@ -155,8 +164,10 @@ AliMonitorProcess::AliMonitorProcess(
   if (IsSelected("TPC")) fMonitors.Add(new AliMonitorTPC(fTPCParam));
   if (IsSelected("ITS")) fMonitors.Add(new AliMonitorITS(fITSgeom));
   if (IsSelected("V0s")) fMonitors.Add(new AliMonitorV0s);
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   if (IsSelected("HLTConfMap")) fMonitors.Add(new AliMonitorHLT(fTPCParam));
   if (IsSelected("HLTHough")) fMonitors.Add(new AliMonitorHLTHough(fTPCParam));
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   for (Int_t iMonitor = 0; iMonitor < fMonitors.GetEntriesFast(); iMonitor++) {
     ((AliMonitor*) fMonitors[iMonitor])->CreateHistos(fTopFolder);
@@ -253,8 +264,10 @@ AliMonitorProcess::~AliMonitorProcess()
   delete fFile;
   gSystem->Unlink("monitor_tree.root");
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   delete fHLT;
   delete fHLTHough;
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   gSystem->RemoveSignalHandler(fInterruptHandler);
   delete fInterruptHandler;
@@ -432,8 +445,10 @@ Bool_t AliMonitorProcess::ProcessFile()
   if (nEvents <= 0) return kFALSE;
   AliDebug(1, Form("found %d event(s) in file %s",
                   nEvents, fFileName.Data()));
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   if (IsSelected("HLTConfMap")) CreateHLT(fFileName);
   if (IsSelected("HLTHough")) CreateHLTHough(fFileName);
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   // loop over the events
   for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
@@ -474,6 +489,7 @@ Bool_t AliMonitorProcess::ProcessFile()
       if (!ReconstructV0s(&esd)) return kFALSE;
       if (fStopping) break;
     }
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
     if (IsSelected("HLTConfMap")) {
       CheckForConnections();
       if (!ReconstructHLT(iEvent)) return kFALSE;
@@ -484,6 +500,7 @@ Bool_t AliMonitorProcess::ProcessFile()
       if (!ReconstructHLTHough(iEvent)) return kFALSE;
       if (fStopping) break;
     }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
     if (fDisplaySocket) fDisplaySocket->Send("new event");
 
@@ -522,6 +539,7 @@ Bool_t AliMonitorProcess::ProcessFile()
     if (fStopping) break;
   }
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   if (fHLT) {
     delete fHLT;
     fHLT = NULL;
@@ -530,6 +548,7 @@ Bool_t AliMonitorProcess::ProcessFile()
     delete fHLTHough;
     fHLTHough = NULL;
   }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   return kTRUE;
 }
@@ -677,6 +696,7 @@ Bool_t AliMonitorProcess::ReconstructV0s(AliESDEvent* esd)
   return kTRUE;
 }
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 //_____________________________________________________________________________
 void AliMonitorProcess::CreateHLT(const char* fileName)
 {
@@ -714,7 +734,9 @@ void AliMonitorProcess::CreateHLT(const char* fileName)
 
   fHLT->WriteFiles("./hlt/");
 }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 //_____________________________________________________________________________
 void AliMonitorProcess::CreateHLTHough(const char* fileName)
 {
@@ -735,7 +757,9 @@ void AliMonitorProcess::CreateHLTHough(const char* fileName)
   //  fHLTHough->GetMaxFinder()->SetThreshold(14000);
 
 }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 //_____________________________________________________________________________
 Bool_t AliMonitorProcess::ReconstructHLT(Int_t iEvent)
 {
@@ -761,7 +785,9 @@ Bool_t AliMonitorProcess::ReconstructHLT(Int_t iEvent)
   gSystem->Exec(command);
   return kTRUE;
 }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
 //_____________________________________________________________________________
 Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
 {
@@ -858,6 +884,7 @@ Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
   gSystem->Exec(command);
   return kTRUE;
 }
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
 //_____________________________________________________________________________
 Bool_t AliMonitorProcess::WriteHistos()
index 36fa68e235795f1cf64e2679080c3888b4f16e7f..3c2cb0186cdfe4ac6c520f38d4f60f9e293fd33e 100644 (file)
@@ -77,10 +77,12 @@ private:
   Bool_t           ReconstructTPC(AliRawReader* rawReader, AliESDEvent* esd);
   Bool_t           ReconstructITS(AliRawReader* rawReader, AliESDEvent* esd);
   Bool_t           ReconstructV0s(AliESDEvent* esd);
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
   void             CreateHLT(const char* fileName);
   void             CreateHLTHough(const char* fileName);
   Bool_t           ReconstructHLT(Int_t iEvent);
   Bool_t           ReconstructHLTHough(Int_t iEvent);
+#endif // ENABLE_ALIMONITORPROCESS_HLT
 
   Bool_t           WriteHistos();
   void             StartNewRun();
@@ -104,6 +106,7 @@ private:
   AliLevel3*       fHLT;                // the HLT tracker
   AliHLTHough*      fHLTHough;           // the HLT hough transformer
 
+
   UInt_t           fRunNumber;          // current run number
   UInt_t           fSubRunNumber;       // current part (=resets per run)
   UInt_t           fEventNumber[2];     // current event number
index e4ba0b66e24f5f04cde7b2836d5ad70c446a0ea1..430c4e17f5b84a47d646e2cfdab187bfe0e37fd3 100644 (file)
@@ -17,8 +17,9 @@
 #pragma link C++ class  AliMonitorDataTPC+;
 #pragma link C++ class  AliMonitorITS+;
 #pragma link C++ class  AliMonitorV0s+;
-#pragma link C++ class  AliMonitorHLT+;
-#pragma link C++ class  AliMonitorHLTHough+;
+// Matthias 2007-10-03 HLT legacy code disabled
+//#pragma link C++ class  AliMonitorHLT+;
+//#pragma link C++ class  AliMonitorHLTHough+;
 #pragma link C++ class  AliMonitorProcess+;
 #pragma link C++ class  AliMonitorControl+;
 #pragma link C++ class  AliMonitorDialog+;
index bca309f528ad08cca96639e586ad0b8c907a0ca3..882fb881bc3d3bbbcda1d533c1cfe1ff3a3f2594 100644 (file)
@@ -1,15 +1,8 @@
 #-*- Mode: Makefile -*-
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:=deroot.cxx
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
@@ -18,7 +11,7 @@ ifdef DATE_ROOT
 SRCS += root2date.cxx
 PACKBLIBS += $(shell date-config --monitorlibs)
 ELIBSDIR:=
-ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec HLTbase AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
+ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec HLTbase ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
 EINCLUDE+= ${DATE_COMMON_DEFS} ${DATE_MONITOR_DIR}
 
 endif
index 5b254eae7b50eb85aada4826d6363962d227087f..f5009d2f13d542c5163d9bb8aea179772b0bf6de 100644 (file)
@@ -1,16 +1,9 @@
 #-*- Mode: Makefile -*-
 # $Id$
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:=monitorCheck.cxx
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
@@ -18,7 +11,7 @@ ifdef DATE_ROOT
 
 PACKBLIBS += $(shell date-config --monitorlibs)
 ELIBSDIR:=
-ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec ITSbase ITSsim ITSrec HLTbase AliHLTSrc AliHLTComp AliHLTMisc AliHLTHough AliHLTITS MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
+ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec ITSbase ITSsim ITSrec HLTbase MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
 EINCLUDE+= ${DATE_COMMON_DEFS} ${DATE_MONITOR_DIR}
 
 endif
index 4601d7453dd160bb2cf851a4c38ecec4a9b7596f..61c7c7da63d694a3f93eab6650014e24d9f08c1d 100644 (file)
@@ -1,16 +1,9 @@
 #-*- Mode: Makefile -*-
 # $Id$
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:=monitorGDC.cxx
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
@@ -18,7 +11,7 @@ ifdef DATE_ROOT
 
 PACKBLIBS += $(shell date-config --monitorlibs)
 ELIBSDIR:=
-ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec HLTbase AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
+ELIBS:=STEERBase ESD AOD CDB STEER RAWDatabase RAWDatarec RAWDatasim TPCbase TPCsim TPCrec HLTbase ITSbase ITSsim ITSrec MUONsim MUONrec MUONbase MUONgeometry MUONraw MUONcalib MUONmapping MUONtrigger MUONevaluation
 EINCLUDE+= ${DATE_COMMON_DEFS} ${DATE_MONITOR_DIR}
 
 endif
index 05c4320edb428e8f38912368d441ba5cd8da61a9..9cdd0085b8a318cc04c1d2a6b2a6ae5cc0986cca 100644 (file)
@@ -1,23 +1,18 @@
 #-*- Mode: Makefile -*-
 # $Id$
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:=  AliMonitorPlot.cxx AliMonitorHisto.cxx AliMonitorTrend.cxx \
        AliMonitor.cxx \
        AliMonitorTPC.cxx AliMonitorITS.cxx AliMonitorV0s.cxx \
-       AliMonitorHLT.cxx AliMonitorHLTHough.cxx \
        AliMonitorDataTPC.cxx \
        AliMonitorProcess.cxx AliMonitorControl.cxx \
        AliMonitorDialog.cxx AliMonitorClient.cxx
 
+# Matthias 2007-10-03 HLT legacy code disabled
+#      AliMonitorHLT.cxx AliMonitorHLTHough.cxx \
+
 HDRS:= $(SRCS:.cxx=.h)
 
 DHDR:= MONITORLinkDef.h
 
-EINCLUDE:= TPC ITS RAW HLT/src HLT/hough HLT/comp
+EINCLUDE:= TPC ITS RAW
index f25d700546fba14a08b3d3a107629cada410145b..f31d497761ada26012846288609e2cd3add44ff8 100644 (file)
@@ -52,7 +52,7 @@ AliGDCInterruptHandler::AliGDCInterruptHandler() :
   TSignalHandler(kSigInterrupt, kFALSE) 
 {
   fStop = kFALSE;
-};
+}
 
 
 //_____________________________________________________________________________
index 1c138ab0cbe41b9a779f2368f9a2d212bbba894b..4e6c773a1404fe49826ca44dfde477208d3f91de 100644 (file)
@@ -34,6 +34,7 @@
 #include "AliRawReaderDate.h"
 #include "event.h"
 #include "monitor.h"
+/*
 #include <AliHLTStandardIncludes.h>
 #include <AliHLTTransform.h>
 #include <AliHLTMemHandler.h>
 #include <AliHLTHoughBaseTransformer.h>
 #include <AliHLTHough.h>
 #include <AliHLTBenchmark.h>
+#include <AliHLTITSclusterer.h>
+#include <AliHLTITSVertexerZ.h>
+#include <AliHLTITStracker.h>
+*/
+#include "AliESDEvent.h"
 #include "AliESDVertex.h"
+#include "AliTracker.h"
 #include <AliKalmanTrack.h>
 #include "AliITSgeomTGeo.h"
 #include "AliITSgeom.h"
 #include "AliMagF.h"
 #include "AliMagFMaps.h"
-#include <AliHLTITSclusterer.h>
-#include <AliHLTITSVertexerZ.h>
-#include <AliHLTITStracker.h>
 #endif
 
 //_____________________________________________________________________________
@@ -68,7 +72,7 @@ AliGDCInterruptHandler::AliGDCInterruptHandler() :
   TSignalHandler(kSigInterrupt, kFALSE) 
 {
   fStop = kFALSE;
-};
+}
 
 
 //_____________________________________________________________________________
@@ -102,32 +106,31 @@ int main(int argc, char** argv)
   if (status) ::Fatal("monitorDeclareMp", monitorDecodeError(status));
 
   // initialize HLT transformations
-  if (!AliHLTTransform::Init("./", kFALSE)) {
-    ::Fatal("AliHLTTransform::Init", "HLT initialization failed");
-  }
+  //  if (!AliHLTTransform::Init("./", kFALSE)) {
+  //    ::Fatal("AliHLTTransform::Init", "HLT initialization failed");
+  //  }
+
   AliESDEvent *esd = new AliESDEvent;
   esd->CreateStdContent();
-  //  AliKalmanTrack::SetConvConst(
-  //     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)(AliHLTTransform::GetSolenoidField()+0.5)) {
-  case 2:
-    sfield = AliMagFMaps::k2kG;
-    break;
-  case 4:
-    sfield = AliMagFMaps::k4kG;
-    break;
-  case 5:
-    sfield = AliMagFMaps::k5kG;
-    break;
-  default:
-    ::Fatal("AliHLTTransform::GetSolenoidField", "Incorrect magnetic field");
-  }
-  AliMagF* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., sfield);
+
+  //  AliITSgeom *geom = new AliITSgeom();
+  //  geom->ReadNewFile("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det");
+  //  if (!geom) return 1;
+  //  Int_t sfield = 0;
+  //  switch ((Int_t)(AliHLTTransform::GetSolenoidField()+0.5)) {
+  //  case 2:
+  //    sfield = AliMagFMaps::k2kG;
+  //    break;
+  //  case 4:
+  //    sfield = AliMagFMaps::k4kG;
+  //    break;
+  //  case 5:
+  //    sfield = AliMagFMaps::k5kG;
+  //    break;
+  //  default:
+  //    ::Fatal("AliHLTTransform::GetSolenoidField", "Incorrect magnetic field");
+  //  }
+  AliMagF* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., AliMagFMaps::k5kG);
   AliTracker::SetFieldMap(field,kTRUE);
 
   // Init PID
@@ -167,164 +170,164 @@ int main(int argc, char** argv)
 
       } else {
 
-       AliHLTBenchmark *fBenchmark = new AliHLTBenchmark();
-       fBenchmark->Start("Overall timing");
+//     AliHLTBenchmark *fBenchmark = new AliHLTBenchmark();
+//     fBenchmark->Start("Overall timing");
 
-       // ITS clusterer and vertexer
-       fBenchmark->Start("ITS Clusterer");
-       AliHLTITSclusterer clusterer(0);
-       AliRawReader *itsrawreader=new AliRawReaderDate(ptr);
-       TTree* treeClusters = new TTree("TreeL3ITSclusters"," "); //make a tree
-       clusterer.Digits2Clusters(itsrawreader,treeClusters);
-       fBenchmark->Stop("ITS Clusterer");
+//     // ITS clusterer and vertexer
+//     fBenchmark->Start("ITS Clusterer");
+//     AliHLTITSclusterer clusterer(0);
+//     AliRawReader *itsrawreader=new AliRawReaderDate(ptr);
+//     TTree* treeClusters = new TTree("TreeL3ITSclusters"," "); //make a tree
+//     clusterer.Digits2Clusters(itsrawreader,treeClusters);
+//     fBenchmark->Stop("ITS Clusterer");
        
-       AliHLTITSVertexerZ vertexer;
-       AliESDVertex *vertex = vertexer.FindVertexForCurrentEvent(geom,treeClusters);
-       Double_t vtxPos[3];
-       Double_t vtxErr[3]={0.005,0.005,0.010};
-       vertex->GetXYZ(vtxPos);
-       //      vertex->GetSigmaXYZ(vtxErr);
-       esd->SetVertex(vertex);
-
-       // TPC Hough reconstruction
-       Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
-       Float_t zvertex = vtxPos[2];
-
-       // Run the Hough Transformer
-       fBenchmark->Start("Init");
-       AliHLTHough *hough1 = new AliHLTHough();
-
-       hough1->SetThreshold(4);
-       hough1->CalcTransformerParams(ptmin);
-       hough1->SetPeakThreshold(70,-1);
-       //      printf("Pointer is %x\n",ptr);
-       hough1->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,zvertex);
-       hough1->SetAddHistograms();
-       fBenchmark->Stop("Init");
-
-       fBenchmark->Start("Init");
-       AliHLTHough *hough2 = new AliHLTHough();
-
-       hough2->SetThreshold(4);
-       hough2->CalcTransformerParams(ptmin);
-       hough2->SetPeakThreshold(70,-1);
-       //      printf("Pointer is %x\n",ptr);
-       hough2->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,zvertex);
-       hough2->SetAddHistograms();
-       fBenchmark->Stop("Init");
-
-       Int_t nglobaltracks = 0;
-       /*
-       hough1->StartProcessInThread(0,17);
-       hough2->StartProcessInThread(18,35);
-
-       //      gSystem->Sleep(20000);
-       if(hough1->WaitForThreadFinish())
-         ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
-       if(hough2->WaitForThreadFinish())
-         ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
-
-       gSystem->MakeDirectory("hough1");
-       hough1->WriteTracks("./hough1");
-       gSystem->MakeDirectory("hough2");
-       hough2->WriteTracks("./hough2");
-       */
-
-       for(int slice=0; slice<=17; slice++)
-       {
-         //      cout<<"Processing slice "<<slice<<endl;
-         fBenchmark->Start("ReadData");
-         hough1->ReadData(slice,0);
-         fBenchmark->Stop("ReadData");
-         fBenchmark->Start("Transform");
-         hough1->Transform();
-         fBenchmark->Stop("Transform");
-         hough1->AddAllHistogramsRows();
-         hough1->FindTrackCandidatesRow();
-         fBenchmark->Start("AddTracks");
-         hough1->AddTracks();
-         fBenchmark->Stop("AddTracks");
-
-         //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough1->GetTracks(0);
-         //      nglobaltracks += tracks->GetNTracks();
-       }
-       for(int slice=18; slice<=35; slice++)
-       {
-         //      cout<<"Processing slice "<<slice<<endl;
-         fBenchmark->Start("ReadData");
-         hough2->ReadData(slice,0);
-         fBenchmark->Stop("ReadData");
-         fBenchmark->Start("Transform");
-         hough2->Transform();
-         fBenchmark->Stop("Transform");
-         hough2->AddAllHistogramsRows();
-         hough2->FindTrackCandidatesRow();
-         fBenchmark->Start("AddTracks");
-         hough2->AddTracks();
-         fBenchmark->Stop("AddTracks");
-
-         //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough2->GetTracks(0);
-         //      nglobaltracks += tracks->GetNTracks();
-       }
-
-       nglobaltracks += hough1->FillESD(esd);
-       nglobaltracks += hough2->FillESD(esd);
-
-       // ITS tracker
-       AliHLTITStracker itsTracker(0);
-       itsTracker.SetVertex(vtxPos,vtxErr);
-
-       itsTracker.LoadClusters(treeClusters);
-       itsTracker.Clusters2Tracks(esd);
-       itsTracker.UnloadClusters();
-
-       fBenchmark->Stop("Overall timing");
-       time.Set();
-       if (file) fprintf(file, "%s\n", time.AsString());
-       if (file) fprintf(file, "run: %d  event: %d %d\n", 
-                         rawReader.GetRunNumber(), 
-                         rawReader.GetEventId()[0], 
-                         rawReader.GetEventId()[1]);
-       if (errorCode) fprintf(file, "ERROR: %d\n", errorCode);
-
-       if (file) fprintf(file, "Hough Transformer found %d tracks\n",nglobaltracks);
-
-       hough1->DoBench("hough1");
-       hough2->DoBench("hough2");
-       fBenchmark->Analyze("overall");
-       if (file) {
-         FILE* bench = fopen("hough1.dat", "r");
-         while (bench && !feof(bench)) {
-           char buffer[256];
-           if (!fgets(buffer, 256, bench)) break;
-           fprintf(file, "%s", buffer);
-         }
-         fclose(bench);
-       }
-       if (file) {
-         FILE* bench = fopen("hough2.dat", "r");
-         while (bench && !feof(bench)) {
-           char buffer[256];
-           if (!fgets(buffer, 256, bench)) break;
-           fprintf(file, "%s", buffer);
-         }
-         fclose(bench);
-       }
-       if (file) {
-         FILE* bench = fopen("overall.dat", "r");
-         while (bench && !feof(bench)) {
-           char buffer[256];
-           if (!fgets(buffer, 256, bench)) break;
-           fprintf(file, "%s", buffer);
-         }
-         fclose(bench);
-         fprintf(file, "\n\n");
-       }
-
-       delete hough1;
-       delete hough2;
-
-       esd->Reset();
+//     AliHLTITSVertexerZ vertexer;
+//     AliESDVertex *vertex = vertexer.FindVertexForCurrentEvent(geom,treeClusters);
+//     Double_t vtxPos[3];
+//     Double_t vtxErr[3]={0.005,0.005,0.010};
+//     vertex->GetXYZ(vtxPos);
+//     //      vertex->GetSigmaXYZ(vtxErr);
+//     esd->SetVertex(vertex);
+
+//     // TPC Hough reconstruction
+//     Float_t ptmin = 0.1*AliHLTTransform::GetSolenoidField();
+//     Float_t zvertex = vtxPos[2];
+
+//     // Run the Hough Transformer
+//     fBenchmark->Start("Init");
+//     AliHLTHough *hough1 = new AliHLTHough();
+
+//     hough1->SetThreshold(4);
+//     hough1->CalcTransformerParams(ptmin);
+//     hough1->SetPeakThreshold(70,-1);
+//     //      printf("Pointer is %x\n",ptr);
+//     hough1->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,zvertex);
+//     hough1->SetAddHistograms();
+//     fBenchmark->Stop("Init");
+
+//     fBenchmark->Start("Init");
+//     AliHLTHough *hough2 = new AliHLTHough();
+
+//     hough2->SetThreshold(4);
+//     hough2->CalcTransformerParams(ptmin);
+//     hough2->SetPeakThreshold(70,-1);
+//     //      printf("Pointer is %x\n",ptr);
+//     hough2->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,zvertex);
+//     hough2->SetAddHistograms();
+//     fBenchmark->Stop("Init");
+
+//     Int_t nglobaltracks = 0;
+//     /*
+//     hough1->StartProcessInThread(0,17);
+//     hough2->StartProcessInThread(18,35);
+
+//     //      gSystem->Sleep(20000);
+//     if(hough1->WaitForThreadFinish())
+//       ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
+//     if(hough2->WaitForThreadFinish())
+//       ::Fatal("AliHLTHough::WaitForThreadFinish"," Can not join the required thread! ");
+
+//     gSystem->MakeDirectory("hough1");
+//     hough1->WriteTracks("./hough1");
+//     gSystem->MakeDirectory("hough2");
+//     hough2->WriteTracks("./hough2");
+//     */
+
+//     for(int slice=0; slice<=17; slice++)
+//     {
+//       //      cout<<"Processing slice "<<slice<<endl;
+//       fBenchmark->Start("ReadData");
+//       hough1->ReadData(slice,0);
+//       fBenchmark->Stop("ReadData");
+//       fBenchmark->Start("Transform");
+//       hough1->Transform();
+//       fBenchmark->Stop("Transform");
+//       hough1->AddAllHistogramsRows();
+//       hough1->FindTrackCandidatesRow();
+//       fBenchmark->Start("AddTracks");
+//       hough1->AddTracks();
+//       fBenchmark->Stop("AddTracks");
+
+//       //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough1->GetTracks(0);
+//       //      nglobaltracks += tracks->GetNTracks();
+//     }
+//     for(int slice=18; slice<=35; slice++)
+//     {
+//       //      cout<<"Processing slice "<<slice<<endl;
+//       fBenchmark->Start("ReadData");
+//       hough2->ReadData(slice,0);
+//       fBenchmark->Stop("ReadData");
+//       fBenchmark->Start("Transform");
+//       hough2->Transform();
+//       fBenchmark->Stop("Transform");
+//       hough2->AddAllHistogramsRows();
+//       hough2->FindTrackCandidatesRow();
+//       fBenchmark->Start("AddTracks");
+//       hough2->AddTracks();
+//       fBenchmark->Stop("AddTracks");
+
+//       //      AliHLTTrackArray* tracks = (AliHLTTrackArray*)hough2->GetTracks(0);
+//       //      nglobaltracks += tracks->GetNTracks();
+//     }
+
+//     nglobaltracks += hough1->FillESD(esd);
+//     nglobaltracks += hough2->FillESD(esd);
+
+//     // ITS tracker
+//     AliHLTITStracker itsTracker(0);
+//     itsTracker.SetVertex(vtxPos,vtxErr);
+
+//     itsTracker.LoadClusters(treeClusters);
+//     itsTracker.Clusters2Tracks(esd);
+//     itsTracker.UnloadClusters();
+
+//     fBenchmark->Stop("Overall timing");
+//     time.Set();
+//     if (file) fprintf(file, "%s\n", time.AsString());
+//     if (file) fprintf(file, "run: %d  event: %d %d\n", 
+//                       rawReader.GetRunNumber(), 
+//                       rawReader.GetEventId()[0], 
+//                       rawReader.GetEventId()[1]);
+//     if (errorCode) fprintf(file, "ERROR: %d\n", errorCode);
+
+//     if (file) fprintf(file, "Hough Transformer found %d tracks\n",nglobaltracks);
+
+//     hough1->DoBench("hough1");
+//     hough2->DoBench("hough2");
+//     fBenchmark->Analyze("overall");
+//     if (file) {
+//       FILE* bench = fopen("hough1.dat", "r");
+//       while (bench && !feof(bench)) {
+//         char buffer[256];
+//         if (!fgets(buffer, 256, bench)) break;
+//         fprintf(file, "%s", buffer);
+//       }
+//       fclose(bench);
+//     }
+//     if (file) {
+//       FILE* bench = fopen("hough2.dat", "r");
+//       while (bench && !feof(bench)) {
+//         char buffer[256];
+//         if (!fgets(buffer, 256, bench)) break;
+//         fprintf(file, "%s", buffer);
+//       }
+//       fclose(bench);
+//     }
+//     if (file) {
+//       FILE* bench = fopen("overall.dat", "r");
+//       while (bench && !feof(bench)) {
+//         char buffer[256];
+//         if (!fgets(buffer, 256, bench)) break;
+//         fprintf(file, "%s", buffer);
+//       }
+//       fclose(bench);
+//       fprintf(file, "\n\n");
+//     }
+
+//     delete hough1;
+//     delete hough2;
+
+//     esd->Reset();
       }
     //    }
 
index 7237fd7d4a73208b9ce2bdc73e456f26023ed82f..1c18d182ca636e22a8e75281ac185d34029cdaec 100644 (file)
@@ -4,6 +4,6 @@
 #pragma link off all classes;
 #pragma link off all functions;
 
-#pragma link C++ class AliHoughFilter;
+//#pragma link C++ class AliHoughFilter;
 
 #endif
index 713292ffe8c7888001362ec828856536d9e210bf..23513bbf5f892fd7cb2ab0768e41d4062aa0bbf2 100644 (file)
@@ -1,20 +1,13 @@
 #-*- Mode: Makefile -*-
 # $Id$ 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:= alimdc_main.cxx ${ESRCS}
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 # -DUSE_DEBUG for alimdc debug printout
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
-ELIBS:=STEERBase ESD AOD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec HLTbase AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS ITSbase ITSsim ITSrec MUONevaluation MUONsim MUONrec MUONbase MUONtrigger MUONgeometry MUONraw MUONcalib MUONmapping
+ELIBS:=STEERBase ESD AOD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec HLTbase ITSbase ITSsim ITSrec MUONevaluation MUONsim MUONrec MUONbase MUONtrigger MUONgeometry MUONraw MUONcalib MUONmapping
 
 ifneq (,$(findstring macosx,$(ALICE_TARGET)))
 PACKLDFLAGS:=$(LDFLAGS) $(@PACKAGE@LIBSINIT:%=-Wl,-u,_G__cpp_setupG__%)
index d8fb50b9afdf3778b92358f364b855258ee61be7..956ad75e1c0a2738472c148cb63e59aa0d92e2c2 100644 (file)
@@ -1,19 +1,12 @@
 #-*- Mode: Makefile -*-
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:= dateStream.cxx ${ESRCS}
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 PACKBLIBS := $(ROOTCLIBS) $(SYSLIBS)
 
-ELIBS:=STEERBase ESD AOD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec HLTbase AliHLTSrc AliHLTMisc AliHLTHough AliHLTComp AliHLTITS ITSbase ITSsim ITSrec MUONevaluation MUONsim MUONrec MUONbase MUONtrigger MUONgeometry MUONraw MUONcalib MUONmapping
+ELIBS:=STEERBase ESD AOD RAWDatabase RAWDatarec RAWDatasim MDC MDCFilter CDB STEER TPCbase TPCsim TPCrec HLTbase ITSbase ITSsim ITSrec MUONevaluation MUONsim MUONrec MUONbase MUONtrigger MUONgeometry MUONraw MUONcalib MUONmapping
 
 ifneq (,$(findstring macosx,$(ALICE_TARGET)))
 PACKLDFLAGS:=$(LDFLAGS) $(@PACKAGE@LIBSINIT:%=-Wl,-u,_G__cpp_setupG__%)
index 488be2f4212d0e77aa7fafa466f1c58f53ebd890..6796645e7709fcbafe1fd4162c350b09380f7539 100644 (file)
@@ -1,12 +1,5 @@
 #-*- Mode: Makefile -*-
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
 SRCS:=  AliMDC.cxx AliRawDB.cxx \
        AliRawRFIODB.cxx AliRawCastorDB.cxx AliRawRootdDB.cxx \
        AliRawNullDB.cxx AliTagDB.cxx AliTagNullDB.cxx \
@@ -18,7 +11,7 @@ EHDRS:=$(shell root-config --incdir)/TH1F.h
 
 #EDEFINE+= -DUSE_EB
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 DHDR:= MDCLinkDef.h 
 
index f37f3eb8e4f07cb60b5474caf6117a6b673579c9..d94b5989636d0f9aa1673dbc4c897532e4e3ad45 100644 (file)
@@ -1,13 +1,8 @@
 #-*- Mode: Makefile -*-
 
-include HLT/hlt.conf
-
-EDEFINE      := ${HLTDEFS}
-PACKCXXFLAGS := ${HLTCXXFLAGS}
-PACKCFLAGS   := ${HLTCLFAGS}
-PACKDCXXFLAGS:= ${HLTDCXXFLAGS}
-
-SRCS:=  AliHoughFilter.cxx
+# Matthias 2007-10-03 HLT legacy code disabled
+#SRCS:=  AliHoughFilter.cxx
+SRCS:=  
 
 HDRS:= $(SRCS:.cxx=.h)
 
@@ -15,7 +10,7 @@ HDRS:= $(SRCS:.cxx=.h)
 
 #EDEFINE+= -DUSE_EB
 
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
 
 DHDR:= MDCFilterLinkDef.h 
 
index 85b692fb9b71c0d179e5a3681f08a7fc2436c162..3272b1de329aedc5ba4cc4132861fbbaa6f3e1cf 100644 (file)
@@ -1627,15 +1627,6 @@ AliReconstructor* AliReconstruction::GetReconstructor(Int_t iDet)
   TString recName = "Ali" + detName + "Reconstructor";
   if (gAlice && !gAlice->GetDetector(detName) && (detName != "HLT")) return NULL;
 
-  if (detName == "HLT") {
-    if (!gROOT->GetClass("AliLevel3")) {
-      gSystem->Load("libAliHLTSrc.so");
-      gSystem->Load("libAliHLTMisc.so");
-      gSystem->Load("libAliHLTHough.so");
-      gSystem->Load("libAliHLTComp.so");
-    }
-  }
-
   AliReconstructor* reconstructor = NULL;
   // first check if a plugin is defined for the reconstructor
   TPluginHandler* pluginHandler = 
index 5bddd023d1e70a783b0a75c72f1cd867826bba67..e5f14995cf79850cb6ad2ff8144d151f5161d4d5 100644 (file)
 #include "AliHeader.h"
 #include "AliGenEventHeader.h"
 #include "AliMC.h"
+#include "AliHLTSimulation.h"
 
 ClassImp(AliSimulation)
 
@@ -172,7 +173,8 @@ AliSimulation::AliSimulation(const char* configFileName, const char* cdbUri,
   fCDBUri(cdbUri),
   fRemoteCDBUri(""),
   fSpecCDBUri(),
-  fEmbeddingFlag(kFALSE)
+  fEmbeddingFlag(kFALSE),
+  fRunHLT("default")
 {
 // create simulation object with default parameters
   fgInstance = this;
@@ -580,6 +582,13 @@ Bool_t AliSimulation::Run(Int_t nEvents)
     }
   }
 
+  // run HLT simulation
+  if (!fRunHLT.IsNull()) {
+    if (!RunHLT()) {
+      if (fStopOnError) return kFALSE;
+    }
+  }
+
   return kTRUE;
 }
 
@@ -1340,3 +1349,95 @@ Int_t AliSimulation::GetDetIndex(const char* detector)
   }    
   return index ; 
 }
+
+//_____________________________________________________________________________
+Bool_t AliSimulation::RunHLT()
+{
+  // Run the HLT simulation
+  // HLT simulation is implemented in HLT/sim/AliHLTSimulation
+  // Disabled if fRunHLT is empty, default vaule is "default".
+  // AliSimulation::SetRunHLT can be used to set the options for HLT simulation
+  // The default simulation depends on the HLT component libraries and their
+  // corresponding agents which define components and chains to run. See
+  // http://web.ift.uib.no/~kjeks/doc/alice-hlt/
+  // http://web.ift.uib.no/~kjeks/doc/alice-hlt/classAliHLTModuleAgent.html
+  //
+  // The libraries to be loaded can be specified as an option.
+  // <pre>
+  // AliSimulation sim;
+  // sim.SetRunHLT("libAliHLTSample.so");
+  // </pre>
+  // will only load <tt>libAliHLTSample.so</tt>
+
+  // Other available options:
+  // \li loglevel=<i>level</i> <br>
+  //     logging level for this processing
+  // \li alilog=off
+  //     disable redirection of log messages to AliLog class
+  // \li config=<i>macro</i>
+  //     configuration macro
+  // \li localrec=<i>configuration</i>
+  //     comma separated list of configurations to be run during simulation
+
+  int iResult=0;
+  AliRunLoader* pRunLoader = LoadRun("READ");
+  if (!pRunLoader) return kFALSE;
+
+  // load the library dynamically
+  gSystem->Load(ALIHLTSIMULATION_LIBRARY);
+
+  // check for the library version
+  AliHLTSimulationGetLibraryVersion_t fctVersion=(AliHLTSimulationGetLibraryVersion_t)(gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_GET_LIBRARY_VERSION));
+  if (!fctVersion) {
+    AliError(Form("can not load library %s", ALIHLTSIMULATION_LIBRARY));
+    return kFALSE;
+  }
+  if (fctVersion()!= ALIHLTSIMULATION_LIBRARY_VERSION) {
+    AliError(Form("%s version does not match: compiled for version %d, loaded %d", ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_LIBRARY_VERSION, fctVersion()));
+    return kFALSE;
+  }
+
+  // print compile info
+  typedef void (*CompileInfo)( char*& date, char*& time);
+  CompileInfo fctInfo=(CompileInfo)gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, "CompileInfo");
+  if (fctInfo) {
+    char* date="";
+    char* time="";
+    (*fctInfo)(date, time);
+    if (!date) date="unknown";
+    if (!time) time="unknown";
+    AliInfo(Form("%s build on %s (%s)", ALIHLTSIMULATION_LIBRARY, date, time));
+  } else {
+    AliInfo(Form("no build info available for %s", ALIHLTSIMULATION_LIBRARY));
+  }
+
+  // create instance of the HLT simulation
+  AliHLTSimulationCreateInstance_t fctCreate=(AliHLTSimulationCreateInstance_t)(gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_CREATE_INSTANCE));
+  AliHLTSimulation* pHLT=NULL;
+  if (fctCreate==NULL || (pHLT=(fctCreate()))==NULL) {
+    AliError(Form("can not create instance of HLT simulation (creator %p)", fctCreate));
+    return kFALSE;    
+  }
+
+  // init the HLT simulation
+  if (fRunHLT.CompareTo("default")==0) fRunHLT="";
+  AliHLTSimulationInit_t fctInit=(AliHLTSimulationInit_t)(gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_INIT));
+  if (fctInit==NULL || (iResult=(fctInit(pHLT, pRunLoader, fRunHLT.Data())))<0) {
+    AliError(Form("can not init HLT simulation: error %d (init %p)", iResult, fctInit));
+  } else {
+    // run the HLT simulation
+    AliHLTSimulationRun_t fctRun=(AliHLTSimulationRun_t)(gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_RUN));
+    if (fctRun==NULL || (iResult=(fctRun(pHLT, pRunLoader)))<0) {
+      AliError(Form("can not run HLT simulation: error %d (run %p)", iResult, fctRun));
+    }
+  }
+
+  // delete the instance
+  AliHLTSimulationDeleteInstance_t fctDelete=(AliHLTSimulationDeleteInstance_t)(gSystem->DynFindSymbol(ALIHLTSIMULATION_LIBRARY, ALIHLTSIMULATION_DELETE_INSTANCE));
+  if (fctDelete==NULL || fctDelete(pHLT)<0) {
+    AliError(Form("can not delete instance of HLT simulation (creator %p)", fctDelete));
+  }
+  pHLT=NULL;
+
+  return iResult>=0?kTRUE:kFALSE;
+}
index fcf9c90c3bd0f282b2ced64d6d092aae23bed926..2f700eef0ba3c8731252f77bafc93e11e4fd471b 100644 (file)
@@ -94,6 +94,10 @@ public:
                                   const char* rootFileName = "raw.root");
   virtual Bool_t ConvertRaw2SDigits(const char* rawDirectory, const char* esdFile = "");
 
+  // HLT
+  void SetRunHLT(const char* options) {fRunHLT=options;}
+  virtual Bool_t RunHLT();
+
   //Quality Assurance
   Int_t       GetDetIndex(const char * detector);
   const Int_t GetQACycles(const char * detector) { return fQACycles[GetDetIndex(detector)] ; }
@@ -139,8 +143,10 @@ private:
   static const char * fgkDetectorName[fgkNDetectors] ; // names of detectors
   Int_t               fQACycles[fgkNDetectors] ;      // cycle length (# events) over which QA data are accumulated
 
-  
-  ClassDef(AliSimulation, 5)  // class for running generation, simulation and digitization
+  //HLT
+  TString        fRunHLT;             // HLT options, HLT is disabled if empty, default='default'
+
+  ClassDef(AliSimulation, 6)  // class for running generation, simulation and digitization
 };
 
 #endif
index a8a4784426f97df8492e24572c6d1234edf34c72..cf8f0e8033484515f57d5d29202c442300f0c2e9 100644 (file)
@@ -56,7 +56,7 @@ HDRS:= $(SRCS:.cxx=.h)
 
 DHDR= STEERLinkDef.h
 
-EINCLUDE:= RAW
+EINCLUDE:= RAW HLT/sim
 #ifeq (macosx,$(ALICE_TARGET))
 EINCLUDE+= TPC
 #endif
index 9a13412ce335fd46dfd7e5ebf810aefa3a804fd4..7650fc7a5f82836a6a7254d9090b095a87b8a313 100644 (file)
@@ -11,10 +11,9 @@ 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/libAliHLTSrc.pkg  HLT/libAliHLTHough.pkg  HLT/libAliHLTMisc.pkg   HLT/libAliHLTComp.pkg
 HLT/module.mk:         HLT/libAliHLTITS.pkg  HLT/libAliHLTMUON.pkg   HLT/libAliHLTSample.pkg HLT/libHLTbase.pkg
 HLT/module.mk:         HLT/libAliHLTPHOS.pkg HLT/libAliHLTTPC.pkg    HLT/libAliHLTTRD.pkg    HLT/libAliHLTUtil.pkg
-HLT/module.mk:         HLT/libHLTinterface.pkg
+HLT/module.mk:         HLT/libHLTinterface.pkg HLT/libAliHLTHOMER.pkg
 ITS/module.mk:         ITS/libITSbase.pkg ITS/libITSsim.pkg ITS/libITSrec.pkg
 JETAN/module.mk:       JETAN/libJETAN.pkg JETAN/libJETANMC.pkg
 MEVSIM/module.mk:      MEVSIM/libmevsim.pkg