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 AliMUONGlobalTriggerBoard
/// Global trigger implementation:
/// - inputs are regional responses
/// - output is a 12-bit word
/// - 4 bits per trigger level
///
/// \author Rachid Guernane (LPCCFd), 
/// Corrected by Christian Finck (Subatech)
//-----------------------------------------------------------------------------

#include "AliMUONGlobalTriggerBoard.h"
#include "AliLog.h"
#include "TBits.h"

#include <Riostream.h>

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

//___________________________________________
AliMUONGlobalTriggerBoard::AliMUONGlobalTriggerBoard(): AliMUONTriggerBoard()
{
/// Default constructor

   for (Int_t i=0;i<16;i++) fRegionalResponse[i] = 0;
   for (Int_t i=0;i< 4;i++) fGlobalInput[i] = 0;
   for (Int_t i=0;i< 4;i++) fMask[i] = 0xffffffff;
}

//___________________________________________
AliMUONGlobalTriggerBoard::AliMUONGlobalTriggerBoard(const char *name, Int_t a) : AliMUONTriggerBoard(name, a)
{
/// Standard constructor

   for (Int_t i=0;i<16;i++) fRegionalResponse[i] = 0;
   for (Int_t i=0;i< 4;i++) fGlobalInput[i] = 0;
   for (Int_t i=0;i< 4;i++) fMask[i] = 0xffffffff;
}

//___________________________________________
AliMUONGlobalTriggerBoard::~AliMUONGlobalTriggerBoard()
{
/// Destructor
}

//___________________________________________
void AliMUONGlobalTriggerBoard::Mask(Int_t index, UInt_t mask)
{
  /// mask global trigger board input index with value mask
  if ( index >= 0 && index < 4 ) 
  {
    fMask[index]=mask;
  }
  else
  {
    AliError(Form("Index %d out of bounds (max %d)",index,3));
  }  
}

//___________________________________________
void AliMUONGlobalTriggerBoard::Response()
{
   /// compute the global trigger board
   /// response according to the algo() method
// output from global trigger algorithm
// [+, -, US, LS] * [Hpt, Lpt]
// transformed to [usHpt, usLpt, lsHpt, lsLpt, sHpt, sLpt] according
// to Global Trigger Unit user manual

   Int_t t[16];

   BuildGlobalInput();
   MaskGlobalInput();

   for (Int_t i = 0; i < 16; ++i) 
   {
     t[i] = fRegionalResponse[i];
   }
   
   
   Int_t rank = 8;

   for (Int_t i=0;i<4;i++)
   {
      Int_t ip = 0;
      
      for (Int_t j=0;j<rank;j++)
      {
         UShort_t lthres = Algo(t[2*j],t[2*j+1],"LPT");

         UShort_t hthres = Algo(t[2*j],t[2*j+1],"HPT"); hthres <<= 4;

         t[ip] = lthres | hthres;

         ip++;
      }
      
      rank /= 2; 
   }
   UChar_t sLpt, sHpt, lsLpt, lsHpt, usLpt, usHpt;
   sLpt  = ((t[0] & 0xC)  != 0);
   sHpt  = ((t[0] & 0xC0) != 0);
   lsLpt = ((t[0] & 0x1)  != 0);
   lsHpt = ((t[0] & 0x10) != 0);
   usLpt = ((t[0] & 0x2 ) != 0);
   usHpt = ((t[0] & 0x20) != 0);

   // LSB is zero (trigger choice to send to CTP: sLpt or sHpt)

   sLpt  <<= 1;
   sHpt  <<= 2;
   lsLpt <<= 3;
   lsHpt <<= 4;
   usLpt <<= 5;
   usHpt <<= 6;

   fResponse = sLpt | sHpt | lsLpt | lsHpt | usLpt |usHpt;
   

}

//___________________________________________
UShort_t AliMUONGlobalTriggerBoard::Algo(UShort_t i, UShort_t j, const char *thres)
{
/// global trigger algorithm
///   a ,b = reg  response  =  Hpt (+|-|us|ls) |  Lpt (+|-|us|ls)  
                           
   TBits a(8), b(8); a.Set(8,&i); b.Set(8,&j);

   TBits trg1(2), trg2(2), trg(2);

   if (!strcmp(thres,"LPT"))
   {
      trg1[0] = a[2]; trg1[1] = a[3]; 
      trg2[0] = b[2]; trg2[1] = b[3];
   }
   else
   {
      trg1[0] = a[6]; trg1[1] = a[7]; 
      trg2[0] = b[6]; trg2[1] = b[7];         
   }
       
   TBits trgLS1(1), trgUS1(1), trgLS2(1), trgUS2(1), trgLS(1), trgUS(1);

   if (!strcmp(thres,"LPT"))
   {
      trgLS1[0] = a[0]; trgUS1[0] = a[1]; 
      trgLS2[0] = b[0]; trgUS2[0] = b[1];
   }
   else
   {
      trgLS1[0] = a[4]; trgUS1[0] = a[5]; 
      trgLS2[0] = b[4]; trgUS2[0] = b[5];         
   }

   trgLS[0] = ( trg1[0] & trg2[0] ) | ( trg1[1] & trg2[1] ) | trgLS1[0] | trgLS2[0];
   trgUS[0] = ( trg1[0] & trg2[1] ) | ( trg1[1] & trg2[0] ) | trgUS1[0] | trgUS2[0];
   
   trg[0] = trg1[0] | trg2[0];
   trg[1] = trg1[1] | trg2[1];
   
   TBits v(4);
   
   v[0] = trgLS[0];
   v[1] = trgUS[0];
   v[2] = trg[0];
   v[3] = trg[1];

   UShort_t rv = 0;
   v.Get(&rv);
   
   return rv;
}

//___________________________________________
void AliMUONGlobalTriggerBoard::BuildGlobalInput()
{
  /// build the 4 words (32bits) global input from the regional responses
  /// the order of regional responses is:
  /// 1R, 2R, 2-3R, 3R, 4R, 5R, 6R, 7R, 1L, 2L, 2-3L, 3L, 4L, 5L, 6L, 7L

  for (Int_t i=0;i< 4;i++) fGlobalInput[i] = 0;

  UShort_t regRespInv;
  for (Int_t iReg = 0; iReg < 16; iReg++) {

    regRespInv = InvertPairBits(iReg);

    if (iReg < 8) {    // right
      // Lpt word
      fGlobalInput[0] |=  (regRespInv & 0x0F)       << (4*iReg);
      // Hpt word
      fGlobalInput[2] |= ((regRespInv & 0xF0) >> 4) << (4*iReg);
    } else {           // left
      // Lpt word
      fGlobalInput[1] |=  (regRespInv & 0x0F)       << (4*(iReg-8));
      // Hpt word
      fGlobalInput[3] |= ((regRespInv & 0xF0) >> 4) << (4*(iReg-8));
    }

  }

}

//___________________________________________
void AliMUONGlobalTriggerBoard::MaskGlobalInput()
{
  /// Apply masks to global input and recalculate regional inputs before
  /// applying the global response

  UInt_t gitmp[4];
  for (Int_t i = 0; i < 4; i++) {
    fGlobalInput[i] &= fMask[i];
    gitmp[i] = fGlobalInput[i];
  }

  RecomputeRegional(gitmp);
}


//___________________________________________
void AliMUONGlobalTriggerBoard::RecomputeRegional(UInt_t gitmp[4])
{
  //
  /// Recomput regional response from global input
  //
  for (Int_t iReg = 0; iReg < 16; iReg++) {
    fRegionalResponse[iReg] = 0;
    if (iReg < 8) {    // right
      // Lpt
      fRegionalResponse[iReg] |=  (gitmp[0] >> (4*iReg))     & 0xF;
      // Hpt
      fRegionalResponse[iReg] |= ((gitmp[2] >> (4*iReg))     & 0xF) << 4;
    } else {           // left
      // Lpt
      fRegionalResponse[iReg] |=  (gitmp[1] >> (4*(iReg-8))) & 0xF;
      // Hpt
      fRegionalResponse[iReg] |= ((gitmp[3] >> (4*(iReg-8))) & 0xF) << 4;
    }

    fRegionalResponse[iReg] = InvertPairBits(iReg);
  }
}

//___________________________________________
void AliMUONGlobalTriggerBoard::Scan(Option_t*) const
{
  /// print global trigger output 
  TBits w(7); w.Set(7,&fResponse);

// TRG[1:0]
// 00 noth
// 01 negative track
// 10 positive track
// 11 undef

   Int_t iS[2] = {0,0};

   iS[0] = (Int_t)w.TestBitNumber(1);
   iS[1] = (Int_t)w.TestBitNumber(2);

   Int_t iPU[2] = {w[5],w[6]};
   Int_t iPL[2] = {w[3],w[4]};

   printf("============================================\n");
   printf(" Global Trigger output       Low pt  High pt\n");
   printf(" number of Single           :\t");
   for (Int_t i=0; i<2; i++) printf("%i\t",iS[i]);
   printf("\n");
   printf(" number of UnlikeSign pair  :\t"); 
   for (Int_t i=0; i<2; i++) printf("%i\t",iPU[i]);
   printf("\n");
   printf(" number of LikeSign pair    :\t");  
   for (Int_t i=0; i<2; i++) printf("%i\t",iPL[i]);
   printf("\n");
   printf("===================================================\n");
   printf("\n");
}


//___________________________________________
UShort_t AliMUONGlobalTriggerBoard::InvertPairBits(Int_t iReg)
{
  //
  /// invert "pair" bits in regional response
  /// [+, -, US, LS] becomes [+, -, LS, US]
  //
  TBits rs(8), rsi(8);
  rs.Set(8,&fRegionalResponse[iReg]);
    for (Int_t i = 0; i < 4; i++) {
      if (i%2 == 0) {
	rsi[2*i]   = rs[2*i+1];
	rsi[2*i+1] = rs[2*i];
      } else {
	rsi[2*i]   = rs[2*i];
	rsi[2*i+1] = rs[2*i+1];
      }
    }
    UShort_t regRespInv = 0;
    rsi.Get(&regRespInv);
    return regRespInv;
}
 AliMUONGlobalTriggerBoard.cxx:1
 AliMUONGlobalTriggerBoard.cxx:2
 AliMUONGlobalTriggerBoard.cxx:3
 AliMUONGlobalTriggerBoard.cxx:4
 AliMUONGlobalTriggerBoard.cxx:5
 AliMUONGlobalTriggerBoard.cxx:6
 AliMUONGlobalTriggerBoard.cxx:7
 AliMUONGlobalTriggerBoard.cxx:8
 AliMUONGlobalTriggerBoard.cxx:9
 AliMUONGlobalTriggerBoard.cxx:10
 AliMUONGlobalTriggerBoard.cxx:11
 AliMUONGlobalTriggerBoard.cxx:12
 AliMUONGlobalTriggerBoard.cxx:13
 AliMUONGlobalTriggerBoard.cxx:14
 AliMUONGlobalTriggerBoard.cxx:15
 AliMUONGlobalTriggerBoard.cxx:16
 AliMUONGlobalTriggerBoard.cxx:17
 AliMUONGlobalTriggerBoard.cxx:18
 AliMUONGlobalTriggerBoard.cxx:19
 AliMUONGlobalTriggerBoard.cxx:20
 AliMUONGlobalTriggerBoard.cxx:21
 AliMUONGlobalTriggerBoard.cxx:22
 AliMUONGlobalTriggerBoard.cxx:23
 AliMUONGlobalTriggerBoard.cxx:24
 AliMUONGlobalTriggerBoard.cxx:25
 AliMUONGlobalTriggerBoard.cxx:26
 AliMUONGlobalTriggerBoard.cxx:27
 AliMUONGlobalTriggerBoard.cxx:28
 AliMUONGlobalTriggerBoard.cxx:29
 AliMUONGlobalTriggerBoard.cxx:30
 AliMUONGlobalTriggerBoard.cxx:31
 AliMUONGlobalTriggerBoard.cxx:32
 AliMUONGlobalTriggerBoard.cxx:33
 AliMUONGlobalTriggerBoard.cxx:34
 AliMUONGlobalTriggerBoard.cxx:35
 AliMUONGlobalTriggerBoard.cxx:36
 AliMUONGlobalTriggerBoard.cxx:37
 AliMUONGlobalTriggerBoard.cxx:38
 AliMUONGlobalTriggerBoard.cxx:39
 AliMUONGlobalTriggerBoard.cxx:40
 AliMUONGlobalTriggerBoard.cxx:41
 AliMUONGlobalTriggerBoard.cxx:42
 AliMUONGlobalTriggerBoard.cxx:43
 AliMUONGlobalTriggerBoard.cxx:44
 AliMUONGlobalTriggerBoard.cxx:45
 AliMUONGlobalTriggerBoard.cxx:46
 AliMUONGlobalTriggerBoard.cxx:47
 AliMUONGlobalTriggerBoard.cxx:48
 AliMUONGlobalTriggerBoard.cxx:49
 AliMUONGlobalTriggerBoard.cxx:50
 AliMUONGlobalTriggerBoard.cxx:51
 AliMUONGlobalTriggerBoard.cxx:52
 AliMUONGlobalTriggerBoard.cxx:53
 AliMUONGlobalTriggerBoard.cxx:54
 AliMUONGlobalTriggerBoard.cxx:55
 AliMUONGlobalTriggerBoard.cxx:56
 AliMUONGlobalTriggerBoard.cxx:57
 AliMUONGlobalTriggerBoard.cxx:58
 AliMUONGlobalTriggerBoard.cxx:59
 AliMUONGlobalTriggerBoard.cxx:60
 AliMUONGlobalTriggerBoard.cxx:61
 AliMUONGlobalTriggerBoard.cxx:62
 AliMUONGlobalTriggerBoard.cxx:63
 AliMUONGlobalTriggerBoard.cxx:64
 AliMUONGlobalTriggerBoard.cxx:65
 AliMUONGlobalTriggerBoard.cxx:66
 AliMUONGlobalTriggerBoard.cxx:67
 AliMUONGlobalTriggerBoard.cxx:68
 AliMUONGlobalTriggerBoard.cxx:69
 AliMUONGlobalTriggerBoard.cxx:70
 AliMUONGlobalTriggerBoard.cxx:71
 AliMUONGlobalTriggerBoard.cxx:72
 AliMUONGlobalTriggerBoard.cxx:73
 AliMUONGlobalTriggerBoard.cxx:74
 AliMUONGlobalTriggerBoard.cxx:75
 AliMUONGlobalTriggerBoard.cxx:76
 AliMUONGlobalTriggerBoard.cxx:77
 AliMUONGlobalTriggerBoard.cxx:78
 AliMUONGlobalTriggerBoard.cxx:79
 AliMUONGlobalTriggerBoard.cxx:80
 AliMUONGlobalTriggerBoard.cxx:81
 AliMUONGlobalTriggerBoard.cxx:82
 AliMUONGlobalTriggerBoard.cxx:83
 AliMUONGlobalTriggerBoard.cxx:84
 AliMUONGlobalTriggerBoard.cxx:85
 AliMUONGlobalTriggerBoard.cxx:86
 AliMUONGlobalTriggerBoard.cxx:87
 AliMUONGlobalTriggerBoard.cxx:88
 AliMUONGlobalTriggerBoard.cxx:89
 AliMUONGlobalTriggerBoard.cxx:90
 AliMUONGlobalTriggerBoard.cxx:91
 AliMUONGlobalTriggerBoard.cxx:92
 AliMUONGlobalTriggerBoard.cxx:93
 AliMUONGlobalTriggerBoard.cxx:94
 AliMUONGlobalTriggerBoard.cxx:95
 AliMUONGlobalTriggerBoard.cxx:96
 AliMUONGlobalTriggerBoard.cxx:97
 AliMUONGlobalTriggerBoard.cxx:98
 AliMUONGlobalTriggerBoard.cxx:99
 AliMUONGlobalTriggerBoard.cxx:100
 AliMUONGlobalTriggerBoard.cxx:101
 AliMUONGlobalTriggerBoard.cxx:102
 AliMUONGlobalTriggerBoard.cxx:103
 AliMUONGlobalTriggerBoard.cxx:104
 AliMUONGlobalTriggerBoard.cxx:105
 AliMUONGlobalTriggerBoard.cxx:106
 AliMUONGlobalTriggerBoard.cxx:107
 AliMUONGlobalTriggerBoard.cxx:108
 AliMUONGlobalTriggerBoard.cxx:109
 AliMUONGlobalTriggerBoard.cxx:110
 AliMUONGlobalTriggerBoard.cxx:111
 AliMUONGlobalTriggerBoard.cxx:112
 AliMUONGlobalTriggerBoard.cxx:113
 AliMUONGlobalTriggerBoard.cxx:114
 AliMUONGlobalTriggerBoard.cxx:115
 AliMUONGlobalTriggerBoard.cxx:116
 AliMUONGlobalTriggerBoard.cxx:117
 AliMUONGlobalTriggerBoard.cxx:118
 AliMUONGlobalTriggerBoard.cxx:119
 AliMUONGlobalTriggerBoard.cxx:120
 AliMUONGlobalTriggerBoard.cxx:121
 AliMUONGlobalTriggerBoard.cxx:122
 AliMUONGlobalTriggerBoard.cxx:123
 AliMUONGlobalTriggerBoard.cxx:124
 AliMUONGlobalTriggerBoard.cxx:125
 AliMUONGlobalTriggerBoard.cxx:126
 AliMUONGlobalTriggerBoard.cxx:127
 AliMUONGlobalTriggerBoard.cxx:128
 AliMUONGlobalTriggerBoard.cxx:129
 AliMUONGlobalTriggerBoard.cxx:130
 AliMUONGlobalTriggerBoard.cxx:131
 AliMUONGlobalTriggerBoard.cxx:132
 AliMUONGlobalTriggerBoard.cxx:133
 AliMUONGlobalTriggerBoard.cxx:134
 AliMUONGlobalTriggerBoard.cxx:135
 AliMUONGlobalTriggerBoard.cxx:136
 AliMUONGlobalTriggerBoard.cxx:137
 AliMUONGlobalTriggerBoard.cxx:138
 AliMUONGlobalTriggerBoard.cxx:139
 AliMUONGlobalTriggerBoard.cxx:140
 AliMUONGlobalTriggerBoard.cxx:141
 AliMUONGlobalTriggerBoard.cxx:142
 AliMUONGlobalTriggerBoard.cxx:143
 AliMUONGlobalTriggerBoard.cxx:144
 AliMUONGlobalTriggerBoard.cxx:145
 AliMUONGlobalTriggerBoard.cxx:146
 AliMUONGlobalTriggerBoard.cxx:147
 AliMUONGlobalTriggerBoard.cxx:148
 AliMUONGlobalTriggerBoard.cxx:149
 AliMUONGlobalTriggerBoard.cxx:150
 AliMUONGlobalTriggerBoard.cxx:151
 AliMUONGlobalTriggerBoard.cxx:152
 AliMUONGlobalTriggerBoard.cxx:153
 AliMUONGlobalTriggerBoard.cxx:154
 AliMUONGlobalTriggerBoard.cxx:155
 AliMUONGlobalTriggerBoard.cxx:156
 AliMUONGlobalTriggerBoard.cxx:157
 AliMUONGlobalTriggerBoard.cxx:158
 AliMUONGlobalTriggerBoard.cxx:159
 AliMUONGlobalTriggerBoard.cxx:160
 AliMUONGlobalTriggerBoard.cxx:161
 AliMUONGlobalTriggerBoard.cxx:162
 AliMUONGlobalTriggerBoard.cxx:163
 AliMUONGlobalTriggerBoard.cxx:164
 AliMUONGlobalTriggerBoard.cxx:165
 AliMUONGlobalTriggerBoard.cxx:166
 AliMUONGlobalTriggerBoard.cxx:167
 AliMUONGlobalTriggerBoard.cxx:168
 AliMUONGlobalTriggerBoard.cxx:169
 AliMUONGlobalTriggerBoard.cxx:170
 AliMUONGlobalTriggerBoard.cxx:171
 AliMUONGlobalTriggerBoard.cxx:172
 AliMUONGlobalTriggerBoard.cxx:173
 AliMUONGlobalTriggerBoard.cxx:174
 AliMUONGlobalTriggerBoard.cxx:175
 AliMUONGlobalTriggerBoard.cxx:176
 AliMUONGlobalTriggerBoard.cxx:177
 AliMUONGlobalTriggerBoard.cxx:178
 AliMUONGlobalTriggerBoard.cxx:179
 AliMUONGlobalTriggerBoard.cxx:180
 AliMUONGlobalTriggerBoard.cxx:181
 AliMUONGlobalTriggerBoard.cxx:182
 AliMUONGlobalTriggerBoard.cxx:183
 AliMUONGlobalTriggerBoard.cxx:184
 AliMUONGlobalTriggerBoard.cxx:185
 AliMUONGlobalTriggerBoard.cxx:186
 AliMUONGlobalTriggerBoard.cxx:187
 AliMUONGlobalTriggerBoard.cxx:188
 AliMUONGlobalTriggerBoard.cxx:189
 AliMUONGlobalTriggerBoard.cxx:190
 AliMUONGlobalTriggerBoard.cxx:191
 AliMUONGlobalTriggerBoard.cxx:192
 AliMUONGlobalTriggerBoard.cxx:193
 AliMUONGlobalTriggerBoard.cxx:194
 AliMUONGlobalTriggerBoard.cxx:195
 AliMUONGlobalTriggerBoard.cxx:196
 AliMUONGlobalTriggerBoard.cxx:197
 AliMUONGlobalTriggerBoard.cxx:198
 AliMUONGlobalTriggerBoard.cxx:199
 AliMUONGlobalTriggerBoard.cxx:200
 AliMUONGlobalTriggerBoard.cxx:201
 AliMUONGlobalTriggerBoard.cxx:202
 AliMUONGlobalTriggerBoard.cxx:203
 AliMUONGlobalTriggerBoard.cxx:204
 AliMUONGlobalTriggerBoard.cxx:205
 AliMUONGlobalTriggerBoard.cxx:206
 AliMUONGlobalTriggerBoard.cxx:207
 AliMUONGlobalTriggerBoard.cxx:208
 AliMUONGlobalTriggerBoard.cxx:209
 AliMUONGlobalTriggerBoard.cxx:210
 AliMUONGlobalTriggerBoard.cxx:211
 AliMUONGlobalTriggerBoard.cxx:212
 AliMUONGlobalTriggerBoard.cxx:213
 AliMUONGlobalTriggerBoard.cxx:214
 AliMUONGlobalTriggerBoard.cxx:215
 AliMUONGlobalTriggerBoard.cxx:216
 AliMUONGlobalTriggerBoard.cxx:217
 AliMUONGlobalTriggerBoard.cxx:218
 AliMUONGlobalTriggerBoard.cxx:219
 AliMUONGlobalTriggerBoard.cxx:220
 AliMUONGlobalTriggerBoard.cxx:221
 AliMUONGlobalTriggerBoard.cxx:222
 AliMUONGlobalTriggerBoard.cxx:223
 AliMUONGlobalTriggerBoard.cxx:224
 AliMUONGlobalTriggerBoard.cxx:225
 AliMUONGlobalTriggerBoard.cxx:226
 AliMUONGlobalTriggerBoard.cxx:227
 AliMUONGlobalTriggerBoard.cxx:228
 AliMUONGlobalTriggerBoard.cxx:229
 AliMUONGlobalTriggerBoard.cxx:230
 AliMUONGlobalTriggerBoard.cxx:231
 AliMUONGlobalTriggerBoard.cxx:232
 AliMUONGlobalTriggerBoard.cxx:233
 AliMUONGlobalTriggerBoard.cxx:234
 AliMUONGlobalTriggerBoard.cxx:235
 AliMUONGlobalTriggerBoard.cxx:236
 AliMUONGlobalTriggerBoard.cxx:237
 AliMUONGlobalTriggerBoard.cxx:238
 AliMUONGlobalTriggerBoard.cxx:239
 AliMUONGlobalTriggerBoard.cxx:240
 AliMUONGlobalTriggerBoard.cxx:241
 AliMUONGlobalTriggerBoard.cxx:242
 AliMUONGlobalTriggerBoard.cxx:243
 AliMUONGlobalTriggerBoard.cxx:244
 AliMUONGlobalTriggerBoard.cxx:245
 AliMUONGlobalTriggerBoard.cxx:246
 AliMUONGlobalTriggerBoard.cxx:247
 AliMUONGlobalTriggerBoard.cxx:248
 AliMUONGlobalTriggerBoard.cxx:249
 AliMUONGlobalTriggerBoard.cxx:250
 AliMUONGlobalTriggerBoard.cxx:251
 AliMUONGlobalTriggerBoard.cxx:252
 AliMUONGlobalTriggerBoard.cxx:253
 AliMUONGlobalTriggerBoard.cxx:254
 AliMUONGlobalTriggerBoard.cxx:255
 AliMUONGlobalTriggerBoard.cxx:256
 AliMUONGlobalTriggerBoard.cxx:257
 AliMUONGlobalTriggerBoard.cxx:258
 AliMUONGlobalTriggerBoard.cxx:259
 AliMUONGlobalTriggerBoard.cxx:260
 AliMUONGlobalTriggerBoard.cxx:261
 AliMUONGlobalTriggerBoard.cxx:262
 AliMUONGlobalTriggerBoard.cxx:263
 AliMUONGlobalTriggerBoard.cxx:264
 AliMUONGlobalTriggerBoard.cxx:265
 AliMUONGlobalTriggerBoard.cxx:266
 AliMUONGlobalTriggerBoard.cxx:267
 AliMUONGlobalTriggerBoard.cxx:268
 AliMUONGlobalTriggerBoard.cxx:269
 AliMUONGlobalTriggerBoard.cxx:270
 AliMUONGlobalTriggerBoard.cxx:271
 AliMUONGlobalTriggerBoard.cxx:272
 AliMUONGlobalTriggerBoard.cxx:273
 AliMUONGlobalTriggerBoard.cxx:274
 AliMUONGlobalTriggerBoard.cxx:275
 AliMUONGlobalTriggerBoard.cxx:276
 AliMUONGlobalTriggerBoard.cxx:277
 AliMUONGlobalTriggerBoard.cxx:278
 AliMUONGlobalTriggerBoard.cxx:279
 AliMUONGlobalTriggerBoard.cxx:280
 AliMUONGlobalTriggerBoard.cxx:281
 AliMUONGlobalTriggerBoard.cxx:282
 AliMUONGlobalTriggerBoard.cxx:283
 AliMUONGlobalTriggerBoard.cxx:284
 AliMUONGlobalTriggerBoard.cxx:285
 AliMUONGlobalTriggerBoard.cxx:286
 AliMUONGlobalTriggerBoard.cxx:287
 AliMUONGlobalTriggerBoard.cxx:288
 AliMUONGlobalTriggerBoard.cxx:289
 AliMUONGlobalTriggerBoard.cxx:290
 AliMUONGlobalTriggerBoard.cxx:291
 AliMUONGlobalTriggerBoard.cxx:292
 AliMUONGlobalTriggerBoard.cxx:293
 AliMUONGlobalTriggerBoard.cxx:294
 AliMUONGlobalTriggerBoard.cxx:295
 AliMUONGlobalTriggerBoard.cxx:296
 AliMUONGlobalTriggerBoard.cxx:297
 AliMUONGlobalTriggerBoard.cxx:298
 AliMUONGlobalTriggerBoard.cxx:299
 AliMUONGlobalTriggerBoard.cxx:300
 AliMUONGlobalTriggerBoard.cxx:301
 AliMUONGlobalTriggerBoard.cxx:302
 AliMUONGlobalTriggerBoard.cxx:303
 AliMUONGlobalTriggerBoard.cxx:304
 AliMUONGlobalTriggerBoard.cxx:305
 AliMUONGlobalTriggerBoard.cxx:306
 AliMUONGlobalTriggerBoard.cxx:307
 AliMUONGlobalTriggerBoard.cxx:308
 AliMUONGlobalTriggerBoard.cxx:309
 AliMUONGlobalTriggerBoard.cxx:310
 AliMUONGlobalTriggerBoard.cxx:311
 AliMUONGlobalTriggerBoard.cxx:312
 AliMUONGlobalTriggerBoard.cxx:313
 AliMUONGlobalTriggerBoard.cxx:314
 AliMUONGlobalTriggerBoard.cxx:315
 AliMUONGlobalTriggerBoard.cxx:316
 AliMUONGlobalTriggerBoard.cxx:317
 AliMUONGlobalTriggerBoard.cxx:318
 AliMUONGlobalTriggerBoard.cxx:319
 AliMUONGlobalTriggerBoard.cxx:320
 AliMUONGlobalTriggerBoard.cxx:321