ATLAS Offline Software
SetupEgammaMonitoring.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 '''
6 @file SetupEgammaMonitoring.py
7 @author B. Laforge
8 4 May 2020
9 @brief Example python configuration for the Run III AthenaMonitoring package
10 '''
11 from AthenaConfiguration.ComponentFactory import CompFactory
12 import TrigEgammaMonitoring.TrigEgammaMonitCategory as egammaConf
13 
14 def BookHistogramsPerRegions(thegroupe,theparttype,thename,title,path,xbins,xmin,xmax,thetype="TH1F",thecut="is_pt_gt_4gev"):
15  '''
16  Function to configure the egamma histograms per region (BARREL, CRACK, ENDCAP, FORWARD)
17  The list is different for electrons, forward electrons and photons
18  '''
19  Regions = ['BARREL', 'CRACK', 'ENDCAP']
20  for n in range(len(Regions)):
21  hname = thename + "in" + Regions[n] #+ ";" + thename + "in" + Regions[n] #+ " " + thepartype + thereconame + thewithTrigger
22  htitle = title + " " + theparttype + " " + Regions[n]
23  thefinalcut = thecut+Regions[n]
24  thegroupe.defineHistogram(hname,title=htitle, path=path, xbins=xbins,xmin=xmin,xmax=xmax,type = thetype, cutmask = thefinalcut)
25 
26 def BookHistogramsPerForwardRegions(thegroupe,theparttype,thename,title,path,xbins,xmin,xmax,thetype="TH1F",thecut="is_pt_gt_10gev"):
27  '''
28  Function to configure the egamma histograms per region (BARREL, CRACK, ENDCAP, FORWARD)
29  The list is different for electrons, forward electrons and photons
30  '''
31  Regions = ['ENDCAP','FORWARD']
32  for n in range(len(Regions)):
33  hname = thename + "in" + Regions[n] # + ";" + thename + "in" + Regions[n] #+ " " + thepartype + thereconame + thewithTrigger
34  htitle = title + " " + theparttype + " " + Regions[n]
35  thefinalcut = thecut+Regions[n]
36  thegroupe.defineHistogram(hname,title=htitle, path=path, xbins=xbins,xmin=xmin,xmax=xmax,type = thetype, cutmask = thefinalcut)
37 
38 def BookHistograms(groupe,reconame,particletype,withTrigger=""):
39  '''
40  Function to configure the egamma histograms
41  The list is different for electrons and photons
42  usage example : BookHistograms(GroupElectronLHTight,"LHTight","Electron","WithTrigger")
43  '''
44 
45  if particletype in ["Electron","Photon"] :
46  if particletype in ["Electron"] :
47  prefix = "electron"
48  tlabel = "_{e}"
49  if particletype in ["Photon"] :
50  prefix = "photon"
51  tlabel = "_{#gamma}"
52 
53  hname = "N"
54  htitle = "Number of " + prefix + "s (" + reconame + " " + withTrigger+ ") ; N" + tlabel + " ; N_{event}"
55  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
56 
57  if particletype in ["Photon"] :
58  hname = "NConv"
59  htitle = "Number of converted photons (" + reconame + " " + withTrigger+ ") ; N_{Conv. #gamma} ; N_{event}"
60  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
61 
62  hname = "NUnconv"
63  htitle = "Number of unconverted photons (" + reconame + " " + withTrigger+ ") ; N_{Unconv. #gamma} ; N_{event}"
64  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
65 
66  hname= "Et"
67  htitle= particletype + " transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ")" + " ; Et"+ tlabel +" ; N" + tlabel
68  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=2.,xmax=102000.0)
69 
70  if particletype in ["Photon"] :
71 
72  hname= "EtConv"
73  htitle= "Converted #gamma transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ")" + " ; Et" + tlabel + " ; N" + tlabel
74  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=2.,xmax=102000.0, cutmask = 'is_pt_gt_4gevandconv')
75 
76  hname= "EtUnconv"
77  htitle= "Unconverted #gamma transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ")" + " ; Et" + tlabel + " ; N" + tlabel
78  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=2.,xmax=102000.0, cutmask = 'is_pt_gt_4gevandunconv')
79 
80  hname= "Eta"
81  htitle= particletype + " #eta" + " (" + reconame + " " + withTrigger + ")"+ " ; #eta" + tlabel + " ; N" + tlabel
82  groupe.defineHistogram(hname,title=htitle, path='',type = "TH1D", xbins=64,xmin=-3.2,xmax=3.2)
83 
84  if particletype in ["Photon"] :
85  hname= "EtaConv"
86  htitle= "Converted photons #eta" + " (" + reconame + " " + withTrigger + ")"+ " ; #eta" + tlabel + " ; N" + tlabel
87  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2,cutmask = 'is_pt_gt_4gevandconv')
88 
89  hname= "EtaUnconv"
90  htitle= "Unconverted photons #eta" + " (" + reconame + " " + withTrigger + ")"+ " ; #eta" + tlabel + " ; N" + tlabel
91  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2,cutmask = 'is_pt_gt_4gevandunconv')
92 
93  hname= "Phi"
94  htitle= particletype + " #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #phi" + tlabel + " ; N" + tlabel
95  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2)
96 
97  if particletype in ["Photon"] :
98  hname= "PhiConv"
99  htitle= "Converted photon #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #phi" + tlabel + " ; N" + tlabel
100  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2,cutmask = 'is_pt_gt_4gevandconv')
101 
102  hname= "PhiUnconv"
103  htitle= "Unconverted photon #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #phi" + tlabel + " ; N" + tlabel
104  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2, cutmask = 'is_pt_gt_4gevandunconv')
105 
106  hname= "Eta,Phi;Eta_Phi_with_Pt_gt_2.5GeV"
107  htitle= particletype + " #eta,#phi map (candidates with Pt>2.5GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
108  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask = 'is_pt_gt_2_5gev')
109 
110  if particletype in ["Photon"] :
111  hname= "Eta,Phi;Eta_Phi_Conv_with_Pt_gt_2.5GeV"
112  htitle= "(#eta,#phi) map of Conv. #gamma with Pt>2.5GeV" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
113  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2, cutmask = 'is_pt_gt_2_5gevandconv')
114 
115  hname= "Eta,Phi;Eta_Phi_Unconv_with_Pt.gt.2.5GeV"
116  htitle= "(#eta,#phi) map of Unconv. #gamma with Pt>2.5GeV" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
117  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2, cutmask = 'is_pt_gt_2_5gevandunconv')
118 
119  hname= "Eta,Phi;Eta_Phi_distribution_with_Pt.gt.4GeV"
120  htitle= particletype + " #eta,#phi map (candidates with Pt>4GeV)" + " (" + reconame + " " + prefix + " " + withTrigger + ") ; #eta ; #phi"
121  groupe.defineHistogram(hname,title=htitle,path='',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_4gev')
122 
123  if particletype in ["Photon"] :
124  hname= "Eta,Phi;Eta_Phi_Conv_with_Pt.gt.4GeV"
125  htitle= particletype + " #eta,#phi map (candidates with Pt>4GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
126  groupe.defineHistogram(hname,title=htitle,path='',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_4gevandconv')
127 
128  hname= "Eta,Phi;Eta_Phi_Unconv_with_Pt.gt.4GeV"
129  htitle= particletype + " #eta,#phi map (candidates with Pt>4GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
130  groupe.defineHistogram(hname,title=htitle,path='',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_4gevandunconv')
131 
132  hname= "Eta,Phi;Eta_Phi_with_Pt.gt.20GeV"
133  htitle= particletype + " #eta,#phi map (candidates with Pt>20GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi "
134  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_20gev')
135 
136  if particletype in ["Photon"] :
137  hname= "Eta,Phi;Eta_Phi_distribution_of_Conv._photons_with_Pt.gt.20GeV"
138  htitle= particletype + " #eta,#phi map (candidates with Pt>20GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
139  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_20gevandconv')
140 
141  hname= "Eta,Phi;Eta_Phi_distribution_of_Unconv._photons_with_Pt.gt.20GeV"
142  htitle= particletype + " #eta,#phi map (candidates with Pt>20GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
143  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_20gevandunconv')
144 
145  hname= "TopoEtCone40"
146  htitle = particletype + " Topocluster Isolation Energy" + " (" + reconame + " " + withTrigger + ") ; TopoEtCone40 ; N" + tlabel
147  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=-10000.,xmax=40000.)
148 
149  hname= "PtCone20"
150  htitle = particletype + " Track Isolation Pt" + " (" + reconame + " " + withTrigger + ") ; PtCone20 ; N" + tlabel
151  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-10000.,xmax=40000.)
152 
153  hname= "Time"
154  htitle = "Time associated with " + particletype + " cluster [ns]" + " (" + reconame + " " + withTrigger + ") ; Time [ns] ; N" + tlabel
155  groupe.defineHistogram(hname,title=htitle, path='',xbins=90,xmin=-30.,xmax=60.)
156 
157  if particletype in ["Photon"] :
158  hname= "RConv"
159  htitle = "Photon Conversion radius [mm] " + " (" + reconame + " " + withTrigger + ") ; Rconv ; N_{#gamma}"
160  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=0.,xmax=800.)
161 
162  # histograms per region
163  hname= "Et"
164  htitle= particletype + " transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ") ; Et" + tlabel + " ; N" + tlabel
165  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=100,xmin=2.,xmax=102000.0,thecut='is_pt_gt_2_5gev')
166 
167  hname= "Eta"
168  htitle= particletype + " #eta" + " (" + reconame + " " + withTrigger + ")" + " ; #eta" + tlabel + " ; N" + tlabel
169  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=64,xmin=-3.2,xmax=3.2)
170 
171  hname= "Phi"
172  htitle= particletype + " #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #eta" + tlabel + " ; N" + tlabel
173  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=64,xmin=-3.2,xmax=3.2)
174 
175  hname= "Time"
176  htitle = "Time associated with " + particletype + " cluster [ns]" + " (" + reconame + " " + withTrigger + ") ; Time [ns] ; N" + tlabel
177  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=90,xmin=-30.,xmax=60.)
178 
179  if particletype in ["Photon"] :
180  hname= "RConv"
181  htitle = "Photon Conversion radius [mm] " + " (" + reconame + " " + withTrigger + ") ; Rconv [mm] ; N_{#gamma} "
182  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=100,xmin=0.,xmax=800.)
183 
184  hname= "ConvType"
185  htitle = "Photon Conversion Type " + " (" + reconame + " " + withTrigger + ") ; ConvType ; N_{#gamma}"
186  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=6,xmin=-0.5,xmax=5.5)
187 
188  hname= "ConvTrkMatch1"
189  htitle = "Photon Conversion Trak1 Match " + " (" + reconame + " " + withTrigger + ") ; ConTrkMatch1 ; N_{#gamma}"
190  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=4,xmin=-0.5,xmax=0.)
191 
192  hname= "ConvTrkMatch2"
193  htitle = "Photon Conversion Trak1 Match " + " (" + reconame + " " + withTrigger + ") ; ConTrkMatch2 ; N_{#gamma}"
194  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=4,xmin=0.,xmax=4.)
195 
196  # ID Panel
197 
198  hname= "Ehad1"
199  htitle = particletype + " energy leakage in 1st hadronic sampling " + " (" + reconame + " " + withTrigger + ")" + "; Ehad1 (MeV) ; N" + tlabel
200  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-1000.,xmax=10000.)
201 
202  if particletype in ["Electron"] :
203  hname= "EoverP"
204  htitle = particletype + " matched track E over P " + " (" + reconame + " " + withTrigger + ")" + "; EoverP ; N" + tlabel
205  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=5.)
206 
207  hname= "CoreEM"
208  htitle = particletype + " core energy in EM calorimeter " + " (" + reconame + " " + withTrigger + ")" + "; E (MeV) ; N" + tlabel
209  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-5000.,xmax=250000.)
210 
211  hname= "F0"
212  htitle = particletype + " fractional energy in Presampler " + " (" + reconame + " " + withTrigger + ")" + "; F0 ; N" + tlabel
213  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
214 
215  hname= "F1"
216  htitle = particletype + " fractional energy in 1st sampling " + " (" + reconame + " " + withTrigger + ")" + "; F1 ; N" + tlabel
217  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
218 
219  hname= "F2"
220  htitle = particletype + " fractional energy in 2nd sampling " + " (" + reconame + " " + withTrigger + ")" + "; F2 ; N" + tlabel
221  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
222 
223  hname= "F3"
224  htitle = particletype + " fractional energy in 3rd sampling " + " (" + reconame + " " + withTrigger + ")" + "; F3 ; N" + tlabel
225  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
226 
227  hname= "Re233e237"
228  htitle = particletype + " uncor. energy fraction in 3x3/3x7 cells in em sampling 2 " + " (" + reconame + " " + withTrigger + ")" + "; R 3x3/3x7 ; N" + tlabel
229  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=2.)
230 
231  hname= "Re237e277"
232  htitle = particletype + " uncor. energy fraction in 3x7/7x7 cells in em sampling 2 " + " (" + reconame + " " + withTrigger + ")" + "; R 3x7/7x7 ; N" + tlabel
233  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=2.)
234 
235  # Specific plots for electrons (related to electron track) in Expert/Tracks Panel
236 
237  if particletype in ["Electron"] :
238  hname= "NOfBLayerHits"
239  htitle = particletype + " NOfBLayerHits (" + reconame + " " + withTrigger + ") ; N_{BlayerHits} ; N_{e}"
240  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=6,xmin=-0.5,xmax=5.5)
241 
242  hname= "NOfPixelHits"
243  htitle = particletype + " NOfPixelHits (" + reconame + " " + withTrigger + ") ; N_{PixelHits} ; N_{e}"
244  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=6,xmin=-0.5,xmax=5.5)
245 
246  hname= "NOfSCTHits"
247  htitle = particletype + " NOfSCTHits (" + reconame + " " + withTrigger + ") ; N_{SCTHits} ; N_{e}"
248  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=25.5)
249 
250  hname= "NOfTRTHits"
251  htitle = particletype + " NOfTRTHits (" + reconame + " " + withTrigger + ") ; N_{TRTHits} ; N_{e}"
252  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=50.5)
253 
254  hname= "NOfTRTHighThresholdHits"
255  htitle = particletype + " NOfTRTHighThresholdHits (" + reconame + " " + withTrigger + ") ; N_{TRT HighThres. Hits} ; N_{e}"
256  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=50.5)
257 
258  hname= "DeltaEta1"
259  htitle = particletype + " track match #Delta #eta (1st sampling) " + " (" + reconame + " " + withTrigger + ") ; #Delta #eta ; N_{e} "
260  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=50,xmin=-0.05,xmax=0.05)
261 
262  hname= "DeltaPhi2"
263  htitle = particletype + " track match #Delta #Phi (2st sampling) " + " (" + reconame + " " + withTrigger + ") ; #Delta #phi ; N_{e} "
264  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=50,xmin=-0.15,xmax=0.15)
265 
266  hname= "Trackd0"
267  htitle = particletype + " track d0 " + " (" + reconame + " " + withTrigger + ") ; d0 ; N_{e}"
268  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=100,xmin=-5.,xmax=5.)
269 
270  # LumiBlock dependant histogram
271 
272  hname= "LBEvoN"
273  htitle= "Number of " + particletype + "s per LB (" + reconame + " " + withTrigger + ") ; LB ; N" + tlabel
274  groupe.defineHistogram(hname,title=htitle,path='byLB',type='TH1F',xbins=2000,xmin=-0.5,xmax=1999.5)
275 
276  if particletype in ["Photon"] :
277  hname= "LBEvoNPhotonsUnconv;Number_of_Unconv._photons_vs_LB"
278  htitle = "Unconverted photon number versus LB " + " (" + reconame + " " + withTrigger + ") ; LB ; N_{Unconv. #gamma}"
279  groupe.defineHistogram(hname,title=htitle, path='byLB',xbins=2000,xmin=-0.5,xmax=1999.)
280 
281  hname= "LBEvoNPhotonsConv;Number_of_Conv._photons_vs_LB"
282  htitle = "Converted photon number versus LB " + " (" + reconame + " " + withTrigger + ") ; LB ; N_{Conv. #gamma}"
283  groupe.defineHistogram(hname,title=htitle, path='byLB',xbins=2000,xmin=-0.5,xmax=1999.)
284 
285  hname= "is_pt_gt_4gevandconv,LB;Conversion_fraction_vs_LB"
286  htitle = "Converted photon fraction versus LB " + " (" + reconame + " " + withTrigger + ") ; LB ; Conv. #gamma fraction"
287  groupe.defineHistogram(hname,title=htitle, path='byLB',type = 'TEfficiency', xbins=2000,xmin=-0.5,xmax=1999.)
288 
289  return True
290 
291 def BookTnPHistograms(groupe,reconame,TnPType,MassLowerCut,MassUpperCut):
292  '''
293  Function to configure the egamma histograms for a Tag and Probe resonance decayong to ee.
294  usage example : BookHistogramsTnP(GroupElectronLHTight,"LHTight","Electron","WithTrigger")
295  '''
296 
297  tlabel = "_{" + TnPType + "}"
298  particletype = 'Electron'
299 
300  hname = "LB;Number_of_" + TnPType + "_candidates_vs_LB"
301  htitle = "Number of " + TnPType +" candidates vs LB ; LB ; N" + tlabel
302  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=2000,xmin=-0.5,xmax=1999.5)
303 
304  hname = "MassZ;" + TnPType + "_candidate_mass"
305  htitle = TnPType + " candidate mass ; M_{ee} [MeV/ c^{2}]; N" + tlabel
306  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=100,xmin=MassLowerCut,xmax=MassUpperCut)
307 
308  hname = "MassZ_BARREL;" + TnPType + "_candidate_mass_distribution_Lead_in_Barrel"
309  htitle = TnPType + " candidate mass in Barrel ; M_{ee} [MeV/ c^{2}]; N" + tlabel
310  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=100,xmin=MassLowerCut,xmax=MassUpperCut)
311 
312  hname = "MassZ_ENDCAP;" + TnPType + "_candidate_mass_distribution_Lead_in_EndCap"
313  htitle = TnPType + " candidate mass in EndCap ; M_{ee} [MeV/ c^{2}]; N" + tlabel
314  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=100,xmin=MassLowerCut,xmax=MassUpperCut)
315 
316  hname = "MassZ_CRACK;" + TnPType + "_candidate_mass_distribution_Lead_in_Crack"
317  htitle = TnPType + " candidate mass in Crack Regionl ; M_{ee} [MeV/ c^{2}]; N" + tlabel
318  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=100,xmin=MassLowerCut,xmax=MassUpperCut)
319 
320  # The next two histos receive 1 entry per leading electron probe candidate
321 
322  hname = "EtaZ;Number_of_"+ TnPType + "_candidates_vs_eta_leading_e"
323  htitle = "Number of "+ TnPType +" candidates vs #eta of leading e" + " ; #eta_{e_{lead}} ; N" + tlabel
324  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=64,xmin=-3.2,xmax=3.2)
325 
326  hname = "PhiZ;Number_of_"+ TnPType + "_candidates_vs_phi_leading_e"
327  htitle = "Number of "+ TnPType +" candidates vs #phi of e" + " ; #phi_{e_{lead}} ; N" + tlabel
328  groupe.defineHistogram(hname,title=htitle, path='TnPCandidate',xbins=64,xmin=-3.2,xmax=3.2)
329 
330  # EFFICIENCIES IN EFFICIENCIES PANEL
331 
332  hname = "is_Tight,Etprobe;TnP_ID_efficiency_vs_etprobe"
333  htitle = "Tag & Probe ID efficiency vs Et_{e} [MeV] ; Et_{e} [MeV] ; LHTight ID Eff. "
334  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=100,xmin=0.,xmax=250000.)
335 
336  hname = "is_Tight,Etaprobe;TnP_ID_efficiency_vs_etaprobe"
337  htitle = "Tag & Probe ID efficiency vs #eta ; #eta _{e} ; LHTight ID Eff. "
338  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
339 
340  hname = "is_Tight,Phiprobe;TnP_ID_efficiency_vs_phiprobe"
341  htitle = "Tag & Probe ID efficiency vs #eta ; #phi _{e} ; LHTight ID Eff. "
342  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
343 
344  hname = "is_Iso,Etprobe;TnP_Calo_Iso_efficiency_vs_etprobe"
345  htitle = "Tag & Probe Calo. Isolation efficiency vs Et _{e} [MeV] ; Et_{e} [MeV] ; Calo Iso Eff. "
346  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=100,xmin=0.,xmax=250000.)
347 
348  hname = "is_Iso,Etaprobe;TnP_Calo_Iso_efficiency_vs_etaprobe"
349  htitle = "Tag & Probe Calo. Isolation efficiency vs #eta_{e} ; #eta_{e} ; Calo. Iso Eff. "
350  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
351 
352  hname = "is_Iso,Phiprobe;TnP_Calo_Iso_efficiency_vs_phiprobe"
353  htitle = "Tag & Probe Calo. Isolation efficiency vs #phi_{e} ; #phi_{e}; Calo Iso. Eff. "
354  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
355 
356  hname = "is_IsoandTight,Etprobe;TnP_Calo_Iso_and_LHTight_efficiency_vs_etprobe"
357  htitle = "Tag & Probe (Isolation & LHTight ID) efficiency vs Et_{e} [MeV] ; Et_{e} [MeV] ; Calo Iso & LHTight ID Eff. "
358  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=100,xmin=0.,xmax=250000.)
359 
360  hname = "is_IsoandTight,Etaprobe;TnP_Calo_Iso_and_LHTight_efficiency_vs_etaprobe"
361  htitle = "Tag & Probe (Isolation & LHTight ID) efficiency vs #eta ; #eta _{e} ; Calo. Iso & LHTight ID Eff. "
362  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
363 
364  hname = "is_IsoandTight,Phiprobe;TnP_Calo_Iso_and_LHTight_ID_efficiency_vs_phiprobe"
365  htitle = "Tag & Probe (Isolation & LHTight ID) efficiency vs #phi_{e} ; #phi_{e} ; Calo Iso & LHTight ID Eff. "
366  groupe.defineHistogram(hname,title=htitle, path='Efficiencies',type = 'TEfficiency', xbins=64,xmin=-3.2,xmax=3.2)
367 
368 
369  # Probe electron candidate distributions
370 
371  hname = "Etprobe;Etprobe_distribution"
372  htitle = "Number of "+ TnPType +" candidates vs of leading e ; Et_{probe} ; N_{e_{probe}}"
373  groupe.defineHistogram(hname,title=htitle, path='ElectronProbes',xbins=100,xmin=-1000.0,xmax=200000.0)
374 
375  hname = "Etaprobe;Etaprobe_distribution"
376  htitle = "#eta distribution of probe candidates ; #eta_{e_{probe}} ; N_{e_{probe}}"
377  groupe.defineHistogram(hname,title=htitle,path='ElectronProbes', xbins=64,xmin=-3.2,xmax=3.2)
378 
379  hname = "Phiprobe;Phiprobe_distribution"
380  htitle = "#phi distribution of probe candidates ; #phi_{e_{probe}} ; N_{e_{probe}}"
381  groupe.defineHistogram(hname,title=htitle,path='ElectronProbes', xbins=64,xmin=-3.2,xmax=3.2)
382 
383  hname = "Etaprobe,Phiprobe;Eta_Phi_map_of_electron_probes_for_T_and_P_"+ TnPType
384  htitle= "Concerted photons #eta,#phi map (candidates with Pt>4GeV)" + " ; #eta_{e} ; #phi_{e}"
385  groupe.defineHistogram(hname,title=htitle,path='ElectronProbes',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2)
386 
387  hname = "Timeprobe;Time_of_electron_probe"
388  htitle = "Time distribution of probe candidates ; Time_{e_{probe}} [ns] ; N_{e_{probe}}"
389  groupe.defineHistogram(hname,title=htitle,path='ElectronProbes',xbins=90,xmin=-30.,xmax=60.)
390 
391  hname = "TopoEtCone40probe;TopoEtCone40_of_electron_probe"
392  htitle = "Electron probe Topocluster Isolation Energy ; TopoEtCone40 [MeV] ; N_{e_{probe}} "
393  groupe.defineHistogram(hname,title=htitle, path='ElectronProbes',xbins=100,xmin=-10000.,xmax=40000.)
394 
395  hname = "PtCone20probe;PtCone20_of_electron_probe"
396  htitle = "Electron probe Track Isolation Pt [MeV]; PtCone20 [MeV] ; N_{e_{probe}} "
397  groupe.defineHistogram(hname,title=htitle, path='ElectronProbes',xbins=64,xmin=-10000.,xmax=40000.)
398 
399  # Track distributions
400 
401  hname = "NOfBLayerHitsProbe"
402  htitle = "Electron probe NOfBLayerHits ; N_{BlayerHits} ; N_{e_{probe}}"
403  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=6,xmin=-0.5,xmax=5.5)
404 
405  hname = "NOfPixelHitsProbe"
406  htitle = "Electron probe NOfPixelHits ; N_{PixelHits} ; N_{e_{probe}}"
407  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=6,xmin=-0.5,xmax=5.5)
408 
409  hname = "NOfSCTHitsProbe"
410  htitle = "Electron probe NOfSCTHits ; N_{SCTHits} ; N_{e_{probe}}"
411  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=25.5)
412 
413  hname = "NOfTRTHitsProbe"
414  htitle = "Electron probe NOfTRTHits ; N_{TRTHits} ; N_{e_{probe}}"
415  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=50.5)
416 
417  hname = "NOfTRTHighThresholdHitsProbe"
418  htitle = "Electron probe NOfTRTHighThresholdHits ; N_{TRT HighThres. Hits} ; N_{e_{probe}}"
419  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=26,xmin=-0.5,xmax=50.5)
420 
421  hname = "DeltaEta1Probe"
422  htitle = "Electron probe track match #Delta #eta (1st sampling) ; #Delta #eta ; N_{e_{probe}} "
423  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=50,xmin=-0.05,xmax=0.05)
424 
425  hname = "DeltaPhi2Probe"
426  htitle = "Electron probe track match #Delta #Phi (2st sampling) ; #Delta #phi ; N_{e_{probe}} "
427  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=50,xmin=-0.15,xmax=0.15)
428 
429  hname = "Trackd0Probe"
430  htitle = "Electron probe track d0 ; d0 ; N_{e_{probe}}"
431  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Tracks',xbins=100,xmin=-5.,xmax=5.)
432 
433  # ID distributions
434 
435  hname = "Ehad1Probe"
436  htitle = "Electron probe energy leakage in 1st hadronic sampling ; Ehad1 (MeV) ; N_{e_{probe}} "
437  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-1000.,xmax=10000.)
438 
439  hname = "EoverPProbe"
440  htitle = "Electron probe matched track E over P ; EoverP ; N_{e_{probe}} "
441  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=5.)
442 
443  hname = "CoreEMProbe"
444  htitle = "Electron probe core energy in EM calorimeter ; E (MeV) ; N_{e_{probe}} "
445  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-5000.,xmax=250000.)
446 
447  hname = "F0Probe"
448  htitle = "Electron probe fractional energy in Presampler ; F0 ; N_{e_{probe}} "
449  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
450 
451  hname = "F1Probe"
452  htitle = "Electron probe fractional energy in 1st sampling ; F1 ; N_{e_{probe}} "
453  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
454 
455  hname = "F2Probe"
456  htitle = "Electron probe fractional energy in 2nd sampling ; F2 ; N_{e_{probe}} "
457  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
458 
459  hname = "F3Probe"
460  htitle = "Electron probe fractional energy in 3rd sampling ; F3 ; N_{e_{probe}} "
461  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=-0.2,xmax=1.)
462 
463  hname = "Re233e237Probe"
464  htitle = "Electron probe uncor. energy fraction in 3x3/3x7 cells in em sampling ; R 3x3/3x7 ; N_{e_{probe}} "
465  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=2.)
466 
467  hname = "Re237e277Probe"
468  htitle = "Electron probe uncor. energy fraction in 3x7/7x7 cells in em sampling 2 ; R 3x7/7x7 ; N_{e_{probe}} "
469  BookHistogramsPerRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='ID',xbins=50,xmin=0.,xmax=2.)
470 
471  hname = "LBEvoNProbe"
472  htitle= "Number of " + TnPType + " electron probe per LB ; LB ; N_{e_{probe}} "
473  groupe.defineHistogram(hname,title=htitle,path='byLB',type='TH1F',xbins=2000,xmin=-0.5,xmax=1999.5)
474 
475  return True
476 
477 
478 def BookFwdElectronHistograms(groupe,reconame,particletype,withTrigger=""):
479  '''
480  Function to configure the forward electrons histograms
481  usage example : BookHistograms(GroupElectronLHTight,"LHTight","Electron","WithTrigger")
482  '''
483 
484  prefix = "fwdElectron"
485  tlabel = "_{fwd. electron}"
486 
487  hname = "N"
488  htitle = "Number of " + prefix + "s (" + reconame + " " + withTrigger+ ") ; N" + tlabel + " ; N_{event}"
489  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
490 
491  hname = "NinENDCAP"
492  htitle = "Number of " + prefix + "s in ENDCAP (" + reconame + " " + withTrigger+ ") ; N" + tlabel + " ; N_{event}"
493  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
494 
495  hname = "NinFORWARD"
496  htitle = "Number of " + prefix + "s in FORWARD (" + reconame + " " + withTrigger+ ") ; N" + tlabel + " ; N_{event}"
497  groupe.defineHistogram(hname,title=htitle, path='',xbins=20,xmin=-0.5,xmax=19.5)
498 
499  hname= "Et"
500  htitle= particletype + " transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ")" + " ; Et"+ tlabel +" ; N" + tlabel
501  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=2.,xmax=102000.0)
502 
503  hname= "Eta"
504  htitle= particletype + " #eta" + " (" + reconame + " " + withTrigger + ")"+ " ; #eta" + tlabel + " ; N" + tlabel
505  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2)
506 
507  hname= "Phi"
508  htitle= particletype + " #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #phi" + tlabel + " ; N" + tlabel
509  groupe.defineHistogram(hname,title=htitle, path='',xbins=64,xmin=-3.2,xmax=3.2)
510 
511  hname= "Eta,Phi;Eta_Phi_distribution_Pt_gt_2.5GeV"
512  htitle= particletype + " #eta,#phi map (candidates with Pt>2.5GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi"
513  groupe.defineHistogram(hname,title=htitle,path='Expert',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask = 'is_pt_gt_2_5gev')
514 
515  hname= "Eta,Phi;Eta_Phi_distributionf_Pt_gt_10GeV"
516  htitle= particletype + " #eta,#phi map (candidates with Pt>10GeV)" + " (" + reconame + " " + withTrigger + ") ; #eta ; #phi "
517  groupe.defineHistogram(hname,title=htitle,path='',type='TH2F',xbins=64,xmin=-3.2,xmax=3.2,ybins=64,ymin=-3.2,ymax=3.2,cutmask='is_pt_gt_10gev')
518 
519  # shower variables
520 
521  hname= "EnergyDensity"
522  htitle= "Fwd electron 1st Moment Energy Density" + " (" + reconame + " " + withTrigger + ")" + " ; firstENGdensity ; N" + tlabel
523  groupe.defineHistogram(hname,title=htitle, path='',xbins=200,xmin=0.,xmax=2.0)
524 
525  hname= "FracMax"
526  htitle= "Fwd electron fraction of most energetic cell distribution" + " (" + reconame + " " + withTrigger + ")" + " ; lateral moment ; N" + tlabel
527  groupe.defineHistogram(hname,title=htitle, path='',xbins=50,xmin=0.,xmax=1.0)
528 
529  hname= "Lateral"
530  htitle= "Fwd electron lateral moment distribution" + " (" + reconame + " " + withTrigger + ")" + " ; lateral moment ; N" + tlabel
531  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=0.,xmax=1.0)
532 
533  hname= "Longitudinal"
534  htitle= "Fwd electron longitudinal moment distribution" + " (" + reconame + " " + withTrigger + ")" + " ; longitudinal moment ; N" + tlabel
535  groupe.defineHistogram(hname,title=htitle, path='',xbins=100,xmin=0.,xmax=1.0)
536 
537  hname= "SecondLambda"
538  htitle= "Fwd electron lambda second moment distribution" + " (" + reconame + " " + withTrigger + ")" + " ; Second#Lambda ; N" + tlabel
539  groupe.defineHistogram(hname,title=htitle, path='',xbins=500,xmin=0.,xmax=10000.0)
540 
541  hname= "SecondR"
542  htitle= "Fwd electron SecondR lateral moment distribution" + " (" + reconame + " " + withTrigger + ")" + " ; SecondR ; N" + tlabel
543  groupe.defineHistogram(hname,title=htitle, path='',xbins=500,xmin=0.,xmax=20000.0)
544 
545  hname= "CenterLambda"
546  htitle= "Fwd Electron shower center from calo front face distribution" + " (" + reconame + " " + withTrigger + ")" + " ; Center lambda ; N" + tlabel
547  groupe.defineHistogram(hname,title=htitle, path='',xbins=500,xmin=0.,xmax=2000.0)
548 
549  hname= "Time"
550  htitle = "Time associated with " + particletype + " cluster [ns]" + " (" + reconame + " " + withTrigger + ") ; Time [ns] ; N" + tlabel
551  groupe.defineHistogram(hname,title=htitle, path='',xbins=90,xmin=-30.,xmax=60.)
552 
553  # info per forward region
554 
555  # histograms per region
556  hname= "Et"
557  htitle= particletype + " transverse energy [MeV]" + " (" + reconame + " " + withTrigger + ") ; Et" + tlabel + " ; N" + tlabel
558  BookHistogramsPerForwardRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=100,xmin=2.,xmax=102000.0,thecut='is_pt_gt_2_5gev')
559 
560  hname= "Eta"
561  htitle= particletype + " #eta" + " (" + reconame + " " + withTrigger + ")" + " ; #eta" + tlabel + " ; N" + tlabel
562  BookHistogramsPerForwardRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=64,xmin=-3.2,xmax=3.2)
563 
564  hname= "Phi"
565  htitle= particletype + " #phi" + " (" + reconame + " " + withTrigger + ")" + " ; #eta" + tlabel + " ; N" + tlabel
566  BookHistogramsPerForwardRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=64,xmin=-3.2,xmax=3.2)
567 
568  hname= "Time"
569  htitle = "Time associated with " + particletype + " cluster [ns]" + " (" + reconame + " " + withTrigger + ") ; Time [ns] ; N" + tlabel
570  BookHistogramsPerForwardRegions(thegroupe = groupe, theparttype = particletype, thename = hname, title=htitle, path='Expert',xbins=90,xmin=-30.,xmax=60.)
571 
572  return True
573 
574 def MonitorElectronConfig(inputFlags):
575  '''Function to configures some algorithms in the monitoring system.'''
576 
577 
578 
579  from AthenaMonitoring import AthMonitorCfgHelper
580  helper = AthMonitorCfgHelper(inputFlags,'ElectronAthMonitorCfg')
581 
582 
583 
584  SpareElectronMonitoringGroups = [ ]
585 
586  MonitorElectronAlgorithm=CompFactory.MonitorElectronAlgorithm
587  elLHTightMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elLHTightMonAlg')
588  elLHTightTrigMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elLHTightTrigMonAlg')
589 
590  elLHLooseMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elLHLooseMonAlg')
591  elLHLooseTrigMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elLHLooseTrigMonAlg')
592 
593  if ("CBTight" in SpareElectronMonitoringGroups) :
594  elCBTightMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elCBTightMonAlg')
595  if ("CBTightTrig" in SpareElectronMonitoringGroups) :
596  elCBTightTrigMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elCBTightTrigMonAlg')
597  if ("CBLoose" in SpareElectronMonitoringGroups) :
598  elCBLooseMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elCBLooseMonAlg')
599  if ("CBLooseTrig" in SpareElectronMonitoringGroups) :
600  elCBLooseTrigMonAlg = helper.addAlgorithm(MonitorElectronAlgorithm,'elCBLooseTrigMonAlg')
601 
602 
604 
605  elLHTightMonAlg.ParticleContainerName = "Electrons"
606  elLHTightMonAlg.RecoName = "LHTight"
607  elLHTightMonAlg.ParticlePrefix = "electron"
608  elLHTightMonAlg.WithTrigger = ""
609 
610  elLHTightTrigMonAlg.ParticleContainerName = "Electrons"
611  elLHTightTrigMonAlg.RecoName = "LHTight"
612  elLHTightTrigMonAlg.ParticlePrefix = "electron"
613  elLHTightTrigMonAlg.WithTrigger = "WithTrigger"
614  # to enable a trigger filter, for example:
615  elLHTightTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
616 
617  elLHLooseMonAlg.ParticleContainerName = "Electrons"
618  elLHLooseMonAlg.RecoName = "LHLoose"
619  elLHLooseMonAlg.ParticlePrefix = "electron"
620 
621  elLHLooseTrigMonAlg.ParticleContainerName = "Electrons"
622  elLHLooseTrigMonAlg.RecoName = "LHLoose"
623  elLHLooseTrigMonAlg.ParticlePrefix = "electron"
624  elLHLooseTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
625 
626  if ("CBTight" in SpareElectronMonitoringGroups) :
627  elCBTightMonAlg.ParticleContainerName = "Electrons"
628  elCBTightMonAlg.RecoName = "Tight"
629  elCBTightMonAlg.ParticlePrefix = "electron"
630 
631  if ("CBTightTrig" in SpareElectronMonitoringGroups) :
632  elCBTightTrigMonAlg.ParticleContainerName = "Electrons"
633  elCBTightTrigMonAlg.RecoName = "Tight"
634  elCBTightTrigMonAlg.ParticlePrefix = "electron"
635  elCBTightTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
636 
637  if ("CBLoose" in SpareElectronMonitoringGroups) :
638  elCBLooseMonAlg.ParticleContainerName = "Electrons"
639  elCBLooseMonAlg.RecoName = "Loose"
640  elCBLooseMonAlg.ParticlePrefix = "electron"
641 
642  if ("CBLooseTrig" in SpareElectronMonitoringGroups) :
643  elCBLooseTrigMonAlg.ParticleContainerName = "Electrons"
644  elCBLooseTrigMonAlg.RecoName = "Loose"
645  elCBLooseTrigMonAlg.ParticlePrefix = "electron"
646  elCBLooseTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
647 
648 
649 
650  GroupElectronLHTight = helper.addGroup(elLHTightMonAlg, 'MonitorElectron', 'egamma/LHTightElectrons/')
651  GroupElectronLHTightTriggered = helper.addGroup(elLHTightTrigMonAlg, 'MonitorElectron', 'egamma/LHTightElectronsWithTrigger/')
652  GroupElectronLHLoose = helper.addGroup(elLHLooseMonAlg, 'MonitorElectron', 'egamma/LHLooseElectrons/')
653  GroupElectronLHLooseTriggered = helper.addGroup(elLHLooseTrigMonAlg, 'MonitorElectron', 'egamma/LHLooseElectronsWithTrigger/')
654  if ("CBTight" in SpareElectronMonitoringGroups) :
655  GroupElectronCBTight = helper.addGroup(elCBTightMonAlg, 'MonitorElectron', 'egamma/CBTightElectrons/')
656  if ("CBTightTrig" in SpareElectronMonitoringGroups) :
657  GroupElectronCBTightTriggered = helper.addGroup(elCBTightTrigMonAlg, 'MonitorElectron', 'egamma/CBTightTriggeredElectrons/')
658  if ("CBLoose" in SpareElectronMonitoringGroups) :
659  GroupElectronCBLoose = helper.addGroup(elCBLooseMonAlg, 'MonitorElectron', 'egamma/CBLooseElectrons/')
660  if ("CBLooseTrig" in SpareElectronMonitoringGroups) :
661  GroupElectronCBLooseTriggered = helper.addGroup(elCBLooseTrigMonAlg, 'MonitorElectron', 'egamma/CBLooseTriggeredElectrons/')
662 
663 
665 
666  # LHTight Electrons
667  BookHistograms(GroupElectronLHTight,"LHTight","Electron")
668  BookHistograms(GroupElectronLHTightTriggered,"LHTightTrig","Electron","WithTrigger")
669  # LHLoose Electrons
670  BookHistograms(GroupElectronLHLoose,"LHLoose","Electron")
671  BookHistograms(GroupElectronLHLooseTriggered,"LHLooseTrig","Electron","WithTrigger")
672  # Cut Based Tight Electrons
673  if ("CBTight" in SpareElectronMonitoringGroups) :
674  BookHistograms(GroupElectronCBTight,"CBTight","Electron")
675  if ("CBTightTrig" in SpareElectronMonitoringGroups) :
676  BookHistograms(GroupElectronCBTightTriggered,"CBTightTrig","Electron","WithTrigger")
677  # Cut Based Loose Electrons
678  if ("CBLoose" in SpareElectronMonitoringGroups) :
679  BookHistograms(GroupElectronCBLoose,"CBLoose","Electron")
680  if ("CBLooseTrig" in SpareElectronMonitoringGroups) :
681  BookHistograms(GroupElectronCBLooseTriggered,"CBLooseTrig","Electron","WithTrigger")
682 
683 
684  return helper.result()
685 
686 
687 def MonitorPhotonConfig(inputFlags):
688  '''Function to configures some algorithms in the monitoring system.'''
689 
690 
691 
692  from AthenaMonitoring import AthMonitorCfgHelper
693  helper = AthMonitorCfgHelper(inputFlags,'PhotonAthMonitorCfg')
694 
695 
696 
697  MonitorPhotonAlgorithm=CompFactory.MonitorPhotonAlgorithm
698  phCBTightMonAlg = helper.addAlgorithm(MonitorPhotonAlgorithm,'phCBTightMonAlg')
699  phCBTightTrigMonAlg = helper.addAlgorithm(MonitorPhotonAlgorithm,'phCBTightTrigMonAlg')
700 
701  phCBLooseMonAlg = helper.addAlgorithm(MonitorPhotonAlgorithm,'phCBLooseMonAlg')
702  phCBLooseTrigMonAlg = helper.addAlgorithm(MonitorPhotonAlgorithm,'phCBLooseTrigMonAlg')
703 
704 
706 
707  phCBTightMonAlg.ParticleContainerName = "Photons"
708  phCBTightMonAlg.RecoName = "Tight"
709  phCBTightMonAlg.ParticlePrefix = "photon"
710 
711  phCBTightTrigMonAlg.ParticleContainerName = "Photons"
712  phCBTightTrigMonAlg.RecoName = "Tight"
713  phCBTightTrigMonAlg.ParticlePrefix = "photon"
714  phCBTightTrigMonAlg.WithTrigger = "WithTrigger"
715  # to enable a trigger filter, for example:
716  phCBTightTrigMonAlg.TriggerChain = egammaConf.primary_double_pho[0]
717 
718  phCBLooseMonAlg.ParticleContainerName = "Photons"
719  phCBLooseMonAlg.RecoName = "Loose"
720  phCBLooseMonAlg.ParticlePrefix = "photon"
721 
722  phCBLooseTrigMonAlg.ParticleContainerName = "Photons"
723  phCBLooseTrigMonAlg.RecoName = "Loose"
724  phCBLooseTrigMonAlg.ParticlePrefix = "photon"
725  phCBLooseTrigMonAlg.WithTrigger = "WithTrigger"
726  # to enable a trigger filter, for example:
727  phCBLooseTrigMonAlg.TriggerChain = egammaConf.primary_double_pho[0]
728 
729 
730 
731 
732  GroupPhotonCBTight = helper.addGroup(phCBTightMonAlg, 'MonitorPhoton', 'egamma/CBTightPhotons/')
733  GroupPhotonCBTightTriggered = helper.addGroup(phCBTightTrigMonAlg, 'MonitorPhoton', 'egamma/CBTightPhotonsWithTrigger/')
734  GroupPhotonCBLoose = helper.addGroup(phCBLooseMonAlg, 'MonitorPhoton', 'egamma/CBLoosePhotons/')
735  GroupPhotonCBLooseTriggered = helper.addGroup(phCBLooseTrigMonAlg, 'MonitorPhoton', 'egamma/CBLoosePhotonsWithTrigger/')
736 
737 
739 
740  # Cut Based Tight Photons
741  BookHistograms(GroupPhotonCBTight,"CBTight","Photon")
742  BookHistograms(GroupPhotonCBTightTriggered,"CBTightTrig","Photon")
743  # Cut Based Loose Photons
744  BookHistograms(GroupPhotonCBLoose,"CBLoose","Photon")
745  BookHistograms(GroupPhotonCBLooseTriggered,"CBLooseTrig","Photon")
746 
747 
748  return helper.result()
749 
750 
751 def MonitorTnPConfig(inputFlags):
752  '''Function to configures some algorithms in the monitoring system for Tag and Probe candidates (Z, J/Psi).'''
753 
754 
755 
756  from AthenaMonitoring import AthMonitorCfgHelper
757  helper = AthMonitorCfgHelper(inputFlags,'TnPPAthMonitorCfg')
758 
759 
760 
761 
762  MonitorTnPAlgorithm = CompFactory.MonitorTnPAlgorithm
763  ZeeMonAlg = helper.addAlgorithm(MonitorTnPAlgorithm,'TnPZeeMonAlg')
764  JPsiMonAlg = helper.addAlgorithm(MonitorTnPAlgorithm,'TnPJpsiMonAlg')
765 
766 
767 
769 
770  ZeeMonAlg.ParticleContainerName = "Electrons"
771  ZeeMonAlg.RecoName = "LHLoose"
772  ZeeMonAlg.ParticlePrefix = "electron"
773  ZeeMonAlg.MassPeak = 91188.
774  ZeeMonAlg.ElectronEtCut = 15000.
775  ZeeMonAlg.MassLowerCut = 70000.
776  ZeeMonAlg.MassUpperCut = 110000.
777  ZeeMonAlg.TnPType = "Z"
778 
779  # get trigger chain from egammaConf.monitoring_Zee
780  chain=""
781  for el in egammaConf.monitoring_Zee:
782  if chain != "":
783  chain = chain + ", " + el
784  else :
785  chain = el
786  #ZeeMonAlg.TriggerChain = chain
787 
788  JPsiMonAlg.ParticleContainerName = "Electrons"
789  JPsiMonAlg.RecoName = "LHLoose"
790  JPsiMonAlg.ParticlePrefix = "electron"
791  JPsiMonAlg.MassPeak = 3097.
792  JPsiMonAlg.ElectronEtCut = 3000.
793  JPsiMonAlg.MassLowerCut = 2000.
794  JPsiMonAlg.MassUpperCut = 5000.
795  JPsiMonAlg.TnPType = "JPsi"
796 
797  # get trigger chain from egammaConf.monitoring_Jpsiee
798  chain =""
799  for el in egammaConf.monitoring_Jpsiee:
800  if chain != "":
801  chain = chain + ", " + el
802  else :
803  chain = el
804  JPsiMonAlg.TriggerChain = chain
805 
806 
807 
808  GroupZee = helper.addGroup(ZeeMonAlg, 'MonitorTnP', 'egamma/TnPZ/')
809  GroupJPsi = helper.addGroup(JPsiMonAlg, 'MonitorTnP', 'egamma/TnPJPsi/')
810 
811 
813 
814  # Zee
815  BookTnPHistograms(GroupZee, ZeeMonAlg.RecoName, ZeeMonAlg.TnPType, ZeeMonAlg.MassLowerCut, ZeeMonAlg.MassUpperCut)
816  # JPsi
817  BookTnPHistograms(GroupJPsi, JPsiMonAlg.RecoName, JPsiMonAlg.TnPType, JPsiMonAlg.MassLowerCut, JPsiMonAlg.MassUpperCut)
818 
819 
820  return helper.result()
821 
822 
824  '''Function to configures some algorithms in the monitoring system.'''
825 
826 
827 
828  from AthenaMonitoring import AthMonitorCfgHelper
829  helper = AthMonitorCfgHelper(inputFlags,'FwdElectronAthMonitorCfg')
830 
831 
832 
833  SpareFwdElectronMonitoringGroups = [ "CBFwdTight" ]
834 
835  MonitorFwdElectronAlgorithm=CompFactory.MonitorFwdElectronAlgorithm
836  # fwdelLHTightMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelLHTightMonAlg')
837  # fwdelLHTightTrigMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelLHTightTrigMonAlg')
838  if ("CBFwdTight" in SpareFwdElectronMonitoringGroups) :
839  fwdelCBTightMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelCBTightMonAlg')
840  if ("CBfwdTightTrig" in SpareFwdElectronMonitoringGroups) :
841  fwdelCBTightTrigMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelCBTightTrigMonAlg')
842  if ("CBLoose" in SpareFwdElectronMonitoringGroups) :
843  fwdelCBLooseMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelCBLooseMonAlg')
844  if ("CBLooseTrig" in SpareFwdElectronMonitoringGroups) :
845  fwdelCBLooseTrigMonAlg = helper.addAlgorithm(MonitorFwdElectronAlgorithm,'fwdelCBLooseTrigMonAlg')
846 
847 
849 
850  # fwdelLHTightMonAlg.ParticleContainerName = "ForwardElectrons"
851  # fwdelLHTightMonAlg.RecoName = "LHTight"
852  # fwdelLHTightMonAlg.ParticlePrefix = "FwdElectron"
853 
854  # fwdelLHTightTrigMonAlg.ParticleContainerName = "ForwardElectrons"
855  # fwdelLHTightTrigMonAlg.RecoName = "LHTight"
856  # fwdelLHTightTrigMonAlg.ParticlePrefix = "FwdElectron"
857  # fwdelLHTightTrigMonAlg.WithTrigger = "WithTrigger"
858  # to enable a trigger filter, for example:
859  # fwdelLHTightTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
860 
861  # fwdelLHLooseMonAlg.ParticleContainerName = "ForwardElectrons"
862  # fwdelLHLooseMonAlg.RecoName = "LHLoose"
863  # fwdelLHLooseMonAlg.ParticlePrefix = "FwdElectron"
864 
865  # fwdelLHLooseTrigMonAlg.ParticleContainerName = "ForwardElectrons"
866  # fwdelLHLooseTrigMonAlg.RecoName = "LHLoose"
867  # fwdelLHLooseTrigMonAlg.ParticlePrefix = "FwdElectron"
868  # to enable a trigger filter, for example:
869  # fwdelLHLooseTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
870 
871  if ("CBFwdTight" in SpareFwdElectronMonitoringGroups) :
872  fwdelCBTightMonAlg.ParticleContainerName = "ForwardElectrons"
873  fwdelCBTightMonAlg.RecoName = "Tight"
874  fwdelCBTightMonAlg.ParticlePrefix = "FwdElectron"
875 
876  if ("CBFwdTightTrig" in SpareFwdElectronMonitoringGroups) :
877  fwdelCBTightTrigMonAlg.ParticleContainerName = "ForwardElectrons"
878  fwdelCBTightTrigMonAlg.RecoName = "Tight"
879  fwdelCBTightTrigMonAlg.ParticlePrefix = "FwdElectron"
880  # to enable a trigger filter, for example:
881  fwdelCBTightTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
882 
883  if ("CBFwdLoose" in SpareFwdElectronMonitoringGroups) :
884  fwdelCBLooseMonAlg.ParticleContainerName = "ForwardElectrons"
885  fwdelCBLooseMonAlg.RecoName = "Loose"
886  fwdelCBLooseMonAlg.ParticlePrefix = "FwdElectron"
887 
888  if ("CBFwdLooseTrig" in SpareFwdElectronMonitoringGroups) :
889  fwdelCBLooseTrigMonAlg.ParticleContainerName = "ForwardElectrons"
890  fwdelCBLooseTrigMonAlg.RecoName = "Loose"
891  fwdelCBLooseTrigMonAlg.ParticlePrefix = "FwdElectron"
892  # to enable a trigger filter, for example:
893  fwdelCBLooseTrigMonAlg.TriggerChain = egammaConf.primary_single_ele[0]
894 
895 
896 
897  #GroupFwdElectronLHTight = helper.addGroup(fwdelLHTightMonAlg, 'MonitorFwdElectron', 'egamma/LHTightFwdElectrons/')
898  #GroupFwdElectronLHTightTriggered = helper.addGroup(fwdelLHTightTrigMonAlg, 'MonitorFwdElectron', 'egamma/LHTightFwdElectronsWithTrigger/')
899  #GroupFwdElectronLHLoose = helper.addGroup(fwdelLHLooseMonAlg, 'MonitorFwdElectron', 'egamma/LHLooseFwdElectrons/')
900  #GroupFwdElectronLHLooseTriggered = helper.addGroup(fwdelLHLooseTrigMonAlg, 'MonitorFwdElectron', 'egamma/LHLooseFwdElectronsWithTrigger/')
901  if ("CBFwdTight" in SpareFwdElectronMonitoringGroups) :
902  GroupFwdElectronCBTight = helper.addGroup(fwdelCBTightMonAlg, 'MonitorFwdElectron', 'egamma/CBTightFwdElectrons/')
903  if ("CBFwdTightTrig" in SpareFwdElectronMonitoringGroups) :
904  GroupFwdElectronCBTightTriggered = helper.addGroup(fwdelCBTightTrigMonAlg, 'MonitorFwdElectron', 'egamma/CBTightTriggeredFwdElectrons/')
905  if ("CBFwdLoose" in SpareFwdElectronMonitoringGroups) :
906  GroupFwdElectronCBLoose = helper.addGroup(fwdelCBLooseMonAlg, 'MonitorFwdElectron', 'egamma/CBLooseFwdElectrons/')
907  if ("CBFwdLooseTrig" in SpareFwdElectronMonitoringGroups) :
908  GroupFwdElectronCBLooseTriggered = helper.addGroup(fwdelCBLooseTrigMonAlg, 'MonitorFwdElectron', 'egamma/CBLooseTriggeredFwdElectrons/')
909 
910 
912 
913  # LHTight FwdElectrons
914  #BookFwdHistograms(GroupFwdElectronLHTight,"LHTight","FwdElectron")
915  #BookFwdHistograms(GroupFwdElectronLHTightTriggered,"LHTightTrig","FwdElectron","WithTrigger")
916  # LHLoose FwdElectrons
917  #BookFwdHistograms(GroupFwdElectronLHLoose,"LHLoose","FwdElectron")
918  #BookFwdHistograms(GroupFwdElectronLHLooseTriggered,"LHLooseTrig","FwdElectron","WithTrigger")
919  # Cut Based Tight FwdElectrons
920  if ("CBFwdTight" in SpareFwdElectronMonitoringGroups) :
921  BookFwdElectronHistograms(GroupFwdElectronCBTight,"CBTight","FwdElectron")
922  if ("CBFwdTightTrig" in SpareFwdElectronMonitoringGroups) :
923  BookFwdElectronHistograms(GroupFwdElectronCBTightTriggered,"CBTightTrig","FwdElectron","WithTrigger")
924  # Cut Based Loose FwdElectrons
925  if ("CBFwdLoose" in SpareFwdElectronMonitoringGroups) :
926  BookFwdElectronHistograms(GroupFwdElectronCBLoose,"CBLoose","FwdElectron")
927  if ("CBFwdLooseTrig" in SpareFwdElectronMonitoringGroups) :
928  BookFwdElectronHistograms(GroupFwdElectronCBLooseTriggered,"CBLooseTrig","FwdElectron","WithTrigger")
929 
930 
931  return helper.result()
932 
933 
934 if __name__=='__main__':
935  # Setup logs
936  from AthenaCommon.Logging import log
937  from AthenaCommon.Constants import INFO
938  log.setLevel(INFO)
939 
940  # Set the Athena configuration flags
941  from AthenaConfiguration.AllConfigFlags import initConfigFlags
942  flags = initConfigFlags()
943 
944  #nightly = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/'
945  #file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
946 
947  #flags.Input.Files = [nightly+file]
948  flags.Input.Files = ['/eos/atlas/atlascerngroupdisk/trig-egam/ForKyle/AOD/valid/user.eegidiop/user.eegidiop.35311896.EXT0._000012.AOD.root']
949  flags.Input.isMC = True
950  # flags.Output.HISTFileName = 'MonitorEgammaOutput.root'
951 
952 # To produce WebDisplay, filename must follow a certain format
953  flags.Output.HISTFileName = 'data16_13TeV.00311321.physics_Main.merge.HIST.f1156_h347._0002.1.root'
954 
955  flags.lock()
956 
957  # Initialize configuration object, add accumulator, merge, and run.
958  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
959  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
960  cfg = MainServicesCfg(flags)
961  cfg.merge(PoolReadCfg(flags))
962 
963  MonitorElectronAcc = MonitorElectronConfig(flags)
964  cfg.merge(MonitorElectronAcc)
965 
966  MonitorPhotonAcc = MonitorPhotonConfig(flags)
967  cfg.merge(MonitorPhotonAcc)
968 
969  MonitorTnPAcc = MonitorTnPConfig(flags)
970  cfg.merge(MonitorTnPAcc)
971 
972  MonitorFwdElectronAcc = MonitorForwardElectronConfig(flags)
973  cfg.merge(MonitorFwdElectronAcc)
974 
975  # If you want to turn on more detailed messages ...
976 
977  #MonitorElectronAcc.getEventAlgo('elLHLooseMonAlg').OutputLevel = 2 # 2 = DEBUG
978  #MonitorPhotonAcc.getEventAlgo('phCBLooseMonAlg').OutputLevel = 2 # 2 = DEBUG
979  #MonitorTnPAcc.getEventAlgo('TnPZeeMonAlg').OutputLevel = 2 # 2 = DEBUG
980  #MonitorTnPAcc.getEventAlgo('TnPJpsiMonAlg').OutputLevel = 2 # 2 = DEBUG
981  #MonitorFwdElectronAcc.getEventAlgo('fwdelCBTightMonAlg').OutputLevel = 2 # 2 = DEBUG
982 
983  MonitorFwdElectronAcc = MonitorForwardElectronConfig(flags)
984  cfg.merge(MonitorFwdElectronAcc)
985 
986  cfg.printConfig(withDetails=False) # set True for exhaustive info
987  #cfg.printConfig(withDetails=True) # set True for exhaustive info
988 
989  #cfg.run(10)
990  cfg.run(-1) # the one to process all events
991  #cfg.run(600) # use cfg.run(20) to only run on first 20 events
SetupEgammaMonitoring.BookTnPHistograms
def BookTnPHistograms(groupe, reconame, TnPType, MassLowerCut, MassUpperCut)
Definition: SetupEgammaMonitoring.py:291
SetupEgammaMonitoring.BookHistograms
def BookHistograms(groupe, reconame, particletype, withTrigger="")
Definition: SetupEgammaMonitoring.py:38
SetupEgammaMonitoring.MonitorPhotonConfig
def MonitorPhotonConfig(inputFlags)
Definition: SetupEgammaMonitoring.py:687
SetupEgammaMonitoring.MonitorTnPConfig
def MonitorTnPConfig(inputFlags)
Definition: SetupEgammaMonitoring.py:751
SetupEgammaMonitoring.BookHistogramsPerRegions
def BookHistogramsPerRegions(thegroupe, theparttype, thename, title, path, xbins, xmin, xmax, thetype="TH1F", thecut="is_pt_gt_4gev")
Definition: SetupEgammaMonitoring.py:14
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
Constants
some useful constants -------------------------------------------------—
SetupEgammaMonitoring.MonitorElectronConfig
def MonitorElectronConfig(inputFlags)
Definition: SetupEgammaMonitoring.py:574
SetupEgammaMonitoring.BookHistogramsPerForwardRegions
def BookHistogramsPerForwardRegions(thegroupe, theparttype, thename, title, path, xbins, xmin, xmax, thetype="TH1F", thecut="is_pt_gt_10gev")
Definition: SetupEgammaMonitoring.py:26
SetupEgammaMonitoring.BookFwdElectronHistograms
def BookFwdElectronHistograms(groupe, reconame, particletype, withTrigger="")
Definition: SetupEgammaMonitoring.py:478
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
SetupEgammaMonitoring.MonitorForwardElectronConfig
def MonitorForwardElectronConfig(inputFlags)
Definition: SetupEgammaMonitoring.py:823
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69