CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CosmicMuonSeedGenerator.h
Go to the documentation of this file.
1 #ifndef MuonSeedGenerator_CosmicMuonSeedGenerator_H
2 #define MuonSeedGenerator_CosmicMuonSeedGenerator_H
3 
15 
18 
19 #include <vector>
20 
22 
24 
25 namespace edm {class ParameterSet; class Event; class EventSetup;}
26 
28  public:
29 
32 
34  virtual ~CosmicMuonSeedGenerator();
35 
36  // Operations
37 
39  virtual void produce(edm::Event&, const edm::EventSetup&);
40 
41  private:
42 
43  struct MuonRecHitPair {
45 
48  std::string type;
49  };
50 
51  typedef std::vector<MuonRecHitPair> MuonRecHitPairVector;
52 
56  const edm::EventSetup& eSetup) const;
57 
58 
61  const edm::EventSetup& eSetup) const;
62 
65 
68 
70  std::vector<TrajectorySeed> createSeed(const MuonTransientTrackingRecHit::MuonRecHitPointer&,
71  const edm::EventSetup&) const;
72 
73 
74  std::vector<MuonRecHitPair> makeSegPairs(const MuonTransientTrackingRecHit::MuonRecHitContainer&, const MuonTransientTrackingRecHit::MuonRecHitContainer&, std::string) const;
75 
77  std::vector<TrajectorySeed> createSeed(const MuonRecHitPair&,
78  const edm::EventSetup&) const;
79 
80  TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface&, uint32_t) const;
81 
85 
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;
118 
120 
121  std::map<std::string, float> theParameters;
122 
123 };
124 #endif
125 
type
Definition: HCALResponse.h:22
virtual void produce(edm::Event &, const edm::EventSetup &)
reconstruct muon&#39;s seeds
edm::ESHandle< MagneticField > theField
MuonTransientTrackingRecHit::MuonRecHitContainer selectSegments(const MuonTransientTrackingRecHit::MuonRecHitContainer &) const
select seed candidates from Segments in Event
unsigned int theMaxSeeds
the maximum number of Seeds
MuonTransientTrackingRecHit::MuonRecHitPointer first
double theMaxDTChi2
the maximum chi2 required for dt and csc rechits
bool areCorrelated(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
check if two rechits are correlated
edm::InputTag theDTRecSegmentLabel
the name of the DT rec hits collection
std::vector< TrajectorySeed > TrajectorySeedCollection
bool leftIsBetter(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
compare quality of two rechits
edm::ESHandle< MuonDetLayerGeometry > theMuonLayers
std::vector< TrajectorySeed > createSeed(const MuonTransientTrackingRecHit::MuonRecHitPointer &, const edm::EventSetup &) const
create TrajectorySeed from MuonTransientTrackingRecHit
std::map< std::string, float > theParameters
TrajectoryStateTransform * theTSTransform
std::vector< MuonRecHitPair > MuonRecHitPairVector
bool checkQuality(const MuonTransientTrackingRecHit::MuonRecHitPointer &) const
determine if a MuonTransientTrackingRecHit is qualified to build seed
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="")
double a
Definition: hdecay.h:121
std::vector< MuonRecHitPair > makeSegPairs(const MuonTransientTrackingRecHit::MuonRecHitContainer &, const MuonTransientTrackingRecHit::MuonRecHitContainer &, std::string) const
TrajectorySeed tsosToSeed(const TrajectoryStateOnSurface &, uint32_t) const
void createSeeds(TrajectorySeedCollection &results, const MuonTransientTrackingRecHit::MuonRecHitContainer &hits, const edm::EventSetup &eSetup) const
generate TrajectorySeeds and put them into results
std::vector< MuonRecHitPointer > MuonRecHitContainer
CosmicMuonSeedGenerator(const edm::ParameterSet &)
Constructor.
virtual ~CosmicMuonSeedGenerator()
Destructor.