00001 // 00002 // modified & integrated by Giovanni Abbiendi 00003 // from code by Arun Luthra: UserCode/luthra/MuonTrackSelector/src/MuonTrackSelector.cc 00004 // 00005 #ifndef MCTruth_MuonTrackProducer_h 00006 #define MCTruth_MuonTrackProducer_h 00007 00008 #include <memory> 00009 #include "FWCore/Framework/interface/EDProducer.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "DataFormats/MuonReco/interface/MuonFwd.h" 00013 #include "DataFormats/MuonReco/interface/Muon.h" 00014 #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h" 00015 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h" 00016 00017 class MuonTrackProducer : public edm::EDProducer { 00018 public: 00019 explicit MuonTrackProducer(const edm::ParameterSet&); 00020 ~MuonTrackProducer(); 00021 00022 private: 00023 virtual void produce(edm::Event&, const edm::EventSetup&); 00024 00025 edm::Handle<reco::MuonCollection> muonCollectionH; 00026 edm::Handle<DTRecSegment4DCollection> dtSegmentCollectionH_; 00027 edm::Handle<CSCSegmentCollection> cscSegmentCollectionH_; 00028 00029 edm::InputTag muonsTag; 00030 edm::InputTag inputDTRecSegment4DCollection_; 00031 edm::InputTag inputCSCSegmentCollection_; 00032 std::vector<std::string> selectionTags; 00033 std::string trackType; 00034 const edm::ParameterSet parset_; 00035 }; 00036 00037 #endif