Avoid using an empty variable

Hello,

may be this is rather basic, but I couldn’t find a suitable answer. So, let me ask it:

I want to train a BDT with a list of variable, but sometimes one of them has a flag value which means it does not have to be used. For instance, one of the variables is the transverse momentum (pt) of a jet, but in some events {~20%) there is no jet, so I set its pt=0.

Is there a way to instruct TMVA this variable should not be used for the events is 0?

Thanks
Salva

Hello @martis,

taking a look at this tutorial, I think that you can simply define your filter on the signal as follows

   // Apply additional cuts on the signal and background samples (can be different)
   TCut mycuts = "pt>0";

Hope this helps.

Cheers,
Monica

Hello Monica,

thanks for the feedback. But using the cut removes all the events failing the cut (with pt==0). What I pretend (and I am not sure it makes sense) is that for the events without jet (then I set pt=0) the pt variable is not considered, but the other variables are still valid. Is that possible?

Cheers
Salva

If I well understand, you don’t want to remove all the events with pt==0, but only those without jet that you marked with pt=0. You can try setting pt=-1 in this case, and then keep all events pt>=0.