TMath::Abs not working in TTree cuts (V5.14.00)

Bonjour,

Maybe already seen somewhere, but I couldn’t find a reference.

The command:

doesn’t work as expected in v5.14.00 (it does in v5.12.00) (both under MacOSX), setting all the entries at 0.

Cheers,
Vincent.

Vincent,

I cannot reproduce this problem with 5.14 or CVS on any platform.
Could you post a small data file and a small running script reproducing the problem?

Rene

Bonjour,

Boiling down the feature, it turns out to come from a Class definition or loading problem.

The following code (Abs_test.C)

{ gROOT->LoadMacro("CalculLumiEvent.h"); f = new TFile("test_abs.root"); Variables->Draw("EmeanY-EmeanX","abs(EmeanY-EmeanX)<0.01"); }
should show the following effect:
in v5.12.0, the distribution seems correct and
in v5.14.00, it is condensed in the bin at 0.

In both version, I have a warning message saying:

[quote]Warning in TClass::TClass: no dictionary for class CalculLumiEvent is available
[/quote]
This should be the cause, since suppressing the first line (loading of the macro) make the effect disappear.

Vincent.
CalculLumiEvent.h (5.6 KB)
test_abs.root (287 KB)
Abs_test.C (148 Bytes)

Hi Vincent,

As you found out, the problem has nothing to do with TMath::Abs, but
the fact that you load the header file with the interpreter.
Replace the line

gROOT->LoadMacro("CalculLumiEvent.h"); by

gROOT->LoadMacro("CalculLumiEvent.h+"); //using ACLIC
In principle, the version with CINT should work too.
We will investigate.

Rene