![]() |
ATLAS Offline Software
|
#include <MuonCreatorTool.h>
Public Types | |
| using | InDetCandidateTagsMap = std::vector<InDetCandidateTags> |
| using | InDetCandidateTags = std::pair<const InDetCandidate*, std::vector<const TagBase*> > |
Public Member Functions | |
| MuonCreatorTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| ~MuonCreatorTool ()=default | |
| virtual StatusCode | initialize () override final |
| virtual void | create (const EventContext &ctx, const MuonCandidateCollection *muonCandidates, const std::vector< const InDetCandidateToTagMap * > &tagMaps, OutputData &outputData) const override final |
| IMuonCreatorTool interface: build muons from ID and MS candidates. | |
| virtual xAOD::Muon * | create (const EventContext &ctx, const MuonCandidate &candidate, OutputData &outputData) const override final |
| IMuonCreatorTool interface: create a muon from a muon candidate. | |
| virtual xAOD::Muon * | create (const EventContext &ctx, InDetCandidateTags &candidate, OutputData &outputData) const override final |
| IMuonCreatorTool interface: create a muon from a muon candidate. | |
| 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 | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| 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 |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
Protected Member Functions | |
| 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 | |
| void | create (const EventContext &ctx, const MuonCandidateCollection *muonCandidates, const std::vector< const InDetCandidateToTagMap * > &tagMaps, OutputData &outputData, bool select_comissioning) const |
| void | decorateDummyValues (const EventContext &ctx, xAOD::Muon &muon, OutputData &outputData) const |
| De^corated a bunch of dummy values to the muon to ensure data consistency in the xAOD. | |
| void | addStatisticalCombination (const EventContext &ctx, xAOD::Muon &muon, const InDetCandidate *candidate, const StacoTag *tag, OutputData &outputData) const |
| void | addCombinedFit (const EventContext &ctx, xAOD::Muon &muon, const CombinedFitTag *tag, OutputData &outputData) const |
| void | addMuGirl (const EventContext &ctx, xAOD::Muon &muon, const MuGirlTag *tag, OutputData &outputData) const |
| void | addMuGirlLowBeta (const EventContext &ctx, xAOD::Muon &muon, const MuGirlLowBetaTag *tag, xAOD::SlowMuon *slowMuon, OutputData &outputData) const |
| void | addSegmentTag (const EventContext &ctx, xAOD::Muon &muon, const SegmentTag *tag, OutputData &outputData) const |
| void | addCaloTag (xAOD::Muon &muon, const CaloTag *tag) const |
| void | addMuonCandidate (const EventContext &ctx, const MuonCandidate &candidate, xAOD::Muon &muon, OutputData &outputData, const ElementLink< TrackCollection > &meLink=ElementLink< TrackCollection >()) const |
| add muon candidate info to a muon, if an updateExtrapolatedTrack is provided, the routine takes ownership of the track. | |
| ElementLink< xAOD::TrackParticleContainer > | createTrackParticleElementLink (const ElementLink< TrackCollection > &trackLink, xAOD::TrackParticleContainer &trackParticleContainer, TrackCollection *trackCollection=0) const |
| function creates an element link to a track particle from the track and the TrackParticle collection. | |
| ElementLink< xAOD::MuonSegmentContainer > | createMuonSegmentElementLink (const EventContext &ctx, const Muon::MuonSegment *segLink, const OutputData &outData) const |
| void | resolveOverlaps (const EventContext &ctx, const MuonCandidateCollection *muonCandidates, const std::vector< const InDetCandidateToTagMap * > &tagMaps, InDetCandidateTagsMap &resolvedInDetCandidates, std::vector< const MuonCombined::MuonCandidate * > &resolvedMuonCandidates, bool select_comissioning=false) const |
| void | selectStaus (InDetCandidateTagsMap &resolvedInDetCandidates, const std::vector< const InDetCandidateToTagMap * > &tagMaps) const |
| std::unique_ptr< Trk::Track > | createDummyTrack (const EventContext &ctx, const std::vector< const Muon::MuonSegment * > &segments, const Trk::Track &indetTrack) const |
| void | setMuonHitCounts (xAOD::Muon &muon) const |
| bool | dressMuon (xAOD::Muon &muon) const |
| void | addEnergyLossToMuon (xAOD::Muon &muon) const |
| void | fillEnergyLossFromTrack (xAOD::Muon &muon, const std::vector< const Trk::TrackStateOnSurface * > *tsosVector) const |
| void | setP4 (xAOD::Muon &muon, const xAOD::TrackParticle &tp) const |
| void | collectCells (const EventContext &ctx, xAOD::Muon &muon, xAOD::CaloClusterContainer *clusterContainer, const Trk::CaloExtension *inputCaloExt=nullptr) const |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
| ServiceHandle< Muon::IMuonEDMHelperSvc > | m_edmHelperSvc |
| PublicToolHandle< Muon::MuonEDMPrinterTool > | m_printer {this, "Printer", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"} |
| ToolHandle< Rec::IMuonPrintingTool > | m_muonPrinter {this, "MuonPrinter", "Rec::MuonPrintingTool/MuonPrintingTool"} |
| ToolHandle< Trk::IParticleCaloExtensionTool > | m_caloExtTool |
| ToolHandle< Trk::ITrackParticleCreatorTool > | m_particleCreator |
| ToolHandle< Trk::ITrackAmbiguityProcessorTool > | m_ambiguityProcessor {this, "AmbiguityProcessor", ""} |
| ToolHandle< Trk::IPropagator > | m_propagator {this, "Propagator", "Trk::RungeKuttaPropagator/AtlasRungeKuttaPropagator"} |
| ToolHandle< xAOD::IMuonDressingTool > | m_muonDressingTool {this, "MuonDressingTool", "MuonCombined::MuonDressingTool/MuonDressingTool"} |
| ToolHandle< Rec::IMuonMomentumBalanceSignificance > | m_momentumBalanceTool |
| ToolHandle< Rec::IMuonScatteringAngleSignificance > | m_scatteringAngleTool |
| ToolHandle< CP::IMuonSelectionTool > | m_selectorTool {this, "MuonSelectionTool", "CP::MuonSelectionTool/MuonSelectionTool"} |
| ToolHandle< Rec::IMuonMeanMDTdADCFiller > | m_meanMDTdADCTool |
| ToolHandle< Trk::ITrkMaterialProviderTool > | m_caloMaterialProvider |
| ToolHandle< Rec::IMuonTrackQuery > | m_trackQuery {this, "TrackQuery", "Rec::MuonTrackQuery/MuonTrackQuery"} |
| ToolHandle< Trk::IExtendedTrackSummaryTool > | m_trackSummaryTool {this, "TrackSummaryTool", "MuonTrackSummaryTool"} |
| Rec::CaloCellCollector | m_cellCollector |
| SG::ReadHandleKey< CaloCellContainer > | m_cellContainerName {this, "CaloCellContainer", "AllCalo", "calo cells"} |
| SG::ReadCondHandleKey< CaloNoise > | m_caloNoiseKey {this, "CaloNoise", "", "CaloNoise object to use, or blank."} |
| Gaudi::Property< bool > | m_buildStauContainer {this, "BuildStauContainer", false, "flag to decide whether to build stau or not"} |
| Gaudi::Property< bool > | m_addMDTExtrasMuGirlLowBeta {this, "AddMDTExtrasMuGirlLowBeta", false} |
| Gaudi::Property< bool > | m_fillEnergyLossFromTrack |
| Gaudi::Property< bool > | m_fillExtraELossInfo |
| Gaudi::Property< bool > | m_printSummary {this, "PrintSummary", false, "flag to print muon edm"} |
| Gaudi::Property< bool > | m_useUpdatedExtrapolatedTrack |
| Gaudi::Property< bool > | m_segLowBeta {this, "AssociateSegmentsToLowBetaMuons", false, "associate segments to MuGirlLowBeta muons"} |
| Gaudi::Property< bool > | m_useCaloCells {this, "UseCaloCells", true} |
| Gaudi::Property< bool > | m_doSA {this, "MakeSAMuons", false} |
| Gaudi::Property< bool > | m_requireIDTracks {this, "RequireIDTrack", false} |
| In case of running the muon reconstruction with LRT tracks this property removes the overlap of muons in the container in which in any case no ID track is available. | |
| Gaudi::Property< float > | m_sigmaCaloNoiseCut {this, "SigmaCaloNoiseCut", 3.4} |
| Gaudi::Property< std::vector< std::string > > | m_copyFloatSummaryKeys |
| Gaudi::Property< std::vector< std::string > > | m_copyCharSummaryKeys |
| Gaudi::Property< bool > | m_requireMSOEforSA |
| Gaudi::Property< bool > | m_requireCaloDepositForSA |
| std::vector< std::unique_ptr< SG::AuxElement::Accessor< float > > > | m_copyFloatSummaryAccessors |
| std::vector< std::unique_ptr< SG::AuxElement::Accessor< uint8_t > > > | m_copyCharSummaryAccessors |
| SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager"} |
| 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 |
Definition at line 60 of file MuonCreatorTool.h.
|
inherited |
Definition at line 35 of file IMuonCreatorTool.h.
| using MuonCombined::MuonCreatorTool::InDetCandidateTagsMap = std::vector<InDetCandidateTags> |
Definition at line 62 of file MuonCreatorTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| MuonCombined::MuonCreatorTool::MuonCreatorTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 56 of file MuonCreatorTool.cxx.
|
default |
|
private |
Definition at line 724 of file MuonCreatorTool.cxx.
|
private |
Definition at line 486 of file MuonCreatorTool.cxx.
|
private |
Definition at line 1277 of file MuonCreatorTool.cxx.
|
private |
Definition at line 633 of file MuonCreatorTool.cxx.
|
private |
Definition at line 520 of file MuonCreatorTool.cxx.
|
private |
add muon candidate info to a muon, if an updateExtrapolatedTrack is provided, the routine takes ownership of the track.
The track will be used instead of the extrapolatedTrack of the MuonCandidate. The extrapolatedTrack of the MuonCandidate will be release during the operation.
Definition at line 801 of file MuonCreatorTool.cxx.
|
private |
Definition at line 688 of file MuonCreatorTool.cxx.
|
private |
Also add this decoration to maintain data-format consistency to the combined track particles (cf. ATLASRECTS-6454)
Definition at line 389 of file MuonCreatorTool.cxx.
|
private |
Definition at line 1370 of file MuonCreatorTool.cxx.
|
finaloverridevirtual |
IMuonCreatorTool interface: create a muon from a muon candidate.
Implements MuonCombined::IMuonCreatorTool.
Definition at line 178 of file MuonCreatorTool.cxx.
|
finaloverridevirtual |
IMuonCreatorTool interface: build muons from ID and MS candidates.
Implements MuonCombined::IMuonCreatorTool.
Definition at line 116 of file MuonCreatorTool.cxx.
|
private |
Definition at line 121 of file MuonCreatorTool.cxx.
|
finaloverridevirtual |
IMuonCreatorTool interface: create a muon from a muon candidate.
Implements MuonCombined::IMuonCreatorTool.
Definition at line 250 of file MuonCreatorTool.cxx.
|
private |
Definition at line 1169 of file MuonCreatorTool.cxx.
|
private |
Definition at line 784 of file MuonCreatorTool.cxx.
|
private |
function creates an element link to a track particle from the track and the TrackParticle collection.
if a TrackCollection is also provided, the element link to the track will also be set takes ownership of the track
Definition at line 758 of file MuonCreatorTool.cxx.
|
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.
|
private |
De^corated a bunch of dummy values to the muon to ensure data consistency in the xAOD.
Unspoiled CSC hits
Definition at line 230 of file MuonCreatorTool.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
private |
Definition at line 1205 of file MuonCreatorTool.cxx.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
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
|
private |
Definition at line 1323 of file MuonCreatorTool.cxx.
|
finaloverridevirtual |
Definition at line 61 of file MuonCreatorTool.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.
|
inlinestaticinherited |
Definition at line 72 of file IMuonCreatorTool.h.
|
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.
|
private |
Find all InDetCandidate – Combined tag combinations Be aware that different InDetCandidateMaps could have different InDetCandidate objects but the underlying tracks are always the same
Check whether the author arises from the comissioning chain The maps are filled in dedicated algorithim. So all tags will fail / satisfy this condition
Add the track for the ambiguity reprocessing
Create firs the dummy track
Add it to the list piped to ambiguity solving
Move the candidate into the map to find the resolved tracks
In principle we can include here STACO as well but that is lower ranked as MuidSA
Definition at line 973 of file MuonCreatorTool.cxx.
|
private |
Definition at line 945 of file MuonCreatorTool.cxx.
|
private |
|
private |
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 177 of file MuonCreatorTool.h.
|
private |
Definition at line 152 of file MuonCreatorTool.h.
|
private |
Definition at line 176 of file MuonCreatorTool.h.
|
private |
Definition at line 148 of file MuonCreatorTool.h.
|
private |
Definition at line 165 of file MuonCreatorTool.h.
|
private |
Definition at line 216 of file MuonCreatorTool.h.
|
private |
Definition at line 174 of file MuonCreatorTool.h.
|
private |
Definition at line 171 of file MuonCreatorTool.h.
|
private |
Definition at line 173 of file MuonCreatorTool.h.
|
private |
Definition at line 214 of file MuonCreatorTool.h.
|
private |
Definition at line 201 of file MuonCreatorTool.h.
|
private |
Definition at line 213 of file MuonCreatorTool.h.
|
private |
Definition at line 198 of file MuonCreatorTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 190 of file MuonCreatorTool.h.
|
private |
Definition at line 142 of file MuonCreatorTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 178 of file MuonCreatorTool.h.
|
private |
Definition at line 181 of file MuonCreatorTool.h.
|
private |
Definition at line 141 of file MuonCreatorTool.h.
|
private |
Definition at line 163 of file MuonCreatorTool.h.
|
private |
Definition at line 155 of file MuonCreatorTool.h.
|
private |
Definition at line 154 of file MuonCreatorTool.h.
|
private |
Definition at line 146 of file MuonCreatorTool.h.
|
private |
Definition at line 150 of file MuonCreatorTool.h.
|
private |
Definition at line 145 of file MuonCreatorTool.h.
|
private |
Definition at line 184 of file MuonCreatorTool.h.
|
private |
Definition at line 153 of file MuonCreatorTool.h.
|
private |
Definition at line 211 of file MuonCreatorTool.h.
|
private |
In case of running the muon reconstruction with LRT tracks this property removes the overlap of muons in the container in which in any case no ID track is available.
Definition at line 194 of file MuonCreatorTool.h.
|
private |
Definition at line 208 of file MuonCreatorTool.h.
|
private |
Definition at line 158 of file MuonCreatorTool.h.
|
private |
Definition at line 188 of file MuonCreatorTool.h.
|
private |
Definition at line 161 of file MuonCreatorTool.h.
|
private |
Definition at line 196 of file MuonCreatorTool.h.
|
private |
Definition at line 168 of file MuonCreatorTool.h.
|
private |
Definition at line 169 of file MuonCreatorTool.h.
|
private |
Definition at line 189 of file MuonCreatorTool.h.
|
private |
Definition at line 185 of file MuonCreatorTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.