X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FTRDVDRIFTda.cxx;h=516eaaae22a470af82b040d16b38ade1f0628f45;hb=152244174948eef5cfc7b98538aa17ed5f2b04c2;hp=d916eadd7f59d773aedc2d12d2547066ae2e89b3;hpb=f222df8d3174a7f442e9e9f16e934fe2227394c3;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/TRDVDRIFTda.cxx b/TRD/TRDVDRIFTda.cxx index d916eadd7f5..516eaaae22a 100644 --- a/TRD/TRDVDRIFTda.cxx +++ b/TRD/TRDVDRIFTda.cxx @@ -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,24 +32,30 @@ extern "C" { #include #include #include -#include #include #include #include +#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 // // 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); + } +*/ + +