diff --git a/Detector/Calo/include/Detector/Calo/DeCalorimeter.h b/Detector/Calo/include/Detector/Calo/DeCalorimeter.h
index d38be2bad5da78ab266a3ecd5309fb500eecb0f0..b3ead237e43570b58053bd90a224cb78f8dd2b77 100644
--- a/Detector/Calo/include/Detector/Calo/DeCalorimeter.h
+++ b/Detector/Calo/include/Detector/Calo/DeCalorimeter.h
@@ -29,6 +29,25 @@ namespace LHCb::Detector::Calo {
   /// definition of calorimeter planes
   enum Plane { Front = 0, Middle, ShowerMax, Back };
 
+  inline std::string toString( Plane e ) {
+    switch ( e ) {
+    case Plane::Front:
+      return "Front";
+    case Plane::ShowerMax:
+      return "ShowerMax";
+    case Plane::Middle:
+      return "Middle";
+    case Plane::Back:
+      return "Back";
+    default:
+      throw "Not a correct plane in Calo";
+    }
+  }
+
+  inline std::ostream& toStream( Plane e, std::ostream& os ) { return os << std::quoted( toString( e ), '\'' ); }
+
+  inline std::ostream& operator<<( std::ostream& s, Plane e ) { return toStream( e, s ); }
+
   namespace detail {
 
     struct DeCaloObject : LHCb::Detector::detail::DeIOVObject {