Error with if-and statement

Hello all, I’m having an odd problem while using ROOT 5.34/28, on Ubuntu 12.04.5 LTS (work computer). I’m doing a simple data analysis on an ntuple, and in one of my macros, I’m just counting how many times a certain event occurs, and I’m doing this with an if-and command. When I try to load the macro in ROOT and run it, I get the following message:

root [0] .L Decay.C
root [1] Decay a
root [2] a.Loop();
Error: Function and(abs(B_TRUEID)==541) is not defined in current scope Decay.C:75:
*** Interpreter error recovered ***

This is the line in question, taken from my .C file:

   if ((abs(B_ID) == 541) and (abs(B_TRUEID) == 541)) {
     trueB++;
   }

I don’t understand what the interpreter is having a problem with. I wrote and ran this macro without any difficulties on my home computer, where I use Ubuntu 14.04 and ROOT 6.02/05.

Is there anything I can do to fix this?

if ((abs(B_ID) == 541) && (abs(B_TRUEID) == 541)) {

cplusplus.com/files/tutorial.pdf

Thank you both so much, now everything is working again, apologies for the rookie problem!