Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:04:46

0001 #ifndef TrackingAnalysis_PSimHitSelector_h
0002 #define TrackingAnalysis_PSimHitSelector_h
0003 
0004 #include <map>
0005 #include <string>
0006 #include <vector>
0007 
0008 #include "FWCore/Framework/interface/ConsumesCollector.h"
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 
0013 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0014 
0015 //! PSimHitSelector class
0016 class PSimHitSelector {
0017 public:
0018   typedef std::vector<PSimHit> PSimHitCollection;
0019 
0020   //! Constructor by pset.
0021   /* Creates a MuonPSimHitSelector with association given by pset.
0022 
0023      /param[in] pset with the configuration values
0024   */
0025   PSimHitSelector(edm::ParameterSet const &, edm::ConsumesCollector &);
0026   std::string mixLabel_;
0027 
0028   //! Virtual destructor.
0029   virtual ~PSimHitSelector() = default;
0030 
0031   //! Select the psimhit add them to a PSimHitCollection
0032   virtual void select(PSimHitCollection &, edm::Event const &, edm::EventSetup const &) const;
0033 
0034 protected:
0035   typedef std::map<std::string, std::vector<std::string>> PSimHitCollectionMap;
0036 
0037   PSimHitCollectionMap pSimHitCollectionMap_;
0038 };
0039 
0040 #endif