final double rho = sabrData.getSABRParameter().getRho(expiryMaturity);
final double nu = sabrData.getSABRParameter().getNu(expiryMaturity);
final SABRFormulaData sabrParam = new SABRFormulaData(alpha, beta, rho, nu);
final SABRExtrapolationRightFunction sabrExtrapolation = new SABRExtrapolationRightFunction(forward, sabrParam, _cutOffStrike, swaption.getTimeToExpiry(), _mu);
final double[] priceDSabr = new double[4];
sabrExtrapolation.priceAdjointSABR(swaption, priceDSabr);
final double omega = (swaption.isLong() ? 1.0 : -1.0);
sensi.addAlpha(expiryMaturity, omega * discountFactorSettle * pvbp * priceDSabr[0]);
sensi.addBeta(expiryMaturity, omega * discountFactorSettle * pvbp * priceDSabr[1]);
sensi.addRho(expiryMaturity, omega * discountFactorSettle * pvbp * priceDSabr[2]);
sensi.addNu(expiryMaturity, omega * discountFactorSettle * pvbp * priceDSabr[3]);