WARNING
- This tutorial is based on MadWeight2 which is not maintained anymore
- In MadGraph5, the W mass is an internal parameter of the SM model (fixed by gauge invariance). In order to reproduce similar tutorial with MadWeight5, you need therefore to either pass in complex mass scheme (which change the gauge scheme) or to modify the Z mass.
Example of application/running of the code
Prepare the directory
- Duplication of Template directory $>cp -r Template First_test
- Change diretory: $> cd First_test
- Switch to MadWeight mode: $> ./bin/PassToMadWeight
- Parametrize the proc_card.dat. For this example the decay chain is the following one: pp>(W+>e+ve) and the transfer functions is dbl_gauss_pt_jet (the one foreseen for PGS in the CMS-like configuration). You can download this proc_card here.
- Generate the process: $> ./bin/newprocess
- Put the events sample in the ./Events directory under the name input.lhco. Our events sample is generated with MadGraph/Pythia/PGS: and is available here.
Prepare the run
- Configure the MadWeight_card.dat. In the given card, we will run in single machine for 20 events and 5 different mass hyppothesis. As they are no divergencies in the square matrix element, we don't want to put any cut in the evaluation of the integrals. So that we have desactivated the cut.
- Check the param_card.dat Check that you parameter not modified via the MadWeight_card are coherent. In this case we use default file.
- Check the run_card.dat Choose the name of the run (here we use "fermi") , the energy of the beam,... Note that the cuts defined here will not be used (as we have asked in the MadWeight_card.dat). Default files is used
- Define/Check transfer_card.dat. Only the jet part are often consider as process dependant, as far as we don't have jet, the defaulf parametrization (delta function for the electron) should be sufficient.
Launch MadWeight
In this example we will launch MW by step in order to explain in detail each step.
Note the log are done with version: 2.5.4
$>./bin/madweight.py
-1 or$>./bin/madweight.py
param:
Create the different param_card and files related to the different cards.
output:no mapping card found starting the creation of the param_card define new mapping file define new mapping file we have created 5 param_card's create file ./Source/madweight_card.inc create file ./Source/MadWeight_File/Transfer_Fct/transfer_card.inc
$> ./bin/madweight.py
-2 or$> ./bin/madweight.py analyzer
:
Analyzes the Feynman diagrams, the transfer function and creates the fortran code for the integration.
output, indicates how MW analyzes your decay chains. and which change of variable it will apply on it.treating MW_P1_uxd_e-vex directory structure of the configuration 1: particle: 3 pid : 11 level: 1 mother: -1 twin: 4 particle: 4 pid : -12 level: 1 mother: -1 twin: 3 particle: -1 pid : -24 level: 1 channel: S des: 4 3 mass/width: 40.0/2.04759951 1 ECS('s) 1 propagator(s) 1 missing particles(s) detail : b(1) 1 blob(s) associated Blob details: main 3 blob generation: [0||3 :] treating MW_P1_dux_e-vex directory structure of the configuration 1: particle: 3 pid : 11 level: 1 mother: -1 twin: 4 particle: 4 pid : -12 level: 1 mother: -1 twin: 3 particle: -1 pid : -24 level: 1 channel: S des: 4 3 mass/width: 40.0/2.04759951 1 ECS('s) 1 propagator(s) 1 missing particles(s) detail : b(1) 1 blob(s) associated Blob details: main 3 blob generation: [0||3 :]
$> ./bin/madweight.py
-3 or$> ./bin/madweight.py
compilation: Compilation of the code. (Long and pointless output)- $> ./bin/madweight.py -4 or ./bin/madweight.py event: Check if the events in the input.lhco files are coherent for each subprocesses. {{{ name : fermi
time init Lhco_filter 0.0028760433197 time begin verif event Lhco_filter 0.0147750377655 time verif event Lhco_filter 2.26735496521 4617 selected events for ./SubProcesses/MW_P1_uxd_e-vex subprocess time Lhco_filter 2.27038884163 time init Lhco_filter 0.00105285644531 time begin verif event Lhco_filter 0.0399279594421 time verif event Lhco_filter 2.30534601212 4617 selected events for ./SubProcesses/MW_P1_dux_e-vex subprocess time Lhco_filter 2.30747294426 schedullar done }}}
- $> ./bin/madweight.py -5 or ./bin/madweight.py dir: Creates the directory for each parralel run. The name of the directory is for cross-section computation: ./SubProcesses/P1_uxd_e-vex/fermi/card_1/ for weight computation:./SubProcesses/MW_P1_uxd_e-vex/fermi/card_1/event_0/
name : fermi schedullar creating all directories P1_uxd_e-vex : deleting old run directory /data/0/O/omatt/MG_ME/TEST_W create_dir: 100% ||>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|| Time: 00:00:00 created 5 directories P1_dux_e-vex : deleting old run directory /data/0/O/omatt/MG_ME/TEST_W create_dir: 100% ||>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|| Time: 00:00:00 created 5 directories MW_P1_dux_e-vex : deleting old run directory /data/0/O/omatt/MG_ME/TEST_W mkdir: cannot create directory `./SubProcesses/MW_P1_dux_e-vex/fermi/': File exists create_dir: 100% ||>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|| Time: 00:00:00 created 100 directories MW_P1_uxd_e-vex : deleting old run directory /data/0/O/omatt/MG_ME/TEST_W mkdir: cannot create directory `./SubProcesses/MW_P1_uxd_e-vex/fermi/': File exists create_dir: 100% ||>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|| Time: 00:00:00 created 100 directories done
- $> ./bin/madweight.py -6 or ./bin/madweight.py launch: Launches the computation of the weights on the cluster. (here by default on a single machine.
mkdir: cannot create directory `./Events/fermi': File exists compiling done compiling done schedullar launch: create scheduling file donereation/Submission: 0% || || ETA: --:--:-- make: `f77_madweight' is up to date. make: `f77_madweight' is up to date. make: `madevent' is up to date. make: `madevent' is up to date. launch ../../../f77_madweight ...(lot of launch ../../../comp_madweight)... launch ../../madevent.py
- $> ./bin/madweight.py -7 or ./bin/madweight.py control: control the cluster status. This is cluster related, so ntohing happen in this case.
name : fermi schedullar done
- $> ./bin/madweight.py -8 or ./bin/madweight.py collect: collect all the different value
name : fermi schedullar done collecting data collecting cross section results collect suceeded in 5 / 5 directories collect suceeded in 5 / 5 directories collecting output weight results collect in process MW_P1_dux_e-vex suceeded in 100 / 100 directories collect in process MW_P1_uxd_e-vex suceeded in 100 / 100 directories /data/0/O/omatt/MG_ME/TEST_MW2 /data/0/O/omatt/MG_ME/TEST_MW2
- $> ./bin/madweight.py -9 or ./bin/madweight.py plot: compute the likelihood and try to make plot (here I don't have gnuplot on my cluster, so it fails)
charge file ./Events/fermi/fermi_weights.out load cross section term ./Events/fermi/fermi_cross_weights.out no acceptance term loaded
At this stage all the output are in ./Events/fermi/ For example the computation of the likelihood (whitout the AcceptanceTerm) gives:
1. 40 228.955053585 0.000715345946119 2. 60 188.48197688 0.000750658557815 3. 80 152.390896814 0.000965491294664 4. 100 159.014840519 0.00113245384668 5. 120 168.413249969 0.00123941979677
The first column is the card_number, the second the W mass, the third the value of the likelihood, and the last one the error associate. In this simple example, we can claim that the correct mass is around 80 GeV. (In this case, the error is dominated by the binning)
-- Main.OlivierMattelaer - 14 Sep 2009
- MadWeight_card.dat: MadWeight_card.dat
Attachments (6)
- input.lhco (2.2 MB ) - added by 12 years ago.
- param_card.dat (3.7 KB ) - added by 12 years ago.
- transfer_card.dat (3.3 KB ) - added by 12 years ago.
- proc_card.dat (3.7 KB ) - added by 12 years ago.
- run_card.dat (11.1 KB ) - added by 12 years ago.
- MadWeight_card.dat (4.7 KB ) - added by 12 years ago.