Problems with reproducibility of BDTscore

Dear ROOT supporting team,

I found a weird behaviour of TMVA in terms of reproducibility of BDTscore depending on how input parameters are set. I tried two ways of setting variables for reader:

  1. hard coding before calling EvaluateMVA
  2. reading from root file (follow instructions here https://root.cern.ch/doc/v606/TMVAClassificationApplication_8C_source.html)

Having exactly the same values for the input parameters and using same weights file, but depending on setting way I got slightly different values for the BDTscore. I do not think it is expected, even given the fact that on very large statistics BDTscore distributions would look very close.
Could you please comment on this issue?

Code and input files are attached:for_test.zip (788.9 KB) To test two different ways one can uncomment some lines.
Thank you!

Best regards,
Dimitrii.

May be @moneta can help you.

Hi,

You must manually apply transformations of the input data, i.e. you are missing

// ...snip...
theTree->GetEntry(0);

dLepEta = fabs(lepplus_eta-lepminus_eta);
dLepPhi = fabs(lepplus_phi-lepminus_phi);
// ...snip...

Cheers,
Kim

Dear Kim,

yes it works, thank you! It seems I was on the right way by testing right now the option when one manually sets lepminus_eta(phi) and lepplus_eta(phi) for the first reading method, the next step was to try setting the transformation after taking variables from the tree in the second method.
Thank you greatly again for quick answer!

Kind regards’
Dimitrii