From eda9e3ed1265f1a3da2f8a197eb7bd26cb7b9f77 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Wed, 6 Apr 2022 21:32:25 +0000
Subject: [PATCH] LICENSE added, GNU Lesser General Public License v3.0

---
 CMakeLists.txt                                |   3 +
 JugBase/CMakeLists.txt                        |   3 +
 JugBase/JugBase/ACTSLogger.h                  |   3 +
 JugBase/JugBase/DataHandle.h                  |   3 +
 JugBase/JugBase/DataWrapper.h                 |   3 +
 JugBase/JugBase/IGeoSvc.h                     |   3 +
 JugBase/JugBase/IParticleSvc.h                |   3 +
 JugBase/JugBase/KeepDropSwitch.h              |   3 +
 JugBase/JugBase/PodioDataSvc.h                |   3 +
 JugBase/JugBase/Utilities/Beam.h              |   3 +
 JugBase/JugBase/Utilities/Boost.h             |   3 +
 JugBase/JugBase/Utilities/Vectors.hpp         |   4 +-
 JugBase/src/ACTSLogger.cpp                    |   3 +
 JugBase/src/KeepDropSwitch.cpp                |   3 +
 JugBase/src/Plugins/DD4hepBField.cpp          |   3 +
 JugBase/src/PodioDataSvc.cpp                  |   3 +
 JugBase/src/components/EICDataSvc.cpp         |   3 +
 JugBase/src/components/EICDataSvc.h           |   3 +
 JugBase/src/components/GeoSvc.cpp             |   3 +
 JugBase/src/components/GeoSvc.h               |   3 +
 JugBase/src/components/InputCopier.cpp        |   4 +-
 JugBase/src/components/ParticleSvc.cpp        |   3 +
 JugBase/src/components/ParticleSvc.h          |   3 +
 JugBase/src/components/PodioInput.cpp         |   3 +
 JugBase/src/components/PodioInput.h           |   3 +
 JugBase/src/components/PodioOutput.cpp        |   3 +
 JugBase/src/components/PodioOutput.h          |   3 +
 JugBase/src/components/rootutils.h            |   4 +-
 JugDigi/CMakeLists.txt                        |   3 +
 .../src/components/CalorimeterBirksCorr.cpp   |   3 +
 JugDigi/src/components/CalorimeterHitDigi.cpp |   3 +
 .../src/components/PhotoMultiplierDigi.cpp    |   4 +-
 JugDigi/src/components/SiliconTrackerDigi.cpp |   3 +
 .../components/SimTrackerHitsCollector.cpp    |   3 +
 JugFast/CMakeLists.txt                        |   3 +
 JugFast/src/components/ClusterMerger.cpp      |   3 +
 .../components/InclusiveKinematicsTruth.cpp   |   3 +
 JugFast/src/components/MC2SmearedParticle.cpp |   3 +
 JugFast/src/components/MatchClusters.cpp      |   3 +
 .../src/components/ParticlesWithTruthPID.cpp  |   3 +
 .../components/SmearedFarForwardParticles.cpp |   4 +-
 JugFast/src/components/TruthClustering.cpp    |   3 +
 .../TruthEnergyPositionClusterMerger.cpp      |   3 +
 JugPID/CMakeLists.txt                         |   3 +
 JugPID/src/components/FuzzyKClusters.cpp      |   4 +-
 JugPID/src/components/FuzzyKClusters.h        |   3 +
 JugPID/src/components/PhotoRingClusters.cpp   |   4 +-
 JugReco/CMakeLists.txt                        |   3 +
 JugReco/JugReco/ACTSLogger.h                  |   2 +
 JugReco/JugReco/BField.h                      |   2 +
 JugReco/JugReco/ClusterTypes.h                |   3 +-
 JugReco/JugReco/SourceLinks.h                 |   3 +-
 JugReco/src/components/CalorimeterHitReco.cpp |   3 +
 .../CalorimeterHitsEtaPhiProjector.cpp        |   4 +-
 .../src/components/CalorimeterHitsMerger.cpp  |   4 +-
 .../components/CalorimeterIslandCluster.cpp   |   4 +-
 JugReco/src/components/ClusterRecoCoG.cpp     |   4 +-
 .../EnergyPositionClusterMerger.cpp           |   3 +
 .../src/components/FarForwardParticles.cpp    |   4 +-
 .../src/components/FarForwardParticlesOMD.cpp |   3 +
 JugReco/src/components/ImagingClusterReco.cpp |   4 +-
 .../components/ImagingPixelDataCombiner.cpp   |   4 +-
 .../src/components/ImagingPixelDataSorter.cpp |   4 +-
 JugReco/src/components/ImagingPixelMerger.cpp |   4 +-
 JugReco/src/components/ImagingPixelReco.cpp   |   3 +
 JugReco/src/components/ImagingTopoCluster.cpp |   4 +-
 .../src/components/InclusiveKinematicsDA.cpp  |   3 +
 .../InclusiveKinematicsElectron.cpp           |   3 +
 .../src/components/InclusiveKinematicsJB.cpp  |   3 +
 .../components/InclusiveKinematicsSigma.cpp   |   3 +
 .../components/InclusiveKinematicseSigma.cpp  |   3 +
 JugReco/src/components/ParticleCollector.cpp  |   3 +
 .../src/components/PhotoMultiplierReco.cpp    |   4 +-
 JugReco/src/components/SimpleClustering.cpp   |   3 +
 .../components/TrackerHitReconstruction.cpp   |   4 +-
 .../src/components/TrackingHitsCollector.cpp  |   3 +
 .../src/components/TrackingHitsCollector2.cpp |   3 +
 JugTrack/CMakeLists.txt                       |   3 +
 JugTrack/JugTrack/ACTSLogger.h                |   3 +-
 JugTrack/JugTrack/Measurement.hpp             |   3 +
 JugTrack/JugTrack/ProtoTrack.hpp              |   3 +
 JugTrack/JugTrack/SourceLinks.h               |   4 +-
 JugTrack/JugTrack/Trajectories.hpp            |   3 +
 .../src/components/ActsTrajectoryReader.cpp   |   3 +
 JugTrack/src/components/CKFTracking.cpp       |   4 +-
 JugTrack/src/components/CKFTracking.h         |   3 +
 .../src/components/CKFTrackingFunction.cpp    |   3 +
 .../components/ConformalXYPeakProtoTracks.cpp |   3 +
 .../src/components/FinderAlgoTemplate.cpp     |   3 +
 JugTrack/src/components/GenFitTrackFitter.cpp |   3 +
 JugTrack/src/components/GenFitTrackFitter.h   |   3 +
 .../components/HoughTransformProtoTracks.cpp  |   3 +
 .../src/components/ParticlesFromTrackFit.cpp  |   3 +
 .../src/components/ProtoTrackMatching.cpp     |   3 +
 .../components/SingleTrackSourceLinker.cpp    |   4 +-
 JugTrack/src/components/TestACTSLogger.cpp    |   3 +
 JugTrack/src/components/TestACTSLogger.h      |   3 +
 .../src/components/TrackFindingAlgorithm.cpp  |   4 +-
 .../src/components/TrackFindingAlgorithm.h    |   3 +
 .../TrackFindingAlgorithmFunction.cpp         |   3 +
 .../src/components/TrackFittingAlgorithm.cpp  |   3 +
 .../src/components/TrackFittingAlgorithm.h    |   3 +
 .../src/components/TrackFittingFunction.cpp   |   3 +
 .../src/components/TrackParamClusterInit.cpp  |   4 +-
 .../TrackParamImagingClusterInit.cpp          |   4 +-
 .../src/components/TrackParamTruthInit.cpp    |   4 +-
 .../TrackParamVertexClusterInit.cpp           |   4 +-
 JugTrack/src/components/TrackProjector.cpp    |   3 +
 .../src/components/TrackerSourceLinker.cpp    |   4 +-
 .../components/TrackingHitsSourceLinker.cpp   |   3 +
 .../src/components/TrajectoryFromTrackFit.cpp |   3 +
 JugTrack/src/components/TruthTrackSeeding.cpp |   4 +-
 LICENSE                                       | 166 ++++++++++++++++++
 LICENSE.spdx                                  |   6 +
 114 files changed, 503 insertions(+), 32 deletions(-)
 create mode 100644 LICENSE
 create mode 100644 LICENSE.spdx

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 78ba2e48..a7c56299 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 79c4ec60..395cb49e 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 9c6430fe..9c1b0bae 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 32fd1dd6..20395b7b 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 589c77f6..6795659f 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 5e73ae9e..16d4f187 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 ad9f2522..897cbcbb 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 23de77eb..786d4697 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 05576a53..7a20b298 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 02f055a2..9895f56a 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 32e70331..e7692af7 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 1b7b10d9..c343df39 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 7e84dc61..9e52dfce 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 7d425225..d7132b0a 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 2db0c448..fa12a3ad 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 aff0df2e..7e6cabf8 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 6ea1ed8b..f0b10e6b 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 1255af32..83400c1d 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 b10079a8..2eddc4b6 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 98adf2a9..d8ea3034 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 580b95d2..1b3e3e29 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 b084b8ff..fb5aba54 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 4f31fba8..2bc60b95 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 1c5a807f..8268ff27 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 e104751f..18685ecf 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 eefd45fe..27938784 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 3bd8e216..5bb64086 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 b427f12a..4299fd44 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 136567cb..7d03a53f 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 8ecaeb4a..b42c1dd7 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 bc64b304..1dbab9c4 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 18f8ef1f..c5a5480c 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 16f237de..4789ce2f 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 26c4cd61..ebd80c5e 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 9fd5127a..45510497 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 f7c68c72..179d528b 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 09e2f86d..0a25f355 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 1e2b5f7d..b3e691d9 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 cd522e24..e8a26d7e 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 4f4a970b..bb95854b 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 6d1ae3bd..d58b7fae 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 ac2c788a..35ce7eaf 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 58d3bce6..1e336bc4 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 8c6b02b0..dceb2a7f 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 080e8031..d6465444 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 c8a876ae..c84b9d0a 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 6138ce4d..921c31b2 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 a8df545b..475dbd90 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 0b19f3ae..016dd2ef 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 0d3bb15a..7ab85a41 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 0d70dbe3..9b91fcea 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 da20190c..4c5fe8f1 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 8924afe7..8833cfb6 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 991ab749..fe927357 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 4cccc7d2..a451b04f 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 a78fd837..194f6476 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 3273cca9..b79284d1 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 0c402629..ff3aa388 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 df3c25e9..828ee361 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 3ece3e8f..3a14f8ca 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 6ea87d03..9d128ec2 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 ab1ccc52..dc1c1399 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 90bdd817..84cea6c8 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 1dbbfd31..f641a945 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 0f325d12..0685fb0c 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 a70c66ce..39cd0f7b 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 9f9e4c5c..07f48805 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 a3ff9924..c33a84a3 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 8b6e164c..517d5660 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 1da3fce0..c2084e6e 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 7efdca65..ce82b3ed 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 2bd46017..24e28b5c 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 d6a28ee9..141446bc 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 d394d953..446a7362 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 90a669c6..b6692087 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 287e7027..21723149 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 b9dfb8cd..da51534c 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 288e0c2c..649bd428 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 0b19f3ae..d217de1e 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 7af36fa3..1b9defaf 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 8cd59e84..4cb86fc5 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 926f5ea6..898ace3d 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 a104661b..d849cfb3 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 c2159f5e..e5e641ac 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 7ba11272..bf5835a5 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 375ef4a1..cdcf079d 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 be6893eb..aeb831ab 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 7c232d1c..5ee77192 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 a5a6ef2c..0425abdd 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 a7d896ee..f8c52aa2 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 466df1db..8f2e254a 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 29c580c0..579bf29e 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 c46d2737..1cae1331 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 64b0055e..5065a54f 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 ffe16f13..27306f29 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 0d7e83d6..c706b7d1 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 2f9526b2..31af7eb5 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 40634be0..af741758 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 ac6ed014..d860d42d 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 921b3e26..ce5a8fce 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 ffe927a0..6fa13441 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 2b4c312d..6f193da3 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 1f2f7e80..1259722d 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 2a6018fb..538bcc8f 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 78367723..7260951e 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 fa45cf47..07b58b0a 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 5c143d62..1e128190 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 d5a26aad..b16ba3ab 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 763ff7a8..4fd9cd8b 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 803b4b2e..5f48371e 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 d5a26aad..b16ba3ab 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 231c2c84..d6505510 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 00000000..c8fb0528
--- /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 00000000..83c92dc7
--- /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
-- 
GitLab