File indexing completed on 2024-09-07 04:37:23
0001 #ifndef PhysicsTools_SelectorUtils_CutApplicatorWithEventContentBase_h
0002 #define PhysicsTools_SelectorUtils_CutApplicatorWithEventContentBase_h
0003
0004
0005
0006
0007
0008 #include "PhysicsTools/SelectorUtils/interface/CutApplicatorBase.h"
0009 #include "DataFormats/Common/interface/ValueMap.h"
0010 #include "DataFormats/Provenance/interface/ProductID.h"
0011
0012 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
0013 #include "FWCore/Framework/interface/ConsumesCollector.h"
0014 #include <unordered_map>
0015 #else
0016 #include <map>
0017 #endif
0018
0019 class CutApplicatorWithEventContentBase : public CutApplicatorBase {
0020 public:
0021 CutApplicatorWithEventContentBase() : CutApplicatorBase() {}
0022
0023 CutApplicatorWithEventContentBase(const edm::ParameterSet& c) : CutApplicatorBase(c) {}
0024
0025 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
0026 CutApplicatorWithEventContentBase(const CutApplicatorWithEventContentBase&) = delete;
0027 CutApplicatorWithEventContentBase& operator=(const CutApplicatorWithEventContentBase&) = delete;
0028
0029 virtual void setConsumes(edm::ConsumesCollector&) = 0;
0030 #endif
0031
0032 virtual void getEventContent(const edm::EventBase&) = 0;
0033
0034
0035 ~CutApplicatorWithEventContentBase() override {}
0036
0037 protected:
0038 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
0039 std::unordered_map<std::string, edm::InputTag> contentTags_;
0040 std::unordered_map<std::string, edm::EDGetToken> contentTokens_;
0041 #else
0042 std::map<std::string, edm::InputTag> contentTags_;
0043 #endif
0044 };
0045
0046 #endif