CMS 3D CMS Logo

EDAnalyzerWrapper.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_UtilAlgos_interface_EDAnalyzerWrapper_h
2 #define PhysicsTools_UtilAlgos_interface_EDAnalyzerWrapper_h
3 
4 #include <boost/shared_ptr.hpp>
5 
10 
11 
45 namespace edm {
46 
47  template<class T>
48  class AnalyzerWrapper : public EDAnalyzer {
49 
50  public:
54  virtual ~AnalyzerWrapper(){};
56  virtual void beginJob() { analyzer_->beginJob(); }
58  virtual void analyze(edm::Event const & event, const edm::EventSetup& eventSetup){ analyzer_->analyze(event); }
60  virtual void endJob() { analyzer_->endJob(); }
61 
62  protected:
64  boost::shared_ptr<T> analyzer_;
65  };
66 
68  template<class T>
70  // defined TFileService
72  // create analysis class of type BasicAnalyzer
73  analyzer_ = boost::shared_ptr<T>( new T( cfg, fileService->tFileDirectory(), consumesCollector()) );
74  }
75 
76 }
77 
78 #endif
virtual ~AnalyzerWrapper()
default destructor
virtual void analyze(edm::Event const &event, const edm::EventSetup &eventSetup)
everything which has to be done during the event loop. NOTE: We can&#39;t use the eventSetup in FWLite so...
virtual void endJob()
everything which has to be done after the event loop
TFileDirectory & tFileDirectory()
Definition: TFileService.h:42
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
virtual void beginJob()
everything which has to be done before the event loop
edm::Service< TFileService > fileService
AnalyzerWrapper(const edm::ParameterSet &cfg)
default contructor
HLT enums.
boost::shared_ptr< T > analyzer_
shared pointer to analysis class of type BasicAnalyzer
long double T
Definition: event.py:1