def cost(self, t_node, branch_length, multiplicity=<NUM_LIT>):
merger_time = t_node+branch_length<EOL>return self.integral_merger_rate(merger_time) - self.integral_merger_rate(t_node)- np.log(self.total_merger_rate(merger_time))*(multiplicity-<NUM_LIT:1.0>)/multiplicity<EOL>
returns the cost associated with a branch starting at t_node
t_node is time before present, the branch goes back in time

Args:
    - t_node:           time of the node
    - branch_length:    branch length, determines when this branch merges with sister
    - multiplicity:     2 if merger is binary, higher if this is a polytomy