Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoMuon_TrackingTools_MuonTrajectoryCleaner_H
0002 #define RecoMuon_TrackingTools_MuonTrajectoryCleaner_H
0003 
0004 /** \class MuonTrajectoryCleaner
0005  *  No description available.
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 "FWCore/Framework/interface/Event.h"
0013 #include <vector>
0014 
0015 //class Event;
0016 class MuonTrajectoryCleaner {
0017 public:
0018   typedef MuonCandidate::TrajectoryContainer TrajectoryContainer;
0019   typedef MuonCandidate::CandidateContainer CandidateContainer;
0020 
0021   /// Constructor
0022   MuonTrajectoryCleaner() : reportGhosts_(false) {}
0023 
0024   /// Constructor for L2 muons (enable reportGhosts)
0025   MuonTrajectoryCleaner(bool reportGhosts) : reportGhosts_(reportGhosts) {}
0026 
0027   /// Destructor
0028   virtual ~MuonTrajectoryCleaner(){};
0029 
0030   // Operations
0031 
0032   /// Clean the trajectories container, erasing the (worst) clone trajectory
0033   void clean(TrajectoryContainer& muonTrajectories,
0034              edm::Event& evt,
0035              const edm::Handle<edm::View<TrajectorySeed> >& seeds);  //used by reference...
0036 
0037   /// Clean the candidates container, erasing the (worst) clone trajectory
0038   void clean(CandidateContainer& muonTrajectories);  //used by reference...
0039 
0040 protected:
0041 private:
0042   bool reportGhosts_;
0043 };
0044 #endif