Definition at line 25 of file SingleJetMetFilter.py.
◆ __init__()
def python.SingleJetMetFilter.SingleJetMetFilter.__init__ |
( |
|
self, |
|
|
|
name = "SingleJetMetFilter" , |
|
|
** |
kw |
|
) |
| |
Definition at line 27 of file SingleJetMetFilter.py.
27 def __init__ ( self, name = "SingleJetMetFilter", **kw ):
29 super(SingleJetMetFilter, self).
__init__(**kw)
32 self.jetCollectionType = kw.get(
'jetCollectionType',
"JetCollection")
33 self.jetCollectionName = kw.get(
'jetCollectionName',
"AntiKt4TopoJets")
34 self.cutEt1Min = kw.get(
'cutEt1Min', 0.0*Units.GeV)
35 self.cutEta1Max = kw.get(
'cutEta1Max', 4.5)
36 self.cutEt2Min = kw.get(
'cutEt2Min', 0.0*Units.GeV)
37 self.cutEta2Max = kw.get(
'cutEta2Max', 4.5)
38 self.doSecondJetVeto = kw.get(
'doSecondJetVeto',
False)
39 self.requireMet = kw.get(
'requireMet ',
True)
40 self.metCollectionType = kw.get(
'metCollectionType',
"MissingET")
41 self.metCollectionNames = kw.get(
'metCollectionNames', [])
42 self.cutMetMin = kw.get(
'cutMetMin', 0.0*Units.GeV)
43 self.passAll = kw.get(
'passAll',
False)
◆ execute()
def python.SingleJetMetFilter.SingleJetMetFilter.execute |
( |
|
self | ) |
|
Definition at line 78 of file SingleJetMetFilter.py.
83 self.msg.
debug(
'%s event passed because passAll is true', self.name() )
84 self.setFilterPassed(
True)
85 return StatusCode.Success
91 jetCollection = self.storeGateSvc.
retrieve( self.jetCollectionType, self.jetCollectionName )
93 self.msg.warning(
'Collection %s not found', self.jetCollectionName )
94 self.setFilterPassed(
False)
95 return StatusCode.Success
99 for i
in range( jetCollection.size() ) :
100 jet = jetCollection[i]
101 if jet.et() > self.cutEt1Min
and abs(jet.eta()) < self.cutEta1Max :
102 selectedJetIdx.append(i)
105 if len(selectedJetIdx) >= 1 :
106 if self.doSecondJetVeto :
107 for i
in range( jetCollection.size() ) :
108 if i == selectedJetIdx[0] :
111 jet = jetCollection[i]
112 if jet.et() > self.cutEt2Min
and abs(jet.eta()) < self.cutEta2Max :
121 self.nEventPassJet+=1
126 for i
in range( len(self.metCollectionNames) ) :
128 met = self.storeGateSvc.
retrieve( self.metCollectionType, self.metCollectionNames[i] )
130 self.msg.warning(
'Collection %s not found', self.metCollectionNames[i] )
131 self.setFilterPassed(
False)
132 return StatusCode.Success
134 if met.et() > self.cutMetMin :
136 self.nEventPassMet+=1
141 if passedJet
and passedMet :
143 self.setFilterPassed(
True)
145 self.setFilterPassed(
False)
148 self.nEventPassMet+=1
151 self.setFilterPassed(
True)
153 self.setFilterPassed(
False)
155 return StatusCode.Success
◆ finalize()
def python.SingleJetMetFilter.SingleJetMetFilter.finalize |
( |
|
self | ) |
|
Definition at line 157 of file SingleJetMetFilter.py.
171 effPassJet = self.nEventPassJet /
float(self.nProcessed)
172 effPassMet = self.nEventPassMet /
float(self.nProcessed)
173 effPassAll = self.nEventPassed /
float(self.nProcessed)
176 effErrPassJet = 100.0*math.sqrt(effPassJet*(1.-effPassMet)/
float(self.nProcessed))
177 effErrPassMet = 100.0*math.sqrt(effPassMet*(1.-effPassMet)/
float(self.nProcessed))
178 effErrPassAll = 100.0*math.sqrt(effPassAll*(1.-effPassAll)/
float(self.nProcessed))
184 except ZeroDivisionError :
185 self.msg.warning(
'Division by zero error when calculating the uncertainties on the pass efficiencies...' )
187 self.msg.
info(
'==> finalize %s...', self.name() )
188 self.msg.
info(
'***************************************************************' )
189 self.msg.
info(
'Cut-flow table of %s skimming algorithm:', self.name() )
190 self.msg.
info(
'-------------' )
191 self.msg.
info(
' Number of processed events: %r', self.nProcessed )
192 self.msg.
info(
' Number of events with jet requirement: %r, eff. = (%3.3f +/- %3.3f)%%', self.nEventPassJet, effPassJet, effErrPassJet )
193 self.msg.
info(
' Number of events with met requirement: %r, eff. = (%3.3f +/- %3.3f)%%', self.nEventPassMet, effPassMet, effErrPassMet )
194 self.msg.
info(
' Number of events with all requirements: %r, eff. = (%3.3f +/- %3.3f)%%', self.nEventPassed, effPassAll, effErrPassAll )
195 self.msg.
info(
'***************************************************************' )
198 return StatusCode.Success
◆ initialize()
def python.SingleJetMetFilter.SingleJetMetFilter.initialize |
( |
|
self | ) |
|
Definition at line 47 of file SingleJetMetFilter.py.
48 self.msg.
info(
'************************************' )
49 self.msg.
info(
'==> initialize %s...', self.name() )
50 self.msg.
info(
' jetCollectionType = %s', self.jetCollectionType )
51 self.msg.
info(
' jetCollectionName = %s', self.jetCollectionName )
52 self.msg.
info(
' metCollectionType = %s', self.metCollectionType )
53 self.msg.
info(
' metCollectionNames = %s', self.metCollectionNames )
54 self.msg.
info(
'Will apply the following cuts:' )
55 self.msg.
info(
' Et1Min = %r', self.cutEt1Min )
56 self.msg.
info(
' Eta1Max = %r', self.cutEta1Max )
57 self.msg.
info(
' Et2Min = %r', self.cutEt2Min )
58 self.msg.
info(
' Eta2Max = %r', self.cutEta2Max )
59 self.msg.
info(
' doSecondJetVeto = %r', self.doSecondJetVeto )
60 self.msg.
info(
' requireMet = %r', self.requireMet )
61 self.msg.
info(
' MetMin = %r', self.cutMetMin )
62 self.msg.
info(
'************************************' )
66 self.nEventPassJet = 0
67 self.nEventPassMet = 0
70 self.storeGateSvc = PyAthena.py_svc(
'StoreGateSvc')
71 if not self.storeGateSvc :
72 self.msg.
error(
"Problem retrieving StoreGateSvc pointer !!")
73 return StatusCode.Failure
75 return StatusCode.Success
◆ cutEt1Min
python.SingleJetMetFilter.SingleJetMetFilter.cutEt1Min |
◆ cutEt2Min
python.SingleJetMetFilter.SingleJetMetFilter.cutEt2Min |
◆ cutEta1Max
python.SingleJetMetFilter.SingleJetMetFilter.cutEta1Max |
◆ cutEta2Max
python.SingleJetMetFilter.SingleJetMetFilter.cutEta2Max |
◆ cutMetMin
python.SingleJetMetFilter.SingleJetMetFilter.cutMetMin |
◆ doSecondJetVeto
python.SingleJetMetFilter.SingleJetMetFilter.doSecondJetVeto |
◆ jetCollectionName
python.SingleJetMetFilter.SingleJetMetFilter.jetCollectionName |
◆ jetCollectionType
python.SingleJetMetFilter.SingleJetMetFilter.jetCollectionType |
◆ metCollectionNames
python.SingleJetMetFilter.SingleJetMetFilter.metCollectionNames |
◆ metCollectionType
python.SingleJetMetFilter.SingleJetMetFilter.metCollectionType |
◆ nEventPassed
python.SingleJetMetFilter.SingleJetMetFilter.nEventPassed |
◆ nEventPassJet
python.SingleJetMetFilter.SingleJetMetFilter.nEventPassJet |
◆ nEventPassMet
python.SingleJetMetFilter.SingleJetMetFilter.nEventPassMet |
◆ nProcessed
python.SingleJetMetFilter.SingleJetMetFilter.nProcessed |
◆ passAll
python.SingleJetMetFilter.SingleJetMetFilter.passAll |
◆ requireMet
python.SingleJetMetFilter.SingleJetMetFilter.requireMet |
◆ storeGateSvc
python.SingleJetMetFilter.SingleJetMetFilter.storeGateSvc |
The documentation for this class was generated from the following file: