ArduPlane Autotune

Wondering if anyone can point me to a description of how the autotune actually works - how PID values are determined.

Thanks.