|
ATLAS Offline Software
|
#include <MuonDressingTool.h>
|
| MuonDressingTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
| ~MuonDressingTool ()=default |
|
StatusCode | initialize () |
|
void | addMuonHitSummary (xAOD::Muon &muon, const Trk::TrackSummary *summary=0) const |
| add muon hit summary information to a Muon, uses the MuonTrackSummary if provided More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 21 of file MuonDressingTool.h.
◆ StoreGateSvc_t
◆ MuonDressingTool()
MuonCombined::MuonDressingTool::MuonDressingTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~MuonDressingTool()
MuonCombined::MuonDressingTool::~MuonDressingTool |
( |
| ) |
|
|
default |
◆ addMuonHitSummary()
add muon hit summary information to a Muon, uses the MuonTrackSummary if provided
Implements xAOD::IMuonDressingTool.
Definition at line 24 of file MuonDressingTool.cxx.
136 uint8_t innerOutBoundsHits = 0;
137 uint8_t middleOutBoundsHits = 0;
138 uint8_t outerOutBoundsHits = 0;
139 uint8_t extendedOutBoundsHits = 0;
141 uint8_t combinedTrackOutBoundsHits = 0;
162 if (!tpLink.
isValid()) tpLink =
muon.extrapolatedMuonSpectrometerTrackParticleLink();
163 if (!tpLink.
isValid()) tpLink =
muon.msOnlyExtrapolatedMuonSpectrometerTrackParticleLink();
164 if (!tpLink.
isValid()) tpLink =
muon.muonSpectrometerTrackParticleLink();
167 if ((*tpLink)->trackLink().isValid()) trackSummary = (*tpLink)->track()->trackSummary();
173 mainSector =
summary.mainSector;
174 secondSector = mainSector;
175 for (
auto sec :
summary.sectors) {
176 if (sec !=
summary.mainSector) secondSector = sec;
187 if (
summary.isEndcap) isEndcap = 1;
188 if (
summary.isSmall) isSmall = 1;
191 combinedTrackOutBoundsHits +=
layer.second.noutBoundsHits;
193 innerCloseHits +=
layer.second.nprecisionCloseHits;
196 middleCloseHits +=
layer.second.nprecisionCloseHits;
199 outerCloseHits +=
layer.second.nprecisionCloseHits;
202 extendedCloseHits +=
layer.second.nprecisionCloseHits;
209 if ((*mstpLink)->trackLink().isValid()) mstpTrackSummary = (*mstpLink)->track()->trackSummary();
211 if (mstpTrackSummary) {
214 innerOutBoundsHits +=
layer.second.noutBoundsHits;
217 middleOutBoundsHits +=
layer.second.noutBoundsHits;
220 outerOutBoundsHits +=
layer.second.noutBoundsHits;
223 extendedOutBoundsHits +=
layer.second.noutBoundsHits;
229 if (trackSummary->muonTrackSummary()) {
233 std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit = mts.
chamberHitSummary().begin();
234 std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit_end = mts.
chamberHitSummary().end();
235 for (; chit != chit_end; ++chit) {
241 if (isMdt || isMM || isCsc || issTgc) {
278 *
hits += chit->nhits();
279 *
holes += chit->nholes();
281 *
hits += chit->netaHits();
282 *
holes += chit->etaProjection().nholes;
296 if (!isMdt && !isMM) {
402 *phiHits += chit->nphiHits();
403 *phiHoles += chit->phiProjection().nholes;
405 if (etaHits && !isCsc) {
406 *etaHits += chit->netaHits();
407 *etaHoles += chit->etaProjection().nholes;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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
◆ initialize()
StatusCode MuonCombined::MuonDressingTool::initialize |
( |
| ) |
|
◆ inputHandles()
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.
◆ interfaceID()
const InterfaceID & xAOD::IMuonDressingTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_hitSummaryTool
◆ m_idHelperSvc
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
@ phiLayer1STGCHoles
number of phi holes in the first STGC trigger layer (STGC1)
static const std::string & chName(ChIndex index)
convert ChIndex into a string
@ phiLayer1Hits
number of phi hits in the first trigger layer (BML1 ot T4)
@ etaLayer4TGCHoles
number of eta holes in the fourth TGC trigger layer (T3)
@ phiLayer2STGCHits
number of phi hits in the second STGC trigger layer (STGC2)
@ primarySector
primary sector crossed by the muon
@ etaLayer2RPCHoles
number of eta holes in the second RPC trigger layer (BML2)
@ etaLayer1Hits
number of eta hits in the first trigger layer (BML1 ot T4)
@ etaLayer2TGCHoles
number of eta holes in the second TGC trigger layer (T1)
@ phiLayer2TGCHoles
number of phi holes in the second TGC trigger layer (T1)
@ phiLayer3RPCHoles
number of phi holes in the third RPC trigger layer (BOL1)
@ phiLayer3Hits
number of phi hits in the third trigger layer (BOL1 ot T2)
@ numberOfPrecisionHoleLayers
layers with holes AND no hits [unit8_t].
@ phiLayer2Holes
number of phi holes in the second trigger layer (BML2 ot T1)
@ phiLayer4Hits
number of phi hits in the fourth trigger layer (T3)
@ etaLayer3TGCHits
number of eta hits in the third TGC trigger layer (T2)
@ outerClosePrecisionHits
number of close precision hits in the outer layer
@ etaLayer3RPCHoles
number of eta holes in the third RPC trigger layer (BOL1)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ etaLayer3Holes
number of eta holes in the third trigger layer (BOL1 ot T2)
@ phiLayer1RPCHits
number of phi hits in the first RPC trigger layer (BML1)
@ phiLayer1TGCHits
number of phi hits in the first TGC trigger layer (T4)
@ extendedSmallHoles
number of precision holes in the extended small layer
@ phiLayer3RPCHits
number of phi hits in the third RPC trigger layer (BOL1)
@ etaLayer3RPCHits
number of eta hits in the third RPC trigger layer (BOL1)
@ innerOutBoundsPrecisionHits
number of out-of-bounds hits in the inner layer
@ etaLayer1STGCHoles
number of eta holes in the first STGC trigger layer (STGC1)
@ etaLayer2TGCHits
number of eta hits in the second TGC trigger layer (T1)
@ numberOfPhiHoleLayers
layers with trigger phi holes but no hits [unit8_t].
@ extendedClosePrecisionHits
number of close precision hits in the extended layer
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
@ phiLayer4TGCHits
number of phi hits in the fourth TGC trigger layer (T3)
@ middleLargeHoles
number of precision holes in the middle large layer
@ etaLayer2Holes
number of eta holes in the second trigger layer (BML2 ot T1)
@ outerLargeHoles
number of precision holes in the outer large layer
@ outerOutBoundsPrecisionHits
number of out-of-bounds hits in the outer layer
PhiIndex
enum to classify the different phi layers in the muon spectrometer
@ phiLayer4RPCHits
number of phi hits in the fourth RPC trigger layer (BOL2)
bool isValid() const
Test to see if the link can be dereferenced.
@ innerLargeHits
number of precision hits in the inner large layer
@ extendedOutBoundsPrecisionHits
number of out-of-bounds hits in the extended layer
const std::vector< ChamberHitSummary > & chamberHitSummary() const
access to the vector of chamber hit summaries on the track
virtual void setOwner(IDataHandleHolder *o)=0
@ cscUnspoiledEtaHits
number of unspoiled CSC eta clusters on track
@ phiLayer2RPCHits
number of phi hits in the second RPC trigger layer (BML2)
@ etaLayer3Hits
number of eta hits in the third trigger layer (BOL1 ot T2)
@ middleLargeHits
number of precision hits in the middle large layer
@ outerSmallHoles
number of precision holes in the outer small layer
@ phiLayer3Holes
number of phi holes in the third trigger layer (BOL1 ot T2)
@ etaLayer1RPCHits
number of eta hits in the first RPC trigger layer (BML1)
@ phiLayer2Hits
number of phi hits in the second trigger layer (BML2 ot T1)
@ etaLayer1TGCHoles
number of eta holes in the first TGC trigger layer (T4)
@ etaLayer2Hits
number of eta hits in the second trigger layer (BML2 ot T1)
@ innerLargeHoles
number of precision holes in the inner large layer
@ numberOfTriggerEtaLayers
layers with trigger eta hits [unit8_t].
@ numberOfTriggerEtaHoleLayers
layers with trigger eta holes but no hits [unit8_t].
@ extendedLargeHits
number of precision hits in the extended large layer
@ innerClosePrecisionHits
number of close precision hits in the inner layer
@ etaLayer2STGCHoles
number of eta holes in the second STGC trigger layer (STGC2)
@ middleClosePrecisionHits
number of close precision hits in the middle layer
@ middleSmallHoles
number of precision holes in the middle small layer
@ combinedTrackOutBoundsPrecisionHits
total out-of-bounds hits on the combined track
@ phiLayer4TGCHoles
number of phi holes in the fourth TGC trigger layer (T3)
static const std::string & phiName(PhiIndex index)
convert PhiIndex into a string
@ cscEtaHits
number of CSC eta clusters on the track
Detailed track summary for the muon system Give access to hit counts per chamber.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
@ isSmallGoodSectors
if non-deweighted track chambers are small
@ phiLayer3TGCHits
number of phi hits in the third TGC trigger layer (T2)
@ etaLayer2RPCHits
number of eta hits in the second RPC trigger layer (BML2)
@ etaLayer2STGCHits
number of eta hits in the second STGC trigger layer (STGC2)
@ etaLayer1Holes
number of eta holes in the first trigger layer (BML1 ot T4)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
@ middleSmallHits
number of precision hits in the middle small layer
@ innerSmallHoles
number of precision holes in the inner small layer
A summary of the information contained by a track.
@ phiLayer1Holes
number of phi holes in the first trigger layer (BML1 ot T4)
@ isEndcapGoodLayers
if non-deweighted track chambers are in endcap
@ outerSmallHits
number of precision hits in the outer small layer
@ etaLayer4RPCHoles
number of eta holes in the fourth RPC trigger layer (BOL2)
@ phiLayer1TGCHoles
number of phi holes in the first TGC trigger layer (T4)
@ etaLayer1RPCHoles
number of eta holes in the first RPC trigger layer (BML1)
@ phiLayer3TGCHoles
number of phi holes in the third TGC trigger layer (T2)
@ secondarySector
secondary sector crossed by the muon (set to the primary if the muon only passed one sector)
@ outerLargeHits
number of precision hits in the outer large layer
@ extendedLargeHoles
number of precision holes in the extended large layer
#define ATH_MSG_WARNING(x)
@ phiLayer2RPCHoles
number of phi holes in the second RPC trigger layer (BML2)
@ etaLayer3TGCHoles
number of eta holes in the third TGC trigger layer (T2)
@ etaLayer1STGCHits
number of eta hits in the first STGC trigger layer (STGC1)
@ etaLayer4Holes
number of eta holes in the fourth trigger layer (T3)
@ phiLayer4Holes
number of phi holes in the fourth trigger layer (T3)
@ numberOfGoodPrecisionLayers
layers with at least 3 hits that are not deweighted [uint8_t]
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
@ etaLayer1TGCHits
number of eta hits in the first TGC trigger layer (T4)
@ etaLayer4RPCHits
number of eta hits in the fourth RPC trigger layer (BOL2)
ChIndex
enum to classify the different chamber layers in the muon spectrometer
@ phiLayer4RPCHoles
number of phi holes in the fourth RPC trigger layer (BOL2)
@ middleOutBoundsPrecisionHits
number of out-of-bounds hits in the middle layer
@ phiLayer1STGCHits
number of phi hits in the first STGC trigger layer (STGC1)
@ extendedSmallHits
number of precision hits in the extended small layer
@ innerSmallHits
number of precision hits in the inner small layer
@ etaLayer4TGCHits
number of eta hits in the fourth TGC trigger layer (T3)
@ numberOfPhiLayers
layers with a trigger phi hit [unit8_t].
@ phiLayer1RPCHoles
number of phi holes in the first RPC trigger layer (BML1)
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ etaLayer4Hits
number of eta hits in the fourth trigger layer (T3)
@ phiLayer2STGCHoles
number of phi holes in the second STGC trigger layer (STGC2)
@ phiLayer2TGCHits
number of phi hits in the second TGC trigger layer (T1)
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].