![]() |
ATLAS Offline Software
|
EF hypothesis algorithm for B -> h+ h- decays (h = K, pi): B0 -> K+ pi- B_s0 -> K+ K- etc. More...
#include <TrigBhhComboHypo.h>
Public Member Functions | |
| TrigBhhComboHypo (const std::string &name, ISvcLocator *pSvcLocator) | |
| TrigBhhComboHypo ()=delete | |
| virtual StatusCode | initialize () override |
| virtual StatusCode | execute (const EventContext &context) const override |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| const SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > & | decisionsInput () const |
| const SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > & | decisionsOutput () const |
| const Combo::MultiplicityReqMap & | triggerMultiplicityMap () const |
| const Combo::LegMap & | legToInputCollectionMap () const |
| ToolHandleArray< ComboHypoToolBase > & | hypoTools () |
| const ToolHandleArray< ComboHypoToolBase > & | hypoTools () const |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | mergeMuonsFromDecisions (TrigBhhState &) const |
| Go through state.previousDecisions(), fetch xAOD::Muons objects attached to decisions and save links to them in state.muons(). | |
| StatusCode | mergeTracksFromViews (TrigBhhState &) const |
| Go through state.previousDecisions() and fetch xAOD::TrackParticle objects associated with the nearest SG::View. | |
| StatusCode | findBhhCandidates (TrigBhhState &) const |
| Make all possible combinations from state.tracks(), fit tracks to the common vertex, create xAOD::TrigBphys objects and put them into state.trigBphysCollection() | |
| StatusCode | createDecisionObjects (TrigBhhState &) const |
| Create a decision for each xAOD::TrigBphys object from state.trigBphysCollection() and use hypoTools() to assign correct decisionIDs. | |
| std::unique_ptr< xAOD::Vertex > | fit (const EventContext &context, const std::vector< ElementLink< xAOD::TrackParticleContainer > > &trackParticleLinks, const std::vector< double > &trkMass={PDG::mKaon, PDG::mKaon}) const |
| Perform a vertex fit on selected tracks. | |
| StatusCode | fillTriggerObject (xAOD::TrigBphys &triggerObject, const xAOD::Vertex &vertex, const Amg::Vector3D &productionVertex, const std::vector< double > &trkMass={PDG::mKaon, PDG::mKaon}) const |
| Fill the trigger object that may be stored for debugging or matching. | |
| bool | isIdenticalTracks (const xAOD::TrackParticle *lhs, const xAOD::TrackParticle *rhs) const |
| Returns false for the tracks with opposite charges. | |
| bool | isIdenticalTracks (const xAOD::Muon *lhs, const xAOD::Muon *rhs) const |
| double | Lxy (const Amg::Vector3D &productionVertex, const Amg::Vector3D &decayVertex, const std::vector< xAOD::TrackParticle::GenVecFourMom_t > &momenta) const |
| Returns the transverse decay length of a particle Lxy in [mm]. | |
| StatusCode | copyDecisions (const Combo::LegDecisionsMap &passingLegs, const EventContext &context) const |
| iterates over the inputs and for every object (no filtering) crates output object linked to input moving the decisions that are mentioned in the passing set | |
| StatusCode | extractFeatureAndRoI (const HLT::Identifier &chainLegId, const ElementLink< TrigCompositeUtils::DecisionContainer > &EL, SG::sgkey_t &featureKey, TrigCompositeUtils::Decision::index_type &featureIndex, SG::sgkey_t &roiKey, TrigCompositeUtils::Decision::index_type &roiIndex, bool &roiFullscan, bool &objectRequestsNoMultiplicityCheck, SG::SGKeyMap< std::set< uint32_t > > &priorFeaturesMap) const |
| For a given Decision node from a HypoAlg, extracts type-less identification data on the node's Feature and seeding ROI. | |
| StatusCode | fillDecisionsMap (Combo::LegDecisionsMap &dmap, const EventContext &context) const |
| iterates over all inputs, associating inputs to legs | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKey< xAOD::TrackParticleContainer > | m_trackParticleContainerKey |
| SG::WriteHandleKey< xAOD::TrigBphysContainer > | m_trigBphysContainerKey |
| SG::ReadCondHandleKey< InDet::BeamSpotData > | m_beamSpotKey {this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"} |
| Gaudi::Property< bool > | m_applyMuonRemoval |
| Gaudi::Property< double > | m_deltaR |
| Gaudi::Property< double > | m_trkPt |
| Gaudi::Property< std::pair< double, double > > | m_massRange |
| Gaudi::Property< double > | m_chi2 |
| Gaudi::Property< size_t > | m_fitAttemptsWarningThreshold |
| Gaudi::Property< size_t > | m_fitAttemptsBreakThreshold |
| ToolHandle< InDet::VertexPointEstimator > | m_vertexPointEstimator |
| ToolHandle< Trk::TrkVKalVrtFitter > | m_vertexFitter |
| ToolHandle< GenericMonitoringTool > | m_monTool |
| TrigCompositeUtils::DecisionIDContainer | m_allowedIDs |
| SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > | m_inputs { this, "HypoInputDecisions", {}, "Input Decisions" } |
| SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > | m_outputs { this, "HypoOutputDecisions", {}, "Output Decisions" } |
| Gaudi::Property< bool > | m_requireUniqueROI |
| Gaudi::Property< Combo::MultiplicityReqMap > | m_multiplicitiesReqMap |
| Gaudi::Property< Combo::LegMap > | m_legToInputCollectionMap |
| Gaudi::Property< bool > | m_checkMultiplicityMap |
| ToolHandleArray< ComboHypoToolBase > | m_hypoTools {this, "ComboHypoTools", {}, "Tools to perform selection"} |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
EF hypothesis algorithm for B -> h+ h- decays (h = K, pi): B0 -> K+ pi- B_s0 -> K+ K- etc.
Definition at line 74 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| TrigBhhComboHypo::TrigBhhComboHypo | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Definition at line 39 of file TrigBhhComboHypo.cxx.
|
delete |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
privateinherited |
iterates over the inputs and for every object (no filtering) crates output object linked to input moving the decisions that are mentioned in the passing set
Definition at line 86 of file ComboHypo.cxx.
|
private |
Create a decision for each xAOD::TrigBphys object from state.trigBphysCollection() and use hypoTools() to assign correct decisionIDs.
Definition at line 326 of file TrigBhhComboHypo.cxx.
|
inlineprotectedinherited |
Definition at line 41 of file ComboHypo.h.
|
inlineprotectedinherited |
Definition at line 42 of file ComboHypo.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
Reimplemented from ComboHypo.
Definition at line 85 of file TrigBhhComboHypo.cxx.
|
privateinherited |
For a given Decision node from a HypoAlg, extracts type-less identification data on the node's Feature and seeding ROI.
| [in] | chainLegId | The HLT::Identifer of the chain (leg) we're extracting features for. |
| [in] | EL | The Decision node from the HypoAlg, expected to have a "feature" link attached to it. Expected to be able to locate a "initialRoI" in its history if RequireUniqueROI=True. |
| [out] | featureKey | Type-less SG Key hash of the collection hosting the Decision node's feature . |
| [out] | featureIndex | Index inside the featureKey collection. |
| [out] | roiKey | Type-less SG Key hash of the collection hosting the Decision node's initial ROI collection. |
| [out] | roiIndex | Index inside the roiKey collection. |
| [out] | roiIsFullscan | Flag indicating if the located initial ROI has the FullScan flag enabled. Triggers special behaviour allowing the ROI to satisfy arbitrary multiplicities in an arbitrary number of legs. |
| [out] | objectRequestsNoMultiplicityCheck | Flag indicating of the DecisionObject requested not be included in the multiplicity computation. Triggers special behaviour allowing the DecisionObject to satisfy arbitrary multiplicities in an arbitrary number of legs. |
| [in,out] | priorFeaturesMap | Data structure collating for a given feature (key) what the prior features were integrated over all previous steps (value set). |
Definition at line 378 of file ComboHypo.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
privateinherited |
iterates over all inputs, associating inputs to legs
Definition at line 462 of file ComboHypo.cxx.
|
private |
Fill the trigger object that may be stored for debugging or matching.
| triggerObject | the trigger object |
| vertex | the fitted decay vertex |
| productionVertex | position of the beamspot |
| trkMass | track mass hypothesis for mass calculations |
Definition at line 413 of file TrigBhhComboHypo.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
private |
Make all possible combinations from state.tracks(), fit tracks to the common vertex, create xAOD::TrigBphys objects and put them into state.trigBphysCollection()
Definition at line 259 of file TrigBhhComboHypo.cxx.
|
private |
Perform a vertex fit on selected tracks.
| context | the event context used to make the vertex threadsafe |
| trackParticleLinks | the trackParticles to fit |
| trkMass | track mass hypothesis for mass calculations |
Definition at line 365 of file TrigBhhComboHypo.cxx.
|
inlineprotectedinherited |
Definition at line 45 of file ComboHypo.h.
|
inlineprotectedinherited |
Definition at line 46 of file ComboHypo.h.
|
overridevirtual |
Reimplemented from ComboHypo.
Definition at line 43 of file TrigBhhComboHypo.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
private |
|
private |
Returns false for the tracks with opposite charges.
Otherwise calculates the deltaR(lhs, rhs) and compares it with threshold value m_deltaR. Should be used to remove muon InDet track from the track collection and to resolve ambiguity for muons from different views.
Definition at line 461 of file TrigBhhComboHypo.cxx.
|
inlineprotectedinherited |
Definition at line 44 of file ComboHypo.h.
|
private |
Returns the transverse decay length of a particle Lxy in [mm].
It is defined as the transverse distance between the production and decay vertices projected along the transverse momentum of the particle.
Definition at line 474 of file TrigBhhComboHypo.cxx.
|
private |
Go through state.previousDecisions(), fetch xAOD::Muons objects attached to decisions and save links to them in state.muons().
Definition at line 114 of file TrigBhhComboHypo.cxx.
|
private |
Go through state.previousDecisions() and fetch xAOD::TrackParticle objects associated with the nearest SG::View.
Enable overlap removal to get collection of unique objects at state.tracks(). Tracks associated with state.muons() are also removed from track collection.
Definition at line 167 of file TrigBhhComboHypo.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in HypoBase, and InputMakerBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineprotectedinherited |
Definition at line 43 of file ComboHypo.h.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 179 of file TrigBhhComboHypo.h.
|
private |
Definition at line 156 of file TrigBhhComboHypo.h.
|
private |
Definition at line 153 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 62 of file ComboHypo.h.
|
private |
Definition at line 164 of file TrigBhhComboHypo.h.
|
private |
Definition at line 158 of file TrigBhhComboHypo.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Definition at line 168 of file TrigBhhComboHypo.h.
|
private |
Definition at line 166 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 104 of file ComboHypo.h.
|
privateinherited |
Definition at line 50 of file ComboHypo.h.
|
privateinherited |
Definition at line 59 of file ComboHypo.h.
|
private |
Definition at line 162 of file TrigBhhComboHypo.h.
|
private |
Definition at line 176 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 56 of file ComboHypo.h.
|
privateinherited |
Definition at line 51 of file ComboHypo.h.
|
privateinherited |
Definition at line 53 of file ComboHypo.h.
|
private |
Definition at line 148 of file TrigBhhComboHypo.h.
|
private |
Definition at line 150 of file TrigBhhComboHypo.h.
|
private |
Definition at line 160 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Definition at line 174 of file TrigBhhComboHypo.h.
|
private |
Definition at line 172 of file TrigBhhComboHypo.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.