2 import FWCore.ParameterSet.Config
as cms
13 This is a container class to hold numerical cut values for either 14 the barrel or endcap set of cuts 19 full5x5_sigmaIEtaIEtaCut,
21 absPFChaHadIsoWithEACut_C1,
22 absPFChaHadIsoWithEACut_C2,
23 absPFNeuHadIsoWithEACut_C1,
24 absPFNeuHadIsoWithEACut_C2,
25 absPFPhoIsoWithEACut_C1,
26 absPFPhoIsoWithEACut_C2
40 This is a container class to hold numerical cut values for either 41 the barrel or endcap set of cuts 42 This version of the container is different from the previous one 43 by the fact that it contains three constants instead of two for 44 the neutral hadron isolation cut, for exponantial parameterization 49 full5x5_sigmaIEtaIEtaCut,
52 absPFChaHadIsoWithEACut_C1,
53 absPFChaHadIsoWithEACut_C2,
54 absPFNeuHadIsoWithEACut_C1,
55 absPFNeuHadIsoWithEACut_C2,
56 absPFNeuHadIsoWithEACut_C3,
57 absPFPhoIsoWithEACut_C1,
58 absPFPhoIsoWithEACut_C2
74 This is a container class to hold the numerical cut values for either 75 the barrel or endcap set of cuts. 76 The changes made in this version: 77 1) The charged hadron isolation and neutral hadron isolation are replaced 78 by ECal cluster isolation and HCal cluster isolation. 79 2) The isolation variables have pt-dependance: ECal cluster isolation has 80 linear dependance and HCal cluster isolation has quadratic dependance 81 3) Cone-based H/E (instead of tower-based, as done for Run2) is used, and 82 PU-correction is done for it as well. 86 full5x5_sigmaIEtaIEtaCut,
88 absPFChgHadIsoWithEACut_C1,
89 absPFChgHadIsoWithEACut_C2,
90 absPFECalClusIsoWithEACut_C1,
91 absPFECalClusIsoWithEACut_C2,
92 absPFHCalClusIsoWithEACut_C1,
93 absPFHCalClusIsoWithEACut_C2,
94 absPFHCalClusIsoWithEACut_C3
112 A container class that holds the names of the isolation maps in the event record 113 and the names of the files with the effective area constants for pile-up corrections 116 chHadIsolationMapName,
117 chHadIsolationEffAreas,
118 neuHadIsolationMapName,
119 neuHadIsolationEffAreas,
132 A container class that holds the names of the cluster based isolation maps in the event record 133 and the names of the files with the effective area constants for pile-up corrections 137 trkIsolationEffAreas,
138 ecalClusIsolationMapName,
139 ecalClusIsolationEffAreas,
140 hcalClusIsolationMapName,
141 hcalClusIsolationEffAreas
153 A container class that holds the name of the file with the effective area constants 154 for pile-up corrections 169 cutName = cms.string(
"MinPtCut"),
170 minPt = cms.double(5.0),
171 needsAdditionalProducts = cms.bool(
False),
172 isIgnored = cms.bool(
False)
178 cutName = cms.string(
"PhoSCEtaMultiRangeCut"),
179 useAbsEta = cms.bool(
True),
180 allowedEtaRanges = cms.VPSet(
181 cms.PSet( minEta = cms.double(0.0),
182 maxEta = cms.double(ebCutOff) ),
183 cms.PSet( minEta = cms.double(ebCutOff),
184 maxEta = cms.double(2.5) )
186 needsAdditionalProducts = cms.bool(
False),
187 isIgnored = cms.bool(
False)
193 Arguments: two containers of working point cut values of the type WorkingPoint_* 196 cutName = cms.string(
'PhotonHcalOverEcalBcCut'),
197 hcalOverEcalCutValueEB = cms.double( wpEB.hOverECut ),
198 hcalOverEcalCutValueEE = cms.double( wpEE.hOverECut ),
199 barrelCutOff = cms.double(ebCutOff),
200 needsAdditionalProducts = cms.bool(
False),
201 isIgnored = cms.bool(
False)
209 Arguments: two containers of working point cut values of the type WorkingPoint_* 212 cutName = cms.string(
'PhoFull5x5SigmaIEtaIEtaValueMapCut'),
213 cutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
214 cutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
215 full5x5SigmaIEtaIEtaMap = cms.InputTag(
'photonIDValueMapProducer:phoFull5x5SigmaIEtaIEta'),
216 barrelCutOff = cms.double(ebCutOff),
217 needsAdditionalProducts = cms.bool(
True),
218 isIgnored = cms.bool(
False)
225 Arguments: two containers of working point cut values of the type WorkingPoint_* 228 cutName = cms.string(
'PhoFull5x5SigmaIEtaIEtaCut'),
229 cutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
230 cutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
231 barrelCutOff = cms.double(ebCutOff),
232 needsAdditionalProducts = cms.bool(
False),
233 isIgnored = cms.bool(
False)
240 Arguments: two containers of working point cut values of the type WorkingPoint_* 241 The third argument contains data for isolation calculation. 242 The cut is (for lessThan==True), otherwise replace "<" with ">=" 243 X < constTerm + linearPtTerm*pt + quadPtTerm* pt*pt + rho*EA 246 cutName = cms.string(
'PhoGenericRhoPtScaledCut'),
247 cutVariable = cms.string(
"chargedHadronIso"),
248 lessThan = cms.bool(
True),
250 constTermEB = cms.double( wpEB.absPFChaHadIsoWithEACut_C1 ),
251 constTermEE = cms.double( wpEE.absPFChaHadIsoWithEACut_C1 ),
252 linearPtTermEB = cms.double( wpEB.absPFChaHadIsoWithEACut_C2 ),
253 linearPtTermEE = cms.double( wpEE.absPFChaHadIsoWithEACut_C2 ),
254 quadPtTermEB = cms.double( 0. ),
255 quadPtTermEE = cms.double( 0. ),
256 needsAdditionalProducts = cms.bool(
True),
257 isIgnored = cms.bool(
False),
258 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
259 effAreasConfigFile = cms.FileInPath( isoInputs.chHadIsolationEffAreas )
266 Arguments: two containers of working point cut values of the type WorkingPoint_* 267 The third argument contains data for isolation calculation. 270 cutName = cms.string(
'PhoGenericRhoPtScaledCut'),
271 cutVariable = cms.string(
"neutralHadronIso"),
272 lessThan = cms.bool(
True),
274 constTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
275 constTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
276 linearPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
277 linearPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
278 quadPtTermEB = cms.double( 0. ),
279 quadPtTermEE = cms.double( 0. ),
280 needsAdditionalProducts = cms.bool(
True),
281 isIgnored = cms.bool(
False),
282 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
283 effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
290 Arguments: two containers of working point cut values of the type WorkingPoint_* 291 The third argument contains data for isolation calculation. 294 cutName = cms.string(
'PhoAnyPFIsoWithEAAndExpoScalingEBCut'),
296 C1_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
297 C2_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
298 C3_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
300 C1_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
301 C2_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
302 anyPFIsoMap = cms.InputTag( isoInputs.neuHadIsolationMapName ),
303 barrelCutOff = cms.double(ebCutOff),
304 useRelativeIso = cms.bool(
False),
305 needsAdditionalProducts = cms.bool(
True),
306 isIgnored = cms.bool(
False),
307 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
308 effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
315 Arguments: two containers of working point cut values of the type WorkingPoint_* 316 The third argument contains data for isolation calculation. 319 cutName = cms.string(
'PhoAnyPFIsoWithEAAndExpoScalingCut'),
321 C1_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
322 C2_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
323 C3_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
325 C1_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
326 C2_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
327 C3_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C3 ),
328 anyPFIsoMap = cms.InputTag( isoInputs.neuHadIsolationMapName ),
329 barrelCutOff = cms.double(ebCutOff),
330 useRelativeIso = cms.bool(
False),
331 needsAdditionalProducts = cms.bool(
True),
332 isIgnored = cms.bool(
False),
333 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
334 effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
341 Arguments: two containers of working point cut values of the type WorkingPoint_* 342 The third argument contains data for isolation calculation. 345 cutName = cms.string(
'PhoGenericRhoPtScaledCut'),
346 cutVariable = cms.string(
"neutralHadronIso"),
347 lessThan = cms.bool(
True),
349 constTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
350 constTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
351 linearPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
352 linearPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
353 quadPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
354 quadPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C3 ),
355 needsAdditionalProducts = cms.bool(
True),
356 isIgnored = cms.bool(
False),
357 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
358 effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
365 Arguments: two containers of working point cut values of the type WorkingPoint_* 366 The third argument contains data for isolation calculation. 369 cutName = cms.string(
'PhoGenericRhoPtScaledCut'),
370 cutVariable = cms.string(
"photonIso"),
371 lessThan = cms.bool(
True),
373 constTermEB = cms.double( wpEB.absPFPhoIsoWithEACut_C1 ),
374 constTermEE = cms.double( wpEE.absPFPhoIsoWithEACut_C1 ),
375 linearPtTermEB = cms.double( wpEB.absPFPhoIsoWithEACut_C2 ),
376 linearPtTermEE = cms.double( wpEE.absPFPhoIsoWithEACut_C2 ),
377 quadPtTermEB = cms.double( 0. ),
378 quadPtTermEE = cms.double( 0. ),
379 needsAdditionalProducts = cms.bool(
True),
380 isIgnored = cms.bool(
False),
381 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
382 effAreasConfigFile = cms.FileInPath( isoInputs.phoIsolationEffAreas )
389 Arguments: two containers of working point cut values of the type WorkingPoint_V3 390 Third argument contains the effective areas for pile-up corrections. 393 cutName = cms.string(
'PhoGenericQuadraticRhoPtScaledCut'),
394 cutVariable = cms.string(
"hcalOverEcal"),
395 lessThan = cms.bool(
True),
397 constTermEB = cms.double( wpEB.hOverEwithEACut ),
398 constTermEE = cms.double( wpEE.hOverEwithEACut ),
399 linearPtTermEB = cms.double( 0. ),
400 linearPtTermEE = cms.double( 0. ),
401 quadraticPtTermEB = cms.double( 0. ),
402 quadraticPtTermEE = cms.double( 0. ),
403 needsAdditionalProducts = cms.bool(
True),
404 isIgnored = cms.bool(
False),
405 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
406 quadEAflag = cms.bool(
True),
407 effAreasConfigFile = cms.FileInPath( hOverEInputs.hOverEEffAreas )
415 Arguments: two containers of working point cut values of the type WorkingPoint_V3 416 The third argument contains data for isolation calculation. 417 The cut is (for lessThan==True), otherwise replace "<" with ">=" 418 X < constTerm + linearPtTerm*pt + quadPtTerm* pt*pt + rho*EA 421 cutName = cms.string(
'PhoGenericQuadraticRhoPtScaledCut'),
422 cutVariable = cms.string(
"chargedHadronIso"),
423 lessThan = cms.bool(
True),
425 constTermEB = cms.double( wpEB.absPFChgHadIsoWithEACut_C1 ),
426 constTermEE = cms.double( wpEE.absPFChgHadIsoWithEACut_C1 ),
427 linearPtTermEB = cms.double( wpEB.absPFChgHadIsoWithEACut_C2 ),
428 linearPtTermEE = cms.double( wpEE.absPFChgHadIsoWithEACut_C2 ),
429 quadraticPtTermEB = cms.double( 0. ),
430 quadraticPtTermEE = cms.double( 0. ),
431 needsAdditionalProducts = cms.bool(
True),
432 isIgnored = cms.bool(
False),
433 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
434 quadEAflag = cms.bool(
True),
435 effAreasConfigFile = cms.FileInPath( isoInputs.chHadIsolationEffAreas )
444 Arguments: two containers of working point cut values of the type WorkingPoint_V3 445 The third argument contains data for isolation calculation. 448 cutName = cms.string(
'PhoGenericQuadraticRhoPtScaledCut'),
449 cutVariable = cms.string(
"ecalPFClusterIso"),
450 lessThan = cms.bool(
True),
452 constTermEB = cms.double( wpEB.absPFECalClusIsoWithEACut_C1 ),
453 constTermEE = cms.double( wpEE.absPFECalClusIsoWithEACut_C1 ),
454 linearPtTermEB = cms.double( wpEB.absPFECalClusIsoWithEACut_C2 ),
455 linearPtTermEE = cms.double( wpEE.absPFECalClusIsoWithEACut_C2 ),
456 quadraticPtTermEB = cms.double( 0. ),
457 quadraticPtTermEE = cms.double( 0. ),
458 needsAdditionalProducts = cms.bool(
True),
459 isIgnored = cms.bool(
False),
460 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
461 quadEAflag = cms.bool(
True),
462 effAreasConfigFile = cms.FileInPath( clusterIsoInputs.ecalClusIsolationEffAreas )
470 Arguments: two containers of working point cut values of the type WorkingPoint_V3 471 The third argument contains data for isolation calculation. 474 cutName = cms.string(
'PhoGenericQuadraticRhoPtScaledCut'),
475 cutVariable = cms.string(
"hcalPFClusterIso"),
476 lessThan = cms.bool(
True),
478 constTermEB = cms.double( wpEB.absPFHCalClusIsoWithEACut_C1 ),
479 constTermEE = cms.double( wpEE.absPFHCalClusIsoWithEACut_C1 ),
480 linearPtTermEB = cms.double( wpEB.absPFHCalClusIsoWithEACut_C2 ),
481 linearPtTermEE = cms.double( wpEE.absPFHCalClusIsoWithEACut_C2 ),
482 quadraticPtTermEB = cms.double( wpEB.absPFHCalClusIsoWithEACut_C3 ),
483 quadraticPtTermEE = cms.double( wpEE.absPFHCalClusIsoWithEACut_C3 ),
484 needsAdditionalProducts = cms.bool(
True),
485 isIgnored = cms.bool(
False),
486 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
487 quadEAflag = cms.bool(
True),
488 effAreasConfigFile = cms.FileInPath( clusterIsoInputs.hcalClusIsolationEffAreas )
500 This function configures the full cms.PSet for a VID ID and returns it. 501 The inputs: two objects of the type WorkingPoint_V1, one 502 containing the cuts for the Barrel (EB) and the other one for the Endcap (EE). 503 The third argument contains data for isolation calculation. 506 parameterSet = cms.PSet(
508 idName = cms.string( wpEB.idName ),
524 This function configures the full cms.PSet for a VID ID and returns it. 525 The inputs: first object is of the type WorkingPoint_V2, second object 526 is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB) 527 and the other one for the Endcap (EE). 528 The third argument contains data for isolation calculation. 530 The V2 with respect to V1 has one change: the neutral hadron isolation 531 cut has an exponential pt scaling for the barrel. 534 parameterSet = cms.PSet(
536 idName = cms.string( wpEB.idName ),
552 This function configures the full cms.PSet for a VID ID and returns it. 553 The inputs: first object is of the type WorkingPoint_V2, second object 554 is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB) 555 and the other one for the Endcap (EE). 556 The third argument contains data for isolation calculation. 558 The V3 with respect to V2 has one change: the full5x5 sigmaIEtaIEta 559 is taken from the native reco::Photon method and not from a ValueMap 560 produced upstream by some producer module. 563 parameterSet = cms.PSet(
565 idName = cms.string( wpEB.idName ),
581 This function configures the full cms.PSet for a VID ID and returns it. 582 The inputs: first object is of the type WorkingPoint_V2, second object 583 is of the type WorkingPoint_V2 as well, first containing the cuts for the 584 Barrel (EB) and the other one for the Endcap (EE). 585 The third argument contains data for isolation calculation. 587 The V4 with respect to V3 has one change: both barrel and endcap 588 use the exponential scaling for the neutral hadron isolation cut 589 (in V3 it was only done for the barrel) 592 parameterSet = cms.PSet(
594 idName = cms.string( wpEB.idName ),
610 This function configures the full cms.PSet for a VID ID and returns it. 611 The inputs: first object is of the type WorkingPoint_V2, second object 612 is of the type WorkingPoint_V2 as well, first containing the cuts for the 613 Barrel (EB) and the other one for the Endcap (EE). 614 The third argument contains data for isolation calculation. 616 The V5 with respect to V4 has one change: the neutral hadron isolation 617 for both barrel and endcap now uses quadratic polynomial scaling. 620 parameterSet = cms.PSet(
622 idName = cms.string( wpEB.idName ),
640 This function configures the full cms.PSet for a VID ID and returns it. 641 The inputs: first object is of the type WorkingPoint_V3, second object 642 is of the type WorkingPoint_V3 as well, first containing the cuts for the 643 Barrel (EB) and the other one for the Endcap (EE). 644 The third argument contains data for isolation calculation. 646 The V6 with respect to V5 has following changes: 647 1) H/E is now cone-based instead of tower-based. 648 2) Neutral hadron isolation is replaced by HCal Cluster isolation 649 for both barrel and endcap (and uses quadratic polynomial scaling 650 as done before for neutral hadron isolation). 651 3) Photon isolation is replaced by ECal Cluster isolation for both 652 barrel and endcap (and uses linear polynomial scaling as done before 653 for photon isolation). 657 parameterSet = cms.PSet(
659 idName = cms.string( wpEB.idName ),