diff --git a/NPAnalysis/SPcoincW1/Analysis.cxx b/NPAnalysis/SPcoincW1/Analysis.cxx
index a1b0f3fe20c115dc73d7e6f7cde42826ba959f2b..d5a927dccc2230af144fe9eddcd14970d0fefe5c 100644
--- a/NPAnalysis/SPcoincW1/Analysis.cxx
+++ b/NPAnalysis/SPcoincW1/Analysis.cxx
@@ -49,7 +49,7 @@ Analysis::~Analysis()
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init()
 {
-   m_W1 = (TW1Physics*)        m_DetectorManager->GetDetector("W1");
+//   m_W1 = (TW1Physics*)        m_DetectorManager->GetDetector("W1");
    m_SP = (TSplitPolePhysics*) m_DetectorManager->GetDetector("SplitPole");
 }
 
diff --git a/NPLib/SplitPole/CMakeLists.txt b/NPLib/SplitPole/CMakeLists.txt
index 62d9d8e7f5f729d43791167b06239ad4f744cd6b..796cbb1cdee9ee3982d4d24cb14587c63a9823f7 100644
--- a/NPLib/SplitPole/CMakeLists.txt
+++ b/NPLib/SplitPole/CMakeLists.txt
@@ -1,6 +1,6 @@
 add_custom_command(OUTPUT TSplitPolePhysicsDict.cxx COMMAND ../scripts/build_dict.sh TSplitPolePhysics.h TSplitPolePhysicsDict.cxx TSplitPolePhysics.rootmap libNPSplitPole.dylib DEPENDS TSplitPolePhysics.h)
 add_custom_command(OUTPUT TSplitPoleDataDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleData.h TSplitPoleDataDict.cxx TSplitPoleData.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleData.h)
-add_library(NPSplitPole SHARED TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx )
+add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx )
 target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore) 
-install(FILES TSplitPoleData.h TSplitPolePhysics.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
+install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/SplitPole/TSplitPolePhysics.cxx b/NPLib/SplitPole/TSplitPolePhysics.cxx
index 14c462716dd58d7095e9b0df164617a3ebc38908..6b4250ebeca1413c23d45e4f9c80ec8d47551de4 100644
--- a/NPLib/SplitPole/TSplitPolePhysics.cxx
+++ b/NPLib/SplitPole/TSplitPolePhysics.cxx
@@ -39,8 +39,8 @@ using namespace std;
 //  ROOT
 #include "TChain.h"
 
-ClassImp(TSplitPolePhysics)
 
+ClassImp(TSplitPolePhysics)
 
 
 ///////////////////////////////////////////////////////////////////////////
@@ -134,9 +134,14 @@ void TSplitPolePhysics::AddParameterToCalibrationManager()
 void  TSplitPolePhysics::InitializeRootInputRaw() 
 {
    TChain* inputChain = RootInput::getInstance()->GetChain();
-   inputChain->SetBranchStatus("SplitPole"   , true);
-   inputChain->SetBranchStatus("fSplitPole_*", true);
-   inputChain->SetBranchAddress("SplitPole"  , &m_EventData);
+   inputChain->SetBranchStatus("SplitPole",  true);
+   inputChain->SetBranchStatus("fPosition",  true);
+   inputChain->SetBranchStatus("fBrho",      true);
+   inputChain->SetBranchStatus("fDeltaE",    true);
+   inputChain->SetBranchStatus("fWire",      true);
+   inputChain->SetBranchStatus("fPlasticP",  true);
+   inputChain->SetBranchStatus("fPlasticG",  true);
+   inputChain->SetBranchAddress("SplitPole", &m_EventData);
 }
 
 
@@ -302,7 +307,7 @@ void TSplitPolePhysics::ReadAnalysisConfig()
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::InitSpectra()
 {
-//   m_Spectra = new TSplitPoleSpectra(m_NumberOfDetectors);
+   m_Spectra = new TSplitPoleSpectra();
 }
 
 
@@ -310,9 +315,9 @@ void TSplitPolePhysics::InitSpectra()
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::FillSpectra()
 {
-//   m_Spectra->FillRawSpectra(m_EventData);
-//   m_Spectra->FillPreTreatedSpectra(m_PreTreatedData);
-//   m_Spectra->FillPhysicsSpectra(m_EventPhysics);
+   m_Spectra->FillRawSpectra(m_EventData);
+   m_Spectra->FillPreTreatedSpectra(m_PreTreatedData);
+   m_Spectra->FillPhysicsSpectra(m_EventPhysics);
 }
 
 
@@ -320,7 +325,7 @@ void TSplitPolePhysics::FillSpectra()
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::CheckSpectra()
 {
-//   m_Spectra->CheckSpectra();
+   m_Spectra->CheckSpectra();
 }
 
 
@@ -336,7 +341,20 @@ void TSplitPolePhysics::ClearSpectra()
 ///////////////////////////////////////////////////////////////////////////
 void TSplitPolePhysics::WriteSpectra()
 {
-//   m_Spectra->WriteSpectra();
+   m_Spectra->WriteSpectra();
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+map<string, TH1*> TSplitPolePhysics::GetSpectra()
+{
+   if (m_Spectra)
+      return m_Spectra->GetMapHisto();
+   else {
+      map< string , TH1*> empty;
+      return empty;
+   }
 }
 
 
diff --git a/NPLib/SplitPole/TSplitPolePhysics.h b/NPLib/SplitPole/TSplitPolePhysics.h
index cae3aae3e6ce5fa406c042ff6fc974e8f2a2fe50..66b86b3f36fc3da1169c0e09b5956fb65a3a55a5 100644
--- a/NPLib/SplitPole/TSplitPolePhysics.h
+++ b/NPLib/SplitPole/TSplitPolePhysics.h
@@ -23,16 +23,22 @@
  *****************************************************************************/
 //   STL
 #include <vector>
+#include <map>
 using namespace std;
 
 //   ROOT
 #include "TObject.h"
+#include "TH1.h"
 
 //   NPL
 #include "TSplitPoleData.h"
+#include "TSplitPoleSpectra.h"
 #include "NPVDetector.h"
 #include "NPCalibrationManager.h"
 
+// forward declaration
+class TSplitPoleSpectra;
+
 
 class TSplitPolePhysics : public TObject, public NPL::VDetector
 {
@@ -155,6 +161,12 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector
       Double_t m_CalibP1;  //!
 
 
+   private: // Spectra Class
+      TSplitPoleSpectra* m_Spectra; // !
+
+   public: // Spectra Getter
+      map<string, TH1*> GetSpectra();
+
    public: // Static constructor to be passed to the Detector Factory
      static NPL::VDetector* Construct();
 
diff --git a/NPLib/W1/TW1Physics.h b/NPLib/W1/TW1Physics.h
index b86001c1ba8f1f360862c8ea93bae8e0649dc1a7..1d32c919f51f133f3a421684ddf33be722dcd63c 100644
--- a/NPLib/W1/TW1Physics.h
+++ b/NPLib/W1/TW1Physics.h
@@ -24,7 +24,7 @@
 // C++ headers 
 #include <vector>
 #include <map>
-using namespace std ;
+using namespace std;
 
 // ROOT headers
 #include "TObject.h"