]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HMPID/AliHMPIDRawStream.cxx
ATO-98 make macro to calculate correction derivative again working
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDRawStream.cxx
index 0cf8181d23f5f4fa6442fbb6a7acfb4d3210f86d..e9d761d56cb4ba2c96902474ffeff3cc9b291025 100644 (file)
@@ -104,8 +104,6 @@ AliHMPIDRawStream::AliHMPIDRawStream() :
   for(Int_t iddl=0;iddl<kNDDL;iddl++) 
     for(Int_t ierr=0; ierr < kSumErr; ierr++) fNumOfErr[iddl][ierr]=0;               //reset errors  
 
-  fRawReader->Reset();
-  fRawReader->Select("HMPID");
   
 }
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -183,7 +181,15 @@ Bool_t AliHMPIDRawStream::Next()
   do {
     if (!fRawReader->ReadNextData(fData)) return kFALSE;
   } while (fRawReader->GetDataSize() == 0);
+  Int_t runNumber = fRawReader->GetRunNumber();
+  
+  Int_t ddlArray[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13}; 
+
+  // next line: fix for link chamber2 cables inversion for period LHC11d, LHC11e, LHC11f and LHC11h. 
   
+  if(runNumber>=156620 && runNumber<=170593) {ddlArray[4] = 5; ddlArray[5] = 4;}  
+  else {ddlArray[4] = 4; ddlArray[5] = 5;}
      
   /*
   Event type is selected as in $ALICE_ROOT/RAW/event.h  
@@ -207,7 +213,15 @@ Bool_t AliHMPIDRawStream::Next()
   fPosition = 0;
   Bool_t status=kFALSE;
   fRawDataSize=0;        
-  fDDLNumber = fRawReader->GetDDLID();
+  fDDLNumber = -1;
+  if (fRawReader->GetDDLID()>=0)
+    fDDLNumber = ddlArray[fRawReader->GetDDLID()];
+  
+  if(fDDLNumber<0) {
+    AliWarning(Form("fDDLNumber not a acceptable value %i",fDDLNumber));
+    return kFALSE;
+  }
+    
   if(fRawReader->GetType() == 7 || fRawReader->GetType() == 8 )  {           //New: Select Physics events, Old: Raw data size is not 0 and not 47148 (pedestal)
     fnDDLInStream[fDDLNumber]=1; fnDDLOutStream[fDDLNumber]=0;