![]() |
ATLAS Offline Software
|
#include <TrigMultiTrkComboHypoTool.h>
Public Member Functions | |
| TrigMultiTrkComboHypoTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual StatusCode | initialize () override |
| virtual StatusCode | decideOnSingleObject (TrigCompositeUtils::Decision *, const std::vector< const TrigCompositeUtils::DecisionIDContainer * > &) const override |
| Alternate method called by BPhysics ComboHypoAlgs instead of the base method decide(...). | |
| virtual StatusCode | decide (Combo::LegDecisionsMap &passingLegs, const EventContext &ctx) const override |
| retrieves the decisions associated to this decId, make their combinations and apply the algorithm | |
| virtual HLT::Identifier | decisionId () const |
| retrieves this ComboHypoTool's chain's decision ID | |
| StatusCode | setLegMultiplicity (const Combo::MultiplicityReqMap &multiplicityRequiredMap) |
| Sets the number of legs and the multiplicity required on each leg. | |
| const std::vector< int > & | legMultiplicity () const |
| Gets the number of legs and the multiplicity required on each leg. | |
| HLT::Identifier | legDecisionId (size_t i) const |
| Retrieves this ComboHypoTool's chain's decision ID for a given leg. | |
| const std::vector< HLT::Identifier > & | legDecisionIds () const |
| Retrieves this ComboHypoTool's chain's decision IDs for all legs. | |
Protected Member Functions | |
| StatusCode | selectLegs (const Combo::LegDecisionsMap &IDCombMap, std::vector< std::vector< Combo::LegDecision > > &leg_decisions) const |
| Creates the per-leg vectors of Decision objects starting from the initial LegDecision map, storing only those concerning this HypoTool's chain Pack the Decision objects in std::pair<DecisionID, ElementLink<Decision>> so the derived class' executeAlg function knows which leg each object is on. | |
| void | updateLegDecisionsMap (const std::vector< std::vector< Combo::LegDecision > > &passing_comb, Combo::LegDecisionsMap &passingLegs) const |
| For when the tool accepts some/all combinations. | |
| void | eraseFromLegDecisionsMap (Combo::LegDecisionsMap &passingLegs) const |
| For when the tool rejects all combinations. | |
| void | printDebugInformation (const Combo::LegDecisionsMap &passingLegs) const |
| Print the output of the tool, after having removed failed Decision Objects. | |
Protected Attributes | |
| Gaudi::Property< size_t > | m_combinationsThresholdWarn |
| Gaudi::Property< size_t > | m_combinationsThresholdBreak |
| Gaudi::Property< bool > | m_modeOR |
| Gaudi::Property< bool > | m_enableOverride |
Private Member Functions | |
| bool | passed (const xAOD::TrigBphys *) const |
| virtual bool | executeAlg (const std::vector< Combo::LegDecision > &, const EventContext &) const override |
| Only a dummy implementation exists in ComboHypoToolBase. | |
| bool | checkPreviousDecisionIDs (const std::vector< const TrigCompositeUtils::DecisionIDContainer * > &) const |
| int | totalCharge (const xAOD::TrigBphys *) const |
| bool | isInMassRange (double mass) const |
| bool | passedDeltaRcut (const xAOD::TrigBphys *) const |
| bool | passedPtCut (const xAOD::TrigBphys *) const |
| bool | passedChi2Cut (int chi2) const |
| bool | passedChargeCut (int charge) const |
Private Attributes | |
| Gaudi::Property< unsigned int > | m_nTrk {this, "nTrk", 2, "number of tracks in the vertex"} |
| Gaudi::Property< std::vector< double > > | m_trkPt {this, "trackPtThresholds", {-1., 3000.}, "minimum track transverse momenta (as they appear in TrigBphys)"} |
| Gaudi::Property< int > | m_totalCharge {this, "totalCharge", 0, "magnitude of the total charge to accept, negative is none" } |
| Gaudi::Property< std::pair< double, double > > | m_massRange {this, "massRange", {-99., -9.}, "range for the fitted mass, no selection applied if negative"} |
| Gaudi::Property< float > | m_chi2 {this, "chi2", -99. , "Chi2 cut for vertex (0 < chi2 < cut), no selection applied if negative" } |
| Gaudi::Property< bool > | m_acceptAll {this, "AcceptAll", false, "if AcceptAll flag is set to true, no selection will be applied for xAOD::TrigBphys object"} |
| Gaudi::Property< float > | m_LxyCut {this, "LxyCut", -99., "Applies an Lxy Cut if set >= 0"} |
| Gaudi::Property< float > | m_sigmaLxyCut {this, "sigmaLxyCut", -99., "Applies an Lxy/LxyError Cut if set >= 0"} |
| Gaudi::Property< float > | m_deltaRMax |
| Gaudi::Property< float > | m_deltaRMin |
| Gaudi::Property< bool > | m_isCombinedChain {this, "isCombinedChain", false, "true for chains with different signatures, e.g. HLT_e9_mu6"} |
| Gaudi::Property< bool > | m_isMergedElectronChain {this, "isMergedElectronChain", false, "true for close-by electrons, e.g. HLT_e5_lhvloose_L1BPH-0DR3-EM7J15"} |
| Gaudi::Property< bool > | m_isMuonTrkPEB {this, "isMuonTrkPEB", false, "chains like HLT_mu6_bJpsimutrk_MuonTrkPEB_L1MU5VF"} |
| Gaudi::Property< std::vector< unsigned int > > | m_legMultiplicities {this, "legMultiplicities", {2}, "taken from dict[chainMultiplicities]"} |
| ToolHandle< GenericMonitoringTool > | m_monTool {this, "MonTool", "", "Monitoring tool" } |
| std::vector< TrigCompositeUtils::DecisionID > | m_legDecisionIDs |
| HLT::Identifier | m_decisionId |
| The DecisionID of the chain, obtained from the Tool's name. | |
| std::vector< HLT::Identifier > | m_legDecisionIds |
| The DecisionIDs of the individual legs, derived from both m_decisionId and m_legMultiplicities. | |
Definition at line 34 of file TrigMultiTrkComboHypoTool.h.
| TrigMultiTrkComboHypoTool::TrigMultiTrkComboHypoTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 27 of file TrigMultiTrkComboHypoTool.cxx.
|
private |
Definition at line 146 of file TrigMultiTrkComboHypoTool.cxx.
|
overridevirtualinherited |
retrieves the decisions associated to this decId, make their combinations and apply the algorithm
| [in] | LegDecisionsMap | that lists all the passing decisions, to be updated by the tool depending on the outcome of executeAlg |
| [in] | Event | Context |
Reimplemented in DisplacedJetRankComboHypoTool, Trig3VarComboHypoTool, TrigADComboHypoTool, and TrigComboHypoTool.
Definition at line 48 of file ComboHypoToolBase.cxx.
|
overridevirtual |
Alternate method called by BPhysics ComboHypoAlgs instead of the base method decide(...).
This function should be considered a specialist use-case only. It must be over-ridden to do anything useful.
Reimplemented from ComboHypoToolBase.
Definition at line 118 of file TrigMultiTrkComboHypoTool.cxx.
|
inlinevirtualinherited |
retrieves this ComboHypoTool's chain's decision ID
Definition at line 41 of file ComboHypoToolBase.h.
|
protectedinherited |
For when the tool rejects all combinations.
Remove all Decision Objects from all the legs of this HypoTool's chain.
Definition at line 253 of file ComboHypoToolBase.cxx.
|
overrideprivatevirtual |
Only a dummy implementation exists in ComboHypoToolBase.
This should be over-ridden by a derived class. The derived class should return a boolean pass/fail for each possible combination in the event. param[in] combination A single combination of objects to be discriminated against. Vector contains the required number of objects over all legs. Use the pair.first to tell which leg a given pair.second decision object belongs to in the current combination.
Reimplemented from ComboHypoToolBase.
Definition at line 239 of file TrigMultiTrkComboHypoTool.cxx.
|
overridevirtual |
Definition at line 31 of file TrigMultiTrkComboHypoTool.cxx.
|
private |
Definition at line 195 of file TrigMultiTrkComboHypoTool.cxx.
|
inlineinherited |
Retrieves this ComboHypoTool's chain's decision ID for a given leg.
Only populated for chains with more than one leg. For chains with one leg, use decisionId()
Definition at line 60 of file ComboHypoToolBase.h.
|
inlineinherited |
Retrieves this ComboHypoTool's chain's decision IDs for all legs.
Only populated for chains with more than one leg. For chains with one leg, use decisionId()
Definition at line 66 of file ComboHypoToolBase.h.
|
inlineinherited |
Gets the number of legs and the multiplicity required on each leg.
Definition at line 54 of file ComboHypoToolBase.h.
|
private |
Definition at line 75 of file TrigMultiTrkComboHypoTool.cxx.
|
inlineprivate |
Definition at line 49 of file TrigMultiTrkComboHypoTool.h.
|
inlineprivate |
Definition at line 48 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 203 of file TrigMultiTrkComboHypoTool.cxx.
|
private |
Definition at line 219 of file TrigMultiTrkComboHypoTool.cxx.
|
protectedinherited |
Print the output of the tool, after having removed failed Decision Objects.
Restricted to the ComboHypoTool's chain's legs.
Definition at line 264 of file ComboHypoToolBase.cxx.
|
protectedinherited |
Creates the per-leg vectors of Decision objects starting from the initial LegDecision map, storing only those concerning this HypoTool's chain Pack the Decision objects in std::pair<DecisionID, ElementLink<Decision>> so the derived class' executeAlg function knows which leg each object is on.
Definition at line 172 of file ComboHypoToolBase.cxx.
|
inherited |
Sets the number of legs and the multiplicity required on each leg.
This should be called when the Tool is retrieved by its parent ComboHypo alg. This also sets the leg Decision IDs at the same time param[in] multiplicityRequiredMap: Mapping of chains to required multiplicity per leg.
Definition at line 16 of file ComboHypoToolBase.cxx.
|
private |
Definition at line 229 of file TrigMultiTrkComboHypoTool.cxx.
|
protectedinherited |
For when the tool accepts some/all combinations.
Remove Decision Objects from legs of this HypoTool's chain which participated in NONE of combinations which were flagged as accepting the event.
Definition at line 216 of file ComboHypoToolBase.cxx.
|
private |
Definition at line 56 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 55 of file TrigMultiTrkComboHypoTool.h.
|
protectedinherited |
Definition at line 109 of file ComboHypoToolBase.h.
|
protectedinherited |
Definition at line 106 of file ComboHypoToolBase.h.
|
privateinherited |
The DecisionID of the chain, obtained from the Tool's name.
Definition at line 122 of file ComboHypoToolBase.h.
|
private |
Definition at line 59 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 61 of file TrigMultiTrkComboHypoTool.h.
|
protectedinherited |
Definition at line 115 of file ComboHypoToolBase.h.
|
private |
Definition at line 63 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 64 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 65 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 69 of file TrigMultiTrkComboHypoTool.h.
|
privateinherited |
The DecisionIDs of the individual legs, derived from both m_decisionId and m_legMultiplicities.
Definition at line 123 of file ComboHypoToolBase.h.
|
private |
Definition at line 66 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 57 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 54 of file TrigMultiTrkComboHypoTool.h.
|
protectedinherited |
Definition at line 112 of file ComboHypoToolBase.h.
|
private |
Definition at line 67 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 51 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 58 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 53 of file TrigMultiTrkComboHypoTool.h.
|
private |
Definition at line 52 of file TrigMultiTrkComboHypoTool.h.