34 nameHltTable_(nameHltTable),
55 : nameL1Menu_(nameL1Menu),
56 nameHltTable_(nameHltTable),
79 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
90 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
111 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
113 if (bitAlgorithm == iAlgorithm->bit() && techAlgorithm == iAlgorithm->techTrigger())
114 return iAlgorithm->name();
121 unsigned iAlgorithm(0);
130 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
132 if (iAlgorithm->decision()) {
138 return theAcceptedAlgorithms;
144 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
146 if (iAlgorithm->gtlResult()) {
152 return theAcceptedAlgorithms;
158 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
160 if (iAlgorithm->techTrigger()) {
166 return theTechAlgorithms;
172 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
174 if (iAlgorithm->techTrigger() && iAlgorithm->decision()) {
180 return theAcceptedTechAlgorithms;
186 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
188 if (iAlgorithm->techTrigger() && iAlgorithm->gtlResult()) {
194 return theAcceptedTechAlgorithms;
200 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
202 if (!iAlgorithm->techTrigger()) {
208 return thePhysAlgorithms;
214 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
216 if (!iAlgorithm->techTrigger() && iAlgorithm->decision()) {
222 return theAcceptedPhysAlgorithms;
228 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
230 if (!iAlgorithm->techTrigger() && iAlgorithm->gtlResult()) {
236 return theAcceptedPhysAlgorithms;
242 for (TriggerConditionCollection::const_iterator iCondition =
conditions()->begin(); iCondition !=
conditions()->end();
244 const std::string nameCondition(iCondition->name());
248 return theConditions;
253 for (TriggerConditionCollection::const_iterator iCondition =
conditions()->begin(); iCondition !=
conditions()->end();
255 if (nameCondition == iCondition->name())
266 if (nameCondition == (*iCondition)->name())
274 unsigned iCondition(0);
283 for (TriggerConditionCollection::const_iterator iCondition =
conditions()->begin(); iCondition !=
conditions()->end();
285 if (iCondition->wasAccept()) {
286 const std::string nameCondition(iCondition->name());
291 return theAcceptedConditions;
297 for (TriggerPathCollection::const_iterator iPath =
paths()->begin(); iPath !=
paths()->end(); ++iPath) {
307 for (TriggerPathCollection::const_iterator iPath =
paths()->begin(); iPath !=
paths()->end(); ++iPath) {
308 if (namePath == iPath->name())
317 if (namePath == (*iPath)->name())
326 while (iPath <
paths()->size() &&
paths()->at(iPath).
name() != namePath)
334 for (TriggerPathCollection::const_iterator iPath =
paths()->begin(); iPath !=
paths()->end(); ++iPath) {
335 if (iPath->wasAccept()) {
341 return theAcceptedPaths;
347 for (TriggerFilterCollection::const_iterator iFilter =
filters()->begin(); iFilter !=
filters()->end(); ++iFilter) {
357 for (TriggerFilterCollection::const_iterator iFilter =
filters()->begin(); iFilter !=
filters()->end(); ++iFilter) {
358 if (labelFilter == iFilter->label())
368 if (labelFilter == (*iFilter)->label())
385 for (TriggerFilterCollection::const_iterator iFilter =
filters()->begin(); iFilter !=
filters()->end(); ++iFilter) {
386 if (iFilter->status() == 1) {
392 return theAcceptedFilters;
398 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
408 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
409 if (
objects()->at(iObject).hasTriggerObjectType(triggerObjectType)) {
421 for (
unsigned iC = 0; iC < algorithmPtr->conditionKeys().size(); ++iC) {
426 return theAlgorithmConditions;
444 size_t cAlgorithms(0);
445 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
454 return theConditionAlgorithms;
459 std::vector<std::string> theConditionCollections;
461 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
462 if (conditionPtr->hasObjectKey(iObject)) {
465 for (std::vector<std::string>::const_iterator iC = theConditionCollections.begin();
466 iC != theConditionCollections.end();
468 if (*iC == objectCollection) {
474 theConditionCollections.push_back(objectCollection);
479 return theConditionCollections;
486 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
487 if (conditionPtr->hasObjectKey(iObject)) {
489 theConditionObjects.
push_back(objectRef);
493 return theConditionObjects;
499 return conditionPtr->hasObjectKey(objectRef.
key());
506 for (TriggerConditionCollection::const_iterator iCondition =
conditions()->begin(); iCondition !=
conditions()->end();
508 const std::string nameCondition(iCondition->name());
514 return theObjectConditions;
523 const std::string nameCondition((*iCondition)->name());
529 return theAlgorithmObjects;
546 for (TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->begin(); iAlgorithm !=
algorithms()->end();
554 return theObjectAlgorithms;
561 if (!pathPtr->modules().empty()) {
562 const unsigned onePastLastFilter =
all ? pathPtr->modules().size() : pathPtr->lastActiveFilterSlot() + 1;
563 for (
unsigned iM = 0; iM < onePastLastFilter; ++iM) {
564 const std::string labelFilter(pathPtr->modules().at(iM));
570 return thePathFilters;
577 for (
unsigned iF = 0; iF < pathPtr->filterIndices().size(); ++iF) {
583 return thePathFilters;
600 for (TriggerPathCollection::const_iterator iPath =
paths()->begin(); iPath !=
paths()->end(); ++iPath) {
608 return theFilterPaths;
613 std::vector<std::string> theFilterCollections;
615 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
616 if (filterPtr->hasObjectKey(iObject)) {
619 for (std::vector<std::string>::const_iterator iC = theFilterCollections.begin();
620 iC != theFilterCollections.end();
622 if (*iC == objectCollection) {
628 theFilterCollections.push_back(objectCollection);
633 return theFilterCollections;
640 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject) {
641 if (filterPtr->hasObjectKey(iObject)) {
647 return theFilterObjects;
653 return filterPtr->hasObjectKey(objectRef.
key());
660 for (TriggerFilterCollection::const_iterator iFilter =
filters()->begin(); iFilter !=
filters()->end(); ++iFilter) {
664 if ((!firing) || iFilter->isFiring())
668 return theObjectFilters;
676 const std::string labelFilter((*iFilter)->label());
682 return thePathObjects;
698 for (TriggerPathCollection::const_iterator iPath =
paths()->begin(); iPath !=
paths()->end(); ++iPath) {
705 return theObjectPaths;
719 std::vector<std::string> theMatchers;
723 theMatchers.push_back(iMatch->first);
731 return iMatch->second.get();
const TriggerPath * path(const std::string &namePath) const
Analysis-level L1 trigger algorithm class.
TriggerAlgorithmRefVector acceptedAlgorithmsGtl() const
Get a vector of references to all L1 algorithms succeeding on the GTL board.
TriggerConditionRefProd conditions_
Reference to pat::TriggerConditionCollection in event.
bool objectInAlgorithm(const TriggerObjectRef &objectRef, const std::string &nameAlgorithm) const
Checks, if an object was used in a certain algorithm given by name.
edm::Ref< TriggerPathCollection > TriggerPathRef
Persistent reference to an item in a TriggerPathCollection.
edm::Ref< TriggerAlgorithmCollection > TriggerAlgorithmRef
Persistent reference to an item in a TriggerAlgorithmCollection.
TriggerConditionRefVector acceptedConditions() const
Get a vector of references to all succeeding L1 condition.
const TriggerPathRefVector pathRefs() const
std::vector< std::string > filterCollections(const std::string &labelFilter) const
Get a list of all trigger object collections used in a certain filter given by name.
TriggerConditionRefVector algorithmConditions(const std::string &nameAlgorithm) const
TriggerAlgorithmRefVector objectAlgorithms(const TriggerObjectRef &objectRef) const
Get a vector of references to all algorithms, which have a certain object assigned.
bool conditionInAlgorithm(const TriggerConditionRef &conditionRef, const std::string &nameAlgorithm) const
Checks, if a condition is assigned to a certain algorithm given by name.
TriggerPathRefVector objectPaths(const TriggerObjectRef &objectRef, bool firing=true) const
Get a vector of references to all paths, which have a certain object assigned.
edm::Ref< TriggerConditionCollection > TriggerConditionRef
Persistent reference to an item in a TriggerConditionCollection.
unsigned indexCondition(const std::string &nameCondition) const
TriggerAlgorithmRefVector physAlgorithms() const
Get a vector of references to all physics L1 algorithms.
const TriggerCondition * condition(const std::string &nameCondition) const
TriggerConditionRefVector objectConditions(const TriggerObjectRef &objectRef) const
Get a vector of references to all conditions, which have a certain object assigned.
TriggerAlgorithmRefVector acceptedPhysAlgorithmsGtl() const
Get a vector of references to all physics L1 algorithms succeeding on the GTL board.
const TriggerObjectMatchContainer * triggerObjectMatchResults() const
Get all trigger matches.
TriggerEvent()
Constructors and Desctructor.
TriggerPathRefProd paths_
Reference to pat::TriggerPathCollection in event.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool filterInPath(const TriggerFilterRef &filterRef, const std::string &namePath, bool firing=true) const
Checks, if a filter is assigned to and was run in a certain path given by name.
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
unsigned indexFilter(const std::string &labelFilter) const
TriggerAlgorithmRefVector acceptedAlgorithms() const
Get a vector of references to all succeeding L1 algorithms.
key_type key() const
Accessor for product key.
const TriggerPathRef pathRef(const std::string &namePath) const
TriggerAlgorithmRefVector acceptedPhysAlgorithms() const
Get a vector of references to all succeeding physics L1 algorithms.
TriggerAlgorithmRefProd algorithms_
TriggerFilterRefVector acceptedFilters() const
Get a vector of references to all succeeding HLT filters.
std::vector< std::string > triggerMatchers() const
Get a list of all linked trigger matches.
unsigned indexAlgorithm(const std::string &nameAlgorithm) const
const TriggerAlgorithmCollection * algorithms() const
TriggerAlgorithmRefVector acceptedTechAlgorithms() const
Get a vector of references to all succeeding technical L1 algorithms.
TriggerPathRefVector filterPaths(const TriggerFilterRef &filterRef, bool firing=true) const
Get a vector of references to all paths, which have a certain filter assigned.
TriggerObjectRefVector conditionObjects(const std::string &nameCondition) const
Get a vector of references to all objects, which were used in a certain condition given by name...
Analysis-level HLTrigger filter class.
const TriggerObjectMatch * triggerObjectMatchResult(const std::string &labelMatcher) const
unsigned indexPath(const std::string &namePath) const
TriggerAlgorithmRefVector acceptedTechAlgorithmsGtl() const
Get a vector of references to all technical L1 algorithms succeeding on the GTL board.
Analysis-level L1 trigger condition class.
bool addObjectMatchResult(const TriggerObjectMatchRefProd &trigMatches, const std::string &labelMatcher)
TriggerFilterRefVector pathFilters(const std::string &namePath, bool firing=true) const
Get a vector of references to all active HLT filters assigned to a certain path given by name...
TriggerObjectRefVector algorithmObjects(const std::string &nameAlgorithm) const
Get a vector of references to all objects, which were used in a certain algorithm given by name...
std::vector< std::string > conditionCollections(const std::string &nameAlgorithm) const
Get a list of all trigger object collections used in a certain condition given by name...
TriggerFilterRefVector objectFilters(const TriggerObjectRef &objectRef, bool firing=true) const
Get a vector of references to all filters, which have a certain object assigned.
TriggerObjectRefVector pathObjects(const std::string &namePath, bool firing=true) const
Get a vector of references to all objects, which were used in a certain path given by name...
const TriggerFilter * filter(const std::string &labelFilter) const
TriggerFilterRefProd filters_
Reference to pat::TriggerAlgorithmCollection in event.
bool objectInFilter(const TriggerObjectRef &objectRef, const std::string &labelFilter) const
Checks, if an object was used in a certain filter given by name.
const TriggerObjectRefVector objectRefs() const
const_iterator end() const
Termination of iteration.
bool objectInCondition(const TriggerObjectRef &objectRef, const std::string &nameCondition) const
Checks, if an object was used in a certain condition given by name.
const TriggerFilterRef filterRef(const std::string &labelFilter) const
TriggerObjectRefVector filterObjects(const std::string &labelFilter) const
Get a vector of references to all objects, which were used in a certain filter given by name...
const TriggerConditionCollection * conditions() const
TriggerAlgorithmRefVector techAlgorithms() const
Get a vector of references to all technical L1 algorithms.
edm::Ref< TriggerFilterCollection > TriggerFilterRef
Persistent reference to an item in a TriggerFilterCollection.
TriggerPathRefVector acceptedPaths() const
Get a vector of references to all succeeding HLT paths.
std::string nameAlgorithm(const unsigned bitAlgorithm, const bool techAlgorithm=true) const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
TriggerObjectRefProd objects_
Reference to pat::TriggerObjectCollection in event.
const TriggerAlgorithmRefVector algorithmRefs() const
const TriggerConditionRef conditionRef(const std::string &nameCondition) const
TriggerObjectMatchContainer objectMatchResults_
Table of references to pat::TriggerObjectMatch associations in event.
const_iterator begin() const
Initialize an iterator over the RefVector.
bool objectInPath(const TriggerObjectRef &objectRef, const std::string &namePath, bool firing=true) const
Checks, if an object was used in a certain path given by name.
TriggerFilterRefVector pathModules(const std::string &namePath, bool all=true) const
const TriggerAlgorithm * algorithm(const std::string &nameAlgorithm) const
const TriggerFilterCollection * filters() const
const TriggerObjectCollection * objects() const
const TriggerAlgorithmRef algorithmRef(const std::string &nameAlgorithm) const
const TriggerPathCollection * paths() const
const TriggerConditionRefVector conditionRefs() const
const TriggerFilterRefVector filterRefs() const
TriggerAlgorithmRefVector conditionAlgorithms(const TriggerConditionRef &conditionRef) const
Get a vector of references to all algorithms, which have a certain condition assigned.