40 nameHltTable_( nameHltTable ),
44 physDecl_( physDecl ) ,
62 nameL1Menu_( nameL1Menu ),
63 nameHltTable_( nameHltTable ),
67 physDecl_( physDecl ) ,
90 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
102 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
103 if ( nameAlgorithm == iAlgorithm->name() )
return &*iAlgorithm;
113 if ( nameAlgorithm == ( *iAlgorithm )->name() )
return *iAlgorithm;
122 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
123 if ( bitAlgorithm == iAlgorithm->bit() && techAlgorithm == iAlgorithm->techTrigger() )
return iAlgorithm->name();
132 unsigned iAlgorithm( 0 );
142 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
143 if ( iAlgorithm->decision() ) {
146 theAcceptedAlgorithms.
push_back( algorithmRef );
149 return theAcceptedAlgorithms;
157 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
158 if ( iAlgorithm->gtlResult() ) {
161 theAcceptedAlgorithms.
push_back( algorithmRef );
164 return theAcceptedAlgorithms;
172 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
173 if ( iAlgorithm->techTrigger() ) {
176 theTechAlgorithms.
push_back( algorithmRef );
179 return theTechAlgorithms;
187 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
188 if ( iAlgorithm->techTrigger() && iAlgorithm->decision() ) {
191 theAcceptedTechAlgorithms.
push_back( algorithmRef );
194 return theAcceptedTechAlgorithms;
202 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
203 if ( iAlgorithm->techTrigger() && iAlgorithm->gtlResult() ) {
206 theAcceptedTechAlgorithms.
push_back( algorithmRef );
209 return theAcceptedTechAlgorithms;
217 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
218 if ( ! iAlgorithm->techTrigger() ) {
221 thePhysAlgorithms.
push_back( algorithmRef );
224 return thePhysAlgorithms;
232 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
233 if ( ! iAlgorithm->techTrigger() && iAlgorithm->decision() ) {
236 theAcceptedPhysAlgorithms.
push_back( algorithmRef );
239 return theAcceptedPhysAlgorithms;
247 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
248 if ( ! iAlgorithm->techTrigger() && iAlgorithm->gtlResult() ) {
251 theAcceptedPhysAlgorithms.
push_back( algorithmRef );
254 return theAcceptedPhysAlgorithms;
262 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
263 const std::string nameCondition( iCondition->name() );
267 return theConditions;
274 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
275 if ( nameCondition == iCondition->name() )
return &*iCondition;
285 if ( nameCondition == ( *iCondition )->name() )
return *iCondition;
294 unsigned iCondition( 0 );
304 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
305 if ( iCondition->wasAccept() ) {
306 const std::string nameCondition( iCondition->name() );
308 theAcceptedConditions.
push_back( conditionRef );
311 return theAcceptedConditions;
319 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
331 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
332 if ( namePath == iPath->name() )
return &*iPath;
342 if ( namePath == ( *iPath )->name() )
return *iPath;
361 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
362 if ( iPath->wasAccept() ) {
368 return theAcceptedPaths;
376 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
388 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
389 if ( labelFilter == iFilter->label() )
return &*iFilter;
399 if ( labelFilter == ( *iFilter )->label() )
return *iFilter;
408 unsigned iFilter( 0 );
418 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
419 if ( iFilter->status() == 1 ) {
422 theAcceptedFilters.
push_back( filterRef );
425 return theAcceptedFilters;
433 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
445 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
446 if (
objects()->at( iObject ).hasTriggerObjectType( triggerObjectType ) ) {
460 for (
unsigned iC = 0; iC < algorithmPtr->conditionKeys().size(); ++iC ) {
465 return theAlgorithmConditions;
474 if ( conditionRef == *iCondition )
return true;
484 size_t cAlgorithms( 0 );
485 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
489 theConditionAlgorithms.
push_back( algorithmRef );
493 return theConditionAlgorithms;
500 std::vector< std::string > theConditionCollections;
502 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
503 if ( conditionPtr->hasObjectKey( iObject ) ) {
506 for ( std::vector< std::string >::const_iterator iC = theConditionCollections.begin(); iC != theConditionCollections.end(); ++iC ) {
507 if ( *iC == objectCollection ) {
513 theConditionCollections.push_back( objectCollection );
518 return theConditionCollections;
527 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
528 if ( conditionPtr->hasObjectKey( iObject ) ) {
530 theConditionObjects.
push_back( objectRef );
534 return theConditionObjects;
549 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
550 const std::string nameCondition( iCondition->name() );
553 theObjectConditions.
push_back( conditionRef );
556 return theObjectConditions;
566 const std::string nameCondition( ( *iCondition )->name() );
569 theAlgorithmObjects.
push_back( *iObject );
572 return theAlgorithmObjects;
591 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
595 theObjectAlgorithms.
push_back( algorithmRef );
598 return theObjectAlgorithms;
607 if ( pathPtr->modules().size() > 0 ) {
608 const unsigned onePastLastFilter = all ? pathPtr->modules().
size() : pathPtr->lastActiveFilterSlot() + 1;
609 for (
unsigned iM = 0; iM < onePastLastFilter; ++iM ) {
610 const std::string labelFilter( pathPtr->modules().at( iM ) );
616 return thePathFilters;
625 for (
unsigned iF = 0; iF < pathPtr->filterIndices().size(); ++iF ) {
630 return thePathFilters;
639 if ( filterRef == *iFilter )
return true;
650 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
658 return theFilterPaths;
665 std::vector< std::string > theFilterCollections;
667 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
668 if ( filterPtr->hasObjectKey( iObject ) ) {
671 for ( std::vector< std::string >::const_iterator iC = theFilterCollections.begin(); iC != theFilterCollections.end(); ++iC ) {
672 if ( *iC == objectCollection ) {
678 theFilterCollections.push_back( objectCollection );
683 return theFilterCollections;
692 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
693 if ( filterPtr->hasObjectKey( iObject ) ) {
699 return theFilterObjects;
705 if (
const TriggerFilter * filterPtr =
filter( labelFilter ) )
return filterPtr->hasObjectKey( objectRef.
key() );
714 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
718 if ( ( ! firing ) || iFilter->isFiring() ) theObjectFilters.
push_back( filterRef );
721 return theObjectFilters;
731 const std::string labelFilter( ( *iFilter )->label() );
737 return thePathObjects;
746 if (
objectInFilter( objectRef, ( *iFilter )->label() ) )
return true;
756 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
763 return theObjectPaths;
781 std::vector< std::string > theMatchers;
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
std::vector< std::string > triggerMatchers() const
Get a list of all linked trigger matches.
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.
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...
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
edm::Ref< TriggerPathCollection > TriggerPathRef
Persistent reference to an item in a TriggerPathCollection.
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_
edm::Ref< TriggerConditionCollection > TriggerConditionRef
Persistent reference to an item in a TriggerConditionCollection.
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.
edm::Ref< TriggerFilterCollection > TriggerFilterRef
Persistent reference to an item in a TriggerFilterCollection.
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.
edm::Ref< TriggerAlgorithmCollection > TriggerAlgorithmRef
Persistent reference to an item in a TriggerAlgorithmCollection.
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...
key_type key() const
Accessor for product key.
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
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