How to find the JSJ decomposition in the plumbing tree model of a graph manifold? A graph manifold can be obtained by plumbing circle bundle over surfaces, where the number in the plumbing tree denotes the Euler number of the bundle (see the picture for an example). The boundary of the graph manifold can be denoted by a dotted arc. How to find the JSJ decomposition of a graph manifold?

 A: Given that all your ingredient manifolds are Seifert-fibered, your JSJ decomposition is going to be a subset of the separating tori in your plumbing construction, i.e. corresponding to your edges, if I understand your diagram correctly.
To check to see which tori you can throw out, you have to see if both sides of a torus admit Seifert fiberings that extend across the torus.
So it's a fairly simple check.  Your components (corresponding to vertices) are drillings of Seifert manifold you know, so you look at the list of Seifert fiberings of those manifolds (for example in Orlik's book, or Hatcher's 3-manifolds notes if you are dealing with orientable manifolds) and check to see the list of fiberings, and you compare the fibers on the common torus boundary for all possible fiberings.
I believe Walter Neumann's book describes this process for Seifert-fibered homology 3-spheres.
"Most" Seifert-fibered manifolds have unique fiberings, so usually you are looking for just a few exceptional small fibered 3-manifolds.
Although it is not exactly your situation, in the case of knot exteriors and satellite operations, you get a very similar grafting operation of JSJ decompositions.  The only case where you delete a torus after a graft is when the satellite operation is the connect-sum of knots, and at least one summand knot is not prime.
