CMS 3D CMS Logo

CosmicMuonSeedGenerator.h
Go to the documentation of this file.
1 #ifndef MuonSeedGenerator_CosmicMuonSeedGenerator_H
2 #define MuonSeedGenerator_CosmicMuonSeedGenerator_H
3 
13 
17 
18 #include <vector>
19 
21 
23 
24 namespace edm {class ParameterSet; class Event; class EventSetup;}
25 
27  public:
28 
31 
33  virtual ~CosmicMuonSeedGenerator();
34 
35  // Operations
36 
38  virtual void produce(edm::Event&, const edm::EventSetup&) override;
39 
40  private:
41 
42  struct MuonRecHitPair {
44 
48  };
49 
50  typedef std::vector<MuonRecHitPair> MuonRecHitPairVector;
51 
53  void createSeeds(TrajectorySeedCollection& results,
55  const edm::EventSetup& eSetup) const;
56 
57 
58  void createSeeds(TrajectorySeedCollection& results,
60  const edm::EventSetup& eSetup) const;
61 
63  bool checkQuality(const MuonTransientTrackingRecHit::MuonRecHitPointer&) const;
64 
67 
69  std::vector<TrajectorySeed> createSeed(const MuonTransientTrackingRecHit::MuonRecHitPointer&,
70  const edm::EventSetup&) const;
71 
72 
73  std::vector<MuonRecHitPair> makeSegPairs(const MuonTransientTrackingRecHit::MuonRecHitContainer&, const MuonTransientTrackingRecHit::MuonRecHitContainer&, std::string) const;
74 
76  std::vector<TrajectorySeed> createSeed(const MuonRecHitPair&,
77  const edm::EventSetup&) const;
78 
79  TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface&, uint32_t) const;
80  TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface&, uint32_t, edm::OwnVector<TrackingRecHit>&) const;
81 
83  bool areCorrelated(const MuonTransientTrackingRecHit::MuonRecHitPointer&,
85 
87  bool leftIsBetter(const MuonTransientTrackingRecHit::MuonRecHitPointer&,
89 
93  return lhs->globalPosition().y() > rhs->globalPosition().y();
94  }
95  };
96 
97  private:
100 
103 
106 
109 
111  unsigned int theMaxSeeds;
112 
114  double theMaxDTChi2;
119 
120  std::map<std::string, float> theParameters;
121 
123 
124 };
125 #endif
126 
type
Definition: HCALResponse.h:21
edm::ESHandle< MagneticField > theField
unsigned int theMaxSeeds
the maximum number of Seeds
MuonTransientTrackingRecHit::MuonRecHitPointer first
double theMaxDTChi2
the maximum chi2 required for dt and csc rechits
U second(std::pair< T, U > const &p)
edm::InputTag theDTRecSegmentLabel
the name of the DT rec hits collection
std::vector< TrajectorySeed > TrajectorySeedCollection
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
edm::ESHandle< MuonDetLayerGeometry > theMuonLayers
std::map< std::string, float > theParameters
std::vector< MuonRecHitPair > MuonRecHitPairVector
MuonDetLayerMeasurements * muonMeasurements
bool theEnableCSCFlag
enable CSCSegment Flag
double b
Definition: hdecay.h:120
bool theEnableDTFlag
enable DT Segment Flag
edm::InputTag theCSCRecSegmentLabel
the name of the CSC rec hits collection
MuonTransientTrackingRecHit::MuonRecHitPointer second
bool operator()(const MuonTransientTrackingRecHit::ConstMuonRecHitPointer &lhs, const MuonTransientTrackingRecHit::ConstMuonRecHitPointer &rhs) const
MuonRecHitPair(const MuonTransientTrackingRecHit::MuonRecHitPointer &a, const MuonTransientTrackingRecHit::MuonRecHitPointer &b, std::string c="")
HLT enums.
double a
Definition: hdecay.h:121
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
T first(std::pair< T, U > const &p)
std::vector< MuonRecHitPointer > MuonRecHitContainer