Dear experts,
I am trying to understand the following issue.
I have a workspace from which I am trying to produce the plot of some quantity therein.
I am doing the following:
data = _file0.Get("toys/toys_asimov")
CMS_channel = w_asimov.cat("CMS_channel")
datacut = "CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022 || CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022EE"
data = data.reduce(RooFit.Cut(datacut))
Now, when I run the code above with ROOT 6.12/07
, everything works as expected. However, if I run the same code with ROOT 6.22/09
, I get the following error:
input_line_169:2:82: error: expected ';' after return statement
Double_t TFormula____id13173150475813404828(Double_t *x){ return x[1]==0||x[1]==0{EE} ; }
^
;
input_line_170:2:82: error: expected ';' after return statement
Double_t TFormula____id13173150475813404828(Double_t *x){ return x[1]==0||x[1]==0{EE} ; }
^
;
Error in <prepareMethod>: Can't compile function TFormula____id13173150475813404828 prototype with arguments Double_t*
Error in <TFormula::InputFormulaIntoCling>: Error compiling formula expression in Cling
Error in <TFormula::ProcessFormula>: "EE" has not been matched in the formula expression
Error in <TFormula::ProcessFormula>: Formula "x[1]==0||x[1]==0EE" is invalid !
[#0] FATAL:InputArguments -- RooFormula 'CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022 || CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022EE' did not compile or is invalid.
Input:
CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022 || CMS_channel==CMS_channel::hzz_mass4l_105p0_160p0_cat4e_2022EE
Passed over to TFormula:
x[1]==0 || x[1]==0EE
The application of the cut without the ||
operator works, and the application of the cut with the ||
operator but mixed categories (eg ...cat4e_2022 || ..._cat4mu_2022EE
) works too, but the cut as I would like to have it breaks the code.
Do you have any insight?
Thank you very much in advance!
best,
Matteo