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