CMS 3D CMS Logo

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

Classes

struct  PathAndFlags
 

Public Member Functions

void clear ()
 
void init (const HLTConfigProvider &conf)
 
const std::vector< PathAndFlags > & operator[] (const std::string &filter) const
 

Private Member Functions

void insert (const std::string &filter, const std::string &path, unsigned int pathIndex, bool lastFilter, bool l3Filter)
 

Private Attributes

const std::vector< PathAndFlagsempty_
 
std::map< std::string,
std::vector< PathAndFlags > > 
map_
 

Detailed Description

Definition at line 126 of file PATTriggerProducer.h.

Member Function Documentation

void pat::PATTriggerProducer::ModuleLabelToPathAndFlags::clear ( void  )
inline

Definition at line 137 of file PATTriggerProducer.h.

References map_.

Referenced by init().

137 { map_.clear(); }
std::map< std::string, std::vector< PathAndFlags > > map_
void PATTriggerProducer::ModuleLabelToPathAndFlags::init ( const HLTConfigProvider conf)

Definition at line 1034 of file PATTriggerProducer.cc.

References clear(), insert(), HLTConfigProvider::moduleEDMType(), HLTConfigProvider::moduleLabels(), HLTConfigProvider::moduleType(), CommPDSkim_cfg::saveTags, HLTConfigProvider::saveTags(), AlCaHLTBitMon_QueryRunRegistry::string, and HLTConfigProvider::triggerNames().

Referenced by pat::PATTriggerProducer::beginRun().

1034  {
1035  clear();
1036  const std::vector<std::string> & pathNames = hltConfig_.triggerNames();
1037  unsigned int sizePaths = pathNames.size();
1038  for ( unsigned int indexPath = 0; indexPath < sizePaths; ++indexPath ) {
1039  const std::string & namePath = pathNames[indexPath];
1040 
1041  const std::vector<std::string> & nameModules = hltConfig_.moduleLabels(indexPath);
1042  unsigned int sizeModulesPath = nameModules.size();
1043  bool lastFilter = true;
1044  unsigned int iM = sizeModulesPath;
1045  while (iM > 0) {
1046  const std::string & nameFilter = nameModules[--iM];
1047  if (hltConfig_.moduleEDMType(nameFilter) != "EDFilter") continue;
1048  if (hltConfig_.moduleType(nameFilter) == "HLTBool") continue;
1049  bool saveTags = hltConfig_.saveTags(nameFilter);
1050  insert( nameFilter, namePath, indexPath, lastFilter, saveTags );
1051  if (saveTags) lastFilter = false; // FIXME: rather always?
1052  }
1053  }
1054 }
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
const std::string moduleType(const std::string &module) const
C++ class name of module.
HLTConfigProvider hltConfig_
const std::vector< std::string > & triggerNames() const
names of trigger paths
void insert(const std::string &filter, const std::string &path, unsigned int pathIndex, bool lastFilter, bool l3Filter)
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
void pat::PATTriggerProducer::ModuleLabelToPathAndFlags::insert ( const std::string &  filter,
const std::string &  path,
unsigned int  pathIndex,
bool  lastFilter,
bool  l3Filter 
)
inlineprivate

Definition at line 143 of file PATTriggerProducer.h.

References alcazmumu_cfi::filter, and map_.

Referenced by BeautifulSoup.PageElement::_invert(), and init().

143  {
144  map_[filter].push_back(PathAndFlags(path, pathIndex, lastFilter, l3Filter));
145  }
tuple path
else: Piece not in the list, fine.
std::map< std::string, std::vector< PathAndFlags > > map_
const std::vector<PathAndFlags>& pat::PATTriggerProducer::ModuleLabelToPathAndFlags::operator[] ( const std::string &  filter) const
inline

Definition at line 138 of file PATTriggerProducer.h.

References empty_, and map_.

138  {
139  std::map<std::string,std::vector<PathAndFlags> >::const_iterator it = map_.find(filter);
140  return (it == map_.end() ? empty_ : it->second);
141  }
std::map< std::string, std::vector< PathAndFlags > > map_

Member Data Documentation

const std::vector<PathAndFlags> pat::PATTriggerProducer::ModuleLabelToPathAndFlags::empty_
private

Definition at line 147 of file PATTriggerProducer.h.

Referenced by operator[]().

std::map<std::string,std::vector<PathAndFlags> > pat::PATTriggerProducer::ModuleLabelToPathAndFlags::map_
private

Definition at line 146 of file PATTriggerProducer.h.

Referenced by clear(), insert(), and operator[]().