score:3

Accepted answer

I made a couple of changes in this updated fiddle: http://jsfiddle.net/henbox/a8r326m5/1/

First, when you set up the click handler, avoid calling it on page load by using:

.on("click", arcTween);

instead of

.on("click", arcTween());

as per Lars' explanation here. This will stop you getting "Object [object global] has no method 'getAttribute'" errors in the console

Second, bind some data to the path elements so we can manipulate it later:

arcGroup.append("path")
    .datum({endAngle:maxAngArc, startAngle:minAngArc})
    ....

And thirdly, use this data in the arcTween function. By setting maxAngArc and minAngArc, and then tweening the value of maxAngArc to minAngArc (I've asumed you mean to do this rather than tweening to 0), you should get the behaviour you want. The tween function:

function arcTween(d) {
    maxAngArc = d.endAngle;
    minAngArc = d.startAngle;
    d3.select(this).transition().duration(1000)
        .attrTween("d", function (d) {
        var interpolate = d3.interpolate(d.endAngle, d.startAngle);
        return function (t) {
            maxAngArc =  interpolate(t);
            return arc(d);
        };
    });
};