Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoMuon_MuonIdentification_MuonReducedTrackExtraProducer_H
0002 #define RecoMuon_MuonIdentification_MuonReducedTrackExtraProducer_H
0003 
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/Utilities/interface/InputTag.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0012 #include "DataFormats/TrackReco/interface/TrackExtraFwd.h"
0013 #include "DataFormats/Common/interface/DetSetVectorNew.h"
0014 #include "CommonTools/Utils/interface/StringCutObjectSelector.h"
0015 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h"
0016 #include "DataFormats/Common/interface/Association.h"
0017 
0018 class SiPixelCluster;
0019 class SiStripCluster;
0020 
0021 class MuonReducedTrackExtraProducer : public edm::stream::EDProducer<> {
0022 public:
0023   MuonReducedTrackExtraProducer(const edm::ParameterSet&);
0024 
0025   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0026 
0027   void produce(edm::Event&, const edm::EventSetup&) override;
0028 
0029 private:
0030   const edm::EDGetTokenT<edm::View<reco::Muon>> muonToken_;
0031   std::vector<edm::EDGetTokenT<reco::TrackExtraCollection>> trackExtraTokens_;
0032   std::vector<edm::EDGetTokenT<edm::Association<reco::TrackExtraCollection>>> trackExtraAssocs_;
0033   edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster>> pixelClusterToken_;
0034   edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster>> stripClusterToken_;
0035   const bool outputClusters_;
0036   const StringCutObjectSelector<reco::Muon> selector_;
0037   const edm::EDPutTokenT<reco::TrackExtraCollection> trackExtraOutToken_;
0038   const edm::EDPutTokenT<TrackingRecHitCollection> trackingRecHitsOutToken_;
0039   edm::EDPutTokenT<edmNew::DetSetVector<SiPixelCluster>> pixelClusterOutToken_;
0040   edm::EDPutTokenT<edmNew::DetSetVector<SiStripCluster>> stripClusterOutToken_;
0041   const edm::EDPutTokenT<edm::Association<reco::TrackExtraCollection>> associationOutToken_;
0042 };
0043 #endif