here is a part of the error message, It seems "no matching constructor for initialization of ‘JetFitObject’ ", but if I delete the Snapshot, it also can run successfully in RDataFrame.
So my questions are:
Why this class can be called successfully in pyroot but can’t in RDataFrame Define?
In RDataFrame, why this class can be called successfully only if I don’t Snapshot root file?
_ROOT Version:6.26/06
_Platform:CentOS Linux release 7.9.2009 (Core)
_Compiler:gcc version 11.2.0 (Spack GCC)
without seeing the definition of JetFitObject I can only guess, but it’s probably because the type does not have a copy constructor and/or a default constructor.
If you remove the Snapshot in that snippet RDF does not even need to just-in-time-compile a function that returns a JetFitObject, so there is no error.
Hi @eguiraud ,
Sorry for the late reply, unfortunately this issue has not been resolved. According to your advice, I check the copy constructor of JetFitObjet and it do have a copy constructor. AndI I put the code below,(BaseFitObject is its parent class). I would like to know why JetFitObject can be instantiated in pyroot but not in RDataFrame.(Actually, other class that I defined in c++ can be instantiated in RDataFrame successfully, so I really want to find the JetFitObject’s problems.)