CMS 3D CMS Logo

pfNoPileUpJME_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from CommonTools.ParticleFlow.pfPileUp_cfi import pfPileUp as _pfPileUp
4 from CommonTools.ParticleFlow.TopProjectors.pfNoPileUp_cfi import pfNoPileUp as _pfNoPileUp
5 from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import goodOfflinePrimaryVertices
6 from CommonTools.RecoAlgos.primaryVertexAssociation_cfi import primaryVertexAssociation
7 
8 # The following module implements vertex association for JME.
9 # It is not run by default to save computing time (but can be run to investigate alternative vertex identification criteria).
10 # Instead its parameters are used as input to faster implementations in pfPileUpJME and pfCHS and puppi.
11 primaryVertexAssociationJME = primaryVertexAssociation.clone(vertices = 'goodOfflinePrimaryVertices')
12 primaryVertexAssociationJME.assignment.maxDzSigForPrimaryAssignment = 1e10
13 primaryVertexAssociationJME.assignment.maxDzForPrimaryAssignment = 0.3
14 primaryVertexAssociationJME.assignment.maxDzErrorForPrimaryAssignment = 1e10
15 primaryVertexAssociationJME.assignment.NumOfPUVtxsForCharged = 2
16 primaryVertexAssociationJME.assignment.DzCutForChargedFromPUVtxs = 0.2
17 primaryVertexAssociationJME.assignment.PtMaxCharged = 20.
18 primaryVertexAssociationJME.assignment.EtaMinUseDz = 2.4
19 primaryVertexAssociationJME.assignment.OnlyUseFirstDz = True
20 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
21 phase2_common.toModify(
22  primaryVertexAssociationJME.assignment,
23  maxDzForPrimaryAssignment=0.1,
24  EtaMinUseDz = 4.0
25  )
26 
27 pfPileUpJME = _pfPileUp.clone(PFCandidates='particleFlowPtrs',
28  Vertices = 'goodOfflinePrimaryVertices',
29  checkClosestZVertex = False,
30  NumOfPUVtxsForCharged = primaryVertexAssociationJME.assignment.NumOfPUVtxsForCharged,
31  DzCutForChargedFromPUVtxs = primaryVertexAssociationJME.assignment.DzCutForChargedFromPUVtxs,
32  )
33 pfNoPileUpJME = _pfNoPileUp.clone(topCollection = 'pfPileUpJME',
34  bottomCollection = 'particleFlowPtrs' )
35 
36 pfNoPileUpJMETask = cms.Task(
37  goodOfflinePrimaryVertices,
38  pfPileUpJME,
39  pfNoPileUpJME
40  )
41 
42 pfNoPileUpJMESequence = cms.Sequence(pfNoPileUpJMETask)