diff --git a/NPLib/Core/NPOptionManager.cxx b/NPLib/Core/NPOptionManager.cxx
index 93750b5313023ea998372acf5cff46b82758293c..b3e590bb4a0de2848f704f7095e19584ed8bb57f 100644
--- a/NPLib/Core/NPOptionManager.cxx
+++ b/NPLib/Core/NPOptionManager.cxx
@@ -119,6 +119,7 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){
 	fFirstEntryToAnalyse        = 0;
   fSpectraServerPort          = 9092;
   fRandomSeed                 = -1;
+  fRecordTrack                = 0;
   fDisableAllBranchOption = false;
   fInputPhysicalTreeOption = false;
   fGenerateHistoOption = false ;
@@ -198,6 +199,8 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){
 
     else if (argument == "--random-seed")                         fRandomSeed = atoi(argv[++i]) ;
 
+    else if (argument == "--record-track")                        fRecordTrack = true ;
+
 		else if (argument == "-F")                                    fFirstEntryToAnalyse = atoi(argv[++i]);
 
     else if (argument == "--last-sim")                            fLastSimFile = true ;
@@ -475,6 +478,7 @@ void NPOptionManager::DisplayHelp(){
   std::cout << "\t-M <arg>\t\t\tExecute Geant4 macro <arg> at startup" << std::endl ;
   std::cout << "\t-B <arg>\t\t\tExecute in batch mode (no ui) with Geant4 macro <arg> at startup" << std::endl ;
   std::cout << "\t--random-seed <arg>\t\tSet the random generator seed to <arg> (unsigned int)" << std::endl ;
+  std::cout << "\t--record-track\t\t\tRecord the track of every simulated particle to the ouput tree" << std::endl ;
   std::cout << std::endl << std::endl ;
 
   // exit current program
diff --git a/NPLib/Core/NPOptionManager.h b/NPLib/Core/NPOptionManager.h
index 8268a4ba99d5c3bbbaccb0d2e6cd10386843ac48..f673c46df3daea8b02bf8465ecc9d2ca7ed8a2c2 100644
--- a/NPLib/Core/NPOptionManager.h
+++ b/NPLib/Core/NPOptionManager.h
@@ -114,6 +114,7 @@ class NPOptionManager{
       int    GetFirstEntryToAnalyse()      {return fFirstEntryToAnalyse;} 
       int    GetSpectraServerPort()        {return fSpectraServerPort;}
       int    GetRandomSeed()               {return fRandomSeed;}
+      int    GetRecordTrack()              {return fRecordTrack;}
       std::string GetSharedLibExtension()       {return fSharedLibExtension;}     
       std::string GetLastFile();                 
       std::string GetAnalysisOutputPath(){return m_AnalysisOutputPath;};
@@ -165,6 +166,7 @@ class NPOptionManager{
       int    fFirstEntryToAnalyse; // use to set the first event analysed in NPA (total: fFirstEntryToAnalyse -> fFirstEntryToAnalyse + fNumberOfEntryToAnalyse)
       int    fSpectraServerPort;
       int    fRandomSeed;
+      int    fRecordTrack;
       std::string fSharedLibExtension; // lib extension is platform dependent
       std::string fG4MacroPath; // Path to a geant4 macro to execute at start of nps
       bool fG4BatchMode; // Execute geant4 in batch mode, running the given macro
diff --git a/NPSimulation/Core/EventAction.cc b/NPSimulation/Core/EventAction.cc
index bd00d152cd524c63bc3d8851476d50fb6533237b..34d4d3a3aec2c40656d49666f85b3519b2b0a9bb 100644
--- a/NPSimulation/Core/EventAction.cc
+++ b/NPSimulation/Core/EventAction.cc
@@ -31,6 +31,7 @@
 #include "DetectorConstruction.hh"
 #include "RootOutput.h"
 #include "ParticleStack.hh"
+#include "NPOptionManager.h"
 
 #include<iostream>
 
@@ -44,7 +45,7 @@ EventAction::EventAction(){
     total=0;
     mean_rate=0;
     displayed=0;
-
+    m_record_track=NPOptionManager::getInstance()->GetRecordTrack();
      m_tree =  RootOutput::getInstance()->GetTree();
   //  m_tree->Branch("Geant4RandomState",&m_G4State );
  
@@ -64,15 +65,15 @@ void EventAction::BeginOfEventAction(const G4Event* event){
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 void EventAction::EndOfEventAction(const G4Event* event){
     m_detector->ReadAllSensitive(event) ;
+    if(m_record_track)
+      TrackRecording(event);
+
     m_tree->Fill();
     m_detector->ClearInteractionCoordinates();
 //    if(treated%10000==0){
 //        tree->AutoSave();
 //        RootOutput::getInstance()->GetFile()->SaveSelf(kTRUE);
 //    }
-
-    
-
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -91,6 +92,21 @@ void EventAction::SaveRandomGeneratorInitialState(){
     m_Geant4RandomFullState.clear();
 }
 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void EventAction::TrackRecording(const G4Event* event){
+// Clear the tracks class
+// m_Tracks->Clear();
+  TrajectoryVector* traj = event->GetTrajectoryContainer()->GetVector();
+  unsigned int size = traj->size();
+      for(unsigned int i = 0 ; i < size ; i++){
+       // FILL 
+       // Particle name
+       // Interaction points
+       // Initial Momentum
+       // Particles.insert( (*traj)[i]->GetParticleName());
+        }
+
+  }
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 void EventAction::ProgressDisplay(){
     if(treated==0){
diff --git a/NPSimulation/Core/EventAction.hh b/NPSimulation/Core/EventAction.hh
index 78c587077dbc17c8885bf71a796aa9483d2201ba..495af9793f8600355b577b749b39fde24f155b25 100644
--- a/NPSimulation/Core/EventAction.hh
+++ b/NPSimulation/Core/EventAction.hh
@@ -47,6 +47,7 @@ class EventAction : public G4UserEventAction{
     void BeginOfEventAction(const G4Event*);
     void EndOfEventAction(const G4Event*);
     void SetDetector(DetectorConstruction* detector);
+    void TrackRecording(const G4Event* event);
     void ProgressDisplay();
     void SaveRandomGeneratorInitialState();
     void SetRunLength(int);
@@ -54,6 +55,9 @@ class EventAction : public G4UserEventAction{
   private: // tree
     TTree* m_tree;
   
+  private:
+    bool m_record_track;
+
   private: // Progress Display
     clock_t begin;
     clock_t end;
@@ -62,7 +66,7 @@ class EventAction : public G4UserEventAction{
     unsigned int total;
     double mean_rate;
     int displayed;
-
+    
   private: // Random state
     std::ostringstream m_Geant4RandomFullState; 
     std::string  m_G4State;  
diff --git a/Projects/S034/Calibration/Nebula/offset_gamma.txt b/Projects/S034/Calibration/Nebula/offset_gamma.txt
index 6ad72c809473cdbdeebe6a939d534638c8390856..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/Projects/S034/Calibration/Nebula/offset_gamma.txt
+++ b/Projects/S034/Calibration/Nebula/offset_gamma.txt
@@ -1,144 +0,0 @@
-NEBULA_T_ID1 34.9114
-NEBULA_T_ID2 34.8487
-NEBULA_T_ID3 35.0828
-NEBULA_T_ID4 34.7753
-NEBULA_T_ID5 35.1731
-NEBULA_T_ID6 34.8492
-NEBULA_T_ID7 34.8129
-NEBULA_T_ID8 35.1259
-NEBULA_T_ID9 34.957
-NEBULA_T_ID10 34.9146
-NEBULA_T_ID11 34.9044
-NEBULA_T_ID12 34.9218
-NEBULA_T_ID13 34.6699
-NEBULA_T_ID14 35.1466
-NEBULA_T_ID15 35.0836
-NEBULA_T_ID16 34.6919
-NEBULA_T_ID17 34.796
-NEBULA_T_ID18 34.3545
-NEBULA_T_ID19 34.6873
-NEBULA_T_ID20 34.5355
-NEBULA_T_ID21 34.5093
-NEBULA_T_ID22 34.5631
-NEBULA_T_ID23 34.6092
-NEBULA_T_ID24 34.6205
-NEBULA_T_ID25 34.6199
-NEBULA_T_ID26 35.161
-NEBULA_T_ID27 35.1816
-NEBULA_T_ID28 35.0658
-NEBULA_T_ID29 35.0873
-NEBULA_T_ID30 35.1039
-NEBULA_T_ID31 34.6067
-NEBULA_T_ID32 34.6076
-NEBULA_T_ID33 34.862
-NEBULA_T_ID34 34.4877
-NEBULA_T_ID35 34.4975
-NEBULA_T_ID36 34.4971
-NEBULA_T_ID37 34.7477
-NEBULA_T_ID38 34.2818
-NEBULA_T_ID39 34.6409
-NEBULA_T_ID40 34.2638
-NEBULA_T_ID41 34.5886
-NEBULA_T_ID42 34.4999
-NEBULA_T_ID43 35.0054
-NEBULA_T_ID44 34.7799
-NEBULA_T_ID45 34.7292
-NEBULA_T_ID46 34.5549
-NEBULA_T_ID47 34.6511
-NEBULA_T_ID48 34.9767
-NEBULA_T_ID49 34.4121
-NEBULA_T_ID50 34.7922
-NEBULA_T_ID51 34.5915
-NEBULA_T_ID52 34.6975
-NEBULA_T_ID53 35.0689
-NEBULA_T_ID54 34.7948
-NEBULA_T_ID55 34.6392
-NEBULA_T_ID56 34.7534
-NEBULA_T_ID57 35.1284
-NEBULA_T_ID58 35.4314
-NEBULA_T_ID59 35.3455
-NEBULA_T_ID60 35.3207
-NEBULA_T_ID61 34.2079
-NEBULA_T_ID62 34.3236
-NEBULA_T_ID63 35.7209
-NEBULA_T_ID64 34.7389
-NEBULA_T_ID65 35.0687
-NEBULA_T_ID66 35.4752
-NEBULA_T_ID67 35.0603
-NEBULA_T_ID68 34.2005
-NEBULA_T_ID69 33.6966
-NEBULA_T_ID70 34.8085
-NEBULA_T_ID71 34.4027
-NEBULA_T_ID72 34.1083
-NEBULA_T_ID73 34.7039
-NEBULA_T_ID74 34.4356
-NEBULA_T_ID75 34.3117
-NEBULA_T_ID76 35.085
-NEBULA_T_ID77 35.0264
-NEBULA_T_ID78 33.7459
-NEBULA_T_ID79 34.3353
-NEBULA_T_ID80 35.0204
-NEBULA_T_ID81 34.8225
-NEBULA_T_ID82 33.1864
-NEBULA_T_ID83 34.8137
-NEBULA_T_ID84 34.404
-NEBULA_T_ID85 33.5315
-NEBULA_T_ID86 34.8705
-NEBULA_T_ID87 34.3997
-NEBULA_T_ID88 33.2526
-NEBULA_T_ID89 34.7098
-NEBULA_T_ID90 34.3216
-NEBULA_T_ID92 31.9321
-NEBULA_T_ID93 34.6501
-NEBULA_T_ID94 34.3427
-NEBULA_T_ID95 34.6861
-NEBULA_T_ID96 34.8366
-NEBULA_T_ID97 34.832
-NEBULA_T_ID98 35.1193
-NEBULA_T_ID99 35.172
-NEBULA_T_ID100 35.275
-NEBULA_T_ID101 34.459
-NEBULA_T_ID102 34.5771
-NEBULA_T_ID103 34.926
-NEBULA_T_ID104 34.548
-NEBULA_T_ID105 35.1097
-NEBULA_T_ID106 35.1887
-NEBULA_T_ID107 35.0866
-NEBULA_T_ID108 34.6665
-NEBULA_T_ID109 34.5351
-NEBULA_T_ID110 33.65
-NEBULA_T_ID111 34.8446
-NEBULA_T_ID112 34.9961
-NEBULA_T_ID113 34.6419
-NEBULA_T_ID114 35.2164
-NEBULA_T_ID115 33.7334
-NEBULA_T_ID116 34.3578
-NEBULA_T_ID117 35.7166
-NEBULA_T_ID118 34.5191
-NEBULA_T_ID119 35.471
-NEBULA_T_ID120 35.0177
-NEBULA_T_ID121 33.6312
-NEBULA_T_ID122 34.3798
-NEBULA_T_ID123 34.6003
-NEBULA_T_ID124 34.3961
-NEBULA_T_ID125 35.5018
-NEBULA_T_ID126 23.4914
-NEBULA_T_ID127 34.5968
-NEBULA_T_ID128 32.6766
-NEBULA_T_ID129 34.45
-NEBULA_T_ID130 34.1432
-NEBULA_T_ID131 24.0027
-NEBULA_T_ID132 32.7579
-NEBULA_T_ID133 35.3537
-NEBULA_T_ID134 34.55
-NEBULA_T_ID135 36.1924
-NEBULA_T_ID136 34.9019
-NEBULA_T_ID137 32.7547
-NEBULA_T_ID138 25.6774
-NEBULA_T_ID139 28.3729
-NEBULA_T_ID140 19.0246
-NEBULA_T_ID141 32.7578
-NEBULA_T_ID142 28.4096
-NEBULA_T_ID143 28.9315
-NEBULA_T_ID144 31.2423
-NEBULA_T_ID91 34.6