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 <TH1D.h>
0009 #include <TH2D.h>
0010 #include <TMath.h>
0011 
0012 #include <edm4eic/RawTrackerHitCollection.h>
0013 #include <edm4eic/MCRecoTrackerHitAssociationCollection.h>
0014 
0015 #include "Tools.h"
0016 
0017 namespace benchmarks {
0018 
0019   class RawHitAnalysis {
0020 
0021     public:
0022 
0023       RawHitAnalysis() = default;
0024       ~RawHitAnalysis() {}
0025 
0026       // algorithm methods
0027       void AlgorithmInit(std::shared_ptr<spdlog::logger>& logger);
0028       void AlgorithmProcess(
0029           const edm4eic::RawTrackerHitCollection& raw_hits,
0030           const edm4eic::MCRecoTrackerHitAssociationCollection& assocs
0031           );
0032       void AlgorithmFinish();
0033 
0034     private:
0035 
0036       // binning
0037       const int adc_max = std::pow(2,10);
0038       const int tdc_max = std::pow(2,10);
0039 
0040       // histograms
0041       TH1D *m_adc_dist;
0042       TH1D *m_tdc_dist;
0043       TH2D *m_tdc_vs_adc;
0044       TH1D *m_phot_spectrum;
0045       TH1D *m_nhits_dist;
0046 
0047       // logging
0048       std::shared_ptr<spdlog::logger> m_log;
0049 
0050   };
0051 
0052 }