]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/TRDVDRIFTda.cxx
bug-fix (Gustavo)
[u/mrichter/AliRoot.git] / TRD / TRDVDRIFTda.cxx
index d916eadd7f59d773aedc2d12d2547066ae2e89b3..18a8db0f9e09587ab85180676b15d7eceb083e38 100644 (file)
@@ -1,17 +1,19 @@
 /*
 
-- "Contact: r.bailhache@gsi.de"
-- "Link: http://www-linux.gsi.de/~bailhach/VDRIFT/raw.root.date"
-- "Run Type: nothing special in ECS, physics run" 
-- "DA Type: MON"
-- "Number of events needed: as many as possible"
-- "Input Files: no config files, no previous result files, RAW DATA file with all the TRD ([DDL = 1024 to DDL = 1041])" 
-- "Output Files: trdCalibrationv.root, trdCalibrationv.root, no persitent file over runs"
-- "Trigger types used: PHYSICS"
+Contact: r.bailhache@gsi.de
+Link:
+Reference run: 25909
+Run Type: PHYSICS STANDALONE
+DA Type: MON
+Number of events needed: many
+Input Files:  TRD raw files
+Output Files: trdCalibrationv.root
+Trigger types used: PHYSICS_EVENT
 
 */
 
-#define RESULT_FILE "trdCalibrationv.root"
+#define RESULT_FILE  "trdVdrift.root"
+#define FILE_ID "VDRIFT"
 
 
 extern "C" {
@@ -30,17 +32,19 @@ extern "C" {
 #include <TObjArray.h>
 #include <TString.h>
 #include <TVectorF.h>
-#include <TROOT.h>
 #include <TDirectory.h>
 #include <TSystem.h>
 #include <TFile.h>
+#include "TROOT.h"
+#include "TPluginManager.h"
 //
 //AliRoot includes
 //
 #include "AliRawReader.h"
 #include "AliRawReaderDate.h"
-#include "AliTRDRawStreamTB.h"
-#include "AliCDBManager.h"
+#include "AliTRDrawStream.h"
+#include "AliTRDrawStreamBase.h"
+
 
 //
 // TRD calibration algorithm includes
@@ -56,6 +60,12 @@ extern "C" {
 */
 int main(int argc, char **argv) {
 
+  /* magic line from Rene */
+  gROOT->GetPluginManager()->AddHandler("TVirtualStreamerInfo",
+                                       "*",
+                                       "TStreamerInfo",
+                                       "RIO",
+                                       "TStreamerInfo()");
   int status;
 
   if (argc!=2) {
@@ -94,18 +104,27 @@ int main(int argc, char **argv) {
   int nevents_total=0;
 
   //Instance of AliCDBManager: needed by AliTRDRawStreamV2
-  AliCDBManager *man = AliCDBManager::Instance();
-  man->SetDefaultStorage("local://$ALICE_ROOT");
-  man->SetRun(0);
+  //AliCDBManager *man = AliCDBManager::Instance();
+  //man->SetDefaultStorage("local://$ALICE_ROOT");
+  //man->SetRun(0);
   //Instance of AliTRDCalibraFillHisto
   AliTRDCalibraFillHisto *calibra      = AliTRDCalibraFillHisto::Instance();
   // everythings are okey for vdrift
   Bool_t passvdrift  = kTRUE;    // if timebin okey
   Int_t  nbvdrift    = 0;     // number of events with entries for vdrift
 
-
-  /* some warning less */
-  AliTRDRawStreamTB::SupressWarnings(kTRUE);
+   // setting
+  // AliTRDrawStream::SetNoDebug();
+  AliTRDrawStream::SetNoErrorWarning();
+  //AliTRDrawStream::SetForceCleanDataOnly();
+  AliTRDrawStream::AllowCorruptedData();
+  AliTRDrawStream::DisableStackNumberChecker();
+  AliTRDrawStream::DisableStackLinkNumberChecker();
+  //AliTRDrawStream::SetSkipCDH();
+  //AliTRDrawStream::SetExtraWordsFix();
+  //AliTRDrawStream::EnableDebugStream();
+  //AliTRDrawStream::SetDumpHead(320);
+  //AliTRDrawStream::SetDumpHead(80);
 
   
   /* main loop (infinite) */
@@ -134,7 +153,7 @@ int main(int argc, char **argv) {
       continue;
     }
 
-    if( ((Int_t)nevents_total)%100 == 0 ) printf(" event number %d (physic event number %d) will be processed\n",(Int_t) nevents_total,(Int_t) nevents_physics);  
+    if( ((Int_t)nevents_total)%1000 == 0 ) printf(" event number %d (physic event number %d) will be processed\n",(Int_t) nevents_total,(Int_t) nevents_physics);  
 
 
     /* use event - here, just write event id to result file */
@@ -146,14 +165,15 @@ int main(int argc, char **argv) {
     if ((eventT==PHYSICS_EVENT) && (passvdrift)) {
       //if (eventT==PHYSICS_EVENT) {
       AliRawReader *rawReader = new AliRawReaderDate((void*)event);
-      AliTRDRawStreamTB *trdRawStream = new AliTRDRawStreamTB((AliRawReader *) rawReader);
-      Int_t result = calibra->ProcessEventDAQ(trdRawStream,(Bool_t)nevents_physics);
+      rawReader->Select("TRD");
+      AliTRDrawStream *trdRawStream = new AliTRDrawStream((AliRawReader *) rawReader);
+      Int_t result = calibra->ProcessEventDAQ((AliTRDrawStreamBase *) trdRawStream,(Bool_t)nbvdrift);
       if(!result) passvdrift = kFALSE;
       else nbvdrift += (Int_t) result/2;
              
-      
       delete trdRawStream;
       delete rawReader;
+    
     } 
    
     if(eventT==PHYSICS_EVENT){
@@ -194,7 +214,7 @@ int main(int argc, char **argv) {
   fileTRD->Close();
   status=0;
   // Export the file in any case to see if problems
-  if(daqDA_FES_storeFile(RESULT_FILE,RESULT_FILE)) status = -2;
+  if(daqDA_FES_storeFile(RESULT_FILE,FILE_ID)) status = -2;
   
   delete fileTRD;