#include "AliEMCALTriggerTRU.h"
#include "AliEMCALTriggerPatch.h"
#include "AliEMCALTriggerTRUDCSConfig.h"
#include "AliLog.h"
#include <TClonesArray.h>
#include <TSystem.h>
#include <Riostream.h>
#include <TFile.h>
#include <TROOT.h>
namespace
{
const Int_t kTimeBins = 16;
const Int_t kTimeWindowSize = 4;
}
using std::ofstream;
using std::endl;
using std::ios_base;
ClassImp(AliEMCALTriggerTRU)
AliEMCALTriggerTRU::AliEMCALTriggerTRU() : AliEMCALTriggerBoard(),
fDCSConfig(0x0),
fL0Time(0)
{
for (Int_t i=0;i<96;i++) for (Int_t j=0;j<256;j++) fADC[i][j] = 0;
}
AliEMCALTriggerTRU::AliEMCALTriggerTRU(AliEMCALTriggerTRUDCSConfig* dcsConf, const TVector2& rSize, Int_t mapType) :
AliEMCALTriggerBoard(rSize),
fDCSConfig(dcsConf),
fL0Time(0)
{
for (Int_t i=0;i<96;i++) for (Int_t j=0;j<256;j++) fADC[i][j] = 0;
TVector2 size;
if (dcsConf->GetL0SEL() & 0x0001)
{
size.Set( 1. , 1. );
SetSubRegionSize( size );
size.Set( 2. , 2. );
SetPatchSize( size );
}
else
{
size.Set( 1. , 1. );
SetSubRegionSize( size );
size.Set( 1. , 1. );
SetPatchSize( size );
}
for (Int_t ietam=0;ietam<24;ietam++)
{
for (Int_t iphim=0;iphim<4;iphim++)
{
Int_t idx = ( !mapType ) ? ( 3 - iphim ) + ietam * 4 : iphim + (23 - ietam) * 4;
fMap[ietam][iphim] = idx;
}
}
}
AliEMCALTriggerTRU::~AliEMCALTriggerTRU()
{
}
void AliEMCALTriggerTRU::ShowFastOR(Int_t iTimeWindow, Int_t iChannel)
{
Int_t iChanF, iChanL;
if (iChannel != -1) iChanF = iChanL = iChannel;
else
{
iChanF = 0;
iChanL = 95;
}
for (Int_t i=iChanF;i<iChanL+1;i++)
{
printf("\tChannel: %2d - ",i);
for (Int_t j=0;j<60;j++)
{
if (j == iTimeWindow)
printf(" | %4d",fADC[i][j]);
else if (j == iTimeWindow+kTimeWindowSize-1)
printf(" %4d |",fADC[i][j]);
else
printf(" %4d",fADC[i][j]);
}
printf("\n");
}
}
Int_t AliEMCALTriggerTRU::L0()
{
const Int_t xsize = Int_t(fRegionSize->X());
const Int_t ysize = Int_t(fRegionSize->Y());
Int_t asum = 0;
for (Int_t j = 0; j < xsize; j++) {
for (Int_t k = 0; k < ysize; k++) {
for (Int_t l = 0; l < kTimeBins; l++) {
asum += fADC[fMap[j][k]][l];
}
}
}
if (!asum) {
AliDebug(999,"=== TRU has no signal ===");
return 0;
}
AliDebug(999,Form("=== TRU PF: %x",fDCSConfig->GetSELPF()));
UInt_t ma = fDCSConfig->GetSELPF() & 0xffff;
if (!ma) ma = 0x1e1f;
int nb = ma & 0x7f;
ma = (ma >> 8) & 0x7f;
AliDebug(999,Form("=== TRU fw version %x ===",fDCSConfig->GetFw()));
if (fDCSConfig->GetFw() < 0x4d) {
return L0v0(nb, ma);
} else {
return L0v1(nb, ma);
}
}
Int_t AliEMCALTriggerTRU::L0v0(int mask, int pattern)
{
AliDebug(999,"=== Running TRU L0 algorithm version 0 ===");
const Int_t xsize = Int_t(fRegionSize->X());
const Int_t ysize = Int_t(fRegionSize->Y());
Int_t **othr = new Int_t*[xsize];
Int_t **patt = new Int_t*[xsize];
Int_t **buff = new Int_t*[xsize];
for (Int_t x = 0; x < xsize; x++) {
othr[x] = new Int_t[ysize];
patt[x] = new Int_t[ysize];
buff[x] = new Int_t[ysize];
}
for (Int_t i = 0; i < xsize; i++) {
for (Int_t j = 0; j < ysize; j++) {
othr[i][j] = 0;
patt[i][j] = 0;
buff[i][j] = 0;
}
}
for (int i = 0; i <= (kTimeBins - kTimeWindowSize); i++)
{
AliDebug(999,Form("----------- Time window: %d\n",i));
if (AliDebugLevel()) ShowFastOR(i, -1);
for (int j = 0; j < xsize; j++) {
for (int k = 0; k < ysize; k++) {
buff[j][k] = fRegion[j][k];
fRegion[j][k] = 0;
for (Int_t l = i; l < i + kTimeWindowSize; l++) fRegion[j][k] += fADC[fMap[j][k]][l];
if (fRegion[j][k] > buff[j][k]) {
patt[j][k] |= 0x1;
}
if (patt[j][k]) AliDebug(999,Form("----------- (%2d,%2d) New: %d Old: %d patt: %x / pattern: %x / mask: %x", j, k, fRegion[j][k], buff[j][k], patt[j][k], pattern, mask));
}
}
for (int j = 0; j <= int(fRegionSize->X() - fPatchSize->X() * fSubRegionSize->X()); j += int(fSubRegionSize->X())) {
for (int k = 0; k <= int(fRegionSize->Y() - fPatchSize->Y() * fSubRegionSize->Y()); k += int(fSubRegionSize->Y())) {
int sizeX = int(fPatchSize->X() * fSubRegionSize->X());
int sizeY = int(fPatchSize->Y() * fSubRegionSize->Y());
int foundPeak = 0;
int sum = 0;
for (int l = 0; l < sizeX; l++) {
for (int m = 0; m < sizeY; m++) {
sum += fRegion[j + l][k + m];
if ((patt[j + l][k + m] & mask) == pattern) foundPeak++;
}
}
if (sum > int(fDCSConfig->GetGTHRL0())) othr[j][k] = sum;
if (foundPeak && othr[j][k]) {
new((*fPatches)[fPatches->GetEntriesFast()]) AliEMCALTriggerPatch(j, k, othr[j][k], i);
AliEMCALTriggerPatch* p = (AliEMCALTriggerPatch*)fPatches->At(fPatches->GetEntriesFast() - 1);
if (AliDebugLevel()) p->Print("");
const Int_t psize = sizeX * sizeY;
Int_t* idx = new Int_t[psize];
for (Int_t l = 0; l < sizeX; l++)
{
for (Int_t m = 0; m < sizeY; m++)
{
Int_t index = l * sizeY + m;
idx[index] = fMap[int(j * fSubRegionSize->X()) + l][int(k * fSubRegionSize->Y()) + m];
if ((patt[j + l][k + m] & mask) == (pattern & mask)) {
p->SetPeak(l, m, sizeX, sizeY);
}
if (AliDebugLevel() >= 999) ShowFastOR(i, idx[index]);
}
}
delete [] idx;
}
}
}
if (fPatches->GetEntriesFast() && !fL0Time) {
fL0Time = i;
}
for (int j = 0; j < xsize; j++)
for (int k = 0; k < ysize; k++) patt[j][k] <<= 1;
}
for (Int_t x = 0; x < xsize; x++) {
delete [] othr[x];
delete [] patt[x];
delete [] buff[x];
}
delete [] othr;
delete [] patt;
delete [] buff;
return fPatches->GetEntriesFast();
}
Int_t AliEMCALTriggerTRU::L0v1(int mask, int pattern)
{
AliDebug(999,"=== Running TRU L0 algorithm version 1 ===");
const Int_t xsize = Int_t(fRegionSize->X());
const Int_t ysize = Int_t(fRegionSize->Y());
Int_t **othr = new Int_t*[xsize];
Int_t **buff = new Int_t*[xsize];
Int_t **patt = new Int_t*[xsize];
for (Int_t i = 0; i < xsize; i++) {
buff[i] = new Int_t[ysize];
patt[i] = new Int_t[ysize];
othr[i] = new Int_t[ysize];
}
for (Int_t i = 0; i < xsize; i++) for (Int_t j = 0; j < ysize; j++) {
othr[i][j] = 0;
patt[i][j] = 0;
buff[i][j] = 0;
}
for (Int_t i = 0; i <= (kTimeBins - kTimeWindowSize); i++) {
AliDebug(999,Form("----------- Time window: %d\n",i));
for (int j = 0; j < xsize; j++) {
for (int k = 0; k < ysize; k++) {
fRegion[j][k] = 0;
for (Int_t l = i; l < i + kTimeWindowSize; l++) fRegion[j][k] += fADC[fMap[j][k]][l];
}
}
for (int j = 0; j <= int(fRegionSize->X() - fPatchSize->X() * fSubRegionSize->X()); j += int(fSubRegionSize->X())) {
for (int k = 0; k <= int(fRegionSize->Y() - fPatchSize->Y() * fSubRegionSize->Y()); k += int(fSubRegionSize->Y())) {
int sum = 0;
for (int l = 0; l < int(fPatchSize->X() * fSubRegionSize->X()); l++)
for (int m = 0; m < int(fPatchSize->Y() * fSubRegionSize->Y()); m++) sum += fRegion[j + l][k + m];
if (sum > buff[j][k]) patt[j][k] |= 0x1;
if (sum > int(fDCSConfig->GetGTHRL0())) {
AliDebug(999,Form("----------- Patch (%2d,%2d) is over threshold\n", j, k));
othr[j][k] = sum;
}
AliDebug(999,Form("----------- Patch (%2d,%2d) has sum %d while its whole time pattern is %x\n", j, k, sum, patt[j][k]));
buff[j][k] = sum;
if (othr[j][k] && ((patt[j][k] & mask) == (pattern & mask))) {
new((*fPatches)[fPatches->GetEntriesFast()]) AliEMCALTriggerPatch(j, k, othr[j][k], i);
int sizeX = int(fPatchSize->X() * fSubRegionSize->X());
int sizeY = int(fPatchSize->Y() * fSubRegionSize->Y());
for (int xx = 0; xx < sizeX; xx++) {
for (int yy = 0; yy < sizeY; yy++) {
((AliEMCALTriggerPatch*)fPatches->At(fPatches->GetEntriesFast() - 1))->SetPeak(xx, yy, sizeX, sizeY);
}
}
AliEMCALTriggerPatch* p = (AliEMCALTriggerPatch*)fPatches->At(fPatches->GetEntriesFast() - 1);
if (AliDebugLevel()) p->Print("");
}
}
}
if (fPatches->GetEntriesFast() && !fL0Time) {
fL0Time = i;
}
for (int j = 0; j < xsize; j++)
for (int k = 0; k < ysize; k++) patt[j][k] <<= 1;
}
for (Int_t x = 0; x < xsize; x++) {
delete [] othr[x];
delete [] patt[x];
delete [] buff[x];
}
delete [] othr;
delete [] patt;
delete [] buff;
return fPatches->GetEntriesFast();
}
void AliEMCALTriggerTRU::SetADC( Int_t channel, Int_t bin, Int_t sig )
{
if (channel > 95 || bin > 255) {
AliError("TRU has 96 ADC channels and 256 bins only!");
}
else{
if (((fDCSConfig->GetMaskReg(int(channel / 16)) >> (channel % 16)) & 0x1) == 0) fADC[channel][bin] = sig;
}
}
void AliEMCALTriggerTRU::GetL0Region(const int time, Int_t arr[][4])
{
Int_t r0 = time - fDCSConfig->GetRLBKSTU();
if (r0 < 0)
{
AliError(Form("TRU buffer not accessible! time: %d rollback: %d", time, fDCSConfig->GetRLBKSTU()));
return;
}
for (Int_t i = 0; i < fRegionSize->X(); i++)
{
for (Int_t j = 0; j < fRegionSize->Y(); j++)
{
for (Int_t k = r0; k < r0 + kTimeWindowSize; k++)
{
arr[i][j] += fADC[fMap[i][j]][k];
}
}
}
}
void AliEMCALTriggerTRU::SaveRegionADC(Int_t iTRU, Int_t iEvent)
{
gSystem->Exec(Form("mkdir -p Event%d",iEvent));
ofstream outfile(Form("Event%d/data_TRU%d.txt",iEvent,iTRU),ios_base::trunc);
for (Int_t i=0;i<96;i++)
{
Int_t ietam = 23 - i/4;
Int_t iphim = 3 - i%4;
outfile << fRegion[ietam][iphim] << endl;
}
outfile.close();
}
void AliEMCALTriggerTRU::Reset()
{
fPatches->Delete();
ZeroRegion();
for (Int_t i=0;i<96;i++) for (Int_t j=0;j<256;j++) fADC[i][j] = 0;
}
AliEMCALTriggerTRU.cxx:10 AliEMCALTriggerTRU.cxx:11 AliEMCALTriggerTRU.cxx:12 AliEMCALTriggerTRU.cxx:13 AliEMCALTriggerTRU.cxx:14 AliEMCALTriggerTRU.cxx:15 AliEMCALTriggerTRU.cxx:16 AliEMCALTriggerTRU.cxx:17 AliEMCALTriggerTRU.cxx:18 AliEMCALTriggerTRU.cxx:19 AliEMCALTriggerTRU.cxx:20 AliEMCALTriggerTRU.cxx:21 AliEMCALTriggerTRU.cxx:22 AliEMCALTriggerTRU.cxx:23 AliEMCALTriggerTRU.cxx:24 AliEMCALTriggerTRU.cxx:25 AliEMCALTriggerTRU.cxx:26 AliEMCALTriggerTRU.cxx:27 AliEMCALTriggerTRU.cxx:28 AliEMCALTriggerTRU.cxx:29 AliEMCALTriggerTRU.cxx:30 AliEMCALTriggerTRU.cxx:31 AliEMCALTriggerTRU.cxx:32 AliEMCALTriggerTRU.cxx:33 AliEMCALTriggerTRU.cxx:34 AliEMCALTriggerTRU.cxx:35 AliEMCALTriggerTRU.cxx:36 AliEMCALTriggerTRU.cxx:37 AliEMCALTriggerTRU.cxx:38 AliEMCALTriggerTRU.cxx:39 AliEMCALTriggerTRU.cxx:40 AliEMCALTriggerTRU.cxx:41 AliEMCALTriggerTRU.cxx:42 AliEMCALTriggerTRU.cxx:43 AliEMCALTriggerTRU.cxx:44 AliEMCALTriggerTRU.cxx:45 AliEMCALTriggerTRU.cxx:46 AliEMCALTriggerTRU.cxx:47 AliEMCALTriggerTRU.cxx:48 AliEMCALTriggerTRU.cxx:49 AliEMCALTriggerTRU.cxx:50 AliEMCALTriggerTRU.cxx:51 AliEMCALTriggerTRU.cxx:52 AliEMCALTriggerTRU.cxx:53 AliEMCALTriggerTRU.cxx:54 AliEMCALTriggerTRU.cxx:55 AliEMCALTriggerTRU.cxx:56 AliEMCALTriggerTRU.cxx:57 AliEMCALTriggerTRU.cxx:58 AliEMCALTriggerTRU.cxx:59 AliEMCALTriggerTRU.cxx:60 AliEMCALTriggerTRU.cxx:61 AliEMCALTriggerTRU.cxx:62 AliEMCALTriggerTRU.cxx:63 AliEMCALTriggerTRU.cxx:64 AliEMCALTriggerTRU.cxx:65 AliEMCALTriggerTRU.cxx:66 AliEMCALTriggerTRU.cxx:67 AliEMCALTriggerTRU.cxx:68 AliEMCALTriggerTRU.cxx:69 AliEMCALTriggerTRU.cxx:70 AliEMCALTriggerTRU.cxx:71 AliEMCALTriggerTRU.cxx:72 AliEMCALTriggerTRU.cxx:73 AliEMCALTriggerTRU.cxx:74 AliEMCALTriggerTRU.cxx:75 AliEMCALTriggerTRU.cxx:76 AliEMCALTriggerTRU.cxx:77 AliEMCALTriggerTRU.cxx:78 AliEMCALTriggerTRU.cxx:79 AliEMCALTriggerTRU.cxx:80 AliEMCALTriggerTRU.cxx:81 AliEMCALTriggerTRU.cxx:82 AliEMCALTriggerTRU.cxx:83 AliEMCALTriggerTRU.cxx:84 AliEMCALTriggerTRU.cxx:85 AliEMCALTriggerTRU.cxx:86 AliEMCALTriggerTRU.cxx:87 AliEMCALTriggerTRU.cxx:88 AliEMCALTriggerTRU.cxx:89 AliEMCALTriggerTRU.cxx:90 AliEMCALTriggerTRU.cxx:91 AliEMCALTriggerTRU.cxx:92 AliEMCALTriggerTRU.cxx:93 AliEMCALTriggerTRU.cxx:94 AliEMCALTriggerTRU.cxx:95 AliEMCALTriggerTRU.cxx:96 AliEMCALTriggerTRU.cxx:97 AliEMCALTriggerTRU.cxx:98 AliEMCALTriggerTRU.cxx:99 AliEMCALTriggerTRU.cxx:100 AliEMCALTriggerTRU.cxx:101 AliEMCALTriggerTRU.cxx:102 AliEMCALTriggerTRU.cxx:103 AliEMCALTriggerTRU.cxx:104 AliEMCALTriggerTRU.cxx:105 AliEMCALTriggerTRU.cxx:106 AliEMCALTriggerTRU.cxx:107 AliEMCALTriggerTRU.cxx:108 AliEMCALTriggerTRU.cxx:109 AliEMCALTriggerTRU.cxx:110 AliEMCALTriggerTRU.cxx:111 AliEMCALTriggerTRU.cxx:112 AliEMCALTriggerTRU.cxx:113 AliEMCALTriggerTRU.cxx:114 AliEMCALTriggerTRU.cxx:115 AliEMCALTriggerTRU.cxx:116 AliEMCALTriggerTRU.cxx:117 AliEMCALTriggerTRU.cxx:118 AliEMCALTriggerTRU.cxx:119 AliEMCALTriggerTRU.cxx:120 AliEMCALTriggerTRU.cxx:121 AliEMCALTriggerTRU.cxx:122 AliEMCALTriggerTRU.cxx:123 AliEMCALTriggerTRU.cxx:124 AliEMCALTriggerTRU.cxx:125 AliEMCALTriggerTRU.cxx:126 AliEMCALTriggerTRU.cxx:127 AliEMCALTriggerTRU.cxx:128 AliEMCALTriggerTRU.cxx:129 AliEMCALTriggerTRU.cxx:130 AliEMCALTriggerTRU.cxx:131 AliEMCALTriggerTRU.cxx:132 AliEMCALTriggerTRU.cxx:133 AliEMCALTriggerTRU.cxx:134 AliEMCALTriggerTRU.cxx:135 AliEMCALTriggerTRU.cxx:136 AliEMCALTriggerTRU.cxx:137 AliEMCALTriggerTRU.cxx:138 AliEMCALTriggerTRU.cxx:139 AliEMCALTriggerTRU.cxx:140 AliEMCALTriggerTRU.cxx:141 AliEMCALTriggerTRU.cxx:142 AliEMCALTriggerTRU.cxx:143 AliEMCALTriggerTRU.cxx:144 AliEMCALTriggerTRU.cxx:145 AliEMCALTriggerTRU.cxx:146 AliEMCALTriggerTRU.cxx:147 AliEMCALTriggerTRU.cxx:148 AliEMCALTriggerTRU.cxx:149 AliEMCALTriggerTRU.cxx:150 AliEMCALTriggerTRU.cxx:151 AliEMCALTriggerTRU.cxx:152 AliEMCALTriggerTRU.cxx:153 AliEMCALTriggerTRU.cxx:154 AliEMCALTriggerTRU.cxx:155 AliEMCALTriggerTRU.cxx:156 AliEMCALTriggerTRU.cxx:157 AliEMCALTriggerTRU.cxx:158 AliEMCALTriggerTRU.cxx:159 AliEMCALTriggerTRU.cxx:160 AliEMCALTriggerTRU.cxx:161 AliEMCALTriggerTRU.cxx:162 AliEMCALTriggerTRU.cxx:163 AliEMCALTriggerTRU.cxx:164 AliEMCALTriggerTRU.cxx:165 AliEMCALTriggerTRU.cxx:166 AliEMCALTriggerTRU.cxx:167 AliEMCALTriggerTRU.cxx:168 AliEMCALTriggerTRU.cxx:169 AliEMCALTriggerTRU.cxx:170 AliEMCALTriggerTRU.cxx:171 AliEMCALTriggerTRU.cxx:172 AliEMCALTriggerTRU.cxx:173 AliEMCALTriggerTRU.cxx:174 AliEMCALTriggerTRU.cxx:175 AliEMCALTriggerTRU.cxx:176 AliEMCALTriggerTRU.cxx:177 AliEMCALTriggerTRU.cxx:178 AliEMCALTriggerTRU.cxx:179 AliEMCALTriggerTRU.cxx:180 AliEMCALTriggerTRU.cxx:181 AliEMCALTriggerTRU.cxx:182 AliEMCALTriggerTRU.cxx:183 AliEMCALTriggerTRU.cxx:184 AliEMCALTriggerTRU.cxx:185 AliEMCALTriggerTRU.cxx:186 AliEMCALTriggerTRU.cxx:187 AliEMCALTriggerTRU.cxx:188 AliEMCALTriggerTRU.cxx:189 AliEMCALTriggerTRU.cxx:190 AliEMCALTriggerTRU.cxx:191 AliEMCALTriggerTRU.cxx:192 AliEMCALTriggerTRU.cxx:193 AliEMCALTriggerTRU.cxx:194 AliEMCALTriggerTRU.cxx:195 AliEMCALTriggerTRU.cxx:196 AliEMCALTriggerTRU.cxx:197 AliEMCALTriggerTRU.cxx:198 AliEMCALTriggerTRU.cxx:199 AliEMCALTriggerTRU.cxx:200 AliEMCALTriggerTRU.cxx:201 AliEMCALTriggerTRU.cxx:202 AliEMCALTriggerTRU.cxx:203 AliEMCALTriggerTRU.cxx:204 AliEMCALTriggerTRU.cxx:205 AliEMCALTriggerTRU.cxx:206 AliEMCALTriggerTRU.cxx:207 AliEMCALTriggerTRU.cxx:208 AliEMCALTriggerTRU.cxx:209 AliEMCALTriggerTRU.cxx:210 AliEMCALTriggerTRU.cxx:211 AliEMCALTriggerTRU.cxx:212 AliEMCALTriggerTRU.cxx:213 AliEMCALTriggerTRU.cxx:214 AliEMCALTriggerTRU.cxx:215 AliEMCALTriggerTRU.cxx:216 AliEMCALTriggerTRU.cxx:217 AliEMCALTriggerTRU.cxx:218 AliEMCALTriggerTRU.cxx:219 AliEMCALTriggerTRU.cxx:220 AliEMCALTriggerTRU.cxx:221 AliEMCALTriggerTRU.cxx:222 AliEMCALTriggerTRU.cxx:223 AliEMCALTriggerTRU.cxx:224 AliEMCALTriggerTRU.cxx:225 AliEMCALTriggerTRU.cxx:226 AliEMCALTriggerTRU.cxx:227 AliEMCALTriggerTRU.cxx:228 AliEMCALTriggerTRU.cxx:229 AliEMCALTriggerTRU.cxx:230 AliEMCALTriggerTRU.cxx:231 AliEMCALTriggerTRU.cxx:232 AliEMCALTriggerTRU.cxx:233 AliEMCALTriggerTRU.cxx:234 AliEMCALTriggerTRU.cxx:235 AliEMCALTriggerTRU.cxx:236 AliEMCALTriggerTRU.cxx:237 AliEMCALTriggerTRU.cxx:238 AliEMCALTriggerTRU.cxx:239 AliEMCALTriggerTRU.cxx:240 AliEMCALTriggerTRU.cxx:241 AliEMCALTriggerTRU.cxx:242 AliEMCALTriggerTRU.cxx:243 AliEMCALTriggerTRU.cxx:244 AliEMCALTriggerTRU.cxx:245 AliEMCALTriggerTRU.cxx:246 AliEMCALTriggerTRU.cxx:247 AliEMCALTriggerTRU.cxx:248 AliEMCALTriggerTRU.cxx:249 AliEMCALTriggerTRU.cxx:250 AliEMCALTriggerTRU.cxx:251 AliEMCALTriggerTRU.cxx:252 AliEMCALTriggerTRU.cxx:253 AliEMCALTriggerTRU.cxx:254 AliEMCALTriggerTRU.cxx:255 AliEMCALTriggerTRU.cxx:256 AliEMCALTriggerTRU.cxx:257 AliEMCALTriggerTRU.cxx:258 AliEMCALTriggerTRU.cxx:259 AliEMCALTriggerTRU.cxx:260 AliEMCALTriggerTRU.cxx:261 AliEMCALTriggerTRU.cxx:262 AliEMCALTriggerTRU.cxx:263 AliEMCALTriggerTRU.cxx:264 AliEMCALTriggerTRU.cxx:265 AliEMCALTriggerTRU.cxx:266 AliEMCALTriggerTRU.cxx:267 AliEMCALTriggerTRU.cxx:268 AliEMCALTriggerTRU.cxx:269 AliEMCALTriggerTRU.cxx:270 AliEMCALTriggerTRU.cxx:271 AliEMCALTriggerTRU.cxx:272 AliEMCALTriggerTRU.cxx:273 AliEMCALTriggerTRU.cxx:274 AliEMCALTriggerTRU.cxx:275 AliEMCALTriggerTRU.cxx:276 AliEMCALTriggerTRU.cxx:277 AliEMCALTriggerTRU.cxx:278 AliEMCALTriggerTRU.cxx:279 AliEMCALTriggerTRU.cxx:280 AliEMCALTriggerTRU.cxx:281 AliEMCALTriggerTRU.cxx:282 AliEMCALTriggerTRU.cxx:283 AliEMCALTriggerTRU.cxx:284 AliEMCALTriggerTRU.cxx:285 AliEMCALTriggerTRU.cxx:286 AliEMCALTriggerTRU.cxx:287 AliEMCALTriggerTRU.cxx:288 AliEMCALTriggerTRU.cxx:289 AliEMCALTriggerTRU.cxx:290 AliEMCALTriggerTRU.cxx:291 AliEMCALTriggerTRU.cxx:292 AliEMCALTriggerTRU.cxx:293 AliEMCALTriggerTRU.cxx:294 AliEMCALTriggerTRU.cxx:295 AliEMCALTriggerTRU.cxx:296 AliEMCALTriggerTRU.cxx:297 AliEMCALTriggerTRU.cxx:298 AliEMCALTriggerTRU.cxx:299 AliEMCALTriggerTRU.cxx:300 AliEMCALTriggerTRU.cxx:301 AliEMCALTriggerTRU.cxx:302 AliEMCALTriggerTRU.cxx:303 AliEMCALTriggerTRU.cxx:304 AliEMCALTriggerTRU.cxx:305 AliEMCALTriggerTRU.cxx:306 AliEMCALTriggerTRU.cxx:307 AliEMCALTriggerTRU.cxx:308 AliEMCALTriggerTRU.cxx:309 AliEMCALTriggerTRU.cxx:310 AliEMCALTriggerTRU.cxx:311 AliEMCALTriggerTRU.cxx:312 AliEMCALTriggerTRU.cxx:313 AliEMCALTriggerTRU.cxx:314 AliEMCALTriggerTRU.cxx:315 AliEMCALTriggerTRU.cxx:316 AliEMCALTriggerTRU.cxx:317 AliEMCALTriggerTRU.cxx:318 AliEMCALTriggerTRU.cxx:319 AliEMCALTriggerTRU.cxx:320 AliEMCALTriggerTRU.cxx:321 AliEMCALTriggerTRU.cxx:322 AliEMCALTriggerTRU.cxx:323 AliEMCALTriggerTRU.cxx:324 AliEMCALTriggerTRU.cxx:325 AliEMCALTriggerTRU.cxx:326 AliEMCALTriggerTRU.cxx:327 AliEMCALTriggerTRU.cxx:328 AliEMCALTriggerTRU.cxx:329 AliEMCALTriggerTRU.cxx:330 AliEMCALTriggerTRU.cxx:331 AliEMCALTriggerTRU.cxx:332 AliEMCALTriggerTRU.cxx:333 AliEMCALTriggerTRU.cxx:334 AliEMCALTriggerTRU.cxx:335 AliEMCALTriggerTRU.cxx:336 AliEMCALTriggerTRU.cxx:337 AliEMCALTriggerTRU.cxx:338 AliEMCALTriggerTRU.cxx:339 AliEMCALTriggerTRU.cxx:340 AliEMCALTriggerTRU.cxx:341 AliEMCALTriggerTRU.cxx:342 AliEMCALTriggerTRU.cxx:343 AliEMCALTriggerTRU.cxx:344 AliEMCALTriggerTRU.cxx:345 AliEMCALTriggerTRU.cxx:346 AliEMCALTriggerTRU.cxx:347 AliEMCALTriggerTRU.cxx:348 AliEMCALTriggerTRU.cxx:349 AliEMCALTriggerTRU.cxx:350 AliEMCALTriggerTRU.cxx:351 AliEMCALTriggerTRU.cxx:352 AliEMCALTriggerTRU.cxx:353 AliEMCALTriggerTRU.cxx:354 AliEMCALTriggerTRU.cxx:355 AliEMCALTriggerTRU.cxx:356 AliEMCALTriggerTRU.cxx:357 AliEMCALTriggerTRU.cxx:358 AliEMCALTriggerTRU.cxx:359 AliEMCALTriggerTRU.cxx:360 AliEMCALTriggerTRU.cxx:361 AliEMCALTriggerTRU.cxx:362 AliEMCALTriggerTRU.cxx:363 AliEMCALTriggerTRU.cxx:364 AliEMCALTriggerTRU.cxx:365 AliEMCALTriggerTRU.cxx:366 AliEMCALTriggerTRU.cxx:367 AliEMCALTriggerTRU.cxx:368 AliEMCALTriggerTRU.cxx:369 AliEMCALTriggerTRU.cxx:370 AliEMCALTriggerTRU.cxx:371 AliEMCALTriggerTRU.cxx:372 AliEMCALTriggerTRU.cxx:373 AliEMCALTriggerTRU.cxx:374 AliEMCALTriggerTRU.cxx:375 AliEMCALTriggerTRU.cxx:376 AliEMCALTriggerTRU.cxx:377 AliEMCALTriggerTRU.cxx:378 AliEMCALTriggerTRU.cxx:379 AliEMCALTriggerTRU.cxx:380 AliEMCALTriggerTRU.cxx:381 AliEMCALTriggerTRU.cxx:382 AliEMCALTriggerTRU.cxx:383 AliEMCALTriggerTRU.cxx:384 AliEMCALTriggerTRU.cxx:385 AliEMCALTriggerTRU.cxx:386 AliEMCALTriggerTRU.cxx:387 AliEMCALTriggerTRU.cxx:388 AliEMCALTriggerTRU.cxx:389 AliEMCALTriggerTRU.cxx:390 AliEMCALTriggerTRU.cxx:391 AliEMCALTriggerTRU.cxx:392 AliEMCALTriggerTRU.cxx:393 AliEMCALTriggerTRU.cxx:394 AliEMCALTriggerTRU.cxx:395 AliEMCALTriggerTRU.cxx:396 AliEMCALTriggerTRU.cxx:397 AliEMCALTriggerTRU.cxx:398 AliEMCALTriggerTRU.cxx:399 AliEMCALTriggerTRU.cxx:400 AliEMCALTriggerTRU.cxx:401 AliEMCALTriggerTRU.cxx:402 AliEMCALTriggerTRU.cxx:403 AliEMCALTriggerTRU.cxx:404 AliEMCALTriggerTRU.cxx:405 AliEMCALTriggerTRU.cxx:406 AliEMCALTriggerTRU.cxx:407 AliEMCALTriggerTRU.cxx:408 AliEMCALTriggerTRU.cxx:409 AliEMCALTriggerTRU.cxx:410 AliEMCALTriggerTRU.cxx:411 AliEMCALTriggerTRU.cxx:412 AliEMCALTriggerTRU.cxx:413 AliEMCALTriggerTRU.cxx:414 AliEMCALTriggerTRU.cxx:415 AliEMCALTriggerTRU.cxx:416 AliEMCALTriggerTRU.cxx:417 AliEMCALTriggerTRU.cxx:418 AliEMCALTriggerTRU.cxx:419 AliEMCALTriggerTRU.cxx:420 AliEMCALTriggerTRU.cxx:421 AliEMCALTriggerTRU.cxx:422 AliEMCALTriggerTRU.cxx:423 AliEMCALTriggerTRU.cxx:424 AliEMCALTriggerTRU.cxx:425 AliEMCALTriggerTRU.cxx:426 AliEMCALTriggerTRU.cxx:427 AliEMCALTriggerTRU.cxx:428 AliEMCALTriggerTRU.cxx:429 AliEMCALTriggerTRU.cxx:430 AliEMCALTriggerTRU.cxx:431 AliEMCALTriggerTRU.cxx:432 AliEMCALTriggerTRU.cxx:433 AliEMCALTriggerTRU.cxx:434 AliEMCALTriggerTRU.cxx:435 AliEMCALTriggerTRU.cxx:436 AliEMCALTriggerTRU.cxx:437 AliEMCALTriggerTRU.cxx:438 AliEMCALTriggerTRU.cxx:439 AliEMCALTriggerTRU.cxx:440 AliEMCALTriggerTRU.cxx:441 AliEMCALTriggerTRU.cxx:442 AliEMCALTriggerTRU.cxx:443 AliEMCALTriggerTRU.cxx:444 AliEMCALTriggerTRU.cxx:445 AliEMCALTriggerTRU.cxx:446 AliEMCALTriggerTRU.cxx:447 AliEMCALTriggerTRU.cxx:448 AliEMCALTriggerTRU.cxx:449 AliEMCALTriggerTRU.cxx:450 AliEMCALTriggerTRU.cxx:451 AliEMCALTriggerTRU.cxx:452 AliEMCALTriggerTRU.cxx:453 AliEMCALTriggerTRU.cxx:454 AliEMCALTriggerTRU.cxx:455 AliEMCALTriggerTRU.cxx:456 AliEMCALTriggerTRU.cxx:457 AliEMCALTriggerTRU.cxx:458 AliEMCALTriggerTRU.cxx:459 AliEMCALTriggerTRU.cxx:460 AliEMCALTriggerTRU.cxx:461 AliEMCALTriggerTRU.cxx:462 AliEMCALTriggerTRU.cxx:463 AliEMCALTriggerTRU.cxx:464 AliEMCALTriggerTRU.cxx:465 AliEMCALTriggerTRU.cxx:466 AliEMCALTriggerTRU.cxx:467 AliEMCALTriggerTRU.cxx:468 AliEMCALTriggerTRU.cxx:469 AliEMCALTriggerTRU.cxx:470 AliEMCALTriggerTRU.cxx:471 AliEMCALTriggerTRU.cxx:472 AliEMCALTriggerTRU.cxx:473 AliEMCALTriggerTRU.cxx:474 AliEMCALTriggerTRU.cxx:475 AliEMCALTriggerTRU.cxx:476 AliEMCALTriggerTRU.cxx:477 AliEMCALTriggerTRU.cxx:478 AliEMCALTriggerTRU.cxx:479 AliEMCALTriggerTRU.cxx:480 AliEMCALTriggerTRU.cxx:481 AliEMCALTriggerTRU.cxx:482 AliEMCALTriggerTRU.cxx:483 AliEMCALTriggerTRU.cxx:484 AliEMCALTriggerTRU.cxx:485 AliEMCALTriggerTRU.cxx:486 AliEMCALTriggerTRU.cxx:487 AliEMCALTriggerTRU.cxx:488 AliEMCALTriggerTRU.cxx:489 AliEMCALTriggerTRU.cxx:490 AliEMCALTriggerTRU.cxx:491 AliEMCALTriggerTRU.cxx:492 AliEMCALTriggerTRU.cxx:493 AliEMCALTriggerTRU.cxx:494 AliEMCALTriggerTRU.cxx:495 AliEMCALTriggerTRU.cxx:496 AliEMCALTriggerTRU.cxx:497 AliEMCALTriggerTRU.cxx:498 AliEMCALTriggerTRU.cxx:499 AliEMCALTriggerTRU.cxx:500 AliEMCALTriggerTRU.cxx:501 AliEMCALTriggerTRU.cxx:502 AliEMCALTriggerTRU.cxx:503 AliEMCALTriggerTRU.cxx:504 AliEMCALTriggerTRU.cxx:505 AliEMCALTriggerTRU.cxx:506 AliEMCALTriggerTRU.cxx:507 AliEMCALTriggerTRU.cxx:508 AliEMCALTriggerTRU.cxx:509 AliEMCALTriggerTRU.cxx:510 AliEMCALTriggerTRU.cxx:511 AliEMCALTriggerTRU.cxx:512 AliEMCALTriggerTRU.cxx:513 AliEMCALTriggerTRU.cxx:514 AliEMCALTriggerTRU.cxx:515 AliEMCALTriggerTRU.cxx:516 AliEMCALTriggerTRU.cxx:517 AliEMCALTriggerTRU.cxx:518 AliEMCALTriggerTRU.cxx:519 AliEMCALTriggerTRU.cxx:520 AliEMCALTriggerTRU.cxx:521 AliEMCALTriggerTRU.cxx:522 AliEMCALTriggerTRU.cxx:523 AliEMCALTriggerTRU.cxx:524 AliEMCALTriggerTRU.cxx:525 AliEMCALTriggerTRU.cxx:526 AliEMCALTriggerTRU.cxx:527