Skip to content

Commit 60eeedc

Browse files
author
Andre Govinda Stahl Leiton
committed
Add dEdx lfit to PbPb eras
1 parent ef9550b commit 60eeedc

File tree

5 files changed

+22
-8
lines changed

5 files changed

+22
-8
lines changed

Configuration/Eras/python/Era_Run3_pp_on_PbPb_2025_cff.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
55
from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3
66
from Configuration.Eras.Modifier_pp_on_PbPb_run3_2024_cff import pp_on_PbPb_run3_2024
7+
from Configuration.Eras.Modifier_dedx_lfit_cff import dedx_lfit
78

8-
Run3_pp_on_PbPb_2025 = cms.ModifierChain(Run3_2025, pp_on_AA, pp_on_PbPb_run3, pp_on_PbPb_run3_2024)
9+
Run3_pp_on_PbPb_2025 = cms.ModifierChain(Run3_2025, dedx_lfit, pp_on_AA, pp_on_PbPb_run3, pp_on_PbPb_run3_2024)

Configuration/Eras/python/Era_Run3_pp_on_PbPb_approxSiStripClusters_2025_cff.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
55
from Configuration.ProcessModifiers.approxSiStripClusters_cff import approxSiStripClusters
66
from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3
7+
from Configuration.Eras.Modifier_dedx_lfit_cff import dedx_lfit
78

8-
Run3_pp_on_PbPb_approxSiStripClusters_2025 = cms.ModifierChain(Run3_2025, pp_on_AA, approxSiStripClusters, pp_on_PbPb_run3)
9+
Run3_pp_on_PbPb_approxSiStripClusters_2025 = cms.ModifierChain(Run3_2025, dedx_lfit, pp_on_AA, approxSiStripClusters, pp_on_PbPb_run3)

PhysicsTools/PatAlgos/plugins/DeDxEstimatorRekeyer.cc

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class DeDxEstimatorRekeyer : public edm::global::EDProducer<> {
2929

3030
// ----------member data ---------------------------
3131
const edm::EDGetTokenT<reco::TrackCollection> tracksToken_;
32+
const bool rekey_dedxHits_;
3233
const edm::EDGetTokenT<reco::DeDxHitInfoAss> dedxHitAssToken_;
3334
const edm::EDGetTokenT<edm::ValueMap<std::vector<float>>> dedxHitMomToken_;
3435
const std::map<std::string, edm::EDGetTokenT<edm::ValueMap<reco::DeDxData>>> dedxEstimatorsTokens_;
@@ -39,8 +40,8 @@ class DeDxEstimatorRekeyer : public edm::global::EDProducer<> {
3940
void DeDxEstimatorRekeyer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
4041
edm::ParameterSetDescription desc;
4142
desc.add<edm::InputTag>("tracks", {"generalTracks"});
42-
desc.add<edm::InputTag>("dedxHits", {"dedxHitInfo"});
43-
desc.add<edm::InputTag>("dedxMomentum", {"dedxHitInfo:momentumAtHit"});
43+
desc.add<edm::InputTag>("dedxHits", {});
44+
desc.add<edm::InputTag>("dedxMomentum", {});
4445
desc.add<std::vector<edm::InputTag>>(
4546
"packedCandidates",
4647
{edm::InputTag("packedPFCandidates"), edm::InputTag("lostTracks"), edm::InputTag("lostTracks:eleTracks")});
@@ -51,6 +52,7 @@ void DeDxEstimatorRekeyer::fillDescriptions(edm::ConfigurationDescriptions& desc
5152

5253
DeDxEstimatorRekeyer::DeDxEstimatorRekeyer(const edm::ParameterSet& iConfig)
5354
: tracksToken_(consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"))),
55+
rekey_dedxHits_(not iConfig.getParameter<edm::InputTag>("dedxHits").label().empty()),
5456
dedxHitAssToken_(consumes<reco::DeDxHitInfoAss>(iConfig.getParameter<edm::InputTag>("dedxHits"))),
5557
dedxHitMomToken_(
5658
consumes<edm::ValueMap<std::vector<float>>>(iConfig.getParameter<edm::InputTag>("dedxMomentum"))),
@@ -62,9 +64,11 @@ DeDxEstimatorRekeyer::DeDxEstimatorRekeyer(const edm::ParameterSet& iConfig)
6264
iConfig.getParameter<std::vector<edm::InputTag>>("packedCandidates"))) {
6365
for (const auto& d : dedxEstimatorsTokens_)
6466
produces<edm::ValueMap<reco::DeDxData>>(d.first);
65-
produces<reco::DeDxHitInfoCollection>();
66-
produces<reco::DeDxHitInfoAss>();
67-
produces<edm::ValueMap<std::vector<float>>>("momentumAtHit");
67+
if (rekey_dedxHits_) {
68+
produces<reco::DeDxHitInfoCollection>();
69+
produces<reco::DeDxHitInfoAss>();
70+
produces<edm::ValueMap<std::vector<float>>>("momentumAtHit");
71+
}
6872
}
6973

7074
void DeDxEstimatorRekeyer::produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const {
@@ -107,6 +111,8 @@ void DeDxEstimatorRekeyer::produce(edm::StreamID, edm::Event& iEvent, const edm:
107111
}
108112

109113
// Rekey dEdx hit info
114+
if (not rekey_dedxHits_)
115+
return;
110116
const auto& dedxHitMom = iEvent.get(dedxHitMomToken_);
111117
const auto& dedxHitAss = iEvent.get(dedxHitAssToken_);
112118
const auto& dedxHitInfoHandle = iEvent.getRefBeforePut<reco::DeDxHitInfoCollection>();

PhysicsTools/PatAlgos/python/slimming/MicroEventContent_cff.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@
173173
from Configuration.Eras.Modifier_run3_upc_cff import run3_upc
174174
run3_upc.toModify(MicroEventContent, outputCommands = MicroEventContent.outputCommands + _upc_extraCommands)
175175

176+
_dedx_extraCommands = ["keep recoDeDxDataedmValueMap_dedxEstimator_*_*"]
177+
from Configuration.Eras.Modifier_dedx_lfit_cff import dedx_lfit
178+
dedx_lfit.toModify(MicroEventContent, outputCommands = MicroEventContent.outputCommands + _dedx_extraCommands)
179+
176180
_ppRef_extraCommands = [
177181
'keep floatedmValueMap_*TrackChi2_*_*',
178182
'keep recoClusterCompatibility_hiClusterCompatibility_*_*',

PhysicsTools/PatAlgos/python/slimming/slimming_cff.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,11 @@
125125
from PhysicsTools.PatAlgos.modules import DeDxEstimatorRekeyer
126126
dedxEstimator = DeDxEstimatorRekeyer()
127127
dedx_lfit.toModify(dedxEstimator, dedxEstimators = ["dedxPixelLikelihood", "dedxStripLikelihood", "dedxAllLikelihood"])
128+
dedx_lfit.toReplaceWith(slimmingTask, cms.Task(slimmingTask.copy(), dedxEstimator))
128129

129130
from Configuration.Eras.Modifier_run3_upc_cff import run3_upc
130-
run3_upc.toReplaceWith(slimmingTask, cms.Task(slimmingTask.copy(), hiPixelTracks, packedPFCandidateTrackChi2, lostTrackChi2, dedxEstimator))
131+
run3_upc.toModify(dedxEstimator, dedxHits = "dedxHitInfo", dedxMomentum = "dedxHitInfo:momentumAtHit")
132+
run3_upc.toReplaceWith(slimmingTask, cms.Task(slimmingTask.copy(), hiPixelTracks, packedPFCandidateTrackChi2, lostTrackChi2))
131133

132134
from Configuration.Eras.Modifier_run3_oxygen_cff import run3_oxygen
133135
run3_oxygen.toReplaceWith(slimmingTask, cms.Task(slimmingTask.copy(), hiPixelTracks, hiEvtPlane, hiEvtPlaneFlat, packedPFCandidateTrackChi2, lostTrackChi2, centralityBin))

0 commit comments

Comments
 (0)