diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc
index abd95beef9c1c5e7f816cb53bf03ef3161757b76..764eeeba0cd920bf2fa137d6b2f0afb99e7072b8 100644
--- a/Documentation/Examples/cascade_example.cc
+++ b/Documentation/Examples/cascade_example.cc
@@ -290,7 +290,7 @@ int main() {
   const int nuclA = 4;
   const int nuclZ = int(nuclA / 2.15 + 0.7);
   const HEPMassType mass = GetNucleusMass(nuclA, nuclZ);
-  const HEPEnergyType E0 = nuclA * 100_GeV;
+  const HEPEnergyType E0 = nuclA * 10_TeV;
   double theta = 0.;
   double phi = 0.;
 
@@ -321,7 +321,8 @@ int main() {
   EAS.Init();
   EAS.Run();
 
-  cout << "Result: E0=" << E0 / 1_GeV << endl;
+  eLoss.PrintProfile(); // print longitudinal profile
+
   cut.ShowResults();
   const HEPEnergyType Efinal =
       cut.GetCutEnergy() + cut.GetInvEnergy() + cut.GetEmEnergy();
@@ -329,5 +330,4 @@ int main() {
        << "relative difference (%): " << (Efinal / E0 - 1) * 100 << endl;
   cout << "total dEdX energy (GeV): " << eLoss.GetTotal() / 1_GeV << endl
        << "relative difference (%): " << eLoss.GetTotal() / E0 * 100 << endl;
-  eLoss.SaveSave();
 }
diff --git a/Processes/EnergyLoss/EnergyLoss.cc b/Processes/EnergyLoss/EnergyLoss.cc
index 1e23f72062d449c27f0b9ac175e3dacfbb2958b0..a20158bb96623895c1af1454eae79d33740b6da5 100644
--- a/Processes/EnergyLoss/EnergyLoss.cc
+++ b/Processes/EnergyLoss/EnergyLoss.cc
@@ -35,7 +35,9 @@ namespace corsika::process::EnergyLoss {
   };
 
   EnergyLoss::EnergyLoss()
-      : fEnergyLossTot(0_GeV) {}
+      : fEnergyLossTot(0_GeV)
+      , fdX(10_g / square(1_cm)) // profile binning
+  {}
 
   /**
    *   PDG2018, passage of particles through matter
@@ -190,8 +192,6 @@ namespace corsika::process::EnergyLoss {
 
     using namespace corsika::geometry;
 
-    const GrammageType deltaX = 10_g / square(1_cm); // binning
-
     CoordinateSystem const& rootCS =
         RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
     Point pos1(rootCS, 0_m, 0_m, 0_m);
@@ -202,17 +202,21 @@ namespace corsika::process::EnergyLoss {
     GrammageType const grammage =
         p.GetNode()->GetModelProperties().IntegratedGrammage(t, t.GetLength());
 
-    const int bin = grammage / deltaX;
+    const int bin = grammage / fdX;
 
-    if (!fSave.count(bin)) { cout << "EnergyLoss new x bin " << bin << endl; }
-    fSave[bin] += -dE / 1_GeV;
+    // fill longitudinal profile
+    if (!fProfile.count(bin)) { cout << "EnergyLoss new x bin " << bin << endl; }
+    fProfile[bin] += -dE / 1_GeV;
     return bin;
   }
 
-  void EnergyLoss::SaveSave() {
+  void EnergyLoss::PrintProfile() const {
 
-    cout << "EnergyLoss Save " << endl;
-    for (auto v : fSave) { cout << v.first << " " << v.second << endl; }
+    cout << "EnergyLoss PrintProfile  X-bin [g/cm2]  dE/dX [GeV/g/cm2]  " << endl;
+    double const deltaX = fdX / 1_g * square(1_cm);
+    for (auto v : fProfile) {
+      cout << v.first * deltaX << " " << v.second / deltaX << endl;
+    }
   }
 
 } // namespace corsika::process::EnergyLoss
diff --git a/Processes/EnergyLoss/EnergyLoss.h b/Processes/EnergyLoss/EnergyLoss.h
index 75971bc8c0762b53a254f401da55ecf137407aef..5eb2a6b6782b12bb7b336e67d43e2882d666b80a 100644
--- a/Processes/EnergyLoss/EnergyLoss.h
+++ b/Processes/EnergyLoss/EnergyLoss.h
@@ -41,7 +41,7 @@ namespace corsika::process::EnergyLoss {
                                                  corsika::setup::Trajectory&);
 
     corsika::units::si::HEPEnergyType GetTotal() const { return fEnergyLossTot; }
-    void SaveSave();
+    void PrintProfile() const;
 
   private:
     corsika::units::si::HEPEnergyType BetheBloch(
@@ -52,7 +52,8 @@ namespace corsika::process::EnergyLoss {
                 const corsika::units::si::HEPEnergyType dE);
 
     corsika::units::si::HEPEnergyType fEnergyLossTot;
-    std::map<int, double> fSave;
+    corsika::units::si::GrammageType fdX; // profile binning
+    std::map<int, double> fProfile;       // longitudinal profile
   };
 
 } // namespace corsika::process::EnergyLoss