8def SampleHandler_QueryAmi(samples) :
9
10
11
12
13
14
15
16
17
18
19 amiClient=pyAMI.client.Client('atlas')
20
21
29
30 data = ROOT.SH.MetaDataQuery()
31 data.messages = 'done by ami query'
32
33
34 for sample in samples :
35 sample_noscope=sample.split(':')[-1]
36
37 mydata = ROOT.SH.MetaDataSample(sample)
38
39
40
41
42
43 mydata.source = 'https://atlas-ami.cern.ch/AMI/pyAMI/'
44 mydata.unknown = 0
45
46 if (sample.startswith("mc")) :
47 mydata.isData=0
48 pass
49 elif (sample.startswith("data")) :
50 mydata.isData=1
51 pass
52 else :
53 mydata.isData=-1
54 pass
55
56
57
58
59
60
61
62
63
64
65 if (sample.find("_tid")):
66 print ("Stripping tid suffix from " + sample)
67 sample = sample.split("_tid")[0]
68 pass
69
70
71
72
73 amiinfo=get_dataset_info(amiClient, sample_noscope)[0]
74 mydata.nevents = long(amiinfo['totalEvents'])
75
76
77
78
79
80
81
82
83 if (mydata.isData==1):
84
85 mydata.crossSection=-1
86 mydata.filterEfficiency=-1
87 pass
88 else:
89 mydata.luminosity = -1
90
91 xsec=float(amiinfo['approx_crossSection'])
92 effic=float(amiinfo['approx_GenFiltEff'])
93
94 mydata.crossSection= xsec
95 mydata.filterEfficiency= effic
96 if mydata.crossSection > 0 and mydata.filterEfficiency > 0:
97 mydata.luminosity= float (float(mydata.nevents)/(mydata.crossSection*mydata.filterEfficiency))
98 pass
99 pass
100
101 data.addSample (mydata)
102
103 pass
104 return data
105
106
107
108
109