ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

//-----------------------------------------------------------------------------
/// \class AliMUONRawStreamTrigger
/// This class provides access to MUON digits in raw data.
///
/// It loops over all MUON digits in the raw data given by the AliRawReader.
/// The Next method goes to the next local response. If there are no local response left
/// it returns kFALSE.
/// It can loop also over DDL and store the decoded rawdata in TClonesArrays
/// in payload class.
/// 
/// Version implement for Trigger
/// \author Christian Finck
//-----------------------------------------------------------------------------

#include <TArrayS.h>

#include "AliMUONRawStreamTrigger.h"
#include "AliMUONDarcHeader.h"
#include "AliMUONRegHeader.h"
#include "AliMUONLocalStruct.h"
#include "AliMUONDDLTrigger.h"
#include "AliMUONLogger.h"

#include "AliRawReader.h"
#include "AliRawDataHeader.h"
#include "AliRawDataHeaderV3.h"
#include "AliDAQ.h"
#include "AliLog.h"

#include <cassert>

/// \cond CLASSIMP
ClassImp(AliMUONRawStreamTrigger)
/// \endcond

const Int_t AliMUONRawStreamTrigger::fgkMaxDDL = 2;

//___________________________________________
AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(TRootIOCtor* /*dummy*/)
:   AliMUONVRawStreamTrigger(),
fPayload(0x0),
fCurrentDDL(0x0),
fCurrentDDLIndex(fgkMaxDDL),
fCurrentDarcHeader(0x0),
fCurrentRegHeader(0x0),
fCurrentRegHeaderIndex(0),
fCurrentLocalStruct(0x0),
fCurrentLocalStructIndex(0),
fLocalStructRead(kFALSE),
fDDL(0),
fNextDDL(kFALSE)
{
  ///
  /// create an object to read MUON raw digits
  /// Default ctor with no mem allocation for I/O
  ///
}

//___________________________________________
AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
:   AliMUONVRawStreamTrigger(),
    fPayload(new AliMUONPayloadTrigger()),
    fCurrentDDL(0x0),
    fCurrentDDLIndex(fgkMaxDDL),
    fCurrentDarcHeader(0x0),
    fCurrentRegHeader(0x0),
    fCurrentRegHeaderIndex(0),
    fCurrentLocalStruct(0x0),
    fCurrentLocalStructIndex(0),
    fLocalStructRead(kFALSE),
    fDDL(0),
    fNextDDL(kFALSE)
{
  ///
  /// create an object to read MUON raw digits
  /// Default ctor for monitoring purposes
  ///


}

//_________________________________________________________________
AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(AliRawReader* rawReader)
  : AliMUONVRawStreamTrigger(rawReader),
    fPayload(new AliMUONPayloadTrigger()),
    fCurrentDDL(0x0),
    fCurrentDDLIndex(fgkMaxDDL),
    fCurrentDarcHeader(0x0),
    fCurrentRegHeader(0x0),
    fCurrentRegHeaderIndex(0),
    fCurrentLocalStruct(0x0),
    fCurrentLocalStructIndex(0),
    fLocalStructRead(kFALSE),
    fDDL(0),
    fNextDDL(kFALSE)
{
  ///
  /// ctor with AliRawReader as argument
  /// for reconstruction purpose
  ///

}

//___________________________________
AliMUONRawStreamTrigger::~AliMUONRawStreamTrigger()
{
  ///
  /// clean up
  ///
  delete fPayload;
}

//_____________________________________________________________
Bool_t AliMUONRawStreamTrigger::Next(UChar_t& id,   UChar_t& dec,      Bool_t& trigY, 
				     UChar_t& yPos, UChar_t& sXDev,    UChar_t& xDev,
				     UChar_t& xPos, Bool_t& triggerY,  Bool_t& triggerX,
				     TArrayS& xPattern, TArrayS& yPattern)
{
  ///
  /// read the next raw digit (local structure)
  /// returns kFALSE if there is no digit left
  /// Should call First() before this method to start the iteration.
  ///
  
  if ( IsDone() ) return kFALSE;
  
  if ( fLocalStructRead ) {

    Bool_t ok = GetNextLocalStruct();
    if (!ok)
    {
      // this is the end
      return kFALSE;
    } 
  }

  fLocalStructRead = kTRUE;

  id    = fCurrentLocalStruct->GetId();
  dec   = fCurrentLocalStruct->GetDec(); 
  trigY = fCurrentLocalStruct->GetTrigY();
  yPos  = fCurrentLocalStruct->GetYPos();
  sXDev = fCurrentLocalStruct->GetSXDev();
  xDev  = fCurrentLocalStruct->GetXDev();
  xPos  = fCurrentLocalStruct->GetXPos();

  triggerX = fCurrentLocalStruct->GetTriggerX();
  triggerY = fCurrentLocalStruct->GetTriggerY();

  fCurrentLocalStruct->GetXPattern(xPattern);
  fCurrentLocalStruct->GetYPattern(yPattern);

  return kTRUE;
}

//______________________________________________________
Bool_t AliMUONRawStreamTrigger::IsDone() const
{
  /// Whether the iteration is finished or not
  return (fCurrentLocalStruct==0);
}

//______________________________________________________
void AliMUONRawStreamTrigger::First()
{
  /// Initialize the iteration process.
  
  fCurrentDDLIndex = -1;
  // Must reset all the pointers because if we return before calling
  // GetNextLocalStruct() the user might call CurrentDDL(), CurrentBlockHeader(),
  // CurrentRegHeader() or CurrentLocalStruct() which should return reasonable
  // results in that case.
  fCurrentDDL         = 0;
  fCurrentDarcHeader  = 0;
  fCurrentRegHeader   = 0;
  fCurrentLocalStruct = 0;
  
  // Find the first non-empty structure
  if (not GetNextDDL()) return;
  if (not GetNextRegHeader()) return;
  GetNextLocalStruct();
}

//______________________________________________________
Bool_t AliMUONRawStreamTrigger::GetNextDDL()
{
  /// Returns the next DDL present
  
  assert( GetReader() != 0 );

  
  Bool_t kFound(kFALSE);
  
  while ( fCurrentDDLIndex < fgkMaxDDL-1 && !kFound ) 
  {
    ++fCurrentDDLIndex;
    GetReader()->Reset();
    GetReader()->Select("MUONTRG",fCurrentDDLIndex,fCurrentDDLIndex);
    if ( GetReader()->ReadHeader() ) 
    {
      kFound = kTRUE;
    }
  }
  
  if ( !kFound ) 
  {
    // fCurrentDDLIndex is set to fgkMaxDDL so that we exit the above loop immediately
    // for a subsequent call to this method, unless NextEvent is called in between.
    fCurrentDDLIndex = fgkMaxDDL;
    // We have not actually been able to complete the loading of the new DDL so
    // we are still on the old one. In this case we do not need to reset fCurrentDDL.
    //fCurrentDDL = 0;
    if (IsErrorLogger()) AddErrorMessage();
    return kFALSE;
  }
  
  Int_t totalDataWord  = GetReader()->GetDataSize(); // in bytes
  
  AliRawReader * reader = GetReader();
  if (!reader) return kFALSE;

  const AliRawDataHeader * cdh = reader->GetDataHeader();
  const AliRawDataHeaderV3 * cdh3 = reader->GetDataHeaderV3();

  if (!cdh && !cdh3) return kFALSE;

  Bool_t scalerEvent = ((cdh ?  cdh->GetL1TriggerMessage() : cdh3->GetL1TriggerMessage()) & 0x1) == 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
    // we are still on the old one. In this case we do not need to reset fCurrentDDL.
    //fCurrentDDL = 0;
    delete [] buffer;
    return kFALSE;
  }

#ifndef R__BYTESWAP  
  Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
#endif

  fPayload->ResetDDL();
  


  Bool_t ok = fPayload->Decode(buffer, scalerEvent);

  delete[] buffer;
  
  fCurrentDDL = fPayload->GetDDLTrigger();
  
  fCurrentDarcHeader = fCurrentDDL->GetDarcHeader();
  
  fCurrentRegHeaderIndex = -1;


  return ok;
}


//______________________________________________________
Bool_t AliMUONRawStreamTrigger::GetNextRegHeader()
{
  /// Returns the next Reg Header present

  assert( fCurrentDarcHeader != 0 );
  assert( fCurrentDDL != 0 );

  fCurrentRegHeader = 0;
  
  Int_t i = fCurrentRegHeaderIndex;
  
  while ( fCurrentRegHeader == 0 && i < fCurrentDarcHeader->GetRegHeaderEntries()-1 )
  {
    ++i;
    fCurrentRegHeader = fCurrentDarcHeader->GetRegHeaderEntry(i);
  }
     
  if ( !fCurrentRegHeader ) 
  {
    Bool_t ok = GetNextDDL();
    if (!ok) 
    {
      return kFALSE;
    }
    else
    {
      return GetNextRegHeader();
    }
  }
  
  fCurrentRegHeaderIndex = i;
  
  fCurrentLocalStructIndex = -1;
  
  return kTRUE;
}

//______________________________________________________
Bool_t AliMUONRawStreamTrigger::GetNextLocalStruct()
{
  /// Find the next non-empty local structure
  
  assert( fCurrentRegHeader != 0 );
  
  fCurrentLocalStruct = 0;

  Int_t i = fCurrentLocalStructIndex;
  
  while ( fCurrentLocalStruct == 0 && i < fCurrentRegHeader->GetLocalEntries()-1 ) 
  {
    ++i;
    fCurrentLocalStruct = fCurrentRegHeader->GetLocalEntry(i);
  }
    
  if ( !fCurrentLocalStruct ) 
  {
    Bool_t ok = GetNextRegHeader();
    if (!ok)
    {
      return kFALSE;
    }
    else
    {
      return GetNextLocalStruct();
    }
  }
  
  fCurrentLocalStructIndex = i;
  
  fLocalStructRead = kFALSE;
  
  return kTRUE;
}

//______________________________________________________
Bool_t AliMUONRawStreamTrigger::NextDDL()
{
  /// reading tracker DDL
  /// store local info into Array
  /// store only non-empty structures

  // reset TClones
  fPayload->ResetDDL();


  // loop over the two ddl's

  while ( fDDL < fgkMaxDDL ) {
    GetReader()->Reset();
    GetReader()->Select("MUONTRG", fDDL, fDDL);  //Select the DDL file to be read  
    if (GetReader()->ReadHeader()) break;
    AliDebug(3,Form("Skipping DDL %d which does not seem to be there",fDDL));
    ++fDDL;
  }

  if (fDDL >= fgkMaxDDL) {
    fDDL = 0;
    if (IsErrorLogger()) AddErrorMessage();
    return kFALSE;
  }

  AliDebug(3, Form("DDL Number %d\n", fDDL ));

  Int_t totalDataWord = GetReader()->GetDataSize(); // in bytes

  AliRawReader * reader = GetReader();
  if (!reader) return kFALSE;

  const AliRawDataHeader * cdh = reader->GetDataHeader();
  const AliRawDataHeaderV3 * cdh3 = reader->GetDataHeaderV3();

  if (!cdh && !cdh3) return kFALSE;

  Bool_t scalerEvent = ((cdh ?  cdh->GetL1TriggerMessage() : cdh3->GetL1TriggerMessage()) & 0x1) == 0x1;


  UInt_t *buffer = new UInt_t[totalDataWord/4];

  // check not necessary yet, but for future developments
  if (!GetReader()->ReadNext((UChar_t*)buffer, totalDataWord)) return kFALSE; 
  
#ifndef R__BYTESWAP
  Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
#endif

  fPayload->Decode(buffer, scalerEvent);


  fDDL++;

  delete [] buffer;


  return kTRUE;
}

// //______________________________________________________
// void AliMUONRawStreamTrigger::SetMaxReg(Int_t reg) 
// {
//   /// set regional card number
//   fPayload->SetMaxReg(reg);
// }

//______________________________________________________
void AliMUONRawStreamTrigger::SetMaxLoc(Int_t loc) 
{
  /// set local card number
  fPayload->SetMaxLoc(loc);
}

//______________________________________________________
void AliMUONRawStreamTrigger::AddErrorMessage()
{
/// add message into logger of AliRawReader per event

  TString msg;
  Int_t occurance = 0;
  AliMUONLogger* log = fPayload->GetErrorLogger();
  
  log->ResetItr();
  while(log->Next(msg, occurance))
  { 
    if (msg.Contains("Darc"))
      GetReader()->AddMajorErrorLog(kDarcEoWErr, msg.Data());

    if (msg.Contains("Global"))
      GetReader()->AddMajorErrorLog(kGlobalEoWErr, msg.Data());

    if (msg.Contains("Regional"))
      GetReader()->AddMajorErrorLog(kRegEoWErr, msg.Data());

    if (msg.Contains("Local"))
      GetReader()->AddMajorErrorLog(kLocalEoWErr, msg.Data());
  }
  
  log->Clear(); // clear after each event
}
 AliMUONRawStreamTrigger.cxx:1
 AliMUONRawStreamTrigger.cxx:2
 AliMUONRawStreamTrigger.cxx:3
 AliMUONRawStreamTrigger.cxx:4
 AliMUONRawStreamTrigger.cxx:5
 AliMUONRawStreamTrigger.cxx:6
 AliMUONRawStreamTrigger.cxx:7
 AliMUONRawStreamTrigger.cxx:8
 AliMUONRawStreamTrigger.cxx:9
 AliMUONRawStreamTrigger.cxx:10
 AliMUONRawStreamTrigger.cxx:11
 AliMUONRawStreamTrigger.cxx:12
 AliMUONRawStreamTrigger.cxx:13
 AliMUONRawStreamTrigger.cxx:14
 AliMUONRawStreamTrigger.cxx:15
 AliMUONRawStreamTrigger.cxx:16
 AliMUONRawStreamTrigger.cxx:17
 AliMUONRawStreamTrigger.cxx:18
 AliMUONRawStreamTrigger.cxx:19
 AliMUONRawStreamTrigger.cxx:20
 AliMUONRawStreamTrigger.cxx:21
 AliMUONRawStreamTrigger.cxx:22
 AliMUONRawStreamTrigger.cxx:23
 AliMUONRawStreamTrigger.cxx:24
 AliMUONRawStreamTrigger.cxx:25
 AliMUONRawStreamTrigger.cxx:26
 AliMUONRawStreamTrigger.cxx:27
 AliMUONRawStreamTrigger.cxx:28
 AliMUONRawStreamTrigger.cxx:29
 AliMUONRawStreamTrigger.cxx:30
 AliMUONRawStreamTrigger.cxx:31
 AliMUONRawStreamTrigger.cxx:32
 AliMUONRawStreamTrigger.cxx:33
 AliMUONRawStreamTrigger.cxx:34
 AliMUONRawStreamTrigger.cxx:35
 AliMUONRawStreamTrigger.cxx:36
 AliMUONRawStreamTrigger.cxx:37
 AliMUONRawStreamTrigger.cxx:38
 AliMUONRawStreamTrigger.cxx:39
 AliMUONRawStreamTrigger.cxx:40
 AliMUONRawStreamTrigger.cxx:41
 AliMUONRawStreamTrigger.cxx:42
 AliMUONRawStreamTrigger.cxx:43
 AliMUONRawStreamTrigger.cxx:44
 AliMUONRawStreamTrigger.cxx:45
 AliMUONRawStreamTrigger.cxx:46
 AliMUONRawStreamTrigger.cxx:47
 AliMUONRawStreamTrigger.cxx:48
 AliMUONRawStreamTrigger.cxx:49
 AliMUONRawStreamTrigger.cxx:50
 AliMUONRawStreamTrigger.cxx:51
 AliMUONRawStreamTrigger.cxx:52
 AliMUONRawStreamTrigger.cxx:53
 AliMUONRawStreamTrigger.cxx:54
 AliMUONRawStreamTrigger.cxx:55
 AliMUONRawStreamTrigger.cxx:56
 AliMUONRawStreamTrigger.cxx:57
 AliMUONRawStreamTrigger.cxx:58
 AliMUONRawStreamTrigger.cxx:59
 AliMUONRawStreamTrigger.cxx:60
 AliMUONRawStreamTrigger.cxx:61
 AliMUONRawStreamTrigger.cxx:62
 AliMUONRawStreamTrigger.cxx:63
 AliMUONRawStreamTrigger.cxx:64
 AliMUONRawStreamTrigger.cxx:65
 AliMUONRawStreamTrigger.cxx:66
 AliMUONRawStreamTrigger.cxx:67
 AliMUONRawStreamTrigger.cxx:68
 AliMUONRawStreamTrigger.cxx:69
 AliMUONRawStreamTrigger.cxx:70
 AliMUONRawStreamTrigger.cxx:71
 AliMUONRawStreamTrigger.cxx:72
 AliMUONRawStreamTrigger.cxx:73
 AliMUONRawStreamTrigger.cxx:74
 AliMUONRawStreamTrigger.cxx:75
 AliMUONRawStreamTrigger.cxx:76
 AliMUONRawStreamTrigger.cxx:77
 AliMUONRawStreamTrigger.cxx:78
 AliMUONRawStreamTrigger.cxx:79
 AliMUONRawStreamTrigger.cxx:80
 AliMUONRawStreamTrigger.cxx:81
 AliMUONRawStreamTrigger.cxx:82
 AliMUONRawStreamTrigger.cxx:83
 AliMUONRawStreamTrigger.cxx:84
 AliMUONRawStreamTrigger.cxx:85
 AliMUONRawStreamTrigger.cxx:86
 AliMUONRawStreamTrigger.cxx:87
 AliMUONRawStreamTrigger.cxx:88
 AliMUONRawStreamTrigger.cxx:89
 AliMUONRawStreamTrigger.cxx:90
 AliMUONRawStreamTrigger.cxx:91
 AliMUONRawStreamTrigger.cxx:92
 AliMUONRawStreamTrigger.cxx:93
 AliMUONRawStreamTrigger.cxx:94
 AliMUONRawStreamTrigger.cxx:95
 AliMUONRawStreamTrigger.cxx:96
 AliMUONRawStreamTrigger.cxx:97
 AliMUONRawStreamTrigger.cxx:98
 AliMUONRawStreamTrigger.cxx:99
 AliMUONRawStreamTrigger.cxx:100
 AliMUONRawStreamTrigger.cxx:101
 AliMUONRawStreamTrigger.cxx:102
 AliMUONRawStreamTrigger.cxx:103
 AliMUONRawStreamTrigger.cxx:104
 AliMUONRawStreamTrigger.cxx:105
 AliMUONRawStreamTrigger.cxx:106
 AliMUONRawStreamTrigger.cxx:107
 AliMUONRawStreamTrigger.cxx:108
 AliMUONRawStreamTrigger.cxx:109
 AliMUONRawStreamTrigger.cxx:110
 AliMUONRawStreamTrigger.cxx:111
 AliMUONRawStreamTrigger.cxx:112
 AliMUONRawStreamTrigger.cxx:113
 AliMUONRawStreamTrigger.cxx:114
 AliMUONRawStreamTrigger.cxx:115
 AliMUONRawStreamTrigger.cxx:116
 AliMUONRawStreamTrigger.cxx:117
 AliMUONRawStreamTrigger.cxx:118
 AliMUONRawStreamTrigger.cxx:119
 AliMUONRawStreamTrigger.cxx:120
 AliMUONRawStreamTrigger.cxx:121
 AliMUONRawStreamTrigger.cxx:122
 AliMUONRawStreamTrigger.cxx:123
 AliMUONRawStreamTrigger.cxx:124
 AliMUONRawStreamTrigger.cxx:125
 AliMUONRawStreamTrigger.cxx:126
 AliMUONRawStreamTrigger.cxx:127
 AliMUONRawStreamTrigger.cxx:128
 AliMUONRawStreamTrigger.cxx:129
 AliMUONRawStreamTrigger.cxx:130
 AliMUONRawStreamTrigger.cxx:131
 AliMUONRawStreamTrigger.cxx:132
 AliMUONRawStreamTrigger.cxx:133
 AliMUONRawStreamTrigger.cxx:134
 AliMUONRawStreamTrigger.cxx:135
 AliMUONRawStreamTrigger.cxx:136
 AliMUONRawStreamTrigger.cxx:137
 AliMUONRawStreamTrigger.cxx:138
 AliMUONRawStreamTrigger.cxx:139
 AliMUONRawStreamTrigger.cxx:140
 AliMUONRawStreamTrigger.cxx:141
 AliMUONRawStreamTrigger.cxx:142
 AliMUONRawStreamTrigger.cxx:143
 AliMUONRawStreamTrigger.cxx:144
 AliMUONRawStreamTrigger.cxx:145
 AliMUONRawStreamTrigger.cxx:146
 AliMUONRawStreamTrigger.cxx:147
 AliMUONRawStreamTrigger.cxx:148
 AliMUONRawStreamTrigger.cxx:149
 AliMUONRawStreamTrigger.cxx:150
 AliMUONRawStreamTrigger.cxx:151
 AliMUONRawStreamTrigger.cxx:152
 AliMUONRawStreamTrigger.cxx:153
 AliMUONRawStreamTrigger.cxx:154
 AliMUONRawStreamTrigger.cxx:155
 AliMUONRawStreamTrigger.cxx:156
 AliMUONRawStreamTrigger.cxx:157
 AliMUONRawStreamTrigger.cxx:158
 AliMUONRawStreamTrigger.cxx:159
 AliMUONRawStreamTrigger.cxx:160
 AliMUONRawStreamTrigger.cxx:161
 AliMUONRawStreamTrigger.cxx:162
 AliMUONRawStreamTrigger.cxx:163
 AliMUONRawStreamTrigger.cxx:164
 AliMUONRawStreamTrigger.cxx:165
 AliMUONRawStreamTrigger.cxx:166
 AliMUONRawStreamTrigger.cxx:167
 AliMUONRawStreamTrigger.cxx:168
 AliMUONRawStreamTrigger.cxx:169
 AliMUONRawStreamTrigger.cxx:170
 AliMUONRawStreamTrigger.cxx:171
 AliMUONRawStreamTrigger.cxx:172
 AliMUONRawStreamTrigger.cxx:173
 AliMUONRawStreamTrigger.cxx:174
 AliMUONRawStreamTrigger.cxx:175
 AliMUONRawStreamTrigger.cxx:176
 AliMUONRawStreamTrigger.cxx:177
 AliMUONRawStreamTrigger.cxx:178
 AliMUONRawStreamTrigger.cxx:179
 AliMUONRawStreamTrigger.cxx:180
 AliMUONRawStreamTrigger.cxx:181
 AliMUONRawStreamTrigger.cxx:182
 AliMUONRawStreamTrigger.cxx:183
 AliMUONRawStreamTrigger.cxx:184
 AliMUONRawStreamTrigger.cxx:185
 AliMUONRawStreamTrigger.cxx:186
 AliMUONRawStreamTrigger.cxx:187
 AliMUONRawStreamTrigger.cxx:188
 AliMUONRawStreamTrigger.cxx:189
 AliMUONRawStreamTrigger.cxx:190
 AliMUONRawStreamTrigger.cxx:191
 AliMUONRawStreamTrigger.cxx:192
 AliMUONRawStreamTrigger.cxx:193
 AliMUONRawStreamTrigger.cxx:194
 AliMUONRawStreamTrigger.cxx:195
 AliMUONRawStreamTrigger.cxx:196
 AliMUONRawStreamTrigger.cxx:197
 AliMUONRawStreamTrigger.cxx:198
 AliMUONRawStreamTrigger.cxx:199
 AliMUONRawStreamTrigger.cxx:200
 AliMUONRawStreamTrigger.cxx:201
 AliMUONRawStreamTrigger.cxx:202
 AliMUONRawStreamTrigger.cxx:203
 AliMUONRawStreamTrigger.cxx:204
 AliMUONRawStreamTrigger.cxx:205
 AliMUONRawStreamTrigger.cxx:206
 AliMUONRawStreamTrigger.cxx:207
 AliMUONRawStreamTrigger.cxx:208
 AliMUONRawStreamTrigger.cxx:209
 AliMUONRawStreamTrigger.cxx:210
 AliMUONRawStreamTrigger.cxx:211
 AliMUONRawStreamTrigger.cxx:212
 AliMUONRawStreamTrigger.cxx:213
 AliMUONRawStreamTrigger.cxx:214
 AliMUONRawStreamTrigger.cxx:215
 AliMUONRawStreamTrigger.cxx:216
 AliMUONRawStreamTrigger.cxx:217
 AliMUONRawStreamTrigger.cxx:218
 AliMUONRawStreamTrigger.cxx:219
 AliMUONRawStreamTrigger.cxx:220
 AliMUONRawStreamTrigger.cxx:221
 AliMUONRawStreamTrigger.cxx:222
 AliMUONRawStreamTrigger.cxx:223
 AliMUONRawStreamTrigger.cxx:224
 AliMUONRawStreamTrigger.cxx:225
 AliMUONRawStreamTrigger.cxx:226
 AliMUONRawStreamTrigger.cxx:227
 AliMUONRawStreamTrigger.cxx:228
 AliMUONRawStreamTrigger.cxx:229
 AliMUONRawStreamTrigger.cxx:230
 AliMUONRawStreamTrigger.cxx:231
 AliMUONRawStreamTrigger.cxx:232
 AliMUONRawStreamTrigger.cxx:233
 AliMUONRawStreamTrigger.cxx:234
 AliMUONRawStreamTrigger.cxx:235
 AliMUONRawStreamTrigger.cxx:236
 AliMUONRawStreamTrigger.cxx:237
 AliMUONRawStreamTrigger.cxx:238
 AliMUONRawStreamTrigger.cxx:239
 AliMUONRawStreamTrigger.cxx:240
 AliMUONRawStreamTrigger.cxx:241
 AliMUONRawStreamTrigger.cxx:242
 AliMUONRawStreamTrigger.cxx:243
 AliMUONRawStreamTrigger.cxx:244
 AliMUONRawStreamTrigger.cxx:245
 AliMUONRawStreamTrigger.cxx:246
 AliMUONRawStreamTrigger.cxx:247
 AliMUONRawStreamTrigger.cxx:248
 AliMUONRawStreamTrigger.cxx:249
 AliMUONRawStreamTrigger.cxx:250
 AliMUONRawStreamTrigger.cxx:251
 AliMUONRawStreamTrigger.cxx:252
 AliMUONRawStreamTrigger.cxx:253
 AliMUONRawStreamTrigger.cxx:254
 AliMUONRawStreamTrigger.cxx:255
 AliMUONRawStreamTrigger.cxx:256
 AliMUONRawStreamTrigger.cxx:257
 AliMUONRawStreamTrigger.cxx:258
 AliMUONRawStreamTrigger.cxx:259
 AliMUONRawStreamTrigger.cxx:260
 AliMUONRawStreamTrigger.cxx:261
 AliMUONRawStreamTrigger.cxx:262
 AliMUONRawStreamTrigger.cxx:263
 AliMUONRawStreamTrigger.cxx:264
 AliMUONRawStreamTrigger.cxx:265
 AliMUONRawStreamTrigger.cxx:266
 AliMUONRawStreamTrigger.cxx:267
 AliMUONRawStreamTrigger.cxx:268
 AliMUONRawStreamTrigger.cxx:269
 AliMUONRawStreamTrigger.cxx:270
 AliMUONRawStreamTrigger.cxx:271
 AliMUONRawStreamTrigger.cxx:272
 AliMUONRawStreamTrigger.cxx:273
 AliMUONRawStreamTrigger.cxx:274
 AliMUONRawStreamTrigger.cxx:275
 AliMUONRawStreamTrigger.cxx:276
 AliMUONRawStreamTrigger.cxx:277
 AliMUONRawStreamTrigger.cxx:278
 AliMUONRawStreamTrigger.cxx:279
 AliMUONRawStreamTrigger.cxx:280
 AliMUONRawStreamTrigger.cxx:281
 AliMUONRawStreamTrigger.cxx:282
 AliMUONRawStreamTrigger.cxx:283
 AliMUONRawStreamTrigger.cxx:284
 AliMUONRawStreamTrigger.cxx:285
 AliMUONRawStreamTrigger.cxx:286
 AliMUONRawStreamTrigger.cxx:287
 AliMUONRawStreamTrigger.cxx:288
 AliMUONRawStreamTrigger.cxx:289
 AliMUONRawStreamTrigger.cxx:290
 AliMUONRawStreamTrigger.cxx:291
 AliMUONRawStreamTrigger.cxx:292
 AliMUONRawStreamTrigger.cxx:293
 AliMUONRawStreamTrigger.cxx:294
 AliMUONRawStreamTrigger.cxx:295
 AliMUONRawStreamTrigger.cxx:296
 AliMUONRawStreamTrigger.cxx:297
 AliMUONRawStreamTrigger.cxx:298
 AliMUONRawStreamTrigger.cxx:299
 AliMUONRawStreamTrigger.cxx:300
 AliMUONRawStreamTrigger.cxx:301
 AliMUONRawStreamTrigger.cxx:302
 AliMUONRawStreamTrigger.cxx:303
 AliMUONRawStreamTrigger.cxx:304
 AliMUONRawStreamTrigger.cxx:305
 AliMUONRawStreamTrigger.cxx:306
 AliMUONRawStreamTrigger.cxx:307
 AliMUONRawStreamTrigger.cxx:308
 AliMUONRawStreamTrigger.cxx:309
 AliMUONRawStreamTrigger.cxx:310
 AliMUONRawStreamTrigger.cxx:311
 AliMUONRawStreamTrigger.cxx:312
 AliMUONRawStreamTrigger.cxx:313
 AliMUONRawStreamTrigger.cxx:314
 AliMUONRawStreamTrigger.cxx:315
 AliMUONRawStreamTrigger.cxx:316
 AliMUONRawStreamTrigger.cxx:317
 AliMUONRawStreamTrigger.cxx:318
 AliMUONRawStreamTrigger.cxx:319
 AliMUONRawStreamTrigger.cxx:320
 AliMUONRawStreamTrigger.cxx:321
 AliMUONRawStreamTrigger.cxx:322
 AliMUONRawStreamTrigger.cxx:323
 AliMUONRawStreamTrigger.cxx:324
 AliMUONRawStreamTrigger.cxx:325
 AliMUONRawStreamTrigger.cxx:326
 AliMUONRawStreamTrigger.cxx:327
 AliMUONRawStreamTrigger.cxx:328
 AliMUONRawStreamTrigger.cxx:329
 AliMUONRawStreamTrigger.cxx:330
 AliMUONRawStreamTrigger.cxx:331
 AliMUONRawStreamTrigger.cxx:332
 AliMUONRawStreamTrigger.cxx:333
 AliMUONRawStreamTrigger.cxx:334
 AliMUONRawStreamTrigger.cxx:335
 AliMUONRawStreamTrigger.cxx:336
 AliMUONRawStreamTrigger.cxx:337
 AliMUONRawStreamTrigger.cxx:338
 AliMUONRawStreamTrigger.cxx:339
 AliMUONRawStreamTrigger.cxx:340
 AliMUONRawStreamTrigger.cxx:341
 AliMUONRawStreamTrigger.cxx:342
 AliMUONRawStreamTrigger.cxx:343
 AliMUONRawStreamTrigger.cxx:344
 AliMUONRawStreamTrigger.cxx:345
 AliMUONRawStreamTrigger.cxx:346
 AliMUONRawStreamTrigger.cxx:347
 AliMUONRawStreamTrigger.cxx:348
 AliMUONRawStreamTrigger.cxx:349
 AliMUONRawStreamTrigger.cxx:350
 AliMUONRawStreamTrigger.cxx:351
 AliMUONRawStreamTrigger.cxx:352
 AliMUONRawStreamTrigger.cxx:353
 AliMUONRawStreamTrigger.cxx:354
 AliMUONRawStreamTrigger.cxx:355
 AliMUONRawStreamTrigger.cxx:356
 AliMUONRawStreamTrigger.cxx:357
 AliMUONRawStreamTrigger.cxx:358
 AliMUONRawStreamTrigger.cxx:359
 AliMUONRawStreamTrigger.cxx:360
 AliMUONRawStreamTrigger.cxx:361
 AliMUONRawStreamTrigger.cxx:362
 AliMUONRawStreamTrigger.cxx:363
 AliMUONRawStreamTrigger.cxx:364
 AliMUONRawStreamTrigger.cxx:365
 AliMUONRawStreamTrigger.cxx:366
 AliMUONRawStreamTrigger.cxx:367
 AliMUONRawStreamTrigger.cxx:368
 AliMUONRawStreamTrigger.cxx:369
 AliMUONRawStreamTrigger.cxx:370
 AliMUONRawStreamTrigger.cxx:371
 AliMUONRawStreamTrigger.cxx:372
 AliMUONRawStreamTrigger.cxx:373
 AliMUONRawStreamTrigger.cxx:374
 AliMUONRawStreamTrigger.cxx:375
 AliMUONRawStreamTrigger.cxx:376
 AliMUONRawStreamTrigger.cxx:377
 AliMUONRawStreamTrigger.cxx:378
 AliMUONRawStreamTrigger.cxx:379
 AliMUONRawStreamTrigger.cxx:380
 AliMUONRawStreamTrigger.cxx:381
 AliMUONRawStreamTrigger.cxx:382
 AliMUONRawStreamTrigger.cxx:383
 AliMUONRawStreamTrigger.cxx:384
 AliMUONRawStreamTrigger.cxx:385
 AliMUONRawStreamTrigger.cxx:386
 AliMUONRawStreamTrigger.cxx:387
 AliMUONRawStreamTrigger.cxx:388
 AliMUONRawStreamTrigger.cxx:389
 AliMUONRawStreamTrigger.cxx:390
 AliMUONRawStreamTrigger.cxx:391
 AliMUONRawStreamTrigger.cxx:392
 AliMUONRawStreamTrigger.cxx:393
 AliMUONRawStreamTrigger.cxx:394
 AliMUONRawStreamTrigger.cxx:395
 AliMUONRawStreamTrigger.cxx:396
 AliMUONRawStreamTrigger.cxx:397
 AliMUONRawStreamTrigger.cxx:398
 AliMUONRawStreamTrigger.cxx:399
 AliMUONRawStreamTrigger.cxx:400
 AliMUONRawStreamTrigger.cxx:401
 AliMUONRawStreamTrigger.cxx:402
 AliMUONRawStreamTrigger.cxx:403
 AliMUONRawStreamTrigger.cxx:404
 AliMUONRawStreamTrigger.cxx:405
 AliMUONRawStreamTrigger.cxx:406
 AliMUONRawStreamTrigger.cxx:407
 AliMUONRawStreamTrigger.cxx:408
 AliMUONRawStreamTrigger.cxx:409
 AliMUONRawStreamTrigger.cxx:410
 AliMUONRawStreamTrigger.cxx:411
 AliMUONRawStreamTrigger.cxx:412
 AliMUONRawStreamTrigger.cxx:413
 AliMUONRawStreamTrigger.cxx:414
 AliMUONRawStreamTrigger.cxx:415
 AliMUONRawStreamTrigger.cxx:416
 AliMUONRawStreamTrigger.cxx:417
 AliMUONRawStreamTrigger.cxx:418
 AliMUONRawStreamTrigger.cxx:419
 AliMUONRawStreamTrigger.cxx:420
 AliMUONRawStreamTrigger.cxx:421
 AliMUONRawStreamTrigger.cxx:422
 AliMUONRawStreamTrigger.cxx:423
 AliMUONRawStreamTrigger.cxx:424
 AliMUONRawStreamTrigger.cxx:425
 AliMUONRawStreamTrigger.cxx:426
 AliMUONRawStreamTrigger.cxx:427
 AliMUONRawStreamTrigger.cxx:428
 AliMUONRawStreamTrigger.cxx:429
 AliMUONRawStreamTrigger.cxx:430
 AliMUONRawStreamTrigger.cxx:431
 AliMUONRawStreamTrigger.cxx:432
 AliMUONRawStreamTrigger.cxx:433
 AliMUONRawStreamTrigger.cxx:434
 AliMUONRawStreamTrigger.cxx:435
 AliMUONRawStreamTrigger.cxx:436
 AliMUONRawStreamTrigger.cxx:437
 AliMUONRawStreamTrigger.cxx:438
 AliMUONRawStreamTrigger.cxx:439
 AliMUONRawStreamTrigger.cxx:440
 AliMUONRawStreamTrigger.cxx:441
 AliMUONRawStreamTrigger.cxx:442
 AliMUONRawStreamTrigger.cxx:443
 AliMUONRawStreamTrigger.cxx:444
 AliMUONRawStreamTrigger.cxx:445
 AliMUONRawStreamTrigger.cxx:446
 AliMUONRawStreamTrigger.cxx:447
 AliMUONRawStreamTrigger.cxx:448
 AliMUONRawStreamTrigger.cxx:449
 AliMUONRawStreamTrigger.cxx:450
 AliMUONRawStreamTrigger.cxx:451
 AliMUONRawStreamTrigger.cxx:452
 AliMUONRawStreamTrigger.cxx:453
 AliMUONRawStreamTrigger.cxx:454
 AliMUONRawStreamTrigger.cxx:455
 AliMUONRawStreamTrigger.cxx:456
 AliMUONRawStreamTrigger.cxx:457
 AliMUONRawStreamTrigger.cxx:458
 AliMUONRawStreamTrigger.cxx:459
 AliMUONRawStreamTrigger.cxx:460