Skip to content

Commit

Permalink
Add a non-linearity correction plugin for the ECAL
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadlener committed Jun 6, 2024
1 parent 322a32d commit c98906b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/DDPandoraPFANewProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ class DDPandoraPFANewProcessor : public marlin::Processor

FloatVector m_inputEnergyCorrectionPoints{}; ///< The input energy points for non-linearity energy correction
FloatVector m_outputEnergyCorrectionPoints{}; ///< The output energy points for non-linearity energy correction

FloatVector m_ecalInputEnergyCorrectionPoints{}; ///< The input energy points for non-linearity energy correction in the ECAL
FloatVector m_ecalOutputEnergyCorrectionPoints{}; ///< The input energy points for non-linearity energy correction in the ECAL

// Software compensation parameters
FloatVector m_softCompParameters{};
Expand Down
14 changes: 14 additions & 0 deletions src/DDPandoraPFANewProcessor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,9 @@ pandora::StatusCode DDPandoraPFANewProcessor::RegisterUserComponents() const
PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, LCContent::RegisterNonLinearityEnergyCorrection(*m_pPandora,
"NonLinearity", pandora::HADRONIC, m_settings.m_inputEnergyCorrectionPoints, m_settings.m_outputEnergyCorrectionPoints));

PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, LCContent::RegisterNonLinearityEnergyCorrection(*m_pPandora,
"ECALClusterCorrection", pandora::ELECTROMAGNETIC, m_settings.m_ecalInputEnergyCorrectionPoints, m_settings.m_ecalOutputEnergyCorrectionPoints));

PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterAlgorithmFactory(*m_pPandora,
"ExternalClustering", new DDExternalClusteringAlgorithm::Factory));

Expand Down Expand Up @@ -795,6 +798,17 @@ void DDPandoraPFANewProcessor::ProcessSteeringFile()
m_settings.m_outputEnergyCorrectionPoints,
FloatVector());

// ECAL energy non-linearity correction
registerProcessorParameter("ECALInputEnergyCorrectionPoints",
"The input energy points for electromagnetic energy correction",
m_settings.m_ecalInputEnergyCorrectionPoints,
FloatVector());

registerProcessorParameter("ECALOutputEnergyCorrectionPoints",
"The output energy points for electromagnetic energy correction",
m_settings.m_ecalOutputEnergyCorrectionPoints,
FloatVector());


///EXTRA PARAMETERS FROM NIKIFOROS
registerProcessorParameter("TrackCreatorName",
Expand Down

0 comments on commit c98906b

Please sign in to comment.