More MCFocus Changes Matrix Elements Maximum intensity searching Record max weights in a hash table Numerical problems when P2 m2 Evaluate ||2 in the parent particle’s rest frame Multiple specified decays provide unexpected benefits Gets results similar to c-cbar but much faster Can estimate equivalent number of c-cbar events for normalization Updating mcfedit New particle selection layout More MCFocus options Edit matrix elements and branching ratios Read new particle data file and identify & expand “final states” When will we finish and release it? What’s left to do? 12/31/2018
Storing Max Weights Some ME’s have a simple (easy calculation) max. value Like Cos2q Others do not, and must be sampled many times first Like This sampling process takes time, so we ought to save the result Max weight depends on: Function (subroutine) Parameters Parent ID Daughter IDs Function + parameter set is one number Could have up to 7 daughters We could store max weights in a 9-dimensional array (sparsely populated) OR a hash table (much smaller, faster, etc) Easy to implement, clearly the correct solution 12/31/2018
How it Works RGPHASEME: max weight for OM3P::OMEGA->PI0,PI+,PI+ given as 1.000000 RGPHASEME: max weight not given. Guessing.. RGPHASEME: max weight of PLN_K::KL->PI+,MU-,NU measured to be 5.4862153E-02 RGPHASEME: max weight of PLN_K::KL->PI+,E-,NU measured to be 6.2835544E-02 RGPHASEME: max weight of PLN_K::K+->PI0,E-,NU measured to be 6.2505074E-02 RGPHASEME: max weight for PVPA::RHO+->PI+,PI0 given as 1.000000 RGPHASEME: max weight for PVPA::K*+->K0,PI+ given as 1.000000 RGPHASEME: max weight for PVPA::K*0->K+,PI+ given as 1.000000 RGPHASEME: max weight of PLN_DS::D0->K+,E-,NU measured to be 0.8992732 RGPHASEME: max weight for PVPA::K*+->K+,PI0 given as 1.000000 RGPHASEME: max weight of PLN_DS::D+->K0,MU-,NU measured to be 0.8878478 RGPHASEME: max weight for PVPA::PHI->KL,KS given as 1.000000 RGPHASEME: max weight of PLN_DS::DS+->ETA,MU-,NU measured to be 0.9688660 RGPHASEME: max weight for PVPA::PHI->K+,K+ given as 1.000000 RGPHASEME: max weight of PLN_K::K+->PI0,MU-,NU measured to be 5.3868037E-02 RGPHASEME: max weight of PLN_DS::D+->K0,E-,NU measured to be 0.9021877 RGPHASEME: max weight for VLN::DS+->PHI,MU-,NU given as 1.000000 RGPHASEME: max weight for VLN::D0->K*+,E-,NU given as 1.000000 RGPHASEME: max weight for VLN::D0->K*+,MU-,NU given as 1.000000 RGPHASEME: max weight for VLN::D+->K*0,MU-,NU given as 1.000000 ... 12/31/2018
Numerical Problems in Matrix Elements Problems when P2 m2 Double precision computation helps a bit, but doesn’t directly address the real problem. Need to go to another frame Cos2 should be 1 Precision problems can give arbitrarily large max value. 12/31/2018
The Solution Evaluate all matrix elements in rest frame of the parent particle Greatly simplifies certain ME’s Faster, especially for 2-body decays This requires a new phase space generator which does not boost all the way to the lab frame. Spin-off from phase, called phasecm While I was at it, I changed phase to take the parent mass as given from rgmass instead of re-computing from Sqrt(E2-P2). Also, double precision is used (overkill?) 12/31/2018
Multiple Specified Decays Original purpose was to simulate matrix elements in generic decays, and simplify simulating specific ones By-products from this, new particle data structure and ability to specify multiple decays, may be the real benefit K p black is ccbar in old MC K 2p K 3p red is select decays in new MC K K p p K p K p (D*) red is about 3 times faster for the equivalent charm K 3p (D*) Ks 2K (D*) Ks K p (D*) 12/31/2018
c-cbar Common Currency The new algorithm allows a simple calculation of… Effective c-cbar Pythia events! Example log file beginning and end: Specified decay chain CHARM: D+ A.P. = 1.000000 BR TOT = 9.618392 8.088971 D+(K-,PI+,PI+) 1.529421 D+(K*0BAR(K-,PI+),PI+;PVP) LAMBDAC+ A.P. = 0.519837 BR TOT = 5.000000 3.045000 LAMBDAC+(PROTON,K-,PI+) 1.955000 LAMBDAC+(K*0BAR(K-,PI+),PROTON) CHARMBAR: CHARMBAR A.P. = 1.000000 . . . . . . . *************************************************************** Rogue Final ISEED: 324604806 c,cbar Events Pythia generated: 1046146 Scaled c,cbar Pythia events: 1.0876517E+07 NGEN: 434055 NACC: 200000 25 faster than c-cbar! 12/31/2018
Updating mcfedit mcfedit must track with MCFocus if it’s going to be useful Already finished: Choose matrix elements for vertices Choose branching ratios for decays read and write chat files matrix elements and branching ratios multi-line decay spec (2 or more) New options Match conjugate decay, do matrix elements, use counting rules, Q/diQ supression factor Better particle selection menus Read particle2.dat Still to come: new particle data browser window Distinguish final states from decay paths (important!) expand final states Macros such as “Do trigger. No, really, I mean it!” 12/31/2018
Screen Shots 12/31/2018
More Screen Shots 12/31/2018
When Can I Release? Want to add a couple more simple matrix elements for -> p0 p+ p- ' -> 3p0 mcfedit should distinguish final states from decay paths Handle ALIASC and ALIASCB more generally Write memo and/or WWW documentation These changes should be released before tuning Are there any other tests to perform or major missing pieces? Any Objections? (hint: say “no”) 12/31/2018