| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | === What is needed to run MadWeight (software)? === |
| 6 | 1. MadWeight is MadGraph based, so you need all the software needed to run it in single machine ('''bash''', '''csh''', '''f77''', '''g77''', ...) |
| 7 | Root is not needed |
| 8 | 1. MadWeight uses python scripts. So python must be installed on your computer. The program was created/tested with '''python 2.4'''. |
| 9 | 1. 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. |
| 10 | 1. MadWeight can create automatically the graph for the likelihood, for this the code need '''gnuplot''' |
| 11 | |
| 12 | |
| 13 | |
| 14 | === How to start === |
| 15 | |
| 16 | 1. First you need to have the full package of MadGraph. |
| 17 | 1. You have to duplicate the template directory with a funny name. $>cp -r Template My_proc |
| 18 | 1. You must enter in your process $> cd My_proc |
| 19 | 1. You must switch to MadWeight mode $> ./bin/PassToMadWeight |
| 20 | 1. 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) |
| 21 | 1. You can run MadGraph $> ./bin/newprocess |
| 22 | |
| 23 | Your are ready now!! |
| 24 | |
| 25 | |
| 26 | |
| 27 | === What is needed to run MadWeight (input files-parametrisation)? === |
| 28 | 1. 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 |
| 29 | 1. Secondly, you need a sample of event in the [http://cp3wks05.fynu.ucl.ac.be/Manual/lhco.html LHCO] format. This must be placed in the directory "Events" under the name "input.lhco". |
| 30 | 1. Finally, you have to fill in all the following cards. |
| 31 | * 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) |
| 32 | * transfer_card.dat -> See TransferFunction |
| 33 | * MadWeight_card.dat -> See below |
| 34 | * 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) |
| 35 | |
| 36 | === How to run and output information === |
| 37 | As everything is configured you can simply launch the main schedullar: $> ./bin/madweight.py |
| 38 | |
| 39 | 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) |
| 40 | depending of your run option some output file couldn't be there: |
| 41 | |
| 42 | ||name||content||format|| |
| 43 | ||MY_NAME_banner.txt||all card information|| leshouches accord|| |
| 44 | ||MY_NAME_cross_weights.out|| cross section for the full process || "card_number" "value" "uncertainty" (cross section is given in GeV^-2) || |
| 45 | ||MY_NAME_norm_weights.out|| normalized weight (with cross section) || "card_number"."event_number" "value" "uncertainty" || |
| 46 | ||MY_NAME_weights.out|| unormalized weight || "card_number"."event_number" "value" "uncertainty" || |
| 47 | ||input.lhco|| input events for your analisys|| leshouches accord|| |
| 48 | |
| 49 | If you want some weight for specific subprocesses, some those output are available in ./SubProcesses/Process_dir/MY_NAME/ |
| 50 | cross section are given in P_... directories and weight in MW_P_... directories. |
| 51 | |
| 52 | In order to parametrize your local SGE cluster (if you run with this type of cluster), you can edit the file |
| 53 | ./Source/MadWeight_File/Tools/sge_schedular |
| 54 | |
| 55 | === How to run the code partially === |
| 56 | They are 6 possibilities: |
| 57 | * $> ./bin/madweight.py -ijk :launches only step i,j,k (all three are integer) |
| 58 | * $> ./bin/madweight.py -i+ :launches all steps after (including) step i |
| 59 | * $> ./bin/madweight.py -i- :launches all steps before (including) step i |
| 60 | * $> ./bin/madweight.py A B C :launches only step A B C (all three are step name) |
| 61 | * $> ./bin/madweight.py A+ :launches all steps after (including) A |
| 62 | * $> ./bin/madweight.py A- :launches all steps before (including) A |
| 63 | The different steps are the following: |
| 64 | || step || |
| 65 | || '''step value (i)''' || '''step name (A)''' || '''program''' || '''caracteristic''' || |
| 66 | || 1 || param || Card creation || Creates all the param_card.dat if asked in MadWeight_card|| |
| 67 | || 2 || analyzer || MadweightAnalyzer || Analyzes the feynman diagrams, the transfer function and creates the fortran code for the integration || |
| 68 | || 3 || compilation ||Compilation || Final compilation for all the SubProcesses || |
| 69 | || 4 || event ||Verif_event || Verification of the LHCO file. select the event containing, the exact number of jet/electron/muon. || |
| 70 | || 5 || dir || Create_dir || Creates the directory for each parralel run (one run by param_card and by event)|| |
| 71 | || 6 || launch ||launch_job || Launches the computation of the weights in the condor cluster || |
| 72 | || 7 || control || control_job || launches the control of the status of the run || |
| 73 | || 8 || collect ||collect_data|| collects all the data || |
| 74 | || 9 || plot || plot || launches the plot for the likelihood and of some distributions || |
| 75 | |
| 76 | === More option === |
| 77 | You can use four more options |
| 78 | || -help || provides some help|| |
| 79 | || -version || provides the version number|| |
| 80 | || relaunch|| available after the step eight (collect). If some job crashed (or gives zero result) you can relaunch those with this option.|| |
| 81 | || 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.\ |
| 82 | optional parameter NAME autorizes to clean old run.|| |
| 83 | || refine=VALUE || relaunch all the integration where the precision are worse than value. (include since version 2.1.6) || |
| 84 | |
| 85 | |
| 86 | === Example of the code. === |
| 87 | |
| 88 | In the following, we will give you all the information needed to reproduce example presented in articles/procedings/... |
| 89 | |
| 90 | 1. WMassMeasurmentExample: determination of the W mass. |
| 91 | 1. SpinMeasurmentExample: discrimination between two spin hyppothesys. |
| 92 | |
| 93 | |
| 94 | -- Main.OlivierMattelaer - 17 Nov 2008 |