PathStateCapture

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#include "DataFormats/Common/interface/PathStateToken.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/global/EDProducer.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"

namespace edm {
  class PathStateCapture : public global::EDProducer<> {
  public:
    explicit PathStateCapture(ParameterSet const& config) : token_(produces()) {}

    void produce(StreamID sid, Event& event, EventSetup const& setup) const final { event.emplace(token_); }

    static void fillDescriptions(ConfigurationDescriptions& descriptions);

  private:
    const edm::EDPutTokenT<PathStateToken> token_;
  };

  void PathStateCapture::fillDescriptions(ConfigurationDescriptions& descriptions) {
    edm::ParameterSetDescription desc;
    descriptions.addWithDefaultLabel(desc);
    descriptions.setComment("This EDProducer produces an edm::PathStateToken.");
  }
}  // namespace edm

#include "FWCore/Framework/interface/MakerMacros.h"
using edm::PathStateCapture;
DEFINE_FWK_MODULE(PathStateCapture);