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 
23 
34 
36 
40 
41 class TrackingRegion;
42 class MuonServiceProxy;
44 class TrackerTopology;
45 
47 
48 public:
49  typedef std::vector<TrajectorySeed> BTSeedCollection;
50  typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
51 
53 
54  ~TSGForRoadSearch() override;
55 
57  void init(const MuonServiceProxy *service) override;
59  void setEvent(const edm::Event &event) override;
60 
62  void trackerSeeds(const TrackCand&, const TrackingRegion&, const TrackerTopology *, BTSeedCollection&) override;
63 
64 private:
65  //concrete implementation
67  void makeSeeds_0(const reco::Track &,std::vector<TrajectorySeed> &);
69  void makeSeeds_1(const reco::Track &,std::vector<TrajectorySeed> &);
71  void makeSeeds_2(const reco::Track &,std::vector<TrajectorySeed> &);
73  void makeSeeds_3(const reco::Track &,std::vector<TrajectorySeed> &);
75  void makeSeeds_4(const reco::Track &,std::vector<TrajectorySeed> &);
76 
77 private:
79  bool IPfts(const reco::Track &, FreeTrajectoryState &);
82 
85 
87  void pushTrajectorySeed(const reco::Track & muon, std::vector<DetLayer::DetWithState > & compatible, PropagationDirection direction, std::vector<TrajectorySeed>& result)const;
89 
92 
96 
99 
100  unsigned int theOption;
109 
111 };
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::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
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