public MostSimilarGuess(KnownMostSim known, SRResultList guess) { this.known = known; length = guess.numDocs(); minScore = guess.minScore(); maxScore = guess.maxScore(); TIntDoubleMap actual = new TIntDoubleHashMap(); for (KnownSim ks : known.getMostSimilar()) { actual.put(ks.wpId2, ks.similarity); } for (int i = 0; i < guess.numDocs(); i++) { SRResult sr = guess.get(i); if (actual.containsKey(sr.getId())) { observations.add(new Observation(i+1, sr.getId(), sr.getScore(), actual.get(sr.getId()))); } } }