RooFactoryWSTool, RooPoisson, Bool_t and default values


is there a markup in the workspace factory language that would allow to create RooPoisson with the overridden default value of the last parameter? I want to set noRounding to kTRUE but no markup succeeded, the error message states that no constructor is found. I poked in the code, and it seems that the PDF constructor parameters with default values are not counted, so the factory thinks that there could only be two parameters. Here’s an exerpt from RooFactoryWSTool code. When I specify Poisson with three parameters, ctorArgs tries to find a constructor with 3+2 five min number of parameters and it does not count parameters with default values (???). SO, for RooPoisson, there is no such constructor… The Bottom line: how does one create RooPoisson with noRounding using the factory markup?

// Try CINT interface
  pair<list<string>,unsigned int> ca = RooCintUtils::ctorArgs(className,_args.size()+2) ;
  if (ca.first.size()==0) {
    coutE(ObjectHandling) << "RooFactoryWSTool::createArg() ERROR no suitable constructor found for class " << className << endl ;
    logError() ;
    return 0 ;


The current version of the factory (by accident) doesn’t deal with Bool_t arguments in object constructors. This has been fixed in ROOT 5.28 (due tomorrow).