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 BToKmumu = cms.EDProducer(
0007 'BToTrkLLBuilder',
0008 dileptons = cms.InputTag("MuMu:SelectedDiLeptons"),
0009 leptonTransientTracks = cms.InputTag('muonBPH', 'SelectedTransientMuons'),
0010 dileptonKinVtxs = cms.InputTag('MuMu:SelectedDiLeptonKinVtxs'),
0011 kaons = cms.InputTag('tracksBPH', 'SelectedTracks'),
0012 kaonsTransientTracks = cms.InputTag('tracksBPH', 'SelectedTransientTracks'),
0013 trackMass = cms.double(493.677),
0014 beamSpot = cms.InputTag("offlineBeamSpot"),
0015 PUtracks = cms.InputTag('tracksBPH', 'SelectedTracks'),
0016 preVtxSelection = cms.string('pt > 5.0'
0017 '&& 4.5 < mass && mass < 6.'
0018 '&& userFloat("min_dr") > 0.03'),
0019 postVtxSelection = cms.string('4.7 < userFloat("fitted_mass") && userFloat("fitted_mass") < 6.'
0020 '&& userFloat("sv_prob") > 0.001 && -0.045<userFloat("k_svip2d") && userFloat("k_svip2d")<0.045'
0021 '&& userFloat("fitted_cos_theta_2D") > 0.9'),
0022 dileptonMassContraint = cms.bool(True)
0023 )
0024
0025
0026
0027 BToKmumuTable = cms.EDProducer(
0028 'SimpleCompositeCandidateFlatTableProducer',
0029 src = cms.InputTag("BToKmumu"),
0030 cut = cms.string(""),
0031 name = cms.string("BToKMuMu"),
0032 doc = cms.string("BToKMuMu Variable"),
0033 singleton = cms.bool(False),
0034 extension = cms.bool(False),
0035 variables = cms.PSet(
0036
0037 CandVars,
0038 l1_idx = Var("userInt('l1_idx')", int, doc = "leading muon index to the BPH muon collection"),
0039 l2_idx = Var("userInt('l2_idx')", int, doc = "subleading muon index to the BPH muon collection"),
0040 k_idx = Var("userInt('trk_idx')", int, doc = "track index to the BPH track collection"),
0041 minDR = Var("userFloat('min_dr')", float, doc = "minimum DeltaR between the kaon and the two muons", precision=10),
0042 maxDR = Var("userFloat('max_dr')", float, doc = "maximum DeltaR between the kaon and the two muons", precision=10),
0043
0044 svprob = Var("userFloat('sv_prob')", float, doc = "vertex probability of the B candidate", precision=10),
0045 l_xy = Var("userFloat('l_xy')", float, doc = "post-fit vertex displacement on transverse plane wrt beamspot", precision=10),
0046 l_xy_unc = Var("userFloat('l_xy_unc')", float, doc = "post-fit vertex uncertainty of displacement on transverse plane wrt beamspot", precision=10),
0047
0048 vtx_x = Var("userFloat('vtx_x')", float, doc = "position x of fitted vertex", precision=10),
0049 vtx_y = Var("userFloat('vtx_y')", float, doc = "position y of fitted vertex", precision=10),
0050 vtx_z = Var("userFloat('vtx_z')", float, doc = "position z of fitted vertex", precision=10),
0051 vtx_cxx = Var("userFloat('vtx_cxx')", float, doc = "error x of fitted vertex", precision=10),
0052 vtx_cyy = Var("userFloat('vtx_cyy')", float, doc = "error y of fitted vertex", precision=10),
0053 vtx_czz = Var("userFloat('vtx_czz')", float, doc = "error z of fitted vertex", precision=10),
0054 vtx_cyx = Var("userFloat('vtx_cyx')", float, doc = "error yx of fitted vertex", precision=10),
0055 vtx_czx = Var("userFloat('vtx_czx')", float, doc = "error zx of fitted vertex", precision=10),
0056 vtx_czy = Var("userFloat('vtx_czy')", float, doc = "error zy of fitted vertex", precision=10),
0057
0058 mll_fullfit = Var("userFloat('fitted_mll')", float, doc = "post-fit mass of the two muons", precision=10),
0059
0060 cos2D = Var("userFloat('cos_theta_2D')", float, doc = "cos 2D of pre-fit candidate wrt beamspot", precision=10),
0061 fit_cos2D = Var("userFloat('fitted_cos_theta_2D')", float, doc = "cos 2D of fitted vertex wrt beamspot", precision=10),
0062
0063 fit_mass = Var("userFloat('fitted_mass')", float, doc = "post-fit mass of the B candidate", precision=10),
0064 fit_massErr = Var("userFloat('fitted_massErr')", float, doc = "post-fit uncertainty of the mass of the B candidate", precision=10),
0065 fit_pt = Var("userFloat('fitted_pt')", float, doc = "post-fit B pT", precision=10),
0066 fit_eta = Var("userFloat('fitted_eta')", float, doc = "post-fit B eta", precision=10),
0067 fit_phi = Var("userFloat('fitted_phi')", float, doc = "post-fit B phi", precision=10),
0068 fit_l1_pt = Var("userFloat('fitted_l1_pt')", float, doc = "post-fit leading mu pT", precision=10),
0069 fit_l1_eta = Var("userFloat('fitted_l1_eta')", float, doc = "post-fit leading mu eta", precision=10),
0070 fit_l1_phi = Var("userFloat('fitted_l1_phi')", float, doc = "post-fit leading mu phi", precision=10),
0071 fit_l2_pt = Var("userFloat('fitted_l2_pt')", float, doc = "post-fit subleading mu pT", precision=10),
0072 fit_l2_eta = Var("userFloat('fitted_l2_eta')", float, doc = "post-fit subleading mu eta", precision=10),
0073 fit_l2_phi = Var("userFloat('fitted_l2_phi')", float, doc = "post-fit subleading mu phi", precision=10),
0074 fit_k_pt = Var("userFloat('fitted_trk_pt')", float, doc = "post-fit track pT", precision=10),
0075 fit_k_eta = Var("userFloat('fitted_trk_eta')", float, doc = "post-fit track eta", precision=10),
0076 fit_k_phi = Var("userFloat('fitted_trk_phi')", float, doc = "post-fit track phi", precision=10),
0077 k_svip2d = Var("userFloat('k_svip2d')", float, doc = "2D IP of the track wrt the dimuon vertex", precision=10),
0078 k_svip2d_err = Var("userFloat('k_svip2d_err')", float, doc = "uncertainty of 2D IP of the track wrt the dimuon vertex", precision=10),
0079 l1_iso04 = Var("userFloat('l1_iso04')", float, doc = "leading mu isolation DR<0.4", precision=10),
0080 l2_iso04 = Var("userFloat('l2_iso04')", float, doc = "subleading mu isolation DR<0.4", precision=10),
0081 k_iso04 = Var("userFloat('trk_iso04')", float, doc = "track isolation DR<0.4", precision=10),
0082 constraint_sv_prob = Var("userFloat('constraint_sv_prob')", float, doc = "B vertex probability after the dimuon mass constraint", precision=10),
0083 constraint_pt = Var("userFloat('constraint_pt')", float, doc = "B pt after the dimuon mass constraint", precision=10),
0084 constraint_eta = Var("userFloat('constraint_eta')", float, doc = "B eta after the dimuon mass constraint", precision=10),
0085 constraint_phi = Var("userFloat('constraint_phi')", float, doc = "B phi after the dimuon mass constraint", precision=10),
0086 constraint_mass = Var("userFloat('constraint_mass')", float, doc = "B mass after the dimuon mass constraint", precision=10),
0087 constraint_massErr = Var("userFloat('constraint_massErr')", float, doc = "mass uncertainty of the dimuon mass constraint", precision=10),
0088 constraint_mll = Var("userFloat('constraint_mll')", float, doc = "dimuon mass after the dimuon mass constraint", precision=10),
0089 )
0090 )
0091
0092
0093 CountBToKmumu = cms.EDFilter("PATCandViewCountFilter",
0094 minNumber = cms.uint32(1),
0095 maxNumber = cms.uint32(999999),
0096 src = cms.InputTag("BToKmumu")
0097 )
0098
0099
0100 BToKMuMuSequence = cms.Sequence(BToKmumu)
0101 BToKMuMuTables = cms.Sequence(BToKmumuTable)