]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/TRDVDRIFTda.cxx
updated macros (with new cut values) for (anti-)proton-(anti-)lambda and lambda-...
[u/mrichter/AliRoot.git] / TRD / TRDVDRIFTda.cxx
index aad3e6cb5315f18e1243d9f89b132ebaca888a08..516eaaae22a470af82b040d16b38ade1f0628f45 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
+Link:
+Reference run: 25909
+Run Type: PHYSICS STANDALONE
 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
+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,24 +32,30 @@ 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 "AliLog.h"
+
+//
+//AMORE
+//
+#include <AmoreDA.h>
 
 //
 // TRD calibration algorithm includes
 //
 #include "AliTRDCalibraFillHisto.h"
 
-
+//functions, implementation below
+//void SendToAmoreDB(TObject *o, unsigned long32 runNb);
 
 
 /* Main routine
@@ -56,6 +64,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) {
@@ -92,22 +106,24 @@ int main(int argc, char **argv) {
   /* init some counters */
   int nevents_physics=0;
   int nevents_total=0;
+  //unsigned long32 runNb=0;      //run number
 
-  //Instance of AliCDBManager: needed by AliTRDRawStreamV2
-  AliCDBManager *man = AliCDBManager::Instance();
-  man->SetDefaultStorage("local://$ALICE_ROOT");
-  man->SetRun(0);
+  //Instance of AliCDBManager: needed by AliTRDrawFastStream
+  //AliCDBManager *man = AliCDBManager::Instance();
+  //man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
+  //man->SetRun(0);
   //Instance of AliTRDCalibraFillHisto
   AliTRDCalibraFillHisto *calibra      = AliTRDCalibraFillHisto::Instance();
+  calibra->SetNumberClustersProcent(0.9);
+
   // 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
+  //AliTRDrawFastStream::DisableSkipData();
+  AliLog::SetGlobalLogLevel(AliLog::kFatal); 
+    
   /* main loop (infinite) */
   for(;;) {
   //for(Int_t k = 0; k < 20; k++) {
@@ -134,7 +150,8 @@ 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,15 +163,19 @@ 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");
+
+      Int_t result = calibra->ProcessEventDAQ((AliRawReader *)rawReader);
       if(!result) passvdrift = kFALSE;
       else nbvdrift += (Int_t) result/2;
              
-      
-      delete trdRawStream;
+
       delete rawReader;
+    
     } 
+
+    // get the run number
+    //runNb = event->eventRunNb;
    
     if(eventT==PHYSICS_EVENT){
  
@@ -162,6 +183,13 @@ int main(int argc, char **argv) {
      
     }
     
+    /*
+      if( ((Int_t)nevents_physics)%100 == 0 ) {
+      SendToAmoreDB(&calibra);
+      }
+    */
+
+    
     nevents_total++;
 
 
@@ -194,9 +222,28 @@ 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;  
 
   return status;
 }
+
+/*
+  void SendToAmoreDB(TObject *o)
+  {
+  //AMORE
+  const char *amoreDANameorig=gSystem->Getenv("AMORE_DA_NAME");
+  gSystem->Setenv("AMORE_DA_NAME","TRD-dataQA");
+  
+  amore::da::AmoreDA amoreDA(amore::da::AmoreDA::kSender);
+  Int_t statusDA=0;
+  statusDA+=amoreDA.Send("DataQA-VDRIFT",o);
+  if ( statusDA!=0 )
+  printf("Waring: Failed to write one of the calib objects to the AMORE database\n");
+  // reset env var
+  if (amoreDANameorig) gSystem->Setenv("AMORE_DA_NAME",amoreDANameorig);
+  } 
+*/
+
+