CMS 3D CMS Logo

globals_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
4 from PhysicsTools.NanoAOD.globalVariablesTableProducer_cfi import globalVariablesTableProducer
5 from PhysicsTools.NanoAOD.simpleBeamspotFlatTableProducer_cfi import simpleBeamspotFlatTableProducer
6 from PhysicsTools.NanoAOD.simpleGenEventFlatTableProducer_cfi import simpleGenEventFlatTableProducer
7 from PhysicsTools.NanoAOD.simpleGenFilterFlatTableProducerLumi_cfi import simpleGenFilterFlatTableProducerLumi
8 
9 beamSpotTable = simpleBeamspotFlatTableProducer.clone(
10  src = cms.InputTag("offlineBeamSpot"),
11  name = cms.string("BeamSpot"),
12  doc = cms.string("offlineBeamSpot, the offline reconstructed beamspot"),
13  variables = cms.PSet(
14  type = Var("type()","int16",doc="BeamSpot type (Unknown = -1, Fake = 0, LHC = 1, Tracker = 2)"),
15  z = Var("position().z()",float,doc="BeamSpot center, z coordinate (cm)",precision=-1),
16  zError = Var("z0Error()",float,doc="Error on BeamSpot center, z coordinate (cm)",precision=-1),
17  sigmaZ = Var("sigmaZ()",float,doc="Width of BeamSpot in z (cm)",precision=-1),
18  sigmaZError = Var("sigmaZ0Error()",float,doc="Error on width of BeamSpot in z (cm)",precision=-1),
19  ),
20 )
21 
22 rhoTable = globalVariablesTableProducer.clone(
23  name = cms.string("Rho"),
24  variables = cms.PSet(
25  fixedGridRhoAll = ExtVar( cms.InputTag("fixedGridRhoAll"), "double", doc = "rho from all PF Candidates, no foreground removal (for isolation of prompt photons)" ),
26  fixedGridRhoFastjetAll = ExtVar( cms.InputTag("fixedGridRhoFastjetAll"), "double", doc = "rho from all PF Candidates, used e.g. for JECs" ),
27  fixedGridRhoFastjetCentralNeutral = ExtVar( cms.InputTag("fixedGridRhoFastjetCentralNeutral"), "double", doc = "rho from neutral PF Candidates with |eta| < 2.5, used e.g. for rho corrections of some lepton isolations" ),
28  fixedGridRhoFastjetCentralCalo = ExtVar( cms.InputTag("fixedGridRhoFastjetCentralCalo"), "double", doc = "rho from calo towers with |eta| < 2.5, used e.g. egamma PFCluster isolation" ),
29  fixedGridRhoFastjetCentral = ExtVar( cms.InputTag("fixedGridRhoFastjetCentral"), "double", doc = "rho from all PF Candidates for central region, used e.g. for JECs" ),
30  fixedGridRhoFastjetCentralChargedPileUp = ExtVar( cms.InputTag("fixedGridRhoFastjetCentralChargedPileUp"), "double", doc = "rho from charged PF Candidates for central region, used e.g. for JECs" ),
31  )
32 )
33 
34 puTable = cms.EDProducer("NPUTablesProducer",
35  src = cms.InputTag("slimmedAddPileupInfo"),
36  pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
37  zbins = cms.vdouble( [0.0,1.7,2.6,3.0,3.5,4.2,5.2,6.0,7.5,9.0,12.0] ),
38  savePtHatMax = cms.bool(True),
39 )
40 (run2_nanoAOD_ANY | run3_nanoAOD_122 | run3_nanoAOD_124).toModify(
41  puTable, savePtHatMax=False
42 )
43 
44 genTable = simpleGenEventFlatTableProducer.clone(
45  src = cms.InputTag("generator"),
46  name= cms.string("Generator"),
47  doc = cms.string("Generator information"),
48  variables = cms.PSet(
49  x1 = Var( "?hasPDF?pdf().x.first:-1", float, doc="x1 fraction of proton momentum carried by the first parton",precision=14 ),
50  x2 = Var( "?hasPDF?pdf().x.second:-1", float, doc="x2 fraction of proton momentum carried by the second parton",precision=14 ),
51  xpdf1 = Var( "?hasPDF?pdf().xPDF.first:-1", float, doc="x*pdf(x) for the first parton", precision=14 ),
52  xpdf2 = Var( "?hasPDF?pdf().xPDF.second:-1", float, doc="x*pdf(x) for the second parton", precision=14 ),
53  id1 = Var( "?hasPDF?pdf().id.first:-1", int, doc="id of first parton", precision=6 ),
54  id2 = Var( "?hasPDF?pdf().id.second:-1", int, doc="id of second parton", precision=6 ),
55  scalePDF = Var( "?hasPDF?pdf().scalePDF:-1", float, doc="Q2 scale for PDF", precision=14 ),
56  binvar = Var("?hasBinningValues()?binningValues()[0]:-1", float, doc="MC generation binning value", precision=14),
57  weight = Var("weight()", float,doc="MC generator weight", precision=14),
58  ),
59 )
60 
61 genFilterTable = simpleGenFilterFlatTableProducerLumi.clone(
62  src = cms.InputTag("genFilterEfficiencyProducer"),
63  name= cms.string("GenFilter"),
64  doc = cms.string("Generator filter information"),
65  variables = cms.PSet(
66  numEventsTotal = Var("numEventsTotal()", int, doc="generator filter: total number of events", precision=6),
67  numEventsPassed = Var("numEventsPassed()", int, doc="generator filter: passed number of events", precision=6),
68  filterEfficiency = Var("filterEfficiency()", float, doc="generator filter: efficiency", precision=14),
69  filterEfficiencyError = Var("filterEfficiencyError()", float, doc="generator filter: efficiency error", precision=14),
70  ),
71 )
72 
73 globalTablesTask = cms.Task(beamSpotTable, rhoTable)
74 globalTablesMCTask = cms.Task(puTable,genTable,genFilterTable)
def ExtVar(tag, valtype, doc=None, precision=-1)
Definition: common_cff.py:27
def Var(expr, valtype, doc=None, precision=-1)
Definition: common_cff.py:16