From 15deeb835a926e68e2ca49b108e05a38367e3fe5 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Tue, 1 Apr 2025 13:01:10 -0500 Subject: [PATCH 01/16] Added new datatype for calorimeter pulses before digi --- edm4eic.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/edm4eic.yaml b/edm4eic.yaml index d12d41a..7279a40 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -244,6 +244,22 @@ datatypes: ## ========================================================================== ## Calorimetry ## ========================================================================== + edm4eic::SimCalorimeterPulse: + Description: "Simulated calorimeter pulse for single-particle waveforms prior to digi." + Author: "S. Joosten" + Members: + - uint64_t cellID // ID of the readout cell for this pulse. + - float energy // Total energy for this pulse in [GeV]. + - float position // Position of the hit in world coordinates [mm]. + - float time // Start time for the pulse in [ns]. + - float interval // Time interval between amplitude values [ns]. + VectorMembers: + - float amplitude // Pulse amplitude in [GeV], sum of amplitude values equals total energy + OneToOneRelations: + - edm4hep::MCParticle MCParticle // MCParticle that caused the pulse + OneToManyRelations: + - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse + edm4eic::CalorimeterHit: Description: "Calorimeter hit" Author: "W. Armstrong, S. Joosten" From bec8a963f23a6120ca6ad26d90ffa7500f81f547 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Tue, 1 Apr 2025 14:51:15 -0500 Subject: [PATCH 02/16] After feedback in BIC simu meeting: one-to-many for mcparticle, and add relation to SimCalorimeterPulse --- edm4eic.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 7279a40..65d8c23 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -255,10 +255,10 @@ datatypes: - float interval // Time interval between amplitude values [ns]. VectorMembers: - float amplitude // Pulse amplitude in [GeV], sum of amplitude values equals total energy - OneToOneRelations: - - edm4hep::MCParticle MCParticle // MCParticle that caused the pulse OneToManyRelations: - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse + - edm4hep::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse + - edm4hep::MCParticle MCParticle // MCParticle that caused the pulse edm4eic::CalorimeterHit: Description: "Calorimeter hit" From e7d9b91e90f97748fa9705622eab3210bc62cb8c Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Thu, 3 Apr 2025 11:13:28 -0500 Subject: [PATCH 03/16] updated documentation and authorship to acknowledge input from Derek --- edm4eic.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 65d8c23..6b88ef7 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -245,8 +245,8 @@ datatypes: ## Calorimetry ## ========================================================================== edm4eic::SimCalorimeterPulse: - Description: "Simulated calorimeter pulse for single-particle waveforms prior to digi." - Author: "S. Joosten" + Description: "Simulated calorimeter pulse prior to digitization." + Author: "D. Anderson, S. Joosten" Members: - uint64_t cellID // ID of the readout cell for this pulse. - float energy // Total energy for this pulse in [GeV]. From 47b36a8c97b9133b060fc605c4224966e054dc77 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Thu, 10 Apr 2025 09:44:06 -0500 Subject: [PATCH 04/16] rename MCParticle link to particle consistent with edm4hep rename Co-authored-by: Dmitry Kalinkin --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 6b88ef7..d576146 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -258,7 +258,7 @@ datatypes: OneToManyRelations: - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse - edm4hep::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse - - edm4hep::MCParticle MCParticle // MCParticle that caused the pulse + - edm4hep::MCParticle particle // MCParticle that caused the pulse edm4eic::CalorimeterHit: Description: "Calorimeter hit" From acd0a7bf86d82f6e817104ee7db6f3ff0986975d Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Thu, 10 Apr 2025 10:08:45 -0500 Subject: [PATCH 05/16] Fixed position field type, added SimPulse interface to allow for generic pulse access in algorithms in the future --- edm4eic.yaml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index d576146..d481ad3 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -7,9 +7,9 @@ ## Patch level changes are required to be schema invariant. ## ## If there are schema version changes that can be evolved, see the podio documentation -## for an example: https://github.com/hegner/podio/blob/master/tests/schema_evolution.yaml +## for an example: https://github.com/AIDASoft/podio/tree/master/tests/schema_evolution ## -schema_version: 800 +schema_version: 801 options : # should getters / setters be prefixed with get / set? @@ -245,12 +245,12 @@ datatypes: ## Calorimetry ## ========================================================================== edm4eic::SimCalorimeterPulse: - Description: "Simulated calorimeter pulse prior to digitization." + Description: "Simulated calorimeter pulse prior to digitization, implements SimPulse." Author: "D. Anderson, S. Joosten" Members: - uint64_t cellID // ID of the readout cell for this pulse. - - float energy // Total energy for this pulse in [GeV]. - - float position // Position of the hit in world coordinates [mm]. + - float integral // Total pulse integral in relevant units. + - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. - float time // Start time for the pulse in [ns]. - float interval // Time interval between amplitude values [ns]. VectorMembers: @@ -595,3 +595,18 @@ datatypes: OneToOneRelations: - edm4eic::Cluster cluster // reference to the cluster - edm4eic::Track track // reference to the track + +interfaces: + edm4eic:SimHit: + Author: "D. Anderson, S. Joosten" + Description: "Generic Simulated Pulse Interface Class" + - uint64_t cellID // ID of the readout cell for this pulse. + - float integral // Total pulse integral in relevant units. + - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. + - float time // Start time for the pulse in [ns]. + - float interval // Time interval between amplitude values [ns]. + VectorMembers: + - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral + Types: + - edm4eic::SimCalorimeterPulse + From 0470a45c7ebaca3f52d301c64520a0ce0c9cae82 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Thu, 10 Apr 2025 10:10:02 -0500 Subject: [PATCH 06/16] Fix incorrect type for relation Co-authored-by: Derek M Anderson --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index d481ad3..c357d34 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -257,7 +257,7 @@ datatypes: - float amplitude // Pulse amplitude in [GeV], sum of amplitude values equals total energy OneToManyRelations: - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse - - edm4hep::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse + - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse - edm4hep::MCParticle particle // MCParticle that caused the pulse edm4eic::CalorimeterHit: From 729639e77581aeac7ec7b59d47778d6fef3b4425 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Fri, 11 Apr 2025 09:22:24 -0500 Subject: [PATCH 07/16] remove reference to energy in doc string --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index c357d34..30cbe39 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -254,7 +254,7 @@ datatypes: - float time // Start time for the pulse in [ns]. - float interval // Time interval between amplitude values [ns]. VectorMembers: - - float amplitude // Pulse amplitude in [GeV], sum of amplitude values equals total energy + - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral OneToManyRelations: - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse From 77aa3d55559a92c5f9fba0825d8e424bd024958d Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:25:57 -0500 Subject: [PATCH 08/16] punt on interface type for now --- edm4eic.yaml | 15 --------------- savedstate.sav | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 savedstate.sav diff --git a/edm4eic.yaml b/edm4eic.yaml index 30cbe39..1c143e3 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -595,18 +595,3 @@ datatypes: OneToOneRelations: - edm4eic::Cluster cluster // reference to the cluster - edm4eic::Track track // reference to the track - -interfaces: - edm4eic:SimHit: - Author: "D. Anderson, S. Joosten" - Description: "Generic Simulated Pulse Interface Class" - - uint64_t cellID // ID of the readout cell for this pulse. - - float integral // Total pulse integral in relevant units. - - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. - - float time // Start time for the pulse in [ns]. - - float interval // Time interval between amplitude values [ns]. - VectorMembers: - - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral - Types: - - edm4eic::SimCalorimeterPulse - diff --git a/savedstate.sav b/savedstate.sav new file mode 100644 index 0000000..ccc8dcd --- /dev/null +++ b/savedstate.sav @@ -0,0 +1,18 @@ +PDF: 1.7 +R: 3 +V: 2 +P: -1300 +L: 128 +MetaData: 1 +FileID(16): 174 185 240 157 66 98 203 72 148 141 214 18 117 195 132 179 +Filter(8): Standard +O: 6 202 255 33 15 197 166 102 106 53 230 98 209 152 238 23 100 234 174 222 41 25 210 116 52 240 143 197 108 237 6 12 +U: 9 79 68 102 31 49 202 208 19 16 24 20 136 114 226 74 40 191 78 94 78 117 138 65 100 0 78 86 255 250 1 8 +User: 1 +UserPw: 0 +Permutate: 0 + +PM: 2 +MaxPWL: 32 +Charset(62): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + 5 31 29 15 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 From 69f49c7c45b7bcba759bfee7cc3d864732b80189 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:27:55 -0500 Subject: [PATCH 09/16] Make pulse type generic for all detectors --- edm4eic.yaml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 1c143e3..7a0ed44 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -203,6 +203,23 @@ datatypes: - float floatData // Iff elementType==1, values are stored here - int64_t int64Data // Iff elementType==7, values are stored here + edm4eic::SimPulse: + Description: "Simulated calorimeter pulse prior to digitization, implements SimPulse." + Author: "D. Anderson, S. Joosten" + Members: + - uint64_t cellID // ID of the readout cell for this pulse. + - float integral // Total pulse integral in relevant units. + - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. + - float time // Start time for the pulse in [ns]. + - float interval // Time interval between amplitude values [ns]. + VectorMembers: + - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral + OneToManyRelations: + - edm4hep::SimCalorimeterHit calorimeterHits // SimCalorimeterHits used to create this pulse + - edm4hep::SimTrackerHit trackerHits // SimTrackerHits used to create this pulse + - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse + - edm4hep::MCParticle particle // MCParticle that caused the pulse + ## ========================================================================== ## Particle info ## ========================================================================== @@ -244,22 +261,6 @@ datatypes: ## ========================================================================== ## Calorimetry ## ========================================================================== - edm4eic::SimCalorimeterPulse: - Description: "Simulated calorimeter pulse prior to digitization, implements SimPulse." - Author: "D. Anderson, S. Joosten" - Members: - - uint64_t cellID // ID of the readout cell for this pulse. - - float integral // Total pulse integral in relevant units. - - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. - - float time // Start time for the pulse in [ns]. - - float interval // Time interval between amplitude values [ns]. - VectorMembers: - - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral - OneToManyRelations: - - edm4hep::SimCalorimeterHit hits // SimCalorimeterHits used to create this pulse - - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse - - edm4hep::MCParticle particle // MCParticle that caused the pulse - edm4eic::CalorimeterHit: Description: "Calorimeter hit" Author: "W. Armstrong, S. Joosten" From 571fdc53a10ba4ae1e4f7b84d003733b58c194fc Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:30:37 -0500 Subject: [PATCH 10/16] consistent naming, and updated documentation --- edm4eic.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 7a0ed44..22fab5e 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -203,9 +203,13 @@ datatypes: - float floatData // Iff elementType==1, values are stored here - int64_t int64Data // Iff elementType==7, values are stored here + ## ========================================================================== + ## Simulation info + ## ========================================================================== + edm4eic::SimPulse: - Description: "Simulated calorimeter pulse prior to digitization, implements SimPulse." - Author: "D. Anderson, S. Joosten" + Description: "Simulated pulse prior to digitization." + Author: "D. Anderson, S. Gardner, S. Joosten., D. Kalinkin" Members: - uint64_t cellID // ID of the readout cell for this pulse. - float integral // Total pulse integral in relevant units. @@ -218,7 +222,7 @@ datatypes: - edm4hep::SimCalorimeterHit calorimeterHits // SimCalorimeterHits used to create this pulse - edm4hep::SimTrackerHit trackerHits // SimTrackerHits used to create this pulse - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse - - edm4hep::MCParticle particle // MCParticle that caused the pulse + - edm4hep::MCParticle particles // MCParticle that caused the pulse ## ========================================================================== ## Particle info From f9beaf4c4b1395120d550805c9b82b238fbb11fb Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:33:05 -0500 Subject: [PATCH 11/16] fix relation to other simpulses --- edm4eic.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 22fab5e..2d65666 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -219,10 +219,10 @@ datatypes: VectorMembers: - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral OneToManyRelations: - - edm4hep::SimCalorimeterHit calorimeterHits // SimCalorimeterHits used to create this pulse - - edm4hep::SimTrackerHit trackerHits // SimTrackerHits used to create this pulse - - edm4eic::SimCalorimeterPulse pulses // SimCalorimeterPulses used to create this pulse - - edm4hep::MCParticle particles // MCParticle that caused the pulse + - edm4hep::SimCalorimeterHit calorimeterHits // SimCalorimeterHits used to create this pulse + - edm4hep::SimTrackerHit trackerHits // SimTrackerHits used to create this pulse + - edm4eic::SimPulse pulses // SimPulses used to create this pulse + - edm4hep::MCParticle particles // MCParticle that caused the pulse ## ========================================================================== ## Particle info From 8ca9574e4119bec0a1638f24d64b0bfbfe1cf889 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:36:20 -0500 Subject: [PATCH 12/16] remove file accidentally committed --- savedstate.sav | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 savedstate.sav diff --git a/savedstate.sav b/savedstate.sav deleted file mode 100644 index ccc8dcd..0000000 --- a/savedstate.sav +++ /dev/null @@ -1,18 +0,0 @@ -PDF: 1.7 -R: 3 -V: 2 -P: -1300 -L: 128 -MetaData: 1 -FileID(16): 174 185 240 157 66 98 203 72 148 141 214 18 117 195 132 179 -Filter(8): Standard -O: 6 202 255 33 15 197 166 102 106 53 230 98 209 152 238 23 100 234 174 222 41 25 210 116 52 240 143 197 108 237 6 12 -U: 9 79 68 102 31 49 202 208 19 16 24 20 136 114 226 74 40 191 78 94 78 117 138 65 100 0 78 86 255 250 1 8 -User: 1 -UserPw: 0 -Permutate: 0 - -PM: 2 -MaxPWL: 32 -Charset(62): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - 5 31 29 15 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 From 625ab9e74672af22df4c0050d4f813efd0bfe1f1 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:43:21 -0500 Subject: [PATCH 13/16] Update edm4eic.yaml Co-authored-by: Simon Gardner --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index 2d65666..c58a5da 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -213,7 +213,7 @@ datatypes: Members: - uint64_t cellID // ID of the readout cell for this pulse. - float integral // Total pulse integral in relevant units. - - edm4hep::Vector3f position // Position of the hit in world coordinates [mm]. + + edm4hep::Vector3f position // Position the pulse is evaluated in world coordinates [mm]. - float time // Start time for the pulse in [ns]. - float interval // Time interval between amplitude values [ns]. VectorMembers: From 3e27e4894343995e151fd775af189a78c1f6907a Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:57:50 -0500 Subject: [PATCH 14/16] Update edm4eic.yaml Co-authored-by: Simon Gardner --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index c58a5da..f43978d 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -217,7 +217,7 @@ datatypes: - float time // Start time for the pulse in [ns]. - float interval // Time interval between amplitude values [ns]. VectorMembers: - - float amplitude // Pulse amplitude in in relevant units, sum of amplitude values equals integral + - float amplitude // Pulse amplitude in relevant units, sum of amplitude values equals integral OneToManyRelations: - edm4hep::SimCalorimeterHit calorimeterHits // SimCalorimeterHits used to create this pulse - edm4hep::SimTrackerHit trackerHits // SimTrackerHits used to create this pulse From 1d4415e87870e4ea7b9b86ea710f1338f5b89f0c Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:58:28 -0500 Subject: [PATCH 15/16] Update edm4eic.yaml Co-authored-by: Dmitry Kalinkin --- edm4eic.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edm4eic.yaml b/edm4eic.yaml index f43978d..fc10152 100644 --- a/edm4eic.yaml +++ b/edm4eic.yaml @@ -213,7 +213,7 @@ datatypes: Members: - uint64_t cellID // ID of the readout cell for this pulse. - float integral // Total pulse integral in relevant units. - + edm4hep::Vector3f position // Position the pulse is evaluated in world coordinates [mm]. + - edm4hep::Vector3f position // Position the pulse is evaluated in world coordinates [mm]. - float time // Start time for the pulse in [ns]. - float interval // Time interval between amplitude values [ns]. VectorMembers: From 4e63abf6e84b6b80925684e16b267289433a4fac Mon Sep 17 00:00:00 2001 From: Sylvester Joosten Date: Mon, 14 Apr 2025 10:58:53 -0500 Subject: [PATCH 16/16] Increment minor version --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 32f58b6..f01c4ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ project(EDM4EIC LANGUAGES CXX) SET( ${PROJECT_NAME}_VERSION_MAJOR 8 ) -SET( ${PROJECT_NAME}_VERSION_MINOR 0 ) +SET( ${PROJECT_NAME}_VERSION_MINOR 1 ) SET( ${PROJECT_NAME}_VERSION_PATCH 0 ) SET( ${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}" )