Version 2 (modified by 13 years ago) ( diff ) | ,
---|
What is needed to run MadWeight (software)?
- MadWeight is MadGraph based, so you need all the software needed to run it in single machine (bash, csh, f77, g77, ...)
Root is not needed
- MadWeight uses python scripts. So python must be installed on your computer. The program was created/tested with python 2.4.
- MadWeight runs with on different type of cluster (single machine, condor, SGE, BASH). A implementation on any other cluster (like 'pbs' for example) will be done (in one or two day) on demand.
- MadWeight can create automatically the graph for the likelihood, for this the code need gnuplot
How to start
- First you need to have the full package of MadGraph.
- You have to duplicate the template directory with a funny name. $>cp -r Template My_proc
- You must enter in your process $> cd My_proc
- You must switch to MadWeight mode $> ./bin/PassToMadWeight
- You must parametrize your proc_card.dat. The paramatrization of the proc_card needs your process in the DECAY CHAIN format, i.e. the W production should be pp > (W+ > e+ve). The MadWeight package also require the knowledge of a transfer functions (but this information can be change after the generation)
- You can run MadGraph $> ./bin/newprocess
Your are ready now!!
What is needed to run MadWeight (input files-parametrisation)?
- First you need to define your TransferFunction, if there are not well defined already. Follow TransferFunction instructions to create a new one. To use another TransferFunction, you can run the script $> ./bin/change_tf.py
- Secondly, you need a sample of event in the LHCO format. This must be placed in the directory "Events" under the name "input.lhco".
- Finally, you have to fill in all the following cards.
- run_card.dat -> impose some cut in your phase space integration (Normaly you have to remove all cut for MadWeight except if you have divergencies)
- transfer_card.dat -> See TransferFunction
- MadWeight_card.dat -> See below
- param_card.dat (initial value for the theoretical parameter: some parameter can be different in running time following what is asked in MadWeight_card.dat->see run option)
How to run and output information
As everything is configured you can simply launch the main schedullar: $> ./bin/madweight.py
All the result will be putted in the directory Events/MY_NAME. where MY_NAME is the name of the process in the run_card.dat (by default it is fermi) depending of your run option some output file couldn't be there:
name | content | format |
MY_NAME_banner.txt | all card information | leshouches accord |
MY_NAME_cross_weights.out | cross section for the full process | "card_number" "value" "uncertainty" (cross section is given in GeV-2) |
MY_NAME_norm_weights.out | normalized weight (with cross section) | "card_number"."event_number" "value" "uncertainty" |
MY_NAME_weights.out | unormalized weight | "card_number"."event_number" "value" "uncertainty" |
input.lhco | input events for your analisys | leshouches accord |
If you want some weight for specific subprocesses, some those output are available in ./SubProcesses/Process_dir/MY_NAME/ cross section are given in P_... directories and weight in MW_P_... directories.
In order to parametrize your local SGE cluster (if you run with this type of cluster), you can edit the file ./Source/MadWeight_File/Tools/sge_schedular
How to run the code partially
They are 6 possibilities:
- $> ./bin/madweight.py -ijk :launches only step i,j,k (all three are integer)
- $> ./bin/madweight.py -i+ :launches all steps after (including) step i
- $> ./bin/madweight.py -i- :launches all steps before (including) step i
- $> ./bin/madweight.py A B C :launches only step A B C (all three are step name)
- $> ./bin/madweight.py A+ :launches all steps after (including) A
- $> ./bin/madweight.py A- :launches all steps before (including) A The different steps are the following:
step | |||
step value (i) | step name (A) | program | caracteristic |
1 | param | Card creation | Creates all the param_card.dat if asked in MadWeight_card |
2 | analyzer | MadweightAnalyzer | Analyzes the feynman diagrams, the transfer function and creates the fortran code for the integration |
3 | compilation | Compilation | Final compilation for all the SubProcesses |
4 | event | Verif_event | Verification of the LHCO file. select the event containing, the exact number of jet/electron/muon. |
5 | dir | Create_dir | Creates the directory for each parralel run (one run by param_card and by event) |
6 | launch | launch_job | Launches the computation of the weights in the condor cluster |
7 | control | control_job | launches the control of the status of the run |
8 | collect | collect_data | collects all the data |
9 | plot | plot | launches the plot for the likelihood and of some distributions |
More option
You can use four more options
-help | provides some help |
-version | provides the version number |
relaunch | available after the step eight (collect). If some job crashed (or gives zero result) you can relaunch those with this option. |
clean[=NAME] | When the step 8 (collect) fully succeed and the run is succeeded and finish. you can suppress the event by event log/input/output. This save a lot of memory.\ |
optional parameter NAME autorizes to clean old run.
refine=VALUE | relaunch all the integration where the precision are worse than value. (include since version 2.1.6) |
Example of the code.
In the following, we will give you all the information needed to reproduce example presented in articles/procedings/...
- WMassMeasurmentExample: determination of the W mass.
- SpinMeasurmentExample: discrimination between two spin hyppothesys.
-- Main.OlivierMattelaer - 17 Nov 2008