Reweight different coupling orders

Asked by Claudio Severi

Hello everyone,
I am posting this question following an email exchange with Olivier Mattelaer.

I have been using madgraph to reweight events according to each coupling order present in the process. (To be clear, I'm referring to the reweighting associated with the variable orderstags in amcatnlo_run_interface.py. )

If I'm not mistaken, the user is never notified that this reweighting is taking place, nor there is ever a description of it printed to screen. Since this feature is actually very useful, I propose to change slightly amcatnlo_run_interface.py, around line 2039, from:

> if not tag in orderstags:
> orderstags.append(tag)

to something like:

> if not tag in orderstags:
> logger.info("Coupling order in this process: " + " ".join(l.split()) )
> orderstags.append(tag)

Now to my actual question: as I understand, the way to turn on this reweighting is by setting reweight_scale to True in the run card. Of course this also turns on scale reweighting.
Are there ways to separate the two, to turn them on or off separately?

If not, perhaps adding a new variable, e.g. reweight_orders, to reweight_scale and reweight_pdf in the run card could be useful.

Cheers,
Claudio

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
marco zaro Edit question
Solved by:
Claudio Severi
Solved:
Last query:
Last reply:
Revision history for this message
marco zaro (marco-zaro) said :
#1

Hello Claudio,
thank you for your feedback.

About the changes that you propose to the code. The function
2031 def write_orders_tag_info(self):

inside amcatnlo_run_interface is not used any longer, as it created some mess with gridpack and mass-scale production.
Now the order-tags are written at the output stage. (see also https://bugs.launchpad.net/mg5amcnlo/+bug/1947631)
Then, can I ask why/how would you like to do in the case one has reweight_orders = true?

Cheers,

Marco

Revision history for this message
Claudio Severi (claudio-severi) said :
#2

Thanks for your reply Marco, I was not aware of the bug report you linked and of the changes in the code that followed.

As for the reweight_orders flag, I was imagining something like this: if orders is .true. and scale is .false. a weight is written for each coupling order, if scale is .true. and orders is .false. a weight is written for each scale, and if both are .true. a weight is written for each pair (scale, order). As I understand, now there is no way to separate one from the other.

Merry Christmas!
Claudio

Revision history for this message
Gloria Shane (achariahson9) said :
#3

Conformational variability and heterogeneity are crucial determinants of the function of biological macromolecules. The possibility of accessing this information experimentally suffers from severe under-determination of the problem, since there are a few experimental observables to be accounted for by a (potentially) infinite number of available conformational states.
https://malletandplane.com/
 Several computational methods have been proposed over the years in order to circumvent this theoretically insurmountable obstacle.
A large share of these strategies is based on reweighting an initial conformational ensemble which arises from, for example, molecular simulations of different qualities and levels of theory. In this work,

we compare the outcome of three reweighting approaches based on radically different views of the conformational heterogeneity problem, namely Maximum Entropy, Maximum Parsimony and Maximum Occurrence, and we do so using the same experimental data. In this comparison we find both expected as well as unexpected similarities.