]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZEROTriggerData.cxx
Use 1kHz sampling as default.
[u/mrichter/AliRoot.git] / VZERO / AliVZEROTriggerData.cxx
index a3b9ad02413deeb95b6826486d6f3c7379ef0612..73965011f3e7b4757cd7fcec9595c2408229f991 100644 (file)
@@ -62,9 +62,14 @@ AliVZEROTriggerData::AliVZEROTriggerData() :
                fLatchWin1[i] = fLatchWin2[i] = 0;\r
                fResetWin1[i] = fResetWin2[i] = 0;\r
                fPedestalSubtraction[i] = kFALSE;\r
-               fTimeResolution[i] = 25./256.; // Default time resolution\r
-               fWidthResolution[i] = 0.4;     // Default time width resolution\r
+               for(Int_t j = 0; j < kNChannels; ++j) {\r
+                 fEnableCharge[i][j] = fEnableTiming[i][j] = kFALSE;\r
+                 fDiscriThr[i][j] = fDelayHit[i][j] = 0;\r
+                 fPedestalOdd[i][j] = fPedestalEven[i][j] = 0;\r
+                 fPedestalCutOdd[i][j] = fPedestalCutEven[i][j] = 0;\r
+               }\r
        }\r
+       for(Int_t i = 0; i < kNTriggerOutputs; ++i) fTriggerSelected[i] = 0;\r
 }\r
 //________________________________________________________________\r
 AliVZEROTriggerData::AliVZEROTriggerData(Int_t nRun, UInt_t startTime, UInt_t endTime) :\r
@@ -97,10 +102,16 @@ AliVZEROTriggerData::AliVZEROTriggerData(Int_t nRun, UInt_t startTime, UInt_t en
                fLatchWin1[i] = fLatchWin2[i] = 0;\r
                fResetWin1[i] = fResetWin2[i] = 0;\r
                fPedestalSubtraction[i] = kFALSE;\r
-               fTimeResolution[i] = 25./256.; // Default time resolution\r
-               fWidthResolution[i] = 0.4;     // Default time width resolution\r
+               for(Int_t j = 0; j < kNChannels; ++j) {\r
+                 fEnableCharge[i][j] = fEnableTiming[i][j] = kFALSE;\r
+                 fDiscriThr[i][j] = fDelayHit[i][j] = 0;\r
+                 fPedestalOdd[i][j] = fPedestalEven[i][j] = 0;\r
+                 fPedestalCutOdd[i][j] = fPedestalCutEven[i][j] = 0;\r
+               }\r
        }\r
-       TString namst = "Trigger_FEE";\r
+       for(Int_t i = 0; i < kNTriggerOutputs; ++i) fTriggerSelected[i] = 0;\r
+\r
+       TString namst = "VZERO_Trigger_FEE";\r
        SetName(namst.Data());\r
        SetTitle(namst.Data());\r
        \r
@@ -119,17 +130,17 @@ void AliVZEROTriggerData::FillData(AliVZERODataFEE * data){
        \r
        while ((  aliasName = (TObjString*) iter.Next() ))  {\r
                AliDCSValue* aValue = (AliDCSValue*) params->GetValue(aliasName);\r
-               Float_t val;\r
+               Int_t val;\r
                if(aValue) {\r
-                       val = aValue->GetFloat();\r
-                       //AliInfo(Form("%s : %f",aliasName->String().Data(), val));\r
+                       val = aValue->GetUInt();\r
+                       AliInfo(Form("%s : %d",aliasName->String().Data(), val));\r
                        SetParameter(aliasName->String(),val);\r
                }\r
        }       \r
 }\r
 \r
 //_____________________________________________________________________________\r
-void AliVZEROTriggerData::SetParameter(TString name, Float_t val){\r
+void AliVZEROTriggerData::SetParameter(TString name, Int_t val){\r
        // Set given parameter\r
        \r
        Int_t iBoard = -1;\r
@@ -144,21 +155,19 @@ void AliVZEROTriggerData::SetParameter(TString name, Float_t val){
        channel[0] = paramName[paramName.Sizeof()-2];\r
        sscanf(channel,"%d",&iChannel);\r
        \r
-       if(name.Contains("DelayClk1Win1")) SetDelayClk1Win1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("Clk1Win1")) SetClk1Win1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("DelayClk1Win2")) SetDelayClk1Win2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("Clk1Win2")) SetClk1Win2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("DelayClk2Win1")) SetDelayClk2Win1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("Clk2Win1")) SetClk2Win1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("DelayClk2Win2")) SetDelayClk2Win2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("Clk2Win2")) SetClk2Win2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("LatchWin1")) SetLatchWin1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("LatchWin2")) SetLatchWin2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("ResetWin1")) SetResetWin1((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("ResetWin2")) SetResetWin2((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("PedestalSubtraction")) SetPedestalSubtraction((Bool_t) val,iBoard-1);\r
-       else if(name.Contains("TimeResolution")) SetTimeResolution((UShort_t) val,iBoard-1);\r
-       else if(name.Contains("WidthResolution")) SetWidthResolution((UShort_t) val,iBoard-1);\r
+       if(name.Contains("DelayClk1Win1")) SetDelayClk1Win1((UShort_t) val,iBoard);\r
+       else if(name.Contains("Clk1Win1")) SetClk1Win1((UShort_t) val,iBoard);\r
+       else if(name.Contains("DelayClk1Win2")) SetDelayClk1Win2((UShort_t) val,iBoard);\r
+       else if(name.Contains("Clk1Win2")) SetClk1Win2((UShort_t) val,iBoard);\r
+       else if(name.Contains("DelayClk2Win1")) SetDelayClk2Win1((UShort_t) val,iBoard);\r
+       else if(name.Contains("Clk2Win1")) SetClk2Win1((UShort_t) val,iBoard);\r
+       else if(name.Contains("DelayClk2Win2")) SetDelayClk2Win2((UShort_t) val,iBoard);\r
+       else if(name.Contains("Clk2Win2")) SetClk2Win2((UShort_t) val,iBoard);\r
+       else if(name.Contains("LatchWin1")) SetLatchWin1((UShort_t) val,iBoard);\r
+       else if(name.Contains("LatchWin2")) SetLatchWin2((UShort_t) val,iBoard);\r
+       else if(name.Contains("ResetWin1")) SetResetWin1((UShort_t) val,iBoard);\r
+       else if(name.Contains("ResetWin2")) SetResetWin2((UShort_t) val,iBoard);\r
+       else if(name.Contains("PedestalSubtraction")) SetPedestalSubtraction((Bool_t) val,iBoard);\r
        else if(name.Contains("BBAThreshold")) SetBBAThreshold((UShort_t) val);\r
        else if(name.Contains("BBCThreshold")) SetBBCThreshold((UShort_t) val);\r
        else if(name.Contains("BGAThreshold")) SetBGAThreshold((UShort_t) val);\r
@@ -173,22 +182,22 @@ void AliVZEROTriggerData::SetParameter(TString name, Float_t val){
        else if(name.Contains("MultV0AThrHigh")) SetMultV0AThrHigh((UShort_t) val);\r
        else if(name.Contains("MultV0CThrLow")) SetMultV0CThrLow((UShort_t) val);\r
        else if(name.Contains("MultV0CThrHigh")) SetMultV0CThrHigh((UShort_t) val);\r
-       else if(name.Contains("TriggerSelect")) SetTriggerSelected((UShort_t) val, iBoard -1);\r
-       else if(name.Contains("EnableCharge")) SetEnableCharge((Bool_t) val, iBoard -1, iChannel-1);\r
-       else if(name.Contains("EnableTiming")) SetEnableTiming((Bool_t) val, iBoard -1, iChannel-1);\r
-       else if(name.Contains("DiscriThr")) SetDiscriThr((UShort_t) val, iBoard -1, iChannel-1);\r
-       else if(name.Contains("DelayHit")) SetDelayHit((UShort_t) val, iBoard -1, iChannel-1);\r
-       else if(name.Contains("PedOdd")) SetPedestal((UShort_t) val, 1, iBoard -1, iChannel-1);\r
-       else if(name.Contains("PedEven")) SetPedestal((UShort_t) val, 0, iBoard -1, iChannel-1);\r
-       else if(name.Contains("PedCutOdd")) SetPedestalCut((UShort_t) val, 1, iBoard -1, iChannel-1);\r
-       else if(name.Contains("PedCutEven")) SetPedestalCut((UShort_t) val, 0, iBoard -1, iChannel-1);\r
+       else if(name.Contains("TriggerSelect")) SetTriggerSelected((UShort_t) val, iChannel-1 );\r
+       else if(name.Contains("EnableCharge")) SetEnableCharge((Bool_t) val, iBoard , iChannel-1);\r
+       else if(name.Contains("EnableTiming")) SetEnableTiming((Bool_t) val, iBoard , iChannel-1);\r
+       else if(name.Contains("DiscriThr")) SetDiscriThr((UShort_t) val, iBoard, iChannel-1);\r
+       else if(name.Contains("DelayHit")) SetDelayHit((UShort_t) val, iBoard, iChannel-1);\r
+       else if(name.Contains("PedOdd")) SetPedestal((UShort_t) val, 1, iBoard, iChannel-1);\r
+       else if(name.Contains("PedEven")) SetPedestal((UShort_t) val, 0, iBoard, iChannel-1);\r
+       else if(name.Contains("PedCutOdd")) SetPedestalCut((UShort_t) val, 1, iBoard, iChannel-1);\r
+       else if(name.Contains("PedCutEven")) SetPedestalCut((UShort_t) val, 0, iBoard, iChannel-1);\r
        else AliError(Form("No Setter found for FEE parameter : %s",name.Data()));\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetPedestalCut(UShort_t val,Int_t integrator, Int_t board, Int_t channel)\r
 {\r
        // Set Pedestal Cut of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) {\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {\r
                if(integrator) fPedestalCutOdd[board][channel] = val;\r
                else fPedestalCutEven[board][channel] = val;\r
        } else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));\r
@@ -197,7 +206,7 @@ void AliVZEROTriggerData::SetPedestalCut(UShort_t val,Int_t integrator, Int_t bo
 UShort_t AliVZEROTriggerData::GetPedestalCut(Int_t integrator, Int_t board, Int_t channel)\r
 {\r
        // Get Pedestal Cut of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) {\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {\r
                if(integrator) return(fPedestalCutOdd[board][channel]);\r
                else return(fPedestalCutEven[board][channel]);\r
        }else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
@@ -207,7 +216,7 @@ UShort_t AliVZEROTriggerData::GetPedestalCut(Int_t integrator, Int_t board, Int_
 void AliVZEROTriggerData::SetPedestal(UShort_t val, Int_t integrator, Int_t board, Int_t channel)\r
 {\r
        // Set Pedestal of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) {\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {\r
                if(integrator) fPedestalOdd[board][channel] = val;\r
                else fPedestalEven[board][channel] = val;\r
        } else AliError(Form("Impossible to write at : Board %d ; Channel %d ; Integrator %d ",board,channel,integrator));\r
@@ -216,7 +225,7 @@ void AliVZEROTriggerData::SetPedestal(UShort_t val, Int_t integrator, Int_t boar
 UShort_t AliVZEROTriggerData::GetPedestal(Int_t integrator, Int_t board, Int_t channel)\r
 {\r
        // Get Pedestal of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) {\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) {\r
                if(integrator) return(fPedestalOdd[board][channel]);\r
                else return(fPedestalEven[board][channel]);\r
        } else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
@@ -226,14 +235,14 @@ UShort_t AliVZEROTriggerData::GetPedestal(Int_t integrator, Int_t board, Int_t c
 void AliVZEROTriggerData::SetDelayHit(UShort_t val,Int_t board, Int_t channel)\r
 {\r
        // Set Delay of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) fDelayHit[board][channel] = val;\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fDelayHit[board][channel] = val;\r
        else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));\r
 }\r
 //________________________________________________________________\r
 UShort_t AliVZEROTriggerData::GetDelayHit(Int_t board, Int_t channel)\r
 {\r
        // Get Delay of individual channel \r
-       if(board<kNCIUBoards && channel<kNChannels) return(fDelayHit[board][channel]);\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fDelayHit[board][channel]);\r
        else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
        return 0;\r
 }\r
@@ -241,14 +250,14 @@ UShort_t AliVZEROTriggerData::GetDelayHit(Int_t board, Int_t channel)
 void AliVZEROTriggerData::SetDiscriThr(UShort_t val,Int_t board, Int_t channel)\r
 {\r
        // Set discriminator threshold\r
-       if(board<kNCIUBoards && channel<kNChannels) fDiscriThr[board][channel] = val;\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fDiscriThr[board][channel] = val;\r
        else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));\r
 }\r
 //________________________________________________________________\r
 UShort_t AliVZEROTriggerData::GetDiscriThr(Int_t board, Int_t channel)\r
 {\r
        // Get discriminator threshold\r
-       if(board<kNCIUBoards && channel<kNChannels) return(fDiscriThr[board][channel]);\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fDiscriThr[board][channel]);\r
        else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
        return 0;\r
 }\r
@@ -256,14 +265,14 @@ UShort_t AliVZEROTriggerData::GetDiscriThr(Int_t board, Int_t channel)
 void AliVZEROTriggerData::SetEnableCharge(Bool_t val,Int_t board, Int_t channel)\r
 {\r
        // Set the channels enabled for Charge triggers\r
-       if(board<kNCIUBoards && channel<kNChannels) fEnableCharge[board][channel] = val;\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fEnableCharge[board][channel] = val;\r
        else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));\r
 }\r
 //________________________________________________________________\r
 Bool_t AliVZEROTriggerData::GetEnableCharge(Int_t board, Int_t channel)\r
 {\r
        // Get the channels enabled for Charge triggers\r
-       if(board<kNCIUBoards && channel<kNChannels) return(fEnableCharge[board][channel]);\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fEnableCharge[board][channel]);\r
        else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
        return kFALSE;\r
 }\r
@@ -271,14 +280,14 @@ Bool_t AliVZEROTriggerData::GetEnableCharge(Int_t board, Int_t channel)
 void AliVZEROTriggerData::SetEnableTiming(Bool_t val,Int_t board, Int_t channel)\r
 {\r
        // Set the channels enabled for Timing triggers\r
-       if(board<kNCIUBoards && channel<kNChannels) fEnableTiming[board][channel] = val;\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) fEnableTiming[board][channel] = val;\r
        else AliError(Form("Impossible to write at : Board %d ; Channel %d",board,channel));\r
 }\r
 //________________________________________________________________\r
 Bool_t AliVZEROTriggerData::GetEnableTiming(Int_t board, Int_t channel)\r
 {\r
        // Get the channels enabled for Timing triggers\r
-       if(board<kNCIUBoards && channel<kNChannels) return(fEnableTiming[board][channel]);\r
+       if((board>=0 && board<kNCIUBoards) && (channel>=0 && channel<kNChannels)) return(fEnableTiming[board][channel]);\r
        else AliError(Form("Impossible to read at : Board %d ; Channel %d",board,channel));\r
        return kFALSE;\r
 }\r
@@ -286,7 +295,7 @@ Bool_t AliVZEROTriggerData::GetEnableTiming(Int_t board, Int_t channel)
 void AliVZEROTriggerData::SetTriggerSelected(UShort_t trigger, Int_t output)\r
 {\r
        // Set the trigger selected on the outputs to CTP\r
-       if(output<kNTriggerOutputs) fTriggerSelected[output] = trigger;\r
+       if(output>=0 && output<kNTriggerOutputs) fTriggerSelected[output] = trigger;\r
        else AliError(Form("Trigger output number %d not valid",output));\r
 }\r
 \r
@@ -295,63 +304,79 @@ void AliVZEROTriggerData::SetClk1Win1(UShort_t* clks)
 {\r
        // Set Win clock of BB\r
        if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk1Win1(clks[t],t);\r
-       else AliFatal("Profil Clock1 Win1 Not defined.");\r
+       else AliError("Profil Clock1 Win1 Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk2Win1(UShort_t* clks)\r
 {\r
        // Set Win clock of BB\r
        if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk2Win1(clks[t],t);\r
-       else AliFatal("Profil Clock2 Win1 Not defined.");\r
+       else AliError("Profil Clock2 Win1 Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk1Win1(UShort_t clk, Int_t board)\r
 {\r
        // Set Win clock of BB\r
-       if(IsClkValid(clk) && (board<kNCIUBoards)) fClk1Win1[board] = clk;\r
-       else AliError(Form("Profil Clock1 Win1 of board %d is not valid : %d",board,clk));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fClk1Win1[board] = clk;\r
+               if(!IsClkValid(clk)) AliWarning(Form("Profil Clock1 Win1 of board %d is not valid : %d",board,clk));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk2Win1(UShort_t clk, Int_t board)\r
 {\r
        // Set Win clock of BB\r
-       if(IsClkValid(clk) && (board<kNCIUBoards)) fClk2Win1[board] = clk;\r
-       else AliError(Form("Profil Clock2 Win1 of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fClk2Win1[board] = clk;\r
+               if(!IsClkValid(clk)) AliWarning(Form("Profil Clock2 Win1 of board %d is not valid : %d",board,clk));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk1Win2(UShort_t* clks)\r
 {\r
        // Set Win clock of BG\r
        if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk1Win2(clks[t],t);\r
-       else AliFatal("Profil Clock1 Win2 Not defined.");\r
+       else AliError("Profil Clock1 Win2 Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk2Win2(UShort_t* clks)\r
 {\r
        // Set Win clock of BG\r
        if(clks) for(int t=0; t<kNCIUBoards; t++) SetClk2Win2(clks[t],t);\r
-       else AliFatal("Profil Clock2 Win2 Not defined.");\r
+       else AliError("Profil Clock2 Win2 Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk1Win2(UShort_t clk, Int_t board)\r
 {\r
        // Set Win clock of BG\r
-       if(IsClkValid(clk) && (board<kNCIUBoards)) fClk1Win2[board] = clk;\r
-       else AliError(Form("Profil Clock1 Win2 of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fClk1Win2[board] = clk;\r
+               if(!IsClkValid(clk)) AliWarning(Form("Profil Clock1 Win2 of board %d is not valid : %d",board,clk));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetClk2Win2(UShort_t clk, Int_t board)\r
 {\r
        // Set Win clock of BG\r
-       if(IsClkValid(clk) && (board<kNCIUBoards)) fClk2Win2[board] = clk;\r
-       else AliError(Form("Profil Clock2 Win2 of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fClk2Win2[board] = clk;\r
+               if(!IsClkValid(clk)) AliWarning(Form("Profil Clock2 Win2 of board %d is not valid : %d",board,clk));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk1Win1(UShort_t* delays)\r
 {\r
        // Set Delay for Win clock of BB\r
        if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk1Win1(delays[t],t);\r
-       else AliFatal("Profil Clock1 Win1 Delays Not defined.");\r
+       else AliError("Profil Clock1 Win1 Delays Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk1Win1(UShort_t delay, Int_t board)\r
@@ -361,15 +386,15 @@ void AliVZEROTriggerData::SetDelayClk1Win1(UShort_t delay, Int_t board)
                AliWarning(Form("Profil Clock1 Win1 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));\r
                delay = delay & 0x3FF;\r
        }\r
-       if(board<kNCIUBoards)   fDelayClk1Win1[board] = delay;\r
-       else AliError("Trying to write out of the array");\r
+       if((board>=0) && (board<kNCIUBoards))   fDelayClk1Win1[board] = delay;\r
+       else AliError(Form("Trying to write out of the array Board = %d",board));\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk2Win1(UShort_t* delays)\r
 {\r
        // Set Delay for Win clock of BB\r
        if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk2Win1(delays[t],t);\r
-       else AliFatal("Profil Clock2 Win1 Delays Not defined.");\r
+       else AliError("Profil Clock2 Win1 Delays Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk2Win1(UShort_t delay, Int_t board)\r
@@ -379,15 +404,15 @@ void AliVZEROTriggerData::SetDelayClk2Win1(UShort_t delay, Int_t board)
                AliWarning(Form("Profil Clock2 Win1 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));\r
                delay = delay & 0x3FF;\r
        }\r
-       if(board<kNCIUBoards)   fDelayClk2Win1[board] = delay;\r
-       else AliError("Trying to write out of the array");\r
+       if((board>=0) && (board<kNCIUBoards))   fDelayClk2Win1[board] = delay;\r
+       else AliError(Form("Trying to write out of the array Board = %d",board));\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk1Win2(UShort_t* delays)\r
 {\r
        // Set Delay for Win clock of BG\r
        if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk1Win2(delays[t],t);\r
-       else AliFatal("Profil Clock1 Win2 Delays Not defined.");\r
+       else AliError("Profil Clock1 Win2 Delays Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk1Win2(UShort_t delay, Int_t board)\r
@@ -397,15 +422,15 @@ void AliVZEROTriggerData::SetDelayClk1Win2(UShort_t delay, Int_t board)
                AliWarning(Form("Profil Clock1 Win2 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));\r
                delay = delay & 0x3FF;\r
        }\r
-       if(board<kNCIUBoards)   fDelayClk1Win2[board] = delay;\r
-       else AliError("Trying to write out of the array");\r
+       if((board>=0) && (board<kNCIUBoards))   fDelayClk1Win2[board] = delay;\r
+       else AliError(Form("Trying to write out of the array Board = %d",board));\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk2Win2(UShort_t* delays)\r
 {\r
        // Set Delay for Win clock of BG\r
        if(delays) for(int t=0; t<kNCIUBoards; t++) SetDelayClk2Win2(delays[t],t);\r
-       else AliFatal("Profil Clock2 Win2 Delays Not defined.");\r
+       else AliError("Profil Clock2 Win2 Delays Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetDelayClk2Win2(UShort_t delay, Int_t board)\r
@@ -415,174 +440,91 @@ void AliVZEROTriggerData::SetDelayClk2Win2(UShort_t delay, Int_t board)
                AliWarning(Form("Profil Clock2 Win2 Delay of board %d should be less 1023 is currently %d. Truncated to the first 10 bits",board, delay));\r
                delay = delay & 0x3FF;\r
        }\r
-       if(board<kNCIUBoards)   fDelayClk2Win2[board] = delay;\r
-       else AliError("Trying to write out of the array");\r
+       if((board>=0) && (board<kNCIUBoards))   fDelayClk2Win2[board] = delay;\r
+       else AliError(Form("Trying to write out of the array Board = %d",board));\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetLatchWin1(UShort_t *latchs){\r
        // Set Latch Win clock for BB\r
        if(latchs) for(int t=0; t<kNCIUBoards; t++) SetLatchWin1(latchs[t],t);\r
-       else AliFatal("Latch Win1 profil Not defined.");\r
+       else AliError("Latch Win1 profil Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetLatchWin1(UShort_t latch, Int_t board)\r
 {\r
        // Set Latch Win clock for BB\r
-       if(IsClkValid(latch) && (board<kNCIUBoards)) fLatchWin1[board] = latch;\r
-       else AliError(Form("Latch Win1 profil of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fLatchWin1[board] = latch;\r
+               if(!IsClkValid(latch)) AliWarning(Form("Latch Win1 of board %d is not valid : %d",board,latch));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetLatchWin2(UShort_t *latchs){\r
        // Set Latch Win clock for BG\r
        if(latchs) for(int t=0; t<kNCIUBoards; t++) SetLatchWin2(latchs[t],t);\r
-       else AliFatal("Latch Win2 profil Not defined.");\r
+       else AliError("Latch Win2 profil Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetLatchWin2(UShort_t latch, Int_t board)\r
 {\r
        // Set Latch Win clock for BG\r
-       if(IsClkValid(latch) && (board<kNCIUBoards)) fLatchWin2[board] = latch;\r
-       else AliError(Form("Latch Win2 profil of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fLatchWin2[board] = latch;\r
+               if(!IsClkValid(latch)) AliWarning(Form("Latch Win2 of board %d is not valid : %d",board,latch));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetResetWin1(UShort_t *resets){\r
        // Set Reset Win clock for BB\r
        if(resets) for(int t=0; t<kNCIUBoards; t++) SetResetWin1(resets[t],t);\r
-       else AliFatal("Reset Win1 profil Not defined.");\r
+       else AliError("Reset Win1 profil Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetResetWin1(UShort_t reset, Int_t board)\r
 {\r
        // Set Reset Win clock for BB\r
-       if(IsClkValid(reset) && (board<kNCIUBoards)) fResetWin1[board] = reset;\r
-       else AliError(Form("Reset Win1 profil of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fResetWin1[board] = reset;\r
+               if(!IsClkValid(reset)) AliWarning(Form("Reset Win1 of board %d is not valid : %d",board,reset));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetResetWin2(UShort_t *resets){\r
        // Set Reset Win clock for BG\r
        if(resets)  for(int t=0; t<kNCIUBoards; t++) SetResetWin2(resets[t],t);\r
-       else AliFatal("Reset Win2 profil Not defined.");\r
+       else AliError("Reset Win2 profil Not defined.");\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetResetWin2(UShort_t reset, Int_t board)\r
 {\r
        // Set Reset Win clock for BG\r
-       if(IsClkValid(reset) && (board<kNCIUBoards)) fResetWin2[board] = reset;\r
-       else AliError(Form("Reset Win2 profil of board %d is not valid",board));\r
+       if((board>=0) && (board<kNCIUBoards)) {\r
+               fResetWin2[board] = reset;\r
+               if(!IsClkValid(reset)) AliWarning(Form("Reset Win2 of board %d is not valid : %d",board,reset));\r
+       }else {\r
+               AliError(Form("Impossible to Write at Board %d",board));\r
+       }\r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetPedestalSubtraction(Bool_t *peds){\r
        // Set Pedestal Subtraction Parameter\r
        if(peds)  for(int t=0; t<kNCIUBoards; t++) SetPedestalSubtraction(peds[t],t);\r
-       else AliFatal("Pedestal Subtraction Not defined.");\r
+       else AliError("Pedestal Subtraction Not defined.");\r
        \r
 }\r
 //________________________________________________________________\r
 void AliVZEROTriggerData::SetPedestalSubtraction(Bool_t ped, Int_t board)\r
 {\r
        // Set Pedestal Subtraction Parameter\r
-       if((board<kNCIUBoards)) fPedestalSubtraction[board] = ped;\r
+       if((board>=0) && (board<kNCIUBoards)) fPedestalSubtraction[board] = ped;\r
        else AliError(Form("Board %d is not valid",board));\r
 }\r
-//________________________________________________________________\r
-void AliVZEROTriggerData::SetTimeResolution(UShort_t *resols){\r
-       // Set Time Resolution of the TDC\r
-       if(resols)  for(int t=0; t<kNCIUBoards; t++) SetTimeResolution(resols[t],t);\r
-       else AliFatal("Time Resolution not defined.");\r
-       \r
-}\r
-//________________________________________________________________\r
-void AliVZEROTriggerData::SetTimeResolution(UShort_t resol, Int_t board)\r
-{\r
-       // Set Time Resolution of the TDC\r
-       if((board<kNCIUBoards)) {\r
-               switch(resol){\r
-                       case 0:\r
-                               fTimeResolution[board] = 25./256.;\r
-                               break;\r
-                       case 1:\r
-                               fTimeResolution[board] = 25./128.;\r
-                               break;\r
-                       case 2:\r
-                               fTimeResolution[board] = 25./64.;\r
-                               break;\r
-                       case 3:\r
-                               fTimeResolution[board] = 25./32.;\r
-                               break;\r
-                       case 4:\r
-                               fTimeResolution[board] = 25./16.;\r
-                               break;\r
-                       case 5:\r
-                               fTimeResolution[board] = 25./8.;\r
-                               break;\r
-                       case 6:\r
-                               fTimeResolution[board] = 6.25;\r
-                               break;\r
-                       case 7:\r
-                               fTimeResolution[board] = 12.5;\r
-                               break;\r
-               }\r
-       } else AliError(Form("Board %d is not valid",board));\r
-}\r
-//________________________________________________________________\r
-void AliVZEROTriggerData::SetWidthResolution(UShort_t *resols){\r
-       // Set Time Width Resolution of the TDC\r
-       if(resols)  for(int t=0; t<kNCIUBoards; t++) SetWidthResolution(resols[t],t);\r
-       else AliFatal("Width Resolution not defined.");\r
-       \r
-}\r
-//________________________________________________________________\r
-void AliVZEROTriggerData::SetWidthResolution(UShort_t resol, Int_t board)\r
-{\r
-       // Set Time Width Resolution of the TDC\r
-       if((board<kNCIUBoards)){\r
-               switch(resol){\r
-                       case 0:\r
-                               fWidthResolution[board] = 25./256.;\r
-                               break;\r
-                       case 1:\r
-                               fWidthResolution[board] = 25./128.;\r
-                               break;\r
-                       case 2:\r
-                               fWidthResolution[board] = 25./64.;\r
-                               break;\r
-                       case 3:\r
-                               fWidthResolution[board] = 25./32.;\r
-                               break;\r
-                       case 4:\r
-                               fWidthResolution[board] = 25./16.;\r
-                               break;\r
-                       case 5:\r
-                               fWidthResolution[board] = 25./8.;\r
-                               break;\r
-                       case 6:\r
-                               fWidthResolution[board] = 6.25;\r
-                               break;\r
-                       case 7:\r
-                               fWidthResolution[board] = 12.5;\r
-                               break;\r
-                       case 8:\r
-                               fWidthResolution[board] = 25.;\r
-                               break;\r
-                       case 9:\r
-                               fWidthResolution[board] = 50.;\r
-                               break;\r
-                       case 10:\r
-                               fWidthResolution[board] = 100.;\r
-                               break;\r
-                       case 11:\r
-                               fWidthResolution[board] = 200.;\r
-                               break;\r
-                       case 12:\r
-                               fWidthResolution[board] = 400.;\r
-                               break;\r
-                       case 13:\r
-                               fWidthResolution[board] = 800.;\r
-                               break;\r
-                               \r
-               }\r
-       }else AliError(Form("Board %d is not valid",board));\r
-}\r
 \r
 //________________________________________________________________\r
 Bool_t AliVZEROTriggerData::IsClkValid(UShort_t clock) const {\r