diff --git a/corsika/modules/thinning/EMThinning.hpp b/corsika/modules/thinning/EMThinning.hpp
index b414be4925825069866a7b46bdd01fb79d70336c..d7c580b9073be79fcedb667efe922c58c26ac69c 100644
--- a/corsika/modules/thinning/EMThinning.hpp
+++ b/corsika/modules/thinning/EMThinning.hpp
@@ -16,7 +16,9 @@
 
 namespace corsika {
 
-  //! This process implements thinning for EM splitting processes (1 -> 2)
+  /**
+   * This process implements thinning for EM splitting processes (1 -> 2).
+   */
 
   class EMThinning : public SecondariesProcess<EMThinning> {
   public:
@@ -32,7 +34,13 @@ namespace corsika {
      * Apply thinning to secondaries. Only EM primaries with two EM secondaries are
      * considered.
      *
-     * @tparam TStackView
+     * If the maximum weight is still out of reach, Hillas thinning is applied (i.e.
+     * one of the two secondaries is kept, the other one discarded). If the acceptance
+     * probabilities would lead to a weight factor exceeding the maximum weight, we resort
+     * to statistical thinning (i.e. the secondaries are kept/discared randomly each on is
+     * own). In that case, acceptance probabilities can be assigned without constraints
+     * (sum does not need to be 1) and we increase the acceptance probability such that
+     * the maximum weight is not exceeded.
      */
     template <typename TStackView>
     void doSecondaries(TStackView&);