Consider the following binary tree: (taken from here)

Given that leaf nodes will either be true or false, how can I find the branch (or branches) where all of the leaf nodes are true?
So if only 8, 5, 6 or 7 are true, then the first branch wouldn’t match (it would need 9 to be true to match), but the second branch would match as all of its leaves are true.
Even identifying this name for this type of search would help so I can Google it.
You can use a recursive function, diving deeper into the tree and determining bottom-up whether for a certain branch all leaves are true. Those branches can then be stored in some list.
Here’s some Python code. Call this function with the tree’s root node as the first parameter and an empty list as the second, and the list will be populated with the correct branches.
One thing to look out for: Many programming languages try to be clever, or lazy, by not evaluating the second argument of
x and y, ifxis false already. In this case, however, this would result in not visiting the right branch if the left branch is not all-true, missing out some all-true branches. Thus the recursive calls better go to separate lines.