def METHOD_NAME( file, var, var_val, r ) :
  dict = {}
  var_val_range=var_val;
  if var=="mu" and var_val>=muHighOffset: var_val_range=muHighOffset-1
  if var=="npv" and var_val>=npvHighOffset: var_val_range=npvHighOffset-1
  for pf in candidateType :
    name = "p_offset_eta_{}{}_{}".format( var, var_val_range, pf )
    p = file.FindObjectAny(name)
    if p == None : raise Exception( "Could not find {} profile in {}!".format(name, file.GetName()) )
    dict[pf] = p.ProjectionX( pf )
    dict[pf].Scale( r*r / 2 / var_val )
    xbins = p.GetXaxis().GetXbins().GetArray()
    for i in range(1, p.GetNbinsX()+1) :
      dict[pf].SetBinContent( i, dict[pf].GetBinContent(i) / (xbins[i]-xbins[i-1]) )
      dict[pf].SetBinError( i, dict[pf].GetBinError(i) / (xbins[i]-xbins[i-1]) )
  return dict