Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
9a40556
Introduce compact truth graph data structure
felicepantaleo Mar 5, 2026
cbf5b57
Add necessary build and dictionary files for TruthGraph
felicepantaleo Mar 5, 2026
eabdbc0
Implement TruthGraphProducer for event graph construction
felicepantaleo Mar 5, 2026
ac723ba
Add dumper module for graph visualization and inspection
felicepantaleo Mar 5, 2026
ae3781d
Add plugin build configuration for producer and dumper modules
felicepantaleo Mar 5, 2026
278321b
Create standalone truth logical graph
felicepantaleo May 8, 2026
c816e20
Draft README
felicepantaleo May 11, 2026
cd8c93c
Add possibility to filter mother by pdgid
felicepantaleo May 11, 2026
8e92e0f
Add generator status flags to truth graphs
felicepantaleo May 11, 2026
d71d50a
Collapse intermediate same-PDG GEN particle chains
felicepantaleo May 11, 2026
d35af43
Dump information also as DOT file attributes
tcuisset May 11, 2026
7e13c7a
Quote DOT attributes in truth graph dumper
felicepantaleo May 11, 2026
e5cd3cc
Add extra DOT file labels to TruthLogicalGraphDumper (#64)
tcuisset May 11, 2026
0515f18
format
felicepantaleo May 11, 2026
798fe8d
Introduce logical graph post-processing step
felicepantaleo May 11, 2026
d1c8b03
Keep GEN momentum for merged logical truth particles
felicepantaleo May 11, 2026
8b5532f
Process multiple files at same time
felicepantaleo May 12, 2026
b8aff3c
Build GEN-SIM particle links only for primary SimTracks
felicepantaleo May 12, 2026
b3bcbf5
Improve TruthLogicalGraph DOT dumping
felicepantaleo May 12, 2026
6a06ef5
Label TruthGraph DOT edges with explicit edge types
felicepantaleo May 12, 2026
f906665
Dot simToGen edge
felicepantaleo May 12, 2026
ac8e3ca
Add SimHits to SimTracks
felicepantaleo May 12, 2026
4cf6f9c
Add new SimHitToRecHitMap
felicepantaleo May 12, 2026
0d96248
Add associated rechits and energy to truth particles
felicepantaleo May 12, 2026
66b1e7d
Update README
felicepantaleo May 12, 2026
d273fe1
adding rechits
felicepantaleo May 13, 2026
94c2fd5
adding possibility to hide truth particles with no simhits
felicepantaleo May 13, 2026
52cb3dc
add argparser
IzaakWN May 13, 2026
7077f72
Separate postprocessing
felicepantaleo May 13, 2026
e188cf7
make input file optional (#66)
IzaakWN May 13, 2026
318dd62
dump simhits & rechits (#67)
tcuisset May 13, 2026
0874568
Add unit tests for TruthLogicalGraphPostProcessor
felicepantaleo May 15, 2026
33f1721
Create enableTruth ProcessModifier
felicepantaleo May 15, 2026
871370d
Create enableTruth Run4 workflows
felicepantaleo May 15, 2026
d463a31
Merge vertices if overlapping
felicepantaleo Jun 4, 2026
e39b648
Produce Truth graph with validation
felicepantaleo Jun 4, 2026
7290e6e
Adding statusFlags
felicepantaleo Jun 8, 2026
71996fb
TruthInfo: fix vertex time units, add SimVertex->GenVertex link, enri…
felicepantaleo Jun 12, 2026
e5c47ff
TruthInfo: add barrel/forward PFRecHit and tracker SimHit tables, mat…
felicepantaleo Jun 12, 2026
3a6aa2e
TruthInfo: clang-format TrackerSimHitFlatTableProducer
felicepantaleo Jun 13, 2026
6e0b590
TruthInfo: add seed and decay-pattern selection to the logical truth …
felicepantaleo Jun 13, 2026
14475e4
enableTruth: keep full SimTrack ancestry in SIM so the truth graph st…
felicepantaleo Jun 13, 2026
2883a16
TruthInfo: focused selection with typed ISR/underlying-event source n…
felicepantaleo Jun 13, 2026
c1d921f
TruthInfo: add truth-graph connectivity, gallery and relval tooling
felicepantaleo Jun 13, 2026
342d3b7
TruthInfo: add truth::Branch design notes
felicepantaleo Jun 13, 2026
62dee7f
TruthInfo: truth::Branch subgraph view with generic hit-based matchin…
felicepantaleo Jun 13, 2026
ea4247e
TruthInfo: update Branch design notes with implementation status
felicepantaleo Jun 13, 2026
1ddf6a9
TruthInfo: validate Branch reproduces CaloParticle/SimCluster hit con…
felicepantaleo Jun 13, 2026
a84685b
format
felicepantaleo Jun 13, 2026
c4a9343
TruthInfo: validate Branch reproduces TrackingParticle track->truth a…
felicepantaleo Jun 13, 2026
22ec37c
TruthInfo: add author headers and prototype-status notice
felicepantaleo Jun 13, 2026
56827f5
TruthInfo: add TruthGraph topology checker
felicepantaleo Jun 13, 2026
6c49d9e
TruthInfo: attach SIM tracks to immediate GEN vertex; drop position v…
felicepantaleo Jun 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Configuration/ProcessModifiers/python/enableTruth_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Original author: Felice Pantaleo (CERN) <felice.pantaleo@cern.ch>
# Part of the MC-truth-graph prototype - under heavy development, not yet open
# to external contributions (see PhysicsTools/TruthInfo/README.md).

import FWCore.ParameterSet.Config as cms

enableTruth = cms.Modifier()
Original file line number Diff line number Diff line change
Expand Up @@ -1006,6 +1006,45 @@ def condition(self, fragment, stepList, key, hasHarvest):
upgradeWFs['ticlv5_TrackLinkingGNN'].step3 = {'--procModifiers': 'ticlv5_TrackLinkingGNN'}
upgradeWFs['ticlv5_TrackLinkingGNN'].step4 = {'--procModifiers': 'ticlv5_TrackLinkingGNN'}



class UpgradeWorkflow_enableTruth(UpgradeWorkflow):
def setup_(self, step, stepName, stepDict, k, properties):
# enableTruth runs the truth-graph producers in RecoGlobal (step3) and,
# in GenSim (step1), keeps the full ancestor branch of every stored
# SimTrack (g4SimHits PersistencyEmin -> 0 via the modifier) so the
# truth graph stays connected to the generator.
if 'GenSim' in step or 'RecoGlobal' in step:
stepDict[stepName][k] = deepcopy(stepDict[step][k])

if '--procModifiers' in stepDict[stepName][k]:
stepDict[stepName][k]['--procModifiers'] += ',enableTruth'
else:
stepDict[stepName][k]['--procModifiers'] = 'enableTruth'

def condition(self, fragment, stepList, key, hasHarvest):
return 'Run4' in key


upgradeWFs['enableTruth'] = UpgradeWorkflow_enableTruth(
steps = [
'GenSim',
'GenSimHLBeamSpot',
'GenSimHLBeamSpot14',
'GenSimHLBeamSpotCloseBy',
'RecoGlobal',
],
PU = [
'GenSim',
'GenSimHLBeamSpot',
'GenSimHLBeamSpot14',
'GenSimHLBeamSpotCloseBy',
'RecoGlobal',
],
suffix = '_enableTruth',
offset = 0.88,
)

# L3 Tracker Muon Outside-In reconstruction first
class UpgradeWorkflow_phase2L3MuonsOIFirst(UpgradeWorkflow):
def setup_(self, step, stepName, stepDict, k, properties):
Expand Down
12 changes: 12 additions & 0 deletions PhysicsTools/TruthInfo/BuildFile.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<use name="FWCore/Framework"/>
<use name="FWCore/MessageLogger"/>
<use name="FWCore/Utilities"/>
<use name="DataFormats/Common"/>
<use name="DataFormats/Math"/>
<use name="FWCore/ParameterSet"/>
<use name="SimDataFormats/EncodedEventId"/>
<use name="heppdt"/>

<export>
<lib name="1"/>
</export>
Loading