Skip to content

Commit 146ac70

Browse files
authored
Merge pull request #48114 from cms-ngt-hlt/mm_HGCalHLTValidation
Fixes for HGCal validation at HLT
2 parents ea8a8a7 + b484eb3 commit 146ac70

File tree

6 files changed

+55
-13
lines changed

6 files changed

+55
-13
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
# This modifier is for running ngt scouting menu validation
4+
5+
ngtScouting = cms.Modifier()

Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1976,10 +1976,12 @@ def condition(self, fragment, stepList, key, hasHarvest):
19761976
)
19771977
upgradeWFs['NGTScouting'].step2 = {
19781978
'-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:NGTScouting,VALIDATION:@hltValidation',
1979+
'--procModifiers': 'ngtScouting',
19791980
'--datatier':'GEN-SIM-DIGI-RAW,DQMIO',
19801981
'--eventcontent':'FEVTDEBUGHLT,DQMIO'
19811982
}
19821983
upgradeWFs['NGTScouting'].step3 = {
1984+
'--procModifiers': 'ngtScouting',
19831985
'-s':'HARVESTING:@hltValidation'
19841986
}
19851987

SimCalorimetry/HGCalAssociatorProducers/plugins/AllHitToTracksterAssociatorsProducer.cc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ void AllHitToTracksterAssociatorsProducer::produce(edm::StreamID, edm::Event& iE
5353
Handle<std::vector<reco::CaloCluster>> layer_clusters;
5454
iEvent.getByToken(layerClustersToken_, layer_clusters);
5555

56+
if (!layer_clusters.isValid()) {
57+
edm::LogWarning("AllHitToTracksterAssociatorsProducer") << "Missing LayerCluster collection.";
58+
for (const auto& tracksterToken : tracksterCollectionTokens_) {
59+
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithFraction>>(), "hitTo" + tracksterToken.first);
60+
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithFraction>>(), tracksterToken.first + "ToHit");
61+
}
62+
return;
63+
}
64+
5665
Handle<std::unordered_map<DetId, const unsigned int>> hitMap;
5766
iEvent.getByToken(hitMapToken_, hitMap);
5867

@@ -89,7 +98,7 @@ void AllHitToTracksterAssociatorsProducer::produce(edm::StreamID, edm::Event& iE
8998
edm::LogWarning("AllHitToTracksterAssociatorsProducer") << "Missing Tracksters for one of the hitsTokens.";
9099
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithFraction>>(), "hitTo" + tracksterToken.first);
91100
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithFraction>>(), tracksterToken.first + "ToHit");
92-
return;
101+
continue;
93102
}
94103

95104
auto hitToTracksterMap = std::make_unique<ticl::AssociationMap<ticl::mapWithFraction>>(rechitManager.size());

SimCalorimetry/HGCalAssociatorProducers/plugins/AllTracksterToSimTracksterAssociatorsByHitsProducer.cc

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,7 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
123123
<< "No valid HGCRecHitCollections found. Association maps will be empty.";
124124

125125
for (const auto& tracksterToken : tracksterCollectionTokens_) {
126-
Handle<std::vector<ticl::Trackster>> recoTrackstersHandle;
127-
iEvent.getByToken(tracksterToken.second, recoTrackstersHandle);
128-
129126
for (const auto& simTracksterToken : simTracksterCollectionTokens_) {
130-
Handle<std::vector<ticl::Trackster>> simTrackstersHandle;
131-
iEvent.getByToken(simTracksterToken.second, simTrackstersHandle);
132-
133127
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithSharedEnergyAndScore,
134128
std::vector<ticl::Trackster>,
135129
std::vector<ticl::Trackster>>>(),
@@ -163,7 +157,6 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
163157
<< "No valid Trackster collection found. Association maps will be empty.";
164158
for (const auto& simTracksterToken : simTracksterCollectionTokens_) {
165159
Handle<std::vector<ticl::Trackster>> simTrackstersHandle;
166-
iEvent.getByToken(simTracksterToken.second, simTrackstersHandle);
167160

168161
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithSharedEnergyAndScore,
169162
std::vector<ticl::Trackster>,
@@ -174,7 +167,7 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
174167
std::vector<ticl::Trackster>>>(),
175168
simTracksterToken.first + "To" + tracksterToken.first);
176169
}
177-
return;
170+
continue;
178171
}
179172

180173
const auto& recoTracksters = *recoTrackstersHandle;
@@ -199,11 +192,30 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
199192
if (tracksterToHitMapTokenIter != tracksterToHitMapTokens_.end()) {
200193
iEvent.getByToken(tracksterToHitMapTokenIter->second, tracksterToHitMapHandle);
201194
}
195+
196+
if (!tracksterToHitMapHandle.isValid()) {
197+
edm::LogError("AllTracksterToSimTracksterAssociatorsByHitsProducer") << "tracksterToHitMapHandle is invalid";
198+
continue;
199+
}
200+
202201
const auto& tracksterToHitMap = *tracksterToHitMapHandle;
203202

204203
for (const auto& simTracksterToken : simTracksterCollectionTokens_) {
205204
Handle<std::vector<ticl::Trackster>> simTrackstersHandle;
206205
iEvent.getByToken(simTracksterToken.second, simTrackstersHandle);
206+
207+
if (!simTrackstersHandle.isValid()) {
208+
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithSharedEnergyAndScore,
209+
std::vector<ticl::Trackster>,
210+
std::vector<ticl::Trackster>>>(),
211+
tracksterToken.first + "To" + simTracksterToken.first);
212+
iEvent.put(std::make_unique<ticl::AssociationMap<ticl::mapWithSharedEnergyAndScore,
213+
std::vector<ticl::Trackster>,
214+
std::vector<ticl::Trackster>>>(),
215+
simTracksterToken.first + "To" + tracksterToken.first);
216+
continue;
217+
}
218+
207219
const auto& simTracksters = *simTrackstersHandle;
208220

209221
// Retrieve the correct HitToSimTracksterMap for the current simTrackster collection
@@ -240,11 +252,17 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
240252

241253
for (unsigned int tracksterIndex = 0; tracksterIndex < recoTracksters.size(); ++tracksterIndex) {
242254
edm::Ref<std::vector<ticl::Trackster>> recoTracksterRef(recoTrackstersHandle, tracksterIndex);
255+
243256
float recoToSimScoresDenominator = 0.f;
244257
const auto& recoTracksterHitsAndFractions = tracksterToHitMap[tracksterIndex];
258+
259+
if (tracksterToHitMap.size() == 0)
260+
continue;
261+
245262
ticl::AssociationMap<ticl::mapWithFraction> hitToAssociatedSimTracksterMap(
246263
recoTracksterHitsAndFractions.size());
247264
std::vector<unsigned int> associatedSimTracksterIndices;
265+
248266
for (unsigned int i = 0; i < recoTracksterHitsAndFractions.size(); ++i) {
249267
const auto& hitElement = recoTracksterHitsAndFractions[i];
250268
unsigned int hitIndex = hitElement.index();
@@ -261,6 +279,7 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
261279
const auto& simTrackster = simTracksters[simTracksterIndex];
262280
auto& seed = simTrackster.seedID();
263281
float simFraction = 0;
282+
264283
if (seed == caloParticlesHandle.id()) {
265284
unsigned int caloParticleIndex = simTrackster.seedIndex();
266285
auto it =
@@ -279,6 +298,7 @@ void AllTracksterToSimTracksterAssociatorsByHitsProducer::produce(edm::StreamID,
279298
simFraction = it->fraction();
280299
}
281300
}
301+
282302
hitToAssociatedSimTracksterMap.insert(i, simTracksterIndex, simFraction);
283303
associatedSimTracksterIndices.push_back(simTracksterIndex);
284304
}

SimCalorimetry/HGCalAssociatorProducers/plugins/AllTracksterToSimTracksterAssociatorsByLCsProducer.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ void AllTracksterToSimTracksterAssociatorsByLCsProducer::produce(edm::StreamID,
131131
std::vector<ticl::Trackster>>>(),
132132
simTracksterToken.first + "To" + tracksterToken.first);
133133
}
134-
return;
134+
continue;
135135
}
136136

137137
const auto& recoTracksters = *recoTrackstersHandle;
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
import FWCore.ParameterSet.Config as cms
22

3-
#hltTiclIterLabels = ["hltTiclTrackstersCLUE3DHigh", "hltTiclTrackstersCLUE3DHighL1Seeded", "hltTiclTrackstersMerge"]
4-
hltTiclIterLabels = ["hltTiclTrackstersCLUE3DHigh", "hltTiclTrackstersMerge"]
3+
hltTiclIterLabels = ["hltTiclTrackstersCLUE3DHigh", "hltTiclTrackstersCLUE3DHighL1Seeded", "hltTiclTrackstersMerge"]
54

65
from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5
76
ticl_v5.toModify(
87
globals(),
98
lambda g: g.update({
109
"hltTiclIterLabels": [
1110
"hltTiclTrackstersCLUE3DHigh",
12-
#"hltTiclTrackstersCLUE3DHighL1Seeded",
11+
"hltTiclTrackstersCLUE3DHighL1Seeded",
1312
"hltTiclTracksterLinks",
1413
#"hltTiclTracksterLinksSuperclusteringDNNUnseeded",
1514
#"hltTiclTracksterLinksSuperclusteringDNNL1Seeded",
1615
"hltTiclCandidate"
1716
]
1817
})
1918
)
19+
20+
## remove the L1Seeded iteration form the HLT Ticl labels
21+
from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting
22+
_ngtLabels = [label for label in hltTiclIterLabels if label != "hltTiclTrackstersCLUE3DHighL1Seeded"]
23+
ngtScouting.toModify(
24+
globals(), lambda g: g.update({"hltTiclIterLabels": _ngtLabels})
25+
)

0 commit comments

Comments
 (0)