@Kris The simple answer is no, you cannot get a refund. The Terms & Conditions of your contract state that O2 does not guarantee 100% up time, and that outages can occasionally occur.
You can speak to customer service https://www.o2.co.uk/contactus or lodge a complaint https://www.o2.co.uk/how-to-complain but bear in mind that the outage yesterday affected 32 million customers who all possibly had calls to make or receive that may have been important.
Edit: You can also join in the discussion here concerning the outage yesterday: https://community.o2.co.uk/t5/Welcome-News/O2-Network-Issues-6th-December-2018/m-p/1176516#M27758
Track usage, upgrade and get support with the My O2 appDownload My O2