X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MONITOR%2FmonitorGDC.cxx;h=924a5c1819a870f39624f73c55dc6971e86da32f;hb=da8b7dc9014b9ad9dc149fe9f5fceb5d57f2b808;hp=31734891f101a3962d28e63f4ece17eb1e601bf8;hpb=a8ffd46b12a62f47c436df472078d73846974fc5;p=u%2Fmrichter%2FAliRoot.git diff --git a/MONITOR/monitorGDC.cxx b/MONITOR/monitorGDC.cxx index 31734891f10..924a5c1819a 100644 --- a/MONITOR/monitorGDC.cxx +++ b/MONITOR/monitorGDC.cxx @@ -27,24 +27,34 @@ #include #include -#ifdef DATE_SYS +#ifdef ALI_DATE #include #include #include #include "AliRawReaderDate.h" #include "event.h" #include "monitor.h" -#include -#include -#include -#include -#include -#include -#include -#include +/* +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +*/ +#include "AliESDEvent.h" +#include "AliESDVertex.h" +#include "AliTracker.h" +#include +#include "AliITSgeomTGeo.h" +#include "AliITSgeom.h" #endif - //_____________________________________________________________________________ class AliGDCInterruptHandler : public TSignalHandler { public: @@ -57,14 +67,15 @@ private: //_____________________________________________________________________________ AliGDCInterruptHandler::AliGDCInterruptHandler() : - TSignalHandler(kSigInterrupt, kFALSE) + TSignalHandler(kSigInterrupt, kFALSE), + fStop(kFALSE) { - fStop = kFALSE; -}; + +} //_____________________________________________________________________________ -#ifdef DATE_SYS +#ifdef ALI_DATE int main(int argc, char** argv) { // set ROOT in batch mode @@ -94,9 +105,30 @@ 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"); + // } + + AliESDEvent *esd = new AliESDEvent; + esd->CreateStdContent(); + + // 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 = AliMagF::k2kG; + // break; + // case 5: + // sfield = AliMagF::k5kG; + // break; + // default: + // ::Fatal("AliHLTTransform::GetSolenoidField", "Incorrect magnetic field"); + // } + + // Init PID + AliPID pid; // create the signal handler AliGDCInterruptHandler* handler = new AliGDCInterruptHandler; @@ -132,112 +164,164 @@ int main(int argc, char** argv) } else { - AliL3Benchmark *fBenchmark = new AliL3Benchmark(); - fBenchmark->Start("Overall timing"); - - // Run the Hough Transformer - fBenchmark->Start("Init"); - AliL3Hough *hough1 = new AliL3Hough(); - - hough1->SetThreshold(4); - hough1->SetTransformerParams(76,140,0.4,-1); - hough1->SetPeakThreshold(70,-1); - // printf("Pointer is %x\n",ptr); - hough1->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,3.82147); - hough1->SetAddHistograms(); - fBenchmark->Stop("Init"); - - fBenchmark->Start("Init"); - AliL3Hough *hough2 = new AliL3Hough(); - - hough2->SetThreshold(4); - hough2->SetTransformerParams(76,140,0.4,-1); - hough2->SetPeakThreshold(70,-1); - // printf("Pointer is %x\n",ptr); - hough2->Init("./", kFALSE, 100, kFALSE,4,0,(Char_t*)ptr,3.82147); - hough2->SetAddHistograms(); - fBenchmark->Stop("Init"); - - Int_t n_global_tracks = 0; - hough1->StartProcessInThread(0,17); - hough2->StartProcessInThread(18,35); - - // gSystem->Sleep(20000); - if(hough1->WaitForThreadFinish()) - ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! "); - if(hough2->WaitForThreadFinish()) - ::Fatal("AliL3Hough::WaitForThreadFinish"," Can not join the required thread! "); - - gSystem->MakeDirectory("hough1"); - hough1->WriteTracks("./hough1"); - gSystem->MakeDirectory("hough2"); - hough2->WriteTracks("./hough2"); - - /* - for(int slice=0; slice<=35; slice++) - { - // cout<<"Processing slice "<Start("ReadData"); - hough->ReadData(slice,0); - fBenchmark->Stop("ReadData"); - fBenchmark->Start("Transform"); - hough->Transform(); - fBenchmark->Stop("Transform"); - hough->AddAllHistogramsRows(); - hough->FindTrackCandidatesRow(); - fBenchmark->Start("AddTracks"); - hough->AddTracks(); - fBenchmark->Stop("AddTracks"); - - AliL3TrackArray* tracks = (AliL3TrackArray*)hough->GetTracks(0); - n_global_tracks += tracks->GetNTracks(); - } - */ - 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",n_global_tracks); - - 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; +// 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"); + +// 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 "<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 "<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(); } // }