gROOT->SetBatch();
// open a log file
+#ifdef ALI_HLT
FILE* file = fopen("monitorGDC.log", "w");
+#else
+ FILE* file = NULL;
+#endif
TDatime time;
// get data from a file or online from this node
if (status) ::Fatal("monitorDeclareTable", monitorDecodeError(status));
// declare this monitoring program to DATE
- status = monitorDeclareMp("GDC monitoring (HLT)");
+ status = monitorDeclareMp("GDC physics monitoring");
if (status) ::Fatal("monitorDeclareMp", monitorDecodeError(status));
#ifdef ALI_HLT
}
#ifdef ALI_HLT
- // run the HLT tracker
- AliLevel3* hlt = new AliLevel3((Char_t*)ptr);
- hlt->Init("./", AliLevel3::kDate, 1);
+ AliRawReaderDate rawReader(ptr);
+ if ((rawReader.GetAttributes()[0] & 0x02) != 0) {
- hlt->SetClusterFinderParam(-1, -1, kTRUE);
+ // run the HLT tracker
+ AliLevel3* hlt = new AliLevel3((Char_t*)ptr);
+ hlt->Init("./", AliLevel3::kDate, 1);
+
+ hlt->SetClusterFinderParam(-1, -1, kTRUE);
- Int_t phiSegments = 50;
- Int_t etaSegments = 100;
- Int_t trackletlength = 3;
- Int_t tracklength = 20;//40 or 5
- Int_t rowscopetracklet = 2;
- Int_t rowscopetrack = 10;
- Double_t minPtFit = 0;
- Double_t maxangle = 0.1745;
- Double_t goodDist = 5;
- Double_t maxphi = 0.1;
- Double_t maxeta = 0.1;
- Double_t hitChi2Cut = 15;//100 or 15
- Double_t goodHitChi2 = 5;//20 or 5
- Double_t trackChi2Cut = 10;//50 or 10
- hlt->SetTrackerParam(phiSegments, etaSegments,
- trackletlength, tracklength,
- rowscopetracklet, rowscopetrack,
- minPtFit, maxangle, goodDist, hitChi2Cut,
- goodHitChi2, trackChi2Cut, 50, maxphi, maxeta, kTRUE);
+ Int_t phiSegments = 50;
+ Int_t etaSegments = 100;
+ Int_t trackletlength = 3;
+ Int_t tracklength = 20;//40 or 5
+ Int_t rowscopetracklet = 2;
+ Int_t rowscopetrack = 10;
+ Double_t minPtFit = 0;
+ Double_t maxangle = 0.1745;
+ Double_t goodDist = 5;
+ Double_t maxphi = 0.1;
+ Double_t maxeta = 0.1;
+ Double_t hitChi2Cut = 15;//100 or 15
+ Double_t goodHitChi2 = 5;//20 or 5
+ Double_t trackChi2Cut = 10;//50 or 10
+ hlt->SetTrackerParam(phiSegments, etaSegments,
+ trackletlength, tracklength,
+ rowscopetracklet, rowscopetrack,
+ minPtFit, maxangle, goodDist, hitChi2Cut,
+ goodHitChi2, trackChi2Cut, 50, maxphi, maxeta,
+ kTRUE);
- gSystem->Exec("rm -rf hlt");
- gSystem->MakeDirectory("hlt");
- hlt->WriteFiles("./hlt/");
- hlt->ProcessEvent(0, 35, 0);
-
- time.Set();
- if (file) fprintf(file, "%s\n", time.AsString());
-
- AliL3MemHandler memHandler;
- if (!memHandler.SetBinaryInput("hlt/tracks_0.raw")) {
- if (file) fprintf(file, "no HLT tracks\n");
- continue;
- }
- AliL3TrackArray* tracks = new AliL3TrackArray;
- memHandler.Binary2TrackArray(tracks);
- if (file) fprintf(file, "HLT found %d tracks\n", tracks->GetNTracks());
- delete tracks;
- memHandler.CloseBinaryInput();
-
- hlt->DoBench("hlt");
- if (file) {
- FILE* bench = fopen("hlt.dat", "r");
- while (bench && !feof(bench)) {
- char buffer[256];
- if (!fgets(buffer, 256, bench)) break;
- fprintf(file, "%s", buffer);
+ gSystem->Exec("rm -rf hlt");
+ gSystem->MakeDirectory("hlt");
+ hlt->WriteFiles("./hlt/");
+ hlt->ProcessEvent(0, 35, 0);
+
+ 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]);
+
+ AliL3MemHandler memHandler;
+ if (!memHandler.SetBinaryInput("hlt/tracks_0.raw")) {
+ if (file) fprintf(file, "no HLT tracks\n");
+ continue;
+ }
+ AliL3TrackArray* tracks = new AliL3TrackArray;
+ memHandler.Binary2TrackArray(tracks);
+ if (file) fprintf(file, "HLT found %d tracks\n", tracks->GetNTracks());
+ delete tracks;
+ memHandler.CloseBinaryInput();
+
+ hlt->DoBench("hlt");
+ if (file) {
+ FILE* bench = fopen("hlt.dat", "r");
+ while (bench && !feof(bench)) {
+ char buffer[256];
+ if (!fgets(buffer, 256, bench)) break;
+ fprintf(file, "%s", buffer);
+ }
+ fclose(bench);
+ fprintf(file, "\n");
}
- fclose(bench);
- fprintf(file, "\n");
- }
- gSystem->Exec("rm -rf hlt");
- delete hlt;
+ gSystem->Exec("rm -rf hlt");
+ delete hlt;
+ }
#else
// read run, event, detector, DDL numbers and data size
AliRawReaderDate rawReader(ptr);
+ time.Set();
+ printf("\n%s\n", time.AsString());
printf("run: %d event: %d %d\n", rawReader.GetRunNumber(),
rawReader.GetEventId()[0], rawReader.GetEventId()[1]);
while (rawReader.ReadMiniHeader()) {
rawReader.GetDataSize());
}
- time.Set();
- if (file) fprintf(file, "%s\n", time.AsString());
-
#endif
+ gSystem->Sleep(100); // sleep for 0.1 second
free(ptr);
gSystem->ProcessEvents();