00001 #ifndef NTupler_H 00002 #define NTupler_H 00003 00004 00005 #include "FWCore/Framework/interface/Frameworkfwd.h" 00006 #include "FWCore/Framework/interface/EDProducer.h" 00007 #include "FWCore/Framework/interface/EDFilter.h" 00008 #include <FWCore/Framework/interface/ProducerBase.h> 00009 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "TTree.h" 00012 00013 /* 00014 * Description: 00015 * placeholder for common ntuplizer tools 00016 * 00017 */ 00018 00019 //base generic class 00020 00021 class NTupler { 00022 public: 00023 NTupler() : useTFileService_(false){} 00024 virtual ~NTupler(){} 00025 00026 virtual uint registerleaves(edm::ProducerBase * producer) =0; 00027 virtual void fill(edm::Event& iEvent)=0; 00028 protected: 00029 bool useTFileService_; 00030 TTree * tree_; 00031 }; 00032 00033 #include "FWCore/PluginManager/interface/PluginFactory.h" 00034 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00035 00036 typedef edmplugin::PluginFactory< NTupler* (const edm::ParameterSet&) > NTuplerFactory; 00037 00038 #endif