UserHistory<? extends Event> history = dao.getEventsForUser(user, summarizer.eventTypeWanted());
if (history == null) {
history = History.forUser(user);
}
SparseVector summary = summarizer.summarize(history);
VectorTransformation transform = normalizer.makeTransformation(user, summary);
MutableSparseVector normed = summary.mutableCopy();
transform.apply(normed);
scores.clear();
algorithm.scoreItems(model, normed, scores, scorer);
// untransform the scores
transform.unapply(scores);
}