CMS 3D CMS Logo

LowPtGsfElectronSeedHeavyObjectCache.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_EgammaElectronProducers_LowPtGsfElectronSeedHeavyObjectCache_h
2 #define RecoEgamma_EgammaElectronProducers_LowPtGsfElectronSeedHeavyObjectCache_h
3 
7 #include <vector>
8 
9 namespace reco {
10  class BeamSpot;
11  class PreId;
12 } // namespace reco
13 
14 namespace lowptgsfeleseed {
15 
16  class Features {
17  public:
18  float trk_pt_ = -1.;
19  float trk_eta_ = -1.;
20  float trk_phi_ = -1.;
21  float trk_p_ = -1.;
22  float trk_nhits_ = -1.;
23  float trk_high_quality_ = -1.;
24  float trk_chi2red_ = -1.;
25  float rho_ = -1.;
26  float ktf_ecal_cluster_e_ = -1.;
27  float ktf_ecal_cluster_deta_ = -42.;
28  float ktf_ecal_cluster_dphi_ = -42.;
29  float ktf_ecal_cluster_e3x3_ = -1.;
30  float ktf_ecal_cluster_e5x5_ = -1.;
31  float ktf_ecal_cluster_covEtaEta_ = -42.;
32  float ktf_ecal_cluster_covEtaPhi_ = -42.;
33  float ktf_ecal_cluster_covPhiPhi_ = -42.;
34  float ktf_ecal_cluster_r9_ = -0.1;
35  float ktf_ecal_cluster_circularity_ = -0.1;
36  float ktf_hcal_cluster_e_ = -1.;
37  float ktf_hcal_cluster_deta_ = -42.;
38  float ktf_hcal_cluster_dphi_ = -42.;
39  float preid_gsf_dpt_ = -1.;
40  float preid_trk_gsf_chiratio_ = -1.;
41  float preid_gsf_chi2red_ = -1.;
42  float trk_dxy_sig_ = -1.; // must be last (not used by unbiased model)
43  public:
44  std::vector<float> get();
45  void set(const reco::PreId& ecal,
46  const reco::PreId& hcal,
47  double rho,
48  const reco::BeamSpot& spot,
49  noZS::EcalClusterLazyTools& ecalTools);
50  };
51 
53  public:
55 
56  std::vector<std::string> modelNames() const { return names_; }
57 
58  bool eval(const std::string& name,
61  double rho,
62  const reco::BeamSpot& spot,
63  noZS::EcalClusterLazyTools& ecalTools) const;
64 
65  private:
66  std::vector<std::string> names_;
67  std::vector<std::unique_ptr<const GBRForest> > models_;
68  std::vector<double> thresholds_;
69  };
70 } // namespace lowptgsfeleseed
71 
72 #endif // RecoEgamma_EgammaElectronProducers_LowPtGsfElectronSeedHeavyObjectCache_h
fixed size matrix
std::vector< std::string > modelNames() const
std::vector< std::unique_ptr< const GBRForest > > models_