]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliTagDB.cxx
Removing warnings in MONITOR
[u/mrichter/AliRoot.git] / RAW / AliTagDB.cxx
index f5450b6134fb192d2aeaa45f18ab9ad72078302d..4aa2a29948621228308416fe4bf7da710fd7a71b 100644 (file)
@@ -1,4 +1,4 @@
-// @(#)alimdc:$Name$:$Id$
+// @(#) $Id$
 // Author: Fons Rademakers  26/11/99
 
 /**************************************************************************
 #include <errno.h>
 
 #include <TSystem.h>
+#include <TTimeStamp.h>
 
 #include "AliESD.h"
 
 #include "AliRawDB.h"
-#include "AliRawEventHeaderBase.h"
+#include "AliRawEventTag.h"
 #include "AliTagDB.h"
+#include "AliRawEventHeaderBase.h"
 
 
 ClassImp(AliTagDB)
 
 
 //______________________________________________________________________________
-AliTagDB::AliTagDB(AliRawEventHeaderBase *header, const char* fileName) :
+AliTagDB::AliTagDB(AliRawEventTag *eventTag, const char* fileName) :
   fTagDB(NULL),
   fTree(NULL),
-  fHeader(header),
+  fEventTag(eventTag),
   fMaxSize(-1),
   fFS(""),
   fDeleteFiles(kFALSE)
@@ -75,13 +77,13 @@ Bool_t AliTagDB::Create(const char* fileName)
    }
 
    // Create ROOT Tree object container
-   fTree = new TTree("TAG", Form("ALICE header data tree (%s)", AliRawDB::GetAliRootTag()));
+   fTree = new TTree("T", Form("ALICE raw-data tag tree (%s)", AliRawDB::GetAliRootTag()));
    fTree->SetAutoSave(100000000);  // autosave when 100 Mbyte written
 
    Int_t bufsize = 32000;
    Int_t split   = 1;
-   const char *headername = fHeader->GetName();
-   fTree->Branch("header", headername, &fHeader, bufsize, split);
+   const char *tagname = fEventTag->GetName();
+   fTree->Branch("TAG", tagname, &fEventTag, bufsize, split);
 
    return kTRUE;
 }
@@ -152,23 +154,30 @@ const char *AliTagDB::GetFileName() const
    // Return filename based on hostname and date and time. This will make
    // each file unique. The tags will be stored in the /data1/tags directory.
 
-   static char fname[64];
+   static char fname[1024];
    const char *fs = fFS;
 
    // check that fs exists (crude check fails if fs is a file)
    gSystem->MakeDirectory(fs);
 
-   char hostname[64];
+   // Get the run number
+   Int_t runNumber = -1;
+   if (fEventTag) {
+     AliRawEventHeaderBase *header = fEventTag->GetHeader();
+     if (header) runNumber = header->Get("RunNb");
+   }
 
+   char hostname[1024];
    strcpy(hostname, gSystem->HostName());
 
    char *s;
    if ((s = strchr(hostname, '.')))
-      *s = 0;
+     *s = 0;
 
-   TDatime dt;
+   TTimeStamp ts;
 
-   sprintf(fname, "%s/%s_%d_%d.root", fs, hostname, dt.GetDate(), dt.GetTime());
+   sprintf(fname, "%s/Run%d.%s_%d_%d_%d.RAW.tag.root", fs, runNumber, hostname,
+          ts.GetDate(), ts.GetTime(), ts.GetNanoSec());
 
    return fname;
 }