CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SETSeedFinder.h
Go to the documentation of this file.
1 #ifndef MuonSeedGenerator_SETSeedFinder_h
2 #define MuonSeedGenerator_SETSeedFinder_h
3 
8 #include "CLHEP/Matrix/Vector.h"
9 #include "CLHEP/Vector/ThreeVector.h"
10 
12 public:
14 
15  explicit SETSeedFinder(const edm::ParameterSet& pset);
16  ~SETSeedFinder() override { delete thePtExtractor; }
18  void setBField(const MagneticField* field) override {}
19 
27  void seeds(const MuonRecHitContainer& cluster, std::vector<TrajectorySeed>& result) override;
28 
29  void setServiceProxy(MuonServiceProxy* service) { theService = service; }
30 
31  std::vector<MuonRecHitContainer> sortByLayer(MuonRecHitContainer& cluster) const;
32 
33  //---- For protection against huge memory consumtion
34  void limitCombinatorics(std::vector<MuonRecHitContainer>& MuonRecHitContainer_perLayer);
35 
36  std::vector<MuonRecHitContainer> findAllValidSets(
37  const std::vector<MuonRecHitContainer>& MuonRecHitContainer_perLayer);
38 
39  std::pair<int, int> checkAngleDeviation(double dPhi_1, double dPhi_2) const;
40 
41  void validSetsPrePruning(std::vector<MuonRecHitContainer>& allValidSets);
42 
43  void pre_prune(MuonRecHitContainer& validSet) const;
44 
45  std::vector<SeedCandidate> fillSeedCandidates(std::vector<MuonRecHitContainer>& allValidSets);
46 
47  void estimateMomentum(const MuonRecHitContainer& validSet, CLHEP::Hep3Vector& momentum, int& charge) const;
48 
51 
52 private:
54 
57 };
58 
59 #endif
void setServiceProxy(MuonServiceProxy *service)
Definition: SETSeedFinder.h:29
bool apply_prePruning
Definition: SETSeedFinder.h:55
std::pair< int, int > checkAngleDeviation(double dPhi_1, double dPhi_2) const
void pre_prune(MuonRecHitContainer &validSet) const
bool useSegmentsInTrajectory
Definition: SETSeedFinder.h:56
TrajectorySeed makeSeed(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit::ConstRecHitContainer &hits) const
std::vector< MuonRecHitContainer > sortByLayer(MuonRecHitContainer &cluster) const
void estimateMomentum(const MuonRecHitContainer &validSet, CLHEP::Hep3Vector &momentum, int &charge) const
tuple result
Definition: mps_fire.py:311
void setBField(const MagneticField *field) override
ignore - uses MuonServiceProxy
Definition: SETSeedFinder.h:18
~SETSeedFinder() override
Definition: SETSeedFinder.h:16
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: SETSeedFinder.h:13
std::vector< ConstRecHitPointer > ConstRecHitContainer
MuonSeedPtExtractor * thePtExtractor
void limitCombinatorics(std::vector< MuonRecHitContainer > &MuonRecHitContainer_perLayer)
void seeds(const MuonRecHitContainer &cluster, std::vector< TrajectorySeed > &result) override
std::vector< MuonRecHitContainer > findAllValidSets(const std::vector< MuonRecHitContainer > &MuonRecHitContainer_perLayer)
MuonServiceProxy * theService
Definition: SETSeedFinder.h:53
void validSetsPrePruning(std::vector< MuonRecHitContainer > &allValidSets)
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
std::vector< SeedCandidate > fillSeedCandidates(std::vector< MuonRecHitContainer > &allValidSets)
std::vector< MuonRecHitPointer > MuonRecHitContainer
SETSeedFinder(const edm::ParameterSet &pset)