24#include "CaloEvent/CaloCluster.h"
25#include "GaudiKernel/GaudiException.h"
120 if(isExtrapolatedToVertex)
160 if(isExtrapolatedToVertex)
185 const std::vector<const Trk::Segment*>& muonSegments)
206 for (
unsigned int i=0; i<muonSegments.size(); ++i) this->
addSegment(segmentContainer, muonSegments[i]);
271 if (
this != &rhs ) {
272 IAthenaBarCode::operator=(rhs);
273 INavigable::operator=(rhs);
274 I4Momentum::operator=(rhs);
275 INavigable4Momentum::operator=(rhs);
468 if( !indetParticle )
return false;
489 for (
const std::pair<MuonParameters::ParamDef, float>&
p :
m_parameters) {
516 eloss = caloEnergy->
deltaE();
519 return std::make_pair(eloss, sigma);
746 const std::vector<const Trk::Segment*>& muonSegments)
749 for (
unsigned int i=0; i<muonSegments.size(); ++i) this->
addSegment(segmentContainer, muonSegments[i]);
776 if (cont && trackParticle)
785 if (cont && trackParticle) {
802 if (cont && trackParticle) {
817 if (cont && trackParticle) {
834 if (cont && trackParticle) {
890 using muonParams = std::pair<MuonParameters::ParamDef, float>;
895 if ( (*p).first ==
index )
break;
903 (*p).second = (float)value;
921 bool checkFlag =
false;
938 if ( trackToken !=
nullptr ) {
949 if ( parTrackToken !=
nullptr ) {
967 if ( trackToken !=
nullptr ) {
978 if ( parTrackToken !=
nullptr ) {
997 if ( trackToken !=
nullptr ) {
1004 if ( ! checkFlag ) {
1008 if ( parTrackToken !=
nullptr ) {
1016 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack);
1029 const std::any& theWeight)
const
1031 bool checkFlag =
false;
1044 if ( trackToken !=
nullptr ) {
1051 if ( ! checkFlag ) {
1055 if ( parTrackToken !=
nullptr ) {
1057 std::any_cast<double>(theWeight));
1064 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1075 if ( trackToken !=
nullptr ) {
1082 if ( ! checkFlag ) {
1086 if ( parTrackToken !=
nullptr ) {
1088 std::any_cast<double>(theWeight));
1095 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1106 if ( trackToken !=
nullptr ) {
1113 if ( ! checkFlag ) {
1117 if ( parTrackToken !=
nullptr ) {
1119 std::any_cast<double>(theWeight));
1126 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1141 else return nullptr;
static const Attributes_t empty
int numberOfRPCEtaHoles() const
Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.
const Rec::TrackParticle * track() const
return the primary track of this muon
bool hasInDetTrackParticle() const
test if associated indet TrackParticle is available
uint16_t m_allAuthors
all authors - all the authors of this this Muon
MuonParameters::Author author() const
return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muon...
const Rec::TrackParticle * combinedMuonTrackParticle() const
Access to the TrackParticles.
void set_innerExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the extrapolated track particle from the inner detector.
int numberOfGangedPixels() const
number of Ganged Pixel for track from primary author
bool hasInnerExtrapolatedTrackParticle() const
test if associated TrackParticle from ID-seeded full track fit is available
bool m_hasMuonExtrapolatedTrackParticle
test for TrackParticles
void set_inDetTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
Set the inner detector track particle.
int numberOfTGCPhiHoles() const
Get Muon Spectrometer TGC Phi Holes information for MS track or tagged segments.
ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM > MuonImpl_t
bool isSegmentTaggedMuon() const
Method for querying primary identification mechanism: muon identified by inner-detector seeded identi...
int numberOfTGCEtaHits() const
Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.
std::vector< int > m_associatedPhiDigits
int numberOfRPCPhiHoles() const
Get Muon Spectrometer RPC Phi Holes information for MS track or tagged segments.
int numberOfInnermostPixelLayerHits() const
Get Inner detector Hits information from ID trackparticle.
void set_parameter(MuonParameters::ParamDef index, double value, bool overwrite=false)
set a parameter in the MuonParamDefs.h
std::vector< std::pair< MuonParameters::ParamDef, float > > m_parameters
Parameters as defined in MuonParamDef.h.
int numberOfTRTOutliers() const
Get number of TRT Outliers from ID trackparticle.
int numberOfSCTHoles() const
Get number of Silicon SCT holes from ID trackparticle.
int numberOfTRTHighThresholdOutliers() const
Get number of TRT Outliers High Threshold from ID trackparticle.
Trk::FitQuality m_transientOuterMatchChi2
Muon & operator=(const Muon &rhs)
Assignment operator.
bool hasGlobalMuonTrackFit() const
flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGi...
std::vector< int > m_associatedEtaDigits
Low Pt muon stuff.
bool isCaloMuonId() const
Method for querying primary identification mechanism: muon identified solely by calorimeter based ide...
bool hasCombinedMuonTrackParticle() const
test if associated combined-muon TrackParticle is available
int numberOfCSCPhiHits() const
Get Muon Spectrometer CSC Phi Hits information for MS track or tagged segments.
int numberOfCSCPhiHoles() const
Get Muon Spectrometer CSC Phi Holes information for MS track or tagged segments.
ElementLink< Rec::TrackParticleContainer > m_combinedMuonTrackParticle
void set_combinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle.
ElementLink< Rec::TrackParticleContainer > m_inDetTrackParticle
end LowPt stuff
int numberOfTrackSummaryTypes(unsigned int type=0) const
number of summaryTypes for track from primary author
bool add_author(MuonParameters::Author author)
the add_author method returns a bool:
int numberOfTRTHits() const
Get number of TRT hits from ID trackparticle.
void set_muonExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the muon spectrometer extrapolated track particle.
int numberOfInnermostPixelLayerSharedHits() const
Get number of shared hits or holes from ID trackparticle.
virtual void fillToken(INavigationToken &thisToken) const
navigation method
void set_numberOfAssociatedPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt - Associated Phi Digits.
void set_numberOfSegmentEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Eta Digits.
int numberOfCSCEtaHoles() const
Get Muon Spectrometer CSC Eta Holes information for MS track or tagged segments.
bool m_hasCombinedMuonTrackParticle
bool m_isAlsoFoundByCaloMuonId
this muon is also found by the Calo Muon ID reconstruction algorithm
void set_numberOfSegmentPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Phi Digits.
int numberOfSCTHits() const
Get number of Silicon SCT hits from ID trackparticle.
int numberOfTGCPhiHits() const
Get Muon Spectrometer TGC Phi Hits information for MS track or tagged segments.
void set_muonSpectrometerTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set Muon Spectrometer TrackParticle
const Rec::TrackParticle * muonExtrapolatedTrackParticle() const
Access to the TrackParticles.
const Rec::TrackParticle * inDetTrackParticle() const
deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a g...
bool isStandAloneMuon() const
method for querying primary identification mechanism: muon identified by spectrometer track (that is ...
int numberOfSCTSharedHits() const
Get number of Silicon SCT shared hits from ID trackparticle.
bool isCombinedMuon() const
method for querying primary identification mechanism: muon identified by successfully combining a ful...
ElementLink< MuonCaloEnergyContainer > m_caloEnergyLoss
energy loss in calorimeter
unsigned int numberOfSegments() const
Access to the number of muon segments.
ElementLink< Rec::TrackParticleContainer > m_muonExtrapolatedTrackParticle
int numberOfOutliersOnTrack() const
number of outliers for track from primary author
int numberOfRPCPhiHits() const
Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.
void set_energyLoss(const CaloEnergy *caloEnergy)
set the energy loss in the calorimeter
bool m_isAlsoFoundByLowPt
this muon is also found by the lowPT reconstruction algorithm
bool hasMuonExtrapolatedTrackParticle() const
test if associated MS TrackParticle (extrapolated to IP) is available
MuonQualityWord m_isMuonBits
muon selection parameters
int numberOfPixelHoles() const
Get number of Pixel holes from ID trackparticle.
void set_outerMatchChi2(double x, int ndof)
set the outer match chi2/ndof for combined and segment-tagged muons
void set_statCombinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle for statistical combination.
ElementLink< CaloClusterContainer > m_cluster
ElementLink< Rec::TrackParticleContainer > m_muonSpectrometerTrackParticle
needed by MOORE
int numberOfTGCEtaHoles() const
Get Muon Spectrometer TGC Eta Holes information for MS track or tagged segments.
void copySegmentLinkVector(const ElementLinkVector< Trk::SegmentCollection > &segments)
function to copy muon segment element links into this muon
void set_muonSegments(const Trk::SegmentCollection *, const std::vector< const Trk::Segment * > &)
set the combined muon track particle
void set_numberOfAssociatedEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt stuff.
void addSegment(const Trk::SegmentCollection *, const Trk::Segment *)
set the combined muon track particle
bool isAuthor(const unsigned int author) const
check if this author is among the list of authors of this Muon - obviously, the primary author MUST b...
MuonParameters::Author m_author
the author of this muon
Muon()
Default constructor.
int numberOfMDTHoles() const
Get Muon Spectrometer MDT holes information for MS track or tagged segments.
ElementLinkVector< Trk::SegmentCollection > m_muonSegments
const std::vector< int > & associatedPhiDigits() const
Access to the MS phi hits associated by segment-tagged muons.
const std::vector< std::pair< MuonParameters::ParamDef, float > > & parameter() const
vector of parameter pairs for this Muon - isolation energy in some cone for example
ElementLink< Rec::TrackParticleContainer > m_statCombinedMuonTrackParticle
int numberOfPixelSharedHits() const
Get number of Pixel shared hits from ID trackparticle.
ElementLink< Rec::TrackParticleContainer > m_innerExtrapolatedTrackParticle
int numberOfMDTHits() const
Get Muon Spectrometer MDT Hits information for MS track or tagged segments.
int numberOfPixelHits() const
Get number of Pixel hits from ID trackparticle.
int m_outerMatchNumberDoF
bool m_isCorrected
AOD to AOD correction.
std::pair< double, double > energyLoss() const
energy loss and its uncertainty in the calorimeter
const ElementLinkVector< Trk::SegmentCollection > & muonSegmentLink() const
Access to vector smart pointers (ElementLink) to muon segments.
unsigned short m_caloMuonAlsoFoundByMuonReco
flag the calo muon if it is also reconstruction by the standart muon algorithms
bool isSiliconAssociatedForwardMuon() const
Method for querying primary identification mechanism: a combined muon where a clean forward standalon...
int numberOfTRTHighThresholdHits() const
Get number of TRT High Threshold hits from ID trackparticle.
int numberOfRPCEtaHits() const
Get Muon Spectrometer RPC Eta Hits information for MS track or tagged segments.
const std::vector< int > & associatedEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.
int numberOfCSCEtaHits() const
Get Muon Spectrometer CSC Eta Hits information for MS track or tagged segments.
class extending the basic Trk::EnergyLoss to describe the measured or parameterised muon energy loss ...
ElementLinkVector implementation for standalone ROOT.
ELVIterator< typename RefVector::const_iterator > const_iterator
ElementLink implementation for ROOT usage.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
I4Momentum is an abstract base class providing 4-momentum behavior.
virtual CLHEP::HepLorentzVector hlv() const =0
CLHEP HepLorentzVector.
virtual bool trySetObject(const INavigable *child)=0
Data object for a StoreGate container holding a vector of CaloEnergy, the detailed energy loss descri...
void setObject(const_child_ptr data)
virtual void set4Mom(const I4Momentum &p4)
virtual void set_charge(ChargeType x)
ParticleImpl & operator=(const ParticleImpl &rhs)
double sigmaDeltaE() const
returns the symmatric error
double deltaE() const
returns the
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Base class for all TrackSegment implementations, extends the common MeasurementBase.
bool patternRecoInfo(const TrackPatternRecoInfo &pattern) const
Access method for pattern recognition algorithm.
@ SiSpacePointsSeedMaker_ForwardTracks
Entries allowing to distinguish different seed makers.
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
double charge() const
Return charge of the particle.
const TrackInfo & info() const
returns the info of the track.
int get(const SummaryType &type) const
returns the summary information for the passed SummaryType.
double chi2(TH1 *h0, TH1 *h1)
The namespace of all packages in PhysicsAnalysis/JetTagging.
ParamDef
Enum for parameter indexes.
Author
do not change the order of these enums.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< Trk::Segment > SegmentCollection
SummaryType
enumerates the different types of information stored in Summary.
@ numberOfTgcPhiHoles
number of TGC Phi measurements missing from the track
@ numberOfRpcEtaHoles
number of RPC Eta measurements missing from the track
@ numberOfSCTHits
number of SCT holes
@ numberOfGangedPixels
number of Ganged Pixels flagged as fakes
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfTRTHighThresholdOutliers
number of dead TRT straws crossed
@ legacy_numberOfSCTSharedHits
@ numberOfMdtHoles
number of MDT measurements missing from the track
@ numberOfTrackSummaryTypes
@ numberOfTRTOutliers
number of TRT holes
@ legacy_numberOfPixelSharedHits
@ numberOfTRTHits
number of TRT outliers
@ numberOfInnermostPixelLayerHits
these are the hits in the 1st pixel layer
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
@ numberOfMdtHits
number of mdt hits
@ numberOfSCTHoles
number of Holes in both sides of a SCT module
@ numberOfPixelHoles
number of pixels which have a ganged ambiguity.
@ numberOfOutliersOnTrack
100 times the standard deviation of the chi2 from the surfaces
@ numberOfTgcEtaHoles
number of TGC Eta measurements missing from the track
@ legacy_numberOfInnermostPixelLayerSharedHits
@ numberOfCscPhiHoles
number of CSC Phi measurements missing from the track
@ numberOfRpcPhiHoles
number of RPC Phi measurements missing from the track
@ numberOfCscEtaHoles
number of CSC Eta measurements missing from the track