Can science explain why people give to charity?