About TMVA application

Dear Sir,

I’m training TMVA with backgrounds, and applied the classifier on each back separately.
I got a background efficiency from the training. After application, I will obtained efficiency for each background.
When I compare the background efficiency after training and application, I found they are similar but different.

May I ask, is it ok to apply classifier this way to see the contribution from each backgrounds?




Let me understand your setup!

You train with signal + bkg1 + bk2 to get a classifier model and get a training efficiency model(signal + bkg1 + bkg2) > 0.5 = eff_sig

You then apply the trained classifier to each background in separation, model(signal + bkg1) > 0.5 = eff_sigbkg1 and model(signal + bkg2) < 0.5 = eff_sigbkg2 to arrive at some efficiencies.

In this setting it makes sense to me that they are similar but different. I would further hazard that eff_sig <= min(eff_sigbkg1, eff_sigbkg2) since adding more background should confuse the classifier.

To my limited understanding, this seems a reasonable operation. But you should talk to someone involved in physics analysis to be sure.


Dear Kim,

Thanks for the reply.

Let me explain and ask more clearly.

After training with signal + bkg1 + bkg2, I got a output ROC curve and background efficiency versus signal efficiency.

I applied this classifier on bkg1 and bkg2 by modify Application function in TMVAMultiBackground.C.

TString method = “BDT method”;

reader0->BookMVA( “BDT method”, “data_set/weights/TMVAClassification_BDT.weights.xml” );

reader1->BookMVA( “BDT method”, “data_set/weights/TMVAClassification_BDT.weights.xml” );

Then I got one root file with different backgrounds and signal with different classID.

I used TCutLoop.C to cut the BDT response to got the new background efficiency and signal efficiency.

This bkgefficiency obtained by #of events (bkg1+bkg2)/total events (bkg1 + bkg2)

When I compare the bkgefficiency(signal+bkg1+bkg2) and bkgefficiency(bkg1)+bkgefficiency(bkg2), they are similar but different.

May I ask, is this way correct?




I just want to ask for the TCutLoop.C. I cannot find it in the package of TMVA.

Would you tell me where should I find it ?