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) {