]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0RawReader.cxx
added more options to run D0 finder from offline or online data (Gaute)
[u/mrichter/AliRoot.git] / T0 / AliT0RawReader.cxx
index 3ece1d5534f808c271c5fdd9c509f35fb7253652..618324151fcf236a98c81c3f73bab80b54a26222 100644 (file)
 //                                                                          
 // T0 
 // Class for reading T0 RAW data in TOF data format
-// Alla.Maevskaya@cern.ch
 //
-//____________________________________________________________________
-
 #include "AliT0RawReader.h"
 #include "AliT0Parameters.h"
 #include "AliBitPacking.h"
 #include "TBits.h"
 
-//#include <Riostream.h>
+#include <Riostream.h>
+#include "TMath.h"
+#include "TH1F.h"
+#include "TArrayI.h"
 #include "AliLog.h"
  
 ClassImp(AliT0RawReader)
@@ -58,6 +58,15 @@ ClassImp(AliT0RawReader)
 {
   // 
 }
+/*
+AliT0RawReader::AliT0RawReader(const AliT0RawReader& o): TTask(o),
+     fRawReader(rawReader),
+       fData(NULL),
+       fPosition(0)
+{
+  //
+}
+*/
 
 
 Bool_t  AliT0RawReader::Next()
@@ -94,10 +103,10 @@ Bool_t  AliT0RawReader::Next()
   Int_t numberOfWordsInTRM=0, iTRM=0;
   Int_t tdcTime, koef,hit=0;
   Int_t koefhits[110];
-  Int_t trmChainHeader =  0x00000000;
-  Int_t  trmChainTrailer =  0x10000000;
+  Int_t trm_chain_header =  0x00000000;
+  Int_t  trm_chain_trailer =  0x10000000;
   
-  Int_t  filler =  0x70000000;
+  UInt_t  filler =  0x70000000;
   Bool_t correct=kTRUE;
   Int_t header;
 
@@ -113,7 +122,7 @@ Bool_t  AliT0RawReader::Next()
     } while (fRawReader->GetDataSize() == 0);
     
     fPosition = 0;
-    //     cout.setf( ios_base::hex, ios_base::basefield );
+     cout.setf( ios_base::hex, ios_base::basefield );
     
     //DRM header
     for (Int_t i=0; i<6; i++) {
@@ -127,7 +136,8 @@ Bool_t  AliT0RawReader::Next()
          break;
        }
     }
-      for (Int_t ntrm=0; ntrm< fNTRM; ntrm++)
+    //    cout<<"   fNTRM "<<fNTRM<<endl;
+    for (Int_t ntrm=0; ntrm< fNTRM; ntrm++)
       {
        //TRMheader  
        word = GetNextWord();
@@ -147,8 +157,8 @@ Bool_t  AliT0RawReader::Next()
            //chain header
            word = GetNextWord();
            //      cout<<" chain header "<<word<<endl;
-           uu = word & trmChainHeader;
-           if(uu != trmChainHeader) 
+           uu = word & trm_chain_header;
+           if(uu != trm_chain_header) 
              {
                AliWarning(Form(" !!!! wrong CHAIN  0  header %x!!!!", word));
                fRawReader->AddMajorErrorLog(kWrongChain0Header,Form("w=%x",word));
@@ -157,8 +167,10 @@ Bool_t  AliT0RawReader::Next()
            word = GetNextWord();
 //         cout<<" next "<<word<<endl;
            tdcTime =  AliBitPacking::UnpackWord(word,31,31);   
+           //      for (; tdcTime==1; tdcTime) 
            while(tdcTime==1)
              {
+               correct = kTRUE;
                //                      cout<<" packed "<<word<<endl;
                itdc=AliBitPacking::UnpackWord(word,24,27);
                ichannel=AliBitPacking::UnpackWord(word,21,23);
@@ -177,8 +189,8 @@ Bool_t  AliT0RawReader::Next()
                if(correct){
                  hit=koefhits[koef];
                  if(hit>5) {  
-                   AliWarning(Form("Too many hits for %i channel  ! ",koef)); 
-                   break; 
+                   AliWarning(Form("Too many hits for %i channel - %i ! ",koef,koefhits[koef] )); 
+                   hit=5;
                  }
                  fAllData[koef][hit]=time; 
                  koefhits[koef]++;
@@ -190,8 +202,8 @@ Bool_t  AliT0RawReader::Next()
              }
            
            //      cout<<" chain trailer "<<word<<endl;
-           uu = word&trmChainTrailer;
-           if(uu != trmChainTrailer )
+           uu = word&trm_chain_trailer;
+           if(uu != trm_chain_trailer )
              {
                AliWarning(Form(" !!!! wrong CHAIN 0 trailer %x !!!!", word));
                fRawReader->AddMajorErrorLog(kWrongChain0Trailer,Form("w=%x",word));
@@ -218,8 +230,8 @@ Bool_t  AliT0RawReader::Next()
         AliWarning(Form(" !!!! wrong DRM GLOBAL trailer  %x!!!!", word));
         fRawReader->AddFatalErrorLog(kWrongDRMTrailer,Form("w=%x",word));
       }
-     // cout.setf( ios_base::dec, ios_base::basefield );
-         
+     cout.setf( ios_base::dec, ios_base::basefield );
+    
      return kTRUE;
 }
 //_____________________________________________________________________________