diff --git lucene/src/java/org/apache/lucene/search/similarities/NormalizationH1.java lucene/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
index 98ed604..9d28e96 100644
--- lucene/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
+++ lucene/src/java/org/apache/lucene/search/similarities/NormalizationH1.java
@@ -19,11 +19,27 @@ package org.apache.lucene.search.similarities;
 
  * Normalization model that assumes a uniform distribution of the term frequency.
+ * <p>While this model is parameterless in the
+ * <a href="http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.742">
+ * original article</a>, <a href="http://dl.acm.org/citation.cfm?id=1835490">
+ * information-based models</a> (see {@link IBSimilarity}) introduced a
+ * multiplying factor.
+ * The default value for the {@code c} parameter is {@code 1}.</p>
  * @lucene.experimental
  */
 public class NormalizationH1 extends Normalization {
+  private final float c;
+  
+  public NormalizationH1(float c) {
+    this.c = c;
+  }
+
+  public NormalizationH1() {
+    this(1);
+  }
+  
   @Override
   public final float tfn(BasicStats stats, float tf, float len) {
-    return tf * stats.getAvgFieldLength() / len;
+    return tf * c * stats.getAvgFieldLength() / len;
   }
 
   @Override
diff --git lucene/src/java/org/apache/lucene/search/similarities/NormalizationH2.java lucene/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
index ad7f965..cc2114a 100644
--- lucene/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
+++ lucene/src/java/org/apache/lucene/search/similarities/NormalizationH2.java
@@ -22,11 +22,26 @@ import static org.apache.lucene.search.similarities.SimilarityBase.log2;
  * Normalization model in which the term frequency is inversely related to the
  * length.
+ * <p>While this model is parameterless in the
+ * <a href="http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.742">
+ * original article</a>, the <a href="http://theses.gla.ac.uk/1570/">thesis</a>
+ * introduces the parameterized variant.
+ * The default value for the {@code c} parameter is {@code 1}.</p>
  * @lucene.experimental
  */
 public class NormalizationH2 extends Normalization {
+  private final float c;
+  
+  public NormalizationH2(float c) {
+    this.c = c;
+  }
+
+  public NormalizationH2() {
+    this(1);
+  }
+  
   @Override
   public final float tfn(BasicStats stats, float tf, float len) {
-    return (float)(tf * log2(1 + stats.getAvgFieldLength() / len));
+    return (float)(tf * log2(1 + c * stats.getAvgFieldLength() / len));
   }
 
   @Override
