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 }
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 
54  public:
55 
57 
58  std::vector<std::string> modelNames() const { return names_; }
59 
60  bool eval( const std::string& name,
61  reco::PreId& ecal,
62  reco::PreId& hcal,
63  double rho,
64  const reco::BeamSpot& spot,
65  noZS::EcalClusterLazyTools& ecalTools ) const;
66 
67  private:
68 
69  std::vector<std::string> names_;
70  std::vector< std::unique_ptr<const GBRForest> > models_;
71  std::vector<double> thresholds_;
72 
73  };
74 }
75 
76 #endif // RecoEgamma_EgammaElectronProducers_LowPtGsfElectronSeedHeavyObjectCache_h
std::vector< std::unique_ptr< const GBRForest > > models_
fixed size matrix
std::vector< std::string > modelNames() const