Skip to content

Commit c8eff6f

Browse files
committed
save ditracks only for B-candidates (changes from Georgios Melachroinos)
1 parent 071a141 commit c8eff6f

File tree

4 files changed

+50
-46
lines changed

4 files changed

+50
-46
lines changed

PhysicsTools/BPHNano/plugins/BToTrkTrkLLBuilder.cc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ class BToTrkTrkLLBuilder : public edm::global::EDProducer<> {
4848
beamspot_{consumes<reco::BeamSpot>(cfg.getParameter<edm::InputTag>("beamSpot"))},
4949
dilepton_constraint_{cfg.getParameter<bool>("dileptonMassContraint")} {
5050
// output
51-
produces<pat::CompositeCandidateCollection>();
51+
produces<pat::CompositeCandidateCollection>("SelectedBToTrkTrkMuMu");
52+
produces<pat::CompositeCandidateCollection>("SelectedTrkTrk");
5253
}
5354

5455
~BToTrkTrkLLBuilder() override {}
@@ -96,6 +97,7 @@ void BToTrkTrkLLBuilder::produce(edm::StreamID, edm::Event &evt, edm::EventSetup
9697

9798
// output
9899
std::unique_ptr<pat::CompositeCandidateCollection> ret_val(new pat::CompositeCandidateCollection());
100+
std::unique_ptr<pat::CompositeCandidateCollection> ditrack_out(new pat::CompositeCandidateCollection());
99101

100102
for (size_t ditracks_idx = 0; ditracks_idx < ditracks->size(); ++ditracks_idx) {
101103
// both k*,phi and lep pair already passed cuts; no need for more
@@ -352,13 +354,16 @@ void BToTrkTrkLLBuilder::produce(edm::StreamID, edm::Event &evt, edm::EventSetup
352354
cand.addUserFloat("constraint_massErr_piK", constraint_massErr_piK);
353355
cand.addUserFloat("constraint_mll", constraint_mll);
354356

355-
ret_val->push_back(cand);
357+
ret_val->emplace_back(cand);
358+
ditrack_out->emplace_back(*ditracks_ptr);
356359

357360
} // for(size_t ll_idx = 0; ll_idx < dileptons->size(); ++ll_idx) {
358361

359362
} // for(size_t k_idx = 0; k_idx < ditracks->size(); ++k_idx)
360363

361-
evt.put(std::move(ret_val));
364+
evt.put(std::move(ret_val),"SelectedBToTrkTrkMuMu");
365+
evt.put(std::move(ditrack_out),"SelectedTrkTrk");
366+
362367
}
363368

364369
#include "FWCore/Framework/interface/MakerMacros.h"

PhysicsTools/BPHNano/python/BToTrkTrkLL_cff.py

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
BToTrkTrkMuMuTable = cms.EDProducer(
2222
'SimpleCompositeCandidateFlatTableProducer',
23-
src = cms.InputTag("BToTrkTrkMuMu"),
23+
src = cms.InputTag("BToTrkTrkMuMu:SelectedBToTrkTrkMuMu"),
2424
cut = cms.string(""),
2525
name = cms.string("BToTrkTrkMuMu"),
2626
doc = cms.string("BToTrkTrkMuMu Variables"),
@@ -107,6 +107,43 @@
107107
)
108108
)
109109

110+
DiTrackTable = cms.EDProducer("SimpleCompositeCandidateFlatTableProducer",
111+
src = cms.InputTag("BToTrkTrkMuMu:SelectedTrkTrk"),
112+
cut = cms.string(""), #we should not filter on cross linked collections
113+
name = cms.string("DiTrack"),
114+
doc = cms.string("slimmedDiTrack for BPark after basic selection"),
115+
singleton = cms.bool(False), # the number of entries is variable
116+
extension = cms.bool(False), # this is the main table for the muons
117+
variables = cms.PSet(
118+
CandVars,
119+
fit_mass_KK = Var("userFloat('fitted_mass_KK')", float, doc="", precision=10),
120+
fit_mass_Kpi = Var("userFloat('fitted_mass_Kpi')", float, doc="", precision=10),
121+
fit_mass_piK = Var("userFloat('fitted_mass_piK')", float, doc="", precision=10),
122+
fit_pt = Var("userFloat('fitted_pt')", float, doc="", precision=10),
123+
fit_eta = Var("userFloat('fitted_eta')", float, doc="", precision=10),
124+
fit_phi = Var("userFloat('fitted_phi')", float, doc="", precision=10),
125+
svprob = Var("userFloat('sv_prob')", float, doc="", precision=10),
126+
trk1_idx = Var("userInt('trk1_idx')", int, doc=""),
127+
trk2_idx = Var("userInt('trk2_idx')", int, doc=""),
128+
vtx_x = Var("userFloat('vtx_x')", float, doc="", precision=10),
129+
vtx_y = Var("userFloat('vtx_y')", float, doc="", precision=10),
130+
vtx_z = Var("userFloat('vtx_z')", float, doc="", precision=10),
131+
l_xy = Var("userFloat('l_xy')", float, doc="", precision=10),
132+
l_xy_unc = Var("userFloat('l_xy_unc')", float, doc="", precision=10),
133+
cos_theta_2D = Var("userFloat('fitted_cos_theta_2D')", float, doc="", precision=10),
134+
sv_prob = Var("userFloat('sv_prob')", float, doc="", precision=10),
135+
sv_ndof = Var("userFloat('sv_ndof')", float, doc="", precision=10),
136+
sv_chi2 = Var("userFloat('sv_chi2')", float, doc="", precision=10),
137+
vtx_cxx = Var("userFloat('vtx_cxx')", float, doc="", precision=10),
138+
vtx_cyy = Var("userFloat('vtx_cyy')", float, doc="", precision=10),
139+
vtx_czz = Var("userFloat('vtx_czz')", float, doc="", precision=10),
140+
vtx_cyx = Var("userFloat('vtx_cyx')", float, doc="", precision=10),
141+
vtx_czx = Var("userFloat('vtx_czx')", float, doc="", precision=10),
142+
vtx_czy = Var("userFloat('vtx_czy')", float, doc="", precision=10)
143+
144+
)
145+
)
146+
110147

111148
CountBToTrkTrkMuMu = cms.EDFilter("PATCandViewCountFilter",
112149
minNumber = cms.uint32(1),
@@ -116,4 +153,4 @@
116153

117154
########################### Sequencies ############################
118155
BToTrkTrkMuMuSequence = cms.Sequence( BToTrkTrkMuMu )
119-
BToTrkTrkMuMuTables = cms.Sequence( BToTrkTrkMuMuTable )
156+
BToTrkTrkMuMuTables = cms.Sequence( BToTrkTrkMuMuTable + DiTrackTable )

PhysicsTools/BPHNano/python/DiTrack_cff.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -20,42 +20,4 @@
2020
src = cms.InputTag("DiTrack")
2121
)
2222

23-
DiTrackTable = cms.EDProducer("SimpleCompositeCandidateFlatTableProducer",
24-
src = cms.InputTag("DiTrack"),
25-
cut = cms.string(""), #we should not filter on cross linked collections
26-
name = cms.string("DiTrack"),
27-
doc = cms.string("slimmedDiTrack for BPark after basic selection"),
28-
singleton = cms.bool(False), # the number of entries is variable
29-
extension = cms.bool(False), # this is the main table for the muons
30-
variables = cms.PSet(
31-
CandVars,
32-
fit_mass_KK = Var("userFloat('fitted_mass_KK')", float, doc="", precision=6),
33-
fit_mass_Kpi = Var("userFloat('fitted_mass_Kpi')", float, doc="", precision=6),
34-
fit_mass_piK = Var("userFloat('fitted_mass_piK')", float, doc="", precision=6),
35-
fit_pt = Var("userFloat('fitted_pt')", float, doc="", precision=6),
36-
fit_eta = Var("userFloat('fitted_eta')", float, doc="", precision=6),
37-
fit_phi = Var("userFloat('fitted_phi')", float, doc="", precision=6),
38-
svprob = Var("userFloat('sv_prob')", float, doc="", precision=6),
39-
trk1_idx = Var("userInt('trk1_idx')", int, doc=""),
40-
trk2_idx = Var("userInt('trk2_idx')", int, doc=""),
41-
vtx_x = Var("userFloat('vtx_x')", float, doc="", precision=6),
42-
vtx_y = Var("userFloat('vtx_y')", float, doc="", precision=6),
43-
vtx_z = Var("userFloat('vtx_z')", float, doc="", precision=6),
44-
l_xy = Var("userFloat('l_xy')", float, doc="", precision=6),
45-
l_xy_unc = Var("userFloat('l_xy_unc')", float, doc="", precision=6),
46-
cos_theta_2D = Var("userFloat('fitted_cos_theta_2D')", float, doc="", precision=6),
47-
sv_prob = Var("userFloat('sv_prob')", float, doc="", precision=6),
48-
sv_ndof = Var("userFloat('sv_ndof')", float, doc="", precision=6),
49-
sv_chi2 = Var("userFloat('sv_chi2')", float, doc="", precision=6),
50-
vtx_cxx = Var("userFloat('vtx_cxx')", float, doc="", precision=6),
51-
vtx_cyy = Var("userFloat('vtx_cyy')", float, doc="", precision=6),
52-
vtx_czz = Var("userFloat('vtx_czz')", float, doc="", precision=6),
53-
vtx_cyx = Var("userFloat('vtx_cyx')", float, doc="", precision=6),
54-
vtx_czx = Var("userFloat('vtx_czx')", float, doc="", precision=6),
55-
vtx_czy = Var("userFloat('vtx_czy')", float, doc="", precision=6)
56-
57-
)
58-
)
59-
6023
DiTrackSequence = cms.Sequence(DiTrack)
61-
DiTrackTables = cms.Sequence(DiTrackTable)

PhysicsTools/NanoAOD/python/custom_bph_cff.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def nanoAOD_customizeBToKLL(process):
5353
def nanoAOD_customizeBToTrkTrkLL(process):
5454
process.load('PhysicsTools.BPHNano.DiTrack_cff')
5555
process.load('PhysicsTools.BPHNano.BToTrkTrkLL_cff')
56-
process.nanoSequence = cms.Sequence( process.nanoSequence + DiTrackSequence + DiTrackTables+ BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables )
56+
process.nanoSequence = cms.Sequence( process.nanoSequence + DiTrackSequence + BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables )
5757
return process
5858

5959

@@ -86,8 +86,8 @@ def nanoAOD_customizeBPH(process):
8686
process.load('PhysicsTools.BPHNano.BToTrkTrkLL_cff')
8787
process.load('PhysicsTools.BPHNano.V0_cff')
8888
process.load('PhysicsTools.BPHNano.BToV0LL_cff')
89-
process.nanoSequenceMC = cms.Sequence(process.nanoSequenceMC +particleLevelBPHSequence + genParticleBPHSequence+ genParticleBPHTables + muonBPHSequenceMC + muonBPHTablesMC + MuMuSequence + MuMuTables + tracksBPHSequenceMC + tracksBPHTablesMC + BToKMuMuSequence + BToKMuMuTables + DiTrackSequence + DiTrackTables + BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables + KshortToPiPiSequenceMC + KshortToPiPiTablesMC + BToKshortMuMuSequence + BToKshortMuMuTables + LambdaToProtonPiSequenceMC + LambdaToProtonPiTablesMC + LambdabToLambdaMuMuSequence + LambdabToLambdaMuMuTables)
90-
process.nanoSequence = cms.Sequence(process.nanoSequence + muonBPHSequence + muonBPHTables + MuMuSequence + MuMuTables + tracksBPHSequence + tracksBPHTables + BToKMuMuSequence + BToKMuMuTables + DiTrackSequence + DiTrackTables + BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables + KshortToPiPiSequence + KshortToPiPiTables + BToKshortMuMuSequence + BToKshortMuMuTables + LambdaToProtonPiSequence + LambdaToProtonPiTables + LambdabToLambdaMuMuSequence + LambdabToLambdaMuMuTables)
89+
process.nanoSequenceMC = cms.Sequence(process.nanoSequenceMC +particleLevelBPHSequence + genParticleBPHSequence+ genParticleBPHTables + muonBPHSequenceMC + muonBPHTablesMC + MuMuSequence + MuMuTables + tracksBPHSequenceMC + tracksBPHTablesMC + BToKMuMuSequence + BToKMuMuTables + DiTrackSequence + BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables + KshortToPiPiSequenceMC + KshortToPiPiTablesMC + BToKshortMuMuSequence + BToKshortMuMuTables + LambdaToProtonPiSequenceMC + LambdaToProtonPiTablesMC + LambdabToLambdaMuMuSequence + LambdabToLambdaMuMuTables)
90+
process.nanoSequence = cms.Sequence(process.nanoSequence + muonBPHSequence + muonBPHTables + MuMuSequence + MuMuTables + tracksBPHSequence + tracksBPHTables + BToKMuMuSequence + BToKMuMuTables + DiTrackSequence + BToTrkTrkMuMuSequence + BToTrkTrkMuMuTables + KshortToPiPiSequence + KshortToPiPiTables + BToKshortMuMuSequence + BToKshortMuMuTables + LambdaToProtonPiSequence + LambdaToProtonPiTables + LambdabToLambdaMuMuSequence + LambdabToLambdaMuMuTables)
9191
return process
9292

9393

0 commit comments

Comments
 (0)