diff --git a/src/modules/AnalysisEfficiency/AnalysisEfficiency.cpp b/src/modules/AnalysisEfficiency/AnalysisEfficiency.cpp
index 32f4a2a891eebda0d03d2247f275346f247f2d6c..fdf1f4a9839fed3215a8e482d5843dc5fdf28682 100644
--- a/src/modules/AnalysisEfficiency/AnalysisEfficiency.cpp
+++ b/src/modules/AnalysisEfficiency/AnalysisEfficiency.cpp
@@ -24,7 +24,7 @@ AnalysisEfficiency::AnalysisEfficiency(Configuration& config, std::shared_ptr<De
     config_.setDefault<double>("time_cut_frameedge", Units::get<double>(20, "ns"));
     config_.setDefault<double>("chi2ndof_cut", 3.);
     config_.setDefault<ROOT::Math::XYPoint>("inpixel_bin_size", {Units::get(1.0, "um"), Units::get(1.0, "um")});
-    config_.setDefault<XYVector>("inpixel_cut_edge", {Units::get(5.0, "um"), Units::get(5.0, "um")});
+    config_.setDefault<ROOT::Math::XYPoint>("inpixel_cut_edge", {Units::get(5.0, "um"), Units::get(5.0, "um")});
     config_.setDefault<double>("masked_pixel_distance_cut", 1.);
     config_.setDefault<double>("spatial_cut_sensoredge", 1.);
     config_.setDefault<FakeRateMethod>("fake_rate_method", FakeRateMethod::RADIUS);
@@ -35,7 +35,6 @@ AnalysisEfficiency::AnalysisEfficiency(Configuration& config, std::shared_ptr<De
     m_timeCutFrameEdge = config_.get<double>("time_cut_frameedge");
     m_chi2ndofCut = config_.get<double>("chi2ndof_cut");
     require_associated_cluster_on_ = config_.getArray<std::string>("require_associated_cluster_on", {});
-    m_inpixelEdgeCut = config_.get<XYVector>("inpixel_cut_edge");
     m_maskedPixelDistanceCut = config_.get<int>("masked_pixel_distance_cut");
     spatial_cut_sensoredge = config_.get<double>("spatial_cut_sensoredge");
     m_fake_rate_method = config_.get<FakeRateMethod>("fake_rate_method");
@@ -49,6 +48,13 @@ AnalysisEfficiency::AnalysisEfficiency(Configuration& config, std::shared_ptr<De
         auto binsize = config_.get<double>("inpixel_bin_size");
         m_inpixelBinSize = ROOT::Math::XYPoint(binsize, binsize);
     }
+
+    if(config_.getArray<double>("inpixel_cut_edge").size() == 2) {
+        m_inpixelEdgeCut = config_.get<ROOT::Math::XYPoint>("inpixel_cut_edge");
+    } else {
+        auto edgecut = config_.get<double>("inpixel_cut_edge");
+        m_inpixelEdgeCut = ROOT::Math::XYPoint(edgecut, edgecut);
+    }
 }
 void AnalysisEfficiency::initialize() {
 
diff --git a/src/modules/AnalysisEfficiency/AnalysisEfficiency.h b/src/modules/AnalysisEfficiency/AnalysisEfficiency.h
index bb1d729aef670efa210636e00347d28fa3bddfe2..43e8fc0e72efb07a4e60d5ddb8b4bb422c9bd556 100644
--- a/src/modules/AnalysisEfficiency/AnalysisEfficiency.h
+++ b/src/modules/AnalysisEfficiency/AnalysisEfficiency.h
@@ -103,8 +103,7 @@ namespace corryvreckan {
 
         double m_chi2ndofCut, m_timeCutFrameEdge, spatial_cut_sensoredge, m_fake_rate_distance, m_charge_histo_range;
         int m_n_charge_bins;
-        XYVector m_inpixelEdgeCut;
-        ROOT::Math::XYPoint m_inpixelBinSize;
+        ROOT::Math::XYPoint m_inpixelEdgeCut, m_inpixelBinSize;
         int m_maskedPixelDistanceCut = 1;
         int total_tracks = 0;
         int matched_tracks = 0;