CMS 3D CMS Logo

Classes | Public Member Functions | Private Member Functions | Private Attributes

pat::PATTriggerProducer::ModuleLabelToPathAndFlags Class Reference

List of all members.

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 105 of file PATTriggerProducer.h.


Member Function Documentation

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

Definition at line 116 of file PATTriggerProducer.h.

References map_.

Referenced by init().

{ map_.clear(); }
void PATTriggerProducer::ModuleLabelToPathAndFlags::init ( const HLTConfigProvider conf)

Definition at line 956 of file PATTriggerProducer.cc.

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

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

                                                                                          {
    clear();
    const std::vector<std::string> & pathNames = hltConfig_.triggerNames();
    unsigned int sizePaths = pathNames.size();
    for ( unsigned int indexPath = 0; indexPath < sizePaths; ++indexPath ) {
        const std::string & namePath = pathNames[indexPath];

        const std::vector<std::string> & nameModules = hltConfig_.moduleLabels(indexPath);
        unsigned int sizeModulesPath = nameModules.size();
        bool lastFilter = true;
        unsigned int iM = sizeModulesPath;
        while (iM > 0) {
            const std::string & nameFilter = nameModules[--iM];
            if (hltConfig_.moduleEDMType(nameFilter) != "EDFilter") continue;
            if (hltConfig_.moduleType(nameFilter)    == "HLTBool")  continue;
            bool saveTags = hltConfig_.saveTags(nameFilter);
            insert( nameFilter, namePath, indexPath, lastFilter, saveTags );
            if (saveTags) lastFilter = false; // FIXME: rather always?
        }
    }
}
void pat::PATTriggerProducer::ModuleLabelToPathAndFlags::insert ( const std::string &  filter,
const std::string &  path,
unsigned int  pathIndex,
bool  lastFilter,
bool  l3Filter 
) [inline, private]

Definition at line 122 of file PATTriggerProducer.h.

References alcazmumu_cfi::filter, and map_.

Referenced by init().

                                                                                                                                   {
                  map_[filter].push_back(PathAndFlags(path, pathIndex, lastFilter, l3Filter));
              }
const std::vector<PathAndFlags>& pat::PATTriggerProducer::ModuleLabelToPathAndFlags::operator[] ( const std::string &  filter) const [inline]

Definition at line 117 of file PATTriggerProducer.h.

References empty_, and map_.

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

Member Data Documentation

Definition at line 126 of file PATTriggerProducer.h.

Referenced by operator[]().

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

Definition at line 125 of file PATTriggerProducer.h.

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