Index: fact/drsdaq/History.txt
===================================================================
--- fact/drsdaq/History.txt	(revision 10903)
+++ fact/drsdaq/History.txt	(revision 10913)
@@ -74,4 +74,5 @@
 			drsdaq is 264.
 30/7/2010	Published some run-related information as DIM service.
-3/6/2011	Added 'write' command (for PEBS application)
+3/6/2011	Added 'write' command (for PEBS application).
+6/6/2011	Event header is printed in RawDataCTX.cc before trying to seek.
 			
Index: fact/drsdaq/RawDataCTX.cc
===================================================================
--- fact/drsdaq/RawDataCTX.cc	(revision 10903)
+++ fact/drsdaq/RawDataCTX.cc	(revision 10913)
@@ -84,5 +84,5 @@
   // If requested, print run header (including board structures) to file 
   if(fptr != NULL) {
-    fprintf(fptr, "Magic number          %x (%s)\n", RHeader->MagicNum, RHeader->MagicNum==MAGICNUM_CLOSED?"OK":(RHeader->MagicNum==MAGICNUM_OPEN?"File not closed":"Error"));
+    fprintf(fptr, "Magic number          0x%X (%s)\n", RHeader->MagicNum, RHeader->MagicNum==MAGICNUM_CLOSED?"OK":(RHeader->MagicNum==MAGICNUM_OPEN?"File not closed":"Error"));
     fprintf(fptr, "Data format:          %u\n", RHeader->DataFormat);
     fprintf(fptr, "Software revision:    %d\n", RHeader->SoftwareRevision);         
@@ -113,5 +113,5 @@
     for (unsigned int i=0; i<RHeader->NBoards; i++) {
       fprintf(fptr, "*** Board %d ***\n", i);
-      fprintf(fptr, "Serial number:            %d\n", BStruct[i].SerialNo);
+      fprintf(fptr, "Serial number:            0x%X\n", BStruct[i].SerialNo);
       fprintf(fptr, "Sampling frequency:       %.3f GHz\n", BStruct[i].NomFreq);
       fprintf(fptr, "Temperature:              %.3f deg C\n", BStruct[i].BoardTemp);  
@@ -165,20 +165,4 @@
     }
   }
-  if(!SEEK_OK) {
-    if(!Silent) printf("Error: Could not move to requested event\n");
-    return CTX_SEEK;
-  }
-
-  // Allocate memory for event data (enlarge if necessary)
-  if(Data==NULL || (sizeof(Data) < EHeader->EventSize)) {
-    delete[] Data;
-    Data = new char[EHeader->EventSize];
-  }
-
-  // Read event data
-  if(fread(Data, 1, EHeader->EventSize, Rawfile) != EHeader->EventSize) {
-    if(!Silent) printf("Error: Could not read (all) event data\n");
-    return CTX_DATA;    
-  }
 
   // If requested, print event header to file 
@@ -190,4 +174,22 @@
     fprintf(fptr, "Size [byte]:     %u\n",        EHeader->EventSize);
   }
+
+  // Moce to requested event
+  if(!SEEK_OK) {
+    if(!Silent) printf("Error: Could not move to requested event\n");
+    return CTX_SEEK;
+  }
+
+  // Allocate memory for event data (enlarge if necessary)
+  if(Data==NULL || (sizeof(Data) < EHeader->EventSize)) {
+    delete[] Data;
+    Data = new char[EHeader->EventSize];
+  }
+
+  // Read event data
+  if(fread(Data, 1, EHeader->EventSize, Rawfile) != EHeader->EventSize) {
+    if(!Silent) printf("Error: Could not read (all) event data\n");
+    return CTX_DATA;    
+  }
   
   return CTX_OK;
