![]() |
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 EventContext &ctx, 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 1278 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 802 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 1371 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 1170 of file MuonCreatorTool.cxx.
|
private |
Definition at line 785 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 1206 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 1324 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 974 of file MuonCreatorTool.cxx.
|
private |
Definition at line 946 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 178 of file MuonCreatorTool.h.
|
private |
Definition at line 153 of file MuonCreatorTool.h.
|
private |
Definition at line 177 of file MuonCreatorTool.h.
|
private |
Definition at line 149 of file MuonCreatorTool.h.
|
private |
Definition at line 166 of file MuonCreatorTool.h.
|
private |
Definition at line 217 of file MuonCreatorTool.h.
|
private |
Definition at line 175 of file MuonCreatorTool.h.
|
private |
Definition at line 172 of file MuonCreatorTool.h.
|
private |
Definition at line 174 of file MuonCreatorTool.h.
|
private |
Definition at line 215 of file MuonCreatorTool.h.
|
private |
Definition at line 202 of file MuonCreatorTool.h.
|
private |
Definition at line 214 of file MuonCreatorTool.h.
|
private |
Definition at line 199 of file MuonCreatorTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default).
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 191 of file MuonCreatorTool.h.
|
private |
Definition at line 143 of file MuonCreatorTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default).
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 179 of file MuonCreatorTool.h.
|
private |
Definition at line 182 of file MuonCreatorTool.h.
|
private |
Definition at line 142 of file MuonCreatorTool.h.
|
private |
Definition at line 164 of file MuonCreatorTool.h.
|
private |
Definition at line 156 of file MuonCreatorTool.h.
|
private |
Definition at line 155 of file MuonCreatorTool.h.
|
private |
Definition at line 147 of file MuonCreatorTool.h.
|
private |
Definition at line 151 of file MuonCreatorTool.h.
|
private |
Definition at line 146 of file MuonCreatorTool.h.
|
private |
Definition at line 185 of file MuonCreatorTool.h.
|
private |
Definition at line 154 of file MuonCreatorTool.h.
|
private |
Definition at line 212 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 195 of file MuonCreatorTool.h.
|
private |
Definition at line 209 of file MuonCreatorTool.h.
|
private |
Definition at line 159 of file MuonCreatorTool.h.
|
private |
Definition at line 189 of file MuonCreatorTool.h.
|
private |
Definition at line 162 of file MuonCreatorTool.h.
|
private |
Definition at line 197 of file MuonCreatorTool.h.
|
private |
Definition at line 169 of file MuonCreatorTool.h.
|
private |
Definition at line 170 of file MuonCreatorTool.h.
|
private |
Definition at line 190 of file MuonCreatorTool.h.
|
private |
Definition at line 186 of file MuonCreatorTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.