Table of Contents

Controlling the Output of RooFit

In General

The most systematic approach to controlling the output of RooFit is accessing the streams of the message service directly. The first thing is to check the instance of the RooMsgService:

RooMsgService::instance().Print() ;

This will tell you which streams exist and what they comprise. Note that error messages can appear in several strings at once. You can then access the stream and remove a certain topic:

RooMsgService::instance().getStream(1).removeTopic(RooFit::Eval);

The topics are:

RooFit::Eval
RooFit::Generation
RooFit::Minimization
RooFit::Plotting
RooFit::Fitting
RooFit::Integration
RooFit::LinkStateMgmt
RooFit::Caching
RooFit::Optimization
RooFit::ObjectHandling
RooFit::InputArguments
RooFit::Tracing
RooFit::Contents
RooFit::DataHandling
RooFit::NumIntegration
RooFit::Eval

Switching the MIGRAD output off

The above commands don't switch the MIGRAD output off, that goes to stdout after every fit. In order to do this, do:

RooFitResult* rForward = forward.fitTo( *forwardBS, RooFit::PrintLevel(-1) );

which will make your fit silent.