17 nameHltTable_( nameHltTable ),
29 nameL1Menu_( nameL1Menu ),
30 nameHltTable_( nameHltTable ),
46 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
47 if ( nameAlgorithm == iAlgorithm->name() )
return &*iAlgorithm;
56 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
57 if ( bitAlgorithm == iAlgorithm->bit() && techAlgorithm == iAlgorithm->techTrigger() )
return iAlgorithm->name();
59 return std::string(
"" );
66 unsigned iAlgorithm( 0 );
76 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
77 if ( iAlgorithm->decision() ) {
80 theAcceptedAlgorithms.
push_back( algorithmRef );
83 return theAcceptedAlgorithms;
91 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
92 if ( iAlgorithm->gtlResult() ) {
95 theAcceptedAlgorithms.
push_back( algorithmRef );
98 return theAcceptedAlgorithms;
106 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
107 if ( iAlgorithm->techTrigger() ) {
110 theTechAlgorithms.
push_back( algorithmRef );
113 return theTechAlgorithms;
121 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
122 if ( iAlgorithm->techTrigger() && iAlgorithm->decision() ) {
125 theAcceptedTechAlgorithms.
push_back( algorithmRef );
128 return theAcceptedTechAlgorithms;
136 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
137 if ( iAlgorithm->techTrigger() && iAlgorithm->gtlResult() ) {
140 theAcceptedTechAlgorithms.
push_back( algorithmRef );
143 return theAcceptedTechAlgorithms;
151 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
152 if ( ! iAlgorithm->techTrigger() ) {
155 thePhysAlgorithms.
push_back( algorithmRef );
158 return thePhysAlgorithms;
166 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
167 if ( ! iAlgorithm->techTrigger() && iAlgorithm->decision() ) {
170 theAcceptedPhysAlgorithms.
push_back( algorithmRef );
173 return theAcceptedPhysAlgorithms;
181 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
182 if ( ! iAlgorithm->techTrigger() && iAlgorithm->gtlResult() ) {
185 theAcceptedPhysAlgorithms.
push_back( algorithmRef );
188 return theAcceptedPhysAlgorithms;
195 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
196 if ( nameCondition == iCondition->name() )
return &*iCondition;
205 unsigned iCondition( 0 );
215 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
216 if ( iCondition->wasAccept() ) {
217 const std::string nameCondition( iCondition->name() );
219 theAcceptedConditions.
push_back( conditionRef );
222 return theAcceptedConditions;
229 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
230 if ( namePath == iPath->name() )
return &*iPath;
249 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
250 if ( iPath->wasAccept() ) {
251 const std::string namePath( iPath->name() );
256 return theAcceptedPaths;
263 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
264 if ( iFilter->label() == labelFilter )
return &*iFilter;
273 unsigned iFilter( 0 );
283 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
284 if ( iFilter->status() == 1 ) {
285 const std::string labelFilter( iFilter->label() );
287 theAcceptedFilters.
push_back( filterRef );
290 return theAcceptedFilters;
298 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
299 if (
objects()->at( iObject ).hasTriggerObjectType( triggerObjectType ) ) {
315 theAlgorithmConditions.
push_back( conditionRef );
318 return theAlgorithmConditions;
327 if ( conditionRef == *iCondition )
return true;
337 size_t cAlgorithms( 0 );
338 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
342 theConditionAlgorithms.
push_back( algorithmRef );
346 return theConditionAlgorithms;
353 std::vector< std::string > theConditionCollections;
355 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
359 for ( std::vector< std::string >::const_iterator iC = theConditionCollections.begin(); iC != theConditionCollections.end(); ++iC ) {
360 if ( *iC == objectCollection ) {
366 theConditionCollections.push_back( objectCollection );
371 return theConditionCollections;
380 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
383 theConditionObjects.
push_back( objectRef );
387 return theConditionObjects;
402 for ( TriggerConditionCollection::const_iterator iCondition =
conditions()->
begin(); iCondition !=
conditions()->end(); ++iCondition ) {
403 const std::string nameCondition( iCondition->name() );
406 theObjectConditions.
push_back( conditionRef );
409 return theObjectConditions;
419 const std::string nameCondition( ( *iCondition )->name() );
422 theAlgorithmObjects.
push_back( *iObject );
425 return theAlgorithmObjects;
444 for ( TriggerAlgorithmCollection::const_iterator iAlgorithm =
algorithms()->
begin(); iAlgorithm !=
algorithms()->end(); ++iAlgorithm ) {
448 theObjectAlgorithms.
push_back( algorithmRef );
451 return theObjectAlgorithms;
459 if (
path( namePath ) &&
path( namePath )->modules().
size() > 0 ) {
461 for (
unsigned iM = 0; iM < onePastLastFilter; ++iM ) {
462 const std::string labelFilter(
path( namePath )->modules().
at( iM ) );
467 return thePathFilters;
475 if (
path( namePath ) ) {
481 return thePathFilters;
490 if ( filterRef == *iFilter )
return true;
501 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
502 const std::string namePath( iPath->name() );
509 return theFilterPaths;
516 std::vector< std::string > theFilterCollections;
517 if (
filter( labelFilter ) ) {
518 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
522 for ( std::vector< std::string >::const_iterator iC = theFilterCollections.begin(); iC != theFilterCollections.end(); ++iC ) {
523 if ( *iC == objectCollection ) {
529 theFilterCollections.push_back( objectCollection );
534 return theFilterCollections;
542 if (
filter( labelFilter ) ) {
543 for (
unsigned iObject = 0; iObject <
objects()->size(); ++iObject ) {
550 return theFilterObjects;
565 for ( TriggerFilterCollection::const_iterator iFilter =
filters()->
begin(); iFilter !=
filters()->end(); ++iFilter ) {
566 const std::string labelFilter( iFilter->label() );
572 return theObjectFilters;
582 const std::string labelFilter( ( *iFilter )->label() );
588 return thePathObjects;
597 if (
objectInFilter( objectRef, ( *iFilter )->label() ) )
return true;
607 for ( TriggerPathCollection::const_iterator iPath =
paths()->
begin(); iPath !=
paths()->end(); ++iPath ) {
608 const std::string namePath( iPath->name() );
614 return theObjectPaths;
632 std::vector< std::string > theMatchers;
const TriggerObjectMatchContainer * triggerObjectMatchResults() const
Get all trigger matches.
TriggerFilterRefVector objectFilters(const TriggerObjectRef &objectRef) const
Get a vector of references to all filters, which have a certain object assigned.
TriggerConditionRefVector algorithmConditions(const std::string &nameAlgorithm) const
bool hasObjectKey(unsigned objectKey) const
Checks, if a certain trigger object collection index is assigned.
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.
std::vector< std::string > triggerMatchers() const
Get a list of all linked trigger matches.
TriggerPathRefVector filterPaths(const TriggerFilterRef &filterRef) const
Get a vector of references to all paths, which have a certain filter assigned.
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.
TriggerAlgorithmRefVector acceptedTechAlgorithms() const
Get a vector of references to all succeeding technical L1 algorithms.
TriggerObjectRefVector pathObjects(const std::string &namePath) const
Get a vector of references to all objects, which were used in a certain path given by name...
std::vector< unsigned > filterIndices() const
Get all trigger fillter collection indeces.
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.
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)
const TriggerPath * path(const std::string &namePath) const
TriggerAlgorithmRefVector techAlgorithms() const
Get a vector of references to all technical L1 algorithms.
bool hasObjectKey(unsigned objectKey) const
Checks, if a certain trigger object collection index is assigned.
TriggerPathRefVector objectPaths(const TriggerObjectRef &objectRef) const
Get a vector of references to all paths, which have a certain object assigned.
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.
TriggerEvent()
Constructors and Desctructor.
const TriggerObjectMatch * triggerObjectMatchResult(const std::string &labelMatcher) const
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
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.
bool filterInPath(const TriggerFilterRef &filterRef, const std::string &namePath) const
Checks, if a filter is assigned to and was run in a certain path given by name.
const TriggerFilterCollection * filters() const
TriggerFilterRefVector pathFilters(const std::string &namePath) const
Get a vector of references to all active HLT filters assigned to a certain path given by name...
bool objectInFilter(const TriggerObjectRef &objectRef, const std::string &labelFilter) const
Checks, if an object was used in a certain filter given by name.
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...
std::vector< std::string > modules() const
Get all module labels.
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 TriggerAlgorithm * algorithm(const std::string &nameAlgorithm) const
bool objectInPath(const TriggerObjectRef &objectRef, const std::string &namePath) const
Checks, if an object was used in a certain path given by name.
void push_back(value_type const &ref)
Add a Ref<C, T> to 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.
unsigned lastActiveFilterSlot() const
Get the index of the last active filter.
std::vector< unsigned > conditionKeys() const
Get all trigger condition collection indeces.
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