def _find_best_root(self, covariation=True, force_positive=True, slope=<NUM_LIT:0>, **kwarks):
for n in self.tree.find_clades():<EOL><INDENT>n.branch_length=n.mutation_length<EOL><DEDENT>self.logger("<STR_LIT>",<NUM_LIT:2>)<EOL>Treg = self.setup_TreeRegression(covariation=covariation)<EOL>return Treg.optimal_reroot(force_positive=force_positive, slope=slope)['<STR_LIT>']<EOL>
Determine the node that, when the tree is rooted on this node, results
in the best regression of temporal constraints and root to tip distances.

Parameters
----------

 infer_gtr : bool
    If True, infer new GTR model after re-root

 covariation : bool
    account for covariation structure when rerooting the tree

 force_positive : bool
    only accept positive evolutionary rate estimates when rerooting the tree