From df7153c86391a032a2384d96bd1557161bf7e0bd Mon Sep 17 00:00:00 2001 From: cblume Date: Wed, 14 Apr 2010 14:56:15 +0000 Subject: [PATCH] Update of the DA for DAQ (Raphaelle) --- TRD/TRDHALFCHAMBERSTATUSda.cxx | 138 +++++++++++++++++---------------- 1 file changed, 72 insertions(+), 66 deletions(-) diff --git a/TRD/TRDHALFCHAMBERSTATUSda.cxx b/TRD/TRDHALFCHAMBERSTATUSda.cxx index 25e90faaa45..cada1575a9f 100644 --- a/TRD/TRDHALFCHAMBERSTATUSda.cxx +++ b/TRD/TRDHALFCHAMBERSTATUSda.cxx @@ -38,6 +38,7 @@ extern "C" { #include "AliRawReaderDate.h" #include "AliTRDrawFastStream.h" #include "AliTRDrawStreamBase.h" +#include "AliLog.h" //#include "AliCDBManager.h" // @@ -71,22 +72,31 @@ int main(int argc, char **argv) { /* log start of process */ printf("TRD DA HALFCHAMBERSTATUS started\n"); - - /* check that we got some arguments = list of files */ - if (argc<2) { + if (argc!=2) { printf("Wrong number of arguments\n"); return -1; } - /* copy locally a file from daq detector config db */ - //status=daqDA_DB_getFile("myconfig","./myconfig.txt"); - //if (status) { - // printf("Failed to get config file : %d\n",status); - // return -1; - //} - /* and possibly use it */ - + /* define data source : this is argument 1 */ + status=monitorSetDataSource( argv[1] ); + if (status!=0) { + printf("monitorSetDataSource() failed : %s\n",monitorDecodeError(status)); + return -1; + } + + + /* declare monitoring program */ + status=monitorDeclareMp( __FILE__ ); + if (status!=0) { + printf("monitorDeclareMp() failed : %s\n",monitorDecodeError(status)); + return -1; + } + + + /* define wait event timeout - 1s max */ + monitorSetNowait(); + monitorSetNoWaitNetworkTimeout(1000); /* init some counters */ int nevents_total=0; @@ -103,69 +113,65 @@ int main(int argc, char **argv) { // setting AliTRDrawFastStream::DisableSkipData(); - - - /* read the data files */ - int n; - for (n=1;neventType; + + if(eventT==PHYSICS_EVENT){ - /* get next event */ - status=monitorGetEventDynamic((void **)&event); - if (status==MON_ERR_EOF) { - printf("End of File %d detected\n",n); - break; /* end of monitoring file has been reached */ - } - if (status!=0) { - printf("monitorGetEventDynamic() failed : %s\n",monitorDecodeError(status)); - break; - } - - /* retry if got no event */ - if (event==NULL) { - break; - } - - /* use event - here, just write event id to result file */ - eventT=event->eventType; - - if(eventT==PHYSICS_EVENT){ - - AliRawReader *rawReader = new AliRawReaderDate((void*)event); - rawReader->Select("TRD"); - - calipad.ProcessEvent((AliRawReader *) rawReader,nevents); - nevents++; - delete rawReader; + AliRawReader *rawReader = new AliRawReaderDate((void*)event); + rawReader->Select("TRD"); + + calipad.ProcessEvent((AliRawReader *) rawReader,nevents); + nevents++; + delete rawReader; - } - - nevents_total++; - - // get the run number - //runNb = event->eventRunNb; - - /* free resources */ - free(event); + } + + nevents_total++; + + // get the run number + //runNb = event->eventRunNb; + + /* free resources */ + free(event); + + /* exit when last event received, no need to wait for TERM signal */ + if (eventT==END_OF_RUN) { + printf("EOR event detected\n"); + break; } } - + /* report progress */ printf("%d events processed and %d used\n",nevents_total,nevents); - + /* write file in any case to see what happens in case of problems*/ TFile *fileTRD = new TFile(RESULT_FILE,"recreate"); calipad.AnalyseHisto(); @@ -182,4 +188,4 @@ int main(int argc, char **argv) { return status; -} +} \ No newline at end of file -- 2.43.5