00001 // -*- C++ -*- 00002 // 00003 // Package: SecSourceAnalyzer 00004 // Class: SecSourceAnalyzer 00005 // 00008 // 00009 // Original Author: Emilia Lubenova Becheva 00010 // Created: Wed Apr 22 16:54:31 CEST 2009 00011 // $Id: SecSourceAnalyzer.h,v 1.3 2011/07/05 00:38:58 mikeh Exp $ 00012 // 00013 // 00014 00015 #ifndef SecSourceAnalyzer_h 00016 #define SecSourceAnalyzer_h 00017 00018 // system include files 00019 #include <memory> 00020 00021 #include "boost/shared_ptr.hpp" 00022 00023 // user include files 00024 #include "FWCore/Framework/interface/Frameworkfwd.h" 00025 #include "FWCore/Framework/interface/EDAnalyzer.h" 00026 00027 #include "FWCore/Framework/interface/Event.h" 00028 #include "FWCore/Framework/interface/MakerMacros.h" 00029 00030 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00031 00032 #include "DataFormats/Provenance/interface/EventID.h" 00033 00034 #include "Mixing/Base/interface/PileUp.h" 00035 00036 00037 // 00038 // class decleration 00039 // 00040 namespace edm 00041 { 00042 class SecSourceAnalyzer : public edm::EDAnalyzer { 00043 public: 00044 00045 typedef PileUp::EventPrincipalVector EventPrincipalVector; 00046 00047 explicit SecSourceAnalyzer(const edm::ParameterSet&); 00048 ~SecSourceAnalyzer(); 00049 00050 virtual void Loop(const EventPrincipalVector& vec); 00051 00052 virtual void getBranches(EventPrincipal *ep); 00053 00054 private: 00055 virtual void beginJob() ; 00056 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00057 virtual void endJob() ; 00058 00059 // ----------member data --------------------------- 00060 int minBunch_; 00061 int maxBunch_; 00062 00063 bool dataStep2_; 00064 edm::InputTag label_; 00065 00066 std::vector<std::vector<edm::EventID> > vectorEventIDs_; 00067 00068 boost::shared_ptr<PileUp> input_; 00069 00070 std::vector<EventPrincipalVector> pileup_[5]; 00071 std::vector< float > TrueNumInteractions_[5]; 00072 00073 InputTag tag_; 00074 00075 }; 00076 }//edm 00077 #endif