Inspired from work of Olivier Couet.
exl / exh: low and high (left/right) errors in x; similar for y e*d: delta, in axis units, to be added/subtracted (if >0 or <0) in x or y from the data point's position to use as end point of the corresponding error
import ROOT
n = 10
for i
in [-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95]:
x.push_back(i)
for i
in [1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1]:
y.push_back(i)
for i
in [.05,.1,.07,.07,.04,.05,.06,.07,.08,.05]:
exl.push_back(i)
for i
in [.02,.08,.05,.05,.03,.03,.04,.05,.06,.03]:
exh.push_back(i)
n,
x.data(),
y.data(),
exl.data(),
exh.data(),
eyl.data(),
eyh.data(),
exld.data(),
exhd.data(),
eyld.data(),
eyhd.data())
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.