#include <TObjString.h>
#include <TMap.h>
#include "AliLog.h"
#include "AliDCSValue.h"
#include "AliVZEROTriggerData.h"
ClassImp(AliVZEROTriggerData)
AliVZEROTriggerData::AliVZEROTriggerData() :
TNamed(),
fBBAThreshold(0),
fBBCThreshold(0) ,
fBGAThreshold(0) ,
fBGCThreshold(0) ,
fBBAForBGThreshold(0) ,
fBBCForBGThreshold(0) ,
fCentralityVOAThrLow(0) ,
fCentralityVOAThrHigh(0) ,
fCentralityVOCThrLow(0) ,
fCentralityVOCThrHigh(0) ,
fMultV0AThrLow(0) ,
fMultV0AThrHigh(0) ,
fMultV0CThrLow(0) ,
fMultV0CThrHigh(0),
fRun(0),
fStartTime(0),
fEndTime(0),
fIsProcessed(kFALSE)
{
for(int i=0; i<kNCIUBoards ;i++) {
fClk1Win1[i] = fClk1Win2[i] = 0;
fDelayClk1Win1[i] = fDelayClk1Win2[i] = 0;
fClk2Win1[i] = fClk2Win2[i] = 0;
fDelayClk2Win1[i] = fDelayClk2Win2[i] = 0;
fLatchWin1[i] = fLatchWin2[i] = 0;
fResetWin1[i] = fResetWin2[i] = 0;
fPedestalSubtraction[i] = kFALSE;
for(Int_t j = 0; j < kNChannels; ++j) {
fEnableCharge[i][j] = fEnableTiming[i][j] = kFALSE;
fDiscriThr[i][j] = fDelayHit[i][j] = 0;
fPedestalOdd[i][j] = fPedestalEven[i][j] = 0;
fPedestalCutOdd[i][j] = fPedestalCutEven[i][j] = 0;
}
}
for(Int_t i = 0; i < kNTriggerOutputs; ++i) fTriggerSelected[i] = 0;
}
AliVZEROTriggerData::AliVZEROTriggerData(Int_t nRun, UInt_t startTime, UInt_t endTime) :
TNamed(),
fBBAThreshold(0),
fBBCThreshold(0) ,
fBGAThreshold(0) ,
fBGCThreshold(0) ,
fBBAForBGThreshold(0) ,
fBBCForBGThreshold(0) ,
fCentralityVOAThrLow(0) ,
fCentralityVOAThrHigh(0) ,
fCentralityVOCThrLow(0) ,
fCentralityVOCThrHigh(0) ,
fMultV0AThrLow(0) ,
fMultV0AThrHigh(0) ,
fMultV0CThrLow(0) ,
fMultV0CThrHigh(0),
fRun(nRun),
fStartTime(startTime),
fEndTime(endTime),
fIsProcessed(kFALSE)
{
for(int i=0; i<kNCIUBoards ;i++) {
fClk1Win1[i] = fClk1Win2[i] = 0;
fDelayClk1Win1[i] = fDelayClk1Win2[i] = 0;
fClk2Win1[i] = fClk2Win2[i] = 0;
fDelayClk2Win1[i] = fDelayClk2Win2[i] = 0;
fLatchWin1[i] = fLatchWin2[i] = 0;
fResetWin1[i] = fResetWin2[i] = 0;
fPedestalSubtraction[i] = kFALSE;
for(Int_t j = 0; j < kNChannels; ++j) {
fEnableCharge[i][j] = fEnableTiming[i][j] = kFALSE;
fDiscriThr[i][j] = fDelayHit[i][j] = 0;
fPedestalOdd[i][j] = fPedestalEven[i][j] = 0;
fPedestalCutOdd[i][j] = fPedestalCutEven[i][j] = 0;
}
}
for(Int_t i = 0; i < kNTriggerOutputs; ++i) fTriggerSelected[i] = 0;
TString namst = "VZERO_Trigger_FEE";
SetName(namst.Data());
SetTitle(namst.Data());
}
AliVZEROTriggerData::~AliVZEROTriggerData(){
}
void AliVZEROTriggerData::FillData(AliVZERODataFEE * data){
TMap * params = data->GetParameters();
TIter iter(params);
TObjString* aliasName;
while (( aliasName = (TObjString*) iter.Next() )) {
AliDCSValue* aValue = (AliDCSValue*) params->GetValue(aliasName);
Int_t val;
if(aValue) {
val = aValue->GetUInt();
AliInfo(Form("%s : %d",aliasName->String().Data(), val));
SetParameter(aliasName->String(),val);
}
}
}
void AliVZEROTriggerData::SetParameter(TString name, Int_t val){
Int_t iBoard = -1;
Int_t iChannel = -1;
TSeqCollection* nameSplit = name.Tokenize("/");
TObjString * boardName = (TObjString *)nameSplit->At(2);
if(!boardName->String().Contains("CCIU")) sscanf(boardName->String().Data(),"CIU%d",&iBoard);
TString paramName = ((TObjString *)nameSplit->At(3))->String();
Char_t channel[2] ; channel[1] = '\0';
channel[0] = paramName[paramName.Sizeof()-2];
sscanf(channel,"%d",&iChannel);
if(name.Contains("DelayClk1Win1")) SetDelayClk1Win1((UShort_t) val,iBoard);
else if(name.Contains("Clk1Win1")) SetClk1Win1((UShort_t) val,iBoard);
else if(name.Contains("DelayClk1Win2")) SetDelayClk1Win2((UShort_t) val,iBoard);
else if(name.Contains("Clk1Win2")) SetClk1Win2((UShort_t) val,iBoard);
else if(name.Contains("DelayClk2Win1")) SetDelayClk2Win1((UShort_t) val,iBoard);
else if(name.Contains("Clk2Win1")) SetClk2Win1((UShort_t) val,iBoard);
else if(name.Contains("DelayClk2Win2")) SetDelayClk2Win2((UShort_t) val,iBoard);
else if(name.Contains("Clk2Win2")) SetClk2Win2((UShort_t) val,iBoard);
else if(name.Contains("LatchWin1")) SetLatchWin1((UShort_t) val,iBoard);
else if(name.Contains("LatchWin2")) SetLatchWin2((UShort_t) val,iBoard);
else if(name.Contains("ResetWin1")) SetResetWin1((UShort_t) val,iBoard);
else if(name.Contains("ResetWin2")) SetResetWin2((UShort_t) val,iBoard);
else if(name.Contains("PedestalSubtraction")) SetPedestalSubtraction((Bool_t) val,iBoard);
else if(name.Contains("BBAThreshold")) SetBBAThreshold((UShort_t) val);
else if(name.Contains("BBCThreshold")) SetBBCThreshold((UShort_t) val);
else if(name.Contains("BGAThreshold")) SetBGAThreshold((UShort_t) val);
else if(name.Contains("BGCThreshold")) SetBGCThreshold((UShort_t) val);
else if(name.Contains("BBAForBGThreshold")) SetBBAForBGThreshold((UShort_t) val);
else if(name.Contains("BBCForBGThreshold")) SetBBCForBGThreshold((UShort_t) val);
else if(name.Contains("CentralityV0AThrLow")) SetCentralityV0AThrLow((UShort_t) val);
else if(name.Contains("CentralityV0AThrHigh")) SetCentralityV0AThrHigh((UShort_t) val);
else if(name.Contains("CentralityV0CThrLow")) SetCentralityV0CThrLow((UShort_t) val);
else if(name.Contains("CentralityV0CThrHigh")) SetCentralityV0CThrHigh((UShort_t) val);
else if(name.Contains("MultV0AThrLow")) SetMultV0AThrLow((UShort_t) val);
else if(name.Contains("MultV0AThrHigh")) SetMultV0AThrHigh((UShort_t) val);
else if(name.Contains("MultV0CThrLow")) SetMultV0CThrLow((UShort_t) val);
else if(name.Contains("MultV0CThrHigh")) SetMultV0CThrHigh((UShort_t) val);
else if(name.Contains("TriggerSelect")) SetTriggerSelected((UShort_t) val, iChannel-1 );
else if(name.Contains("EnableCharge")) SetEnableCharge((Bool_t) val, iBoard , iChannel-1);
else if(name.Contains("EnableTiming")) SetEnableTiming((Bool_t) val, iBoard , iChannel-1);
else if(name.Contains("DiscriThr")) SetDiscriThr((UShort_t) val, iBoard, iChannel-1);
else if(name.Contains("DelayHit")) SetDelayHit((UShort_t) val, iBoard, iChannel-1);
else if(name.Contains("PedOdd")) SetPedestal((UShort_t) val, 1, iBoard, iChannel-1);
else if(name.Contains("PedEven")) SetPedestal((UShort_t) val, 0, iBoard, iChannel-1);
else if(name.Contains("PedCutOdd")) SetPedestalCut((UShort_t) val, 1, iBoard, iChannel-1);
else if(name.Contains("PedCutEven")) SetPedestalCut((UShort_t) val, 0, iBoard, iChannel-1);
else AliError(Form("No Setter found for FEE parameter : %s",name.Data()));
delete nameSplit;
}
void AliVZEROTriggerData::SetPedestalCut(UShort_t val,Int_t integrator, Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {
if(integrator) fPedestalCutOdd[board][channel] = val;
else fPedestalCutEven[board][channel] = val;
} else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));
}
UShort_t AliVZEROTriggerData::GetPedestalCut(Int_t integrator, Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {
if(integrator) return(fPedestalCutOdd[board][channel]);
else return(fPedestalCutEven[board][channel]);
}else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return 0;
}
void AliVZEROTriggerData::SetPedestal(UShort_t val, Int_t integrator, Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {
if(integrator) fPedestalOdd[board][channel] = val;
else fPedestalEven[board][channel] = val;
} else AliError(Form("Impossible to write at : Board %d ; Channel %d ; Integrator %d ",board,channel,integrator));
}
UShort_t AliVZEROTriggerData::GetPedestal(Int_t integrator, Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {
if(integrator) return(fPedestalOdd[board][channel]);
else return(fPedestalEven[board][channel]);
} else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return 0;
}
void AliVZEROTriggerData::SetDelayHit(UShort_t val,Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fDelayHit[board][channel] = val;
else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));
}
UShort_t AliVZEROTriggerData::GetDelayHit(Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fDelayHit[board][channel]);
else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return 0;
}
void AliVZEROTriggerData::SetDiscriThr(UShort_t val,Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fDiscriThr[board][channel] = val;
else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));
}
UShort_t AliVZEROTriggerData::GetDiscriThr(Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fDiscriThr[board][channel]);
else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return 0;
}
void AliVZEROTriggerData::SetEnableCharge(Bool_t val,Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fEnableCharge[board][channel] = val;
else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));
}
Bool_t AliVZEROTriggerData::GetEnableCharge(Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fEnableCharge[board][channel]);
else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return kFALSE;
}
void AliVZEROTriggerData::SetEnableTiming(Bool_t val,Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fEnableTiming[board][channel] = val;
else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));
}
Bool_t AliVZEROTriggerData::GetEnableTiming(Int_t board, Int_t channel)
{
if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fEnableTiming[board][channel]);
else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));
return kFALSE;
}
void AliVZEROTriggerData::SetTriggerSelected(UShort_t trigger, Int_t output)
{
if(output>=0 && output<kNTriggerOutputs) fTriggerSelected[output] = trigger;
else AliError(Form("Trigger output number %d not valid",output));
}
void AliVZEROTriggerData::SetClk1Win1(UShort_t* clks)
{
if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk1Win1(clks[t],t);
else AliError("Profil Clock1 Win1 Not defined.");
}
void AliVZEROTriggerData::SetClk2Win1(UShort_t* clks)
{
if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk2Win1(clks[t],t);
else AliError("Profil Clock2 Win1 Not defined.");
}
void AliVZEROTriggerData::SetClk1Win1(UShort_t clk, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fClk1Win1[board] = clk;
if(!IsClkValid(clk)) AliWarning(Form("Profil Clock1 Win1 of board %d is not valid : %d",board,clk));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetClk2Win1(UShort_t clk, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fClk2Win1[board] = clk;
if(!IsClkValid(clk)) AliWarning(Form("Profil Clock2 Win1 of board %d is not valid : %d",board,clk));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetClk1Win2(UShort_t* clks)
{
if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk1Win2(clks[t],t);
else AliError("Profil Clock1 Win2 Not defined.");
}
void AliVZEROTriggerData::SetClk2Win2(UShort_t* clks)
{
if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk2Win2(clks[t],t);
else AliError("Profil Clock2 Win2 Not defined.");
}
void AliVZEROTriggerData::SetClk1Win2(UShort_t clk, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fClk1Win2[board] = clk;
if(!IsClkValid(clk)) AliWarning(Form("Profil Clock1 Win2 of board %d is not valid : %d",board,clk));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetClk2Win2(UShort_t clk, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fClk2Win2[board] = clk;
if(!IsClkValid(clk)) AliWarning(Form("Profil Clock2 Win2 of board %d is not valid : %d",board,clk));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetDelayClk1Win1(UShort_t* delays)
{
if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk1Win1(delays[t],t);
else AliError("Profil Clock1 Win1 Delays Not defined.");
}
void AliVZEROTriggerData::SetDelayClk1Win1(UShort_t delay, Int_t board)
{
if(delay>1023){
AliWarning(Form("Profil Clock1 Win1 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));
delay = delay & 0x3FF;
}
if((board>=0) && (board<kNCIUBoards)) fDelayClk1Win1[board] = delay;
else AliError(Form("Trying to write out of the array Board = %d",board));
}
void AliVZEROTriggerData::SetDelayClk2Win1(UShort_t* delays)
{
if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk2Win1(delays[t],t);
else AliError("Profil Clock2 Win1 Delays Not defined.");
}
void AliVZEROTriggerData::SetDelayClk2Win1(UShort_t delay, Int_t board)
{
if(delay>1023){
AliWarning(Form("Profil Clock2 Win1 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));
delay = delay & 0x3FF;
}
if((board>=0) && (board<kNCIUBoards)) fDelayClk2Win1[board] = delay;
else AliError(Form("Trying to write out of the array Board = %d",board));
}
void AliVZEROTriggerData::SetDelayClk1Win2(UShort_t* delays)
{
if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk1Win2(delays[t],t);
else AliError("Profil Clock1 Win2 Delays Not defined.");
}
void AliVZEROTriggerData::SetDelayClk1Win2(UShort_t delay, Int_t board)
{
if(delay>1023){
AliWarning(Form("Profil Clock1 Win2 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));
delay = delay & 0x3FF;
}
if((board>=0) && (board<kNCIUBoards)) fDelayClk1Win2[board] = delay;
else AliError(Form("Trying to write out of the array Board = %d",board));
}
void AliVZEROTriggerData::SetDelayClk2Win2(UShort_t* delays)
{
if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk2Win2(delays[t],t);
else AliError("Profil Clock2 Win2 Delays Not defined.");
}
void AliVZEROTriggerData::SetDelayClk2Win2(UShort_t delay, Int_t board)
{
if(delay>1023){
AliWarning(Form("Profil Clock2 Win2 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));
delay = delay & 0x3FF;
}
if((board>=0) && (board<kNCIUBoards)) fDelayClk2Win2[board] = delay;
else AliError(Form("Trying to write out of the array Board = %d",board));
}
void AliVZEROTriggerData::SetLatchWin1(UShort_t *latchs){
if(latchs) for(int t=0; t<kNCIUBoards; t++) SetLatchWin1(latchs[t],t);
else AliError("Latch Win1 profil Not defined.");
}
void AliVZEROTriggerData::SetLatchWin1(UShort_t latch, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fLatchWin1[board] = latch;
if(!IsClkValid(latch)) AliWarning(Form("Latch Win1 of board %d is not valid : %d",board,latch));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetLatchWin2(UShort_t *latchs){
if(latchs) for(int t=0; t<kNCIUBoards; t++) SetLatchWin2(latchs[t],t);
else AliError("Latch Win2 profil Not defined.");
}
void AliVZEROTriggerData::SetLatchWin2(UShort_t latch, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fLatchWin2[board] = latch;
if(!IsClkValid(latch)) AliWarning(Form("Latch Win2 of board %d is not valid : %d",board,latch));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetResetWin1(UShort_t *resets){
if(resets) for(int t=0; t<kNCIUBoards; t++) SetResetWin1(resets[t],t);
else AliError("Reset Win1 profil Not defined.");
}
void AliVZEROTriggerData::SetResetWin1(UShort_t reset, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fResetWin1[board] = reset;
if(!IsClkValid(reset)) AliWarning(Form("Reset Win1 of board %d is not valid : %d",board,reset));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetResetWin2(UShort_t *resets){
if(resets) for(int t=0; t<kNCIUBoards; t++) SetResetWin2(resets[t],t);
else AliError("Reset Win2 profil Not defined.");
}
void AliVZEROTriggerData::SetResetWin2(UShort_t reset, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) {
fResetWin2[board] = reset;
if(!IsClkValid(reset)) AliWarning(Form("Reset Win2 of board %d is not valid : %d",board,reset));
}else {
AliError(Form("Impossible to Write at Board %d",board));
}
}
void AliVZEROTriggerData::SetPedestalSubtraction(Bool_t *peds){
if(peds) for(int t=0; t<kNCIUBoards; t++) SetPedestalSubtraction(peds[t],t);
else AliError("Pedestal Subtraction Not defined.");
}
void AliVZEROTriggerData::SetPedestalSubtraction(Bool_t ped, Int_t board)
{
if((board>=0) && (board<kNCIUBoards)) fPedestalSubtraction[board] = ped;
else AliError(Form("Board %d is not valid",board));
}
Bool_t AliVZEROTriggerData::IsClkValid(UShort_t clock) const {
Bool_t word[5];
Bool_t isValid = kTRUE;
Short_t risingEdge = 0;
Short_t fallingEdge = 0;
for(int i=0 ; i<5 ; i++) word[i] = (clock >> i) & 0x1;
if(word[0] != word[4]){
if(word[4]) fallingEdge++;
else risingEdge++;
}
for(int i=1 ; i<5 ; i++){
if(word[i] != word[i-1]) {
if(word[i-1]) fallingEdge++;
else risingEdge++;
}
}
if((fallingEdge>1)||(risingEdge>1)) isValid = kFALSE;
if(((risingEdge==0)&&(fallingEdge==0)) &&(!word[0])) isValid = kFALSE;
return isValid;
}
AliVZEROTriggerData.cxx:1 AliVZEROTriggerData.cxx:2 AliVZEROTriggerData.cxx:3 AliVZEROTriggerData.cxx:4 AliVZEROTriggerData.cxx:5 AliVZEROTriggerData.cxx:6 AliVZEROTriggerData.cxx:7 AliVZEROTriggerData.cxx:8 AliVZEROTriggerData.cxx:9 AliVZEROTriggerData.cxx:10 AliVZEROTriggerData.cxx:11 AliVZEROTriggerData.cxx:12 AliVZEROTriggerData.cxx:13 AliVZEROTriggerData.cxx:14 AliVZEROTriggerData.cxx:15 AliVZEROTriggerData.cxx:16 AliVZEROTriggerData.cxx:17 AliVZEROTriggerData.cxx:18 AliVZEROTriggerData.cxx:19 AliVZEROTriggerData.cxx:20 AliVZEROTriggerData.cxx:21 AliVZEROTriggerData.cxx:22 AliVZEROTriggerData.cxx:23 AliVZEROTriggerData.cxx:24 AliVZEROTriggerData.cxx:25 AliVZEROTriggerData.cxx:26 AliVZEROTriggerData.cxx:27 AliVZEROTriggerData.cxx:28 AliVZEROTriggerData.cxx:29 AliVZEROTriggerData.cxx:30 AliVZEROTriggerData.cxx:31 AliVZEROTriggerData.cxx:32 AliVZEROTriggerData.cxx:33 AliVZEROTriggerData.cxx:34 AliVZEROTriggerData.cxx:35 AliVZEROTriggerData.cxx:36 AliVZEROTriggerData.cxx:37 AliVZEROTriggerData.cxx:38 AliVZEROTriggerData.cxx:39 AliVZEROTriggerData.cxx:40 AliVZEROTriggerData.cxx:41 AliVZEROTriggerData.cxx:42 AliVZEROTriggerData.cxx:43 AliVZEROTriggerData.cxx:44 AliVZEROTriggerData.cxx:45 AliVZEROTriggerData.cxx:46 AliVZEROTriggerData.cxx:47 AliVZEROTriggerData.cxx:48 AliVZEROTriggerData.cxx:49 AliVZEROTriggerData.cxx:50 AliVZEROTriggerData.cxx:51 AliVZEROTriggerData.cxx:52 AliVZEROTriggerData.cxx:53 AliVZEROTriggerData.cxx:54 AliVZEROTriggerData.cxx:55 AliVZEROTriggerData.cxx:56 AliVZEROTriggerData.cxx:57 AliVZEROTriggerData.cxx:58 AliVZEROTriggerData.cxx:59 AliVZEROTriggerData.cxx:60 AliVZEROTriggerData.cxx:61 AliVZEROTriggerData.cxx:62 AliVZEROTriggerData.cxx:63 AliVZEROTriggerData.cxx:64 AliVZEROTriggerData.cxx:65 AliVZEROTriggerData.cxx:66 AliVZEROTriggerData.cxx:67 AliVZEROTriggerData.cxx:68 AliVZEROTriggerData.cxx:69 AliVZEROTriggerData.cxx:70 AliVZEROTriggerData.cxx:71 AliVZEROTriggerData.cxx:72 AliVZEROTriggerData.cxx:73 AliVZEROTriggerData.cxx:74 AliVZEROTriggerData.cxx:75 AliVZEROTriggerData.cxx:76 AliVZEROTriggerData.cxx:77 AliVZEROTriggerData.cxx:78 AliVZEROTriggerData.cxx:79 AliVZEROTriggerData.cxx:80 AliVZEROTriggerData.cxx:81 AliVZEROTriggerData.cxx:82 AliVZEROTriggerData.cxx:83 AliVZEROTriggerData.cxx:84 AliVZEROTriggerData.cxx:85 AliVZEROTriggerData.cxx:86 AliVZEROTriggerData.cxx:87 AliVZEROTriggerData.cxx:88 AliVZEROTriggerData.cxx:89 AliVZEROTriggerData.cxx:90 AliVZEROTriggerData.cxx:91 AliVZEROTriggerData.cxx:92 AliVZEROTriggerData.cxx:93 AliVZEROTriggerData.cxx:94 AliVZEROTriggerData.cxx:95 AliVZEROTriggerData.cxx:96 AliVZEROTriggerData.cxx:97 AliVZEROTriggerData.cxx:98 AliVZEROTriggerData.cxx:99 AliVZEROTriggerData.cxx:100 AliVZEROTriggerData.cxx:101 AliVZEROTriggerData.cxx:102 AliVZEROTriggerData.cxx:103 AliVZEROTriggerData.cxx:104 AliVZEROTriggerData.cxx:105 AliVZEROTriggerData.cxx:106 AliVZEROTriggerData.cxx:107 AliVZEROTriggerData.cxx:108 AliVZEROTriggerData.cxx:109 AliVZEROTriggerData.cxx:110 AliVZEROTriggerData.cxx:111 AliVZEROTriggerData.cxx:112 AliVZEROTriggerData.cxx:113 AliVZEROTriggerData.cxx:114 AliVZEROTriggerData.cxx:115 AliVZEROTriggerData.cxx:116 AliVZEROTriggerData.cxx:117 AliVZEROTriggerData.cxx:118 AliVZEROTriggerData.cxx:119 AliVZEROTriggerData.cxx:120 AliVZEROTriggerData.cxx:121 AliVZEROTriggerData.cxx:122 AliVZEROTriggerData.cxx:123 AliVZEROTriggerData.cxx:124 AliVZEROTriggerData.cxx:125 AliVZEROTriggerData.cxx:126 AliVZEROTriggerData.cxx:127 AliVZEROTriggerData.cxx:128 AliVZEROTriggerData.cxx:129 AliVZEROTriggerData.cxx:130 AliVZEROTriggerData.cxx:131 AliVZEROTriggerData.cxx:132 AliVZEROTriggerData.cxx:133 AliVZEROTriggerData.cxx:134 AliVZEROTriggerData.cxx:135 AliVZEROTriggerData.cxx:136 AliVZEROTriggerData.cxx:137 AliVZEROTriggerData.cxx:138 AliVZEROTriggerData.cxx:139 AliVZEROTriggerData.cxx:140 AliVZEROTriggerData.cxx:141 AliVZEROTriggerData.cxx:142 AliVZEROTriggerData.cxx:143 AliVZEROTriggerData.cxx:144 AliVZEROTriggerData.cxx:145 AliVZEROTriggerData.cxx:146 AliVZEROTriggerData.cxx:147 AliVZEROTriggerData.cxx:148 AliVZEROTriggerData.cxx:149 AliVZEROTriggerData.cxx:150 AliVZEROTriggerData.cxx:151 AliVZEROTriggerData.cxx:152 AliVZEROTriggerData.cxx:153 AliVZEROTriggerData.cxx:154 AliVZEROTriggerData.cxx:155 AliVZEROTriggerData.cxx:156 AliVZEROTriggerData.cxx:157 AliVZEROTriggerData.cxx:158 AliVZEROTriggerData.cxx:159 AliVZEROTriggerData.cxx:160 AliVZEROTriggerData.cxx:161 AliVZEROTriggerData.cxx:162 AliVZEROTriggerData.cxx:163 AliVZEROTriggerData.cxx:164 AliVZEROTriggerData.cxx:165 AliVZEROTriggerData.cxx:166 AliVZEROTriggerData.cxx:167 AliVZEROTriggerData.cxx:168 AliVZEROTriggerData.cxx:169 AliVZEROTriggerData.cxx:170 AliVZEROTriggerData.cxx:171 AliVZEROTriggerData.cxx:172 AliVZEROTriggerData.cxx:173 AliVZEROTriggerData.cxx:174 AliVZEROTriggerData.cxx:175 AliVZEROTriggerData.cxx:176 AliVZEROTriggerData.cxx:177 AliVZEROTriggerData.cxx:178 AliVZEROTriggerData.cxx:179 AliVZEROTriggerData.cxx:180 AliVZEROTriggerData.cxx:181 AliVZEROTriggerData.cxx:182 AliVZEROTriggerData.cxx:183 AliVZEROTriggerData.cxx:184 AliVZEROTriggerData.cxx:185 AliVZEROTriggerData.cxx:186 AliVZEROTriggerData.cxx:187 AliVZEROTriggerData.cxx:188 AliVZEROTriggerData.cxx:189 AliVZEROTriggerData.cxx:190 AliVZEROTriggerData.cxx:191 AliVZEROTriggerData.cxx:192 AliVZEROTriggerData.cxx:193 AliVZEROTriggerData.cxx:194 AliVZEROTriggerData.cxx:195 AliVZEROTriggerData.cxx:196 AliVZEROTriggerData.cxx:197 AliVZEROTriggerData.cxx:198 AliVZEROTriggerData.cxx:199 AliVZEROTriggerData.cxx:200 AliVZEROTriggerData.cxx:201 AliVZEROTriggerData.cxx:202 AliVZEROTriggerData.cxx:203 AliVZEROTriggerData.cxx:204 AliVZEROTriggerData.cxx:205 AliVZEROTriggerData.cxx:206 AliVZEROTriggerData.cxx:207 AliVZEROTriggerData.cxx:208 AliVZEROTriggerData.cxx:209 AliVZEROTriggerData.cxx:210 AliVZEROTriggerData.cxx:211 AliVZEROTriggerData.cxx:212 AliVZEROTriggerData.cxx:213 AliVZEROTriggerData.cxx:214 AliVZEROTriggerData.cxx:215 AliVZEROTriggerData.cxx:216 AliVZEROTriggerData.cxx:217 AliVZEROTriggerData.cxx:218 AliVZEROTriggerData.cxx:219 AliVZEROTriggerData.cxx:220 AliVZEROTriggerData.cxx:221 AliVZEROTriggerData.cxx:222 AliVZEROTriggerData.cxx:223 AliVZEROTriggerData.cxx:224 AliVZEROTriggerData.cxx:225 AliVZEROTriggerData.cxx:226 AliVZEROTriggerData.cxx:227 AliVZEROTriggerData.cxx:228 AliVZEROTriggerData.cxx:229 AliVZEROTriggerData.cxx:230 AliVZEROTriggerData.cxx:231 AliVZEROTriggerData.cxx:232 AliVZEROTriggerData.cxx:233 AliVZEROTriggerData.cxx:234 AliVZEROTriggerData.cxx:235 AliVZEROTriggerData.cxx:236 AliVZEROTriggerData.cxx:237 AliVZEROTriggerData.cxx:238 AliVZEROTriggerData.cxx:239 AliVZEROTriggerData.cxx:240 AliVZEROTriggerData.cxx:241 AliVZEROTriggerData.cxx:242 AliVZEROTriggerData.cxx:243 AliVZEROTriggerData.cxx:244 AliVZEROTriggerData.cxx:245 AliVZEROTriggerData.cxx:246 AliVZEROTriggerData.cxx:247 AliVZEROTriggerData.cxx:248 AliVZEROTriggerData.cxx:249 AliVZEROTriggerData.cxx:250 AliVZEROTriggerData.cxx:251 AliVZEROTriggerData.cxx:252 AliVZEROTriggerData.cxx:253 AliVZEROTriggerData.cxx:254 AliVZEROTriggerData.cxx:255 AliVZEROTriggerData.cxx:256 AliVZEROTriggerData.cxx:257 AliVZEROTriggerData.cxx:258 AliVZEROTriggerData.cxx:259 AliVZEROTriggerData.cxx:260 AliVZEROTriggerData.cxx:261 AliVZEROTriggerData.cxx:262 AliVZEROTriggerData.cxx:263 AliVZEROTriggerData.cxx:264 AliVZEROTriggerData.cxx:265 AliVZEROTriggerData.cxx:266 AliVZEROTriggerData.cxx:267 AliVZEROTriggerData.cxx:268 AliVZEROTriggerData.cxx:269 AliVZEROTriggerData.cxx:270 AliVZEROTriggerData.cxx:271 AliVZEROTriggerData.cxx:272 AliVZEROTriggerData.cxx:273 AliVZEROTriggerData.cxx:274 AliVZEROTriggerData.cxx:275 AliVZEROTriggerData.cxx:276 AliVZEROTriggerData.cxx:277 AliVZEROTriggerData.cxx:278 AliVZEROTriggerData.cxx:279 AliVZEROTriggerData.cxx:280 AliVZEROTriggerData.cxx:281 AliVZEROTriggerData.cxx:282 AliVZEROTriggerData.cxx:283 AliVZEROTriggerData.cxx:284 AliVZEROTriggerData.cxx:285 AliVZEROTriggerData.cxx:286 AliVZEROTriggerData.cxx:287 AliVZEROTriggerData.cxx:288 AliVZEROTriggerData.cxx:289 AliVZEROTriggerData.cxx:290 AliVZEROTriggerData.cxx:291 AliVZEROTriggerData.cxx:292 AliVZEROTriggerData.cxx:293 AliVZEROTriggerData.cxx:294 AliVZEROTriggerData.cxx:295 AliVZEROTriggerData.cxx:296 AliVZEROTriggerData.cxx:297 AliVZEROTriggerData.cxx:298 AliVZEROTriggerData.cxx:299 AliVZEROTriggerData.cxx:300 AliVZEROTriggerData.cxx:301 AliVZEROTriggerData.cxx:302 AliVZEROTriggerData.cxx:303 AliVZEROTriggerData.cxx:304 AliVZEROTriggerData.cxx:305 AliVZEROTriggerData.cxx:306 AliVZEROTriggerData.cxx:307 AliVZEROTriggerData.cxx:308 AliVZEROTriggerData.cxx:309 AliVZEROTriggerData.cxx:310 AliVZEROTriggerData.cxx:311 AliVZEROTriggerData.cxx:312 AliVZEROTriggerData.cxx:313 AliVZEROTriggerData.cxx:314 AliVZEROTriggerData.cxx:315 AliVZEROTriggerData.cxx:316 AliVZEROTriggerData.cxx:317 AliVZEROTriggerData.cxx:318 AliVZEROTriggerData.cxx:319 AliVZEROTriggerData.cxx:320 AliVZEROTriggerData.cxx:321 AliVZEROTriggerData.cxx:322 AliVZEROTriggerData.cxx:323 AliVZEROTriggerData.cxx:324 AliVZEROTriggerData.cxx:325 AliVZEROTriggerData.cxx:326 AliVZEROTriggerData.cxx:327 AliVZEROTriggerData.cxx:328 AliVZEROTriggerData.cxx:329 AliVZEROTriggerData.cxx:330 AliVZEROTriggerData.cxx:331 AliVZEROTriggerData.cxx:332 AliVZEROTriggerData.cxx:333 AliVZEROTriggerData.cxx:334 AliVZEROTriggerData.cxx:335 AliVZEROTriggerData.cxx:336 AliVZEROTriggerData.cxx:337 AliVZEROTriggerData.cxx:338 AliVZEROTriggerData.cxx:339 AliVZEROTriggerData.cxx:340 AliVZEROTriggerData.cxx:341 AliVZEROTriggerData.cxx:342 AliVZEROTriggerData.cxx:343 AliVZEROTriggerData.cxx:344 AliVZEROTriggerData.cxx:345 AliVZEROTriggerData.cxx:346 AliVZEROTriggerData.cxx:347 AliVZEROTriggerData.cxx:348 AliVZEROTriggerData.cxx:349 AliVZEROTriggerData.cxx:350 AliVZEROTriggerData.cxx:351 AliVZEROTriggerData.cxx:352 AliVZEROTriggerData.cxx:353 AliVZEROTriggerData.cxx:354 AliVZEROTriggerData.cxx:355 AliVZEROTriggerData.cxx:356 AliVZEROTriggerData.cxx:357 AliVZEROTriggerData.cxx:358 AliVZEROTriggerData.cxx:359 AliVZEROTriggerData.cxx:360 AliVZEROTriggerData.cxx:361 AliVZEROTriggerData.cxx:362 AliVZEROTriggerData.cxx:363 AliVZEROTriggerData.cxx:364 AliVZEROTriggerData.cxx:365 AliVZEROTriggerData.cxx:366 AliVZEROTriggerData.cxx:367 AliVZEROTriggerData.cxx:368 AliVZEROTriggerData.cxx:369 AliVZEROTriggerData.cxx:370 AliVZEROTriggerData.cxx:371 AliVZEROTriggerData.cxx:372 AliVZEROTriggerData.cxx:373 AliVZEROTriggerData.cxx:374 AliVZEROTriggerData.cxx:375 AliVZEROTriggerData.cxx:376 AliVZEROTriggerData.cxx:377 AliVZEROTriggerData.cxx:378 AliVZEROTriggerData.cxx:379 AliVZEROTriggerData.cxx:380 AliVZEROTriggerData.cxx:381 AliVZEROTriggerData.cxx:382 AliVZEROTriggerData.cxx:383 AliVZEROTriggerData.cxx:384 AliVZEROTriggerData.cxx:385 AliVZEROTriggerData.cxx:386 AliVZEROTriggerData.cxx:387 AliVZEROTriggerData.cxx:388 AliVZEROTriggerData.cxx:389 AliVZEROTriggerData.cxx:390 AliVZEROTriggerData.cxx:391 AliVZEROTriggerData.cxx:392 AliVZEROTriggerData.cxx:393 AliVZEROTriggerData.cxx:394 AliVZEROTriggerData.cxx:395 AliVZEROTriggerData.cxx:396 AliVZEROTriggerData.cxx:397 AliVZEROTriggerData.cxx:398 AliVZEROTriggerData.cxx:399 AliVZEROTriggerData.cxx:400 AliVZEROTriggerData.cxx:401 AliVZEROTriggerData.cxx:402 AliVZEROTriggerData.cxx:403 AliVZEROTriggerData.cxx:404 AliVZEROTriggerData.cxx:405 AliVZEROTriggerData.cxx:406 AliVZEROTriggerData.cxx:407 AliVZEROTriggerData.cxx:408 AliVZEROTriggerData.cxx:409 AliVZEROTriggerData.cxx:410 AliVZEROTriggerData.cxx:411 AliVZEROTriggerData.cxx:412 AliVZEROTriggerData.cxx:413 AliVZEROTriggerData.cxx:414 AliVZEROTriggerData.cxx:415 AliVZEROTriggerData.cxx:416 AliVZEROTriggerData.cxx:417 AliVZEROTriggerData.cxx:418 AliVZEROTriggerData.cxx:419 AliVZEROTriggerData.cxx:420 AliVZEROTriggerData.cxx:421 AliVZEROTriggerData.cxx:422 AliVZEROTriggerData.cxx:423 AliVZEROTriggerData.cxx:424 AliVZEROTriggerData.cxx:425 AliVZEROTriggerData.cxx:426 AliVZEROTriggerData.cxx:427 AliVZEROTriggerData.cxx:428 AliVZEROTriggerData.cxx:429 AliVZEROTriggerData.cxx:430 AliVZEROTriggerData.cxx:431 AliVZEROTriggerData.cxx:432 AliVZEROTriggerData.cxx:433 AliVZEROTriggerData.cxx:434 AliVZEROTriggerData.cxx:435 AliVZEROTriggerData.cxx:436 AliVZEROTriggerData.cxx:437 AliVZEROTriggerData.cxx:438 AliVZEROTriggerData.cxx:439 AliVZEROTriggerData.cxx:440 AliVZEROTriggerData.cxx:441 AliVZEROTriggerData.cxx:442 AliVZEROTriggerData.cxx:443 AliVZEROTriggerData.cxx:444 AliVZEROTriggerData.cxx:445 AliVZEROTriggerData.cxx:446 AliVZEROTriggerData.cxx:447 AliVZEROTriggerData.cxx:448 AliVZEROTriggerData.cxx:449 AliVZEROTriggerData.cxx:450 AliVZEROTriggerData.cxx:451 AliVZEROTriggerData.cxx:452 AliVZEROTriggerData.cxx:453 AliVZEROTriggerData.cxx:454 AliVZEROTriggerData.cxx:455 AliVZEROTriggerData.cxx:456 AliVZEROTriggerData.cxx:457 AliVZEROTriggerData.cxx:458 AliVZEROTriggerData.cxx:459 AliVZEROTriggerData.cxx:460 AliVZEROTriggerData.cxx:461 AliVZEROTriggerData.cxx:462 AliVZEROTriggerData.cxx:463 AliVZEROTriggerData.cxx:464 AliVZEROTriggerData.cxx:465 AliVZEROTriggerData.cxx:466 AliVZEROTriggerData.cxx:467 AliVZEROTriggerData.cxx:468 AliVZEROTriggerData.cxx:469 AliVZEROTriggerData.cxx:470 AliVZEROTriggerData.cxx:471 AliVZEROTriggerData.cxx:472 AliVZEROTriggerData.cxx:473 AliVZEROTriggerData.cxx:474 AliVZEROTriggerData.cxx:475 AliVZEROTriggerData.cxx:476 AliVZEROTriggerData.cxx:477 AliVZEROTriggerData.cxx:478 AliVZEROTriggerData.cxx:479 AliVZEROTriggerData.cxx:480 AliVZEROTriggerData.cxx:481 AliVZEROTriggerData.cxx:482 AliVZEROTriggerData.cxx:483 AliVZEROTriggerData.cxx:484 AliVZEROTriggerData.cxx:485 AliVZEROTriggerData.cxx:486 AliVZEROTriggerData.cxx:487 AliVZEROTriggerData.cxx:488 AliVZEROTriggerData.cxx:489 AliVZEROTriggerData.cxx:490 AliVZEROTriggerData.cxx:491 AliVZEROTriggerData.cxx:492 AliVZEROTriggerData.cxx:493 AliVZEROTriggerData.cxx:494 AliVZEROTriggerData.cxx:495 AliVZEROTriggerData.cxx:496 AliVZEROTriggerData.cxx:497 AliVZEROTriggerData.cxx:498 AliVZEROTriggerData.cxx:499 AliVZEROTriggerData.cxx:500 AliVZEROTriggerData.cxx:501 AliVZEROTriggerData.cxx:502 AliVZEROTriggerData.cxx:503 AliVZEROTriggerData.cxx:504 AliVZEROTriggerData.cxx:505 AliVZEROTriggerData.cxx:506 AliVZEROTriggerData.cxx:507 AliVZEROTriggerData.cxx:508 AliVZEROTriggerData.cxx:509 AliVZEROTriggerData.cxx:510 AliVZEROTriggerData.cxx:511 AliVZEROTriggerData.cxx:512 AliVZEROTriggerData.cxx:513 AliVZEROTriggerData.cxx:514 AliVZEROTriggerData.cxx:515 AliVZEROTriggerData.cxx:516 AliVZEROTriggerData.cxx:517 AliVZEROTriggerData.cxx:518 AliVZEROTriggerData.cxx:519 AliVZEROTriggerData.cxx:520 AliVZEROTriggerData.cxx:521 AliVZEROTriggerData.cxx:522 AliVZEROTriggerData.cxx:523 AliVZEROTriggerData.cxx:524 AliVZEROTriggerData.cxx:525 AliVZEROTriggerData.cxx:526 AliVZEROTriggerData.cxx:527 AliVZEROTriggerData.cxx:528 AliVZEROTriggerData.cxx:529 AliVZEROTriggerData.cxx:530 AliVZEROTriggerData.cxx:531 AliVZEROTriggerData.cxx:532 AliVZEROTriggerData.cxx:533 AliVZEROTriggerData.cxx:534 AliVZEROTriggerData.cxx:535 AliVZEROTriggerData.cxx:536 AliVZEROTriggerData.cxx:537 AliVZEROTriggerData.cxx:538 AliVZEROTriggerData.cxx:539 AliVZEROTriggerData.cxx:540 AliVZEROTriggerData.cxx:541 AliVZEROTriggerData.cxx:542 AliVZEROTriggerData.cxx:543 AliVZEROTriggerData.cxx:544 AliVZEROTriggerData.cxx:545 AliVZEROTriggerData.cxx:546 AliVZEROTriggerData.cxx:547 AliVZEROTriggerData.cxx:548 AliVZEROTriggerData.cxx:549 AliVZEROTriggerData.cxx:550 AliVZEROTriggerData.cxx:551 AliVZEROTriggerData.cxx:552 AliVZEROTriggerData.cxx:553 AliVZEROTriggerData.cxx:554 AliVZEROTriggerData.cxx:555 AliVZEROTriggerData.cxx:556