Changes between Version 2 and Version 3 of MadWeightDiagramClass


Ignore:
Timestamp:
04/19/12 10:08:44 (7 years ago)
Author:
md987
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MadWeightDiagramClass

    v2 v3  
    77===== !! variable  =====
    88||'''name'''||'''object'''||'''default'''||'''fonction'''||
    9 ||'''pid'''||int||asked||  pid number||
    10 ||'''MG'''||int||asked||  MadGraph intern number||
    11 ||'''mass'''||float||0|| mass of the particle||
    12 ||'''mother'''||Particle||0|| mother of the particle||
    13 ||'''neutrino'''||int||0|| 1 if this particle is a neutrino||
    14 ||'''external'''||int||automatic|| 1 if this is an external particle||
    15 ||'''twin'''||Particle||0|| Particle comming from the same propagator||
     9||'''pid'''||int||asked||pid number||
     10||'''MG'''||int||asked||MadGraph intern number||
     11||'''mass'''||float||0||mass of the particle||
     12||'''mother'''||Particle||0||mother of the particle||
     13||'''neutrino'''||int||0||1 if this particle is a neutrino||
     14||'''external'''||int||automatic||1 if this is an external particle||
     15||'''twin'''||Particle||0||Particle comming from the same propagator||
    1616Optional  variable:
    1717||'''name'''||'''object'''||'''fonction'''||
    1818||'''all_mother'''||list of Particle||||list of all mother of the particle||
    19 ||'''level'''||int|||| number a propa before  himself  (with himself include)||
    20 ===== !! routine =====
    21 ||'''name'''||'''input'''||'''output'''||'''fonction'''||
    22 ||'''add_mother'''||Particle||None|| define particle as the mother of this particle||
    23 ||'''def_all_mother'''||None||list|| define the list of all the mother of teh particle (and store the info)||
     19||'''level'''||int||||number a propa before  himself  (with himself include)||
     20===== !! routine =====
     21||'''name'''||'''input'''||'''output'''||'''fonction'''||
     22||'''add_mother'''||Particle||None||define particle as the mother of this particle||
     23||'''def_all_mother'''||None||list||define the list of all the mother of teh particle (and store the info)||
    2424||'''def_mass'''||Dict_card||None||define the mass of the particle||
    2525||'''detect_neut_in_decay'''||None||Particle,int||detect the nearest neutrino in the decay branch. return this neutrino and its level compare to this particle||
     
    2727===== !! variable  =====
    2828||'''name'''||'''object'''||'''default'''||'''fonction'''||
    29 ||'''channel'''||str||input|| say if it is a S or T channel||
    30 ||'''width'''||float||0|| width of the propagator||
    31 ===== !! routine =====
    32 ||'''name'''||'''input'''||'''output'''||'''fonction'''||
    33 ||'''def_desintegation'''|| 2 Particle ||None|| define this two particle like child and define in this two who are the mother||
     29||'''channel'''||str||input||say if it is a S or T channel||
     30||'''width'''||float||0||width of the propagator||
     31===== !! routine =====
     32||'''name'''||'''input'''||'''output'''||'''fonction'''||
     33||'''def_desintegation'''||2 Particle ||None||define this two particle like child and define in this two who are the mother||
    3434==== external_part ====
    3535===== !! variable  =====
    3636||'''name'''||'''object'''||'''default'''||'''fonction'''||
    37 ||'''neutrino'''||int||automatic|| 1 if this particle is a neutrino||
    38 ||'''external'''||int||1|| 1 if this is an external particle||
    39 ||'''width'''||int||-1|| width of the particle (-1 if external particle)||
     37||'''neutrino'''||int||automatic||1 if this particle is a neutrino||
     38||'''external'''||int||1||1 if this is an external particle||
     39||'''width'''||int||-1||width of the particle (-1 if external particle)||
    4040||Optional variable||
    41 ||'''tf_level'''||int||Error|| 0-1 particle cann't enter in change of variable,[[br]] 2 can and 3 must (for invisible particle)||
     41||'''tf_level'''||int||Error||0-1 particle cann't enter in change of variable,[[br]] 2 can and 3 must (for invisible particle)||
    4242===== !! routine =====
    4343||'''name'''||'''input'''||'''output'''||'''fonction'''||
     
    4747==== diagram ====
    4848===== !! variable        =====
    49 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
     49||'''name'''||'''object'''||'''default'''||'''utility'''||
    5050||'''content'''||dict||void||link from MG number to the particle object associated||
    5151||'''prop_content'''||listof Propagator||void||list of all propagator in th diagram||
     
    5858===== !! routine =====
    5959||'''name'''||'''input'''||'''output'''||'''fonction'''||
    60 ||'''add_content'''||MG_id(int),Particle||None|| add particle with MG number in the diagram||
     60||'''add_content'''||MG_id(int),Particle||None||add particle with MG number in the diagram||
    6161||'''contains_particle'''||Particle||logic||chek if the particle belongs to this diagram||
    62 ||'''define_level'''||None||None|| define for all the content the level: number a propa before  himself  (with himself include)||
    63 ||'''define_neut_content'''||None||None|| define neutrino content of the diagram||
    64 ||'''order_in_level'''||None||None|| reordering the ext_content in level order||
     62||'''define_level'''||None||None||define for all the content the level: number a propa before  himself  (with himself include)||
     63||'''define_neut_content'''||None||None||define neutrino content of the diagram||
     64||'''order_in_level'''||None||None||reordering the ext_content in level order||
    6565==== MG_diagram ====
    6666===== !! variable  =====
    67 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
     67||'''name'''||'''object'''||'''default'''||'''utility'''||
    6868||'''ECS_sol'''||list of ECS||void||list of possible ECS||
    6969||'''blob_content'''||list of BLob||void||list of blob present in (at least) one ECS sector||
     
    7676||'''define_neutrino_stuff'''||None||None||put uptodate all neutrino dependent variable||
    7777||'''define_parameter'''||param_card(str)||None||define mass-width for all Particle (from param card)||
    78 ||'''define_tf_width'''||file(str)||None|| associate the TF-level  at each particle||
     78||'''define_tf_width'''||file(str)||None||associate the TF-level  at each particle||
    7979||'''detect_invisible_propa'''||None||None||detect propagator decaying in fully invisible particle and treat this case||
    8080||'''creation of ECS'''||||||||
    8181||'''name'''||'''input'''||'''output'''||'''fonction'''||
    8282||'''define_Constraint_sector'''||None||None||define the constraint sector and the different blob (directing routine)||
    83 ||'''select_ECS'''||ECS_list,(define_solution=1)||None|| select the best(s) ECS in the list (minimizing unfactorized propagator) and define solution if define==1||
     83||'''select_ECS'''||ECS_list,(define_solution=1)||None||select the best(s) ECS in the list (minimizing unfactorized propagator) and define solution if define==1||
    8484||'''define_ECS_as_solution'''||ECS_list||NONE||define ECS for a new (or a list) of new solution(s) for the ECS change of variable||
    85 ||'''find_ECS_0neut'''||(force=0)||ECS_list||  find ECS containing no neutrino. force authorizes some level 1 to be choose||
     85||'''find_ECS_0neut'''||(force=0)||ECS_list|| find ECS containing no neutrino. force authorizes some level 1 to be choose||
    8686||'''find_ECS_1neut'''||None||ECS_list||find the lowest(s) neutrino and define ECS||
    8787||'''find_ECS_2neut'''||None||ECS_list||return best 2 neutrino ECS||
     
    9191||* write Solution*||||||||
    9292||'''name'''||'''input'''||'''output'''||'''fonction'''||
    93 ||'''create_fortran_code'''||None||None|| create the code(sceduler)||
     93||'''create_fortran_code'''||None||None||create the code(sceduler)||
    9494||'''create_MadWeight_data'''||object,i(int)||None||create the data_$i.inc for solution||
    9595||'''create_MadWeight_main'''||object,i(int)||None||create the main_code_$i.inc for solution||
    9696||'''create_pmass2'''||object,i(int)||None||create the pmass2_$i.inc for solution||
    9797||'''already_generated_in_decay'''||particle,generated_propa||generated_propa||give (recurently) all the first particle already generated in the branchs of desintegration||
    98 ||check_invisible_decay||None||text||check if one of the invisible particle decay in 2 invisible particle.[[br]]\
    99             return 0 if not[[br]]\
    100             return a text with the call of the equivalent subroutine[[br]]||
     98||check_invisible_decay||None||text||check if one of the invisible particle decay in 2 invisible particle.[[br]]            return 0 if not[[br]]            return a text with the call of the equivalent subroutine[[br]]||
    10199||'''collect_generated_propa'''||ECS,blob_sol_list||propa_list||return all the propagator that must be generated following BW distibution||
    102100||'''return_propa_generation'''||list,pos||line(str)||return the line for the definition of how to generate the mass||
     
    114112==== blob_sector ====
    115113===== !! variable =====
    116 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
    117 ||main|| Particle||define||gives the Particle wich generates all the blob||
     114||'''name'''||'''object'''||'''default'''||'''utility'''||
     115||main||Particle||define||gives the Particle wich generates all the blob||
    118116||sol||list||void||list of the different solution of this blob||
    119117===== !! routine =====
    120118||'''name'''||'''input'''||'''output'''||'''fonction'''||
    121 ||find_solutions||None||None||find a first solution to resolve the blob.[[br]]\
    122             The idea is to take the more local possibility in all case[[br]]\
    123             this is perhaps not the best solution but it's only the beginning of the resolution[[br]]||
     119||find_solutions||None||None||find a first solution to resolve the blob.[[br]]            The idea is to take the more local possibility in all case[[br]]            this is perhaps not the best solution but it's only the beginning of the resolution[[br]]||
    124120||generate_content||None||None||import all the information for the blog||
    125 ||put_in_ecs||ECS||None|| put this blob in the blob content of ECS||
    126 ||supress_identical_solution||None||None|| supress identical solution ||
     121||put_in_ecs||ECS||None||put this blob in the blob content of ECS||
     122||supress_identical_solution||None||None||supress identical solution ||
    127123
    128124
     
    130126==== Level_generation ====
    131127===== !! variable =====
    132 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
    133 ||num_fuse||int||0|| number of fuse particle in the solution||
    134 ||sol_tag||str||def|| type of solution description||
     128||'''name'''||'''object'''||'''default'''||'''utility'''||
     129||num_fuse||int||0||number of fuse particle in the solution||
     130||sol_tag||str||def||type of solution description||
    135131||step||list_Block||void||list of the block to use for the generation (must be most of the time  in the correct order)||
    136132
     
    142138May Attention this object have multi heritage-> from Diagram (number 1) and secondly from Level_generation
    143139===== !! variable =====
    144 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
     140||'''name'''||'''object'''||'''default'''||'''utility'''||
    145141||MG_sec||MG_diagram||def||link to the Feynam object||
    146142||chgt_var||str||def||a letter (lowercase) describe a change of variable in the ECS, and a 2 describe a fuse||
    147143||main_content||list_Particle||def||central particle of the ECS||
    148144||unaligned||int||def||number of propagator in the black box plus the number of neutrinos quantity generated.||
    149 ||num_neut||int||auto|| number of neutrion in the ECS||
    150 ||intrinsec||int||auto|| number of fondamental particle in ECS||
    151 
    152 ===== !! routine =====
    153 ||'''name'''||'''input'''||'''output'''||'''fonction'''||
    154 ||define_blob||MG_diag||None|| define the blob associated to this Enlarged constraint sector( in MG_diag and in ECS) ||
    155 ||equivalent_ECS||None||None||1) define completly the change of variable for the enlarged ECS[[br]]\
    156                 -find which propagator aligned,...[[br]]\
    157             2) define equivalent solution if any (B->C)||
     145||num_neut||int||auto||number of neutrion in the ECS||
     146||intrinsec||int||auto||number of fondamental particle in ECS||
     147
     148===== !! routine =====
     149||'''name'''||'''input'''||'''output'''||'''fonction'''||
     150||define_blob||MG_diag||None||define the blob associated to this Enlarged constraint sector( in MG_diag and in ECS) ||
     151||equivalent_ECS||None||None||1) define completly the change of variable for the enlarged ECS[[br]]                -find which propagator aligned,...[[br]]            2) define equivalent solution if any (B->C)||
    158152||equivalent_ECS_1neut||None||None||^||
    159153||equivalent_ECS_2neut||None||None||^||
    160154||info||None||str||return some information about the ECS and the associated blob for write in output||
    161 ||order_block||None||none|| order the block of step||
    162 ||update_unaligned_with_blob||None||None||take care of the position of the other neutrino in order to have a more[[br]]\
    163             serious definition of the number of un-aligned variable[[br]]\
    164             this routine is designed for update the 1 neutrino case||
     155||order_block||None||none||order the block of step||
     156||update_unaligned_with_blob||None||None||take care of the position of the other neutrino in order to have a more[[br]]            serious definition of the number of un-aligned variable[[br]]            this routine is designed for update the 1 neutrino case||
    165157==== Blob_solution ====
    166158===== !! variable =====
    167 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
    168 ||blob_sec||Blob_sector||def|| to with blob this solution is linked||
     159||'''name'''||'''object'''||'''default'''||'''utility'''||
     160||blob_sec||Blob_sector||def||to with blob this solution is linked||
    169161||how_gen||dict||special||Particle-> linked block for generation (if not ''): initial value is "" for all particle in the blob||
    170162
     
    173165||copy_solution||Blob_sol||None||duplicate solution (no alias use) in order to modify it later||
    174166||debug||None||None||print information||
    175 || Find Solution||||||||
    176 ||find_all_solutions||blob||None|| complete blob.sol => find tree solutions:[[br]] \
    177    1. this solutions maximize the number of propagator generated following BW[[br]] \
    178    2. this solutions maximize the number of external particle generated following tf (i.e. all execpt neutrino)[[br]] \
    179    3. this solutions try to be an intermediate solution between the two    ||
    180 ||find_beta_solution||blob||None|| find a first solution to resolve the blob\
    181             The idea is to take the more local possibility in all case.\
    182             this is perhaps not the best solution but it's only the beginning of the resolution.\
    183             Secondly we will not defined 'final' block but some more generic one (like E*: restriction at one level of E)||
     167||Find Solution||||||||
     168||find_all_solutions||blob||None||complete blob.sol => find tree solutions:[[br]]    1. this solutions maximize the number of propagator generated following BW[[br]]    2. this solutions maximize the number of external particle generated following tf (i.e. all execpt neutrino)[[br]]    3. this solutions try to be an intermediate solution between the two    ||
     169||find_beta_solution||blob||None||find a first solution to resolve the blob [[br]]            The idea is to take the more local possibility in all case.[[br]]            this is perhaps not the best solution but it's only the beginning of the resolution.[[br]]            Secondly we will not defined 'final' block but some more generic one (like E*: restriction at one level of E)||
    184170||resolve_piece||Blob,Particle||None||find the 'first' solution for the blok taht will be linked to Particle||
    185 ||treat_conflicting_block||block||None|| if a 'C' block is block by a 'A' block it's sometimes more powerful to degrade the 'A' in 'B'\
    186             if the 'C' can be upgrated to 'A'  ||
     171||treat_conflicting_block||block||None||if a 'C' block is block by a 'A' block it's sometimes more powerful to degrade the 'A' in 'B'[[br]]            if the 'C' can be upgrated to 'A'  ||
    187172||Modify Solution||||||||
    188 ||pass_in_solution||tag||None||tag -> upgrate solution in order to fullfill taged criteria \
    189                 upgrate 'beta' solution following some criteria(tagged with tag)||
    190 ||extend_block||chgt_var||none|| put the A/D/E propagator in place to minize problem with thin transfer function||
     173||pass_in_solution||tag||None||tag -> upgrate solution in order to fullfill taged criteria [[br]]                upgrate 'beta' solution following some criteria(tagged with tag)||
     174||extend_block||chgt_var||none||put the A/D/E propagator in place to minize problem with thin transfer function||
    191175||convert_DE_in_1||None||None||convert all 'E*' and all 'd' in '1' block ||
    192176||convert_E_in_D||None||None||convert all 'E*' in 'd'||
    193 ||del_ext1_in||None||None|| delete blok  '1' but only if the particle is an external one!||
     177||del_ext1_in||None||None||delete blok  '1' but only if the particle is an external one!||
    194178
    195179=== Block_sector ===
     
    197181==== Block_sector ====
    198182===== !! variable =====
    199 ||'''name'''||'''object'''||'''default'''||'''utility'''|| 
    200 ||sol_sec||solution_sector||def|| this blob is linked to one solution||
    201 ||chgt_var||str||def|| which type of chgt_var||
     183||'''name'''||'''object'''||'''default'''||'''utility'''||
     184||sol_sec||solution_sector||def||this blob is linked to one solution||
     185||chgt_var||str||def||which type of chgt_var||
    202186||in_part||list_Particle||def||particle that must be define before-in the same time that the block||
    203187||out_part||list_Particle||def||Particle which can be generated by the block||
     
    208192===== !! routine =====
    209193||'''name'''||'''input'''||'''output'''||'''fonction'''||
    210 ||def_order_content||None||None|| define (in the corect order) the particle used in fuse sector (routine overwirtted in other case)   ||
     194||def_order_content||None||None||define (in the corect order) the particle used in fuse sector (routine overwirtted in other case)   ||
    211195||give_stop_reason||log||None||store log end message||
    212196==== Block_ECS ====
     
    214198def_order_content
    215199||'''name'''||'''input'''||'''output'''||'''fonction'''||
    216 ||def_order_content||None||None|| define (in the corect order) the particle used in ECS ||
     200||def_order_content||None||None||define (in the corect order) the particle used in ECS ||
    217201==== Block_b ====
    218202===== !! routine =====
    219203||'''name'''||'''input'''||'''output'''||'''fonction'''||
    220 ||change_chgt_var||new||None|| change the changement of variable associated ||
    221 ||def_order_content||None||None|| define (in the corect order) the particle used in this blob ||
     204||change_chgt_var||new||None||change the changement of variable associated ||
     205||def_order_content||None||None||define (in the corect order) the particle used in this blob ||
    222206||del_from_sol||None||None||supress corectly the block of the solutions||
    223207||put_B_sol_uptodate||Sol_sec||None||put the solution status uptodate with this block definition||
     
    229213Store all the option for the Program MadAnalyzer
    230214file: diagram_class.py
    231 ||    Options  ||||||||
    232 ||    '''Block_name'''   ||   '''TAG'''    ||  * default value*   ||   '''utility''' ||
    233 ||    MW_Gen          ||      1.         ||            1               || In ECS, choice which propagator to allign 1: thiner 2: nearest of the neutrino||
    234 ||    MW_Gen          ||      2.         ||            1               || In Blob, choice which propagator to allign 1: thiner 2: nearest ||
    235 ||    MW_Gen          ||      3.         ||            4               || Maximal number of ECS consider||
    236 ||    MW_Gen          ||      4.         ||            T               || Use type 1 solution for blob||
    237 ||    MW_Gen          ||      5.         ||            T               || Use type 2 solution for blob||
    238 ||    MW_Gen          ||      6.         ||            T               || Use type 3 solution for blob||
    239 ||    MW_Gen          ||      11.         ||            T               || Authorize ECS type A ||
    240 ||    MW_Gen          ||      12.         ||            T               || Authorize ECS type B ||
    241 ||    MW_Gen          ||      13.         ||            T               || Authorize ECS type C ||
    242 ||    MW_Gen          ||      14.         ||            T               || Authorize ECS type D ||
    243 ||    MW_Gen          ||      15.         ||            T               || Authorize ECS type E||
    244  ||    MW_Gen          ||      16.         ||            T               || Authorize ECS type F||
    245 ||    '''MW_Run'''        ||      3.         ||            T               ||control the efficiency of each block||
     215||   Options  ||||||||
     216||   '''Block_name'''   ||  '''TAG'''    || * default value*   ||  '''utility''' ||
     217||   MW_Gen          ||     1.         ||           1               ||In ECS, choice which propagator to allign 1: thiner 2: nearest of the neutrino||
     218||   MW_Gen          ||     2.         ||           1               ||In Blob, choice which propagator to allign 1: thiner 2: nearest ||
     219||   MW_Gen          ||     3.         ||           4               ||Maximal number of ECS consider||
     220||   MW_Gen          ||     4.         ||           T               ||Use type 1 solution for blob||
     221||   MW_Gen          ||     5.         ||           T               ||Use type 2 solution for blob||
     222||   MW_Gen          ||     6.         ||           T               ||Use type 3 solution for blob||
     223||   MW_Gen          ||     11.         ||           T               ||Authorize ECS type A ||
     224||   MW_Gen          ||     12.         ||           T               ||Authorize ECS type B ||
     225||   MW_Gen          ||     13.         ||           T               ||Authorize ECS type C ||
     226||   MW_Gen          ||     14.         ||           T               ||Authorize ECS type D ||
     227||   MW_Gen          ||     15.         ||           T               ||Authorize ECS type E||
     228 ||   MW_Gen          ||     16.         ||           T               ||Authorize ECS type F||
     229||   '''MW_Run'''        ||     3.         ||           T               ||control the efficiency of each block||
    246230==== !! Multi_list ====
    247231Special list with two level of list.