CMS 3D CMS Logo

MuonTriggerRateTimeAnalyzer Class Reference

Description: <one line="" class="" summary>="">. More...

#include <HLTriggerOffline/Muon/src/MuonTriggerRateTimeAnalyzer.cc>

Inheritance diagram for MuonTriggerRateTimeAnalyzer:

edm::EDAnalyzer

List of all members.

Public Member Functions

 MuonTriggerRateTimeAnalyzer (const edm::ParameterSet &)
 ~MuonTriggerRateTimeAnalyzer ()

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()

Private Attributes

int theNumberOfTriggers
HLTMuonOverlaptheOverlapAnalyzer
std::vector< HLTMuonGenericRate * > theTriggerAnalyzers


Detailed Description

Description: <one line="" class="" summary>="">.

Implementation: <Notes on="" implementation>="">

Definition at line 39 of file MuonTriggerRateTimeAnalyzer.cc.


Constructor & Destructor Documentation

MuonTriggerRateTimeAnalyzer::MuonTriggerRateTimeAnalyzer ( const edm::ParameterSet pset  )  [explicit]

Definition at line 61 of file MuonTriggerRateTimeAnalyzer.cc.

References edm::ParameterSet::getParameter(), i, j, theNumberOfTriggers, theOverlapAnalyzer, and theTriggerAnalyzers.

00062 {
00063   vector<string> triggerNames = pset.getParameter< vector<string> >
00064                                 ("TriggerNames");
00065   string theHltProcessName = pset.getParameter<string>("HltProcessName");
00066 
00067   HLTConfigProvider hltConfig;
00068   hltConfig.init(theHltProcessName);
00069   vector<string> validTriggerNames = hltConfig.triggerNames();
00070 
00071   for( size_t i = 0; i < triggerNames.size(); i++) {
00072     bool isValidTriggerName = false;
00073     for ( size_t j = 0; j < validTriggerNames.size(); j++ )
00074       if ( triggerNames[i] == validTriggerNames[j] ) isValidTriggerName = true;
00075     if ( !isValidTriggerName ) {}   
00076     else {
00077       vector<string> moduleNames = hltConfig.moduleLabels( triggerNames[i] );
00078       HLTMuonGenericRate *analyzer;
00079       analyzer = new HLTMuonGenericRate( pset, triggerNames[i], moduleNames );
00080       theTriggerAnalyzers.push_back( analyzer );
00081     }
00082   }
00083   theOverlapAnalyzer = new HLTMuonOverlap( pset );    
00084 
00085   theNumberOfTriggers = theTriggerAnalyzers.size();  
00086 }

MuonTriggerRateTimeAnalyzer::~MuonTriggerRateTimeAnalyzer (  ) 

Definition at line 89 of file MuonTriggerRateTimeAnalyzer.cc.

References theOverlapAnalyzer, and theTriggerAnalyzers.

00090 {
00091   vector<HLTMuonGenericRate *>::iterator thisAnalyzer;
00092   for ( thisAnalyzer  = theTriggerAnalyzers.begin(); 
00093         thisAnalyzer != theTriggerAnalyzers.end(); 
00094         ++thisAnalyzer )
00095   {
00096     delete *thisAnalyzer;
00097   } 
00098   theTriggerAnalyzers.clear();
00099   delete theOverlapAnalyzer;
00100 }


Member Function Documentation

void MuonTriggerRateTimeAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 108 of file MuonTriggerRateTimeAnalyzer.cc.

References HLTMuonOverlap::analyze(), theOverlapAnalyzer, and theTriggerAnalyzers.

00109 {
00110   vector<HLTMuonGenericRate *>::iterator thisAnalyzer;
00111   for ( thisAnalyzer  = theTriggerAnalyzers.begin(); 
00112         thisAnalyzer != theTriggerAnalyzers.end(); ++thisAnalyzer )
00113     {
00114       (*thisAnalyzer)->analyze(iEvent);
00115     } 
00116   theOverlapAnalyzer ->analyze(iEvent);
00117 }

void MuonTriggerRateTimeAnalyzer::beginJob ( const edm::EventSetup  )  [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 122 of file MuonTriggerRateTimeAnalyzer.cc.

References HLTMuonOverlap::begin(), theOverlapAnalyzer, and theTriggerAnalyzers.

00123 {
00124   vector<HLTMuonGenericRate *>::iterator thisAnalyzer;
00125   for ( thisAnalyzer  = theTriggerAnalyzers.begin(); 
00126         thisAnalyzer != theTriggerAnalyzers.end(); 
00127         ++thisAnalyzer )
00128     {
00129       (*thisAnalyzer)->begin();
00130     } 
00131   theOverlapAnalyzer ->begin();
00132 }

void MuonTriggerRateTimeAnalyzer::endJob ( void   )  [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 137 of file MuonTriggerRateTimeAnalyzer.cc.

References HLTMuonOverlap::finish(), theOverlapAnalyzer, and theTriggerAnalyzers.

00137                                     {
00138   vector<HLTMuonGenericRate *>::iterator thisAnalyzer;
00139   for ( thisAnalyzer  = theTriggerAnalyzers.begin(); 
00140         thisAnalyzer != theTriggerAnalyzers.end(); 
00141         ++thisAnalyzer )
00142     {
00143       (*thisAnalyzer)->finish();
00144     }
00145   theOverlapAnalyzer ->finish();
00146 }


Member Data Documentation

int MuonTriggerRateTimeAnalyzer::theNumberOfTriggers [private]

Definition at line 50 of file MuonTriggerRateTimeAnalyzer.cc.

Referenced by MuonTriggerRateTimeAnalyzer().

HLTMuonOverlap* MuonTriggerRateTimeAnalyzer::theOverlapAnalyzer [private]

Definition at line 52 of file MuonTriggerRateTimeAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), MuonTriggerRateTimeAnalyzer(), and ~MuonTriggerRateTimeAnalyzer().

std::vector<HLTMuonGenericRate*> MuonTriggerRateTimeAnalyzer::theTriggerAnalyzers [private]

Definition at line 51 of file MuonTriggerRateTimeAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), MuonTriggerRateTimeAnalyzer(), and ~MuonTriggerRateTimeAnalyzer().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:28:54 2009 for CMSSW by  doxygen 1.5.4