Merge lp://staging/~madnklo/mg5amcnlo/MadNkLO_ISR into lp://staging/~madnklo/mg5amcnlo/MadNkLO

Proposed by Valentin Hirschi
Status: Merged
Merged at revision: 551
Proposed branch: lp://staging/~madnklo/mg5amcnlo/MadNkLO_ISR
Merge into: lp://staging/~madnklo/mg5amcnlo/MadNkLO
Diff against target: 20935 lines (+13076/-2772)
50 files modified
Template/ME7/Cards/run_card.dat (+2/-0)
madgraph/core/accessors.py (+67/-36)
madgraph/core/base_objects.py (+254/-17)
madgraph/core/contributions.py (+977/-353)
madgraph/core/subtraction.py (+865/-136)
madgraph/integrator/ME7_integrands.py (+2608/-719)
madgraph/integrator/cuba_interface.py (+432/-0)
madgraph/integrator/mappings.py (+265/-31)
madgraph/integrator/phase_space_generators.py (+129/-13)
madgraph/integrator/phase_space_generators.pyx (+2/-2)
madgraph/integrator/pyCubaIntegrator.py (+444/-91)
madgraph/integrator/vectors.py (+88/-13)
madgraph/integrator/vegas3_integrator.py (+18/-16)
madgraph/integrator/walkers.py (+43/-22)
madgraph/interface/ME7_interface.py (+321/-149)
madgraph/interface/loop_interface.py (+23/-10)
madgraph/interface/madgraph_interface.py (+492/-160)
madgraph/iolibs/export_ME7.py (+336/-29)
madgraph/iolibs/template_files/loop_optimized/loop_matrix_standalone.inc (+3/-3)
madgraph/iolibs/template_files/loop_optimized/user_access_subroutines.inc (+108/-10)
madgraph/iolibs/template_files/matrix_standalone_splitOrders_v4.inc (+25/-9)
madgraph/iolibs/template_files/matrix_standalone_v4.inc (+23/-9)
madgraph/iolibs/template_files/subtraction/QCD_local_currents.py (+297/-21)
madgraph/iolibs/template_files/subtraction/cataniseymour/NLO/local_currents.py (+12/-11)
madgraph/iolibs/template_files/subtraction/cataniseymour/NNLO/local_currents.py (+395/-353)
madgraph/iolibs/template_files/subtraction/colorful/NLO/beam_factorization.py (+619/-0)
madgraph/iolibs/template_files/subtraction/colorful/NLO/integrated_currents.py (+11/-21)
madgraph/iolibs/template_files/subtraction/colorful/NLO/local_currents.py (+34/-10)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/beam_factorization.py (+639/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/ginacg.cpp (+22/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/ginacgcompile.sh (+3/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/hardcoded_integrated_currents.py (+195/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/integrated_currents.py (+768/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NLO/local_currents.py (+914/-0)
madgraph/iolibs/template_files/subtraction/colorful_pp/NNLO/local_currents.py (+869/-0)
madgraph/iolibs/template_files/subtraction/subtraction_current_implementations_utils.py (+129/-33)
madgraph/loop/loop_diagram_generation.py (+11/-3)
madgraph/loop/loop_exporters.py (+8/-0)
madgraph/various/banner.py (+1/-0)
madgraph/various/misc.py (+21/-1)
tests/acceptance_tests/test_currents.py (+7/-7)
tests/input_files/IOTestsComparison/ME7ContributionTest/current_generation_and_access/Counterterms_V.txt (+90/-78)
tests/input_files/IOTestsComparison/ME7ContributionTest/current_generation_and_access/Currents_Integ.txt (+50/-31)
tests/input_files/IOTestsComparison/ME7ContributionTest/current_generation_and_access/Currents_Local.txt (+30/-18)
tests/parallel_tests/compare_ME7_with_ME6.py (+1/-1)
tests/time_db (+348/-323)
tests/unit_tests/core/test_contributions.py (+16/-5)
tests/unit_tests/core/test_subtraction.py (+4/-4)
tests/unit_tests/integrator/test_mappings.py (+33/-0)
tests/unit_tests/integrator/test_phase_space_generators.py (+24/-24)
To merge this branch: bzr merge lp://staging/~madnklo/mg5amcnlo/MadNkLO_ISR
Reviewer Review Type Date Requested Status
Nicolas Deutschmann Pending
Simone Lionetti Pending
Review via email: mp+352812@code.staging.launchpad.net

Commit message

At long last, here is the alpha version of the ISR.
There is still quite some checks to be done and the option "group_subprocesses" still need testing.
That being said however, all is in place and one can already investigate NLO processes.
NNLO processes and beyond should already be structurally OK, but that needs further testing too.

In any case, for now the following can be tested/run:

MG5_aMC>set subtraction_currents_scheme colorful
MG5_aMC>import model loop_sm
MG5_aMC>set group_subprocesses False
MG5_aMC>define p = u d
MG5_aMC>define pbar = u~ d~
MG5_aMC>generate p pbar > z QED=1 --NLO --beam_types=proton@(1,2,3,4,-1,-2,-3,-4,21)
MG5_aMC>display contributions
MG5_aMC>output TEST_ISR_ddx_z
MG5_aMC>display contributions --format=4
MG5_aMC>display contributions --format=2
MG5_aMC>launch TEST_ISR_ddx_z -i
MG5_aMC>display integrands --format=4
ME7@NLO::TEST_ISR_ddx_z > test_IR_poles --integrands=BF1 --counterterms=all --set_PDFs_to_unity=False
ME7@NLO::TEST_ISR_ddx_z > test_IR_limits --limits=F(1) --integrands=BF1 --counterterms=all --set_PDFs_to_unity=False

You can also already integrate the B, V, BF1 and BF2 contributions, while for the R one we're still missing appropriate mappings for 2>1.

I'll update this posts with progress on the remaining issues, but ISR is structurally done now!

To post a comment you must log in.
Revision history for this message
Valentin Hirschi (valentin-hirschi) wrote :

I should add that the process definition is overly complicated just so as to illustrate the new option '--beam_types'.
But it's perfectly possible to simply type:

MG5_aMC>generate p p > z QED=1 --NLO

and things will be set automatically.

531. By Valentin Hirschi

1. Fix to integrands
2. Skeletton for p p > X soft mapping and walker

532. By Nicolas Deutschmann

Implemented the Soft vs Initial state mapping to higher/lower multiplicity. All methods raise a NotImplemented error for now as they are *not* tested yet.

533. By Nicolas Deutschmann

Soft Vs Initial Mapping corrected to pass invertibility unit_test. Commutativity and associativity tests removed. Still raises NotImplemented error until validated with test_IR_limits

534. By Nicolas Deutschmann

Debugged the evaluation of the Initial-final soft-collinears. pp->Z soft limit validated. pp->Z collinear has issues with cuts.

535. By Valentin Hirschi

1. Fixed the definition of the mapping_variable `Q` in InitialLorentzOneMapping. @Simone: CHECK.
2. Fixed the soft-initial-collinear current so as to correctly define pC as 'pC = pC + pS' and use the `is_cut` function.
3. Improved the display of plots from test_IR_limits on a grid of subplots on a single page as opposed to multiple windows.
4. Tested that all limits and poles work on 'u u~ > z g'.

536. By Valentin Hirschi

1. Merged with the latest version of the trunk.

Revision history for this message
Valentin Hirschi (valentin-hirschi) wrote :

New contributions dubbed 'beam-factorization' contributions (BF) are introduced, together with their corresponding PDF counterterms.
These are generated automatically by inspecting existing contributions at lower orders, so that this part of the code is N^kLO ready already in principle.

The workflow of the __call__ and sigma functions of the ME7Integrands has been significantly modified/improved in order to have a more streamlined processing of the flavour mapping and back-propagation in ISR counterterms.
This improvement is realised with the new concept that the 'sigma' function no longer returns a single weight but instead a collection of 'ME7Event', each containing a list o weights for all the flavour structures it can adopt.

The application of the cuts and observables is then much more elegant as it is directly applied to the overall list of events generated for one specific set of input variables in the unit hypercube.

Given this large structural change, it is desirable to merge this branch sooner than later in the MadNkLO trunk. It is however not complete as it must still be tested beyond 2>1, at NNLO too, and the finite part of the integrated soft and soft-collinear counterterms is still missing.

This is however mostly irrelevant w.r.t this merge because the structural changes that were necessary for ISR are now established.

537. By Valentin Hirschi

1. Improved and fixed the interface of MadNkLO to Cuba@Vegas, which is now a viable alternative to Vegas3.
2. Cuba@Vegas supports the same options as Vegas (--save_grids, --load_grids, etc...) plus some other.
3. Integrator options should now be supplied using the new command 'set_integrator_options <integrator_name> options'
4. When considering observables, the status for Cuba@Vegas is the same as for Vegas3: OK during refine only and without parallellization (which must therefore be done by hand)

538. By Valentin Hirschi

1. Improved pyCuba@Vegas to better handle saving and loading grids.
2. Improved handling of interrupts during parallel runs (however not satisfactory yet).

539. By Valentin Hirschi

1. Slight improvement of the KeyboardInterrupt handling.
2. Added to the pyCuba@Vegas grid output file the last integration result, to easily be able to recover it with max_eval==max_eval_survey==0.

540. By Valentin Hirschi

1. Fixed a bug introduced which prevented correct generation of chsi.

541. By Valentin Hirschi

1. First attempt at implementing BS contributions

542. By Valentin Hirschi

1. Implemented the BS contribution which is correctly generated when using the colorful scheme with a mapping recoiling soft against initial states.
2. Completed the implementation so that the BS integrand and its counterterms are correctly processed. This is running but not tested yet.
3. TODO: Adapt the phase-space generator so as to generate correlated chsi values.

543. By Valentin Hirschi

1. Finished the implementation of the ME7Integrand for the BS contribution and tested that test_IR_limits works for it.

544. By Valentin Hirschi

1. Finalized the implementation of the ME7_integrand_BS, including test_IR_poles and the integration.
2. Minor fixes for pyCuba@Vegas, still not perfect yet and as quirks.

545. By Valentin Hirschi

1. Fixed typo in last push

546. By Valentin Hirschi

1. Fix a typo in last push and solved a problem in the integration of the end-point beam-soft integrated CT.

547. By Valentin Hirschi

1. Fix on how to determine correlated beam currents for IntegratedBeamCurrents

548. By Valentin Hirschi

1. Corrected the spelling chsi->xi

549. By Nicolas Deutschmann

Added missing argument (walker) in definitions of scale_configuration

550. By Valentin Hirschi

1. Fixed so '\xi' to 'xi' as the slash was sometimes understood as an escape character.

551. By Valentin Hirschi

1. Finally, flavor mapping and mirrorring is now supported.
2. The problem of overcounting integrated ISR has been adressed.
3. In theory, all should now be working and 'p p > z QED=1 --NLO' is tested
   to be integrating. Next step is validation.

552. By Valentin Hirschi

1. Fixed the passing of options to the Vegas3 integrator

553. By Nicolas Deutschmann

Changed output format to JSON, default is now to append result to existing file, new launch option --run_name

554. By Valentin Hirschi

Fixed issues that prevented p p > z j to run fine. Now it does.

555. By Valentin Hirschi

Fixed some issues to generate NNLO ISR, e.g. p p > z --NNLO with option '--ignore_integrated_counterterms=RR' for the output

556. By Valentin Hirschi

Fixed severe bug in the subtraction of EpsilonExpansion

557. By Nicolas Deutschmann

added the integrated soft and soft collinear counterterms computed using the Soft vs IS mapping of Vittorio.

558. By Nicolas Deutschmann

Corrected the scaling of the matrix element when using Vittorio's Soft vs IS mapping

559. By Nicolas Deutschmann

Corrected a typo in colorful.NLO.beam_factorization : need to use filtered_flavor_matrix

560. By Nicolas Deutschmann

changes to ME7Event.convolve_flavor:
- doc reflects that a flavor matrix second entry (end_flavors) is actually a tuple to allow multiple flavors at once
- unspecified flavor matrix entries are set to 0, not 1

added ME7Event.is_empty : check if the convolution was with an empty matrix

in ME7Integrand.convolve_event_with_beam_factorization_currents:
- after convolution check if this has made the event empty, then return None as an event. This makes it be ignored

in test_IR_poles_for_process: now weights are summed, not events. This avoids issues with mapped events that have different kinematics (swapped leg orders) which cannot be summed.

561. By Nicolas Deutschmann

Refactored flavor masking in a separate function and corrected it (it did not account for end_flavors being tuples)

562. By Valentin Hirschi

1. BUG FIX: Real-emission local counterterms were not convoluted with the right PDFs.
2. BUG FIX: Sigma failed to add correctly the counterterms to the collection of events generated because of an indentation error.
3. Removed the ugly loop-induced specific class and refactored MadNkLO so that it can do loop-induced exactly like other processes.
4. Added options at generation stage to overwrite the process definition used for any contribution.
5. Improved MadLoop standalone loop-induced output so as to add the missing F2PY function hooks that the MadLoopAccessors needed.
6. Corrected how the flag 'requires_mirrorring' is set for integrated counterterms.
7. Fixed how the mirrored events are generated, so as to really swap the entire attribute relevant to both initial states.
8. Improved the printouts of test_IR_poles.
9. Fixed when the cuts (higher and lower) are called in the test_* functions depending on the options specified by the user.
Conclusion: This is the first revision that has a chance of yielding correct ISR NLO QCD cross-sections.

563. By Valentin Hirschi

1. Small fix in Vegas3 integrator options

564. By Valentin Hirschi

1. Fixed how the mirrored events of ISR collinear are generated as they need boosting since the maappinds sends them off the c.o.m. frame.

565. By Valentin Hirschi

1. Fixed how the flavour map is applied to the integrated collinear counterterms and [F] currents.

566. By Nicolas Deutschmann

Added dispatch in softs recoiling agaist IS according to dipole type (II, IF, FF). Corrected II integrated soft. Added sanity check to avoid handling massive emitters.

567. By Nicolas Deutschmann

corrected Bjorken x bound to avoid crashing when doing e+ e- annihilation. (x<=1 instead of x<1)

568. By Valentin Hirschi

1. Improved the printout of test_IR_poles
2. FIXED the PS point specifed when creating counter-events didn't have the right kinematics.
3. FIXED PS point of the counter-event *must* be boosted back to the com for distributions to be correct
   (this is because the xi rescalines must *not* apply with the change of variables chosen by MadNkLO to generate them)

569. By Nicolas Deutschmann

Corrected the printout when creating a new folder for results and improved comments on the result folder appending/creating logic

570. By Valentin Hirschi

1. Fixed support for the option --loop_filter
2. Fixed LO beam type guessing
3. Fixed implementation of cuts at LO
4. Fixed return 0. -> continue in __call__ of the integrand base class

571. By Valentin Hirschi

1. Fixed how to implement user-based cuts.

572. By Valentin Hirschi

1. Fixed a bug in the function that constructs the flavor cuts

573. By Valentin Hirschi

1. Fix bug in handling process options

574. By Valentin Hirschi

1. Trivial bug fixed in flavor cut building function

575. By Valentin Hirschi

1. Correctly apply Gabor's cut to initial state local collinear CT.
2. Compute Q directly in evaluate_(integrated)_counterterm and pass it to currents (possibly overwriting what was computed in the mappings).

576. By Valentin Hirschi

1. Also passed Q to the F-type of currents which is necessary structurally, even though they do not depend on it.

577. By Valentin Hirschi

1. Fixed the sum of initial momentum 'Q' passed to the PDF counterterms and integrated initial-state collinear counterterms so that they do not include the xi rescalings.

578. By Valentin Hirschi

1. Fixed the fact that the '+' distributions in the integrated ISR collinear CT must also apply on the 'Q^2/(xi1*xi2)' prefactor.
   This brings MadNkLO in full agreement with MadFKS for the process 'p p > z' ! :)

579. By Valentin Hirschi

1. Fixed last implementation of the log(Q^2)_plus so that it does not crash on endpoint evaluation.

580. By Valentin Hirschi

Typo in last push

581. By Valentin Hirschi

1. Fixed the definition of NF in the beam factorization currents.

582. By Nicolas Deutschmann

Added a new current scheme to separate colorful and colorful with Vittorio's mapping

583. By Valentin Hirschi

1. Improved printouts of the counterterm structure of the events generated, also in test_IR_poles.

584. By Valentin Hirschi

1. Safe-guarded the normalization factor in test_IR_poles.

585. By Nicolas Deutschmann

Inserted forgotten multiplicity factor in integrated counterterms

586. By Nicolas Deutschmann

Added the possibility to have 1,2,3 quarks in protons.
A warning is displayed when using a single quark: debug only

587. By Nicolas Deutschmann

Bug correction: identifying colorful_pp as a scheme using BS contributions and correcting selection of initial-initial eikonals

588. By Simone Lionetti <email address hidden>

Added safeguard for loading libcuba.so

589. By Valentin Hirschi

1. Fixed obvious mistake in the recursion setup for function get_reduced_flavor of the CountertermNode.

590. By Valentin Hirschi

1. Fixed issue with mapped processes having non-consecutive leg numbers.
2. Insure to completely skipped the beam factorization treatment when no contribution has an active beam.

591. By Nicolas Deutschmann

ProcessKey now always sorts final states PDGs. The sort_PDGs options only applies to the initial state.

592. By Simone Lionetti <email address hidden>

Improved error message of get_parent

593. By Simone Lionetti <email address hidden>

Partially fixed counterterm handling in test_IR_limits

594. By Simone Lionetti <email address hidden>

Improved handling of flavor assignments and cut events in test_IR_limits

595. By Simone Lionetti <email address hidden>

Commented out unused momenta from CataniSeymour currents that could cause fails

596. By Simone Lionetti <email address hidden>

Removed a printout of the soft PS point during mapping

597. By Simone Lionetti <email address hidden>

Implemented currents for the subtraction of 'e+ e- > u d u~ d~'
with distributed softs.

598. By Simone Lionetti <email address hidden>

Improvements to ME7 while coding qqQQ subtractions

These include:
- Saving of plots in grid format
- Print statements for debugging updated (and commented)
- ME-def line is not plotted by default (meaningless with reshuffled counterterms)
- Formatting and cleanup

599. By Simone Lionetti <email address hidden>

Fixed a bug in the combination of spin-correlations, some formatting

600. By Valentin Hirschi

1. Fixed spin-correlated MEs

601. By Valentin Hirschi

1. Forced the fastjet clustering algorithm to be genkt

602. By Valentin Hirschi

1. Improved some quirks in test_IR_limits

603. By Valentin Hirschi

1. Forced the absence of a factor in the initial collinear currents of colorful.

604. By Valentin Hirschi

1. Force the massive Q ref. collinear variables for colorful.

605. By Valentin Hirschi

1. Added a new attribute FROZEN_DIMENSIONS to the ME7Integrand base class that allows
   to freeze integration variables to a desired values so as to artificially lower the
   dimensionality of the phase-space integral to perform.

606. By Nicolas Deutschmann <email address hidden>

removed colorful cut and factors in local soft and SC counterterms

607. By Nicolas Deutschmann <email address hidden>

Temporary xi^2 correction factor in colorful_pp BS bulk to crrect flux factor. A more permanent change is warranted

608. By Nicolas Deutschmann <email address hidden>

Correct Q value in coloful_pp BS counterterm

609. By Nicolas Deutschmann <email address hidden>

Now using the right prefactor for colorful_pp beam_soft

610. By Valentin Hirschi

1. Improved the slowdown from the dot functions in the Vector classes.

611. By Valentin Hirschi

1. Added a minimal fix for not applying the Bjorken x's xi boundaries on the counterterm part of the beam convolution CTs. Will need to be generalised.

612. By Valentin Hirschi

1. Cleanly implemented the upper bound based on xi for the Bjorken x's in the convolution kernels that are not of type 'counterterms'.
2. Fixed the multiplicity of integrated ISR CT when doing flavor grouping.

613. By Valentin Hirschi

1. Merged with latest version of the MadNkLO trunk.

614. By Valentin Hirschi

1. Fixed all MadNkLO tests

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: