]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRawStreamTrigger.cxx
- Update and add new ESD QA histograms
[u/mrichter/AliRoot.git] / MUON / AliMUONRawStreamTrigger.cxx
index 55822957c4a76f210c968d9bef1f34603ba79e3f..ff2f78136727b069065cce422c1f92faa5f0a66d 100644 (file)
@@ -13,7 +13,7 @@
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/* $Id $ */
+/* $Id$ */
 
 //-----------------------------------------------------------------------------
 /// \class AliMUONRawStreamTrigger
@@ -53,7 +53,7 @@ const Int_t AliMUONRawStreamTrigger::fgkMaxDDL = 2;
 
 //___________________________________________
 AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
-:   AliMUONRawStream(),
+:   AliMUONVRawStreamTrigger(),
     fPayload(new AliMUONPayloadTrigger()),
     fCurrentDDL(0x0),
     fCurrentDDLIndex(fgkMaxDDL),
@@ -77,7 +77,7 @@ AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
 
 //_________________________________________________________________
 AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(AliRawReader* rawReader)
-  : AliMUONRawStream(rawReader),
+  : AliMUONVRawStreamTrigger(rawReader),
     fPayload(new AliMUONPayloadTrigger()),
     fCurrentDDL(0x0),
     fCurrentDDLIndex(fgkMaxDDL),
@@ -184,6 +184,7 @@ Bool_t AliMUONRawStreamTrigger::GetNextDDL()
   /// Returns the next DDL present
   
   assert( GetReader() != 0 );
+
   
   Bool_t kFound(kFALSE);
   
@@ -212,11 +213,13 @@ Bool_t AliMUONRawStreamTrigger::GetNextDDL()
   
   Int_t totalDataWord  = GetReader()->GetDataSize(); // in bytes
   
+  Bool_t scalerEvent =  GetReader()->GetDataHeader()->GetL1TriggerMessage() & 0x1;
+
   AliDebug(3, Form("DDL Number %d totalDataWord %d\n", fCurrentDDLIndex,
                    totalDataWord));
 
   UInt_t *buffer = new UInt_t[totalDataWord/4];
-  
+
   if ( !GetReader()->ReadNext((UChar_t*)buffer, totalDataWord) )
   {
     // We have not actually been able to complete the loading of the new DDL so
@@ -232,7 +235,9 @@ Bool_t AliMUONRawStreamTrigger::GetNextDDL()
 
   fPayload->ResetDDL();
   
-  Bool_t ok = fPayload->Decode(buffer);
+
+
+  Bool_t ok = fPayload->Decode(buffer, scalerEvent);
 
   delete[] buffer;
   
@@ -353,6 +358,9 @@ Bool_t AliMUONRawStreamTrigger::NextDDL()
 
   Int_t totalDataWord = GetReader()->GetDataSize(); // in bytes
 
+  Bool_t scalerEvent =  GetReader()->GetDataHeader() && GetReader()->GetDataHeader()->GetL1TriggerMessage() & 0x1;
+
+
   UInt_t *buffer = new UInt_t[totalDataWord/4];
 
   // check not necessary yet, but for future developments
@@ -362,7 +370,7 @@ Bool_t AliMUONRawStreamTrigger::NextDDL()
   Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
 #endif
 
-  fPayload->Decode(buffer);
+  fPayload->Decode(buffer, scalerEvent);
 
 
   fDDL++;