Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef MuonIsolationProducers_MuIsoDepositProducer_H
0002 #define MuonIsolationProducers_MuIsoDepositProducer_H
0003 
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 
0007 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
0008 #include <string>
0009 
0010 namespace edm {
0011   class Event;
0012 }
0013 namespace edm {
0014   class EventSetup;
0015 }
0016 
0017 class MuIsoDepositProducer : public edm::stream::EDProducer<> {
0018 public:
0019   //! constructor
0020   MuIsoDepositProducer(const edm::ParameterSet&);
0021 
0022   //! destructor
0023   ~MuIsoDepositProducer() override;
0024 
0025   //! data making method
0026   void produce(edm::Event&, const edm::EventSetup&) override;
0027 
0028 private:
0029   //! input type. Choose from:
0030   //!
0031   std::string theInputType;
0032 
0033   bool theExtractForCandidate;
0034 
0035   std::string theMuonTrackRefType;
0036   edm::EDGetToken theMuonCollectionTag;
0037   std::vector<std::string> theDepositNames;
0038   bool theMultipleDepositsFlag;
0039   std::unique_ptr<reco::isodeposit::IsoDepositExtractor> theExtractor;
0040 };
0041 #endif