diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog
index f07adaca28d1dac9a4dfc40d32498fc25d20f761..0fd1a2ec0697eba4274066ab71bff062350a260c 100644
--- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog
+++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/Changelog
@@ -1,3 +1,7 @@
+28 July 2016 Mark Hodgkinson
+Add charged Pt, expected energy deposit and inDensEnrvironment histograms binned in three eta ranges.
+Tag as PFOHistUtils-00-00-13
+
 29 June Mark Hodgkinson
 Update histogram binnings
 Tag as PFOHistUtils-00-00-12
diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h
index 7a94671fe8654bf45d405821c840971275b88c72..ffab78a96c1f415a7175379df3de8fa0d4f8e04f 100644
--- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h
+++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOAlgPropertyPlots.h
@@ -23,6 +23,17 @@ namespace PFO {
     TH1* m_PFO_isInDenseEnvironment;
     TH1* m_PFO_tracksExpectedEnergyDeposit;
 
+    /* Same histograms in three eta bins of |eta| < 1, 1 <= |eta| < 2 and |eta| >= 2 */
+    TH1* m_PFO_isInDenseEnvironment_etaBinA;
+    TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinA;
+
+    TH1* m_PFO_isInDenseEnvironment_etaBinB;
+    TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinB;
+
+    TH1* m_PFO_isInDenseEnvironment_etaBinC;
+    TH1* m_PFO_tracksExpectedEnergyDeposit_etaBinC;
+
+    
     void initializePlots();
     std::string m_sPFOContainerName;
     
diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h
index fc0f5c982a6359e31f25797d4d00343ccb511501..b813d68cd572f2553854731263673a5755f56a32 100644
--- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h
+++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/PFOHistUtils/PFOPlots.h
@@ -24,6 +24,11 @@ namespace PFO {
      TH1* m_PFO_phi;
      TH1* m_PFO_m;
 
+    /** Pt Histogram binned in eta */
+    TH1* m_PFO_pt_etaBinA;
+    TH1* m_PFO_pt_etaBinB;
+    TH1* m_PFO_pt_etaBinC;
+    
      void initializePlots();
      std::string m_sPFOContainerName;
 
diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx
index 9d2dda1c0a294a5f7afecc66e4423d037c13203d..fcbeee6a2979399c3178f98c556fb5aa91cf0783 100644
--- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx
+++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOAlgPropertyPlots.cxx
@@ -15,6 +15,16 @@ namespace PFO {
 
     m_PFO_isInDenseEnvironment = Book1D("PFO_isInDenseEnvironment",m_sPFOContainerName+"PFO_isInDenseEnvironment",3,-1,2);
     m_PFO_tracksExpectedEnergyDeposit = Book1D("PFO_tracksExpectedEnergyDeposit",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit",11,-1,10);
+
+    m_PFO_isInDenseEnvironment_etaBinA = Book1D("PFO_isInDenseEnvironment_binA",m_sPFOContainerName+"PFO_isInDenseEnvironment (|eta| < 1)",3,-1,2);
+    m_PFO_tracksExpectedEnergyDeposit_etaBinA = Book1D("PFO_tracksExpectedEnergyDeposit_binA)",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (|eta| < 1)",11,-1,10);
+
+    m_PFO_isInDenseEnvironment_etaBinB = Book1D("PFO_isInDenseEnvironment_binB",m_sPFOContainerName+"PFO_isInDenseEnvironment (1 <= |eta| < 2)",3,-1,2);
+    m_PFO_tracksExpectedEnergyDeposit_etaBinB = Book1D("PFO_tracksExpectedEnergyDeposit_binB",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (1 <= |eta| < 2)",11,-1,10);
+
+    m_PFO_isInDenseEnvironment_etaBinC = Book1D("PFO_isInDenseEnvironment_binC",m_sPFOContainerName+"PFO_isInDenseEnvironment (|eta| >= 2)",3,-1,2);
+    m_PFO_tracksExpectedEnergyDeposit_etaBinC = Book1D("PFO_tracksExpectedEnergyDeposit_binC",m_sPFOContainerName+"PFO_tracksExpectedEnergyDeposit (|eta| >= 2)",11,-1,10);
+    
     
   }
 
@@ -23,14 +33,34 @@ namespace PFO {
     xAOD::PFODetails::PFOAttributes myAttribute_isInDenseEnvironment = xAOD::PFODetails::PFOAttributes::eflowRec_isInDenseEnvironment;
     int isInDenseEnvironment = false;
     bool gotAttribute = PFO.attribute(myAttribute_isInDenseEnvironment,isInDenseEnvironment);
-    if (true == gotAttribute) m_PFO_isInDenseEnvironment->Fill(isInDenseEnvironment);
-    else m_PFO_isInDenseEnvironment->Fill(-1.0);
+    if (true == gotAttribute) {
+      m_PFO_isInDenseEnvironment->Fill(isInDenseEnvironment);
+      if (fabs(PFO.eta()) < 1) m_PFO_isInDenseEnvironment_etaBinA->Fill(isInDenseEnvironment);
+      else if (fabs(PFO.eta()) < 2) m_PFO_isInDenseEnvironment_etaBinB->Fill(isInDenseEnvironment);
+      else m_PFO_isInDenseEnvironment_etaBinC->Fill(isInDenseEnvironment);
+    }
 
+    else {
+      m_PFO_isInDenseEnvironment->Fill(-1.0);
+      if (fabs(PFO.eta()) < 1) m_PFO_isInDenseEnvironment_etaBinA->Fill(-1.0);
+      else if (fabs(PFO.eta()) < 2) m_PFO_isInDenseEnvironment_etaBinB->Fill(-1.0);
+      else m_PFO_isInDenseEnvironment_etaBinC->Fill(-1.0);
+    }
+      
     float expectedEnergy = 0.0;
     xAOD::PFODetails::PFOAttributes myAttribute_tracksExpectedEnergyDeposit = xAOD::PFODetails::PFOAttributes::eflowRec_tracksExpectedEnergyDeposit;
     gotAttribute = PFO.attribute(myAttribute_tracksExpectedEnergyDeposit,expectedEnergy);
-    if (true == gotAttribute) m_PFO_tracksExpectedEnergyDeposit->Fill(expectedEnergy/1000.0);
-    else  m_PFO_tracksExpectedEnergyDeposit->Fill(-1.0);
-  
+    if (true == gotAttribute) {
+      m_PFO_tracksExpectedEnergyDeposit->Fill(expectedEnergy/1000.0);
+      if (fabs(PFO.eta()) < 1)  m_PFO_tracksExpectedEnergyDeposit_etaBinA->Fill(expectedEnergy/1000.0);
+      else if (fabs(PFO.eta()) < 2) m_PFO_tracksExpectedEnergyDeposit_etaBinB->Fill(expectedEnergy/1000.0);
+      else m_PFO_tracksExpectedEnergyDeposit_etaBinC->Fill(expectedEnergy/1000.0);
+    }
+    else{
+      m_PFO_tracksExpectedEnergyDeposit->Fill(-1.0);
+      if (fabs(PFO.eta()) < 1)  m_PFO_tracksExpectedEnergyDeposit_etaBinA->Fill(-1.0);
+      else if (fabs(PFO.eta()) < 2) m_PFO_tracksExpectedEnergyDeposit_etaBinB->Fill(-1.0);
+      else m_PFO_tracksExpectedEnergyDeposit_etaBinC->Fill(-1.0);
+    }
   }
 }
diff --git a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx
index 4738c741566e99d2f33ecddb281b8406e9619cf3..740a0e9c73ad2d593353a589e874735c0e91848e 100644
--- a/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx
+++ b/Reconstruction/PFlow/PFlowValidation/PFOHistUtils/src/PFOPlots.cxx
@@ -20,6 +20,9 @@ namespace PFO {
     m_PFO_phi = Book1D("PFO_Phi",m_sPFOContainerName + "_Phi (Entries/0.1)",64,-3.2,3.2);
     m_PFO_m = Book1D("PFO_m",m_sPFOContainerName + "_m (Entries/100 MeV)",10,0.0,0.5);
 
+    m_PFO_pt_etaBinA = Book1D("PFO_Pt_A",m_sPFOContainerName + "_Pt (Entries/1 GeV, |eta| < 1 )",30,-10.0,20.0);
+    m_PFO_pt_etaBinB = Book1D("PFO_Pt_B)",m_sPFOContainerName + "_Pt (Entries/1 GeV,  1 <= |eta| < 2 )",30,-10.0,20.0);
+    m_PFO_pt_etaBinC = Book1D("PFO_Pt_C)",m_sPFOContainerName + "_Pt (Entries/1 GeV, |eta| >= 2 )",30,-10.0,20.0);
   }
 
   void PFOPlots::fill(const xAOD::PFO& PFO){
@@ -27,6 +30,11 @@ namespace PFO {
     m_PFO_eta->Fill(PFO.eta());
     m_PFO_phi->Fill(PFO.phi());
     m_PFO_m->Fill(PFO.m()/1000.0);
+
+    if (fabs(PFO.eta()) < 1)  m_PFO_pt_etaBinA->Fill(PFO.pt()/1000.0);
+    else if (fabs(PFO.eta()) < 2) m_PFO_pt_etaBinB->Fill(PFO.pt()/1000.0);
+    else m_PFO_pt_etaBinC->Fill(PFO.pt()/1000.0);
+    
   }
 
 }