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))
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)
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)
#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"
#include "AliTPCtrackerMI.h"
#include "AliV0vertexer.h"
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
#include <AliHLTStandardIncludes.h>
#include <AliHLTMemHandler.h>
#include <AliHLTClusterFitter.h>
#include <AliHLTTransform.h>
#include <AliHLTVertex.h>
#include <AliLevel3.h>
+#endif // ENABLE_ALIMONITORPROCESS_HLT
ClassImp(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);
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);
delete fFile;
gSystem->Unlink("monitor_tree.root");
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
delete fHLT;
delete fHLTHough;
+#endif // ENABLE_ALIMONITORPROCESS_HLT
gSystem->RemoveSignalHandler(fInterruptHandler);
delete fInterruptHandler;
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++) {
if (!ReconstructV0s(&esd)) return kFALSE;
if (fStopping) break;
}
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
if (IsSelected("HLTConfMap")) {
CheckForConnections();
if (!ReconstructHLT(iEvent)) return kFALSE;
if (!ReconstructHLTHough(iEvent)) return kFALSE;
if (fStopping) break;
}
+#endif // ENABLE_ALIMONITORPROCESS_HLT
if (fDisplaySocket) fDisplaySocket->Send("new event");
if (fStopping) break;
}
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
if (fHLT) {
delete fHLT;
fHLT = NULL;
delete fHLTHough;
fHLTHough = NULL;
}
+#endif // ENABLE_ALIMONITORPROCESS_HLT
return kTRUE;
}
return kTRUE;
}
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
//_____________________________________________________________________________
void AliMonitorProcess::CreateHLT(const char* fileName)
{
fHLT->WriteFiles("./hlt/");
}
+#endif // ENABLE_ALIMONITORPROCESS_HLT
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
//_____________________________________________________________________________
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)
{
gSystem->Exec(command);
return kTRUE;
}
+#endif // ENABLE_ALIMONITORPROCESS_HLT
+#ifdef ENABLE_ALIMONITORPROCESS_HLT
//_____________________________________________________________________________
Bool_t AliMonitorProcess::ReconstructHLTHough(Int_t iEvent)
{
gSystem->Exec(command);
return kTRUE;
}
+#endif // ENABLE_ALIMONITORPROCESS_HLT
//_____________________________________________________________________________
Bool_t AliMonitorProcess::WriteHistos()
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();
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
#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+;
#-*- 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)
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
#-*- 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)
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
#-*- 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)
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
#-*- 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
TSignalHandler(kSigInterrupt, kFALSE)
{
fStop = kFALSE;
-};
+}
//_____________________________________________________________________________
#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
//_____________________________________________________________________________
TSignalHandler(kSigInterrupt, kFALSE)
{
fStop = kFALSE;
-};
+}
//_____________________________________________________________________________
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
} 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();
}
// }
#pragma link off all classes;
#pragma link off all functions;
-#pragma link C++ class AliHoughFilter;
+//#pragma link C++ class AliHoughFilter;
#endif
#-*- 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__%)
#-*- 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__%)
#-*- 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 \
#EDEFINE+= -DUSE_EB
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
DHDR:= MDCLinkDef.h
#-*- 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)
#EDEFINE+= -DUSE_EB
-EINCLUDE+= TPC ITS RAW HLT/src HLT/hough HLT/comp HLT/ITS
+EINCLUDE+= TPC ITS RAW
DHDR:= MDCFilterLinkDef.h
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 =
#include "AliHeader.h"
#include "AliGenEventHeader.h"
#include "AliMC.h"
+#include "AliHLTSimulation.h"
ClassImp(AliSimulation)
fCDBUri(cdbUri),
fRemoteCDBUri(""),
fSpecCDBUri(),
- fEmbeddingFlag(kFALSE)
+ fEmbeddingFlag(kFALSE),
+ fRunHLT("default")
{
// create simulation object with default parameters
fgInstance = this;
}
}
+ // run HLT simulation
+ if (!fRunHLT.IsNull()) {
+ if (!RunHLT()) {
+ if (fStopOnError) return kFALSE;
+ }
+ }
+
return kTRUE;
}
}
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;
+}
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)] ; }
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
DHDR= STEERLinkDef.h
-EINCLUDE:= RAW
+EINCLUDE:= RAW HLT/sim
#ifeq (macosx,$(ALICE_TARGET))
EINCLUDE+= TPC
#endif
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