Hi,
We have noticed a bug in ROOT 6.20/06 very similar to Filter action in RDataFrame: JIT error on variables with similar names when trying to multiply columns with similar variable names (weight*weightFJvt), but for a ROOT::RDF::RNode.
The following snippet fails
ROOT::RDF::RNode df_with_defines(df_out);
df_with_defines = df_with_defines.Define(varName, var);
where varName = “weight” and var = “HGamEventInfoAuxDyn.weight*HGamEventInfoAuxDyn.weightFJvt”
With the error as follows:
input_line_181:2:45: error: use of undeclared identifier ‘__rdf_arg_HGamEventInfoAuxDyn_weightFJvt’
return __rdf_arg_HGamEventInfoAuxDyn_weight*__rdf_arg_HGamEventInfoAuxDyn_weightFJvt
^
terminate called after throwing an instance of ‘std::runtime_error’
what(): Cannot interpret the following expression:
__rdf_arg_HGamEventInfoAuxDyn_weight*__rdf_arg_HGamEventInfoAuxDyn_weightFJvt
Make sure it is valid C++.
Aborted (core dumped)
The code runs with no issue when “var"is either variable individually, e.g. “HGamEventInfoAuxDyn.weightFJvt” or” HGamEventInfoAuxDyn.weight". It also works with no problem when “var” is a combination of other weights whose names do not contain eachother, e.g. “HGamEventInfoAuxDyn.crossSectionBRfilterEff*HGamEventInfoAuxDyn.weightFJvt” ,
“HGamEventInfoAuxDyn.crossSectionBRfilterEff*HGamEventInfoAuxDyn.weight”.
Please advise us on how we can get around this problem without changing our variable names. Thank you!
ROOT Version: 6.20/06
Platform: lxplus
Built for linuxx8664gcc
Using asetup 21.2.149,AnalysisBase