=== Example of application/running of the code ===
==== Prepare the directory ====
1. Duplication of Template directory $>cp -r Template First_test
1. Change diretory: $> cd First_test
1. Switch to MadWeight mode: $> ./bin/PassToMadWeight
1. 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 [attachment:proc_card.dat proc_card here].
1. Generate the process: $> ./bin/newprocess
1. 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 [attachment:input.lhco here].
==== Prepare the run ====
1. Configure the [attachment:MadWeight_card.dat 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.
1. Check the param_card.dat Check that you parameter not modified via the MadWeight_card are coherent. In this case we use default file.
1. 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
1. 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
1. $>./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
}}}
1. $> ./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 :]
}}}
1. $> ./bin/madweight.py -3 or $> ./bin/madweight.py compilation: Compilation of the code. (Long and pointless output)
1. $> ./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
}}}
1. $> ./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
}}}
1. $> ./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
}}}
1. $> ./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
}}}
1. $> ./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
}}}
1. $> ./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
* [attachment:MadWeight_card.dat MadWeight_card.dat]: MadWeight_card.dat