Hi,
I am trying to import something into a RooWorkspace in PyROOT with a rather complicated Renaming scheme. This means I need to use five of the RooCmdArgs. According to root.cern.ch/root/html534/RooWorkspace.html RooWorkspace::import there is a constructor with up to 9 RooCmdArgs, but python only seems to see constructors with up to three. Is this a bug?
Here is my code:
getattr( w,"import") ( pdf,
ROOT.RooFit.RenameVariable( rrs_name_old, rrs_name_new),
ROOT.RooFit.RenameVariable( norm_name_old, norm_name_new),
ROOT.RooFit.RenameAllNodes( process_name ),
ROOT.RooFit.RenameAllVariablesExcept( process_name, varExcept ),
ROOT.RooFit.RecycleConflictNodes(),
#ROOT.RooFit.Silence(),
)
and the errors:
TypeError: none of the 6 overloaded methods succeeded. Full details:
Bool_t RooWorkspace::import(const RooAbsArg& arg, const RooCmdArg& arg1 = RooCmdArg(), const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg()) =>
takes at most 4 arguments (6 given)
Bool_t RooWorkspace::import(const RooArgSet& args, const RooCmdArg& arg1 = RooCmdArg(), const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg()) =>
takes at most 4 arguments (6 given)
Bool_t RooWorkspace::import(RooAbsData& data, const RooCmdArg& arg1 = RooCmdArg(), const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg()) =>
takes at most 4 arguments (6 given)
Bool_t RooWorkspace::import(const char* fileSpec, const RooCmdArg& arg1 = RooCmdArg(), const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg()) =>
takes at most 4 arguments (6 given)
Bool_t RooWorkspace::import(TObject& object, Bool_t replaceExisting = kFALSE) =>
takes at most 2 arguments (6 given)
Bool_t RooWorkspace::import(TObject& object, const char* aliasName, Bool_t replaceExisting = kFALSE) =>
takes at most 3 arguments (6 given)