Introduction to ROOTPWA Sebastian Neubert Physik Department E18 Technische Universität München INT, Seattle November 2009 supported by: Maier-Leibnitz-Labor der TU und LMU München, Cluster of Excellence: Origin and Structure of th e Universe, BMBF, EU Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 1 / 20
Step 1: Partial Wave Decomposition Mass independent fit Probability to find N events in a given bin: L " # NN N e N! {z } Poisson NY» σ(τ n) R σ(τ)η(τ)pqdτ n=0 {z } Normalized XSection Cross section normalization takes finite acceptance η(τ) into account. L N N» Z exp N! N N Y N σ(τ)η(τ)pqdτ n=0 σ(τ n) 2 step procedure 1 Bin data in kinematical variable (e.g. m X ) Mass independent fit V i (m X ) 2 Extract resonance parameters from V i (m X ) Mass dependent fit Extended Log-likelihood NX ln L = ln X n=1 i,j Subtleties omitted from the discussion: Rank Reflectivity basis Positivity constraints V i V j ψ i (τ n)ψ j (τ n) N X i,j V i V j Ψ ij Z Ψ ij = ηψ i ψ j Normalization integral (Phase space Monte Carlo) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 2 / 20
Step 1: Partial Wave Decomposition Mass independent fit Probability to find N events in a given bin: " # NN NY» N σ(τ L 3π e invariant n) R Mass 2 step procedure N! n=0 σ(τ)η(τ)pqdτ {z } {z } 1 Bin data in kinematical variable 3 Poisson Normalized 10 XSection (e.g. m X ) 3.5 a Cross section normalization takes finite acceptance 2 (1320) COMPASS 2004 Mass independent fit V i (m X ) η(τ) into account. 3 2 - π - Pb Extract π π - π + Pbresonance parameters 2 2 0.1 < t < from 1.0 GeVV /c i (m X ) L N N» Z 2.5 a 1 (1260) Y N Mass dependent fit exp σ(τ)η(τ)pqdτ σ(τ N! N N 2 n) π 2 (1670) n=0 1.5 Extended Log-likelihood1 Subtleties omitted from the discussion: Rank Reflectivity basis Positivity constraints ) 2 Events / (5 MeV/c preliminary 0.5 NX ln L = ln X V i Vj ψ i (τ n)ψ j (τ n) N X 0 V i Vj Ψ 0 0.5 1 1.5 2 2.5 3 ij n=1 i,j i,j 2 Mass of π - π - π + System (GeV/c ) Z Ψ ij = ηψ i ψ j Normalization integral (Phase space Monte Carlo) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 2 / 20
Setp 2: Extracting Resonance Parameters The mass dependent PWA fit Spin density matrix given in mass bins (from step 1) 2 step procedure ρ ij (m X ) = N η V i (m X )V j (m X ) Ψ ij (m x ) Contains intensities ρ ii interference terms ρ ij i j 1 Bin data in kinematical variable (e.g. m X ) Mass independent fit V i (m X ) 2 Extract resonance parameters from V i (m X ) Mass dependent fit Breit-Wigner parameterization of spin density matrix ρ ij (m X ) = X k C ɛ ir BW k (m X )!! X Cjl ɛ BW l (m X ) l Coherent background added to some waves Fit results (red graphs in following plots): Intensities Phase motion from interference terms Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 3 / 20
PWA Results 2 ++ 1 + ρπd ) 2 Intensity / (40 MeV/c 10 12 ++ + 2 1 ρπ D 10 8 6 4 2 3 preliminary COMPASS 2004 - π - Pb π π - π + Pb 2 2 0.1 < t < 1.0 GeV /c 0 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2 Mass of π - π - π + System (GeV/c ) Phase (degrees) 0-50 -100-150 -200 - π - Pb π π - π + Pb 2 2 0.1 < t < 1.0 GeV /c COMPASS 2004 preliminary -250 ++ + ++ + φ (2 1 ρπ D - 1 0 ρπ S) -300 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2 Mass of π - π - π + System (GeV/c ) Two Breit-Wigners needed to describe 2 ++ 1 + ρπd phase motion: BW1 for a 2 (1320) + BW2 for a 2 (1700) M = (1.321 ± 0.001 +0.000 +0.002 0.007 ) GeV, Γ = (0.110 ± 0.002 0.015 ) GeV a 2 (1700) parameters fixed to PDG values: M = 1.732 GeV, Γ = 0.194 GeV Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 4 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Decay amplitudes Kinematics Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Decay amplitudes Kinematics Spin density matrix (fit parameters) Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Decay amplitudes Kinematics Spin density matrix (fit parameters) Coherent sum over waves Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Decay amplitudes Kinematics Spin density matrix (fit parameters) Coherent sum over waves Incoherent sum over reflectivities Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
Mass Independent Partial Wave Fit What do we need? Components of the LogLikelihood function: Decay amplitudes Kinematics Acceptance corrected Phase space integral Spin density matrix (fit parameters) Coherent sum over waves Incoherent sum over reflectivities Production amplitudes Spin density matrix: ρ ɛ ij = X r T ɛ ir T ɛ jr Normalized decay amplitudes: ψ i ɛ (τ) = ψi ɛ q (τ) R ψ ɛ i (τ ) 2 dτ Phase space integrals (with acceptance): Z IA ɛ ij = ψ i ɛ (τn) ψ j ɛ (τn) Acc(τ)dτ j 0 Acc(τ) = 1 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 5 / 20
ROOTPWA Organization of the Toolbox An Overview Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 6 / 20
Mass Independent Fitting Workflow A more detailed Overview Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 7 / 20
Partial Wave Amplitudes Specification, Calculation, Integration Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 8 / 20
Amplitude Generation Tools and Workflow Workflow: 1 Generate Amplitude Specification with keygen & makekey.c 2 Put keyfiles into a waveset directory (see trunk/keyfiles 3 Setup directory structure for mass-bins and provide input events 4 Use scripts trunk/scripts/buildbincluster etc to calculate amplitudes and integrals for the mass-bins (in parallel) Here BNL gamp and int is used. Time consuming for complex final states! Use cluster use directory structures! Small tools: trunk/scripts/checkbins: check status of production trunk/scripts/checkset: check if all waves from a given set have been produced trunk/scripts/checkwaves: compare contents of two amplitude directories Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 9 / 20
Amplitude Calculations with makekey and gamp Amplitude building, reflectivity basis and symmetrization keygen and makekey.c provide tools for Comfortable Wave specification Automatic gamp keyfile generation (with wave name conventions) Only multi-pion final states supported (for now!) Automatic transformation to reflectivity basis Automatic bose symmetrization Reflectivity basis A is basic amplitude calculated by gamp in standard basis (m [ l.. + l]). A(l, m) refl (l, m, ɛ) = θ [A(l, m) r A(l, m)] r = ɛ P( ) J m ( 1 : m = 0 θ = 2 1 : else 2 Bose Symmetrization Pion permutations: P(π+) = {(12), (21)} P(π ) = {(123), (132), (213), (231), (312), (321)} The final amplitude thus consists of twelve terms: A final (J, P, C, s, l, m, ɛ) = 1 2 X P(π+) 1 6 X P(π ) A P (l, m, ɛ) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 10 / 20
Sample keyfile generation with makekey.c Example wave Decay: h i J PC (1 ++ )M ɛ (0 + ) ρ 0 l=0 π s=1 h i ρ 0 (1 ) π 1 π 0 + Example wave spec with makekey3.c: groot >ProcessLine ( ".L keygen.c+" ) ; partkey p1 ( "pi-" ) ; partkey p2 ( "pi-" ) ; partkey p3 ( "pi+" ) ; / / name iso1 iso2 l partkey rho1 ( "rho(770)",&p1,&p3, 1 ) ; i n t l =0; i n t s =1; i n t j =1; i n t m=0; i n t eps =1; / / r e f l e c t i v i t y i n t p=1; partkey X( "X",& rho1,&p2, l, s ) ; wavekey mykey ( j, p,m, eps,&x ) ; / / w r i t e a k e y f i l e with a p p r o p r i a t e name mykey. w r i t e ( ) ; 1-1++0+rho770_01_pi-.key :... 1.000 ( 0.7071 ( 0.5000 ( J = 2 P = 1 M = 0 { rho (770){ } pi [2] l =0 s=2 } + J = 2 P = 1 M = 0 {.......... } ) + 0.5000 ( J = 2 P = 1 M = 0 { rho (770){ } pi [1] l =0 s=2 } + J = 2 P = 1 M = 0 {.......... } +..... pi [1] p i + [ 1 ] l =2 pi [2] p i + [ 1 ] l =2 Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 11 / 20
makekey.c script for 5π wave: groot >ProcessLine ( ".L keygen.c+" ) ; partkey p1 ( "pi+" ) ; partkey p2 ( "pi-" ) ; partkey p3 ( "pi+" ) ; partkey p4 ( "pi-" ) ; partkey p5 ( "pi-" ) ; / / name iso1 iso2 l partkey sigma1 ( "sigma",&p1,&p2, 0 ) ; partkey rho1 ( "rho(770)",&p3,&p4, 1 ) ; partkey pi13 ( "pi(1300)",&p5,& rho1, 1 ) ; i n t l =2; i n t s =0; i n t j =2; i n t m=0; i n t eps =1; / / r e f l e c t i v i t y i n t p= 1; partkey X( "X",&sigma1,& pi13, l, s ) ; wavekey mykey ( j, p,m, eps,&x ) ; Running gamp with keyfile over event data produces amplitude file: 1-2-+0+sigma 20 pi1300=pi- 1 rho770.amp (0.113597,0.181187) ( 0.0167798, 0.274103) (0.0328174,0.301535) (0.0213293,0.0563232) (0.132119,0.314778) ( 0.314582,0.127712) ( 0.0411693, 0.114433) ( 0.088028,0.104986) (0.0582313,0.301016) (0.138467,0.254906) (0.182473,0.224451) (0.152914,0.322746) ( 0.0215327, 0.0734574) ( 0.0711122, 0.164464) ( 0.0391303,0.110012)......... / / w r i t e the key f i l e : mykey. w r i t e ( ) ; keyfile: 1-2-+0+sigma 20 pi1300=pi- 1 rho770.key Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 12 / 20
Data Organization One directory per Mass-Bin (Folder-Name=Mass in MeV/c 2 Contains data, mc and amplitudes (amps are only calculated once!) Fitting results are written to separate directory structure! Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 13 / 20
Plotting Results with rootpwa using ROOT Example ROOT-commands: / / pwa i s a tree of TFitBin objects pwa >Draw ( "intens():_mass" ) / / Sums over a l l waves pwa >Draw ( "intens(1):_mass" ) / / Single Wave i n t e n s i t y pwa >Draw ( "intens(\"1++\"):_mass" ) / / 1++ Spin t o t a l pwa >Draw ( "intens(\"1++\"):err(\"1++\"):_mass", "", "goff" ) TGraphErrors g=new TGraphErrors ( pwa >GetSelectedRows ( ), pwa >GetV3 ( ), / / mass pwa >GetV1 ( ), / / i n t e n s i t y 0,pwa >GetV2 ( ) ) ; / / e r r o r Plotting scripts in src/rootscripts All ROOT facilities can be used! Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 14 / 20
Open Source Project Status https://rootpwa.svn.sourceforge.net/svnroot/rootpwa/trunk/rootpwa Open / Ongoing Subprojects Partial wave event generator Relativistic amplitudes GPU support Unitarity corrections Waveset genetics Markov Chain Likelihood sampler Mass dependent fit Kinematics plotter Predict Licence & Reference ROOTPWA is distributed under the GPL For the moment: reference the repository homepage Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 15 / 20
Biggest Systematics: The Problem of the Waveset Selection Description of possible Decay Amplitudes J PC M ɛ L Isobar π Thresh. [GeV] 0 + 0 + S f 0 π 1.40 0 + 0 + S (ππ) sπ - 0 + 0 + P ρπ - 1 + 1 + P ρπ - 1 ++ 0 + S ρπ - 1 ++ 0 + P f 2 π 1.20 1 ++ 0 + P (ππ) sπ 0.84 1 ++ 0 + D ρπ 1.30 1 ++ 1 + S ρπ - 1 ++ 1 + P f 2 π 1.40 1 ++ 1 + P (ππ) sπ 1.40 1 ++ 1 + D ρπ 1.40 2 + 0 + S f 2 π 1.20 2 + 0 + P ρπ 0.80 2 + 0 + D f 2 π 1.50 2 + 0 + D (ππ) sπ 0.80 2 + 0 + F ρπ 1.20 2 + 1 + S f 2 π 1.20 2 + 1 + P ρπ 0.80 2 + 1 + D f 2 π 1.50 2 + 1 + D (ππ) sπ 1.20 2 + 1 + F ρπ 1.20 J PC M ɛ L Isobar π Thresh. [GeV] 2 ++ 1 + P f 2 π 1.50 2 ++ 1 + D ρπ - 3 ++ 0 + S ρ 3 π 1.50 3 ++ 0 + P f 2 π 1.20 3 ++ 0 + D ρπ 1.50 3 ++ 1 + S ρ 3 π 1.50 3 ++ 1 + P f 2 π 1.20 3 ++ 1 + D ρπ 1.50 4 + 0 + F ρπ 1.20 4 + 1 + F ρπ 1.20 4 ++ 1 + F f 2 π 1.60 4 ++ 1 + G ρπ 1.64 1 + 0 P ρπ - 1 + 1 P ρπ - 1 ++ 1 S ρπ - 2 + 1 S f 2 π 1.20 2 ++ 0 P f 2 π 1.30 2 ++ 0 D ρπ - 2 ++ 1 P f 2 π 1.30 FLAT Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 16 / 20
Biggest Systematics: The Problem of the Waveset Selection Description of possible Decay Amplitudes J PC M ɛ L Isobar π Thresh. [GeV] 0 + 0 + S f 0 π 1.40 0 + 0 + S (ππ) sπ - 0 + 0 + P ρπ - 1 + 1 + P ρπ - 1 ++ 0 + S ρπ - 1 ++ 0 + P f 2 π 1.20 1 ++ 0 + P (ππ) sπ 0.84 1 ++ 0 + D ρπ 1.30 1 ++ 1 + S ρπ - 1 ++ 1 + P f 2 π 1.40 1 ++ 1 + P (ππ) When sπ to stop? 1.40 1 ++ 1 + D ρπ 1.40 2 + 0 + S f 2 π 1.20 2 + 0 + P ρπ 0.80 2 + 0 + D f 2 π 1.50 2 + 0 + D (ππ) sπ 0.80 2 + 0 + F ρπ 1.20 2 + 1 + S f 2 π 1.20 2 + 1 + P ρπ 0.80 2 + 1 + D f 2 π 1.50 2 + 1 + D (ππ) sπ 1.20 2 + 1 + F ρπ 1.20 How to choose this? 3π system is actually well studied J PC M ɛ L Isobar π Thresh. [GeV] 2 ++ 1 + P f 2 π 1.50 2 ++ 1 + D ρπ - 3 ++ 0 + S ρ 3 π 1.50 3 ++ 0 + P f 2 π 1.20 3 ++ 0 + D ρπ 1.50 3 ++ 1 + S ρ 3 π 1.50 3 ++ 1 + P f 2 π 1.20 3 ++ 1 + D ρπ 1.50 4 + 0 + F ρπ 1.20 4 + 1 + F ρπ 1.20 4 ++ 1 + F f 2 π 1.60 4 ++ 1 + G ρπ 1.64 What about new final states (multiparticle final states) Which waves should contribute? Adding more waves I can fit everything 1 + 0 P ρπ - 1 + 1 P ρπ - 1 ++ 1 S ρπ - 2 + 1 S f 2 π 1.20 2 ++ 0 P f 2 π 1.30 2 ++ 0 D ρπ - 2 ++ 1 P f 2 π 1.30 FLAT Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 16 / 20
Outlook: Waveset Genetics Available, needs Testing! Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 17 / 20
How to Evaluate the Goodness of a Fit? Problem: Model Complexity More waves (= model components, fit parameters) generally lead to better likelihood Danger of Overfitting Bayes theorem for the model probability: P(M k Data) = P(Data M k )P(M k ) Pr P(Data Mr )P(Mr ) (1) The evidence is an integral over the parameter space: Z P(Data M k ) = P(Data A k, M k ) P(A k M k )da k {z } (2) =L MacKay s Occam factor method: Approximate the integral by Laplace s method: q P(Data M k ) P(Data A k ML, M k ) P(A k M k ) (2π) d C A D {z } Occam factor For a constant prior: q q (2π) d C A D P(A M k ) (2π) d C A D = = V A D V V A (3) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 18 / 20
Unitary Analytic Isobar Model a la Aitchison / Brehm Could rescattering effects fake a signal? 3π-system: σρ recoupling in J PC = 1 +. Simplified parameterization! Brehm Phys. Rev. D25(1982)3069 Effect seems to be important down in the a 1 region for ɛρ and ɛɛ rescattering. How about the 1 wave? we/you(?) just have to try it! Couple the additional Isobars (f 2, ρ 3, f 0 (980)) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 19 / 20
Unitary Analytic Isobar Model a la Aitchison / Brehm Could rescattering effects fake a signal? 3π-system: σρ recoupling in J PC = 1 +. Simplified parameterization! Decay Amplitude ψ(τ) X λ D J mλ (Φ, Θ, 0)Ds λ0 (φ, θ, 0)f aλ(ω) Unitarity Corrections: f aλ (ω) Q isobar ls (ω) g a {z } known g a = g a(ω, m X ) Brehm Phys. Rev. D25(1982)3069 Effect seems to be important down in the a 1 region for ɛρ and ɛɛ rescattering. How about the 1 wave? we/you(?) just have to try it! Couple the additional Isobars (f 2, ρ 3, f 0 (980)) Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 19 / 20
Summary ROOTPWA available from sourceforge.net https://sourceforge.net/projects/rootpwa/develop C++ code + bash-shell + ROOT scripts Mass independent fitting Flexible partial wave specification in the Isobar model BNL code: t- and s-channel Extensible parameterizations of isobars All final states possible (including Baryons) Multi-pion FS: quick specification with ROOT-script Further amplitude calculators can easily be incorporated ROOT used for Fitting engine (different Minimizers) Plotting and result analysis Interesting projects waiting for collaborators! Sebastian Neubert (TUM E18) ROOTPWA Nov 2009 20 / 20