34 nameHltTable_(nameHltTable),
55 : nameL1Menu_(nameL1Menu),
56 nameHltTable_(nameHltTable),
92 if (nameAlgorithm == iAlgorithm->name())
103 if (nameAlgorithm == (*iAlgorithm)->name())
113 if (bitAlgorithm == iAlgorithm->bit() && techAlgorithm == iAlgorithm->techTrigger())
114 return iAlgorithm->name();
121 unsigned iAlgorithm(0);
132 if (iAlgorithm->decision()) {
135 theAcceptedAlgorithms.
push_back(algorithmRef);
138 return theAcceptedAlgorithms;
146 if (iAlgorithm->gtlResult()) {
149 theAcceptedAlgorithms.
push_back(algorithmRef);
152 return theAcceptedAlgorithms;
160 if (iAlgorithm->techTrigger()) {
163 theTechAlgorithms.
push_back(algorithmRef);
166 return theTechAlgorithms;
174 if (iAlgorithm->techTrigger() && iAlgorithm->decision()) {
177 theAcceptedTechAlgorithms.
push_back(algorithmRef);
180 return theAcceptedTechAlgorithms;
188 if (iAlgorithm->techTrigger() && iAlgorithm->gtlResult()) {
191 theAcceptedTechAlgorithms.
push_back(algorithmRef);
194 return theAcceptedTechAlgorithms;
202 if (!iAlgorithm->techTrigger()) {
205 thePhysAlgorithms.
push_back(algorithmRef);
208 return thePhysAlgorithms;
216 if (!iAlgorithm->techTrigger() && iAlgorithm->decision()) {
219 theAcceptedPhysAlgorithms.
push_back(algorithmRef);
222 return theAcceptedPhysAlgorithms;
230 if (!iAlgorithm->techTrigger() && iAlgorithm->gtlResult()) {
233 theAcceptedPhysAlgorithms.
push_back(algorithmRef);
236 return theAcceptedPhysAlgorithms;
244 const std::string nameCondition(iCondition->name());
248 return theConditions;
255 if (nameCondition == iCondition->name())
266 if (nameCondition == (*iCondition)->name())
274 unsigned iCondition(0);
285 if (iCondition->wasAccept()) {
286 const std::string nameCondition(iCondition->name());
288 theAcceptedConditions.
push_back(conditionRef);
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())
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;
435 if (conditionRef == *iCondition)
444 size_t cAlgorithms(0);
450 theConditionAlgorithms.
push_back(algorithmRef);
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());
508 const std::string nameCondition(iCondition->name());
511 theObjectConditions.
push_back(conditionRef);
514 return theObjectConditions;
523 const std::string nameCondition((*iCondition)->name());
529 return theAlgorithmObjects;
551 theObjectAlgorithms.
push_back(algorithmRef);
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;
590 if (filterRef == *iFilter)
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 TriggerObjectMatchContainer * triggerObjectMatchResults() const
Get all trigger matches.
TriggerConditionRefVector algorithmConditions(const std::string &nameAlgorithm) const
Analysis-level L1 trigger algorithm class.
TriggerAlgorithmRefVector physAlgorithms() const
Get a vector of references to all physics L1 algorithms.
TriggerAlgorithmRefVector acceptedAlgorithmsGtl() const
Get a vector of references to all L1 algorithms succeeding on the GTL board.
TriggerConditionRefVector objectConditions(const TriggerObjectRef &objectRef) const
Get a vector of references to all conditions, which have a certain object assigned.
TriggerConditionRefProd conditions_
Reference to pat::TriggerConditionCollection in event.
const TriggerObjectRefVector objectRefs() const
edm::Ref< TriggerPathCollection > TriggerPathRef
Persistent reference to an item in a TriggerPathCollection.
std::vector< std::string > triggerMatchers() const
Get a list of all linked trigger matches.
edm::Ref< TriggerAlgorithmCollection > TriggerAlgorithmRef
Persistent reference to an item in a TriggerAlgorithmCollection.
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.
edm::Ref< TriggerConditionCollection > TriggerConditionRef
Persistent reference to an item in a TriggerConditionCollection.
const TriggerPathRef pathRef(const std::string &namePath) const
const TriggerCondition * condition(const std::string &nameCondition) const
const TriggerConditionCollection * conditions() const
TriggerFilterRefVector acceptedFilters() const
Get a vector of references to all succeeding HLT filters.
const TriggerFilterRefVector filterRefs() const
TriggerAlgorithmRefVector acceptedTechAlgorithms() const
Get a vector of references to all succeeding technical L1 algorithms.
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...
key_type key() const
Accessor for product key.
TriggerEvent()
Constructors and Desctructor.
TriggerPathRefProd paths_
Reference to pat::TriggerPathCollection in event.
TriggerAlgorithmRefVector objectAlgorithms(const TriggerObjectRef &objectRef) const
Get a vector of references to all algorithms, which have a certain object assigned.
const_iterator end() const
Termination of iteration.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
const TriggerPathCollection * paths() const
unsigned indexFilter(const std::string &labelFilter) const
TriggerFilterRefVector pathModules(const std::string &namePath, bool all=true) const
bool objectInAlgorithm(const TriggerObjectRef &objectRef, const std::string &nameAlgorithm) const
Checks, if an object was used in a certain algorithm given by name.
const_iterator begin() const
Initialize an iterator over the RefVector.
TriggerConditionRefVector acceptedConditions() const
Get a vector of references to all succeeding L1 condition.
TriggerAlgorithmRefProd algorithms_
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 TriggerObjectCollection * objects() const
unsigned indexAlgorithm(const std::string &nameAlgorithm) const
Analysis-level HLTrigger filter class.
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.
unsigned indexCondition(const std::string &nameCondition) const
Analysis-level L1 trigger condition class.
Analysis-level HLTrigger path class.
bool addObjectMatchResult(const TriggerObjectMatchRefProd &trigMatches, const std::string &labelMatcher)
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 TriggerPath * path(const std::string &namePath) const
const TriggerFilterRef filterRef(const std::string &labelFilter) const
TriggerAlgorithmRefVector techAlgorithms() const
Get a vector of references to all technical L1 algorithms.
bool objectInCondition(const TriggerObjectRef &objectRef, const std::string &nameCondition) const
Checks, if an object was used in a certain condition given by name.
TriggerAlgorithmRefVector acceptedPhysAlgorithms() const
Get a vector of references to all succeeding physics L1 algorithms.
const TriggerAlgorithmCollection * algorithms() const
TriggerAlgorithmRefVector acceptedAlgorithms() const
Get a vector of references to all succeeding L1 algorithms.
const TriggerObjectMatch * triggerObjectMatchResult(const std::string &labelMatcher) const
TriggerFilterRefVector objectFilters(const TriggerObjectRef &objectRef, bool firing=true) const
Get a vector of references to all filters, which have a certain object assigned.
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...
TriggerAlgorithmRefVector conditionAlgorithms(const TriggerConditionRef &conditionRef) const
Get a vector of references to all algorithms, which have a certain condition assigned.
TriggerFilterRefProd filters_
Reference to pat::TriggerAlgorithmCollection in event.
std::string nameAlgorithm(const unsigned bitAlgorithm, const bool techAlgorithm=true) const
const TriggerAlgorithmRef algorithmRef(const std::string &nameAlgorithm) const
TriggerPathRefVector objectPaths(const TriggerObjectRef &objectRef, bool firing=true) const
Get a vector of references to all paths, which have a certain object assigned.
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.
const TriggerFilterCollection * filters() const
bool objectInFilter(const TriggerObjectRef &objectRef, const std::string &labelFilter) const
Checks, if an object was used in a certain filter given by name.
const TriggerAlgorithmRefVector algorithmRefs() const
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...
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...
TriggerAlgorithmRefVector acceptedPhysAlgorithmsGtl() const
Get a vector of references to all physics L1 algorithms succeeding on the GTL board.
TriggerAlgorithmRefVector acceptedTechAlgorithmsGtl() const
Get a vector of references to all technical L1 algorithms succeeding on the GTL board.
const TriggerConditionRefVector conditionRefs() const
edm::Ref< TriggerFilterCollection > TriggerFilterRef
Persistent reference to an item in a TriggerFilterCollection.
const TriggerAlgorithm * algorithm(const std::string &nameAlgorithm) const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
TriggerPathRefVector filterPaths(const TriggerFilterRef &filterRef, bool firing=true) const
Get a vector of references to all paths, which have a certain filter assigned.
size_type size() const
Size of the RefVector.
TriggerObjectRefProd objects_
Reference to pat::TriggerObjectCollection in event.
const TriggerFilter * filter(const std::string &labelFilter) const
bool conditionInAlgorithm(const TriggerConditionRef &conditionRef, const std::string &nameAlgorithm) const
Checks, if a condition is assigned to a certain algorithm given by name.
TriggerObjectMatchContainer objectMatchResults_
Table of references to pat::TriggerObjectMatch associations in event.
const TriggerConditionRef conditionRef(const std::string &nameCondition) const
tuple size
Write out results.
TriggerPathRefVector acceptedPaths() const
Get a vector of references to all succeeding HLT paths.
unsigned indexPath(const std::string &namePath) const
const TriggerPathRefVector pathRefs() const