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;
45 
47 public:
48  typedef std::vector<TrajectorySeed> BTSeedCollection;
49  typedef std::pair<const Trajectory *, reco::TrackRef> TrackCand;
50 
52 
53  ~TSGForRoadSearch() override;
54 
56  void init(const MuonServiceProxy *service) override;
58  void setEvent(const edm::Event &event) override;
59 
61  void trackerSeeds(const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &) override;
62 
63 private:
64  //concrete implementation
66  void makeSeeds_0(const reco::Track &, std::vector<TrajectorySeed> &);
68  void makeSeeds_1(const reco::Track &, std::vector<TrajectorySeed> &);
70  void makeSeeds_2(const reco::Track &, std::vector<TrajectorySeed> &);
72  void makeSeeds_3(const reco::Track &, std::vector<TrajectorySeed> &);
74  void makeSeeds_4(const reco::Track &, std::vector<TrajectorySeed> &);
75 
76 private:
78  bool IPfts(const reco::Track &, FreeTrajectoryState &);
81 
84 
87  std::vector<DetLayer::DetWithState> &compatible,
88  PropagationDirection direction,
89  std::vector<TrajectorySeed> &result) const;
91 
94 
98 
101 
102  unsigned int theOption;
109 
111 };
112 
113 #endif
edm::InputTag theMeasurementTrackerEventTag
edm::ESHandle< GeometricSearchTracker > theGeometricSearchTracker
edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecord > theGeometricSearchTrackerToken
bool IPfts(const reco::Track &, FreeTrajectoryState &)
get the FTS for a Track: adjusting the error matrix if requested
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::pair< const Trajectory *, reco::TrackRef > TrackCand
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
std::vector< TrajectorySeed > BTSeedCollection
std::string thePropagatorCompatibleName
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
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