OnlinePopConAnalyzer

Macros

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#ifndef CONDCORE_POPCON_ONLINEPOPCONANALYZER_H
#define CONDCORE_POPCON_ONLINEPOPCONANALYZER_H

//
// Authors:
//  - Francesco Brivio (Milano-Bicocca)
//  - Jan Chyczynski   (AGH University of Krakow)
//

#include "CondCore/PopCon/interface/OnlinePopCon.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include <vector>

namespace popcon {
  template <typename S>
  class OnlinePopConAnalyzer : public edm::one::EDAnalyzer<> {
  public:
    typedef S SourceHandler;

    OnlinePopConAnalyzer(const edm::ParameterSet& pset)
        : m_populator(pset), m_source(pset.getParameter<edm::ParameterSet>("Source")) {}

    ~OnlinePopConAnalyzer() override {}

  protected:
    SourceHandler& source() { return m_source; }

  private:
    void beginJob() override {}
    void endJob() override { write(); }

    void analyze(const edm::Event&, const edm::EventSetup&) override {}

    void write() { m_populator.write(m_source); }

  private:
    OnlinePopCon m_populator;
    SourceHandler m_source;
  };

}  // namespace popcon
#endif  // CONDCORE_POPCON_ONLINEPOPCONANALYZER_H