Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-20 09:15:56

0001 #ifndef ELECTRONID_HH
0002 #define ELECTRONID_HH
0003 
0004 #include "podio/Frame.h"
0005 
0006 #include "edm4eic/ReconstructedParticleCollection.h"
0007 #include "edm4hep/MCParticleCollection.h"
0008 
0009 class ElectronID{
0010 
0011 public:
0012 
0013     ElectronID();
0014     ElectronID(double Ee, double Eh);
0015         ~ElectronID();
0016 
0017     inline void SetBeamEnergy(double Ee, double Eh) {mEe = Ee; mEh = Eh;}
0018     inline void SetEoPMin(double eopmin) {mEoP_min = eopmin;}   
0019     inline void SetDeltaHMin(double deltahmin) {mDeltaH_min = deltahmin;}   
0020     inline void SetIsolation(double isor, double isoe) {mIsoR = isor; mIsoE = isoe;}    
0021 
0022     void SetEvent(const podio::Frame* event); 
0023 
0024     edm4eic::ReconstructedParticleCollection FindScatteredElectron();   
0025     edm4eic::ReconstructedParticleCollection GetTruthReconElectron();   
0026     edm4hep::MCParticleCollection GetMCElectron();  
0027     edm4eic::ReconstructedParticle SelectHighestPT(const edm4eic::ReconstructedParticleCollection& rcparts);
0028     double GetCalorimeterEnergy(const edm4eic::ReconstructedParticle& rcp);
0029 
0030 private:
0031 
0032     const podio::Frame* mEvent;
0033 
0034     double mEe;
0035     double mEh;
0036 
0037     double mEoP_min;
0038     double mEoP_max;
0039     double mDeltaH_min;
0040     double mDeltaH_max;
0041     double mIsoR;
0042     double mIsoE;
0043     
0044     void CalculateParticleValues(const edm4eic::ReconstructedParticle& rcp,
0045         const edm4eic::ReconstructedParticleCollection& rcparts);
0046 
0047     double rcpart_sum_cluster_E;
0048     double rcpart_lead_cluster_E;
0049     double rcpart_isolation_E;
0050     double rcpart_deltaH;
0051 
0052 
0053 };
0054 
0055 #endif