let rec add_pdg_selection to_select pdg sel_mark = match to_select with
| [] ->
let l = match sel_mark with None -> [] | Some m -> [m] in [(pdg, l)]
| (p, ln) :: tl ->
if Db.Pdg.from_same_fun p pdg
then
let ln = match sel_mark with None -> ln
| Some sel_mark -> sel_mark::ln
in (p, ln)::tl
else (p, ln)::(add_pdg_selection tl pdg sel_mark)