diff --git a/NPLib/Tools/NPOptionManager.cxx b/NPLib/Tools/NPOptionManager.cxx
index 92a9846b1093b083f9a4e549e83e89e72a2b3e92..cec8c6f2356cd2f2d263c368d60eb555f46eae07 100644
--- a/NPLib/Tools/NPOptionManager.cxx
+++ b/NPLib/Tools/NPOptionManager.cxx
@@ -43,7 +43,8 @@ NPOptionManager::NPOptionManager(int argc,char** argv)
     fDetectorFileName    = "myDetector.detector"  ;
     fOutputFileName      = "myResult"             ;
     fRunToReadFileName   = "RunToRead.txt"        ;
-    fCalibrationFileName = "Calibration.txt"      ; 
+    fCalibrationFileName = "Calibration.txt"      ;
+    fDisableAllBranchOption = false; 
   
     for (int i = 0 ; i < argc ; i++)
       {
@@ -72,6 +73,8 @@ NPOptionManager::NPOptionManager(int argc,char** argv)
         
         else if(argument == "-C" && argc>=i+1 )     fCalibrationFileName = argv[i+1] ;
         
+        else if(argument == "--disable-branch" )    fDisableAllBranchOption = true ;
+        
         else ;
       }
   
@@ -88,6 +91,7 @@ void NPOptionManager::DisplayHelp()
     cout << "\t --help -H -h\t \t \t \t \t \t \t Display this help message" << endl ;
     cout << "\t --output -O <arg>\t \t \t \t \t \t Set arg as the Output File Name (output tree)" << endl ;
     cout << "\t --run -R <arg>\t \t \t \t \t \t \t Set arg as the run to read file list" << endl  ;
+    cout << "\t --disable-branch\t \t \t \t \t \t Disable of branch of Input tree except the one of the detector (faster)" << endl  ;
     cout << endl << endl ;  
 
     // exit current program
diff --git a/NPLib/Tools/NPOptionManager.h b/NPLib/Tools/NPOptionManager.h
index 1c638a3e4b2842aac107470fc0164a8a8bd11c0e..67c5a9eeb4c6f8eab7c36b5fda295351afb35efc 100644
--- a/NPLib/Tools/NPOptionManager.h
+++ b/NPLib/Tools/NPOptionManager.h
@@ -62,18 +62,20 @@ class NPOptionManager
       void DisplayHelp();
 
     public:
-      string GetReactionFilePath()    { return fReactionFileName    ; } ;
-      string GetDetectorFilePath()    { return fDetectorFileName    ; } ;
-      string GetRunToReadFilePath()   { return fRunToReadFileName   ; } ;
-      string GetCalibrationFilePath() { return fCalibrationFileName ; } ;
-      string GetOutputFilePath()      { return fOutputFileName      ; } ;
+      string GetReactionFilePath()        { return fReactionFileName        ; } ;
+      string GetDetectorFilePath()        { return fDetectorFileName        ; } ;
+      string GetRunToReadFilePath()       { return fRunToReadFileName       ; } ;
+      string GetCalibrationFilePath()     { return fCalibrationFileName     ; } ;
+      string GetOutputFilePath()          { return fOutputFileName          ; } ;
+      bool   GetDisableAllBranchOption()  { return fDisableAllBranchOption  ; } ;
       
     private:
-      string fReactionFileName    ;
-      string fDetectorFileName    ;
-      string fRunToReadFileName   ;
-      string fCalibrationFileName ;
-      string fOutputFileName      ;
+      string fReactionFileName        ;
+      string fDetectorFileName        ;
+      string fRunToReadFileName       ;
+      string fCalibrationFileName     ;
+      string fOutputFileName          ;
+      bool   fDisableAllBranchOption  ;
     
   };
 
diff --git a/NPLib/VDetector/DetectorManager.cxx b/NPLib/VDetector/DetectorManager.cxx
index 3041dcf8398ba37b8692e50ff2acc43441c9096c..877ba217a5b4a09b680a36e0990623ea99b8d45b 100644
--- a/NPLib/VDetector/DetectorManager.cxx
+++ b/NPLib/VDetector/DetectorManager.cxx
@@ -12,8 +12,8 @@
 #include "../GASPARD/GaspardTracker.h"
 #include "../Paris/Paris.h"
 #include "../Shield/Shield.h"
-
-
+#include "../Tools/NPOptionManager.h"
+#include "../IORoot/RootInput.h"
 /////////////////////////////////////////////////////////////////////////////////////////////////
 //	Default Constructor
 DetectorManager::DetectorManager()	
@@ -325,6 +325,10 @@ void DetectorManager::BuildSimplePhysicalEvent()
 /////////////////////////////////////////////////////////////////////////////////////////////////
 void DetectorManager::InitializeRootInput()						
 {
+
+  if( NPOptionManager::getInstance()->GetDisableAllBranchOption() )
+   RootInput::getInstance()->GetChain()->SetBranchStatus ( "*" , false ) ;
+   
    map<string,VDetector*>::iterator it;
 
    for (it = m_Detector.begin(); it != m_Detector.end(); ++it) {