There is no need to look for an event, as a pipeline task can be configured to execute where the build was cancelled.
Note: this applies (as far as I am aware) to any task of the pipeline:
Specifically, the Run this task setting, under Control Options will let you dictate when and under what conditions a task will run.
In the example above, this task will execute even if previous tasks fail, and even if the build was canceled.
In your case, I would place this as the last task that will perform the cleanup that you want, regardless of the outcome of the build.