forest
offers a powerful way to draw trees and the angles
library provides a pic
for drawing the angles.
A brief introduction to forest
and an explanation of how to specify a tree using its bracket syntax is included in the second part of my answer to a related question.
The specific solution given here defines some styles for drawing the tree which need a little explanation.
The most important is a style cont
for nodes from which the outcome is given by a continuum rather than a discrete set of possibilities.
cont/.style={
before typesetting nodes={
append={[]},
prepend={[]},
afterthought={
\path (!1) coordinate (1) -- (!c) coordinate (c) -- (!l) coordinate (l)
let \p1 = ($(c) - (!2)$),
\n1 = {veclen(\x1,\y1)}
in pic [draw, angle radius=\n1] {angle=1--c--l};
},
},
}
before typesetting nodes
just delays execution until a later drawing cycle, while ensuring stuff is set before the nodes are typeset.
append
and prepend
are used to add an empty node on each side of the main child (one before and one after).
afterthought
contains TikZ code to be executed later. (I tried the tikz
key but this lost the label for some reason.)
- The initial
\path
just defines some coordinates relative to the current node: (!1)
for the first child, (!l)
for the last and (!c)
for the current node.
To use this, you just add cont
to the relevant node.
I've also added result label
and calc label
for adding labels along the edges of the tree. Each of these takes a single argument. The first typesets a text label above the edge. The second a maths label below the edge.

Complete code:
\documentclass[tikz,border=20pt]{standalone}
\usepackage{forest}
\usetikzlibrary{angles}
\begin{document}
\forestset{
result label/.style={
edge label/.wrap value={##1 node [midway, sloped, above, anchor=south] {#1}}
},
calc label/.style={
edge label/.wrap value={##1 node [midway, below, sloped, anchor=north] {$#1$}}
},
cont/.style={
before typesetting nodes={
append={[]},
prepend={[]},
afterthought={
\path (!1) coordinate (1) -- (!c) coordinate (c) -- (!l) coordinate (l)
let \p1 = ($(c) - (!2)$),
\n1 = {veclen(\x1,\y1)}
in pic [draw, angle radius=\n1] {angle=1--c--l};
},
},
}
}
\begin{forest}
for tree={
parent anchor=south,
child anchor=north,
l sep+=50pt,
s sep+=30pt,
if n children=0{
align=center,
if n=1{result label=Fail}{result label=Succeed},
}{
draw,
circle,
minimum width=2.5pt,
delay={
label/.wrap pgfmath arg={right:#1}{content()},
content=,
},
inner sep=0pt,
outer sep=0pt,
},
},
/tikz/every label/.style={label distance=20pt}
[Targets choose deterrence, cont
[Terrorists decide whom to attack
[, result label=Attack business, calc label=\pi_B
[$D(\theta_B) + A$\\$D(\theta_T) + 0$\\$m_B$, calc label=\theta_B
]
[$D(\theta_B) + H$\\$D(\theta_T) + 0$\\$n_B$, calc label=1-\theta_B
]
]
[, result label=Attack tourists, calc label={1-\pi_B=\pi_T}
[$D(\theta_B) + \alpha$\\$D(\theta_T) + A$\\$m_T$, calc label=\theta_T
]
[$D(\theta_B) + h$\\$D(\theta_T) + H$\\$n_T$, calc label=1-\theta_T
]
]
]
]
\end{forest}
\end{document}