CMS 3D CMS Logo

TSGForRoadSearch.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackerSeedGenerator_TSGForRoadSearch_H
2 #define RecoMuon_TrackerSeedGenerator_TSGForRoadSearch_H
3 
22 
33 
35 
39 
40 class TrackingRegion;
41 class MuonServiceProxy;
43 class TrackerTopology;
44 
46 public:
47  typedef std::vector<TrajectorySeed> BTSeedCollection;
48  typedef std::pair<const Trajectory *, reco::TrackRef> TrackCand;
49 
51 
52  ~TSGForRoadSearch() override;
53 
55  void init(const MuonServiceProxy *service) override;
57  void setEvent(const edm::Event &event) override;
58 
60  void trackerSeeds(const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &) override;
61 
62 private:
63  //concrete implementation
65  void makeSeeds_0(const reco::Track &, std::vector<TrajectorySeed> &);
67  void makeSeeds_1(const reco::Track &, std::vector<TrajectorySeed> &);
69  void makeSeeds_2(const reco::Track &, std::vector<TrajectorySeed> &);
71  void makeSeeds_3(const reco::Track &, std::vector<TrajectorySeed> &);
73  void makeSeeds_4(const reco::Track &, std::vector<TrajectorySeed> &);
74 
75 private:
77  bool IPfts(const reco::Track &, FreeTrajectoryState &);
80 
83 
86  std::vector<DetLayer::DetWithState> &compatible,
87  PropagationDirection direction,
88  std::vector<TrajectorySeed> &result) const;
90 
93 
97 
100 
101  unsigned int theOption;
110 
112 };
113 
114 #endif
edm::InputTag theMeasurementTrackerEventTag
edm::ESHandle< GeometricSearchTracker > theGeometricSearchTracker
edm::ESHandle< Propagator > thePropCompatible
bool IPfts(const reco::Track &, FreeTrajectoryState &)
get the FTS for a Track: adjusting the error matrix if requested
edm::ESHandle< MeasurementTracker > theMeasurementTracker
void makeSeeds_2(const reco::Track &, std::vector< TrajectorySeed > &)
not implemented
void trackerSeeds(const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &) override
generated seed(s) for a track. the tracking region is not used.
edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerEventToken
PropagationDirection
std::vector< TrajectorySeed > BTSeedCollection
bool theAdjustAtIp
adjust the state at IP or where it is defined for the seed
std::string theCategory
edm::ParameterSet theConfig
void init(const MuonServiceProxy *service) override
initialize the service
std::pair< const Trajectory *, reco::TrackRef > TrackCand
bool notAtIPtsos(TrajectoryStateOnSurface &state)
make the adjustement away from PCA state if requested
Chi2MeasurementEstimator * theChi2Estimator
TSGForRoadSearch(const edm::ParameterSet &pset, edm::ConsumesCollector &IC)
void setEvent(const edm::Event &event) override
set the event: update the MeasurementTracker
void makeSeeds_1(const reco::Track &, std::vector< TrajectorySeed > &)
not implemented
const MuonServiceProxy * theProxyService
const MeasurementTrackerEvent * theMeasurementTrackerEvent
void makeSeeds_3(const reco::Track &, std::vector< TrajectorySeed > &)
outside-in: outermost Strip layer
void makeSeeds_0(const reco::Track &, std::vector< TrajectorySeed > &)
oseed from inside-out: innermost Strip layer
MuonErrorMatrix * theErrorMatrixAdjuster
void pushTrajectorySeed(const reco::Track &muon, std::vector< DetLayer::DetWithState > &compatible, PropagationDirection direction, std::vector< TrajectorySeed > &result) const
add the seed(s) to the collection of seeds
std::string thePropagatorCompatibleName
edm::ESHandle< Propagator > theProp
void makeSeeds_4(const reco::Track &, std::vector< TrajectorySeed > &)
inside-out: innermost Pixel/Strip layer
std::string thePropagatorName
~TSGForRoadSearch() override
unsigned int theOption
TrajectoryStateUpdator * theUpdator
Definition: event.py:1