diff --git a/NPLib/Exogam/TExogamData.h b/NPLib/Exogam/TExogamData.h
index 79ca7251389d9bda6f6a829b1ed70d638f67b5f4..e35e13ee5bf9cf9aa23e5a71cb23051f9c14e710 100644
--- a/NPLib/Exogam/TExogamData.h
+++ b/NPLib/Exogam/TExogamData.h
@@ -88,26 +88,26 @@ class TExogamData : public TObject {
       // ECC / Energy
       // UShort_t	GetCloverMult()		{return fEXO_ECC_E_Clover.size();}       
       UShort_t	GetECCEMult()		{return fEXO_ECC_E_Clover.size();}             
-      UShort_t	GetECCEClover(Int_t i)	{return fEXO_ECC_E_Clover.at(i);}
-      UShort_t	GetECCECristal(Int_t i)	{return fEXO_ECC_E_Cristal.at(i);}
-      UShort_t	GetECCEEnergy(Int_t i)	{return fEXO_ECC_E_Energy.at(i);}
+      UShort_t	GetECCEClover(Int_t i)	{return fEXO_ECC_E_Clover[i];}
+      UShort_t	GetECCECristal(Int_t i)	{return fEXO_ECC_E_Cristal[i];}
+      UShort_t	GetECCEEnergy(Int_t i)	{return fEXO_ECC_E_Energy[i];}
       // ECC / Time
       UShort_t	GetECCTMult()		{return fEXO_ECC_T_Clover.size();}
-      UShort_t	GetECCTClover(Int_t i)	{return fEXO_ECC_T_Clover.at(i);}
-      UShort_t	GetECCTCristal(Int_t i)	{return fEXO_ECC_T_Cristal.at(i);}
-      UShort_t	GetECCTTime(Int_t i)	{return fEXO_ECC_T_Time.at(i);}
+      UShort_t	GetECCTClover(Int_t i)	{return fEXO_ECC_T_Clover[i];}
+      UShort_t	GetECCTCristal(Int_t i)	{return fEXO_ECC_T_Cristal[i];}
+      UShort_t	GetECCTTime(Int_t i)	{return fEXO_ECC_T_Time[i];}
       // GOCCE / Energy
       UShort_t	GetGOCCEEMult()			{return fEXO_GOCCE_E_Clover.size();}    // multiplicity of segments hit in one clover
-      UShort_t	GetGOCCEEClover(Int_t i)	{return fEXO_GOCCE_E_Clover.at(i);}
-      UShort_t	GetGOCCEECristal(Int_t i)	{return fEXO_GOCCE_E_Cristal.at(i);}
-      UShort_t	GetGOCCEESegment(Int_t i)	{return fEXO_GOCCE_E_Segment.at(i);}
-      UShort_t	GetGOCCEEEnergy(Int_t i)	{return fEXO_GOCCE_E_Energy.at(i);}
+      UShort_t	GetGOCCEEClover(Int_t i)	{return fEXO_GOCCE_E_Clover[i];}
+      UShort_t	GetGOCCEECristal(Int_t i)	{return fEXO_GOCCE_E_Cristal[i];}
+      UShort_t	GetGOCCEESegment(Int_t i)	{return fEXO_GOCCE_E_Segment[i];}
+      UShort_t	GetGOCCEEEnergy(Int_t i)	{return fEXO_GOCCE_E_Energy[i];}
       // GOCCE / Time
       UShort_t	GetGOCCETMult()			{return fEXO_GOCCE_T_Clover.size();}
-      UShort_t	GetGOCCETClover(Int_t i)	{return fEXO_GOCCE_T_Clover.at(i);}
-      UShort_t	GetGOCCETCristal(Int_t i)	{return fEXO_GOCCE_T_Cristal.at(i);}
-      UShort_t	GetGOCCETSegment(Int_t i)	{return fEXO_GOCCE_T_Segment.at(i);}
-      UShort_t	GetGOCCETTime(Int_t i)		{return fEXO_GOCCE_T_Time.at(i);}
+      UShort_t	GetGOCCETClover(Int_t i)	{return fEXO_GOCCE_T_Clover[i];}
+      UShort_t	GetGOCCETCristal(Int_t i)	{return fEXO_GOCCE_T_Cristal[i];}
+      UShort_t	GetGOCCETSegment(Int_t i)	{return fEXO_GOCCE_T_Segment[i];}
+      UShort_t	GetGOCCETTime(Int_t i)		{return fEXO_GOCCE_T_Time[i];}
       //GeFill
       UShort_t     GetGeFill()               {return fEXO_Fill;}
 
diff --git a/NPLib/Exogam/TExogamSpectra.cxx b/NPLib/Exogam/TExogamSpectra.cxx
index 5f003cb3cb2f2ee5f080df646d3c649c95028fc8..6b879640c16581762a482f5fa9695668b0ce9c21 100644
--- a/NPLib/Exogam/TExogamSpectra.cxx
+++ b/NPLib/Exogam/TExogamSpectra.cxx
@@ -21,6 +21,12 @@
  *                                                                           *
  *****************************************************************************/
 
+// STL
+#include <iostream>
+#include <cstdlib>
+#include <stdexcept>
+
+
 // NPL
 #include "TExogamSpectra.h"
 #include "NPOptionManager.h"
@@ -126,20 +132,14 @@ void TExogamSpectra::FillRawSpectra(TExogamData* RawData){
   string name;
   string family;
 
-  // Energy and Time RAw 
+  // Energy 
   for (unsigned int i = 0; i < RawData->GetECCEMult(); i++) {
     name = Form("ExogamEnergyRaw_Clover%d_ECC%d", RawData->GetECCEClover(i)+1,RawData->GetECCECristal(i)+1);
     family = "Exogam/RAW";
 
     GetHisto(family,name)
       -> Fill(RawData->GetECCEEnergy(i));
-
-    name = Form("ExogamTimeRaw_Clover%d_ECC%d", RawData->GetECCTClover(i)+1,RawData->GetECCTCristal(i)+1);
-    family = "Exogam/RAW";
-
-    GetHisto(family,name)
-      -> Fill(RawData->GetECCTTime(i));
-    
+   
     name = Form("ExogamEnergyRaw_Clover%d_ECC%d_GOCCE%d", RawData->GetECCEClover(i)+1,RawData->GetECCECristal(i)+1,RawData->GetGOCCEESegment(i)+1);
     family = "Exogam/RAW";
 
@@ -147,14 +147,21 @@ void TExogamSpectra::FillRawSpectra(TExogamData* RawData){
       -> Fill(RawData->GetGOCCEEEnergy(i));
     }
 
+  // Time
+  for (unsigned int i = 0; i < RawData->GetECCTMult(); i++) {
+   name = Form("ExogamTimeRaw_Clover%d_ECC%d", RawData->GetECCTClover(i)+1,RawData->GetECCTCristal(i)+1);
+    family = "Exogam/RAW";
 
+    GetHisto(family,name)
+      -> Fill(RawData->GetECCTTime(i));
+  }
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void TExogamSpectra::FillPreTreatedSpectra(TExogamData* PreTreatedData){
   string name ;
   string family;
-  // Energy and Time RAw 
+  // Energy 
   for (unsigned int i = 0; i < PreTreatedData->GetECCEMult(); i++) {
     name = Form("ExogamEnergyCal_Clover%d_ECC%d", PreTreatedData->GetECCEClover(i)+1,PreTreatedData->GetECCECristal(i)+1);
     family = "Exogam/Cal";
@@ -162,18 +169,23 @@ void TExogamSpectra::FillPreTreatedSpectra(TExogamData* PreTreatedData){
     GetHisto(family,name)
       -> Fill(PreTreatedData->GetECCEEnergy(i));
 
-    name = Form("ExogamTimeCal_Clover%d_ECC%d", PreTreatedData->GetECCTClover(i)+1,PreTreatedData->GetECCTCristal(i)+1);
-    family = "Exogam/Cal";
-
-    GetHisto(family,name)
-      -> Fill(PreTreatedData->GetECCTTime(i));
-    
+   
     name = Form("ExogamEnergyCal_Clover%d_ECC%d_GOCCE%d", PreTreatedData->GetECCEClover(i)+1,PreTreatedData->GetECCECristal(i)+1,PreTreatedData->GetGOCCEESegment(i)+1);
     family = "Exogam/Cal";
 
     GetHisto(family,name)
       -> Fill(PreTreatedData->GetGOCCEEEnergy(i));
     }
+
+  // Time
+  for (unsigned int i = 0; i < PreTreatedData->GetECCTMult(); i++) {
+  name = Form("ExogamTimeCal_Clover%d_ECC%d", PreTreatedData->GetECCTClover(i)+1,PreTreatedData->GetECCTCristal(i)+1);
+    family = "Exogam/Cal";
+
+    GetHisto(family,name)
+      -> Fill(PreTreatedData->GetECCTTime(i));
+   }
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -221,14 +233,25 @@ TH1* TExogamSpectra::AddHisto2D(string name, string title, Int_t nbinsx, Double_
 
 ////////////////////////////////////////////////////////////////////////////////
 TH1* TExogamSpectra::GetHisto(string family, string name){
-  vector<string> index ;
+vector<string> index;
+  index.reserve(2);
   index.push_back(family);
   index.push_back(name);
+  TH1* histo ; 
 
-  // fill map
-  return fMapHisto.at(index);
+  try{
+    histo = fMapHisto.at(index); 
+  }
+
+  catch(const std::out_of_range& oor){
+    cout << "ERROR : the folowing Histo has been requested by TCATSSpectra and does not exist: family:" << family << " name: "  << name << endl ;
+    exit(1);
+  }
+
+  return histo;
 }
 
+
 ////////////////////////////////////////////////////////////////////////////////
 void TExogamSpectra::WriteHisto(string filename){
   TFile* f=NULL;