~ma5/madanalysis5/madanalysis-development

« back to all changes in this revision

Viewing changes to madanalysis/job/job_particle.py

  • Committer: Benjamin Fuks
  • Date: 2018-05-04 10:44:49 UTC
  • mfrom: (115.1.81 v1.6beta)
  • Revision ID: fuks@cern.ch-20180504104449-60h8a00loxgr8zg0
Releasing v1.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
    part_list   = []
37
37
    option_list = []
38
38
    for item in main.selection.table:
39
 
 
40
39
        # Histogram case
41
40
        if item.__class__.__name__=='Histogram':
42
41
            ExtractPart(item.arguments,\
43
42
                        item.observable,\
44
43
                        part_list,\
45
44
                        option_list,\
46
 
                        [item.rank,item.statuscode] )
 
45
                        [item.rank,item.statuscode, item.regions] )
47
46
 
48
47
        # Cut case
49
48
        if item.__class__.__name__=='Cut':
57
56
                # Loop over the particles
58
57
                for part in combination:
59
58
                    part_list.append(part)
60
 
                    option_list.append([item.rank,item.statuscode])
 
59
                    option_list.append([item.rank,item.statuscode, item.regions])
61
60
 
62
61
            # Loop over canidates in condition
63
62
            LoopOverConditions(partType,\
64
63
                               item.conditions,\
65
64
                               part_list,option_list,\
66
 
                               [item.rank, item.statuscode])
 
65
                               [item.rank, item.statuscode, item.regions])
67
66
 
68
67
    # For particle selected by a PT rank
69
68
    # adding particle without PTrank
74
73
            newpart = copy.copy(part_list[i])
75
74
            newpart.PTrank=0
76
75
            newpart_list.append(newpart)
77
 
            newoption_list.append(["PTordering",option_list[i][1]])
 
76
            newoption_list.append(["PTordering",option_list[i][1],option_list[i][2]])
78
77
    part_list.extend(newpart_list)
79
 
    option_list.extend(option_list)
80
 
                
81
 
            
 
78
    option_list.extend(newoption_list)
 
79
 
82
80
    # Removing double counted
83
81
    final_list=[]
84
82
    for i in range(len(part_list)):
90
88
               option_list[i]==option_list[j] :
91
89
                doublon=True
92
90
        if not doublon:
93
 
            final_list.append([part_list[i], option_list[i][0], option_list[i][1]])
 
91
            final_list.append([part_list[i], option_list[i][0], option_list[i][1], option_list[i][2]])
94
92
 
95
93
    # End
96
94
    return final_list
97
95
 
98
 
 
99
96
def ExtractPart(args,obs,part_list,option_list,option):
100
97
 
101
98
    # Loop over arguments of the observable
113
110
            for part in combination:
114
111
                part_list.append(part)
115
112
                option_list.append(option)
116
 
                
117
 
    
118
 
    
 
113
 
119
114
def LoopOverConditions(partType,current,part_list,option_list,option):
120
115
 
121
116
    i=0