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 performing TOF Trigger
//       Cosmic_Multi_muon: Cosmic Multi-Muonic Event Trigger (L0)
//       ppMB: p-p Minimum Bias Event Trigger (L0)
//       UltraPer_Coll: Ultra-Peripheral Collision Event Trigger (L0)
//       High_Mult: High Multiplicity Event Trigger (L0)
//       Jet: Events with Jet Topology Trigger (L1)
//
//       A.Silenzi: added CTTM map,
//                        method to fill LTM matrix from raw data,
//                        method to retrieve the TOF pre-trigger for TRD detector
//                        
//
/////////////////////////////////////////////////////////////////////

#include <TClonesArray.h>
#include <TTree.h>
#include <TMath.h>

#include "AliLoader.h"
#include "AliLog.h"
#include "AliRunLoader.h"
#include "AliRun.h"
#include "AliTriggerInput.h"
#include "AliRawReader.h"

#include "AliTOFRawStream.h"
#include "AliTOFrawData.h"
#include "AliTOFdigit.h"
#include "AliTOFGeometry.h"
#include "AliTOFTrigger.h"
#include "AliTOFTriggerMask.h"

#include "AliCDBManager.h"
#include "AliCDBEntry.h"


extern AliRun* gAlice;

AliTOFTriggerMask* AliTOFTrigger:: fTOFTrigMap=NULL;
AliTOFTriggerMask* AliTOFTrigger:: fTOFTrigMask=NULL;
//-------------------------------------------------------------------------
ClassImp(AliTOFTrigger)

//----------------------------------------------------------------------
  AliTOFTrigger::AliTOFTrigger() :
    AliTriggerDetector(),
    fHighMultTh(1000),
    fppMBTh(4),//4:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    fMultiMuonTh(4),
    fUPTh(2),
    fdeltaminpsi(150), //150
    fdeltamaxpsi(170), //170
    fdeltaminro(70),
    fdeltamaxro(110),
    fstripWindow(2),
    fSel1(0),
    fSel2(0),
    fSel3(0),
    fSel4(0),
    fNCrateOn(0),
    fNMaxipadOn(0),
    fNMaxipadOnAll(0),
    fStartTimeHit(0.0),
    fTimeWidthTrigger(25.0)

{
  //main ctor
  for (Int_t i=0;i<kNCTTM;i++) fLTMarray[i] = kFALSE;

  for (Int_t i=0;i<kNLTM;i++){

    for (Int_t j=0;j<kNLTMchannels;j++){
      fLTMmatrix[i][j]=kFALSE;
    }
    if (i<kNCTTM){
      for (Int_t j=0;j<kNCTTMchannels;j++){
	fCTTMmatrixFront[i][j]=kFALSE;
	fCTTMmatrixBack[i][j]=kFALSE;
      }
    }
  }

  fPowerMask[0] = 1;
  for(Int_t i=1;i <= kNCTTMchannels;i++){
      fPowerMask[i] = fPowerMask[i-1]*2;
  }

  SetName("TOF");
  CreateInputs();

  if(!fTOFTrigMap) fTOFTrigMap = new AliTOFTriggerMask();

}

//----------------------------------------------------------------------

AliTOFTrigger::AliTOFTrigger(Int_t HighMultTh, Int_t ppMBTh, Int_t MultiMuonTh, Int_t UPTh, Float_t deltaminpsi, Float_t deltamaxpsi, Float_t deltaminro, Float_t deltamaxro, Int_t stripWindow,Float_t startTimeWindow,Float_t widthTimeWindow) :
  AliTriggerDetector(),
  fHighMultTh(HighMultTh),
  fppMBTh(ppMBTh),
  fMultiMuonTh(MultiMuonTh),
  fUPTh(UPTh),
  fdeltaminpsi(deltaminpsi),
  fdeltamaxpsi(deltamaxpsi),
  fdeltaminro(deltaminro),
  fdeltamaxro(deltamaxro),
  fstripWindow(stripWindow),
  fSel1(0),
  fSel2(0),
  fSel3(0),
  fSel4(0),
  fNCrateOn(0),
  fNMaxipadOn(0),
  fNMaxipadOnAll(0),
  fStartTimeHit(startTimeWindow),
  fTimeWidthTrigger(widthTimeWindow)
{
  //ctor with thresholds for triggers
  for (Int_t i=0;i<kNCTTM;i++) fLTMarray[i] = kFALSE;
  for (Int_t i=0;i<kNLTM;i++){
    for (Int_t j=0;j<kNLTMchannels;j++){
      fLTMmatrix[i][j]=kFALSE;
    }
    if (i<kNCTTM){
      for (Int_t j=0;j<kNCTTMchannels;j++){
	fCTTMmatrixFront[i][j]=kFALSE;
	fCTTMmatrixBack[i][j]=kFALSE;
      }
    }
  }

  fPowerMask[0] = 1;
  for(Int_t i=1;i <= kNCTTMchannels;i++){
      fPowerMask[i] = fPowerMask[i-1]*2;
  }

  SetName("TOF");
  CreateInputs();

  if(!fTOFTrigMap) fTOFTrigMap = new AliTOFTriggerMask();
}


#if 0 /*** COPY CONSTRUCTOR SUPPRESSED **/
//____________________________________________________________________________

AliTOFTrigger::AliTOFTrigger(const AliTOFTrigger & tr):
  AliTriggerDetector(tr),
  fHighMultTh(tr.fHighMultTh),
  fppMBTh(tr.fppMBTh),
  fMultiMuonTh(tr.fMultiMuonTh),
  fUPTh(tr.fUPTh),
  fdeltaminpsi(tr.fdeltaminpsi),
  fdeltamaxpsi(tr.fdeltamaxpsi),
  fdeltaminro(tr.fdeltaminro),
  fdeltamaxro(tr.fdeltamaxro),
  fstripWindow(tr.fstripWindow),
  fSel1(tr.fSel1),
  fSel2(tr.fSel2),
  fSel3(tr.fSel3),
  fSel4(tr.fSel4),
  fNCrateOn(tr.fNCrateOn),
  fNMaxipadOn(tr.fNMaxipadOn),
  fNMaxipadOnAll(tr.fNMaxipadOnAll)
{
  //copy ctor
  for (Int_t i=0;i<kNCTTM;i++) fLTMarray[i] = kFALSE;
  for (Int_t i=0;i<kNLTM;i++){
    for (Int_t j=0;j<kNLTMchannels;j++){
      fLTMmatrix[i][j]=tr.fLTMmatrix[i][j];
    }
    if (i<kNCTTM){
      for (Int_t j=0;j<kNCTTMchannels;j++){
	fCTTMmatrixFront[i][j]=tr.fCTTMmatrixFront[i][j];
	fCTTMmatrixBack[i][j]=tr.fCTTMmatrixBack[i][j];
      }
    }
  }

  fPowerMask[0] = 1;
  for(Int_t i=1;i <= kNCTTMchannels;i++){
      fPowerMask[i] = fPowerMask[i-1]*2;
  }

  SetName(tr.GetName());
  //fInputs=&(tr.GetInputs());
  CreateInputs();

}
#endif /*** COPY CONTRUCTOR SUPPRESSED ***/

//----------------------------------------------------------------------

void AliTOFTrigger::CreateInputs()
{
  // creating inputs
  // Do not create inputs again!!
  if( fInputs.GetEntriesFast() > 0 ) return;

  //LoadActiveMask();

  fInputs.AddLast(new AliTriggerInput("TOF_Cosmic_MultiMuon_L0","TOF",0));
  fInputs.AddLast(new AliTriggerInput("0OIN","TOF",0)); // was "TOF_pp_MB_L0"
  fInputs.AddLast(new AliTriggerInput("0OM2","TOF",0)); // was "TOF_PbPb_MB2_L0"
  fInputs.AddLast(new AliTriggerInput("0OM3","TOF",0)); // was "TOF_PbPb_MB3_L0"
  fInputs.AddLast(new AliTriggerInput("0OUP","TOF",0)); // was "TOF_UltraPer_Coll_L0"
  fInputs.AddLast(new AliTriggerInput("0OMU","TOF",0)); // new trigger (150 < DeltaPhi < 180) and 2 <= N_pad <= 6

  fInputs.AddLast(new AliTriggerInput("0OHM","TOF",0)); // was "TOF_High_Mult_L0"
  fInputs.AddLast(new AliTriggerInput("TOF_Jet_L1","TOF",0));

}

//----------------------------------------------------------------------
void AliTOFTrigger::Trigger() {
  fTOFTrigMap->ResetMask();
  if(!fTOFTrigMask) LoadActiveMask();

  //triggering method
  fSel1=0;
  fSel2=0;
  fSel3=0;
  fSel4=0;

  CreateLTMMatrix();

  Int_t nchonFront = 0;
  Int_t nchonBack = 0;
  Int_t nchonTot = 0;
  Int_t nSectOn = 0; // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  Int_t DeSlots = -1;// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  Int_t AntiDeSlots = -1;// °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  Int_t nchonFrontBack = 0;
  Int_t nchonFront1 = 0;
  Int_t nchonBack1 = 0;
  Int_t nchonFrontBack1 = 0;
  Int_t mindeltapsi = (Int_t)fdeltaminpsi/10;
  Int_t maxdeltapsi = (Int_t)fdeltamaxpsi/10;
  Int_t mindeltaro = (Int_t)fdeltaminro/10;
  Int_t maxdeltaro = (Int_t)fdeltamaxro/10;

  for (Int_t i=0;i<kNCTTM;i++){
    for (Int_t j=0;j<kNCTTMchannels;j++){
      if (fCTTMmatrixFront[i][j]){
	nchonFront++;
	fTOFTrigMap->SetON(i,j);
      }
    }
  }

  for (Int_t i=kNCTTM;i<(kNCTTM*2);i++){
    for (Int_t j=0;j<kNCTTMchannels;j++){
      if (fCTTMmatrixBack[i-kNCTTM][j]){
	nchonBack++;
	fTOFTrigMap->SetON(i,j);
      }
    }
  }

  nchonTot = nchonFront + nchonBack;
//  fNMaxipadOn = nchonTot;
  for(Int_t i=0;i<kNCTTM;i++) { if(fLTMarray[i]) nSectOn++; } 

  //pp Minimum Bias Trigger
  if (nchonTot >= fppMBTh) {
    SetInput("0OIN");
    fSel1=1;
    //printf("0OIN - MB\n");
  }

  // PbPb MB
  if (nchonTot >= 2) {
    SetInput("0OM2");
    fSel2=1;
  }
  if (nchonTot >= 3) {
    SetInput("0OM3");
    fSel3=1;
  }

  //High Multiplicity Trigger
  if (nchonTot >= fHighMultTh) {
    SetInput("0OHM");
    //printf("0OHM - High Mult\n");
  }


  //MultiMuon Trigger
  nchonFront = 0;
  nchonBack = 0;
  nchonFrontBack = 0;

  Bool_t boolCTTMor = kFALSE;

  for (Int_t i=0;i<(kNCTTM/2);i++){
    Int_t iopp = i+kNCTTM/2;
    for (Int_t j=0;j<kNCTTMchannels;j++){
      if (fCTTMmatrixFront[i][j]){
	Int_t minj = j-fstripWindow;
	Int_t maxj = j+fstripWindow;
	if (minj<0) minj =0;
	if (maxj>=kNCTTMchannels) maxj = kNCTTMchannels-1;
	boolCTTMor = kFALSE;
	for (Int_t k = minj;k<=maxj;k++){
	  boolCTTMor |= fCTTMmatrixFront[iopp][k];
	}
	if (boolCTTMor) {
	  nchonFront++;
	}
      }

      if (fCTTMmatrixBack[i][j]){
	Int_t minj = j-fstripWindow;
	Int_t maxj = j+fstripWindow;
	if (minj<0) minj =0;
	if (maxj>=kNCTTMchannels) maxj =kNCTTMchannels-1;
	boolCTTMor = kFALSE;
	for (Int_t k = minj;k<=maxj;k++){
	  boolCTTMor |= fCTTMmatrixBack[iopp][k];
	}
	if (boolCTTMor) {
	  nchonBack++;
	}
      }
    }
  }

  nchonFrontBack = nchonFront+nchonBack;

  nchonFront1 = 0;
  nchonBack1 = 0;
  nchonFrontBack1 = 0;

  boolCTTMor = kFALSE;
  for (Int_t i=0;i<(kNCTTM/2);i++){
    Int_t i2max = (kNCTTM-1)-i+1;
    Int_t i2min = (kNCTTM-1)-i-1;
    if (i2max >=kNCTTM) i2max = kNCTTM-1;
    if (i2min==i) i2min = kNCTTM-1-i;
    for (Int_t j=0;j<kNCTTMchannels;j++){
      Int_t j2min = j-fstripWindow;
      Int_t j2max = j+fstripWindow;
      if (j2min<0) j2min =0;
      if (j2max>=kNCTTMchannels) j2max =kNCTTMchannels-1;
      if (fCTTMmatrixFront[i][j]){
	boolCTTMor = kFALSE;
	for (Int_t i2=i2min;i2<=i2max;i2++){
	  for (Int_t j2 = j2min;j2<=j2max;j2++){
	    boolCTTMor |= fCTTMmatrixFront[i2][j2];
	  }
	  if (boolCTTMor) {
	    nchonFront++;
	  }
	}
      }
      if (fCTTMmatrixBack[i][j]){
	  boolCTTMor = kFALSE;
	  for (Int_t i2=i2min;i2<=i2max;i2++){
	      for (Int_t j2 = j2min;j2<=j2max;j2++){
		  boolCTTMor |= fCTTMmatrixBack[i2][j2];
	      }
	  }
	  if (boolCTTMor) {
	      nchonBack++;
	  }
      }
    }
  }
  
  nchonFrontBack1 = nchonFront1+nchonBack1;
  
  if (nchonFrontBack >= fMultiMuonTh || nchonFrontBack1 >= fMultiMuonTh) {
      SetInput("TOF_Cosmic_MultiMuon_L0");
  }
  
  //Ultra-Peripheral collision Trigger
  
  // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  // DeSlots = (k+1)_Array Element - k_Array Element
  // AntiDeSlots = kNCTTM - DeSlots
  
  if((!fSel1))// && nchonFront < 4 && nchonBack < 4)
  {  
      // printf("nHitMaxipad CLASSE: %i \n",fNMaxipadOn);
      // printf("Total Number per event of Switched-On sectors : %i \n", nSectOn);
      // printf("mindeltapsi %i \n", mindeltapsi);
      //printf("maxdeltapsi %i \n", maxdeltapsi); 
      for(Int_t i = 0; i < kNCTTM; i++){    
	  if(fLTMarray[i]){
	      // printf(" i-sect On:  %i\n",i);
	      for(Int_t j = i+1; j < kNCTTM; j++){
		  if(fLTMarray[j]) {
		      //  printf(" j-sect On:  %i\n",j);
		      DeSlots = j-i;
		      AntiDeSlots = kNCTTM - DeSlots;
		      //printf("DeSlots = %i \n",DeSlots);
		      //printf("AntiDeSlots = %i \n",AntiDeSlots);
		      if(DeSlots >= mindeltapsi && DeSlots <= maxdeltapsi){
			  fSel4=1;
			  SetInput("0OUP");
			  //printf("trigger On with DeSlot \n");
		      }
		      if(AntiDeSlots >= mindeltapsi && AntiDeSlots <= maxdeltapsi){
			  fSel4=1;
			  SetInput("0OUP");
			  //printf("trigger On with AntiDeSlot \n");
		      }
		      
		      
		      if(DeSlots >= mindeltaro && DeSlots <= maxdeltaro){
			  fSel4=1;
			  SetInput("0OUP");
			  //printf("trigger On with DeSlot \n");
		      }
		      if(AntiDeSlots >= mindeltaro && AntiDeSlots <= maxdeltaro){
			  fSel4=1;
			  SetInput("0OUP");
			  //printf("trigger On with AntiDeSlot \n");
		      }	
		      
		      if(nchonTot >= 2 && nchonTot <= 6){
			if(DeSlots >= 15 && DeSlots <= 18){
			  SetInput("0OMU");
			}
			else if(AntiDeSlots >= 15 && AntiDeSlots <= 18){
			  SetInput("0OMU");
			}	
		      }		      
		  }
	      }    
	  }
      }
  } 
}

//-----------------------------------------------------------------------------
void AliTOFTrigger::CreateLTMMatrix() {
  //creating LTMMatrix
  //initialization
  CreateLTMMatrixFromDigits();
  CreateCTTMMatrix();
}

//-------------------------------------------------------------------------

void AliTOFTrigger::CreateLTMMatrixFromDigits() {
  //
  // Create LTM matrix by TOF digits
  //

  //initialization
  for (Int_t i=0;i<kNCTTM;i++) fLTMarray[i]= kFALSE;
  for (Int_t i=0;i<kNLTM;i++){
    for (Int_t j=0;j<kNLTMchannels;j++){
      fLTMmatrix[i][j]=kFALSE;
    }
  }
  for (Int_t i=0;i<kNCTTM;i++){
      for (Int_t j=0;j<kNCTTMchannels;j++){
	  fCTTMmatrixFront[i][j]=kFALSE;
	  fCTTMmatrixBack[i][j]=kFALSE;
      }
  }


  AliRunLoader *rl;
  rl = AliRunLoader::Instance();

  Int_t ncurrevent = rl->GetEventNumber();
  rl->GetEvent(ncurrevent);

  AliLoader * tofLoader = rl->GetLoader("TOFLoader");

  tofLoader->LoadDigits("read");
  TTree *treeD = tofLoader->TreeD();
  if (treeD == 0x0) {
    AliFatal("AliTOFTrigger: Can not get TreeD");
    return;
  }

  TBranch *branch = treeD->GetBranch("TOF");
  if (!branch) {
    AliError("can't get the branch with the TOF digits !");
    return;
  }
  TClonesArray *tofDigits =new TClonesArray("AliTOFdigit",  1000);
  branch->SetAddress(&tofDigits);
  treeD->GetEvent(0);
  Int_t ndigits = tofDigits->GetEntriesFast();
  Int_t detind[5]; //detector indexes: 0 -> sector
  //                                   1 -> plate(modulo)
  //                                   2 -> strip
  //                                   3 -> padz
  //                                   4 -> padx

  for (Int_t i=0;i<ndigits;i++){
    AliTOFdigit * digit = (AliTOFdigit*)tofDigits->UncheckedAt(i);
    detind[0] = digit->GetSector();
    detind[1] = digit->GetPlate();
    detind[2] = digit->GetStrip();
    detind[3] = digit->GetPadz();
    detind[4] = digit->GetPadx();

    Int_t indexLTM[2] = {-1,-1};
    GetLTMIndex(detind,indexLTM);

    //Float_t timedigit = digit->GetTdc()*AliTOFGeometry::TdcBinWidth()*1E-3; // decalibrated time digit in ns
    Float_t timedigit = digit->GetTdcND()*AliTOFGeometry::TdcBinWidth()*1E-3; // time digit in ns

    Float_t pos[3];
    AliTOFGeometry::GetPosPar(detind, pos);
    Float_t length = 0.;
    for (Int_t ic = 0; ic < 3; ic++) length += pos[ic] * pos[ic];
    length = TMath::Sqrt(length);
    timedigit -= length * 0.0333564095198152043; // subtract the minimal time in ns for the current channel

    if(timedigit > fStartTimeHit - 0.5 && timedigit < fStartTimeHit + fTimeWidthTrigger - 0.5)
      fLTMmatrix[indexLTM[0]][indexLTM[1]] = kTRUE;

//    fLTMarray[indexLTM[0]%36] = kTRUE; //dimensione MAX array 36 = kNCTTM 
  }


  tofLoader->UnloadDigits();
  //   rl->UnloadgAlice();

}

//-----------------------------------------------------------------------------

void AliTOFTrigger::CreateLTMMatrixFromRaw(AliRawReader *fRawReader) {
  //
  // Create LTM matrix by TOF raw data
  //
  fTOFTrigMap->ResetMask();

  //initialization
  for (Int_t i=0;i<kNLTM;i++){
    for (Int_t j=0;j<kNLTMchannels;j++){
      fLTMmatrix[i][j]=kFALSE;
    }
  }
  for (Int_t i=0;i<kNCTTM;i++){
      for (Int_t j=0;j<kNCTTMchannels;j++){
	  fCTTMmatrixFront[i][j]=kFALSE;
	  fCTTMmatrixBack[i][j]=kFALSE;
      }
  }

  if(fRawReader){
    AliTOFRawStream * tofRawStream = new AliTOFRawStream();

    Int_t inholes = 0;

    //if(!GetLoader()->TreeS()) {MakeTree("S");  MakeBranch("S");}
    
    Clear();
    tofRawStream->SetRawReader(fRawReader);
    
    //ofstream ftxt;
    //if (fVerbose==2) ftxt.open("TOFsdigitsRead.txt",ios::app);
    
    TClonesArray staticRawData("AliTOFrawData",10000);
    staticRawData.Clear();
    TClonesArray * clonesRawData = &staticRawData;
    
    Int_t dummy = -1;
    Int_t detectorIndex[5] = {-1, -1, -1, -1, -1};
    Int_t digit[2];
    //Int_t track = -1;
    //Int_t last = -1;
    
    Int_t indexDDL = 0;
    Int_t iRawData = 0;
    AliTOFrawData *tofRawDatum = 0;
    for (indexDDL=0; indexDDL<AliDAQ::NumberOfDdls("TOF"); indexDDL++) {
      
      fRawReader->Reset();
      tofRawStream->LoadRawDataBuffersV2(indexDDL);
      
      clonesRawData = tofRawStream->GetRawData();
      if (clonesRawData->GetEntriesFast()!=0) AliInfo(Form(" TOF raw data number = %3d", clonesRawData->GetEntriesFast()));
      for (iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {
	
        tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);
	
        //if (tofRawDatum->GetTOT()==-1 || tofRawDatum->GetTOF()==-1) continue;
        if (tofRawDatum->GetTOF()==-1) continue;
	
        SetBit(indexDDL, tofRawDatum->GetTRM(), tofRawDatum->GetTRMchain(),
               tofRawDatum->GetTDC(), tofRawDatum->GetTDCchannel());

        dummy = detectorIndex[3];
        detectorIndex[3] = detectorIndex[4];//padz
        detectorIndex[4] = dummy;//padx

        digit[0] = tofRawDatum->GetTOF();
        digit[1] = tofRawDatum->GetTOT();

        dummy = detectorIndex[3];
        detectorIndex[3] = detectorIndex[4];//padx
        detectorIndex[4] = dummy;//padz

        // Do not reconstruct anything in the holes
        if (detectorIndex[0]==13 || detectorIndex[0]==14 || detectorIndex[0]==15 ) { // sectors with holes
          if (detectorIndex[1]==2) { // plate with holes
            inholes++;
            continue;
          }
        }

        tofRawDatum = 0;
      } // while loop

      clonesRawData->Clear();

    } // DDL Loop

    //if (fVerbose==2) ftxt.close();

    if (inholes) AliWarning(Form("Clusters in the TOF holes: %d",inholes));
    delete tofRawStream;
    tofRawStream = NULL;

  }

}
//-----------------------------------------------------------------------------
void AliTOFTrigger::PrepareTOFMapFromRaw(AliRawReader *fRawReader,Int_t deltaBC) {
  //
  // Create LTM matrix by TOF raw data
  //
  if(!fTOFTrigMap) fTOFTrigMap = new AliTOFTriggerMask();
  fTOFTrigMap->ResetMask();
  LoadActiveMask();

  if(fRawReader){
    AliTOFRawStream * tofRawStream = new AliTOFRawStream();

    tofRawStream->SetRawReader(fRawReader);
        
    TClonesArray staticRawData("AliTOFrawData",10000);
    staticRawData.Clear();
    TClonesArray * clonesRawData = &staticRawData;
    
    Int_t indexDDL = 0;
    Int_t iRawData = 0;
    AliTOFrawData *tofRawDatum = 0;
    for (indexDDL=0; indexDDL<AliDAQ::NumberOfDdls("TOF"); indexDDL++) {
      
      fRawReader->Reset();
      tofRawStream->LoadRawDataBuffersV2(indexDDL);
      
      clonesRawData = tofRawStream->GetRawData();
      for (iRawData = 0; iRawData<clonesRawData->GetEntriesFast(); iRawData++) {
	
        tofRawDatum = (AliTOFrawData*)clonesRawData->UncheckedAt(iRawData);
	
        //if (tofRawDatum->GetTOT()==-1 || tofRawDatum->GetTOF()==-1) continue;
        if (tofRawDatum->GetTOF()==-1) continue;

	Int_t nTRM = tofRawDatum->GetTRM();
	Int_t iChain = tofRawDatum->GetTRMchain();
	Int_t iTDC = tofRawDatum->GetTDC();
	Int_t iCH=tofRawDatum->GetTDCchannel();

	if(nTRM==3 && iTDC>=12 && iTDC<=14 && indexDDL%2==1){ // DDL number to LTM number mapping
	  Int_t iLTMindex=-1;
	  Int_t iChannelIndex=-1;
	  switch(indexDDL%AliTOFGeometry::NDDL()){
	  case 1:
	    iLTMindex=1;
	    break;
	  case 3:
	    iLTMindex=36;
	    break;
	  default:
	    break;
	  }
	  iLTMindex+=2*(Int_t)(indexDDL/AliTOFGeometry::NDDL());
	  if(iChain==0 && indexDDL<36)
	    iLTMindex--;
	  if(iChain==0 && indexDDL>=36)
	    iLTMindex++;
	  iChannelIndex=iCH+iTDC*AliTOFGeometry::NCh()-12*AliTOFGeometry::NCh();
	  Int_t index[2]={iLTMindex,iChannelIndex};
	  
	  
	  if(fTOFTrigMask->IsON(index[0],index[1]) && TMath::Abs(tofRawDatum->GetTOF()-deltaBC) < 400) fTOFTrigMap->SetON(index[0],index[1]);
	}
	
        tofRawDatum = 0;
      } // while loop

      clonesRawData->Clear();

    } // DDL Loop


    delete tofRawStream;
    tofRawStream = NULL;

  }

}
//-----------------------------------------------------------------------------
void AliTOFTrigger::PrepareTOFMapFromDigit(TTree *treeD) {
  if(!fTOFTrigMap) fTOFTrigMap = new AliTOFTriggerMask();
  LoadActiveMask();

  fTOFTrigMap->ResetMask();
  if (treeD == 0x0) {
    return;
  }

  TBranch *branch = treeD->GetBranch("TOF");
  if (!branch) {
    return;
  }
  TClonesArray *tofDigits =new TClonesArray("AliTOFdigit",  1000);
  branch->SetAddress(&tofDigits);
  treeD->GetEvent(0);
  Int_t ndigits = tofDigits->GetEntriesFast();
  Int_t detind[5]; //detector indexes: 0 -> sector
  //                                   1 -> plate(modulo)
  //                                   2 -> strip
  //                                   3 -> padz
  //                                   4 -> padx

  for (Int_t i=0;i<ndigits;i++){
    AliTOFdigit * digit = (AliTOFdigit*)tofDigits->UncheckedAt(i);
    detind[0] = digit->GetSector();
    detind[1] = digit->GetPlate();
    detind[2] = digit->GetStrip();
    detind[3] = digit->GetPadz();
    detind[4] = digit->GetPadx();

    Int_t indexLTM[2] = {-1,-1};
    GetLTMIndex(detind,indexLTM);

    if(fTOFTrigMask->IsON(indexLTM[0],indexLTM[1])) fTOFTrigMap->SetON(indexLTM[0],indexLTM[1]);
  }

}
//-----------------------------------------------------------------------------
void AliTOFTrigger::GetLTMIndex(const Int_t * const detind, Int_t *indexLTM) {
  //
  // getting LTMmatrix indexes for current digit
  //

  if (detind[1]==0 || detind[1]==1 || (detind[1]==2 && detind[2]<=7)) {
    if (detind[4]<24){
      indexLTM[0] = detind[0]*2;
    }
    else {
      indexLTM[0] = detind[0]*2+1;
    }
  }
  else {
    if (detind[4]<24){
      indexLTM[0] = detind[0]*2+36;
    }
    else {
      indexLTM[0] = (detind[0]*2+1)+36;
    }
  }

  if (indexLTM[0]<36) {
    if (detind[1] ==0){
      indexLTM[1] = detind[2];
    }
    else if (detind[1] ==1){
      indexLTM[1] = detind[2]+19;
    }
    else if (detind[1] ==2){
      indexLTM[1] = detind[2]+19*2;
    }
    else{
      //      AliError("Smth Wrong!!!");
    }
  }
  else {
    if (detind[1] ==2){
      indexLTM[1] = detind[2]-8;
    }
    else if (detind[1] ==3){
      indexLTM[1] = detind[2]+7;
    }
    else if (detind[1] ==4){
      indexLTM[1] = detind[2]+26;
    }
    else{
      //      AliError("Smth Wrong!!!");
    }
  }

}
//-------------------------------------------------------------------------
/*
// to be checked because of warning problems
void AliTOFTrigger::PrintMap()
{
  //
  //
  //

  for(Int_t i = 0; i<kNLTM;i++) {
    if(i<36) {
      printf("| %d | %d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |\n",
	     (fCTTMmatrixFront[i][0])?1:0,(fCTTMmatrixFront[i][1])?1:0,(fCTTMmatrixFront[i][2])?1:0, \
	     (fCTTMmatrixFront[i][3])?1:0,(fCTTMmatrixFront[i][4])?1:0,(fCTTMmatrixFront[i][5])?1:0, \
	     (fCTTMmatrixFront[i][6])?1:0,(fCTTMmatrixFront[i][7])?1:0,(fCTTMmatrixFront[i][8])?1:0, \
	     (fCTTMmatrixFront[i][9])?1:0,(fCTTMmatrixFront[i][10])?1:0,(fCTTMmatrixFront[i][11])?1:0, \
	     (fCTTMmatrixFront[i][12])?1:0,(fCTTMmatrixFront[i][13])?1:0,(fCTTMmatrixFront[i][14])?1:0,	\
	     (fCTTMmatrixFront[i][15])?1:0,(fCTTMmatrixFront[i][16])?1:0,(fCTTMmatrixFront[i][17])?1:0,	\
	     (fCTTMmatrixFront[i][18])?1:0,(fCTTMmatrixFront[i][19])?1:0,(fCTTMmatrixFront[i][20])?1:0,	\
	     (fCTTMmatrixFront[i][21])?1:0,(fCTTMmatrixFront[i][22])?1:0,(fCTTMmatrixFront[i][23])?1:0);
    } else {
      printf("| %d | %d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |%d |\n",
	     (fCTTMmatrixBack[i][0])?1:0,(fCTTMmatrixBack[i][1])?1:0,(fCTTMmatrixBack[i][2])?1:0, \
	     (fCTTMmatrixBack[i][3])?1:0,(fCTTMmatrixBack[i][4])?1:0,(fCTTMmatrixBack[i][5])?1:0, \
	     (fCTTMmatrixBack[i][6])?1:0,(fCTTMmatrixBack[i][7])?1:0,(fCTTMmatrixBack[i][8])?1:0, \
	     (fCTTMmatrixBack[i][9])?1:0,(fCTTMmatrixBack[i][10])?1:0,(fCTTMmatrixBack[i][11])?1:0, \
	     (fCTTMmatrixBack[i][12])?1:0,(fCTTMmatrixBack[i][13])?1:0,(fCTTMmatrixBack[i][14])?1:0, \
	     (fCTTMmatrixBack[i][15])?1:0,(fCTTMmatrixBack[i][16])?1:0,(fCTTMmatrixBack[i][17])?1:0, \
	     (fCTTMmatrixBack[i][18])?1:0,(fCTTMmatrixBack[i][19])?1:0,(fCTTMmatrixBack[i][20])?1:0, \
	     (fCTTMmatrixBack[i][21])?1:0,(fCTTMmatrixBack[i][22])?1:0,(fCTTMmatrixBack[i][23])?1:0);
    }
  }

}
*/
//-------------------------------------------------------------------------

void AliTOFTrigger::GetMapMatrix(Bool_t map[][24]) const
{
  //
  // Returns CTTM map
  //

  for(Int_t i = 0; i<kNLTM;i++)
    for(Int_t j = 0; j<kNCTTMchannels;j++)
      map[i][j]=(i<36)?fCTTMmatrixFront[i][j]:fCTTMmatrixBack[i-36][j];

}
//-------------------------------------------------------------------------

void AliTOFTrigger::GetMap(Bool_t **map) const
{
  //
  // Returns CTTM map
  //

  for(Int_t i = 0; i<kNLTM;i++)
    for(Int_t j = 0; j<kNCTTMchannels;j++)
      map[i][j]=(i<36)?fCTTMmatrixFront[i][j]:fCTTMmatrixBack[i-36][j];

}


//-------------------------------------------------------------------------
void AliTOFTrigger::GetTRDmap(Bool_t **map) const
{
  //
  // Retriev the bit map sent to the TRD detector
  //
    
    for(int i = 0; i<kNLTM;i++)
	for(int j = 0; j<kNLTMtoTRDchannels;j++){
	    map[i][j]=kFALSE;
	}

    for(int i = 0; i<kNLTM/2;i++)
    for(int j = 0; j<AliTOFTrigger::kNCTTMchannels;j++){
	UInt_t uTRDbit=j/3;
	if(fCTTMmatrixFront[i][j]) map[i][uTRDbit]=kTRUE;
    }
  for(int i = kNLTM/2; i<kNLTM;i++)
      for(int j = 0; j<AliTOFTrigger::kNCTTMchannels;j++){
	  UInt_t uTRDbit=j/3;
	  if(fCTTMmatrixBack[i-kNLTM/2][j]) map[i][uTRDbit]=kTRUE;
    }
  
}
//-------------------------------------------------------------------------
void AliTOFTrigger::GetTRDmapMatrix(Bool_t map[][8]) const
{
  //
  // Retriev the bit map sent to the TRD detector
  //
    
    for(int i = 0; i<kNLTM;i++)
	for(int j = 0; j<kNLTMtoTRDchannels;j++){
	    map[i][j]=kFALSE;
	}

    for(int i = 0; i<kNLTM/2;i++)
    for(int j = 0; j<AliTOFTrigger::kNCTTMchannels;j++){
	UInt_t uTRDbit=j/3;
	if(fCTTMmatrixFront[i][j]) map[i][uTRDbit]=kTRUE;
    }
  for(int i = kNLTM/2; i<kNLTM;i++)
      for(int j = 0; j<AliTOFTrigger::kNCTTMchannels;j++){
	  UInt_t uTRDbit=j/3;
	  if(fCTTMmatrixBack[i-kNLTM/2][j]) map[i][uTRDbit]=kTRUE;
    }
  
}

//-------------------------------------------------------------------------
void AliTOFTrigger::SetBit(Int_t *detind)
{
  //
  // Sets CTTM map element corresponding to detector element 'detind'
  //

  Int_t index[2];
  GetCTTMIndex(detind,index);
  if(index[0]<36)
    fCTTMmatrixFront[index[0]][index[1]]=kTRUE;
  else
    fCTTMmatrixBack[index[0]-36][index[1]]=kTRUE;

}

//-------------------------------------------------------------------------
void AliTOFTrigger::SetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,
                           Int_t iTDC, Int_t iCH)
{
  //
  // Sets CTTM map element corresponding to equipment ID
  // labelled by number nDDL, nTRM, iChain, iTDC, iCH
  //

    if(nTRM==3 && iTDC>=12 && iTDC<=14 && nDDL%2==1){ // DDL number to LTM number mapping
//       getchar();
    Int_t iLTMindex=-1;
    Int_t iChannelIndex=-1;
    switch(nDDL%AliTOFGeometry::NDDL()){
    case 1:
      iLTMindex=1;
      break;
    case 3:
      iLTMindex=36;
      break;
    default:
      AliError("Call this function only if(nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1) ");
      break;
    }
    iLTMindex+=2*(Int_t)(nDDL/AliTOFGeometry::NDDL());
    if(iChain==0 && nDDL<36)
      iLTMindex--;
    if(iChain==0 && nDDL>=36)
      iLTMindex++;
    iChannelIndex=iCH+iTDC*AliTOFGeometry::NCh()-12*AliTOFGeometry::NCh();
    Int_t index[2]={iLTMindex,iChannelIndex};
    if (index[0]<36){
      fCTTMmatrixFront[index[0]][index[1]]=kTRUE;
      fLTMmatrix[index[0]][index[1]*2]=kTRUE;
    }
    else{
	fCTTMmatrixBack[index[0]-36][index[1]]=kTRUE;
	fLTMmatrix[index[0]][index[1]*2]=kTRUE;
    }
    }

}
//-------------------------------------------------------------------------

void AliTOFTrigger::ResetBit(Int_t *detind)
{
  //
  // Sets CTTM map element corresponding to detector element 'detind'
  //

  Int_t index[2];
  GetCTTMIndex(detind,index);
  if(index[0]<36)
    fCTTMmatrixFront[index[0]][index[1]]=kFALSE;
  else
    fCTTMmatrixBack[index[0]-36][index[1]]=kFALSE;

}

//-------------------------------------------------------------------------
void AliTOFTrigger::ResetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,
			     Int_t iTDC, Int_t iCH)
{
  //
  // Sets CTTM map element corresponding to equipment ID
  // labelled by number nDDL, nTRM, iChain, iTDC, iCH
  //

  if(nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1){ // DDL number to LTM number mapping
    Int_t iLTMindex=-1;
    Int_t iChannelIndex=-1;
    switch(nDDL%AliTOFGeometry::NDDL()){
    case 1:
      iLTMindex=1;
      break;
    case 3:
      iLTMindex=36;
      break;
    default:
      AliError("Call this function only if(nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1) ");
      break;
    }
    iLTMindex+=2*(Int_t)(nDDL/AliTOFGeometry::NDDL());
    if(iChain==0 && nDDL<36)
      iLTMindex--;
    if(iChain==0 && nDDL>=36)
      iLTMindex++;
    iChannelIndex=iCH+iTDC*AliTOFGeometry::NCh()-12*AliTOFGeometry::NCh();
    Int_t index[2]={iLTMindex,iChannelIndex};
    if (index[0]<36){
      fCTTMmatrixFront[index[0]][index[1]]=kFALSE;
    }
    else{
      fCTTMmatrixBack[index[0]-36][index[1]]=kFALSE;
    }
  }
  else
    AliError("Call this function only if(nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1) ");

}
//-------------------------------------------------------------------------

Bool_t AliTOFTrigger::GetBit(Int_t *detind)
{
  //
  // Returns CTTM map element corresponding to detector element 'detind'
  //

  Int_t index[2];
  GetCTTMIndex(detind,index);
  return (index[0]<36)?fCTTMmatrixFront[index[0]][index[1]]:fCTTMmatrixBack[index[0]-36][index[1]];

}

//-------------------------------------------------------------------------
Bool_t AliTOFTrigger::GetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,
                             Int_t iTDC, Int_t iCH)
{
  //
  // Returns CTTM map element corresponding to equipment ID
  // labelled by number nDDL, nTRM, iChain, iTDC, iCH
  //

  if ( !(nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1) ) {
    AliWarning("Call this function only if(nTRM==3 && iTDC>12 && iTDC<14) ");
    return kFALSE;
  }
  //if (nTRM==3 && iTDC>12 && iTDC<14 && nDDL%2==1) { // DDL number to LTM number mapping

  UInt_t iLTMindex=0;
  UInt_t iChannelindex=0;
  switch(nDDL%AliTOFGeometry::NDDL()) {
  case 1:
    iLTMindex=1;
    break;
  case 3:
    iLTMindex=36;
    break;
  default:
    AliError("something wrong");
    break;
  }
  iLTMindex+=2*(Int_t)(nDDL/AliTOFGeometry::NDDL());

  if (iChain==1) return kFALSE; // AdC

  if (nDDL<36)
    iLTMindex--;
  if (nDDL>=36)
    iLTMindex++;
  iChannelindex=iCH+iTDC*AliTOFGeometry::NCh()-12*AliTOFGeometry::NCh();
  Int_t index[2]={static_cast<Int_t>(iLTMindex),static_cast<Int_t>(iChannelindex)};
  return (index[0]<36)?fCTTMmatrixFront[index[0]][index[1]]:fCTTMmatrixBack[index[0]-36][index[1]];

}

//-------------------------------------------------------------------------

void AliTOFTrigger::CreateCTTMMatrix() {
  //
  // Create CTTM bit map
  //

  LoadActiveMask();

    Int_t fromTriggertoDCS[72] = {0,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,33,36,37,40,41,44,45,48,49,52,53,56,57,60,61,64,65,68,69,3,
				  2,7,6,11,10,15,14,19,18,23,22,27,26,31,30,35,34,39,38,43,42,47,46,51,50,55,54,59,58,63,62,67,66,71,70};


    fNMaxipadOnAll=0;
    fNMaxipadOn=0;

    for(Int_t i = 0; i<kNLTM;i++){
	UInt_t currentMask = fPowerMask[kNCTTMchannels]-1;
	if(fTOFTrigMask) currentMask=fTOFTrigMask->GetTriggerMask(fromTriggertoDCS[i]);
	if(i<kNCTTM){
	    for(Int_t j = 0; j<kNCTTMchannels;j++){
		fCTTMmatrixFront[i][j]=fLTMmatrix[i][2*j]||fLTMmatrix[i][2*j+1];
		if(fCTTMmatrixFront[i][j]) fNMaxipadOnAll++;
		if(!(currentMask & fPowerMask[j])) fCTTMmatrixFront[i][j]=0;
		if(fCTTMmatrixFront[i][j]){
		    fNMaxipadOn++;
		    fLTMarray[i] = kTRUE;
		}
	    }
	}
	else{
	    for(Int_t j = 0; j<kNCTTMchannels;j++){
		fCTTMmatrixBack[i-kNCTTM][j]=fLTMmatrix[i][2*j]||fLTMmatrix[i][2*j+1];;
		if(fCTTMmatrixBack[i-kNCTTM][j]) fNMaxipadOnAll++;
		if(!(currentMask & fPowerMask[j])) fCTTMmatrixBack[i-kNCTTM][j]=0;
		if(fCTTMmatrixBack[i-kNCTTM][j]){
		    fNMaxipadOn++;
		    fLTMarray[i-kNCTTM] = kTRUE;
		}
	    }
	}
    }
  
    fNCrateOn = 0; 
    for(Int_t j=0; j < kNCTTM; j++) {if(fLTMarray[j]) fNCrateOn++;}

}     
//-----------------------------------------------------------------------------

void AliTOFTrigger::GetCTTMIndex(Int_t *detind, Int_t *indexCTTM) {
  //
  // Returns CTTM index corresponding to the detector element detind
  //

  GetLTMIndex(detind,indexCTTM);
  indexCTTM[1]/=2;

}
//-----------------------------------------------------------------------------
void AliTOFTrigger::LoadActiveMask(){
//
// Load OCDB current mask
//

    AliCDBManager *cdb = AliCDBManager::Instance();
    if(cdb->GetRun() < 0 || !(cdb->GetDefaultStorage())){
	if(!(cdb->GetDefaultStorage())){
	    cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
	    printf("AliTOFTrigger (WARNING): probably CDB first instance - Default Sorage set to \"local://$ALICE_ROOT/OCDB\"\n");
	}
	if(cdb->GetRun() < 0){
	    cdb->SetRun(0);
         printf("AliTOFTrigger (WARNING): probably CDB first instance - number of run set to 0\n");
	}
    }

    AliCDBEntry *cdbe = cdb->Get("TRIGGER/TOF/TriggerMask");
    if(!cdbe) return;
    fTOFTrigMask= (AliTOFTriggerMask *)cdbe->GetObject();
    
//     UInt_t maskArray[kNLTM];
//     if(fTOFTrigMask == NULL) fTOFTrigMask = new AliTOFTriggerMask();
//     for (Int_t k = 0; k < kNLTM ; k++) maskArray[k] = fPowerMask[kNCTTMchannels]-1;
//     //for (Int_t k = 0; k < kNLTM ; k+=2) maskArray[k] = 0;
    
//     fTOFTrigMask->SetTriggerMaskArray(maskArray);
}


//-----------------------------------------------------------------------------
AliTOFTrigger::~AliTOFTrigger()
{
  // dtor

}

//-----------------------------------------------------------------------------
AliTOFTrigger& AliTOFTrigger::operator=(const AliTOFTrigger &/*source*/)
{
  // ass. op.
  return *this;

}

 AliTOFTrigger.cxx:1
 AliTOFTrigger.cxx:2
 AliTOFTrigger.cxx:3
 AliTOFTrigger.cxx:4
 AliTOFTrigger.cxx:5
 AliTOFTrigger.cxx:6
 AliTOFTrigger.cxx:7
 AliTOFTrigger.cxx:8
 AliTOFTrigger.cxx:9
 AliTOFTrigger.cxx:10
 AliTOFTrigger.cxx:11
 AliTOFTrigger.cxx:12
 AliTOFTrigger.cxx:13
 AliTOFTrigger.cxx:14
 AliTOFTrigger.cxx:15
 AliTOFTrigger.cxx:16
 AliTOFTrigger.cxx:17
 AliTOFTrigger.cxx:18
 AliTOFTrigger.cxx:19
 AliTOFTrigger.cxx:20
 AliTOFTrigger.cxx:21
 AliTOFTrigger.cxx:22
 AliTOFTrigger.cxx:23
 AliTOFTrigger.cxx:24
 AliTOFTrigger.cxx:25
 AliTOFTrigger.cxx:26
 AliTOFTrigger.cxx:27
 AliTOFTrigger.cxx:28
 AliTOFTrigger.cxx:29
 AliTOFTrigger.cxx:30
 AliTOFTrigger.cxx:31
 AliTOFTrigger.cxx:32
 AliTOFTrigger.cxx:33
 AliTOFTrigger.cxx:34
 AliTOFTrigger.cxx:35
 AliTOFTrigger.cxx:36
 AliTOFTrigger.cxx:37
 AliTOFTrigger.cxx:38
 AliTOFTrigger.cxx:39
 AliTOFTrigger.cxx:40
 AliTOFTrigger.cxx:41
 AliTOFTrigger.cxx:42
 AliTOFTrigger.cxx:43
 AliTOFTrigger.cxx:44
 AliTOFTrigger.cxx:45
 AliTOFTrigger.cxx:46
 AliTOFTrigger.cxx:47
 AliTOFTrigger.cxx:48
 AliTOFTrigger.cxx:49
 AliTOFTrigger.cxx:50
 AliTOFTrigger.cxx:51
 AliTOFTrigger.cxx:52
 AliTOFTrigger.cxx:53
 AliTOFTrigger.cxx:54
 AliTOFTrigger.cxx:55
 AliTOFTrigger.cxx:56
 AliTOFTrigger.cxx:57
 AliTOFTrigger.cxx:58
 AliTOFTrigger.cxx:59
 AliTOFTrigger.cxx:60
 AliTOFTrigger.cxx:61
 AliTOFTrigger.cxx:62
 AliTOFTrigger.cxx:63
 AliTOFTrigger.cxx:64
 AliTOFTrigger.cxx:65
 AliTOFTrigger.cxx:66
 AliTOFTrigger.cxx:67
 AliTOFTrigger.cxx:68
 AliTOFTrigger.cxx:69
 AliTOFTrigger.cxx:70
 AliTOFTrigger.cxx:71
 AliTOFTrigger.cxx:72
 AliTOFTrigger.cxx:73
 AliTOFTrigger.cxx:74
 AliTOFTrigger.cxx:75
 AliTOFTrigger.cxx:76
 AliTOFTrigger.cxx:77
 AliTOFTrigger.cxx:78
 AliTOFTrigger.cxx:79
 AliTOFTrigger.cxx:80
 AliTOFTrigger.cxx:81
 AliTOFTrigger.cxx:82
 AliTOFTrigger.cxx:83
 AliTOFTrigger.cxx:84
 AliTOFTrigger.cxx:85
 AliTOFTrigger.cxx:86
 AliTOFTrigger.cxx:87
 AliTOFTrigger.cxx:88
 AliTOFTrigger.cxx:89
 AliTOFTrigger.cxx:90
 AliTOFTrigger.cxx:91
 AliTOFTrigger.cxx:92
 AliTOFTrigger.cxx:93
 AliTOFTrigger.cxx:94
 AliTOFTrigger.cxx:95
 AliTOFTrigger.cxx:96
 AliTOFTrigger.cxx:97
 AliTOFTrigger.cxx:98
 AliTOFTrigger.cxx:99
 AliTOFTrigger.cxx:100
 AliTOFTrigger.cxx:101
 AliTOFTrigger.cxx:102
 AliTOFTrigger.cxx:103
 AliTOFTrigger.cxx:104
 AliTOFTrigger.cxx:105
 AliTOFTrigger.cxx:106
 AliTOFTrigger.cxx:107
 AliTOFTrigger.cxx:108
 AliTOFTrigger.cxx:109
 AliTOFTrigger.cxx:110
 AliTOFTrigger.cxx:111
 AliTOFTrigger.cxx:112
 AliTOFTrigger.cxx:113
 AliTOFTrigger.cxx:114
 AliTOFTrigger.cxx:115
 AliTOFTrigger.cxx:116
 AliTOFTrigger.cxx:117
 AliTOFTrigger.cxx:118
 AliTOFTrigger.cxx:119
 AliTOFTrigger.cxx:120
 AliTOFTrigger.cxx:121
 AliTOFTrigger.cxx:122
 AliTOFTrigger.cxx:123
 AliTOFTrigger.cxx:124
 AliTOFTrigger.cxx:125
 AliTOFTrigger.cxx:126
 AliTOFTrigger.cxx:127
 AliTOFTrigger.cxx:128
 AliTOFTrigger.cxx:129
 AliTOFTrigger.cxx:130
 AliTOFTrigger.cxx:131
 AliTOFTrigger.cxx:132
 AliTOFTrigger.cxx:133
 AliTOFTrigger.cxx:134
 AliTOFTrigger.cxx:135
 AliTOFTrigger.cxx:136
 AliTOFTrigger.cxx:137
 AliTOFTrigger.cxx:138
 AliTOFTrigger.cxx:139
 AliTOFTrigger.cxx:140
 AliTOFTrigger.cxx:141
 AliTOFTrigger.cxx:142
 AliTOFTrigger.cxx:143
 AliTOFTrigger.cxx:144
 AliTOFTrigger.cxx:145
 AliTOFTrigger.cxx:146
 AliTOFTrigger.cxx:147
 AliTOFTrigger.cxx:148
 AliTOFTrigger.cxx:149
 AliTOFTrigger.cxx:150
 AliTOFTrigger.cxx:151
 AliTOFTrigger.cxx:152
 AliTOFTrigger.cxx:153
 AliTOFTrigger.cxx:154
 AliTOFTrigger.cxx:155
 AliTOFTrigger.cxx:156
 AliTOFTrigger.cxx:157
 AliTOFTrigger.cxx:158
 AliTOFTrigger.cxx:159
 AliTOFTrigger.cxx:160
 AliTOFTrigger.cxx:161
 AliTOFTrigger.cxx:162
 AliTOFTrigger.cxx:163
 AliTOFTrigger.cxx:164
 AliTOFTrigger.cxx:165
 AliTOFTrigger.cxx:166
 AliTOFTrigger.cxx:167
 AliTOFTrigger.cxx:168
 AliTOFTrigger.cxx:169
 AliTOFTrigger.cxx:170
 AliTOFTrigger.cxx:171
 AliTOFTrigger.cxx:172
 AliTOFTrigger.cxx:173
 AliTOFTrigger.cxx:174
 AliTOFTrigger.cxx:175
 AliTOFTrigger.cxx:176
 AliTOFTrigger.cxx:177
 AliTOFTrigger.cxx:178
 AliTOFTrigger.cxx:179
 AliTOFTrigger.cxx:180
 AliTOFTrigger.cxx:181
 AliTOFTrigger.cxx:182
 AliTOFTrigger.cxx:183
 AliTOFTrigger.cxx:184
 AliTOFTrigger.cxx:185
 AliTOFTrigger.cxx:186
 AliTOFTrigger.cxx:187
 AliTOFTrigger.cxx:188
 AliTOFTrigger.cxx:189
 AliTOFTrigger.cxx:190
 AliTOFTrigger.cxx:191
 AliTOFTrigger.cxx:192
 AliTOFTrigger.cxx:193
 AliTOFTrigger.cxx:194
 AliTOFTrigger.cxx:195
 AliTOFTrigger.cxx:196
 AliTOFTrigger.cxx:197
 AliTOFTrigger.cxx:198
 AliTOFTrigger.cxx:199
 AliTOFTrigger.cxx:200
 AliTOFTrigger.cxx:201
 AliTOFTrigger.cxx:202
 AliTOFTrigger.cxx:203
 AliTOFTrigger.cxx:204
 AliTOFTrigger.cxx:205
 AliTOFTrigger.cxx:206
 AliTOFTrigger.cxx:207
 AliTOFTrigger.cxx:208
 AliTOFTrigger.cxx:209
 AliTOFTrigger.cxx:210
 AliTOFTrigger.cxx:211
 AliTOFTrigger.cxx:212
 AliTOFTrigger.cxx:213
 AliTOFTrigger.cxx:214
 AliTOFTrigger.cxx:215
 AliTOFTrigger.cxx:216
 AliTOFTrigger.cxx:217
 AliTOFTrigger.cxx:218
 AliTOFTrigger.cxx:219
 AliTOFTrigger.cxx:220
 AliTOFTrigger.cxx:221
 AliTOFTrigger.cxx:222
 AliTOFTrigger.cxx:223
 AliTOFTrigger.cxx:224
 AliTOFTrigger.cxx:225
 AliTOFTrigger.cxx:226
 AliTOFTrigger.cxx:227
 AliTOFTrigger.cxx:228
 AliTOFTrigger.cxx:229
 AliTOFTrigger.cxx:230
 AliTOFTrigger.cxx:231
 AliTOFTrigger.cxx:232
 AliTOFTrigger.cxx:233
 AliTOFTrigger.cxx:234
 AliTOFTrigger.cxx:235
 AliTOFTrigger.cxx:236
 AliTOFTrigger.cxx:237
 AliTOFTrigger.cxx:238
 AliTOFTrigger.cxx:239
 AliTOFTrigger.cxx:240
 AliTOFTrigger.cxx:241
 AliTOFTrigger.cxx:242
 AliTOFTrigger.cxx:243
 AliTOFTrigger.cxx:244
 AliTOFTrigger.cxx:245
 AliTOFTrigger.cxx:246
 AliTOFTrigger.cxx:247
 AliTOFTrigger.cxx:248
 AliTOFTrigger.cxx:249
 AliTOFTrigger.cxx:250
 AliTOFTrigger.cxx:251
 AliTOFTrigger.cxx:252
 AliTOFTrigger.cxx:253
 AliTOFTrigger.cxx:254
 AliTOFTrigger.cxx:255
 AliTOFTrigger.cxx:256
 AliTOFTrigger.cxx:257
 AliTOFTrigger.cxx:258
 AliTOFTrigger.cxx:259
 AliTOFTrigger.cxx:260
 AliTOFTrigger.cxx:261
 AliTOFTrigger.cxx:262
 AliTOFTrigger.cxx:263
 AliTOFTrigger.cxx:264
 AliTOFTrigger.cxx:265
 AliTOFTrigger.cxx:266
 AliTOFTrigger.cxx:267
 AliTOFTrigger.cxx:268
 AliTOFTrigger.cxx:269
 AliTOFTrigger.cxx:270
 AliTOFTrigger.cxx:271
 AliTOFTrigger.cxx:272
 AliTOFTrigger.cxx:273
 AliTOFTrigger.cxx:274
 AliTOFTrigger.cxx:275
 AliTOFTrigger.cxx:276
 AliTOFTrigger.cxx:277
 AliTOFTrigger.cxx:278
 AliTOFTrigger.cxx:279
 AliTOFTrigger.cxx:280
 AliTOFTrigger.cxx:281
 AliTOFTrigger.cxx:282
 AliTOFTrigger.cxx:283
 AliTOFTrigger.cxx:284
 AliTOFTrigger.cxx:285
 AliTOFTrigger.cxx:286
 AliTOFTrigger.cxx:287
 AliTOFTrigger.cxx:288
 AliTOFTrigger.cxx:289
 AliTOFTrigger.cxx:290
 AliTOFTrigger.cxx:291
 AliTOFTrigger.cxx:292
 AliTOFTrigger.cxx:293
 AliTOFTrigger.cxx:294
 AliTOFTrigger.cxx:295
 AliTOFTrigger.cxx:296
 AliTOFTrigger.cxx:297
 AliTOFTrigger.cxx:298
 AliTOFTrigger.cxx:299
 AliTOFTrigger.cxx:300
 AliTOFTrigger.cxx:301
 AliTOFTrigger.cxx:302
 AliTOFTrigger.cxx:303
 AliTOFTrigger.cxx:304
 AliTOFTrigger.cxx:305
 AliTOFTrigger.cxx:306
 AliTOFTrigger.cxx:307
 AliTOFTrigger.cxx:308
 AliTOFTrigger.cxx:309
 AliTOFTrigger.cxx:310
 AliTOFTrigger.cxx:311
 AliTOFTrigger.cxx:312
 AliTOFTrigger.cxx:313
 AliTOFTrigger.cxx:314
 AliTOFTrigger.cxx:315
 AliTOFTrigger.cxx:316
 AliTOFTrigger.cxx:317
 AliTOFTrigger.cxx:318
 AliTOFTrigger.cxx:319
 AliTOFTrigger.cxx:320
 AliTOFTrigger.cxx:321
 AliTOFTrigger.cxx:322
 AliTOFTrigger.cxx:323
 AliTOFTrigger.cxx:324
 AliTOFTrigger.cxx:325
 AliTOFTrigger.cxx:326
 AliTOFTrigger.cxx:327
 AliTOFTrigger.cxx:328
 AliTOFTrigger.cxx:329
 AliTOFTrigger.cxx:330
 AliTOFTrigger.cxx:331
 AliTOFTrigger.cxx:332
 AliTOFTrigger.cxx:333
 AliTOFTrigger.cxx:334
 AliTOFTrigger.cxx:335
 AliTOFTrigger.cxx:336
 AliTOFTrigger.cxx:337
 AliTOFTrigger.cxx:338
 AliTOFTrigger.cxx:339
 AliTOFTrigger.cxx:340
 AliTOFTrigger.cxx:341
 AliTOFTrigger.cxx:342
 AliTOFTrigger.cxx:343
 AliTOFTrigger.cxx:344
 AliTOFTrigger.cxx:345
 AliTOFTrigger.cxx:346
 AliTOFTrigger.cxx:347
 AliTOFTrigger.cxx:348
 AliTOFTrigger.cxx:349
 AliTOFTrigger.cxx:350
 AliTOFTrigger.cxx:351
 AliTOFTrigger.cxx:352
 AliTOFTrigger.cxx:353
 AliTOFTrigger.cxx:354
 AliTOFTrigger.cxx:355
 AliTOFTrigger.cxx:356
 AliTOFTrigger.cxx:357
 AliTOFTrigger.cxx:358
 AliTOFTrigger.cxx:359
 AliTOFTrigger.cxx:360
 AliTOFTrigger.cxx:361
 AliTOFTrigger.cxx:362
 AliTOFTrigger.cxx:363
 AliTOFTrigger.cxx:364
 AliTOFTrigger.cxx:365
 AliTOFTrigger.cxx:366
 AliTOFTrigger.cxx:367
 AliTOFTrigger.cxx:368
 AliTOFTrigger.cxx:369
 AliTOFTrigger.cxx:370
 AliTOFTrigger.cxx:371
 AliTOFTrigger.cxx:372
 AliTOFTrigger.cxx:373
 AliTOFTrigger.cxx:374
 AliTOFTrigger.cxx:375
 AliTOFTrigger.cxx:376
 AliTOFTrigger.cxx:377
 AliTOFTrigger.cxx:378
 AliTOFTrigger.cxx:379
 AliTOFTrigger.cxx:380
 AliTOFTrigger.cxx:381
 AliTOFTrigger.cxx:382
 AliTOFTrigger.cxx:383
 AliTOFTrigger.cxx:384
 AliTOFTrigger.cxx:385
 AliTOFTrigger.cxx:386
 AliTOFTrigger.cxx:387
 AliTOFTrigger.cxx:388
 AliTOFTrigger.cxx:389
 AliTOFTrigger.cxx:390
 AliTOFTrigger.cxx:391
 AliTOFTrigger.cxx:392
 AliTOFTrigger.cxx:393
 AliTOFTrigger.cxx:394
 AliTOFTrigger.cxx:395
 AliTOFTrigger.cxx:396
 AliTOFTrigger.cxx:397
 AliTOFTrigger.cxx:398
 AliTOFTrigger.cxx:399
 AliTOFTrigger.cxx:400
 AliTOFTrigger.cxx:401
 AliTOFTrigger.cxx:402
 AliTOFTrigger.cxx:403
 AliTOFTrigger.cxx:404
 AliTOFTrigger.cxx:405
 AliTOFTrigger.cxx:406
 AliTOFTrigger.cxx:407
 AliTOFTrigger.cxx:408
 AliTOFTrigger.cxx:409
 AliTOFTrigger.cxx:410
 AliTOFTrigger.cxx:411
 AliTOFTrigger.cxx:412
 AliTOFTrigger.cxx:413
 AliTOFTrigger.cxx:414
 AliTOFTrigger.cxx:415
 AliTOFTrigger.cxx:416
 AliTOFTrigger.cxx:417
 AliTOFTrigger.cxx:418
 AliTOFTrigger.cxx:419
 AliTOFTrigger.cxx:420
 AliTOFTrigger.cxx:421
 AliTOFTrigger.cxx:422
 AliTOFTrigger.cxx:423
 AliTOFTrigger.cxx:424
 AliTOFTrigger.cxx:425
 AliTOFTrigger.cxx:426
 AliTOFTrigger.cxx:427
 AliTOFTrigger.cxx:428
 AliTOFTrigger.cxx:429
 AliTOFTrigger.cxx:430
 AliTOFTrigger.cxx:431
 AliTOFTrigger.cxx:432
 AliTOFTrigger.cxx:433
 AliTOFTrigger.cxx:434
 AliTOFTrigger.cxx:435
 AliTOFTrigger.cxx:436
 AliTOFTrigger.cxx:437
 AliTOFTrigger.cxx:438
 AliTOFTrigger.cxx:439
 AliTOFTrigger.cxx:440
 AliTOFTrigger.cxx:441
 AliTOFTrigger.cxx:442
 AliTOFTrigger.cxx:443
 AliTOFTrigger.cxx:444
 AliTOFTrigger.cxx:445
 AliTOFTrigger.cxx:446
 AliTOFTrigger.cxx:447
 AliTOFTrigger.cxx:448
 AliTOFTrigger.cxx:449
 AliTOFTrigger.cxx:450
 AliTOFTrigger.cxx:451
 AliTOFTrigger.cxx:452
 AliTOFTrigger.cxx:453
 AliTOFTrigger.cxx:454
 AliTOFTrigger.cxx:455
 AliTOFTrigger.cxx:456
 AliTOFTrigger.cxx:457
 AliTOFTrigger.cxx:458
 AliTOFTrigger.cxx:459
 AliTOFTrigger.cxx:460
 AliTOFTrigger.cxx:461
 AliTOFTrigger.cxx:462
 AliTOFTrigger.cxx:463
 AliTOFTrigger.cxx:464
 AliTOFTrigger.cxx:465
 AliTOFTrigger.cxx:466
 AliTOFTrigger.cxx:467
 AliTOFTrigger.cxx:468
 AliTOFTrigger.cxx:469
 AliTOFTrigger.cxx:470
 AliTOFTrigger.cxx:471
 AliTOFTrigger.cxx:472
 AliTOFTrigger.cxx:473
 AliTOFTrigger.cxx:474
 AliTOFTrigger.cxx:475
 AliTOFTrigger.cxx:476
 AliTOFTrigger.cxx:477
 AliTOFTrigger.cxx:478
 AliTOFTrigger.cxx:479
 AliTOFTrigger.cxx:480
 AliTOFTrigger.cxx:481
 AliTOFTrigger.cxx:482
 AliTOFTrigger.cxx:483
 AliTOFTrigger.cxx:484
 AliTOFTrigger.cxx:485
 AliTOFTrigger.cxx:486
 AliTOFTrigger.cxx:487
 AliTOFTrigger.cxx:488
 AliTOFTrigger.cxx:489
 AliTOFTrigger.cxx:490
 AliTOFTrigger.cxx:491
 AliTOFTrigger.cxx:492
 AliTOFTrigger.cxx:493
 AliTOFTrigger.cxx:494
 AliTOFTrigger.cxx:495
 AliTOFTrigger.cxx:496
 AliTOFTrigger.cxx:497
 AliTOFTrigger.cxx:498
 AliTOFTrigger.cxx:499
 AliTOFTrigger.cxx:500
 AliTOFTrigger.cxx:501
 AliTOFTrigger.cxx:502
 AliTOFTrigger.cxx:503
 AliTOFTrigger.cxx:504
 AliTOFTrigger.cxx:505
 AliTOFTrigger.cxx:506
 AliTOFTrigger.cxx:507
 AliTOFTrigger.cxx:508
 AliTOFTrigger.cxx:509
 AliTOFTrigger.cxx:510
 AliTOFTrigger.cxx:511
 AliTOFTrigger.cxx:512
 AliTOFTrigger.cxx:513
 AliTOFTrigger.cxx:514
 AliTOFTrigger.cxx:515
 AliTOFTrigger.cxx:516
 AliTOFTrigger.cxx:517
 AliTOFTrigger.cxx:518
 AliTOFTrigger.cxx:519
 AliTOFTrigger.cxx:520
 AliTOFTrigger.cxx:521
 AliTOFTrigger.cxx:522
 AliTOFTrigger.cxx:523
 AliTOFTrigger.cxx:524
 AliTOFTrigger.cxx:525
 AliTOFTrigger.cxx:526
 AliTOFTrigger.cxx:527
 AliTOFTrigger.cxx:528
 AliTOFTrigger.cxx:529
 AliTOFTrigger.cxx:530
 AliTOFTrigger.cxx:531
 AliTOFTrigger.cxx:532
 AliTOFTrigger.cxx:533
 AliTOFTrigger.cxx:534
 AliTOFTrigger.cxx:535
 AliTOFTrigger.cxx:536
 AliTOFTrigger.cxx:537
 AliTOFTrigger.cxx:538
 AliTOFTrigger.cxx:539
 AliTOFTrigger.cxx:540
 AliTOFTrigger.cxx:541
 AliTOFTrigger.cxx:542
 AliTOFTrigger.cxx:543
 AliTOFTrigger.cxx:544
 AliTOFTrigger.cxx:545
 AliTOFTrigger.cxx:546
 AliTOFTrigger.cxx:547
 AliTOFTrigger.cxx:548
 AliTOFTrigger.cxx:549
 AliTOFTrigger.cxx:550
 AliTOFTrigger.cxx:551
 AliTOFTrigger.cxx:552
 AliTOFTrigger.cxx:553
 AliTOFTrigger.cxx:554
 AliTOFTrigger.cxx:555
 AliTOFTrigger.cxx:556
 AliTOFTrigger.cxx:557
 AliTOFTrigger.cxx:558
 AliTOFTrigger.cxx:559
 AliTOFTrigger.cxx:560
 AliTOFTrigger.cxx:561
 AliTOFTrigger.cxx:562
 AliTOFTrigger.cxx:563
 AliTOFTrigger.cxx:564
 AliTOFTrigger.cxx:565
 AliTOFTrigger.cxx:566
 AliTOFTrigger.cxx:567
 AliTOFTrigger.cxx:568
 AliTOFTrigger.cxx:569
 AliTOFTrigger.cxx:570
 AliTOFTrigger.cxx:571
 AliTOFTrigger.cxx:572
 AliTOFTrigger.cxx:573
 AliTOFTrigger.cxx:574
 AliTOFTrigger.cxx:575
 AliTOFTrigger.cxx:576
 AliTOFTrigger.cxx:577
 AliTOFTrigger.cxx:578
 AliTOFTrigger.cxx:579
 AliTOFTrigger.cxx:580
 AliTOFTrigger.cxx:581
 AliTOFTrigger.cxx:582
 AliTOFTrigger.cxx:583
 AliTOFTrigger.cxx:584
 AliTOFTrigger.cxx:585
 AliTOFTrigger.cxx:586
 AliTOFTrigger.cxx:587
 AliTOFTrigger.cxx:588
 AliTOFTrigger.cxx:589
 AliTOFTrigger.cxx:590
 AliTOFTrigger.cxx:591
 AliTOFTrigger.cxx:592
 AliTOFTrigger.cxx:593
 AliTOFTrigger.cxx:594
 AliTOFTrigger.cxx:595
 AliTOFTrigger.cxx:596
 AliTOFTrigger.cxx:597
 AliTOFTrigger.cxx:598
 AliTOFTrigger.cxx:599
 AliTOFTrigger.cxx:600
 AliTOFTrigger.cxx:601
 AliTOFTrigger.cxx:602
 AliTOFTrigger.cxx:603
 AliTOFTrigger.cxx:604
 AliTOFTrigger.cxx:605
 AliTOFTrigger.cxx:606
 AliTOFTrigger.cxx:607
 AliTOFTrigger.cxx:608
 AliTOFTrigger.cxx:609
 AliTOFTrigger.cxx:610
 AliTOFTrigger.cxx:611
 AliTOFTrigger.cxx:612
 AliTOFTrigger.cxx:613
 AliTOFTrigger.cxx:614
 AliTOFTrigger.cxx:615
 AliTOFTrigger.cxx:616
 AliTOFTrigger.cxx:617
 AliTOFTrigger.cxx:618
 AliTOFTrigger.cxx:619
 AliTOFTrigger.cxx:620
 AliTOFTrigger.cxx:621
 AliTOFTrigger.cxx:622
 AliTOFTrigger.cxx:623
 AliTOFTrigger.cxx:624
 AliTOFTrigger.cxx:625
 AliTOFTrigger.cxx:626
 AliTOFTrigger.cxx:627
 AliTOFTrigger.cxx:628
 AliTOFTrigger.cxx:629
 AliTOFTrigger.cxx:630
 AliTOFTrigger.cxx:631
 AliTOFTrigger.cxx:632
 AliTOFTrigger.cxx:633
 AliTOFTrigger.cxx:634
 AliTOFTrigger.cxx:635
 AliTOFTrigger.cxx:636
 AliTOFTrigger.cxx:637
 AliTOFTrigger.cxx:638
 AliTOFTrigger.cxx:639
 AliTOFTrigger.cxx:640
 AliTOFTrigger.cxx:641
 AliTOFTrigger.cxx:642
 AliTOFTrigger.cxx:643
 AliTOFTrigger.cxx:644
 AliTOFTrigger.cxx:645
 AliTOFTrigger.cxx:646
 AliTOFTrigger.cxx:647
 AliTOFTrigger.cxx:648
 AliTOFTrigger.cxx:649
 AliTOFTrigger.cxx:650
 AliTOFTrigger.cxx:651
 AliTOFTrigger.cxx:652
 AliTOFTrigger.cxx:653
 AliTOFTrigger.cxx:654
 AliTOFTrigger.cxx:655
 AliTOFTrigger.cxx:656
 AliTOFTrigger.cxx:657
 AliTOFTrigger.cxx:658
 AliTOFTrigger.cxx:659
 AliTOFTrigger.cxx:660
 AliTOFTrigger.cxx:661
 AliTOFTrigger.cxx:662
 AliTOFTrigger.cxx:663
 AliTOFTrigger.cxx:664
 AliTOFTrigger.cxx:665
 AliTOFTrigger.cxx:666
 AliTOFTrigger.cxx:667
 AliTOFTrigger.cxx:668
 AliTOFTrigger.cxx:669
 AliTOFTrigger.cxx:670
 AliTOFTrigger.cxx:671
 AliTOFTrigger.cxx:672
 AliTOFTrigger.cxx:673
 AliTOFTrigger.cxx:674
 AliTOFTrigger.cxx:675
 AliTOFTrigger.cxx:676
 AliTOFTrigger.cxx:677
 AliTOFTrigger.cxx:678
 AliTOFTrigger.cxx:679
 AliTOFTrigger.cxx:680
 AliTOFTrigger.cxx:681
 AliTOFTrigger.cxx:682
 AliTOFTrigger.cxx:683
 AliTOFTrigger.cxx:684
 AliTOFTrigger.cxx:685
 AliTOFTrigger.cxx:686
 AliTOFTrigger.cxx:687
 AliTOFTrigger.cxx:688
 AliTOFTrigger.cxx:689
 AliTOFTrigger.cxx:690
 AliTOFTrigger.cxx:691
 AliTOFTrigger.cxx:692
 AliTOFTrigger.cxx:693
 AliTOFTrigger.cxx:694
 AliTOFTrigger.cxx:695
 AliTOFTrigger.cxx:696
 AliTOFTrigger.cxx:697
 AliTOFTrigger.cxx:698
 AliTOFTrigger.cxx:699
 AliTOFTrigger.cxx:700
 AliTOFTrigger.cxx:701
 AliTOFTrigger.cxx:702
 AliTOFTrigger.cxx:703
 AliTOFTrigger.cxx:704
 AliTOFTrigger.cxx:705
 AliTOFTrigger.cxx:706
 AliTOFTrigger.cxx:707
 AliTOFTrigger.cxx:708
 AliTOFTrigger.cxx:709
 AliTOFTrigger.cxx:710
 AliTOFTrigger.cxx:711
 AliTOFTrigger.cxx:712
 AliTOFTrigger.cxx:713
 AliTOFTrigger.cxx:714
 AliTOFTrigger.cxx:715
 AliTOFTrigger.cxx:716
 AliTOFTrigger.cxx:717
 AliTOFTrigger.cxx:718
 AliTOFTrigger.cxx:719
 AliTOFTrigger.cxx:720
 AliTOFTrigger.cxx:721
 AliTOFTrigger.cxx:722
 AliTOFTrigger.cxx:723
 AliTOFTrigger.cxx:724
 AliTOFTrigger.cxx:725
 AliTOFTrigger.cxx:726
 AliTOFTrigger.cxx:727
 AliTOFTrigger.cxx:728
 AliTOFTrigger.cxx:729
 AliTOFTrigger.cxx:730
 AliTOFTrigger.cxx:731
 AliTOFTrigger.cxx:732
 AliTOFTrigger.cxx:733
 AliTOFTrigger.cxx:734
 AliTOFTrigger.cxx:735
 AliTOFTrigger.cxx:736
 AliTOFTrigger.cxx:737
 AliTOFTrigger.cxx:738
 AliTOFTrigger.cxx:739
 AliTOFTrigger.cxx:740
 AliTOFTrigger.cxx:741
 AliTOFTrigger.cxx:742
 AliTOFTrigger.cxx:743
 AliTOFTrigger.cxx:744
 AliTOFTrigger.cxx:745
 AliTOFTrigger.cxx:746
 AliTOFTrigger.cxx:747
 AliTOFTrigger.cxx:748
 AliTOFTrigger.cxx:749
 AliTOFTrigger.cxx:750
 AliTOFTrigger.cxx:751
 AliTOFTrigger.cxx:752
 AliTOFTrigger.cxx:753
 AliTOFTrigger.cxx:754
 AliTOFTrigger.cxx:755
 AliTOFTrigger.cxx:756
 AliTOFTrigger.cxx:757
 AliTOFTrigger.cxx:758
 AliTOFTrigger.cxx:759
 AliTOFTrigger.cxx:760
 AliTOFTrigger.cxx:761
 AliTOFTrigger.cxx:762
 AliTOFTrigger.cxx:763
 AliTOFTrigger.cxx:764
 AliTOFTrigger.cxx:765
 AliTOFTrigger.cxx:766
 AliTOFTrigger.cxx:767
 AliTOFTrigger.cxx:768
 AliTOFTrigger.cxx:769
 AliTOFTrigger.cxx:770
 AliTOFTrigger.cxx:771
 AliTOFTrigger.cxx:772
 AliTOFTrigger.cxx:773
 AliTOFTrigger.cxx:774
 AliTOFTrigger.cxx:775
 AliTOFTrigger.cxx:776
 AliTOFTrigger.cxx:777
 AliTOFTrigger.cxx:778
 AliTOFTrigger.cxx:779
 AliTOFTrigger.cxx:780
 AliTOFTrigger.cxx:781
 AliTOFTrigger.cxx:782
 AliTOFTrigger.cxx:783
 AliTOFTrigger.cxx:784
 AliTOFTrigger.cxx:785
 AliTOFTrigger.cxx:786
 AliTOFTrigger.cxx:787
 AliTOFTrigger.cxx:788
 AliTOFTrigger.cxx:789
 AliTOFTrigger.cxx:790
 AliTOFTrigger.cxx:791
 AliTOFTrigger.cxx:792
 AliTOFTrigger.cxx:793
 AliTOFTrigger.cxx:794
 AliTOFTrigger.cxx:795
 AliTOFTrigger.cxx:796
 AliTOFTrigger.cxx:797
 AliTOFTrigger.cxx:798
 AliTOFTrigger.cxx:799
 AliTOFTrigger.cxx:800
 AliTOFTrigger.cxx:801
 AliTOFTrigger.cxx:802
 AliTOFTrigger.cxx:803
 AliTOFTrigger.cxx:804
 AliTOFTrigger.cxx:805
 AliTOFTrigger.cxx:806
 AliTOFTrigger.cxx:807
 AliTOFTrigger.cxx:808
 AliTOFTrigger.cxx:809
 AliTOFTrigger.cxx:810
 AliTOFTrigger.cxx:811
 AliTOFTrigger.cxx:812
 AliTOFTrigger.cxx:813
 AliTOFTrigger.cxx:814
 AliTOFTrigger.cxx:815
 AliTOFTrigger.cxx:816
 AliTOFTrigger.cxx:817
 AliTOFTrigger.cxx:818
 AliTOFTrigger.cxx:819
 AliTOFTrigger.cxx:820
 AliTOFTrigger.cxx:821
 AliTOFTrigger.cxx:822
 AliTOFTrigger.cxx:823
 AliTOFTrigger.cxx:824
 AliTOFTrigger.cxx:825
 AliTOFTrigger.cxx:826
 AliTOFTrigger.cxx:827
 AliTOFTrigger.cxx:828
 AliTOFTrigger.cxx:829
 AliTOFTrigger.cxx:830
 AliTOFTrigger.cxx:831
 AliTOFTrigger.cxx:832
 AliTOFTrigger.cxx:833
 AliTOFTrigger.cxx:834
 AliTOFTrigger.cxx:835
 AliTOFTrigger.cxx:836
 AliTOFTrigger.cxx:837
 AliTOFTrigger.cxx:838
 AliTOFTrigger.cxx:839
 AliTOFTrigger.cxx:840
 AliTOFTrigger.cxx:841
 AliTOFTrigger.cxx:842
 AliTOFTrigger.cxx:843
 AliTOFTrigger.cxx:844
 AliTOFTrigger.cxx:845
 AliTOFTrigger.cxx:846
 AliTOFTrigger.cxx:847
 AliTOFTrigger.cxx:848
 AliTOFTrigger.cxx:849
 AliTOFTrigger.cxx:850
 AliTOFTrigger.cxx:851
 AliTOFTrigger.cxx:852
 AliTOFTrigger.cxx:853
 AliTOFTrigger.cxx:854
 AliTOFTrigger.cxx:855
 AliTOFTrigger.cxx:856
 AliTOFTrigger.cxx:857
 AliTOFTrigger.cxx:858
 AliTOFTrigger.cxx:859
 AliTOFTrigger.cxx:860
 AliTOFTrigger.cxx:861
 AliTOFTrigger.cxx:862
 AliTOFTrigger.cxx:863
 AliTOFTrigger.cxx:864
 AliTOFTrigger.cxx:865
 AliTOFTrigger.cxx:866
 AliTOFTrigger.cxx:867
 AliTOFTrigger.cxx:868
 AliTOFTrigger.cxx:869
 AliTOFTrigger.cxx:870
 AliTOFTrigger.cxx:871
 AliTOFTrigger.cxx:872
 AliTOFTrigger.cxx:873
 AliTOFTrigger.cxx:874
 AliTOFTrigger.cxx:875
 AliTOFTrigger.cxx:876
 AliTOFTrigger.cxx:877
 AliTOFTrigger.cxx:878
 AliTOFTrigger.cxx:879
 AliTOFTrigger.cxx:880
 AliTOFTrigger.cxx:881
 AliTOFTrigger.cxx:882
 AliTOFTrigger.cxx:883
 AliTOFTrigger.cxx:884
 AliTOFTrigger.cxx:885
 AliTOFTrigger.cxx:886
 AliTOFTrigger.cxx:887
 AliTOFTrigger.cxx:888
 AliTOFTrigger.cxx:889
 AliTOFTrigger.cxx:890
 AliTOFTrigger.cxx:891
 AliTOFTrigger.cxx:892
 AliTOFTrigger.cxx:893
 AliTOFTrigger.cxx:894
 AliTOFTrigger.cxx:895
 AliTOFTrigger.cxx:896
 AliTOFTrigger.cxx:897
 AliTOFTrigger.cxx:898
 AliTOFTrigger.cxx:899
 AliTOFTrigger.cxx:900
 AliTOFTrigger.cxx:901
 AliTOFTrigger.cxx:902
 AliTOFTrigger.cxx:903
 AliTOFTrigger.cxx:904
 AliTOFTrigger.cxx:905
 AliTOFTrigger.cxx:906
 AliTOFTrigger.cxx:907
 AliTOFTrigger.cxx:908
 AliTOFTrigger.cxx:909
 AliTOFTrigger.cxx:910
 AliTOFTrigger.cxx:911
 AliTOFTrigger.cxx:912
 AliTOFTrigger.cxx:913
 AliTOFTrigger.cxx:914
 AliTOFTrigger.cxx:915
 AliTOFTrigger.cxx:916
 AliTOFTrigger.cxx:917
 AliTOFTrigger.cxx:918
 AliTOFTrigger.cxx:919
 AliTOFTrigger.cxx:920
 AliTOFTrigger.cxx:921
 AliTOFTrigger.cxx:922
 AliTOFTrigger.cxx:923
 AliTOFTrigger.cxx:924
 AliTOFTrigger.cxx:925
 AliTOFTrigger.cxx:926
 AliTOFTrigger.cxx:927
 AliTOFTrigger.cxx:928
 AliTOFTrigger.cxx:929
 AliTOFTrigger.cxx:930
 AliTOFTrigger.cxx:931
 AliTOFTrigger.cxx:932
 AliTOFTrigger.cxx:933
 AliTOFTrigger.cxx:934
 AliTOFTrigger.cxx:935
 AliTOFTrigger.cxx:936
 AliTOFTrigger.cxx:937
 AliTOFTrigger.cxx:938
 AliTOFTrigger.cxx:939
 AliTOFTrigger.cxx:940
 AliTOFTrigger.cxx:941
 AliTOFTrigger.cxx:942
 AliTOFTrigger.cxx:943
 AliTOFTrigger.cxx:944
 AliTOFTrigger.cxx:945
 AliTOFTrigger.cxx:946
 AliTOFTrigger.cxx:947
 AliTOFTrigger.cxx:948
 AliTOFTrigger.cxx:949
 AliTOFTrigger.cxx:950
 AliTOFTrigger.cxx:951
 AliTOFTrigger.cxx:952
 AliTOFTrigger.cxx:953
 AliTOFTrigger.cxx:954
 AliTOFTrigger.cxx:955
 AliTOFTrigger.cxx:956
 AliTOFTrigger.cxx:957
 AliTOFTrigger.cxx:958
 AliTOFTrigger.cxx:959
 AliTOFTrigger.cxx:960
 AliTOFTrigger.cxx:961
 AliTOFTrigger.cxx:962
 AliTOFTrigger.cxx:963
 AliTOFTrigger.cxx:964
 AliTOFTrigger.cxx:965
 AliTOFTrigger.cxx:966
 AliTOFTrigger.cxx:967
 AliTOFTrigger.cxx:968
 AliTOFTrigger.cxx:969
 AliTOFTrigger.cxx:970
 AliTOFTrigger.cxx:971
 AliTOFTrigger.cxx:972
 AliTOFTrigger.cxx:973
 AliTOFTrigger.cxx:974
 AliTOFTrigger.cxx:975
 AliTOFTrigger.cxx:976
 AliTOFTrigger.cxx:977
 AliTOFTrigger.cxx:978
 AliTOFTrigger.cxx:979
 AliTOFTrigger.cxx:980
 AliTOFTrigger.cxx:981
 AliTOFTrigger.cxx:982
 AliTOFTrigger.cxx:983
 AliTOFTrigger.cxx:984
 AliTOFTrigger.cxx:985
 AliTOFTrigger.cxx:986
 AliTOFTrigger.cxx:987
 AliTOFTrigger.cxx:988
 AliTOFTrigger.cxx:989
 AliTOFTrigger.cxx:990
 AliTOFTrigger.cxx:991
 AliTOFTrigger.cxx:992
 AliTOFTrigger.cxx:993
 AliTOFTrigger.cxx:994
 AliTOFTrigger.cxx:995
 AliTOFTrigger.cxx:996
 AliTOFTrigger.cxx:997
 AliTOFTrigger.cxx:998
 AliTOFTrigger.cxx:999
 AliTOFTrigger.cxx:1000
 AliTOFTrigger.cxx:1001
 AliTOFTrigger.cxx:1002
 AliTOFTrigger.cxx:1003
 AliTOFTrigger.cxx:1004
 AliTOFTrigger.cxx:1005
 AliTOFTrigger.cxx:1006
 AliTOFTrigger.cxx:1007
 AliTOFTrigger.cxx:1008
 AliTOFTrigger.cxx:1009
 AliTOFTrigger.cxx:1010
 AliTOFTrigger.cxx:1011
 AliTOFTrigger.cxx:1012
 AliTOFTrigger.cxx:1013
 AliTOFTrigger.cxx:1014
 AliTOFTrigger.cxx:1015
 AliTOFTrigger.cxx:1016
 AliTOFTrigger.cxx:1017
 AliTOFTrigger.cxx:1018
 AliTOFTrigger.cxx:1019
 AliTOFTrigger.cxx:1020
 AliTOFTrigger.cxx:1021
 AliTOFTrigger.cxx:1022
 AliTOFTrigger.cxx:1023
 AliTOFTrigger.cxx:1024
 AliTOFTrigger.cxx:1025
 AliTOFTrigger.cxx:1026
 AliTOFTrigger.cxx:1027
 AliTOFTrigger.cxx:1028
 AliTOFTrigger.cxx:1029
 AliTOFTrigger.cxx:1030
 AliTOFTrigger.cxx:1031
 AliTOFTrigger.cxx:1032
 AliTOFTrigger.cxx:1033
 AliTOFTrigger.cxx:1034
 AliTOFTrigger.cxx:1035
 AliTOFTrigger.cxx:1036
 AliTOFTrigger.cxx:1037
 AliTOFTrigger.cxx:1038
 AliTOFTrigger.cxx:1039
 AliTOFTrigger.cxx:1040
 AliTOFTrigger.cxx:1041
 AliTOFTrigger.cxx:1042
 AliTOFTrigger.cxx:1043
 AliTOFTrigger.cxx:1044
 AliTOFTrigger.cxx:1045
 AliTOFTrigger.cxx:1046
 AliTOFTrigger.cxx:1047
 AliTOFTrigger.cxx:1048
 AliTOFTrigger.cxx:1049
 AliTOFTrigger.cxx:1050
 AliTOFTrigger.cxx:1051
 AliTOFTrigger.cxx:1052
 AliTOFTrigger.cxx:1053
 AliTOFTrigger.cxx:1054
 AliTOFTrigger.cxx:1055
 AliTOFTrigger.cxx:1056
 AliTOFTrigger.cxx:1057
 AliTOFTrigger.cxx:1058
 AliTOFTrigger.cxx:1059
 AliTOFTrigger.cxx:1060
 AliTOFTrigger.cxx:1061
 AliTOFTrigger.cxx:1062
 AliTOFTrigger.cxx:1063
 AliTOFTrigger.cxx:1064
 AliTOFTrigger.cxx:1065
 AliTOFTrigger.cxx:1066
 AliTOFTrigger.cxx:1067
 AliTOFTrigger.cxx:1068
 AliTOFTrigger.cxx:1069
 AliTOFTrigger.cxx:1070
 AliTOFTrigger.cxx:1071
 AliTOFTrigger.cxx:1072
 AliTOFTrigger.cxx:1073
 AliTOFTrigger.cxx:1074
 AliTOFTrigger.cxx:1075
 AliTOFTrigger.cxx:1076
 AliTOFTrigger.cxx:1077
 AliTOFTrigger.cxx:1078
 AliTOFTrigger.cxx:1079
 AliTOFTrigger.cxx:1080
 AliTOFTrigger.cxx:1081
 AliTOFTrigger.cxx:1082
 AliTOFTrigger.cxx:1083
 AliTOFTrigger.cxx:1084
 AliTOFTrigger.cxx:1085
 AliTOFTrigger.cxx:1086
 AliTOFTrigger.cxx:1087
 AliTOFTrigger.cxx:1088
 AliTOFTrigger.cxx:1089
 AliTOFTrigger.cxx:1090
 AliTOFTrigger.cxx:1091
 AliTOFTrigger.cxx:1092
 AliTOFTrigger.cxx:1093
 AliTOFTrigger.cxx:1094
 AliTOFTrigger.cxx:1095
 AliTOFTrigger.cxx:1096
 AliTOFTrigger.cxx:1097
 AliTOFTrigger.cxx:1098
 AliTOFTrigger.cxx:1099
 AliTOFTrigger.cxx:1100
 AliTOFTrigger.cxx:1101
 AliTOFTrigger.cxx:1102
 AliTOFTrigger.cxx:1103
 AliTOFTrigger.cxx:1104
 AliTOFTrigger.cxx:1105
 AliTOFTrigger.cxx:1106
 AliTOFTrigger.cxx:1107
 AliTOFTrigger.cxx:1108
 AliTOFTrigger.cxx:1109
 AliTOFTrigger.cxx:1110
 AliTOFTrigger.cxx:1111
 AliTOFTrigger.cxx:1112
 AliTOFTrigger.cxx:1113
 AliTOFTrigger.cxx:1114
 AliTOFTrigger.cxx:1115
 AliTOFTrigger.cxx:1116
 AliTOFTrigger.cxx:1117
 AliTOFTrigger.cxx:1118
 AliTOFTrigger.cxx:1119
 AliTOFTrigger.cxx:1120
 AliTOFTrigger.cxx:1121
 AliTOFTrigger.cxx:1122
 AliTOFTrigger.cxx:1123
 AliTOFTrigger.cxx:1124
 AliTOFTrigger.cxx:1125
 AliTOFTrigger.cxx:1126
 AliTOFTrigger.cxx:1127
 AliTOFTrigger.cxx:1128
 AliTOFTrigger.cxx:1129
 AliTOFTrigger.cxx:1130
 AliTOFTrigger.cxx:1131
 AliTOFTrigger.cxx:1132
 AliTOFTrigger.cxx:1133
 AliTOFTrigger.cxx:1134
 AliTOFTrigger.cxx:1135
 AliTOFTrigger.cxx:1136
 AliTOFTrigger.cxx:1137
 AliTOFTrigger.cxx:1138
 AliTOFTrigger.cxx:1139
 AliTOFTrigger.cxx:1140
 AliTOFTrigger.cxx:1141
 AliTOFTrigger.cxx:1142
 AliTOFTrigger.cxx:1143
 AliTOFTrigger.cxx:1144
 AliTOFTrigger.cxx:1145
 AliTOFTrigger.cxx:1146
 AliTOFTrigger.cxx:1147
 AliTOFTrigger.cxx:1148
 AliTOFTrigger.cxx:1149
 AliTOFTrigger.cxx:1150
 AliTOFTrigger.cxx:1151
 AliTOFTrigger.cxx:1152
 AliTOFTrigger.cxx:1153
 AliTOFTrigger.cxx:1154
 AliTOFTrigger.cxx:1155
 AliTOFTrigger.cxx:1156
 AliTOFTrigger.cxx:1157
 AliTOFTrigger.cxx:1158
 AliTOFTrigger.cxx:1159
 AliTOFTrigger.cxx:1160
 AliTOFTrigger.cxx:1161
 AliTOFTrigger.cxx:1162
 AliTOFTrigger.cxx:1163
 AliTOFTrigger.cxx:1164
 AliTOFTrigger.cxx:1165
 AliTOFTrigger.cxx:1166
 AliTOFTrigger.cxx:1167
 AliTOFTrigger.cxx:1168
 AliTOFTrigger.cxx:1169
 AliTOFTrigger.cxx:1170
 AliTOFTrigger.cxx:1171
 AliTOFTrigger.cxx:1172
 AliTOFTrigger.cxx:1173
 AliTOFTrigger.cxx:1174
 AliTOFTrigger.cxx:1175
 AliTOFTrigger.cxx:1176
 AliTOFTrigger.cxx:1177
 AliTOFTrigger.cxx:1178
 AliTOFTrigger.cxx:1179
 AliTOFTrigger.cxx:1180
 AliTOFTrigger.cxx:1181
 AliTOFTrigger.cxx:1182
 AliTOFTrigger.cxx:1183
 AliTOFTrigger.cxx:1184
 AliTOFTrigger.cxx:1185
 AliTOFTrigger.cxx:1186
 AliTOFTrigger.cxx:1187
 AliTOFTrigger.cxx:1188
 AliTOFTrigger.cxx:1189
 AliTOFTrigger.cxx:1190
 AliTOFTrigger.cxx:1191
 AliTOFTrigger.cxx:1192
 AliTOFTrigger.cxx:1193
 AliTOFTrigger.cxx:1194
 AliTOFTrigger.cxx:1195
 AliTOFTrigger.cxx:1196
 AliTOFTrigger.cxx:1197
 AliTOFTrigger.cxx:1198
 AliTOFTrigger.cxx:1199
 AliTOFTrigger.cxx:1200
 AliTOFTrigger.cxx:1201
 AliTOFTrigger.cxx:1202
 AliTOFTrigger.cxx:1203
 AliTOFTrigger.cxx:1204