diff --git a/CMakeLists.txt b/CMakeLists.txt
index 78ba2e48049a91d9d2eb541a01f6fe777fce50da..a7c5629965e68dc9ce232d11c08cb68bdf1c4564 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Wouter Deconinck, Whitney Armstrong
+
 cmake_minimum_required(VERSION 3.19)
 
 # CMP0074: find_package() uses <PackageName>_ROOT variables
diff --git a/JugBase/CMakeLists.txt b/JugBase/CMakeLists.txt
index 79c4ec6098446f10ebb5844452d67ffe1e3961ff..395cb49e385b79a25561bf4633f6c50b467f4c79 100644
--- a/JugBase/CMakeLists.txt
+++ b/JugBase/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Wouter Deconinck, Whitney Armstrong
+
 ################################################################################
 # Package: JugBase
 ################################################################################
diff --git a/JugBase/JugBase/ACTSLogger.h b/JugBase/JugBase/ACTSLogger.h
index 9c6430fed016f0c3716e612645e91279b852d15a..9c1b0bae971d0177428857428c1b5d2fb308ef29 100644
--- a/JugBase/JugBase/ACTSLogger.h
+++ b/JugBase/JugBase/ACTSLogger.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef RECTRACKER_ACTSLOGGER_H
 #define RECTRACKER_ACTSLOGGER_H
 
diff --git a/JugBase/JugBase/DataHandle.h b/JugBase/JugBase/DataHandle.h
index 32fd1dd6f3ed387ea46db920b36f8aed793c1e33..20395b7b8d8c8ee577169387ebc78160d362b75a 100644
--- a/JugBase/JugBase/DataHandle.h
+++ b/JugBase/JugBase/DataHandle.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGBASE_DATAHANDLE_H
 #define JUGBASE_DATAHANDLE_H
 
diff --git a/JugBase/JugBase/DataWrapper.h b/JugBase/JugBase/DataWrapper.h
index 589c77f619f5f48336ab65a86683b1e7497e9413..6795659f7b1067f119ff08023738354a5dff8f31 100644
--- a/JugBase/JugBase/DataWrapper.h
+++ b/JugBase/JugBase/DataWrapper.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGBASE_DATAWRAPPER_H
 #define JUGBASE_DATAWRAPPER_H
 
diff --git a/JugBase/JugBase/IGeoSvc.h b/JugBase/JugBase/IGeoSvc.h
index 5e73ae9ee49571260270a79695fce0881ebbe0a4..16d4f1876360326b115f8b72fe77958c8b26b7cb 100644
--- a/JugBase/JugBase/IGeoSvc.h
+++ b/JugBase/JugBase/IGeoSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef IGEOSVC_H
 #define IGEOSVC_H
 
diff --git a/JugBase/JugBase/IParticleSvc.h b/JugBase/JugBase/IParticleSvc.h
index ad9f25227ab1ddd91db65050721afa8a7a9cdf45..897cbcbb43040327ca08e29504c12f0313918b85 100644
--- a/JugBase/JugBase/IParticleSvc.h
+++ b/JugBase/JugBase/IParticleSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef IParticleSvc_H
 #define IParticleSvc_H
 
diff --git a/JugBase/JugBase/KeepDropSwitch.h b/JugBase/JugBase/KeepDropSwitch.h
index 23de77ebbb59de34cb4f3ae5b37cb679d7d7814c..786d46977bf71c00671af62b8113cda95a7516a1 100644
--- a/JugBase/JugBase/KeepDropSwitch.h
+++ b/JugBase/JugBase/KeepDropSwitch.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef EXAMPLES_KEEPDROPSWITCH_H
 #define EXAMPLES_KEEPDROPSWITCH_H
 
diff --git a/JugBase/JugBase/PodioDataSvc.h b/JugBase/JugBase/PodioDataSvc.h
index 05576a53233581e847111273310fb2ab252a9e1c..7a20b298927bc867924e6a5da9655a048990cade 100644
--- a/JugBase/JugBase/PodioDataSvc.h
+++ b/JugBase/JugBase/PodioDataSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #ifndef JUGBASE_PODIODATASVC_H
 #define JUGBASE_PODIODATASVC_H
 
diff --git a/JugBase/JugBase/Utilities/Beam.h b/JugBase/JugBase/Utilities/Beam.h
index 02f055a2dc54ef16c5fd581c6f3951c733a54ce0..9895f56ab216f703a1ccffd96fdacd7e11908380 100644
--- a/JugBase/JugBase/Utilities/Beam.h
+++ b/JugBase/JugBase/Utilities/Beam.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck
+
 #pragma once
 
 #include "Math/Vector4D.h"
diff --git a/JugBase/JugBase/Utilities/Boost.h b/JugBase/JugBase/Utilities/Boost.h
index 32e7033183d36c3f994d22481f97be578e791fe9..e7692af79fea038ae30919445ec5bc70a207a4c2 100644
--- a/JugBase/JugBase/Utilities/Boost.h
+++ b/JugBase/JugBase/Utilities/Boost.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck, Barak Schmookler
+
 #pragma once
 
 #include "Math/Vector4D.h"
diff --git a/JugBase/JugBase/Utilities/Vectors.hpp b/JugBase/JugBase/Utilities/Vectors.hpp
index 1b7b10d90165df8ba90ead4465ff5371e27c9e29..c343df39005dde4a999f1778738e7073d8518129 100644
--- a/JugBase/JugBase/Utilities/Vectors.hpp
+++ b/JugBase/JugBase/Utilities/Vectors.hpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGBASE_VectorHelpers_HH
 #define JUGBASE_VectorHelpers_HH
 
@@ -27,4 +30,3 @@ namespace Jug::Helpers {
 
 
 #endif
-
diff --git a/JugBase/src/ACTSLogger.cpp b/JugBase/src/ACTSLogger.cpp
index 7e84dc61a2c3664ec79e5416e71d49f103bd2a1b..9e52dfce67e70dccdb894515081d996fafbc0c84 100644
--- a/JugBase/src/ACTSLogger.cpp
+++ b/JugBase/src/ACTSLogger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #include "JugBase/ACTSLogger.h"
 #include "GaudiKernel/IMessageSvc.h"
 #include "GaudiKernel/IMessageSvc.h"
diff --git a/JugBase/src/KeepDropSwitch.cpp b/JugBase/src/KeepDropSwitch.cpp
index 7d4252258865619116fb621fe3de05dda2aa10ec..d7132b0aaca9cefc262da3bc277c17a654aad08e 100644
--- a/JugBase/src/KeepDropSwitch.cpp
+++ b/JugBase/src/KeepDropSwitch.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "JugBase/KeepDropSwitch.h"
 
 #include <iostream>
diff --git a/JugBase/src/Plugins/DD4hepBField.cpp b/JugBase/src/Plugins/DD4hepBField.cpp
index 2db0c448852a63cf76848c59c9ae365ec18f8058..fa12a3adc653acb1c486c7f7c11c4adc967720c8 100644
--- a/JugBase/src/Plugins/DD4hepBField.cpp
+++ b/JugBase/src/Plugins/DD4hepBField.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "JugBase/BField/DD4hepBField.h"
 
 #include <cmath>
diff --git a/JugBase/src/PodioDataSvc.cpp b/JugBase/src/PodioDataSvc.cpp
index aff0df2ee11249ad44c79f8cb08f58785a1aac41..7e6cabf8ba46da27d7dfa225c3a9ac5545576cb8 100644
--- a/JugBase/src/PodioDataSvc.cpp
+++ b/JugBase/src/PodioDataSvc.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include "JugBase/PodioDataSvc.h"
 #include "GaudiKernel/IConversionSvc.h"
 #include "GaudiKernel/IEventProcessor.h"
diff --git a/JugBase/src/components/EICDataSvc.cpp b/JugBase/src/components/EICDataSvc.cpp
index 6ea1ed8b19a394e020a1070be6ea74d775a9e1cf..f0b10e6b694a80dddbd99a5e54346ca9c318c2b0 100644
--- a/JugBase/src/components/EICDataSvc.cpp
+++ b/JugBase/src/components/EICDataSvc.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "EICDataSvc.h"
 
 // Instantiation of a static factory class used by clients to create
diff --git a/JugBase/src/components/EICDataSvc.h b/JugBase/src/components/EICDataSvc.h
index 1255af32a4554ae65f9c86568519a90e78f57d86..83400c1d91f38eb650b829818718de4034a62d67 100644
--- a/JugBase/src/components/EICDataSvc.h
+++ b/JugBase/src/components/EICDataSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGBASE_FCCDATASVC_H
 #define JUGBASE_FCCDATASVC_H
 
diff --git a/JugBase/src/components/GeoSvc.cpp b/JugBase/src/components/GeoSvc.cpp
index b10079a859da34a763429bfaeb7171d402c79838..2eddc4b6c884685e9532df75ad665e41e94367a3 100644
--- a/JugBase/src/components/GeoSvc.cpp
+++ b/JugBase/src/components/GeoSvc.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "GeoSvc.h"
 #include "GaudiKernel/Service.h"
 //#include "GeoConstruction.h"
diff --git a/JugBase/src/components/GeoSvc.h b/JugBase/src/components/GeoSvc.h
index 98adf2a943eda3da932bd5555e4bdce5245d82f5..d8ea30346ca9436575a0c3c2e4f4a4be4dbe5f2f 100644
--- a/JugBase/src/components/GeoSvc.h
+++ b/JugBase/src/components/GeoSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 //
 //  GeoSvc.h
 //
diff --git a/JugBase/src/components/InputCopier.cpp b/JugBase/src/components/InputCopier.cpp
index 580b95d2ed90116f0a6dd9dd6d043a7510b38ec8..1b3e3e2965984a142e2e9b10ed52bfa76cb78d02 100644
--- a/JugBase/src/components/InputCopier.cpp
+++ b/JugBase/src/components/InputCopier.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 // Deprecated algorithm, as we can now properly store input collections in our output
 
 #include <algorithm>
@@ -70,4 +73,3 @@ namespace Jug::Base {
     DECLARE_COMPONENT(MCCopier)
 
 } // namespace Jug::Base
-
diff --git a/JugBase/src/components/ParticleSvc.cpp b/JugBase/src/components/ParticleSvc.cpp
index b084b8ff4e35600aaa7a95ef72492981a56c4507..fb5aba54caac29f9f552020a70ca8c3f3298fea2 100644
--- a/JugBase/src/components/ParticleSvc.cpp
+++ b/JugBase/src/components/ParticleSvc.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
+
 #include "ParticleSvc.h"
 
 // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
diff --git a/JugBase/src/components/ParticleSvc.h b/JugBase/src/components/ParticleSvc.h
index 4f31fba8da1c6968d7939ccd97c24805c2773a4c..2bc60b95dad8e9fd65039c0a5730542ef06049c6 100644
--- a/JugBase/src/components/ParticleSvc.h
+++ b/JugBase/src/components/ParticleSvc.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 #ifndef PARTICLESVC_H
 #define PARTICLESVC_H
 
diff --git a/JugBase/src/components/PodioInput.cpp b/JugBase/src/components/PodioInput.cpp
index 1c5a807ff2aaa44356ee2827b77bc5b52401aa7f..8268ff270f5598a15d4dd6c970907b815487711d 100644
--- a/JugBase/src/components/PodioInput.cpp
+++ b/JugBase/src/components/PodioInput.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "PodioInput.h"
 
 #include "TFile.h"
diff --git a/JugBase/src/components/PodioInput.h b/JugBase/src/components/PodioInput.h
index e104751f4cf6e5232051e4f247e935b89b209143..18685ecf02c34b66fdb9869b400dc182049adc88 100644
--- a/JugBase/src/components/PodioInput.h
+++ b/JugBase/src/components/PodioInput.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGBASE_PODIOINPUT_H
 #define JUGBASE_PODIOINPUT_H
 // Gaaudi
diff --git a/JugBase/src/components/PodioOutput.cpp b/JugBase/src/components/PodioOutput.cpp
index eefd45fec7f6493f10db112239af2ee23725533f..279387849c282c15e76f6ebcc2bd772f41cbd3df 100644
--- a/JugBase/src/components/PodioOutput.cpp
+++ b/JugBase/src/components/PodioOutput.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 #include "PodioOutput.h"
 #include "podio/podioVersion.h"
 #include "GaudiKernel/ISvcLocator.h"
diff --git a/JugBase/src/components/PodioOutput.h b/JugBase/src/components/PodioOutput.h
index 3bd8e21694f8f15f4a02721faefa41aca8ea5d9e..5bb6408686df3c8f71d308fc33f4f869eb17f3dd 100644
--- a/JugBase/src/components/PodioOutput.h
+++ b/JugBase/src/components/PodioOutput.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #ifndef JUGBASE_PODIOOUTPUT_H
 #define JUGBASE_PODIOOUTPUT_H
 
diff --git a/JugBase/src/components/rootutils.h b/JugBase/src/components/rootutils.h
index b427f12aa0889cfa83568324106f847c88043050..4299fd4488c7c1130d4d7840aeb014ed0e07eb53 100644
--- a/JugBase/src/components/rootutils.h
+++ b/JugBase/src/components/rootutils.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Wouter Deconinck
+
 #ifndef PODIO_ROOT_UTILS_H
 #define PODIO_ROOT_UTILS_H
 
@@ -54,4 +57,3 @@ inline void setCollectionAddresses(podio::CollectionBase* collection, const Coll
 }
 
 #endif
-
diff --git a/JugDigi/CMakeLists.txt b/JugDigi/CMakeLists.txt
index 136567cb490adaa7204ea1bfa8644c3c2248160f..7d03a53f0e7587907fd8f63f8df8b847fe8c3e4e 100644
--- a/JugDigi/CMakeLists.txt
+++ b/JugDigi/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Wouter Deconinck, Whitney Armstrong, Chao Peng
+
 ################################################################################
 # Package: JugDigi
 ################################################################################
diff --git a/JugDigi/src/components/CalorimeterBirksCorr.cpp b/JugDigi/src/components/CalorimeterBirksCorr.cpp
index 8ecaeb4addcdbcef8a569938e3e6149a4e98d47f..b42c1dd72a783c99149f088a4e70c11e44ebc4e2 100644
--- a/JugDigi/src/components/CalorimeterBirksCorr.cpp
+++ b/JugDigi/src/components/CalorimeterBirksCorr.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Wouter Deconinck, Whitney Armstrong, Sylvester Joosten, Jihee Kim
+
 // Apply Birks Law to correct the energy deposit
 // It uses the contributions member in edm4hep::CalorimeterHit, so simulation must enable storeCalorimeterContributions
 //
diff --git a/JugDigi/src/components/CalorimeterHitDigi.cpp b/JugDigi/src/components/CalorimeterHitDigi.cpp
index bc64b304051d7d0b6717d6b7d749b3cf5e7c5339..1dbab9c48005f91317bccfcb23228834d973991e 100644
--- a/JugDigi/src/components/CalorimeterHitDigi.cpp
+++ b/JugDigi/src/components/CalorimeterHitDigi.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Wouter Deconinck, Sylvester Joosten
+
 // A general digitization for CalorimeterHit from simulation
 // 1. Smear energy deposit with a/sqrt(E/GeV) + b + c/E or a/sqrt(E/GeV) (relative value)
 // 2. Digitize the energy with dynamic ADC range and add pedestal (mean +- sigma)
diff --git a/JugDigi/src/components/PhotoMultiplierDigi.cpp b/JugDigi/src/components/PhotoMultiplierDigi.cpp
index 18f8ef1f95c4e85bdbad259c03f2ab595105717f..c5a5480c9d4adbf954a01e8a90459ae9e0dd9bf8 100644
--- a/JugDigi/src/components/PhotoMultiplierDigi.cpp
+++ b/JugDigi/src/components/PhotoMultiplierDigi.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng
+
 /*  General PhotoMultiplier Digitization
  *
  *  Apply the given quantum efficiency for photon detection
@@ -215,4 +218,3 @@ private:
 DECLARE_COMPONENT(PhotoMultiplierDigi)
 
 } // namespace Jug::Digi
-
diff --git a/JugDigi/src/components/SiliconTrackerDigi.cpp b/JugDigi/src/components/SiliconTrackerDigi.cpp
index 16f237de4283b82c65c2f740d9cda70bd1ec31f4..4789ce2f04eddd4c2ac9f956d5eda264e03da1f2 100644
--- a/JugDigi/src/components/SiliconTrackerDigi.cpp
+++ b/JugDigi/src/components/SiliconTrackerDigi.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include <algorithm>
 #include <cmath>
 
diff --git a/JugDigi/src/components/SimTrackerHitsCollector.cpp b/JugDigi/src/components/SimTrackerHitsCollector.cpp
index 26c4cd611f457d34a61689e5a1c277bfa36f9072..ebd80c5ebd265af7be6d8ad83397e457f64fd76d 100644
--- a/JugDigi/src/components/SimTrackerHitsCollector.cpp
+++ b/JugDigi/src/components/SimTrackerHitsCollector.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck, Whitney Armstrong, Chao Peng
+
 // Gaudi
 #include "GaudiAlg/GaudiAlgorithm.h"
 #include "Gaudi/Property.h"
diff --git a/JugFast/CMakeLists.txt b/JugFast/CMakeLists.txt
index 9fd5127a2ab046ad9019324a4ac74f0a00bbd892..45510497bffe2e2fb8c7b1aabcfd61237c3a338a 100644
--- a/JugFast/CMakeLists.txt
+++ b/JugFast/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Sylvester Joosten, Wouter Deconinck
+
 ################################################################################
 # Package: JugFast
 ################################################################################
diff --git a/JugFast/src/components/ClusterMerger.cpp b/JugFast/src/components/ClusterMerger.cpp
index f7c68c72400d47171e322fa2be2a2f48c09ee1d5..179d528bda7923737129806af95868e6f1915301 100644
--- a/JugFast/src/components/ClusterMerger.cpp
+++ b/JugFast/src/components/ClusterMerger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
+
 // TODO needs full rework to run off mc-cluster relations instead
 #if 0
 #include <limits>
diff --git a/JugFast/src/components/InclusiveKinematicsTruth.cpp b/JugFast/src/components/InclusiveKinematicsTruth.cpp
index 09e2f86d8bcdb927f27815b24b991cfb7149c253..0a25f355196db98e66e36201421e4960c3e82b80 100644
--- a/JugFast/src/components/InclusiveKinematicsTruth.cpp
+++ b/JugFast/src/components/InclusiveKinematicsTruth.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugFast/src/components/MC2SmearedParticle.cpp b/JugFast/src/components/MC2SmearedParticle.cpp
index 1e2b5f7d3c8000eb1a48433104406b515681fc1a..b3e691d9f537c4f7bf79529b23aa7ab365c869ac 100644
--- a/JugFast/src/components/MC2SmearedParticle.cpp
+++ b/JugFast/src/components/MC2SmearedParticle.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong, Wouter Deconinck
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugFast/src/components/MatchClusters.cpp b/JugFast/src/components/MatchClusters.cpp
index cd522e2484487c97e38e33714d2042846cf8ad44..e8a26d7ed6b614a90ca55cf65d41e15aaa20de7a 100644
--- a/JugFast/src/components/MatchClusters.cpp
+++ b/JugFast/src/components/MatchClusters.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
+
 // TODO needs full rework to run off list of mc-cluster relations instead
 #if 0
 // Takes a list of particles (presumed to be from tracking), and all available clusters.
diff --git a/JugFast/src/components/ParticlesWithTruthPID.cpp b/JugFast/src/components/ParticlesWithTruthPID.cpp
index 4f4a970b9d472857cd82b99df5b938a9c05d457a..bb95854b62f91b90b6fc6c5e9074ca5cd3848950 100644
--- a/JugFast/src/components/ParticlesWithTruthPID.cpp
+++ b/JugFast/src/components/ParticlesWithTruthPID.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Wouter Deconinck
+
 #include <algorithm>
 #include <cmath>
 
diff --git a/JugFast/src/components/SmearedFarForwardParticles.cpp b/JugFast/src/components/SmearedFarForwardParticles.cpp
index 6d1ae3bd22baa0f70b235db4599f4552ea99be99..d58b7fae5ef18c905b8ed965d0b8ce8d3c950bfc 100644
--- a/JugFast/src/components/SmearedFarForwardParticles.cpp
+++ b/JugFast/src/components/SmearedFarForwardParticles.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Wouter Deconinck
+
 #include <algorithm>
 #include <cmath>
 #include <fmt/format.h>
@@ -411,4 +414,3 @@ private:
 DECLARE_COMPONENT(SmearedFarForwardParticles)
 
 } // namespace Jug::Fast
-
diff --git a/JugFast/src/components/TruthClustering.cpp b/JugFast/src/components/TruthClustering.cpp
index ac2c788adaa005bf99197fcafdc243835b2669d5..35ce7eaf00661815373703a903fe51521cf7a0a2 100644
--- a/JugFast/src/components/TruthClustering.cpp
+++ b/JugFast/src/components/TruthClustering.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong, Wouter Deconinck
+
 #include <algorithm>
 
 #include "Gaudi/Property.h"
diff --git a/JugFast/src/components/TruthEnergyPositionClusterMerger.cpp b/JugFast/src/components/TruthEnergyPositionClusterMerger.cpp
index 58d3bce65d38aa4d536a3b806761091bbe077e2e..1e336bc429b6e80dfa478b55d4bb311830332b5f 100644
--- a/JugFast/src/components/TruthEnergyPositionClusterMerger.cpp
+++ b/JugFast/src/components/TruthEnergyPositionClusterMerger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
+
 // Needs full rework to run off MC-cluster relation instead
 #if 0
 #include <limits>
diff --git a/JugPID/CMakeLists.txt b/JugPID/CMakeLists.txt
index 8c6b02b0175ba0945706738266364754af5cb822..dceb2a7fb38dd232ad58995a9bca654c9917ff20 100644
--- a/JugPID/CMakeLists.txt
+++ b/JugPID/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Sylvester Joosten, Wouter Deconinck
+
 ################################################################################
 # Package: JugPID
 ################################################################################
diff --git a/JugPID/src/components/FuzzyKClusters.cpp b/JugPID/src/components/FuzzyKClusters.cpp
index 080e80317deaedd8ebd8c8b283c3f0da87e45169..d64654442f9d08d9153bf460afeeead3b0af4386 100644
--- a/JugPID/src/components/FuzzyKClusters.cpp
+++ b/JugPID/src/components/FuzzyKClusters.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng
+
 /*  Fuzzy K Clustering Algorithms
  *
  *  Author: Chao Peng (ANL)
@@ -201,4 +204,3 @@ void KRings::FormClusters(MatrixXd &clusters, const MatrixXd &data, double q)
 //          https://doi.org/10.1016/0167-8655(95)00030-K.
 // =================================================================================================
 // @TODO
-
diff --git a/JugPID/src/components/FuzzyKClusters.h b/JugPID/src/components/FuzzyKClusters.h
index c8a876ae95b1f5f9687489dc949dd52bbd979ad8..c84b9d0a728794c1649e51cd0e6ad3dfe0821a12 100644
--- a/JugPID/src/components/FuzzyKClusters.h
+++ b/JugPID/src/components/FuzzyKClusters.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Whitney Armstrong
+
 #pragma once
 
 #include <Eigen/Dense>
diff --git a/JugPID/src/components/PhotoRingClusters.cpp b/JugPID/src/components/PhotoRingClusters.cpp
index 6138ce4d46ceb90dd7d2fd856ffc7565f1f82b96..921c31b29d5c3248ab21ce7ddd4fdb834326cee7 100644
--- a/JugPID/src/components/PhotoRingClusters.cpp
+++ b/JugPID/src/components/PhotoRingClusters.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Whitney Armstrong, Sylvester Joosten
+
 /*  Clustering Algorithm for Ring Imaging Cherenkov (RICH) events
  *
  *  Author: Chao Peng (ANL)
@@ -112,4 +115,3 @@ public:
 DECLARE_COMPONENT(PhotoRingClusters)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/CMakeLists.txt b/JugReco/CMakeLists.txt
index a8df545bad80b2ada7cb57e75bbfd7b330ff8bf4..475dbd904e54661cd9c3752cd8c4b83fe3be8443 100644
--- a/JugReco/CMakeLists.txt
+++ b/JugReco/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Wouter Deconinck, Whitney Armstrong, Chao Peng, Sylvester Joosten, Chao
+
 ################################################################################
 # Package: JugReco
 ################################################################################
diff --git a/JugReco/JugReco/ACTSLogger.h b/JugReco/JugReco/ACTSLogger.h
index 0b19f3aecb6e63e20b3cf760d4179736be0edcfd..016dd2ef8345154c48e748c36144073d574497eb 100644
--- a/JugReco/JugReco/ACTSLogger.h
+++ b/JugReco/JugReco/ACTSLogger.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
 
 
 #ifndef RECTRACKER_ACTSLOGGER_H
diff --git a/JugReco/JugReco/BField.h b/JugReco/JugReco/BField.h
index 0d3bb15a1957f0062ff0289a21486b2c24ea8c5e..7ab85a416c640f8c2b7a2725bec5c2211b1877ba 100644
--- a/JugReco/JugReco/BField.h
+++ b/JugReco/JugReco/BField.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
 #ifndef Jug_BFIELD_HH
 #define Jug_BFIELD_HH 1
 
diff --git a/JugReco/JugReco/ClusterTypes.h b/JugReco/JugReco/ClusterTypes.h
index 0d70dbe3a5cdd4daa81c60ae05a33b5b0d53a39c..9b91fceaa89e6906badae86d58a7bde92397da34 100644
--- a/JugReco/JugReco/ClusterTypes.h
+++ b/JugReco/JugReco/ClusterTypes.h
@@ -1,6 +1,7 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
 #pragma once
 
 namespace Jug::Reco {
 enum ClusterType : int32_t { kCluster2D = 0, kCluster3D = 1, kClusterSlice = 2 };
 }
-
diff --git a/JugReco/JugReco/SourceLinks.h b/JugReco/JugReco/SourceLinks.h
index da20190cf5920b2adef57e6d596c8cec2ad58862..4c5fe8f1a71048703bfcf0ba392a4d7d87eca581 100644
--- a/JugReco/JugReco/SourceLinks.h
+++ b/JugReco/JugReco/SourceLinks.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
 #ifndef JUG_RECO_SourceLinks_HH
 #define JUG_RECO_SourceLinks_HH
 
@@ -93,4 +95,3 @@ using SourceLinkContainer = GeometryIdMultiset<SourceLink>;
 } // namespace Jug
 
 #endif
-
diff --git a/JugReco/src/components/CalorimeterHitReco.cpp b/JugReco/src/components/CalorimeterHitReco.cpp
index 8924afe7bcd66f372801cc5be85c65185c5659a5..8833cfb6dc75cdad96ee053565e2d78db9a28b0a 100644
--- a/JugReco/src/components/CalorimeterHitReco.cpp
+++ b/JugReco/src/components/CalorimeterHitReco.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Wouter Deconinck, Chao, Whitney Armstrong
+
 // Reconstruct digitized outputs, paired with Jug::Digi::CalorimeterHitDigi
 // Author: Chao Peng
 // Date: 06/14/2021
diff --git a/JugReco/src/components/CalorimeterHitsEtaPhiProjector.cpp b/JugReco/src/components/CalorimeterHitsEtaPhiProjector.cpp
index 991ab74981009af3f40b3049b4d0e0b5dc0c320f..fe927357aac285cc05b5ad648ba4ecec7a24783d 100644
--- a/JugReco/src/components/CalorimeterHitsEtaPhiProjector.cpp
+++ b/JugReco/src/components/CalorimeterHitsEtaPhiProjector.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Jihee Kim, Sylvester Joosten, Chao Peng, Whitney Armstrong, Wouter Deconinck, Chao Peng
+
 /*
  *  A hits converter to prepare dataset for machine learning
  *  It converts hits with (x, y, z, E) to (E, eta, phi) layer by layer
@@ -133,4 +136,3 @@ public:
 DECLARE_COMPONENT(CalorimeterHitsEtaPhiProjector)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/CalorimeterHitsMerger.cpp b/JugReco/src/components/CalorimeterHitsMerger.cpp
index 4cccc7d2e1037c76a61cb7865a9a02593859077f..a451b04ffcf22db8cf00cf6713dd6de3857b8f23 100644
--- a/JugReco/src/components/CalorimeterHitsMerger.cpp
+++ b/JugReco/src/components/CalorimeterHitsMerger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Jihee Kim, Sylvester Joosten, Whitney Armstrong, Wouter Deconinck
+
 /*
  *  An algorithm to group readout hits from a calorimeter
  *  Energy is summed
@@ -185,4 +188,3 @@ public:
 DECLARE_COMPONENT(CalorimeterHitsMerger)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/CalorimeterIslandCluster.cpp b/JugReco/src/components/CalorimeterIslandCluster.cpp
index a78fd8378e2364f47b5ee4781c30cee698fdb666..194f6476a6315412d90a907a8e7da2035a887d7f 100644
--- a/JugReco/src/components/CalorimeterIslandCluster.cpp
+++ b/JugReco/src/components/CalorimeterIslandCluster.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Chao, Chao Peng, Wouter Deconinck, Jihee Kim, Whitney Armstrong
+
 /*
  *  Island Clustering Algorithm for Calorimeter Blocks
  *  1. group all the adjacent modules
@@ -409,4 +412,3 @@ private:
 DECLARE_COMPONENT(CalorimeterIslandCluster)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/ClusterRecoCoG.cpp b/JugReco/src/components/ClusterRecoCoG.cpp
index 3273cca9880ad66f2810e7b69c1be31d12e8c126..b79284d1ee11c4ea1ec74d4c01306cf1ea25cbfa 100644
--- a/JugReco/src/components/ClusterRecoCoG.cpp
+++ b/JugReco/src/components/ClusterRecoCoG.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Chao, Chao Peng, Whitney Armstrong
+
 /*
  *  Reconstruct the cluster with Center of Gravity method
  *  Logarithmic weighting is used for mimicing energy deposit in transverse direction
@@ -252,4 +255,3 @@ private:
 DECLARE_COMPONENT(ClusterRecoCoG)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/EnergyPositionClusterMerger.cpp b/JugReco/src/components/EnergyPositionClusterMerger.cpp
index 0c402629f7760595b67d17654d10143a45c59bc2..ff3aa3884ad8ba60240ecfaf08129289f07fa215 100644
--- a/JugReco/src/components/EnergyPositionClusterMerger.cpp
+++ b/JugReco/src/components/EnergyPositionClusterMerger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten
+
 #include <limits>
 #include <numbers>
 
diff --git a/JugReco/src/components/FarForwardParticles.cpp b/JugReco/src/components/FarForwardParticles.cpp
index df3c25e99b7801107ef97768a576e9e141118f41..828ee36164fee37aaec2997b6dd6884351dc99ec 100644
--- a/JugReco/src/components/FarForwardParticles.cpp
+++ b/JugReco/src/components/FarForwardParticles.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Alex Jentsch, Wouter Deconinck, Sylvester Joosten
+
 #include <algorithm>
 #include <cmath>
 #include <fmt/format.h>
@@ -274,4 +277,3 @@ public:
 DECLARE_COMPONENT(FarForwardParticles)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/FarForwardParticlesOMD.cpp b/JugReco/src/components/FarForwardParticlesOMD.cpp
index 3ece3e8f97fa7d186ce638536c5ee46643a39887..3a14f8caa7e9a2820fd563cbfec842312f2aa6e7 100644
--- a/JugReco/src/components/FarForwardParticlesOMD.cpp
+++ b/JugReco/src/components/FarForwardParticlesOMD.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Alex Jentsch, Sylvester Joosten, Wouter Deconinck
+
 #include <algorithm>
 #include <cmath>
 #include <fmt/format.h>
diff --git a/JugReco/src/components/ImagingClusterReco.cpp b/JugReco/src/components/ImagingClusterReco.cpp
index 6ea87d038916b94e93e03c16b4085eb635107516..9d128ec27de2fe808fa32c8a4530df1de595de20 100644
--- a/JugReco/src/components/ImagingClusterReco.cpp
+++ b/JugReco/src/components/ImagingClusterReco.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Chao Peng, Wouter Deconinck
+
 /*
  *  Reconstruct the cluster/layer info for imaging calorimeter
  *  Logarithmic weighting is used to describe energy deposit in transverse direction
@@ -287,4 +290,3 @@ private:
 DECLARE_COMPONENT(ImagingClusterReco)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/ImagingPixelDataCombiner.cpp b/JugReco/src/components/ImagingPixelDataCombiner.cpp
index ab1ccc528e3021262e01531c60223d3afea86a32..dc1c1399692de79a355e78c1b8f86a475aaab989 100644
--- a/JugReco/src/components/ImagingPixelDataCombiner.cpp
+++ b/JugReco/src/components/ImagingPixelDataCombiner.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Whitney Armstrong
+
 /*
  *  A hits-level data combiner to combine two datasets into one for machine learning
  *
@@ -157,4 +160,3 @@ public:
 DECLARE_COMPONENT(ImagingPixelDataCombiner)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/ImagingPixelDataSorter.cpp b/JugReco/src/components/ImagingPixelDataSorter.cpp
index 90bdd8175173f563f1c435db8bf5b93a13cd24bb..84cea6c8b2a2b81dcbfb806a0dc22da7ab9d6020 100644
--- a/JugReco/src/components/ImagingPixelDataSorter.cpp
+++ b/JugReco/src/components/ImagingPixelDataSorter.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Chao, Sylvester Joosten
+
 /*
  *  A hits-level data sorter to prepare dataset for machine learning
  *
@@ -117,4 +120,3 @@ namespace Jug::Reco {
   DECLARE_COMPONENT(ImagingPixelDataSorter)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/ImagingPixelMerger.cpp b/JugReco/src/components/ImagingPixelMerger.cpp
index 1dbbfd31c4d63d19b599610d81c07ded5270c0ca..f641a9451b6b22671d29d8cdf7af8cc2ff7e5a61 100644
--- a/JugReco/src/components/ImagingPixelMerger.cpp
+++ b/JugReco/src/components/ImagingPixelMerger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Wouter Deconinck, Whitney Armstrong
+
 /*
  *  A hits merger for ecal barrel to prepare dataset for machine learning
  *
@@ -166,4 +169,3 @@ private:
 DECLARE_COMPONENT(ImagingPixelMerger)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/ImagingPixelReco.cpp b/JugReco/src/components/ImagingPixelReco.cpp
index 0f325d1266b34153619e7d8ad1dbfdc4fd40b2ef..0685fb0cf43d72eda73034898a92e2f76abf2ab2 100644
--- a/JugReco/src/components/ImagingPixelReco.cpp
+++ b/JugReco/src/components/ImagingPixelReco.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Chao, Whitney Armstrong, Wouter Deconinck, Jihee Kim
+
 // Reconstruct digitized outputs of ImagingCalorimeter
 // It converts digitized ADC/TDC values to energy/time, and looks for geometrical information of the
 // readout pixels Author: Chao Peng Date: 06/02/2021
diff --git a/JugReco/src/components/ImagingTopoCluster.cpp b/JugReco/src/components/ImagingTopoCluster.cpp
index a70c66ce312d0999d17ece67a67217909fde6448..39cd0f7b97d59061b5860cddb8203d1a73beb0a9 100644
--- a/JugReco/src/components/ImagingTopoCluster.cpp
+++ b/JugReco/src/components/ImagingTopoCluster.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Whitney Armstrong
+
 /*
  *  Topological Cell Clustering Algorithm for Imaging Calorimetry
  *  1. group all the adjacent pixels
@@ -229,4 +232,3 @@ private:
 DECLARE_COMPONENT(ImagingTopoCluster)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/InclusiveKinematicsDA.cpp b/JugReco/src/components/InclusiveKinematicsDA.cpp
index 9f9e4c5ca2c5b96346c34c62f92e9127daa81669..07f48805e061157ea2c1b07f24aafdd41b2b762b 100644
--- a/JugReco/src/components/InclusiveKinematicsDA.cpp
+++ b/JugReco/src/components/InclusiveKinematicsDA.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugReco/src/components/InclusiveKinematicsElectron.cpp b/JugReco/src/components/InclusiveKinematicsElectron.cpp
index a3ff99245f0e91f502d31bf17055be291ffa2f0a..c33a84a313ec1cc75d8839f04d1e3841adb59b66 100644
--- a/JugReco/src/components/InclusiveKinematicsElectron.cpp
+++ b/JugReco/src/components/InclusiveKinematicsElectron.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugReco/src/components/InclusiveKinematicsJB.cpp b/JugReco/src/components/InclusiveKinematicsJB.cpp
index 8b6e164c35b4a43f62c4c8802c6f96b67d2e8588..517d56604d4a0a286899af34ac18b0af42306e52 100644
--- a/JugReco/src/components/InclusiveKinematicsJB.cpp
+++ b/JugReco/src/components/InclusiveKinematicsJB.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugReco/src/components/InclusiveKinematicsSigma.cpp b/JugReco/src/components/InclusiveKinematicsSigma.cpp
index 1da3fce0936cc866743e69665370f7de8d335c27..c2084e6e5a738d56003169f404f5a22b4fea30eb 100644
--- a/JugReco/src/components/InclusiveKinematicsSigma.cpp
+++ b/JugReco/src/components/InclusiveKinematicsSigma.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck, Barak Schmookler
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugReco/src/components/InclusiveKinematicseSigma.cpp b/JugReco/src/components/InclusiveKinematicseSigma.cpp
index 7efdca65aea90f0533ad7da8f065fdba6c1aff9d..ce82b3ed96d436c59ba003ecd35da60ac3c8eedd 100644
--- a/JugReco/src/components/InclusiveKinematicseSigma.cpp
+++ b/JugReco/src/components/InclusiveKinematicseSigma.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Wouter Deconinck, Barak Schmookler
+
 #include "Gaudi/Algorithm.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiAlg/Producer.h"
diff --git a/JugReco/src/components/ParticleCollector.cpp b/JugReco/src/components/ParticleCollector.cpp
index 2bd4601730483bf1613145741951b76c4a1d5c55..24e28b5c71c06484d732dd8781cc1e933d10cbbd 100644
--- a/JugReco/src/components/ParticleCollector.cpp
+++ b/JugReco/src/components/ParticleCollector.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong
+
 // Gaudi
 #include "Gaudi/Property.h"
 #include "GaudiAlg/GaudiAlgorithm.h"
diff --git a/JugReco/src/components/PhotoMultiplierReco.cpp b/JugReco/src/components/PhotoMultiplierReco.cpp
index d6a28ee9f4bde9abd77d483a5e0ca715572b8d20..141446bcb52cccd30d0ab44e7b5f09dee7c87d18 100644
--- a/JugReco/src/components/PhotoMultiplierReco.cpp
+++ b/JugReco/src/components/PhotoMultiplierReco.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Chao Peng, Sylvester Joosten, Whitney Armstrong, Chao Peng
+
 /*  General PhotoMultiplier Reconstruction
  *
  *  Estimate the number of photo-electrons and convert getTimeStamp to time
@@ -108,4 +111,3 @@ public:
 DECLARE_COMPONENT(PhotoMultiplierReco)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/SimpleClustering.cpp b/JugReco/src/components/SimpleClustering.cpp
index d394d9533f5509df5723146b18624f8280bbbb49..446a73627039465660c265be03426cf655c8625e 100644
--- a/JugReco/src/components/SimpleClustering.cpp
+++ b/JugReco/src/components/SimpleClustering.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck, Chao Peng
+
 #include <algorithm>
 
 #include "Gaudi/Property.h"
diff --git a/JugReco/src/components/TrackerHitReconstruction.cpp b/JugReco/src/components/TrackerHitReconstruction.cpp
index 90a669c646c9adb3f21d899809e97b2e12ed1b21..b6692087e949e38bf14f6c0c86842e3440d3b984 100644
--- a/JugReco/src/components/TrackerHitReconstruction.cpp
+++ b/JugReco/src/components/TrackerHitReconstruction.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 #include <algorithm>
 
 // Gaudi
@@ -121,4 +124,3 @@ namespace Jug::Reco {
   DECLARE_COMPONENT(TrackerHitReconstruction)
 
 } // namespace Jug::Reco
-
diff --git a/JugReco/src/components/TrackingHitsCollector.cpp b/JugReco/src/components/TrackingHitsCollector.cpp
index 287e7027e820c96c42823d70923bd37c1e12b0e5..2172314917690ead14143e9797d9431b50635b2a 100644
--- a/JugReco/src/components/TrackingHitsCollector.cpp
+++ b/JugReco/src/components/TrackingHitsCollector.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Chao Peng
+
 // Gaudi
 #include "GaudiAlg/GaudiAlgorithm.h"
 #include "Gaudi/Property.h"
diff --git a/JugReco/src/components/TrackingHitsCollector2.cpp b/JugReco/src/components/TrackingHitsCollector2.cpp
index b9dfb8cd01b4a4e0dbad138f294e3abca829b5e2..da51534c13754cd172d4dd73138d1dc14f934d26 100644
--- a/JugReco/src/components/TrackingHitsCollector2.cpp
+++ b/JugReco/src/components/TrackingHitsCollector2.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 // Gaudi
 #include "GaudiAlg/GaudiAlgorithm.h"
 #include "Gaudi/Property.h"
diff --git a/JugTrack/CMakeLists.txt b/JugTrack/CMakeLists.txt
index 288e0c2c566f472bf913d88c41a09a794807fa0d..649bd428e64a3926b7f4bfc9104fe07df66ad748 100644
--- a/JugTrack/CMakeLists.txt
+++ b/JugTrack/CMakeLists.txt
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 ################################################################################
 # Package: JugTrack
 ################################################################################
diff --git a/JugTrack/JugTrack/ACTSLogger.h b/JugTrack/JugTrack/ACTSLogger.h
index 0b19f3aecb6e63e20b3cf760d4179736be0edcfd..d217de1ee0623c296cd069121625bcaecfc2ba15 100644
--- a/JugTrack/JugTrack/ACTSLogger.h
+++ b/JugTrack/JugTrack/ACTSLogger.h
@@ -1,4 +1,5 @@
-
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
 
 #ifndef RECTRACKER_ACTSLOGGER_H
 #define RECTRACKER_ACTSLOGGER_H
diff --git a/JugTrack/JugTrack/Measurement.hpp b/JugTrack/JugTrack/Measurement.hpp
index 7af36fa344831c07d1b32c64778642eafc90807d..1b9defafbb68fd622bc245a02dd2f1fefede99e0 100644
--- a/JugTrack/JugTrack/Measurement.hpp
+++ b/JugTrack/JugTrack/Measurement.hpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #ifndef JugTrack_Measurement_HH
 #define JugTrack_Measurement_HH
 
diff --git a/JugTrack/JugTrack/ProtoTrack.hpp b/JugTrack/JugTrack/ProtoTrack.hpp
index 8cd59e84b1ba7daf47a22a57262ab71fc116389c..4cb86fc5b0b8dd86c22795079fbc3af1d1a715b8 100644
--- a/JugTrack/JugTrack/ProtoTrack.hpp
+++ b/JugTrack/JugTrack/ProtoTrack.hpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JugTrack_ProtoTrack_HH
 #define JugTrack_ProtoTrack_HH
 
diff --git a/JugTrack/JugTrack/SourceLinks.h b/JugTrack/JugTrack/SourceLinks.h
index 926f5ea662a47d59eefa27ec92e6aaed0fb3ba03..898ace3d8a42380ebe7ad620b0eedd542e434c0d 100644
--- a/JugTrack/JugTrack/SourceLinks.h
+++ b/JugTrack/JugTrack/SourceLinks.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUG_RECO_SourceLinks_HH
 #define JUG_RECO_SourceLinks_HH
 
@@ -90,4 +93,3 @@ using SourceLinkContainer = GeometryIdMultiset<SourceLink>;
 } // namespace Jug
 
 #endif
-
diff --git a/JugTrack/JugTrack/Trajectories.hpp b/JugTrack/JugTrack/Trajectories.hpp
index a104661b92b0d77d5acb0692269abac345ca4129..d849cfb37b549345905f412db146939607288c73 100644
--- a/JugTrack/JugTrack/Trajectories.hpp
+++ b/JugTrack/JugTrack/Trajectories.hpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JugTrack_Trajectories_HH
 #define JugTrack_Trajectories_HH
 
diff --git a/JugTrack/src/components/ActsTrajectoryReader.cpp b/JugTrack/src/components/ActsTrajectoryReader.cpp
index c2159f5ea6ec406c97e5a391e186f4c6b33e7249..e5e641ac5395ba5d96417dd81f021225a35eedca 100644
--- a/JugTrack/src/components/ActsTrajectoryReader.cpp
+++ b/JugTrack/src/components/ActsTrajectoryReader.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong
+
 #include <algorithm>
 
 // Gaudi
diff --git a/JugTrack/src/components/CKFTracking.cpp b/JugTrack/src/components/CKFTracking.cpp
index 7ba112720a4220a66afb14f0b94f3fcaf9e45f20..bf5835a5c475dbbffd9d063c93036870925dfaa3 100644
--- a/JugTrack/src/components/CKFTracking.cpp
+++ b/JugTrack/src/components/CKFTracking.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "CKFTracking.h"
 
 // Gaudi
@@ -171,4 +174,3 @@ namespace Jug::Reco {
   // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
   DECLARE_COMPONENT(CKFTracking)
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/CKFTracking.h b/JugTrack/src/components/CKFTracking.h
index 375ef4a17ff8c1ef3a7e6547a268ceea8770a9e1..cdcf079d0e854f6a348d856adc9a3a8788387206 100644
--- a/JugTrack/src/components/CKFTracking.h
+++ b/JugTrack/src/components/CKFTracking.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #ifndef JUGGLER_JUGRECO_CKFTracking_HH
 #define JUGGLER_JUGRECO_CKFTracking_HH
 
diff --git a/JugTrack/src/components/CKFTrackingFunction.cpp b/JugTrack/src/components/CKFTrackingFunction.cpp
index be6893eb3ce0117f16cb8ee9bb606521fba2ef60..aeb831abcf66196a48c9898252aa0fc3f4994b27 100644
--- a/JugTrack/src/components/CKFTrackingFunction.cpp
+++ b/JugTrack/src/components/CKFTrackingFunction.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include "Acts/MagneticField/MagneticFieldProvider.hpp"
 #include "Acts/Propagator/EigenStepper.hpp"
 #include "Acts/Propagator/Navigator.hpp"
diff --git a/JugTrack/src/components/ConformalXYPeakProtoTracks.cpp b/JugTrack/src/components/ConformalXYPeakProtoTracks.cpp
index 7c232d1cf8cc9eec0ca198739517413f00d4848c..5ee77192c5e2c4b8c6e5de4f0899461d1ec15bb8 100644
--- a/JugTrack/src/components/ConformalXYPeakProtoTracks.cpp
+++ b/JugTrack/src/components/ConformalXYPeakProtoTracks.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
diff --git a/JugTrack/src/components/FinderAlgoTemplate.cpp b/JugTrack/src/components/FinderAlgoTemplate.cpp
index a5a6ef2c79225de3d5ed9afda87f00e5e6f3aa23..0425abdd2ba8666e68a73192fe3e6d65a6b474e5 100644
--- a/JugTrack/src/components/FinderAlgoTemplate.cpp
+++ b/JugTrack/src/components/FinderAlgoTemplate.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
diff --git a/JugTrack/src/components/GenFitTrackFitter.cpp b/JugTrack/src/components/GenFitTrackFitter.cpp
index a7d896ee795902c805d9ba0a10cecbb55468e7cf..f8c52aa269c37ffca7ef5cdbe213c7fe8338e287 100644
--- a/JugTrack/src/components/GenFitTrackFitter.cpp
+++ b/JugTrack/src/components/GenFitTrackFitter.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 #include "GenFitTrackFitter.h"
 // Gaudi
 #include "Gaudi/Property.h"
diff --git a/JugTrack/src/components/GenFitTrackFitter.h b/JugTrack/src/components/GenFitTrackFitter.h
index 466df1dbfde78ab94f9f01b4dcb3fb3ed3dc9b17..8f2e254a6f35564734e438a16df56a202db40b89 100644
--- a/JugTrack/src/components/GenFitTrackFitter.h
+++ b/JugTrack/src/components/GenFitTrackFitter.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGGLER_JUGRECO_GenFitTrackFitter_HH
 #define JUGGLER_JUGRECO_GenFitTrackFitter_HH
 
diff --git a/JugTrack/src/components/HoughTransformProtoTracks.cpp b/JugTrack/src/components/HoughTransformProtoTracks.cpp
index 29c580c0dff58ef9996c0bcde2b0bf1077e799dd..579bf29e769f1a47f223d30e979a0fab4793b495 100644
--- a/JugTrack/src/components/HoughTransformProtoTracks.cpp
+++ b/JugTrack/src/components/HoughTransformProtoTracks.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
diff --git a/JugTrack/src/components/ParticlesFromTrackFit.cpp b/JugTrack/src/components/ParticlesFromTrackFit.cpp
index c46d2737ba0fc1a3ff90585112512fd837bca028..1cae1331334f5903b432ec2163eba7f25343f0f7 100644
--- a/JugTrack/src/components/ParticlesFromTrackFit.cpp
+++ b/JugTrack/src/components/ParticlesFromTrackFit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 #include <algorithm>
 
 // Gaudi
diff --git a/JugTrack/src/components/ProtoTrackMatching.cpp b/JugTrack/src/components/ProtoTrackMatching.cpp
index 64b0055ecc49870ab4a4224c396ce220542a0c50..5065a54fe1f97b451d281b32501f748e24aa9f3f 100644
--- a/JugTrack/src/components/ProtoTrackMatching.cpp
+++ b/JugTrack/src/components/ProtoTrackMatching.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
diff --git a/JugTrack/src/components/SingleTrackSourceLinker.cpp b/JugTrack/src/components/SingleTrackSourceLinker.cpp
index ffe16f131bad24ad9e40b4437ab8d6a09f7af7aa..27306f293918b7abe30e1b3a31a5c1ec504a3480 100644
--- a/JugTrack/src/components/SingleTrackSourceLinker.cpp
+++ b/JugTrack/src/components/SingleTrackSourceLinker.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 // Gaudi
 #include "Gaudi/Property.h"
 #include "GaudiAlg/GaudiAlgorithm.h"
@@ -166,4 +169,3 @@ public:
 DECLARE_COMPONENT(SingleTrackSourceLinker)
 
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/TestACTSLogger.cpp b/JugTrack/src/components/TestACTSLogger.cpp
index 0d7e83d60253e5f95b3eec1aabe207cf9c17a8a2..c706b7d167c8a1330b2edfa90c832b9b304c7039 100644
--- a/JugTrack/src/components/TestACTSLogger.cpp
+++ b/JugTrack/src/components/TestACTSLogger.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #include "TestACTSLogger.h"
 
 // FCCSW
diff --git a/JugTrack/src/components/TestACTSLogger.h b/JugTrack/src/components/TestACTSLogger.h
index 2f9526b248ff9a878ed34487cd14ed359f1aab98..31af7eb530d1c80b518877b738e4925a0dcb5029 100644
--- a/JugTrack/src/components/TestACTSLogger.h
+++ b/JugTrack/src/components/TestACTSLogger.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef TESTRECONSTRUCTION_TESTACTSLOGGER_H
 #define TESTRECONSTRUCTION_TESTACTSLOGGER_H
 
diff --git a/JugTrack/src/components/TrackFindingAlgorithm.cpp b/JugTrack/src/components/TrackFindingAlgorithm.cpp
index 40634be01c430f746270fe27b99e3496b982f699..af74175808e8800690d6f000a5a37e20ea4208bb 100644
--- a/JugTrack/src/components/TrackFindingAlgorithm.cpp
+++ b/JugTrack/src/components/TrackFindingAlgorithm.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "TrackFindingAlgorithm.h"
 
 // Gaudi
@@ -173,4 +176,3 @@ namespace Jug::Reco {
   // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
   DECLARE_COMPONENT(TrackFindingAlgorithm)
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/TrackFindingAlgorithm.h b/JugTrack/src/components/TrackFindingAlgorithm.h
index ac6ed014eab5170b34d5830ee8f5d193d93635a7..d860d42d2cfdb7630ab6156e0fdc42c4cb73adc7 100644
--- a/JugTrack/src/components/TrackFindingAlgorithm.h
+++ b/JugTrack/src/components/TrackFindingAlgorithm.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #ifndef JUGGLER_JUGRECO_TrackFindingAlgorithm_HH
 #define JUGGLER_JUGRECO_TrackFindingAlgorithm_HH
 
diff --git a/JugTrack/src/components/TrackFindingAlgorithmFunction.cpp b/JugTrack/src/components/TrackFindingAlgorithmFunction.cpp
index 921b3e26399434a8b7efba9f69c981c4150a92be..ce5a8fcec46e53dbf6828d3c147c136be128a2e3 100644
--- a/JugTrack/src/components/TrackFindingAlgorithmFunction.cpp
+++ b/JugTrack/src/components/TrackFindingAlgorithmFunction.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include "Acts/MagneticField/MagneticFieldProvider.hpp"
 #include "Acts/Propagator/EigenStepper.hpp"
 #include "Acts/Propagator/Navigator.hpp"
diff --git a/JugTrack/src/components/TrackFittingAlgorithm.cpp b/JugTrack/src/components/TrackFittingAlgorithm.cpp
index ffe927a0df92de0cbb638c742695557e49178a32..6fa1344177faf184ccd3ef03c18e1bb78cd464f5 100644
--- a/JugTrack/src/components/TrackFittingAlgorithm.cpp
+++ b/JugTrack/src/components/TrackFittingAlgorithm.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 //
 #include "TrackFittingAlgorithm.h"
 
diff --git a/JugTrack/src/components/TrackFittingAlgorithm.h b/JugTrack/src/components/TrackFittingAlgorithm.h
index 2b4c312d5b87e81d12191d36dc4e2ce8be6a6a4f..6f193da372137db7f26c342d943a433f71a14dad 100644
--- a/JugTrack/src/components/TrackFittingAlgorithm.h
+++ b/JugTrack/src/components/TrackFittingAlgorithm.h
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong
+
 #ifndef JUGGLER_JUGRECO_TrackFittingAlgorithm_HH
 #define JUGGLER_JUGRECO_TrackFittingAlgorithm_HH 1
 
diff --git a/JugTrack/src/components/TrackFittingFunction.cpp b/JugTrack/src/components/TrackFittingFunction.cpp
index 1f2f7e801858aa3683d2a983bf2ac9ccf611defa..1259722d80146c6bd83831ef2eeb2bf41c7d8450 100644
--- a/JugTrack/src/components/TrackFittingFunction.cpp
+++ b/JugTrack/src/components/TrackFittingFunction.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck
+
 #include "Acts/MagneticField/MagneticFieldProvider.hpp"
 #include "Acts/Geometry/GeometryIdentifier.hpp"
 #include "Acts/Geometry/TrackingGeometry.hpp"
diff --git a/JugTrack/src/components/TrackParamClusterInit.cpp b/JugTrack/src/components/TrackParamClusterInit.cpp
index 2a6018fb48d3618f5fa23e435240d08fe8fa2f4f..538bcc8f7a281aaff3781d10c1ab5727d9786df5 100644
--- a/JugTrack/src/components/TrackParamClusterInit.cpp
+++ b/JugTrack/src/components/TrackParamClusterInit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
@@ -130,4 +133,3 @@ public:
 DECLARE_COMPONENT(TrackParamClusterInit)
 
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/TrackParamImagingClusterInit.cpp b/JugTrack/src/components/TrackParamImagingClusterInit.cpp
index 783677230c43f8a438c8f28872559e0feb57a472..7260951e564447d42e03ca45f8e79a5c0b3c0934 100644
--- a/JugTrack/src/components/TrackParamImagingClusterInit.cpp
+++ b/JugTrack/src/components/TrackParamImagingClusterInit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include <cmath>
 // Gaudi
 #include "GaudiAlg/GaudiAlgorithm.h"
@@ -118,4 +121,3 @@ namespace Jug::Reco {
   DECLARE_COMPONENT(TrackParamImagingClusterInit)
 
 } // namespace Jug::reco
-
diff --git a/JugTrack/src/components/TrackParamTruthInit.cpp b/JugTrack/src/components/TrackParamTruthInit.cpp
index fa45cf4739f131a6b8b21f039090fc3db2cdb4e5..07b58b0a31ba93fec5ee391159ce5bd8955dcc8c 100644
--- a/JugTrack/src/components/TrackParamTruthInit.cpp
+++ b/JugTrack/src/components/TrackParamTruthInit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include <cmath>
 // Gaudi
 #include "Gaudi/Property.h"
@@ -187,4 +190,3 @@ namespace Jug::Reco {
   DECLARE_COMPONENT(TrackParamTruthInit)
 
 } // namespace Jug::reco
-
diff --git a/JugTrack/src/components/TrackParamVertexClusterInit.cpp b/JugTrack/src/components/TrackParamVertexClusterInit.cpp
index 5c143d6279b852a04e6b2f20a352d3628cd9f414..1e12819093336180d84aea5e1accbf3496d35067 100644
--- a/JugTrack/src/components/TrackParamVertexClusterInit.cpp
+++ b/JugTrack/src/components/TrackParamVertexClusterInit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 #include <cmath>
 
 // Gaudi
@@ -132,4 +135,3 @@ public:
 DECLARE_COMPONENT(TrackParamVertexClusterInit)
 
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/TrackProjector.cpp b/JugTrack/src/components/TrackProjector.cpp
index d5a26aad6393eade51b8e9b35b838032fdc985b2..b16ba3abd0406cd0279b6b80b36b04e30c22b1e1 100644
--- a/JugTrack/src/components/TrackProjector.cpp
+++ b/JugTrack/src/components/TrackProjector.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 wfan, Whitney Armstrong, Sylvester Joosten
+
 #include <algorithm>
 
 // FIXME needs renaming (TrackProjector) and updating to fix and remove hardcoded numbers
diff --git a/JugTrack/src/components/TrackerSourceLinker.cpp b/JugTrack/src/components/TrackerSourceLinker.cpp
index 763ff7a8fbac13056b4519dcfc9dbf722f352bb6..4fd9cd8b3365ccd64f0dfe7899d1e249e6fdd5ed 100644
--- a/JugTrack/src/components/TrackerSourceLinker.cpp
+++ b/JugTrack/src/components/TrackerSourceLinker.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Wouter Deconinck
+
 #include "JugTrack/GeometryContainers.hpp"
 
 // Gaudi
@@ -158,4 +161,3 @@ public:
 DECLARE_COMPONENT(TrackerSourceLinker)
 
 } // namespace Jug::Reco
-
diff --git a/JugTrack/src/components/TrackingHitsSourceLinker.cpp b/JugTrack/src/components/TrackingHitsSourceLinker.cpp
index 803b4b2e478a0bddefd900132e937fcd8272bb1e..5f48371e3da4182ff30a4f7fc69fb5f5af1a77f3 100644
--- a/JugTrack/src/components/TrackingHitsSourceLinker.cpp
+++ b/JugTrack/src/components/TrackingHitsSourceLinker.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten
+
 // This file is part of the Acts project.
 #include "JugTrack/GeometryContainers.hpp"
 
diff --git a/JugTrack/src/components/TrajectoryFromTrackFit.cpp b/JugTrack/src/components/TrajectoryFromTrackFit.cpp
index d5a26aad6393eade51b8e9b35b838032fdc985b2..b16ba3abd0406cd0279b6b80b36b04e30c22b1e1 100644
--- a/JugTrack/src/components/TrajectoryFromTrackFit.cpp
+++ b/JugTrack/src/components/TrajectoryFromTrackFit.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 wfan, Whitney Armstrong, Sylvester Joosten
+
 #include <algorithm>
 
 // FIXME needs renaming (TrackProjector) and updating to fix and remove hardcoded numbers
diff --git a/JugTrack/src/components/TruthTrackSeeding.cpp b/JugTrack/src/components/TruthTrackSeeding.cpp
index 231c2c84a2c21220e5179279e01c4b48d64c27be..d6505510501f5e44de58a0e22f525bd6a5b1d014 100644
--- a/JugTrack/src/components/TruthTrackSeeding.cpp
+++ b/JugTrack/src/components/TruthTrackSeeding.cpp
@@ -1,3 +1,6 @@
+// SPDX-License-Identifier: LGPL-3.0-or-later
+// Copyright (C) 2022 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten
+
 #include <cmath>
 // Gaudi
 #include "GaudiAlg/GaudiAlgorithm.h"
@@ -120,4 +123,3 @@ namespace Jug::Reco {
   DECLARE_COMPONENT(TruthTrackSeeding)
 
 } // namespace Jug::reco
-
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..c8fb05286fdd3000c4f659a6e4ce59aeb6ca94ff
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,166 @@
+
+                   GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions.
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version.
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/LICENSE.spdx b/LICENSE.spdx
new file mode 100644
index 0000000000000000000000000000000000000000..83c92dc7734cad4c6329ec0d0415d8c84df34acd
--- /dev/null
+++ b/LICENSE.spdx
@@ -0,0 +1,6 @@
+SPDXVersion: SPDX-2.1
+DataLicense: CC0-1.0
+PackageName: Juggler
+PackageOriginator: Whitney Armstrong, Sylvester Joosten
+PackageHomePage: https://eicweb.phy.anl.gov/EIC/juggler
+PackageLicenseDeclared: LGPL-3.0-or-later