File indexing completed on 2025-05-09 22:40:13
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.BPHNano.common_cff import *
0003
0004
0005
0006 BToKshortMuMu = cms.EDProducer(
0007 'BToV0LLBuilder',
0008 dileptons = cms.InputTag("MuMu:SelectedDiLeptons"),
0009 leptonTransientTracks = cms.InputTag('muonBPH', 'SelectedTransientMuons'),
0010 v0s = cms.InputTag('KshortToPiPi','SelectedV0Collection'),
0011 v0TransientTracks = cms.InputTag('KshortToPiPi', 'SelectedV0TransientCollection'),
0012 tracks = cms.InputTag("packedPFCandidates"),
0013 PUtracks = cms.InputTag('tracksBPH', 'SelectedTracks'),
0014 beamSpot = cms.InputTag("offlineBeamSpot"),
0015 preVtxSelection = cms.string('pt > 5.0 '
0016 '&& 4.5 < mass && mass < 6. '
0017 '&& userFloat("min_dr") > 0.03'),
0018 postVtxSelection = cms.string('4.7 < userFloat("fitted_mass") && userFloat("fitted_mass") < 6. '
0019 '&& userFloat("sv_prob") > 0.001 && -0.045<userFloat("v0_svip2d") && userFloat("v0_svip2d")<0.045'),
0020 dileptonMassContraint = cms.bool(True)
0021 )
0022
0023 LambdabToLambdaMuMu = cms.EDProducer(
0024 'BToV0LLBuilder',
0025 dileptons = cms.InputTag("MuMu:SelectedDiLeptons"),
0026 leptonTransientTracks = cms.InputTag('muonBPH', 'SelectedTransientMuons'),
0027 v0s = cms.InputTag('LambdaToProtonPi','SelectedV0Collection'),
0028 v0TransientTracks = cms.InputTag('LambdaToProtonPi', 'SelectedV0TransientCollection'),
0029 tracks = cms.InputTag("packedPFCandidates"),
0030 PUtracks = cms.InputTag('tracksBPH', 'SelectedTracks'),
0031 beamSpot = cms.InputTag("offlineBeamSpot"),
0032 preVtxSelection = cms.string('pt > 5.0 '
0033 '&& 4.5 < mass && mass < 6.5 '
0034 '&& userFloat("min_dr") > 0.03'),
0035 postVtxSelection = cms.string('4.9 < userFloat("fitted_mass") && userFloat("fitted_mass") < 6.3 '
0036 '&& userFloat("sv_prob") > 0.001 && -0.045<userFloat("v0_svip2d") && userFloat("v0_svip2d")<0.045'
0037 '&& userFloat("fitted_cos_theta_2D") > 0.9'),
0038 dileptonMassContraint = cms.bool(True)
0039 )
0040
0041
0042
0043
0044 BToKshortMuMuTable = cms.EDProducer(
0045 'SimpleCompositeCandidateFlatTableProducer',
0046 src = cms.InputTag("BToKshortMuMu"),
0047 cut = cms.string(""),
0048 name = cms.string("BToKshortMuMu"),
0049 doc = cms.string("BToKshortMuMu Variables"),
0050 singleton = cms.bool(False),
0051 extension = cms.bool(False),
0052 variables = cms.PSet(
0053
0054 CandVars,
0055 l1_idx = Var("userInt('l1_idx')", int, doc = "leading muon index to the BPH muon collection"),
0056 l2_idx = Var("userInt('l2_idx')", int, doc = "subleading muon index to the BPH muon collection"),
0057 V0_idx = Var("userInt('v0_idx')", int, doc = "V0 index to the V0 collection"),
0058 min_dr = Var("userFloat('min_dr')", float, doc = "minimum DeltaR between the V0 and the two muons", precision=10),
0059 max_dr = Var("userFloat('max_dr')", float, doc = "maximum DeltaR between the V0 and the two muons", precision=10),
0060
0061 chi2 = Var("userFloat('sv_chi2')", float, doc = "vertex chi^2 of the B candidate", precision=10),
0062 svprob = Var("userFloat('sv_prob')", float, doc = "vertex probability of the B candidate", precision=10),
0063 l_xy = Var("userFloat('l_xy')", float, doc = "post-fit vertex displacement on transverse plane wrt beamspot", precision=10),
0064 l_xy_unc = Var("userFloat('l_xy_unc')", float, doc = "post-fit uncertainty of the vertex displacement on transverse plane wrt beamspot", precision=10),
0065 cos2D = Var("userFloat('cos_theta_2D')", float, doc = "cos 2D of pre-fit candidate wrt beamspot", precision=10),
0066 fit_cos2D = Var("userFloat('fitted_cos_theta_2D')", float, doc = "cos 2D of fitted vertex wrt beamspot", precision=10),
0067 vtx_x = Var("userFloat('vtx_x')", float, doc = "position x of fitted vertex", precision=10),
0068 vtx_y = Var("userFloat('vtx_y')", float, doc = "position y of fitted vertex", precision=10),
0069 vtx_z = Var("userFloat('vtx_z')", float, doc = "position z of fitted vertex", precision=10),
0070 vtx_cxx = Var("userFloat('vtx_cxx')", float, doc = "error x of fitted vertex", precision=10),
0071 vtx_cyy = Var("userFloat('vtx_cyy')", float, doc = "error y of fitted vertex", precision=10),
0072 vtx_czz = Var("userFloat('vtx_czz')", float, doc = "error z of fitted vertex", precision=10),
0073 vtx_cyx = Var("userFloat('vtx_cyx')", float, doc = "error yx of fitted vertex", precision=10),
0074 vtx_czx = Var("userFloat('vtx_czx')", float, doc = "error zx of fitted vertex", precision=10),
0075 vtx_czy = Var("userFloat('vtx_czy')", float, doc = "error zy of fitted vertex", precision=10),
0076
0077 mll_fullfit = Var("userFloat('fitted_mll')", float, doc = "post-fit mass of the two muons", precision=10),
0078 mV0_fullfit = Var("userFloat('fitted_v0_mass')", float, doc = "mass of the V0 candidate", precision=10),
0079 fit_mass = Var("userFloat('fitted_mass')", float, doc = "post-fit mass of the B candidate", precision=10),
0080 fit_massErr = Var("userFloat('fitted_massErr')", float, doc = "post-fit uncertainty of the mass of the B candidate", precision=10),
0081 fit_pt = Var("userFloat('fitted_pt')", float, doc = "post-fit B pT", precision=10),
0082 fit_eta = Var("userFloat('fitted_eta')", float, doc = "post-fit B eta", precision=10),
0083 fit_phi = Var("userFloat('fitted_phi')", float, doc = "post-fit B phi", precision=10),
0084
0085
0086 fit_l1_pt = Var("userFloat('fitted_l1_pt')", float, doc = "post-fit leading mu pT", precision=10),
0087 fit_l1_eta = Var("userFloat('fitted_l1_eta')", float, doc = "post-fit leading mu eta", precision=10),
0088 fit_l1_phi = Var("userFloat('fitted_l1_phi')", float, doc = "post-fit leading mu phi", precision=10),
0089
0090 fit_l2_pt = Var("userFloat('fitted_l2_pt')", float, doc = "post-fit subleading mu pT", precision=10),
0091 fit_l2_eta = Var("userFloat('fitted_l2_eta')", float, doc = "post-fit subleading mu eta", precision=10),
0092 fit_l2_phi = Var("userFloat('fitted_l2_phi')", float, doc = "post-fit subleading mu phi", precision=10),
0093
0094 fit_V0_pt = Var("userFloat('fitted_v0_pt')", float, doc = "post-fit V0 pT", precision=10),
0095 fit_V0_eta = Var("userFloat('fitted_v0_eta')", float, doc = "post-fit V0 pT", precision=10),
0096 fit_V0_phi = Var("userFloat('fitted_v0_phi')", float, doc = "post-fit V0 pT", precision=10),
0097
0098 V0_svip2d = Var("userFloat('v0_svip2d')", float, doc = "2D IP of the V0 wrt the dimuon vertex", precision=10),
0099 V0_svip2d_err = Var("userFloat('v0_svip2d_err')", float, doc = "uncertainty of 2D IP of the V0 wrt the dimuon vertex", precision=10),
0100 l1_iso04 = Var("userFloat('l1_iso04')", float, doc = "leading muon isolation DR<0.4", precision=10),
0101 l2_iso04 = Var("userFloat('l2_iso04')", float, doc = "suleading muon isolation DR<0.4", precision=10),
0102 V0_iso04 = Var("userFloat('v0_iso04')", float, doc = "V0 isolation DR<0.4", precision=10),
0103
0104 constraint_pt = ufloat('cstr_pt', 10),
0105 constraint_eta = ufloat('cstr_eta', 10),
0106 constraint_phi = ufloat('cstr_phi', 10),
0107 constraint_sv_prob = ufloat('cstr_sv_prob', 10),
0108 constraint_mass = ufloat('cstr_mass', 10),
0109 constraint_massErr = ufloat('cstr_massErr', 10),
0110 constraint_vtx_x = ufloat('cstr_vtx_x', 10),
0111 constraint_vtx_y = ufloat('cstr_vtx_y', 10),
0112 constraint_vtx_z = ufloat('cstr_vtx_z', 10),
0113 constraint_vtx_cxx = ufloat('cstr_vtx_cxx', 10),
0114 constraint_vtx_cyy = ufloat('cstr_vtx_cyy', 10),
0115 constraint_vtx_czz = ufloat('cstr_vtx_czz', 10),
0116 constraint_vtx_cyx = ufloat('cstr_vtx_cyx', 10),
0117 constraint_vtx_czx = ufloat('cstr_vtx_czx', 10),
0118 constraint_vtx_czy = ufloat('cstr_vtx_czy', 10),
0119 constraint_l1_pt = ufloat('cstr_fitted_l1_pt', 10),
0120 constraint_l1_eta = ufloat('cstr_fitted_l1_eta', 10),
0121 constraint_l1_phi = ufloat('cstr_fitted_l1_phi', 10),
0122 constraint_l2_pt = ufloat('cstr_fitted_l2_pt', 10),
0123 constraint_l2_eta = ufloat('cstr_fitted_l2_eta', 10),
0124 constraint_l2_phi = ufloat('cstr_fitted_l2_phi', 10),
0125 constraint_v0_pt = ufloat('cstr_fitted_v0_pt', 10),
0126 constraint_v0_eta = ufloat('cstr_fitted_v0_eta', 10),
0127 constraint_v0_phi = ufloat('cstr_fitted_v0_phi', 10),
0128 mv0_cstrfit = ufloat('cstr_v0_mass', 10),
0129 constraint_cos2D = ufloat('cstr_cos_theta_2D', 10)
0130 )
0131 )
0132
0133 LambdabToLambdaMuMuTable = BToKshortMuMuTable.clone(
0134 src = cms.InputTag("LambdabToLambdaMuMu"),
0135 name = cms.string("LambdabToLambdaMuMu"),
0136 doc = cms.string("LambdabToLambdaMuMu Variable")
0137 )
0138
0139 CountBToKshortMuMu = cms.EDFilter("PATCandViewCountFilter",
0140 minNumber = cms.uint32(1),
0141 maxNumber = cms.uint32(999999),
0142 src = cms.InputTag("BToKshortMuMu")
0143 )
0144
0145 CountLambdabToLambdaMuMu = cms.EDFilter("PATCandViewCountFilter",
0146 minNumber = cms.uint32(1),
0147 maxNumber = cms.uint32(999999),
0148 src = cms.InputTag("LambdabToLambdaMuMu")
0149 )
0150
0151
0152
0153
0154 BToKshortMuMuSequence = cms.Sequence( BToKshortMuMu )
0155 BToKshortMuMuTables = cms.Sequence( BToKshortMuMuTable )
0156
0157 LambdabToLambdaMuMuSequence = cms.Sequence( LambdabToLambdaMuMu )
0158 LambdabToLambdaMuMuTables = cms.Sequence(LambdabToLambdaMuMuTable )
0159
0160
0161