Preheat the oven to 180°C (350°F/Gas 4) and grease a 23 cm cake tin. Roast the hazelnuts in the oven for about 10 minutes until golden brown. Set aside 1 heaped tablespoon of the nuts to decorate the cake with later and coarsely chop the rest with the panettone if using a food processor. [See notes below]. Place the nut mixture in the greased cake tin and shake them around the base and sides so they stick, creating a crust.
Cream the butter and sugar together until light and fluffy. Add the egg yolks one at a time. Chop the chestnuts roughly and add to the butter mixture, beating for a few minutes to amalgamate. Whisk the egg whites into soft peaks and fold into the butter mixture along with the nut mixture, sieved cocoa, flour if using and baking powder. Spoon into the tin and bake for about 45 minutes or until a skewer or knife inserted comes out clean. Cool on a wire rack.
To decorate, gently melt the chocolate and butter over simmering water, without the water touching the base of the bowl. Stir briefly and drizzle over the top of the cake in crisscross lines. Coarsely chop the remaining tablespoon of nuts or use whole and scatter over the chocolate while still warm so the nuts stick. Serve with whipped cream or crème fraiche.