~maddevelopers/mg5amcnlo/FKS_EW_granny

« back to all changes in this revision

Viewing changes to madgraph/madevent/sum_html.py

  • Committer: Marco Zaro
  • Date: 2018-04-16 14:08:47 UTC
  • mfrom: (78.403.58 2.6.2)
  • Revision ID: marco.zaro@gmail.com-20180416140847-nuz7haj3di3gqqhq
merged with 2.6.2 rev 332

Show diffs side-by-side

added added

removed removed

Lines of Context:
682
682
</script>
683
683
""" 
684
684
 
685
 
def collect_result(cmd, folder_names, jobs=None):
 
685
def collect_result(cmd, folder_names=[], jobs=None, main_dir=None):
686
686
    """ """ 
687
687
 
688
688
    run = cmd.results.current['run_name']
689
689
    all = Combine_results(run)
690
690
 
691
691
    
692
 
    for Pdir in open(pjoin(cmd.me_dir, 'SubProcesses','subproc.mg')):
693
 
        Pdir = Pdir.strip()
 
692
    for Pdir in cmd.get_Pdir():
694
693
        P_comb = Combine_results(Pdir)
695
694
        
696
 
        P_path = pjoin(cmd.me_dir, 'SubProcesses', Pdir)
697
 
        G_dir = [G for G in os.listdir(P_path) if G.startswith('G') and 
698
 
                                                os.path.isdir(pjoin(P_path,G))]
699
 
 
700
 
        try:
701
 
            for line in open(pjoin(P_path, 'symfact.dat')):
702
 
                name, mfactor = line.split()
703
 
                if float(mfactor) < 0:
704
 
                    continue
705
 
                if os.path.exists(pjoin(P_path, 'ajob.no_ps.log')):
706
 
                    continue
707
 
                                      
708
 
                if not folder_names and not jobs:
709
 
                    name = 'G' + name
710
 
                    P_comb.add_results(name, pjoin(P_path,name,'results.dat'), mfactor)
711
 
                elif not jobs:
 
695
        if jobs:
 
696
            for job in filter(lambda j: j['p_dir'] == Pdir, jobs):
 
697
                    P_comb.add_results(os.path.basename(job['dirname']),\
 
698
                                       pjoin(job['dirname'],'results.dat'))
 
699
        elif folder_names:
 
700
            try:
 
701
                for line in open(pjoin(Pdir, 'symfact.dat')):
 
702
                    name, mfactor = line.split()
 
703
                    if float(mfactor) < 0:
 
704
                        continue
 
705
                    if os.path.exists(pjoin(Pdir, 'ajob.no_ps.log')):
 
706
                        continue
 
707
                    
712
708
                    for folder in folder_names:
713
709
                        if 'G' in folder:
714
710
                            dir = folder.replace('*', name)
715
711
                        else:
716
712
                            dir = folder.replace('*', '_G' + name)
717
 
                        P_comb.add_results(dir, pjoin(P_path,dir,'results.dat'), mfactor)
718
 
 
719
 
            if jobs:
720
 
                for job in filter(lambda j: j['p_dir'] == Pdir, jobs):
721
 
                    P_comb.add_results(os.path.basename(job['dirname']),\
 
713
                        P_comb.add_results(dir, pjoin(Pdir,dir,'results.dat'), mfactor)
 
714
                if jobs:
 
715
                    for job in filter(lambda j: j['p_dir'] == Pdir, jobs):
 
716
                        P_comb.add_results(os.path.basename(job['dirname']),\
722
717
                                       pjoin(job['dirname'],'results.dat'))
723
 
        except IOError:
724
 
            continue
 
718
            except IOError:
 
719
                continue
 
720
        else:
 
721
            G_dir, mfactors = cmd.get_Gdir(Pdir, symfact=True)
 
722
            for G in G_dir:
 
723
                if not folder_names:
 
724
                    if main_dir:
 
725
                        path = pjoin(main_dir, os.path.basename(Pdir), os.path.basename(G),'results.dat')
 
726
                    else:
 
727
                        path = pjoin(G,'results.dat')
 
728
                    P_comb.add_results(os.path.basename(G), path, mfactors[G])
 
729
                
725
730
        P_comb.compute_values()
726
731
        all.append(P_comb)
727
732
    all.compute_values()