Hi Simone,
I am not sure I get the problem correctly, but it’s not true that you cannot draw multiple hisos hanging from the same Define: it’s an objective by design! 
The TDataFrame is not a chain but rather a graph of nodes.
So the computation setup would be like this:
[...]
auto dft_d = dft.Define("newvar", "expr");
auto h1 = dft_d.Histo1D("newvar");
// inventing an hypothetical weight column
auto h1 = dft_d.Histo1D("newvar","newvarweight");
// new we hang an hypothetical filter to the Define node and a histo to it
auto dft_df = dft_d.Filter("newvar > 2");
auto h3 = dft_df.Histo1D("newvar");
Cheers,
D
PS
TDF is rather sturdy and not work in progress. The Experimental namespace signal that (minimal) interface changes might occour. It’s a bit like std::experimental 