File indexing completed on 2023-03-17 11:20:52
0001 #ifndef RecoMuon_TrackerSeedGenerator_SeedMvaEstimator_h
0002 #define RecoMuon_TrackerSeedGenerator_SeedMvaEstimator_h
0003
0004 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
0005 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0006 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
0007 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0008 #include "DataFormats/TrajectoryState/interface/LocalTrajectoryParameters.h"
0009
0010 #include "DataFormats/L1Trigger/interface/Muon.h"
0011
0012 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
0013 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0014
0015 #include <memory>
0016
0017 class GBRForest;
0018
0019 namespace edm {
0020 class FileInPath;
0021 }
0022
0023 class SeedMvaEstimator {
0024 public:
0025 SeedMvaEstimator(const edm::FileInPath& weightsfile,
0026 const std::vector<double>& scale_mean,
0027 const std::vector<double>& scale_std,
0028 const bool isFromL1,
0029 const int minL1Qual);
0030 ~SeedMvaEstimator();
0031
0032 double computeMva(const TrajectorySeed&,
0033 const GlobalVector&,
0034 const l1t::MuonBxCollection&,
0035 const reco::RecoChargedCandidateCollection&) const;
0036
0037 private:
0038 std::unique_ptr<const GBRForest> gbrForest_;
0039 const std::vector<double> scale_mean_;
0040 const std::vector<double> scale_std_;
0041 const bool isFromL1_;
0042 const int minL1Qual_;
0043
0044 void getL1MuonVariables(const GlobalVector&, const l1t::MuonBxCollection&, float&, float&) const;
0045 void getL2MuonVariables(const GlobalVector&, const reco::RecoChargedCandidateCollection&, float&, float&) const;
0046 };
0047 #endif