]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/ITSSDDINJda.cxx
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / ITS / ITSSDDINJda.cxx
index 82e133280171f2628a99ce751326e0f46ec86aac..59eb1b8b640e676fe528aa4a2b2ec9283813fee3 100644 (file)
@@ -1,6 +1,6 @@
 /*
 - Contact: - prino@to.infn.it
-- Link: -
+- Link: - alien:///alice/data/2009/LHC09c_SDD/000079098/raw/09000079098024.10.root
 - Run Type: - INJECTOR
 - DA Type: - LDC
 - Number of events needed: >20
@@ -61,7 +61,7 @@ extern "C" {
       Arguments: list of DATE raw data files
 */
 int main(int argc, char **argv) {
-
+  // main - Arguments: list of DATE raw data files
   int status = 0;
 
 
@@ -116,8 +116,12 @@ int main(int argc, char **argv) {
   
   /* report progress */
   daqDA_progressReport(10);
+
   Int_t iev=0;
   Int_t ievInj=0;
+  Int_t ievUsed=0;
+  Int_t nEvToBeSkipped=5;
+
   /* read the data files */
   int n;
   for (n=1;n<argc;n++) {
@@ -170,8 +174,15 @@ int main(int argc, char **argv) {
       case CALIBRATION_EVENT:
        break;  // uncomment this line for test raw data
       case PHYSICS_EVENT: // uncomment this line for test raw data
-       printf(" event number = %i \n",iev);
+       printf(" Event number = %i ",iev);
        ievInj++; 
+       if(ievInj<=nEvToBeSkipped){
+         printf(" -> SKIP\n");
+         break;
+       }
+       printf("  -> Analyze\n");
+       ievUsed++;
+         
        AliRawReader *rawReader = new AliRawReaderDate((void*)event);
        timeSt=rawReader->GetTimestamp();
        rawReader->Reset();
@@ -222,14 +233,14 @@ int main(int argc, char **argv) {
        /* free resources */
        free(event);
       }
-      if(ievInj>=maxNEvents) break;
+      if(ievUsed>=maxNEvents) break;
     }
   }
 
   /* write report */
   TDatime time;
   TObjString timeinfo(Form("%02d%02d%02d%02d%02d%02d",time.GetYear()-2000,time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond()));
-  printf("Run #%s, received %d calibration events, time %s\n",getenv("DATE_RUN_NUMBER"),ievInj,timeinfo.GetString().Data());
+  printf("Run #%s, received %d calibration events, time %s\n",getenv("DATE_RUN_NUMBER"),ievUsed,timeinfo.GetString().Data());
 
   /* report progress */
   daqDA_progressReport(90);
@@ -244,6 +255,7 @@ int main(int argc, char **argv) {
        if(nWrittenEv[index]>0){
          injan[index]->FitMeanDriftSpeedVsAnode();
          injan[index]->WriteToASCII(0,timeSt,0);
+         injan[index]->WriteInjectorStatusToASCII();
          dspHistos->AddLast(injan[index]->GetMeanDriftSpeedVsPadHisto());
          sprintf(filnam,"SDDinj_ddl%02dc%02d_sid%d.data",iddl,imod,isid);
          sprintf(command,"tar -rf SDDinj_LDC.tar %s",filnam);
@@ -258,7 +270,7 @@ int main(int argc, char **argv) {
 #ifdef ALI_AMORE
   amore::da::AmoreDA amoreDA(amore::da::AmoreDA::kSender);
   Int_t statusamore =0;
-  statusamore += amoreDA.Send("TimeInfo",&timeinfo);
+  statusamore += amoreDA.Send("TimeInfoInject",&timeinfo);
   statusamore += amoreDA.Send("DriftSpeed",dspHistos);
   if ( statusamore )
     printf("Warning: Failed to write Arrays in the AMORE database\n");