/src/main/java/net/finmath/montecarlo/assetderivativevaluation/products/EuropeanOptionRhoLikelihood.java
if( modifiedPayoff / ( numeraireAtMaturity.get( path) ) * monteCarloWeights.get( path)) {
if ( underlyingAtMaturity.get ( path ) > strike ) {
final RandomVariable underlyingAtToday = model.getAssetValue(0.0,0); final RandomVariable numeraireAtToday = model.getNumeraire(0); final RandomVariable monteCarloWeights = model.getMonteCarloWeights(maturity); double average = 0.0; for(int path=0; path<model.getNumberOfPaths(); path++) { <extra_id_0> final double T = maturity; final double S0 = underlyingAtToday.get(path); final double r = blackScholesModel.getModel().getRiskFreeRate().doubleValue(); final double sigma = blackScholesModel.getModel().getVolatility().doubleValue(); final double ST = underlyingAtMaturity.get(path); final double x = 1.0 / (sigma * Math.sqrt(T)) * (Math.log(ST) - (r * T - 0.5 * sigma*sigma * T + Math.log(S0)));