diff --git a/NPLib/Tiara/TTiaraBarrelPhysics.cxx b/NPLib/Tiara/TTiaraBarrelPhysics.cxx
index 996b98aa2d0747d6b1e1cb6d2fa8f85cd4c609c0..5a75575f09ccfdebd33601cb2adb26fa28c2a453 100644
--- a/NPLib/Tiara/TTiaraBarrelPhysics.cxx
+++ b/NPLib/Tiara/TTiaraBarrelPhysics.cxx
@@ -49,11 +49,11 @@ ClassImp(TTiaraBarrelPhysics)
     m_EventData         = new TTiaraBarrelData ;
     m_PreTreatedData    = new TTiaraBarrelData ;
     m_EventPhysics      = this ;
-    m_NumberOfDetector = 0 ;
+    m_NumberOfDetector  = 0 ;
 
     m_Take_E_Strip= true;
     m_Take_T_Back=true;
-    m_Strip_E_RAW_Threshold=0 ;
+    m_Strip_E_Threshold=0.4 ;
     m_Back_E_Threshold =0;
     m_OuterStrip_E_RAW_Threshold =0;
     m_OuterBack_E_Threshold =0;
@@ -69,65 +69,12 @@ void TTiaraBarrelPhysics::BuildPhysicalEvent(){
   PreTreat();
 
 
-  /*  
-      if( CheckEvent() == 1 ){
-      vector< TVector2 > couple = Match_Ring_Sector() ;
-      EventMultiplicity = couple.size();
-
-      unsigned int size = couple.size();
-      for(unsigned int i = 0 ; i < size ; ++i){
-
-      int N = m_PreTreatedData->GetRingEDetectorNbr(couple[i].X()) ;
-      int Ring = m_PreTreatedData->GetRingEStripNbr(couple[i].X()) ;
-      int Sector  = m_PreTreatedData->GetSectorEStripNbr(couple[i].Y()) ;
-
-      double Ring_E = m_PreTreatedData->GetRingEEnergy( couple[i].X() ) ;
-      double Sector_E  = m_PreTreatedData->GetSectorEEnergy( couple[i].Y() ) ;
-
-  // Search for associate Time:
-  double Ring_T = -1000 ;
-  unsigned int StripRingTMult = m_PreTreatedData->GetRingTMult(); 
-  for(unsigned int t = 0 ; t < StripRingTMult ; ++t ){
-  if(  m_PreTreatedData->GetRingEStripNbr( couple[i].X() ) == m_PreTreatedData->GetRingTStripNbr(t)
-  &&m_PreTreatedData->GetRingEDetectorNbr( couple[i].X() ) == m_PreTreatedData->GetRingTDetectorNbr(t))
-  Ring_T = m_PreTreatedData->GetRingTTime(t);
-  }
-
-  // Search for associate Time:
-  double Sector_T = -1000 ;
-  unsigned int StripSectorTMult = m_PreTreatedData->GetSectorTMult(); 
-  for(unsigned int t = 0 ; t < StripSectorTMult ; ++t ){
-  if(  m_PreTreatedData->GetSectorEStripNbr( couple[i].X() ) == m_PreTreatedData->GetSectorTStripNbr(t)
-  &&m_PreTreatedData->GetSectorEDetectorNbr( couple[i].X() ) == m_PreTreatedData->GetSectorTDetectorNbr(t))
-  Sector_T = m_PreTreatedData->GetSectorTTime(t);
-  }
-
-  DetectorNumber.push_back(N);
-  StripRing_E.push_back(Ring_E);
-  StripRing_T.push_back(Ring_T) ;
-  StripSector_E.push_back(Sector_E) ;
-  StripSector_T.push_back(Sector_T) ;
-
-  if(m_Take_E_Ring)
-  Strip_E.push_back(Ring_E) ;
-  else
-  Strip_E.push_back(Sector_E) ;
 
-  if(m_Take_T_Sector)
-  Strip_T.push_back(Sector_T) ;
-  else
-  Strip_T.push_back(Ring_T) ;
-
-  Strip_Ring.push_back(Ring) ;
-  Strip_Sector.push_back(Sector) ;
-  }
-  }*/
 }
 
 ///////////////////////////////////////////////////////////////////////////
 void TTiaraBarrelPhysics::PreTreat(){
   ClearPreTreatedData();
-
   // Gain Calibration
   // The cal function first call the MatchStick one
   unsigned int sizeU = m_EventData-> GetFrontUpstreamEMult();
@@ -144,13 +91,13 @@ void TTiaraBarrelPhysics::PreTreat(){
         m_PreTreatedData->SetFrontDownstreamE(m_EventData-> GetFrontDownstreamEDetectorNbr(i),
                                            m_EventData-> GetFrontDownstreamEStripNbr(i),
                                            ED);
-      if(EU>0 && ED>0){
+      if(EU>0 && ED>0 && EU+ED > m_Strip_E_Threshold){
         if( m_EventData->GetFrontUpstreamEDetectorNbr(i) 
         == m_EventData->GetFrontDownstreamEDetectorNbr(j)
         && m_EventData->GetFrontUpstreamEStripNbr(i) 
         == m_EventData->GetFrontDownstreamEStripNbr(j)){
             
-        //  
+       
         double POS =
               CalibrationManager::getInstance()->ApplyResistivePositionCalibration("TIARABARREL/B"+itoa(m_EventData->GetFrontUpstreamEDetectorNbr(i))+"_STRIP"+itoa(m_EventData->GetFrontUpstreamEStripNbr(i))+"_POS",(ED-EU)/(EU+ED));
             Strip_Pos.push_back(POS); 
@@ -163,6 +110,10 @@ void TTiaraBarrelPhysics::PreTreat(){
         + itoa(m_EventData->GetFrontDownstreamEStripNbr(i)),
         POS);
 
+
+        DetectorNumber.push_back(m_EventData->GetFrontDownstreamEDetectorNbr(i));
+        Strip_N.push_back(m_EventData->GetFrontDownstreamEStripNbr(i)); 
+        Strip_Pos.push_back(POS);
         Strip_E.push_back(E);
         }
       }
@@ -601,11 +552,19 @@ TVector3 TTiaraBarrelPhysics::GetDetectorNormal( const int i) const{
 }
 ///////////////////////////////////////////////////////////////////////////////
 TVector3 TTiaraBarrelPhysics::GetPositionOfInteraction(const int i) const{
-  /*  TVector3 Position = TVector3 ( GetStripPositionX(DetectorNumber[i],Strip_Ring[i],Strip_Sector[i] )    ,
-      GetStripPositionY( DetectorNumber[i],Strip_Ring[i],Strip_Sector[i] )    ,
-      GetStripPositionZ( DetectorNumber[i],Strip_Ring[i],Strip_Sector[i] )    ) ;
-      */
-  return(TVector3(0,0,0)) ;
+ // All in mm 
+  double INNERBARREL_PCB_Width  = 27.76;
+  double INNERBARREL_ActiveWafer_Length = 94.80; 
+  double INNERBARREL_ActiveWafer_Width = 24.0;
+
+  double StripPitch = INNERBARREL_ActiveWafer_Width/4. ;
+
+  double X = Strip_N[i]*StripPitch-0.5*INNERBARREL_ActiveWafer_Width;
+  double Y = INNERBARREL_PCB_Width*(0.5+sin(45*deg))  ; 
+  double Z = (Strip_Pos[i]-0.5)*INNERBARREL_ActiveWafer_Length ;
+  TVector3 POS(X,Y,Z);
+  POS.RotateZ((DetectorNumber[i]-1)*45*deg);
+  return( POS ) ;
 
 }
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/NPLib/Tiara/TTiaraBarrelSpectra.cxx b/NPLib/Tiara/TTiaraBarrelSpectra.cxx
index dd9a64936bbf975fa7f923472977b0c28c573688..b9e072906d39dc26e0b7e911beb6f31820c3e53c 100644
--- a/NPLib/Tiara/TTiaraBarrelSpectra.cxx
+++ b/NPLib/Tiara/TTiaraBarrelSpectra.cxx
@@ -140,6 +140,16 @@ string name ;
       AddHisto2D(name, name,1000,-0.5,1.5,1000,0,30,BaseFamily);
     }
   }
+  //// E Theta ////
+  // Inner Barrel
+  for(unsigned int i  = 0 ; i < fNumberOfDetector ; i++){
+    for(unsigned int j = 0 ; j < fInnerBarrelStrip;j++){
+      name = Form("IB%d_ETHETA%d_CAL",i+1,j+1);
+      AddHisto2D(name, name,360,0,180,1000,0,30,BaseFamily);
+    }
+  }
+
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -258,8 +268,14 @@ string name ;
   unsigned int size = Physics->Strip_E.size();
   for(unsigned int i  = 0 ; i < Physics->Strip_E.size() ; i++){
       name = Form("IB%d_EPOS%d_CAL",Physics->DetectorNumber[i],Physics->Strip_N[i]);
-        GetHisto(family,name)
+      GetHisto(family,name)
         ->Fill(Physics->Strip_Pos[i],Physics->Strip_E[i]);
+    
+       name = Form("IB%d_ETHETA%d_CAL",Physics->DetectorNumber[i],Physics->Strip_N[i]);
+       double Theta = Physics->GetPositionOfInteraction(i).Angle(TVector3(0,0,1));
+
+       GetHisto(family,name)
+        ->Fill(Theta*rad/deg,Physics->Strip_E[i]);
     }
 }