CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes
pat::PackedTriggerPrescales Class Reference

#include <PackedTriggerPrescales.h>

Public Member Functions

void addPrescaledTrigger (int index, int prescale)
 
int getPrescaleForIndex (int index) const
 
int getPrescaleForName (const std::string &name, bool prefixOnly=false) const
 
 PackedTriggerPrescales ()
 
 PackedTriggerPrescales (const edm::Handle< edm::TriggerResults > &handle)
 
void setTriggerNames (const edm::TriggerNames &names)
 
const edm::TriggerResultstriggerResults () const
 
 ~PackedTriggerPrescales ()
 

Protected Attributes

std::vector< int > prescaleValues_
 
const edm::TriggerNamestriggerNames_
 
edm::RefCore triggerResults_
 

Detailed Description

Definition at line 10 of file PackedTriggerPrescales.h.

Constructor & Destructor Documentation

pat::PackedTriggerPrescales::PackedTriggerPrescales ( )
inline

Definition at line 12 of file PackedTriggerPrescales.h.

12 : triggerNames_(0) {}
const edm::TriggerNames * triggerNames_
pat::PackedTriggerPrescales::PackedTriggerPrescales ( const edm::Handle< edm::TriggerResults > &  handle)

Definition at line 4 of file PackedTriggerPrescales.cc.

References prescaleValues_.

4  :
8 {
9  prescaleValues_.resize(handle->size(),0);
10 }
const edm::TriggerNames * triggerNames_
pat::PackedTriggerPrescales::~PackedTriggerPrescales ( )
inline

Definition at line 14 of file PackedTriggerPrescales.h.

14 {}

Member Function Documentation

void pat::PackedTriggerPrescales::addPrescaledTrigger ( int  index,
int  prescale 
)

Definition at line 35 of file PackedTriggerPrescales.cc.

References Exception, cmsHarvester::index, findQualityFiles::size, and triggerResults.

35  {
36  if (unsigned(index) >= triggerResults().size()) throw cms::Exception("InvalidReference", "Index out of bounds");
37  prescaleValues_[index] = prescale;
38 }
const edm::TriggerResults & triggerResults() const
tuple size
Write out results.
int pat::PackedTriggerPrescales::getPrescaleForIndex ( int  index) const

Definition at line 12 of file PackedTriggerPrescales.cc.

References Exception, cmsHarvester::index, findQualityFiles::size, and triggerResults.

12  {
13  if (unsigned(index) >= triggerResults().size()) throw cms::Exception("InvalidReference", "Index out of bounds");
14  return prescaleValues_[index];
15 }
const edm::TriggerResults & triggerResults() const
tuple size
Write out results.
int pat::PackedTriggerPrescales::getPrescaleForName ( const std::string &  name,
bool  prefixOnly = false 
) const

Definition at line 17 of file PackedTriggerPrescales.cc.

References Exception, i, cmsHarvester::index, gen::n, and cscdqm::h::names.

17  {
18  if (triggerNames_ == 0) throw cms::Exception("LogicError", "getPrescaleForName called without having called setTriggerNames first");
19  if (prefixOnly) {
20  const std::vector<std::string> &names = triggerNames_->triggerNames();
21  size_t siz = name.length()-1;
22  while (siz > 0 && (name[siz] == '*' || name[siz] == '\0')) siz--;
23  for (unsigned int i = 0, n = names.size(); i < n; ++i) {
24  if (strncmp(name.c_str(), names[i].c_str(), siz) == 0) {
25  return getPrescaleForIndex(i);
26  }
27  }
28  throw cms::Exception("InvalidReference", "Index out of bounds");
29  } else {
31  return getPrescaleForIndex(index);
32  }
33 }
int i
Definition: DBlmapReader.cc:9
static const HistoName names[]
Strings const & triggerNames() const
Definition: TriggerNames.cc:24
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
const edm::TriggerNames * triggerNames_
int getPrescaleForIndex(int index) const
void pat::PackedTriggerPrescales::setTriggerNames ( const edm::TriggerNames names)
inline

Definition at line 28 of file PackedTriggerPrescales.h.

References cscdqm::h::names, and triggerNames_.

28 { triggerNames_ = &names; }
static const HistoName names[]
const edm::TriggerNames * triggerNames_
const edm::TriggerResults& pat::PackedTriggerPrescales::triggerResults ( ) const
inline

Definition at line 22 of file PackedTriggerPrescales.h.

References triggerResults_.

22  {
23  return *edm::getProduct<edm::TriggerResults>(triggerResults_);
24  }

Member Data Documentation

std::vector<int> pat::PackedTriggerPrescales::prescaleValues_
protected

Definition at line 34 of file PackedTriggerPrescales.h.

Referenced by PackedTriggerPrescales().

const edm::TriggerNames* pat::PackedTriggerPrescales::triggerNames_
protected

Definition at line 36 of file PackedTriggerPrescales.h.

Referenced by setTriggerNames().

edm::RefCore pat::PackedTriggerPrescales::triggerResults_
protected

Definition at line 35 of file PackedTriggerPrescales.h.

Referenced by triggerResults().