Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:17

0001 #ifndef RecoMuon_TrackingTools_DirectMuonTrajectoryBuilder_H
0002 #define RecoMuon_TrackingTools_DirectMuonTrajectoryBuilder_H
0003 
0004 /** \class DirectMuonTrajectoryBuilder
0005  *  Class which takes a trajectory seed and fit its hits, returning a Trajectory container
0006  *
0007  *  \author R. Bellan - INFN Torino
0008  */
0009 
0010 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0011 #include "RecoMuon/TrackingTools/interface/MuonCandidate.h"
0012 #include "RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h"
0013 #include <vector>
0014 
0015 class MuonServiceProxy;
0016 class SeedTransformer;
0017 class TrajectorySeed;
0018 
0019 namespace edm {
0020   class ParameterSet;
0021   class ConsumesCollector;
0022 }  // namespace edm
0023 
0024 class DirectMuonTrajectoryBuilder : public MuonTrajectoryBuilder {
0025 public:
0026   /// constructor
0027   DirectMuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*, edm::ConsumesCollector);
0028 
0029   /// destructor
0030   ~DirectMuonTrajectoryBuilder() override;
0031 
0032   /// return a container of the reconstructed trajectories compatible with a given seed
0033   TrajectoryContainer trajectories(const TrajectorySeed&) override;
0034 
0035   /// return a container reconstructed muons starting from a given track
0036   CandidateContainer trajectories(const TrackCand&) override;
0037 
0038   /// pass the Event to the algo at each event
0039   void setEvent(const edm::Event& event) override;
0040 
0041 private:
0042   const MuonServiceProxy* theService;
0043   SeedTransformer* theSeedTransformer;
0044 };
0045 #endif