Signal and background differ only by event weights - Is discrimination possible?

I want to differentiate between signal (S) and background (B), but the only difference between them “technically” is that the event weights are different.

Say I have a pT distribution for process S. Now if I want to get the pT distribution for B, I just take the pT distribution of S and weight correspondingly in each bin to get the pT distribution of B. I do a similar thing for MET, Et, etc. At the distribution level, I know this is correct since the distributions look like what they should. But at the tree level, nothing has really changed. The only difference between S and B trees is a weight branch that is different between S and B.

(pT, MET, Et etc are just some standard input variables)

Is it possible to train a BDT to identify S from B? I was thinking about per-bin weights in the standard way:

factory->AddSignalTree    ( signal,     signalWeight     );
factory->AddBackgroundTree( background, backgroundWeight );

But I want to know if this makes sense. As the raw input variables are not different between S and B, will discrimination really work?

May be @moneta has an idea ?


Your approach is sound. From a statistical stand-point using two different MCMC samples and using a reweighted sample are equivalent given a large enough sample size.