When the tomato hit the back of his head, Sweeney fought the urge to turn around and punch her. Had it been a man, he probably would have done just that. But she was a she and therefore not on his list of physically assaulting in such a way. Besides, he was in far too good a mood to have that ruin it.
And the Djinn probably wanted him to react aggressively. Still forgetting that he hated her, he turned a touch too quickly to face her, wobbling a bit as he turned. Then Sweeney grabbed a handful of smashed tomato from the back of his head and hurled it back at her, laughing whilst he did it.
That should teach her to throw rotten tomatoes at him. All he'd do in return is throw them back at her. Part of him hoped it would stain her little top... thing.
Really, all Sweeney had meant by the pat was a reassurance that he wasn't after her that way. Because he totally wasn't. In fact, she was a cabbage patch devoid of any sexual identity beyond the necessity to give an appropriate pronoun to ascribe to her gender. Did Djinn even have gender? Leprechauns, as Sweeney knew, were more like humans than not.
Reassurance, that's all he meant by it and she had to misconstrue it and get offended.