Miyaさん、have attended(現在完了形)はダメです。
その理由は、the night before(その前夜)があり、カンマの前の動詞 gathered(過去形)よりも前の時制、即ち 過去完了形(had attended)とならなければいけないからです。
そして、これは分詞構文の時制、態(能動態、受動態)の問題です。
全ての選択肢に ~ing が付いているでしょう。
①②③④の文を普通の文(接続詞+S+V~)に変換すると、以下のようになります。
①Several former classmates gathered for lunch, after they had attended their high school reunion the night before.
※having attended(完了形の現在分詞)=had attended ← 完了形はもう一つの動詞の時制よりも前(=昔)の時制を表す
②Several former classmates gathered for lunch, after they attended their high school reunion the night before.
③Several former classmates gathered for lunch, after they had been attending their high school reunion the night before.
※having been attending(完了進行形の現在分詞)=had been attending(過去完了進行形) ✕進行形(「ずっと出席していた」?)
④Several former classmates gathered for lunch, after they were attended their high school reunion the night before.
※being attended(受動態の分詞構文)=were attended(過去形の受動態) ✕受動態(「出席させられた」?)
如何でしょうか?
参考になれば幸いです。
これって過去の習慣なんですか?