1 #ifndef DataFormats_PatCandidates_TriggerObjectStandAlone_h
2 #define DataFormats_PatCandidates_TriggerObjectStandAlone_h
79 std::vector<std::string>
pathsOrAlgorithms(
bool pathLastFilterAccepted,
bool pathL3FilterAccepted)
const;
126 bool pathLastFilterAccepted =
true,
127 bool pathL3FilterAccepted =
true) {
139 std::vector<std::string>
pathNames(
bool pathLastFilterAccepted =
false,
bool pathL3FilterAccepted =
true)
const {
154 bool pathLastFilterAccepted =
false,
155 bool pathL3FilterAccepted =
true)
const {
180 unsigned pathLastFilterAccepted = 0,
181 unsigned pathL3FilterAccepted = 1)
const {
182 return hasPathName(pathName,
bool(pathLastFilterAccepted),
bool(pathL3FilterAccepted));
void packFilterLabels(const edm::EventBase &event, const edm::TriggerResults &res)
std::vector< std::string > pathsOrAlgorithms(bool pathLastFilterAccepted, bool pathL3FilterAccepted) const
Gets all HLT path or L1 algorithm names.
bool hasPathName(const std::string &pathName, bool pathLastFilterAccepted=false, bool pathL3FilterAccepted=true) const
Checks, if a certain HLT path name is assigned.
bool checkIfPathsAreUnpacked(bool throwIfPacked=true) const
Check if trigger names have been packed by calling packPathNames() and not yet unpacked.
void packP4()
reduce the precision on the 4-vector
bool checkIfFiltersAreUnpacked(bool throwIfPacked=true) const
Check if trigger names have been packed by calling packFilterLabels() and not yet unpacked...
std::vector< TriggerObjectStandAlone > TriggerObjectStandAloneCollection
Collection of TriggerObjectStandAlone.
std::vector< uint16_t > filterLabelIndices_
static const char wildcard_
Constants.
bool algo(const std::string &algorithmName, unsigned algoCondAccepted=1) const
Calls 'hasAlgorithmName(...)'.
void addAlgorithmName(const std::string &algorithmName, bool algoCondAccepted=true)
Adds a new L1 algorithm name.
void unpackPathNames(const edm::TriggerNames &names)
unpack trigger names into indices
Analysis-level trigger object class.
const std::string names[nVars_]
void addConditionName(const std::string &conditionName)
Adds a new L1 condition name.
void addFilterLabel(const std::string &filterLabel)
Adds a new HLT filter label.
TriggerObjectStandAlone copy() const
Methods.
bool hasAnyName(const std::string &name, const std::vector< std::string > &nameVec) const
Private methods.
void addPathOrAlgorithm(const std::string &name, bool pathLastFilterAccepted, bool pathL3FilterAccepted)
Adds a new HLT path or L1 algorithm name.
edm::RefVectorIterator< TriggerObjectStandAloneCollection > TriggerObjectStandAloneRefVectorIterator
Const iterator over vector of persistent references to items in the same TriggerObjectStandAloneColle...
Single trigger physics object (e.g., an isolated muon)
bool path(const std::string &pathName, unsigned pathLastFilterAccepted=0, unsigned pathL3FilterAccepted=1) const
Calls 'hasPathName(...)'.
TriggerObject triggerObject()
Gets the pat::TriggerObject (parent class)
bool hasAlgorithmName(const std::string &algorithmName, bool algoCondAccepted=true) const
Checks, if a certain L1 algorithm name is assigned.
void addPathName(const std::string &pathName, bool pathLastFilterAccepted=true, bool pathL3FilterAccepted=true)
Adds a new HLT path name.
const std::vector< std::string > & filtersOrConditions() const
Gets all HLT filter labels or L1 condition names.
void setPSetID(const edm::ParameterSetID &psetId)
set the psetid of the trigger process
bool hasCollection(const std::string &collName) const override
Checks, if a certain label of original collection is assigned (method overrides)
TriggerObjectStandAlone()
Constructors and Destructor.
edm::RefProd< TriggerObjectStandAloneCollection > TriggerObjectStandAloneRefProd
Persistent reference to a TriggerObjectStandAloneCollection product.
std::vector< std::string > const * allLabels(edm::ParameterSetID const &psetid, const edm::EventBase &event, const edm::TriggerResults &res) const
bool hasPathLastFilterAccepted() const
Checks, if the usage indicator vector has been filled.
bool hasCollection(const edm::InputTag &collName) const override
std::vector< bool > pathLastFilterAccepted_
bool hasPathL3FilterAccepted() const
bool hasLastFilter() const
Check, if the usage indicator vectors have been filled.
const std::vector< std::string > & filterLabels() const
Gets all HLT filter labels.
void unpackFilterLabels(const std::vector< std::string > &labels)
unpack filter labels from indices
bool hasFilterLabel(const std::string &filterLabel) const
Checks, if a certain HLT filter label is assigned.
bool hasConditionName(const std::string &conditionName) const
Checks, if a certain L1 condition name is assigned.
bool hasPathOrAlgorithm(const std::string &name, bool pathLastFilterAccepted, bool pathL3FilterAccepted) const
Checks, if a certain HLT path or L1 algorithm name is assigned.
edm::Ref< TriggerObjectStandAloneCollection > TriggerObjectStandAloneRef
Persistent reference to an item in a TriggerObjectStandAloneCollection.
void packPathNames(const edm::TriggerNames &names)
pack trigger names into indices
bool cond(const std::string &conditionName) const
Calls 'hasConditionName(...)'.
std::vector< std::string > pathNames_
Vector of names of all HLT paths or L1 algorithms the trigger objects has been used in...
void addFilterOrCondition(const std::string &name)
Adds a new HLT filter label or L1 condition name.
const edm::ParameterSetID & psetID() const
bool filter(const std::string &filterLabel) const
Calls 'hasFilterLabel(...)'.
std::vector< std::string > filterLabels_
Vector of labels of all HLT filters or names of L1 conditions the trigger objects has been used in...
bool coll(const std::string &collName) const override
Calls 'hasCollection(...)' (method override)
edm::RefVector< TriggerObjectStandAloneCollection > TriggerObjectStandAloneRefVector
Vector of persistent references to items in the same TriggerObjectStandAloneCollection.
edm::Association< TriggerObjectStandAloneCollection > TriggerObjectStandAloneMatch
Association of TriggerObjectStandAlones to store matches to Candidates.
edm::ParameterSetID psetId_
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
const std::vector< std::string > & conditionNames() const
Gets all L1 condition names.
bool hasFilterOrCondition(const std::string &name) const
Checks, if a certain HLT filter label or L1 condition name is assigned.
bool hasAlgoCondAccepted() const
std::vector< std::string > pathNames(bool pathLastFilterAccepted=false, bool pathL3FilterAccepted=true) const
Gets all HLT path names.
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::vector< uint16_t > pathIndices_
void unpackNamesAndLabels(const edm::EventBase &event, const edm::TriggerResults &res)
unpack both filter labels and trigger names
std::vector< bool > pathL3FilterAccepted_
std::vector< std::string > algorithmNames(bool algoCondAccepted=true) const
Gets all L1 algorithm names.
Analysis-level trigger object class (stand-alone)
~TriggerObjectStandAlone() override
Destructor.