If you have been there fore 20 years and they fire you over one random test, that is bullshit. I would just say you mistakenly smoked a marijuana cigar at a party and that you can test again in a week or two to prove you are clean. You should at least ask for a second chance, the worst they can say is no. And if they say no after you ask, at least you asked. Don't just give up, it makes you look like you did something wrong, and smoking marijuana is not wrong!