Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-01 07:56:14

0001 // Copyright 2023, Christopher Dilks
0002 // Subject to the terms in the LICENSE file found in the top-level directory.
0003 
0004 #pragma once
0005 
0006 #include <spdlog/spdlog.h>
0007 
0008 #include <TH2D.h>
0009 #include <TGraphErrors.h>
0010 
0011 #include <edm4eic/MCRecoParticleAssociationCollection.h>
0012 #include <edm4hep/utils/kinematics.h>
0013 
0014 #include "Tools.h"
0015 
0016 namespace benchmarks {
0017 
0018   class ReconstructedParticleAnalysis {
0019 
0020     public:
0021       ReconstructedParticleAnalysis() = default;
0022       ~ReconstructedParticleAnalysis() {}
0023 
0024       // algorithm methods
0025       void AlgorithmInit(std::shared_ptr<spdlog::logger>& logger);
0026       void AlgorithmProcess(
0027           const edm4eic::MCRecoParticleAssociationCollection& in_assocs
0028           );
0029       void AlgorithmFinish();
0030 
0031     private:
0032 
0033       // plots
0034       TGraphErrors *m_correct_vs_p;
0035       TH2D         *m_correct_vs_p_transient; // (not written)
0036 
0037       // additional objects
0038       std::shared_ptr<spdlog::logger> m_log;
0039 
0040   };
0041 
0042 }