Back to home page

Project CMSSW displayed by LXR

 
 

    


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