00001 // -*- C++ -*- 00002 // Package: HLTMuonTauAnalyzer 00003 // Class: HLTMuonTauAnalyzer 00006 // Original Author: Sho Maruyama, from Muriel Vander Donckt's code 00007 // Created: Tue Jul 24 12:17:12 CEST 2007 00008 // $Id: HLTMuonTauAnalyzer.cc,v 1.2 2008/08/20 18:32:59 smaruyam Exp $ 00009 00010 #include "HLTriggerOffline/Tau/interface/HLTMuonTauAnalyzer.h" 00011 typedef std::vector< edm::ParameterSet > Parameters; 00012 00013 HLTMuonTauAnalyzer::HLTMuonTauAnalyzer(const edm::ParameterSet& pset) 00014 { 00015 Parameters TriggerLists=pset.getParameter<Parameters>("TriggerCollection"); 00016 NumberOfTriggers=TriggerLists.size(); 00017 for( int index=0; index < NumberOfTriggers; index++) { 00018 HLTMuonRate *hmg=new HLTMuonRate(pset,index); 00019 muTriggerAnalyzer.push_back(hmg); 00020 } 00021 } 00022 00023 HLTMuonTauAnalyzer::~HLTMuonTauAnalyzer() 00024 { 00025 using namespace edm; 00026 for ( std::vector<HLTMuonRate *>::iterator iTrig = muTriggerAnalyzer.begin(); iTrig != muTriggerAnalyzer.end(); ++iTrig){ 00027 delete *iTrig; 00028 } 00029 muTriggerAnalyzer.clear(); 00030 } 00031 00032 void 00033 HLTMuonTauAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) 00034 { 00035 using namespace edm; 00036 for ( std::vector<HLTMuonRate *>::iterator iTrig = muTriggerAnalyzer.begin(); iTrig != muTriggerAnalyzer.end(); ++iTrig){ 00037 (*iTrig)->analyze(iEvent); 00038 } 00039 } 00040 00041 void 00042 HLTMuonTauAnalyzer::beginJob(const edm::EventSetup&) 00043 { 00044 for ( std::vector<HLTMuonRate *>::iterator iTrig = muTriggerAnalyzer.begin(); iTrig != muTriggerAnalyzer.end(); ++iTrig){ 00045 (*iTrig)->BookHistograms(); 00046 } 00047 } 00048 00049 void 00050 HLTMuonTauAnalyzer::endJob() { 00051 using namespace edm; 00052 for ( std::vector<HLTMuonRate *>::iterator iTrig = muTriggerAnalyzer.begin(); iTrig != muTriggerAnalyzer.end(); ++iTrig){ 00053 (*iTrig)->WriteHistograms(); 00054 } 00055 } 00056 00057 //DEFINE_FWK_MODULE(HLTMuonTauAnalyzer);