File indexing completed on 2024-04-06 12:24:48
0001 #ifndef RecoEgamma_EgammaElectronProducers_LowPtGsfElectronFeatures_h
0002 #define RecoEgamma_EgammaElectronProducers_LowPtGsfElectronFeatures_h
0003
0004 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0005 #include "DataFormats/Common/interface/Ptr.h"
0006 #include "DataFormats/Common/interface/Ref.h"
0007 #include "DataFormats/Common/interface/RefToPtr.h"
0008 #include "DataFormats/Common/interface/View.h"
0009 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0010 #include "DataFormats/ParticleFlowReco/interface/PreId.h"
0011 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
0012 #include <vector>
0013
0014 namespace reco {
0015 class Track;
0016 }
0017
0018 namespace lowptgsfeleseed {
0019
0020 std::vector<float> features(const reco::PreId& ecal,
0021 const reco::PreId& hcal,
0022 double rho,
0023 const reco::BeamSpot& spot,
0024 noZS::EcalClusterLazyTools& ecalTools);
0025
0026 }
0027
0028 namespace lowptgsfeleid {
0029
0030
0031 std::vector<float> features_V1(
0032 reco::GsfElectron const& ele, float rho, float unbiased, float field_z, const reco::Track* trk = nullptr);
0033
0034
0035 std::vector<float> features_V0(reco::GsfElectron const& ele, float rho, float unbiased);
0036
0037
0038 void findEnergeticClusters(reco::SuperCluster const&, int&, float&, float&, int&, int&);
0039
0040
0041 void trackClusterMatching(reco::SuperCluster const&,
0042 reco::GsfTrack const&,
0043 bool const&,
0044 GlobalPoint const&,
0045 float&,
0046 float&,
0047 float&,
0048 float&,
0049 float&,
0050 float&,
0051 float&,
0052 float&,
0053 float&);
0054
0055 }
0056
0057 #endif