ATLAS Offline Software
Loading...
Searching...
No Matches
Analysis::Muon Class Reference

The ATLAS Muon object - see doxygen, physics workbookd and the Muon Combined Performance WG's pages for full documentation. More...

#include <Muon.h>

Inheritance diagram for Analysis::Muon:
Collaboration diagram for Analysis::Muon:

Public Types

typedef ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiMMuonImpl_t
typedef MuonImpl_t::navigable_type navigable_type
typedef MuonImpl_t::momentum_type momentum_type
typedef MuonImpl_t::particle_type particle_type
typedef ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Baseself_type
 publish the type of the base class (ie: 'traits-itize' it)
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 Muon ()
 Default constructor.
 Muon (MuonParameters::Author author)
 Default constructor.
 Muon (MuonParameters::Author author, const Rec::TrackParticle *inDetTP, const Rec::TrackParticle *extrapTP, const Rec::TrackParticle *combTP, const bool isExtrapolatedToVertex=true)
 create the combined muon from 3 TrackParticles: InDet, Extrapolated and Combined TP, the combined TP defines the Fourmomentum, - isExtrapolatedToVertex indicates whether it is a Track Extrapolated to the perigee otherwise (if false) then it is a track extraplated from vertex out to the spectrometer
 Muon (MuonParameters::Author author, const Rec::TrackParticle *inDetTP, const Trk::SegmentCollection *segmentContainer, const std::vector< const Trk::Segment * > &muonSegments)
 if the combined failed, still create the combined muon from Inner Detector track and a MuonSegment.
 Muon (MuonParameters::Author author, const Rec::TrackParticle *extrapTP, const bool isExtrapolatedToVertex=false)
 creates a muon for Standalone, ID-seeded (MuGirl) and Calo-tagged muons: for isExtrapolatedToVertex the trackparticle is interpreted as MS-standalone muon, for not isExtrapolatedToVertex the author is queried to distinguish MuGirl-refitted from calo tagged muons.
 Muon (const Muon &rhs)
 Copy constructor.
Muonoperator= (const Muon &rhs)
 Assignment operator.
 ~Muon ()
 Destructor.
virtual void fillToken (INavigationToken &thisToken) const
 navigation method
virtual void fillToken (INavigationToken &thisToken, const std::any &) const
 navigation method
MuonParameters::Author author () const
 return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muons with high purity
uint16_t allAuthors () const
 get all the authors of this Muon for example during overlap checking, the same Muon may have been reconstructed by many different algorithms.
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 be in the list
bool isAuthor (const MuonParameters::Author author) const
 check if this author is among the list of authors of this Muon - obviously, the primary author MUST be in the list
void set_author (MuonParameters::Author author)
 set the primary Author : the primary author is the algorithm that first created this Muon
void set_allAuthors (const uint16_t allAuthors)
 set all the authors of this Muon the authors are 16-bit word, 1-bit reserved for each muon Algorithm the positions of the 1-bit are defined as follows: Muonboy | STACO | MuTag | Muid SA | Muid Co | MuGirl | MuGirlLowBeta | CaloMuon | CaloTag / CaloLikelihood | MuTagIMO | MuonCombinedRefit | ExtrapolateMuonToIP each of these authors have 1 bit and the lower bits are Muonboy
bool add_author (MuonParameters::Author author)
 the add_author method returns a bool:
void add_authors (const uint16_t authors)
 other add_author method
bool isCombinedMuon () const
 method for querying primary identification mechanism: muon identified by successfully combining a full ID and a full MS track
bool isStandAloneMuon () const
 method for querying primary identification mechanism: muon identified by spectrometer track (that is not associated to ID) as main author
bool isSegmentTaggedMuon () const
 Method for querying primary identification mechanism: muon identified by inner-detector seeded identification (segment tagging or ID+MS refit)
bool isCaloMuonId () const
 Method for querying primary identification mechanism: muon identified solely by calorimeter based identification (so no signal in MS)
bool isSiliconAssociatedForwardMuon () const
 Method for querying primary identification mechanism: a combined muon where a clean forward standalone muon has been associated to a ID tracklet.
bool alsoFoundByLowPt () const
 is this muon also reconstructed by the lowPt algorithm?
bool alsoFoundByCaloMuonId () const
 is this muon also reconstructed by a CaloMuon ID algorithm?
unsigned short caloMuonAlsoFoundByMuonReco () const
 is this Calo Muon also reconstructed by one of the standard muon reconstruction algorithm?
void set_isAlsoFoundByLowPt (const bool isAlsoSeenByLowPt)
 set is also seen by low Pt reconstruction
void set_isAlsoFoundByCaloMuonId (const bool isAlsoSeenByCaloMuonId)
 set is also seen by calo muon Id reconstruction
void set_caloMuonAlsoFoundByMuonReco (const unsigned short isAlsoFoundByMuonReco)
 set if this calo muon is also reconstructed by one of the standard muon recosntruction algorithms that require the muon spectrometer - not that for calo muons, Inner Detector and Calorimeter only are used 0 - not found by muon reconstruction 1 - found by Muonboy/STACO/MuTag 2 = found by MuID SA/MuID Combined/MuGirl 3 - found by both 1 and 2
const Rec::TrackParticletrack () const
 return the primary track of this muon
double parameter (MuonParameters::ParamDef x) const
 get a parameter for this Muon - isolation energy in some cone for example
const std::vector< std::pair< MuonParameters::ParamDef, float > > & parameter () const
 vector of parameter pairs for this Muon - isolation energy in some cone for example
double matchChi2 () const
 get the chi2 of the MS-ID track match at the perigee
double matchChi2OverDoF () const
 get the chi2 over number of DoF of the track match at perigee
int matchNumberDoF () const
 get the number of DoF of the track match at perigee
int outerMatchNumberDoF () const
double fitChi2 () const
 get the chi2 of the track fit
int fitNumberDoF () const
 get the number of DoF of the track fit
double fitChi2OverDoF () const
 get the chi2 over number of DoF of the track fit
const Trk::FitQualityouterMatchChi2 () const
 returns track matching at MS entrance for combined muons and match at first segment for tagged muons.
std::pair< double, double > energyLoss () const
 energy loss and its uncertainty in the calorimeter
const CaloEnergycaloEnergyLoss () const
 energy loss in the calorimeter - access to the full object
bool bestMatch () const
 Is this combined Muon the best match?
bool isCorrected () const
 is this Muon corrected or not in AOD-to-AOD correction
bool hasCombinedMuon () const
 deprecated - please use primary identification, muon quality or MuonCP group guidelines to adopt a given muon quality definition
bool hasInDetTrackParticle () const
 test if associated indet TrackParticle is available
bool hasMuonExtrapolatedTrackParticle () const
 test if associated MS TrackParticle (extrapolated to IP) is available
bool hasInnerExtrapolatedTrackParticle () const
 test if associated TrackParticle from ID-seeded full track fit is available
bool hasCombinedMuonTrackParticle () const
 test if associated combined-muon TrackParticle is available
bool hasStatCombinedMuonTrackParticle () const
 test if (in addition to the refitted combined muon) a stat.combined TrackParticle is available.
bool hasCluster () const
 test for a valid pointer to a muon cluster
bool hasGlobalMuonTrackFit () const
 flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGirl-refit
const Rec::TrackParticleinDetTrackParticle () const
 deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a given muon quality definition
const Rec::TrackParticlemuonSpectrometerTrackParticle () const
 Access to the TrackParticles.
const Rec::TrackParticlemuonExtrapolatedTrackParticle () const
 Access to the TrackParticles.
const Rec::TrackParticleinnerExtrapolatedTrackParticle () const
 Access to the TrackParticles.
const Rec::TrackParticlecombinedMuonTrackParticle () const
 Access to the TrackParticles.
const Rec::TrackParticlestatCombinedMuonTrackParticle () const
 Access to the TrackParticles: statistical combination.
const ElementLinkVector< Trk::SegmentCollection > & muonSegmentLink () const
 Access to vector smart pointers (ElementLink) to muon segments.
void setMuonSegmentLink (const ElementLinkVector< Trk::SegmentCollection > &l)
const ElementLink< Trk::SegmentCollectionmuonSegmentLink (const unsigned int i, bool &validLink) const
 Access to the smart pointer (ElementLink) to a given muon segment in the list.
const ElementLink< Rec::TrackParticleContainer > & inDetTrackLink () const
 Access to the smart pointer to inner detector track.
void setInDetTrackLink (const ElementLink< Rec::TrackParticleContainer > &l)
const ElementLink< Rec::TrackParticleContainer > & muonExtrapTrackLink () const
 Access to the smart pointer to the muon track extrapolated to the vertex.
void setMuonExtrapTrackLink (const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
bool hasMuonExtrapolatedTrackParticleFlag () const
const ElementLink< Rec::TrackParticleContainer > & innerExtrapTrackLink () const
 Access to the smart pointer to the muon track extrapolated out from the vertex.
void setInnerExtrapTrackLink (const ElementLink< Rec::TrackParticleContainer > &l)
const ElementLink< Rec::TrackParticleContainer > & combinedTrackLink () const
 Access to the smart pointer to the muon combined track.
void setCombinedTrackLink (const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
bool hasCombinedMuonTrackParticleFlag () const
const ElementLink< Rec::TrackParticleContainer > & statCombinedTrackLink () const
 Access to the smart pointer to the muon combined track.
void setStatCombinedTrackLink (const ElementLink< Rec::TrackParticleContainer > &l)
const ElementLink< Rec::TrackParticleContainer > & muonSpectrometerTrackLink () const
 Access to the smart pointer to the muon spectrometer track.
void setMuonSpectrometerTrackLink (const ElementLink< Rec::TrackParticleContainer > &l)
const ElementLink< CaloClusterContainer > & clusterLink () const
void setClusterLink (const ElementLink< CaloClusterContainer > &l)
const ElementLink< MuonCaloEnergyContainer > & caloEnergyLink () const
 Access to the smart pointer to the calorimeter energy loss objeect associated to the muon.
void setCaloEnergyLink (const ElementLink< MuonCaloEnergyContainer > &l)
const CaloClustercluster () const
 access to the calorimeter info
int numberOfInnermostPixelLayerHits () const
 Get Inner detector Hits information from ID trackparticle.
int numberOfPixelHits () const
 Get number of Pixel hits from ID trackparticle.
int numberOfSCTHits () const
 Get number of Silicon SCT hits from ID trackparticle.
int numberOfTRTHits () const
 Get number of TRT hits from ID trackparticle.
int numberOfTRTHighThresholdHits () const
 Get number of TRT High Threshold hits from ID trackparticle.
int numberOfInnermostPixelLayerSharedHits () const
 Get number of shared hits or holes from ID trackparticle.
int numberOfPixelSharedHits () const
 Get number of Pixel shared hits from ID trackparticle.
int numberOfPixelHoles () const
 Get number of Pixel holes from ID trackparticle.
int numberOfSCTSharedHits () const
 Get number of Silicon SCT shared hits from ID trackparticle.
int numberOfSCTHoles () const
 Get number of Silicon SCT holes from ID trackparticle.
int numberOfTRTOutliers () const
 Get number of TRT Outliers from ID trackparticle.
int numberOfTRTHighThresholdOutliers () const
 Get number of TRT Outliers High Threshold from ID trackparticle.
int numberOfMDTHits () const
 Get Muon Spectrometer MDT Hits information for MS track or tagged segments.
int numberOfMDTHoles () const
 Get Muon Spectrometer MDT holes information for MS track or tagged segments.
int numberOfCSCEtaHits () const
 Get Muon Spectrometer CSC Eta Hits information for MS track or tagged segments.
int numberOfCSCEtaHoles () const
 Get Muon Spectrometer CSC Eta Holes information for MS track or tagged segments.
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.
int numberOfRPCEtaHits () const
 Get Muon Spectrometer RPC Eta Hits information for MS track or tagged segments.
int numberOfRPCEtaHoles () const
 Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.
int numberOfRPCPhiHits () const
 Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.
int numberOfRPCPhiHoles () const
 Get Muon Spectrometer RPC Phi Holes information for MS track or tagged segments.
int numberOfTGCEtaHits () const
 Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.
int numberOfTGCEtaHoles () const
 Get Muon Spectrometer TGC Eta Holes information for MS track or tagged segments.
int numberOfTGCPhiHits () const
 Get Muon Spectrometer TGC Phi Hits information for MS track or tagged segments.
int numberOfTGCPhiHoles () const
 Get Muon Spectrometer TGC Phi Holes information for MS track or tagged segments.
int numberOfGangedPixels () const
 number of Ganged Pixel for track from primary author
int numberOfOutliersOnTrack () const
 number of outliers for track from primary author
int numberOfTrackSummaryTypes (unsigned int type=0) const
 number of summaryTypes for track from primary author
const std::vector< int > & associatedEtaDigits () const
 Access to the MS eta hits associated by segment-tagged muons.
const std::vector< int > & associatedPhiDigits () const
 Access to the MS phi hits associated by segment-tagged muons.
const std::vector< int > & segmentEtaDigits () const
 Access to the MS eta hits associated by segment-tagged muons.
const std::vector< int > & segmentPhiDigits () const
 Access to the MS phi hits associated by segment-tagged muons.
float spectrometerFieldIntegral () const
 field integral seen by the track in the muon spectrometer - defined only for standalone, combined and MuGirl(refit) muons
float scatteringCurvatureSignificance () const
 scatteringAngleSignificance based on the curvature significance, from track fit in ID (thus not available for SA muons)
float scatteringNeighbourSignificance () const
 scatteringAngleSignificance based on hard scatterers over few near-by measurements, from track fit in inner detector (thus not available for SA muons)
float momentumBalanceSignificance () const
 momentumBalanceSignificance defined for fitted or combined muons in order to identify decays in flight
float segmentDeltaEta () const
 Access to some Delta(eta) from muon segment taggers.
float segmentDeltaPhi () const
 Access to some Detla(phi) from muon segment taggers.
float segmentChi2OverDoF () const
 Access to a match chi2/ndf from muon segment taggers.
float annBarrel () const
 Access to some neural-network output for muons found by MuGirl.
float annEndCap () const
 Access to some neural-network output for muons found by MuGirl.
float innAngle () const
 Access to some angles for muons found by MuGirl.
float midAngle () const
 Access to some angles for muons found by MuGirl.
float t0 () const
 Access to event phase for muons found by MuGirlLowBeta.
float beta () const
 Access to particle velocity fit parameter for muons found by MuGirlLowBeta.
const Trk::SegmentmuonSegment (unsigned int i) const
 Access to the muon segments.
unsigned int numberOfSegments () const
 Access to the number of muon segments.
const Trk::TrackinDetTrkTrack () const
 access to TrkTracks - InDetTrack
const Trk::TrackmuonSpectrometerTrkTrack () const
 access to TrkTracks - MuonSpectrometerTrack
const Trk::TrackmuonExtrapolatedTrkTrack () const
 access to TrkTracks - muonExtrapolatedTrack
const Trk::TrackinnerExtrapolatedTrkTrack () const
 access to TrkTracks - innerExtrapolatedTrack
const Trk::TrackcombinedMuonTrkTrack () const
 access to TrkTracks - CombinedTrack
const MuonQualityWordisMuon () const
 access to muon quality information the user must take care to delete the pointer the Muon does not own it
bool isLoose () const
 test for muon being categorised as "loose"
bool isMedium () const
 test for muon being categorised as "medium"
bool isTight () const
 test for muon being categorised as "tight"
float isMuonLikelihood () const
 return the muon likelihood - not yet used
void set_parameter (MuonParameters::ParamDef index, double value, bool overwrite=false)
 set a parameter in the MuonParamDefs.h
void set_energyLoss (const CaloEnergy *caloEnergy)
 set the energy loss in the calorimeter
void set_energyLossContainer (const MuonCaloEnergyContainer *cont)
 set the energy loss in the calorimeter
void set_energyLoss (const MuonCaloEnergyContainer *cont, const CaloEnergy *caloEnergy)
 set the energy loss in the calorimeter
void set_matchChi2 (float x)
 set the chi2 parameters - matchChi2
void set_matchNumberDoF (int x)
 set the chi2 parameters - number of degrees of freedom
void set_outerMatchChi2 (double x, int ndof)
 set the outer match chi2/ndof for combined and segment-tagged muons
void set_bestMatch (bool best)
 set the best match
void set_isCorrected (bool corrected)
 is this Muon corrected in AOD-to-AOD correction or not?
void set_cluster (const CaloClusterContainer *cont, const CaloCluster *cluster)
 set the Calorimeter information
void set_cluster (const CaloCluster *cluster)
 set the Calorimeter information
void set_cluster (const ElementLink< CaloClusterContainer > &cluster)
 set the Calorimeter information, by link
void set_clusterContainer (const CaloClusterContainer *clusterContainer)
 set the Calorimeter information
void set_inDetTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 Set the inner detector track particle.
void set_inDetTrackParticle (const Rec::TrackParticle *)
 Set the inner detector track particle.
void set_muonSpectrometerTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 set Muon Spectrometer TrackParticle
void set_muonExtrapolatedTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 set the muon spectrometer extrapolated track particle.
void set_muonExtrapolatedTrackParticle (const Rec::TrackParticle *)
 set the muon spectrometer extrapolated track particle.
void set_innerExtrapolatedTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 set the extrapolated track particle from the inner detector.
void set_innerExtrapolatedTrackParticle (const Rec::TrackParticle *)
 set the extrapolated track particle from the inner detector.
void set_combinedMuonTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 set the combined muon track particle.
void set_combinedMuonTrackParticle (const Rec::TrackParticle *)
 set the combined muon track particle.
void set_statCombinedMuonTrackParticle (const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
 set the combined muon track particle for statistical combination.
void set_muonSegments (const Trk::SegmentCollection *, const std::vector< const Trk::Segment * > &)
 set the combined muon track particle
void addSegment (const Trk::SegmentCollection *, const Trk::Segment *)
 set the combined muon track particle
void set_inDetTrackParticleContainer (const Rec::TrackParticleContainer *inDetTPContainer)
 set the TrackParticle containers
void set_muonExtrapolatedTrackParticleContainer (const Rec::TrackParticleContainer *muonExtrapolatedTPContainer)
 set the TrackParticle containers
void set_innerExtrapolatedTrackParticleContainer (const Rec::TrackParticleContainer *innerExtrapolatedTPContainer)
 set the TrackParticle containers
void set_combinedMuonTrackParticleContainer (const Rec::TrackParticleContainer *combinedMuonTPContainer)
 set the TrackParticle containers
void set_statCombinedMuonTrackParticleContainer (const Rec::TrackParticleContainer *combinedMuonTPContainer)
 set the TrackParticle containers
void set_numberOfAssociatedEtaDigits (int nMDT, int nCSC, int nRPC, int nTGC)
 Set the LowPt stuff.
void set_numberOfAssociatedPhiDigits (int nMDT, int nCSC, int nRPC, int nTGC)
 Set the LowPt - Associated Phi Digits.
void set_numberOfAssociatedEtaDigits (const std::vector< int > &associated_digits)
 Set the LowPt - Associated Eta Digits.
void set_numberOfAssociatedPhiDigits (const std::vector< int > &associated_digits)
 Set the LowPt - Associated Phi Digits.
void set_numberOfSegmentEtaDigits (int nMDT, int nCSC, int nRPC, int nTGC)
 Set Segment Eta Digits.
void set_numberOfSegmentPhiDigits (int nMDT, int nCSC, int nRPC, int nTGC)
 Set Segment Phi Digits.
void set_numberOfSegmentEtaDigits (const std::vector< int > &associated_digits)
 Set Segment Eta Digits.
void set_numberOfSegmentPhiDigits (const std::vector< int > &associated_digits)
 Set Segment Phi Digits.
void set_spectrometerFieldIntegral (const float field)
 set field integral seen by the track in the muon spectrometer - defined only for standalone, combined and MuGirl(refit) muons
void set_scatteringCurvatureSignificance (const float significance)
 set scatteringAngleSignificance based on the curvature significance, from track fit in ID.
void set_scatteringNeighbourSignificance (const float significance)
 set scatteringAngleSignificance based on hard scatterers over few near-by measurements, from track fit in inner detector
void set_momentumBalanceSignificance (const float significance)
 set momentumBalanceSignificance for fitted or combined muons as discriminator against background muons
void set_segmentDeltaEta (const float deltaEta)
 Set Segment Delta Eta.
void set_segmentDeltaPhi (const float deltaPhi)
 Set Segment Delta Phi.
void set_segmentChi2OverDoF (const float chi2)
 Set Segment Chi2 over degrees of freeedom.
void set_annBarrel (const float annB)
 Set annBarrel.
void set_annEndCap (const float annE)
 Set annEndCap.
void set_innAngle (const float innA)
 Set innAngle.
void set_midAngle (const float midA)
 Set midAngle.
void setIPt (const double theIPt)
 set inverse pT data member
void setCotTh (const double theCotTh)
 set cot(theta) data member
void setPhi (const double thePhi)
 set phi data member
void setM (const double theM)
 set m data member
void copySegmentLinkVector (const ElementLinkVector< Trk::SegmentCollection > &segments)
 function to copy muon segment element links into this muon
void set_isMuonBits (const uint16_t isMuonBits)
 set muon quality parameters
void set_isMuonBits (const MuonQualityWord &qWord)
void set_isMuonLikelihood (const float muonLikelihood)
const navigable_typenavigableBase () const
 access to underlying base type (INavigable-like)
navigable_typenavigableBase ()
 access to underlying base type (INavigable-like)
const momentum_typemomentumBase () const
 access to underlying base type (I4Momentum-like)
momentum_typemomentumBase ()
 access to underlying base type (I4Momentum-like)
const particle_typeparticleBase () const
 access to underlying base type (IParticle-like)
particle_typeparticleBase ()
 access to underlying base type (IParticle-like)
virtual void set4Mom (const I4Momentum &p4)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const I4Momentum *const p4)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set4Mom (const CLHEP::HepLorentzVector &hlv)
 set 4Momentum (will throw exception if cannot be implemented)
virtual void set_dataType (ParticleDataType::DataType x)
virtual void set_charge (ChargeType x)
virtual void set_pdgId (int x)
virtual void set_origin (const VxContainer *theContainer, int index)
virtual void set_origin (const VxContainer *theContainer, const Trk::VxCandidate *vertex)
void set_origin (const ElementLink< VxContainer > &origin)
AthenaBarCode_t getAthenaBarCode () const
void setAthenaBarCode (AthenaBarCode_t)
bool hasSameAthenaBarCode (const IAthenaBarCode &) const
bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
AthenaBarCodeVersion_t getVersion () const
void newVersion ()
void setVersion (AthenaBarCodeVersion_t newversion)
virtual double px () const
 x component of momentum
virtual double py () const
 y component of momentum
virtual double pz () const
 z component of momentum
virtual double m () const
 mass
virtual double m2 () const
 mass squared
virtual double p () const
 mass momentum magnitude
virtual double p2 () const
 square of momentum magnitude
virtual double rapidity () const
 rapidity
virtual double eta () const
 pseudo rapidity
virtual double phi () const
 phi in [-pi,pi[
virtual double e () const
 energy
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double pt () const
 transverse momentum
virtual double iPt () const
 inverse of transverse momentum
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double tanTh () const
 tan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual double cotTh () const
 cottan theta
virtual CLHEP::HepLorentzVector hlv () const
 CLHEP HepLorentzVector.
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
virtual I4Momentum::Kind kind () const
 add Kind which tells what kind (P4XYZ) the underlying implementation has
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
virtual ParticleDataType::DataType dataType () const
 Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.
virtual const Trk::RecVertexorigin () const
 Return a RecVertex corresponding to particle Origin.
virtual const ElementLink< VxContainer > & originLink () const
 Return an ElementLink corresponding to particle's Origin.
virtual bool hasCharge () const
 method to check if charge information is available
virtual ChargeType charge () const
 returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface
virtual bool hasPdgId () const
 method to check if particle id information is available
virtual int pdgId () const
 Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE

Private Attributes

MuonParameters::Author m_author
 the author of this muon
bool m_hasMuonExtrapolatedTrackParticle
 test for TrackParticles
bool m_hasCombinedMuonTrackParticle
float m_matchChi2
int m_matchNumberDoF
int m_outerMatchNumberDoF
Trk::FitQuality m_transientOuterMatchChi2
bool m_bestMatch
std::vector< int > m_associatedEtaDigits
 Low Pt muon stuff.
std::vector< int > m_associatedPhiDigits
ElementLink< Rec::TrackParticleContainerm_inDetTrackParticle
 end LowPt stuff
ElementLinkVector< Trk::SegmentCollectionm_muonSegments
ElementLink< Rec::TrackParticleContainerm_muonExtrapolatedTrackParticle
ElementLink< Rec::TrackParticleContainerm_innerExtrapolatedTrackParticle
ElementLink< Rec::TrackParticleContainerm_combinedMuonTrackParticle
ElementLink< Rec::TrackParticleContainerm_statCombinedMuonTrackParticle
ElementLink< CaloClusterContainerm_cluster
ElementLink< Rec::TrackParticleContainerm_muonSpectrometerTrackParticle
 needed by MOORE
std::vector< std::pair< MuonParameters::ParamDef, float > > m_parameters
 Parameters as defined in MuonParamDef.h.
bool m_isAlsoFoundByLowPt
 this muon is also found by the lowPT reconstruction algorithm
bool m_isAlsoFoundByCaloMuonId
 this muon is also found by the Calo Muon ID reconstruction algorithm
ElementLink< MuonCaloEnergyContainerm_caloEnergyLoss
 energy loss in calorimeter
unsigned short m_caloMuonAlsoFoundByMuonReco
 flag the calo muon if it is also reconstruction by the standart muon algorithms
bool m_isCorrected
 AOD to AOD correction.
uint16_t m_allAuthors
 all authors - all the authors of this this Muon
MuonQualityWord m_isMuonBits
 muon selection parameters
float m_isMuonLikelihood
::Analysis::MuonNavigation m_nav
 The navigable part.
::P4ImplIPtCotThPhiM m_mom
 The 4-momentum part.
ParticleEvent::Base m_part
 The particle-id part.

Detailed Description

The ATLAS Muon object - see doxygen, physics workbookd and the Muon Combined Performance WG's pages for full documentation.

Definition at line 40 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

Member Typedef Documentation

◆ momentum_type

◆ MuonImpl_t

◆ navigable_type

◆ particle_type

◆ self_type

publish the type of the base class (ie: 'traits-itize' it)

Definition at line 62 of file ParticleImpl.h.

Member Enumeration Documentation

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ Muon() [1/6]

Analysis::Muon::Muon ( )

Default constructor.

Definition at line 35 of file Muon.cxx.

35 :
37 INavigable (),
38 I4Momentum (),
39 INavigable4Momentum (),
40 MuonImpl_t(),
44 m_matchChi2(-1.0),
47 m_transientOuterMatchChi2(Trk::FitQuality()),
48 m_bestMatch(false),
49 m_parameters( ),
53 m_isCorrected(false),
54 m_allAuthors(0),
55 m_isMuonBits(0),
57{
58 this->set_charge(-999.0);
61}
uint16_t m_allAuthors
all authors - all the authors of this this Muon
ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM > MuonImpl_t
std::vector< std::pair< MuonParameters::ParamDef, float > > m_parameters
Parameters as defined in MuonParamDef.h.
std::vector< int > m_associatedEtaDigits
Low Pt muon stuff.
bool m_isAlsoFoundByCaloMuonId
this muon is also found by the Calo Muon ID reconstruction algorithm
bool m_isAlsoFoundByLowPt
this muon is also found by the lowPT reconstruction algorithm
MuonQualityWord m_isMuonBits
muon selection parameters
MuonParameters::Author m_author
the author of this muon
unsigned short m_caloMuonAlsoFoundByMuonReco
flag the calo muon if it is also reconstruction by the standart muon algorithms

◆ Muon() [2/6]

Analysis::Muon::Muon ( MuonParameters::Author author)

Default constructor.

Constructor – just set defaults.

Definition at line 65 of file Muon.cxx.

65 :
67 INavigable (),
68 I4Momentum (),
69 INavigable4Momentum (),
70 MuonImpl_t(),
74 m_matchChi2(-1.0),
77 m_transientOuterMatchChi2(Trk::FitQuality()),
78 m_bestMatch(false),
79 m_parameters( ),
83 m_isCorrected(false),
84 m_allAuthors(0),
85 m_isMuonBits(0),
87{
88 this->add_author( author );
89 this->set_charge(-999.0);
92
93}
MuonParameters::Author author() const
return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muon...
bool add_author(MuonParameters::Author author)
the add_author method returns a bool:
Definition Muon.cxx:368

◆ Muon() [3/6]

Analysis::Muon::Muon ( MuonParameters::Author author,
const Rec::TrackParticle * inDetTP,
const Rec::TrackParticle * extrapTP,
const Rec::TrackParticle * combTP,
const bool isExtrapolatedToVertex = true )

create the combined muon from 3 TrackParticles: InDet, Extrapolated and Combined TP, the combined TP defines the Fourmomentum, - isExtrapolatedToVertex indicates whether it is a Track Extrapolated to the perigee otherwise (if false) then it is a track extraplated from vertex out to the spectrometer

Principal constructor for combined muons with 3 TrackParticles.

Definition at line 96 of file Muon.cxx.

99 :
101 INavigable (),
102 I4Momentum (),
103 INavigable4Momentum (),
104 MuonImpl_t(),
106 m_matchChi2(-1.0),
109 m_transientOuterMatchChi2(Trk::FitQuality()),
110 m_bestMatch(false),
111 m_isAlsoFoundByLowPt(false),
114 m_isCorrected(false)
115{
116 this->set4Mom(combTP->hlv());
117
118 m_inDetTrackParticle.setElement(inDetTP);
119
120 if(isExtrapolatedToVertex)
121 m_muonExtrapolatedTrackParticle.setElement(extrapTP);
122 else
123 m_innerExtrapolatedTrackParticle.setElement(extrapTP);
124
125 m_combinedMuonTrackParticle.setElement(combTP);
126
129 m_associatedEtaDigits.clear();
130 m_associatedPhiDigits.clear();
131 this->set_charge( combTP->charge() );
132 m_allAuthors = 0;
133 this->add_author( author );
134 m_isMuonBits = 0;
135 m_isMuonLikelihood = 0.0;
136
137}
ElementLink< Rec::TrackParticleContainer > m_combinedMuonTrackParticle
ElementLink< Rec::TrackParticleContainer > m_inDetTrackParticle
end LowPt stuff
ElementLink< Rec::TrackParticleContainer > m_muonExtrapolatedTrackParticle
ElementLink< Rec::TrackParticleContainer > m_innerExtrapolatedTrackParticle
virtual CLHEP::HepLorentzVector hlv() const =0
CLHEP HepLorentzVector.
double charge() const
Return charge of the particle.

◆ Muon() [4/6]

Analysis::Muon::Muon ( MuonParameters::Author author,
const Rec::TrackParticle * inDetTP,
const Trk::SegmentCollection * segmentContainer,
const std::vector< const Trk::Segment * > & muonSegments )

if the combined failed, still create the combined muon from Inner Detector track and a MuonSegment.

if the combined failed, still create the combined muon from the Inner Detector TrackParticle and a muon segment

The trackparticle is associated as ID trackparticle and defines the Fourmomentum.

Definition at line 182 of file Muon.cxx.

186 :
188 INavigable (),
189 I4Momentum (),
190 INavigable4Momentum (),
191 MuonImpl_t(),
193 m_matchChi2(-1.0),
196 m_transientOuterMatchChi2(Trk::FitQuality()),
197 m_bestMatch(false),
198 m_isAlsoFoundByLowPt(false),
201 m_isCorrected(false)
202 {
203 this->set4Mom(inDetTP->hlv());
204 m_inDetTrackParticle.setElement(inDetTP);
205
206 for (unsigned int i=0; i<muonSegments.size(); ++i) this->addSegment(segmentContainer, muonSegments[i]);
207
210 m_associatedEtaDigits.clear();
211 m_associatedPhiDigits.clear();
212 this->set_charge( inDetTP->charge() );
213 m_allAuthors = 0;
214 this->add_author( author );
215 m_isMuonBits = 0;
216 m_isMuonLikelihood = 0.0;
217}
void addSegment(const Trk::SegmentCollection *, const Trk::Segment *)
set the combined muon track particle
Definition Muon.cxx:752

◆ Muon() [5/6]

Analysis::Muon::Muon ( MuonParameters::Author author,
const Rec::TrackParticle * extrapTP,
const bool isExtrapolatedToVertex = false )

creates a muon for Standalone, ID-seeded (MuGirl) and Calo-tagged muons: for isExtrapolatedToVertex the trackparticle is interpreted as MS-standalone muon, for not isExtrapolatedToVertex the author is queried to distinguish MuGirl-refitted from calo tagged muons.

Definition at line 139 of file Muon.cxx.

141 :
143 INavigable (),
144 I4Momentum (),
145 INavigable4Momentum (),
146 MuonImpl_t(),
148 m_matchChi2(-1.0),
151 m_transientOuterMatchChi2(Trk::FitQuality()),
152 m_bestMatch(false),
153 m_isAlsoFoundByLowPt(false),
156 m_isCorrected(false)
157 {
158 this->set4Mom(trackParticle->hlv());
159
160 if(isExtrapolatedToVertex)
161 m_muonExtrapolatedTrackParticle.setElement(trackParticle);
162 else {
163 if (this->isCaloMuonId())
164 m_inDetTrackParticle.setElement(trackParticle);
165 else
166 m_innerExtrapolatedTrackParticle.setElement(trackParticle);
167 }
170 m_associatedEtaDigits.clear();
171 m_associatedPhiDigits.clear();
172 this->set_charge( trackParticle->charge() );
173 m_allAuthors = 0;
174 this->add_author( author );
175 m_isMuonBits = 0;
176 m_isMuonLikelihood = 0.0;
177
178}
bool isCaloMuonId() const
Method for querying primary identification mechanism: muon identified solely by calorimeter based ide...
Definition Muon.cxx:457

◆ Muon() [6/6]

Analysis::Muon::Muon ( const Muon & rhs)

Copy constructor.

Copy Constructor.

Definition at line 221 of file Muon.cxx.

221 :
222 IAthenaBarCode(rhs),
223 INavigable (rhs),
224 I4Momentum (rhs),
225 INavigable4Momentum (rhs),
226 MuonImpl_t(rhs),
227 m_author ( rhs.m_author ),
228 m_hasMuonExtrapolatedTrackParticle ( rhs.m_hasMuonExtrapolatedTrackParticle ),
229 m_hasCombinedMuonTrackParticle ( rhs.m_hasCombinedMuonTrackParticle ),
230 m_matchChi2 ( rhs.m_matchChi2 ),
231 m_matchNumberDoF ( rhs.m_matchNumberDoF ),
232 m_outerMatchNumberDoF ( rhs.m_outerMatchNumberDoF ),
233 m_transientOuterMatchChi2 ( rhs.m_transientOuterMatchChi2 ),
234 m_bestMatch ( rhs.m_bestMatch ),
235 m_associatedEtaDigits ( rhs.m_associatedEtaDigits ),
236 m_associatedPhiDigits ( rhs.m_associatedPhiDigits ),
237 m_inDetTrackParticle ( rhs.m_inDetTrackParticle ),
238 m_muonExtrapolatedTrackParticle ( rhs.m_muonExtrapolatedTrackParticle ),
239 m_innerExtrapolatedTrackParticle ( rhs.m_innerExtrapolatedTrackParticle ),
240 m_combinedMuonTrackParticle ( rhs.m_combinedMuonTrackParticle ),
241 m_statCombinedMuonTrackParticle ( rhs.m_statCombinedMuonTrackParticle ),
242 m_cluster ( rhs.m_cluster ),
243 m_muonSpectrometerTrackParticle ( rhs.m_muonSpectrometerTrackParticle),
244 m_parameters ( rhs.m_parameters ),
245 m_isAlsoFoundByLowPt ( rhs.m_isAlsoFoundByLowPt ),
246 m_isAlsoFoundByCaloMuonId ( rhs.m_isAlsoFoundByCaloMuonId ),
247 m_caloEnergyLoss ( rhs.m_caloEnergyLoss ),
248 m_caloMuonAlsoFoundByMuonReco ( rhs.m_caloMuonAlsoFoundByMuonReco ),
249 m_isCorrected ( rhs.m_isCorrected ),
250 m_allAuthors ( rhs.m_allAuthors ),
251 m_isMuonBits ( rhs.m_isMuonBits ),
252 m_isMuonLikelihood ( rhs.m_isMuonLikelihood )
253
254{
255 copySegmentLinkVector(rhs.m_muonSegments);
256}
ElementLink< MuonCaloEnergyContainer > m_caloEnergyLoss
energy loss in calorimeter
ElementLink< Rec::TrackParticleContainer > m_muonSpectrometerTrackParticle
needed by MOORE
void copySegmentLinkVector(const ElementLinkVector< Trk::SegmentCollection > &segments)
function to copy muon segment element links into this muon
Definition Muon.cxx:259
ElementLink< Rec::TrackParticleContainer > m_statCombinedMuonTrackParticle

◆ ~Muon()

Analysis::Muon::~Muon ( )
default

Destructor.

Member Function Documentation

◆ add_author()

bool Analysis::Muon::add_author ( MuonParameters::Author author)

the add_author method returns a bool:

  • if the author was already set, it will not reset it; it will return false
  • if the author does not exist in the author list; it will not all add it, instead it return false

Definition at line 368 of file Muon.cxx.

368 {
369 bool is_set = false;
370 if ( !this->isAuthor( author ) ) {
371 is_set = true;
372 switch ( author ) {
375 break;
378 break;
381 break;
384 break;
387 break;
390 break;
393 break;
396 break;
399 break;
402 break;
404 m_allAuthors = m_allAuthors | 1024;
405 break;
407 m_allAuthors = m_allAuthors | 2048;
408 break;
410 m_allAuthors = m_allAuthors | 4096;
411 break;
412
413 default :
414 is_set = false;
415 }
416 }
417 return is_set;
418}
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...
Definition Muon.cxx:314

◆ add_authors()

void Analysis::Muon::add_authors ( const uint16_t authors)
inline

other add_author method

Definition at line 146 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

146{ m_allAuthors |= authors; }

◆ addSegment()

void Analysis::Muon::addSegment ( const Trk::SegmentCollection * segmentContainer,
const Trk::Segment * segment )

set the combined muon track particle

Definition at line 752 of file Muon.cxx.

753{
754 ElementLink<Trk::SegmentCollection> link;
755 link.toContainedElement( *segmentContainer,segment) ;
756 m_muonSegments.push_back( link ) ;
757}
ElementLinkVector< Trk::SegmentCollection > m_muonSegments

◆ allAuthors()

uint16_t Analysis::Muon::allAuthors ( ) const
inline

get all the authors of this Muon for example during overlap checking, the same Muon may have been reconstructed by many different algorithms.

the authors are 16-bit word, 1-bit reserved for each muon Algorithm the positions of the 1-bit are defined as follows: Muonboy | STACO | MuTag | Muid SA | Muid Co | MuGirl | MuGirlLowBeta | CaloMuon | CaloTag | CaloLikelihood | MuTagIMO | MuonCombinedRefit | ExtrapolateMuonToIP x x x x x x x x x x x x x each of these authors have 1 bit and the lower bits are Muonboy

Definition at line 118 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

118{ return m_allAuthors; }

◆ alsoFoundByCaloMuonId()

bool Analysis::Muon::alsoFoundByCaloMuonId ( ) const
inline

is this muon also reconstructed by a CaloMuon ID algorithm?

Definition at line 173 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ alsoFoundByLowPt()

bool Analysis::Muon::alsoFoundByLowPt ( ) const
inline

is this muon also reconstructed by the lowPt algorithm?

Definition at line 170 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

170{ return m_isAlsoFoundByLowPt; }

◆ annBarrel()

float Analysis::Muon::annBarrel ( ) const
inline

Access to some neural-network output for muons found by MuGirl.

Definition at line 514 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

514{ return this->parameter(MuonParameters::annBarrel); }
const std::vector< std::pair< MuonParameters::ParamDef, float > > & parameter() const
vector of parameter pairs for this Muon - isolation energy in some cone for example

◆ annEndCap()

float Analysis::Muon::annEndCap ( ) const
inline

Access to some neural-network output for muons found by MuGirl.

Definition at line 516 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ associatedEtaDigits()

const std::vector< int > & Analysis::Muon::associatedEtaDigits ( ) const
inline

Access to the MS eta hits associated by segment-tagged muons.

Definition at line 480 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

480{ return m_associatedEtaDigits; }

◆ associatedPhiDigits()

const std::vector< int > & Analysis::Muon::associatedPhiDigits ( ) const
inline

Access to the MS phi hits associated by segment-tagged muons.

Definition at line 482 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

482{ return m_associatedPhiDigits; }

◆ author()

MuonParameters::Author Analysis::Muon::author ( ) const
inline

return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muons with high purity

Definition at line 107 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

107{ return m_author; }

◆ bestMatch()

bool Analysis::Muon::bestMatch ( ) const
inline

Is this combined Muon the best match?

Given a combined track, this method returns true/false if this combined track is the best match to a muon spectrometer track. Indeed because of high track multiplicity in Inner Detector, there may be many combined tracks for one given muon spectrometer track.

Definition at line 267 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

267{ return m_bestMatch; }

◆ beta()

float Analysis::Muon::beta ( ) const
inline

Access to particle velocity fit parameter for muons found by MuGirlLowBeta.

Definition at line 524 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ caloEnergyLink()

const ElementLink< MuonCaloEnergyContainer > & Analysis::Muon::caloEnergyLink ( ) const
inline

Access to the smart pointer to the calorimeter energy loss objeect associated to the muon.

Definition at line 405 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

405{ return m_caloEnergyLoss; }

◆ caloEnergyLoss()

const CaloEnergy * Analysis::Muon::caloEnergyLoss ( ) const
inline

energy loss in the calorimeter - access to the full object

Definition at line 259 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

259{ return (m_caloEnergyLoss.isValid() ? *m_caloEnergyLoss : 0); }

◆ caloMuonAlsoFoundByMuonReco()

unsigned short Analysis::Muon::caloMuonAlsoFoundByMuonReco ( ) const
inline

is this Calo Muon also reconstructed by one of the standard muon reconstruction algorithm?

Note that for calo muons, only Inner Detector and Calorimeter are used - the standard muon reconstruction used the muon spectrometer as well 0 - not found by muon reconstruction 1 - found by Muonboy/STACO/MuTag 2 = found by MuID SA/MuID Combined/MuGirl 3 - found by both 1 and 2

Definition at line 182 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ charge()

returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed to an int and ask jets to extend this interface

Implements IParticle.

◆ cluster()

const CaloCluster * Analysis::Muon::cluster ( ) const
inline

access to the calorimeter info

Definition at line 411 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

411{ return ((this->hasCluster()) ? *m_cluster : 0); }
bool hasCluster() const
test for a valid pointer to a muon cluster

◆ clusterLink()

const ElementLink< CaloClusterContainer > & Analysis::Muon::clusterLink ( ) const
inline

◆ combinedMuonTrackParticle()

const Rec::TrackParticle * Analysis::Muon::combinedMuonTrackParticle ( ) const
inline

Access to the TrackParticles.

Definition at line 331 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

331 {
bool hasCombinedMuonTrackParticle() const
test if associated combined-muon TrackParticle is available

◆ combinedMuonTrkTrack()

const Trk::Track * Analysis::Muon::combinedMuonTrkTrack ( ) const
inline

access to TrkTracks - CombinedTrack

Definition at line 548 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

548 {
549 return ((this->hasCombinedMuonTrackParticle()) ? (*m_combinedMuonTrackParticle)->originalTrack() : 0); }

◆ combinedTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::combinedTrackLink ( ) const
inline

Access to the smart pointer to the muon combined track.

Definition at line 374 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ copySegmentLinkVector()

void Analysis::Muon::copySegmentLinkVector ( const ElementLinkVector< Trk::SegmentCollection > & segments)

function to copy muon segment element links into this muon

Definition at line 259 of file Muon.cxx.

259 {
260 if( !m_muonSegments.empty() ) m_muonSegments.clear();
261 m_muonSegments.reserve(segments.size());
264 for( ;sit!=sit_end;++sit) m_muonSegments.push_back( *sit );
265}
ELVIterator< typename RefVector::const_iterator > const_iterator

◆ cosPhi()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

◆ cosTh()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

◆ cotTh()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

◆ dataType()

Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the following values: {Data = 0, Full = 1, FastShower = 2, Fast = 3, True = 4}.

IParticle interface forwarding

Implements IParticle.

◆ dump()

virtual std::ostream & ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::dump ( std::ostream & out) const
virtualinherited

Print I4Momentum content.

Implements I4Momentum.

◆ e()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::e ( ) const
virtualinherited

energy

Implements I4Momentum.

◆ energyLoss()

std::pair< double, double > Analysis::Muon::energyLoss ( ) const

energy loss and its uncertainty in the calorimeter

Definition at line 511 of file Muon.cxx.

511 {
512 double eloss = 0.0;
513 double sigma = 0.0;
514 if ( m_caloEnergyLoss.isValid() ) {
515 const CaloEnergy * caloEnergy = *m_caloEnergyLoss;
516 eloss = caloEnergy->deltaE();
517 sigma = caloEnergy->sigmaDeltaE();
518 }
519 return std::make_pair(eloss, sigma);
520}
double sigmaDeltaE() const
returns the symmatric error
double deltaE() const
returns the

◆ errors()

virtual const I4MomentumError * ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::errors ( ) const
virtualinherited

Access to errors, if available; returns 0 if no errors.

Implements I4Momentum.

◆ et()

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

◆ eta()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::eta ( void ) const
virtualinherited

pseudo rapidity

Implements I4Momentum.

◆ fillToken() [1/2]

void Analysis::Muon::fillToken ( INavigationToken & thisToken) const
virtual

navigation method

First combined, then try Extrap & In Det

Reimplemented from ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >.

Definition at line 918 of file Muon.cxx.

919{
920
921 bool checkFlag = false;
922
924 // First check on track //
926
927
928 const Rec::TrackParticle* aTrack;
929
931 if ( this->combinedMuonTrackParticle() ) {
932
933 aTrack = this->combinedMuonTrackParticle();
934
935 // check requested object type with token type
936 NavigationToken<Rec::TrackParticle>* trackToken =
937 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
938 if ( trackToken != nullptr ) {
939 // request is honored
940 trackToken->setObject(aTrack);
941 checkFlag = true;
942 }
943
944 // alternative token type may phrase the same request
945 if ( ! checkFlag ) {
946 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
947 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
948 (&theToken);
949 if ( parTrackToken != nullptr ) {
950 parTrackToken->setObject(aTrack);
951 checkFlag = true;
952 }
953 }
954 if(!checkFlag) {
955 // try for generic type requests
956 if ( aTrack != nullptr ) theToken.trySetObject(aTrack);
957 }
958
959 }
960 else {
961 if ( this->muonExtrapolatedTrackParticle() ) {
962 aTrack = this->muonExtrapolatedTrackParticle();
963
964 // check requested object type with token type
965 NavigationToken<Rec::TrackParticle>* trackToken =
966 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
967 if ( trackToken != nullptr ) {
968 // request is honored
969 trackToken->setObject(aTrack);
970 checkFlag = true;
971 }
972
973 // alternative token type may phrase the same request
974 if ( ! checkFlag ) {
975 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
976 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
977 (&theToken);
978 if ( parTrackToken != nullptr ) {
979 parTrackToken->setObject(aTrack);
980 checkFlag = true;
981 }
982 }
983 if(!checkFlag) {
984
985 // try for generic type requests
986 if ( aTrack != nullptr ) theToken.trySetObject(aTrack);
987 }
988
989 }
990
991 if ( this->inDetTrackParticle() ) {
992 aTrack = this->inDetTrackParticle();
993
994 // check requested object type with token type
995 NavigationToken<Rec::TrackParticle>* trackToken =
996 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
997 if ( trackToken != nullptr ) {
998 // request is honored
999 trackToken->setObject(aTrack);
1000 checkFlag = true;
1001 }
1002
1003 // alternative token type may phrase the same request
1004 if ( ! checkFlag ) {
1005 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
1006 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
1007 (&theToken);
1008 if ( parTrackToken != nullptr ) {
1009 parTrackToken->setObject(aTrack);
1010 checkFlag = true;
1011 }
1012 }
1013 if(!checkFlag) {
1014
1015 // try for generic type requests
1016 if ( aTrack != nullptr ) theToken.trySetObject(aTrack);
1017 }
1018 }
1019
1020 }
1021
1022 }
const Rec::TrackParticle * combinedMuonTrackParticle() const
Access to the TrackParticles.
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...
void setObject(const_child_ptr data)

◆ fillToken() [2/2]

void Analysis::Muon::fillToken ( INavigationToken & thisToken,
const std::any & theWeight ) const
virtual

navigation method

First combined, then try Extrap & In Det

Reimplemented from ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >.

Definition at line 1028 of file Muon.cxx.

1030{
1031 bool checkFlag = false;
1032
1033
1034 const Rec::TrackParticle* aTrack;
1035
1037 if ( this->combinedMuonTrackParticle() ) {
1038
1039 aTrack = this->combinedMuonTrackParticle();
1040
1041 // check requested object type with token type
1042 NavigationToken<Rec::TrackParticle>* trackToken =
1043 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
1044 if ( trackToken != nullptr ) {
1045 // request is honored
1046 trackToken->setObject(aTrack);
1047 checkFlag = true;
1048 }
1049
1050 // alternative token type may phrase the same request
1051 if ( ! checkFlag ) {
1052 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
1053 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
1054 (&theToken);
1055 if ( parTrackToken != nullptr ) {
1056 parTrackToken->setObject(aTrack,
1057 std::any_cast<double>(theWeight));
1058 checkFlag = true;
1059 }
1060 }
1061 if(!checkFlag) {
1062
1063 // try for generic type requests
1064 if ( aTrack != nullptr ) theToken.trySetObject(aTrack, theWeight);
1065 }
1066
1067 }
1068 else {
1069 if ( this->muonExtrapolatedTrackParticle() ) {
1070 aTrack = this->muonExtrapolatedTrackParticle();
1071
1072 // check requested object type with token type
1073 NavigationToken<Rec::TrackParticle>* trackToken =
1074 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
1075 if ( trackToken != nullptr ) {
1076 // request is honored
1077 trackToken->setObject(aTrack);
1078 checkFlag = true;
1079 }
1080
1081 // alternative token type may phrase the same request
1082 if ( ! checkFlag ) {
1083 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
1084 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
1085 (&theToken);
1086 if ( parTrackToken != nullptr ) {
1087 parTrackToken->setObject(aTrack,
1088 std::any_cast<double>(theWeight));
1089 checkFlag = true;
1090 }
1091 }
1092 if(!checkFlag) {
1093
1094 // try for generic type requests
1095 if ( aTrack != nullptr ) theToken.trySetObject(aTrack, theWeight);
1096 }
1097
1098 }
1099
1100 if ( this->inDetTrackParticle() ) {
1101 aTrack = this->inDetTrackParticle();
1102
1103 // check requested object type with token type
1104 NavigationToken<Rec::TrackParticle>* trackToken =
1105 dynamic_cast< NavigationToken<Rec::TrackParticle>* >(&theToken);
1106 if ( trackToken != nullptr ) {
1107 // request is honored
1108 trackToken->setObject(aTrack);
1109 checkFlag = true;
1110 }
1111
1112 // alternative token type may phrase the same request
1113 if ( ! checkFlag ) {
1114 NavigationToken<Rec::TrackParticle,double>* parTrackToken =
1115 dynamic_cast< NavigationToken<Rec::TrackParticle,double>* >
1116 (&theToken);
1117 if ( parTrackToken != nullptr ) {
1118 parTrackToken->setObject(aTrack,
1119 std::any_cast<double>(theWeight));
1120 checkFlag = true;
1121 }
1122 }
1123 if(!checkFlag) {
1124
1125 // try for generic type requests
1126 if ( aTrack != nullptr ) theToken.trySetObject(aTrack, theWeight);
1127 }
1128 }
1129
1130 }
1131
1132}

◆ fitChi2()

double Analysis::Muon::fitChi2 ( ) const
inline

get the chi2 of the track fit

Definition at line 228 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

228 {
229 const Rec::TrackParticle * theTrack = track();
230 if ( theTrack ) return theTrack->fitQuality()->chiSquared();
231 else return -1.0;
232 }
const Rec::TrackParticle * track() const
return the primary track of this muon
Definition Muon.cxx:1135
double chiSquared() const
returns the of the overall track fit
Definition FitQuality.h:56
const FitQuality * fitQuality() const
accessor function for FitQuality.

◆ fitChi2OverDoF()

double Analysis::Muon::fitChi2OverDoF ( ) const
inline

get the chi2 over number of DoF of the track fit

Definition at line 242 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

242 {
243 int dof = this->fitNumberDoF();
244 if (dof > 0) return (fitChi2() / dof);
245 else return 0.0;
246 }
int fitNumberDoF() const
get the number of DoF of the track fit
double fitChi2() const
get the chi2 of the track fit

◆ fitNumberDoF()

int Analysis::Muon::fitNumberDoF ( ) const
inline

get the number of DoF of the track fit

Definition at line 235 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

235 {
236 const Rec::TrackParticle * theTrack = track();
237 if ( theTrack ) return theTrack->fitQuality()->numberDoF();
238 else return 0;
239 }
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60

◆ getAthenaBarCode()

IAthenaBarCode interface forwarding

Reimplemented from IAthenaBarCode.

◆ getVersion()

◆ hasCharge()

virtual bool ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::hasCharge ( ) const
virtualinherited

method to check if charge information is available

Implements IParticle.

◆ hasCluster()

bool Analysis::Muon::hasCluster ( ) const
inline

test for a valid pointer to a muon cluster

Definition at line 300 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

300{ return m_cluster.isValid();}

◆ hasCombinedMuon()

bool Analysis::Muon::hasCombinedMuon ( ) const
inline

deprecated - please use primary identification, muon quality or MuonCP group guidelines to adopt a given muon quality definition

this is the case of the DPD where the Track may have been dropped this is the case of the AOD deprecated - please use hasCombinedMuonTrackParticle() instead

Definition at line 286 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ hasCombinedMuonTrackParticle()

bool Analysis::Muon::hasCombinedMuonTrackParticle ( ) const
inline

test if associated combined-muon TrackParticle is available

Definition at line 294 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

294{return m_combinedMuonTrackParticle.isValid();}

◆ hasCombinedMuonTrackParticleFlag()

bool Analysis::Muon::hasCombinedMuonTrackParticleFlag ( ) const
inline

◆ hasGlobalMuonTrackFit()

bool Analysis::Muon::hasGlobalMuonTrackFit ( ) const

flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGirl-refit

flag if the there was re-fit of ID and MS hits

Definition at line 473 of file Muon.cxx.

473 {
475
477
479
481}
bool hasInnerExtrapolatedTrackParticle() const
test if associated TrackParticle from ID-seeded full track fit is available

◆ hasInDetTrackParticle()

bool Analysis::Muon::hasInDetTrackParticle ( ) const
inline

test if associated indet TrackParticle is available

Definition at line 288 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

288{return m_inDetTrackParticle.isValid();}

◆ hasInnerExtrapolatedTrackParticle()

bool Analysis::Muon::hasInnerExtrapolatedTrackParticle ( ) const
inline

test if associated TrackParticle from ID-seeded full track fit is available

Definition at line 292 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

292{return m_innerExtrapolatedTrackParticle.isValid();}

◆ hasMuonExtrapolatedTrackParticle()

bool Analysis::Muon::hasMuonExtrapolatedTrackParticle ( ) const
inline

test if associated MS TrackParticle (extrapolated to IP) is available

Definition at line 290 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

290{return m_muonExtrapolatedTrackParticle.isValid();}

◆ hasMuonExtrapolatedTrackParticleFlag()

bool Analysis::Muon::hasMuonExtrapolatedTrackParticleFlag ( ) const
inline

◆ hasPdgId()

virtual bool ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::hasPdgId ( ) const
virtualinherited

method to check if particle id information is available

Implements IParticle.

◆ hasSameAthenaBarCode()

bool ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::hasSameAthenaBarCode ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hasSameAthenaBarCodeExceptVersion()

bool ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & ) const
virtualinherited

Reimplemented from IAthenaBarCode.

◆ hasStatCombinedMuonTrackParticle()

bool Analysis::Muon::hasStatCombinedMuonTrackParticle ( ) const
inline

test if (in addition to the refitted combined muon) a stat.combined TrackParticle is available.

If no refit and combined muon only found by Staco, should be identica

Definition at line 297 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

297{return m_statCombinedMuonTrackParticle.isValid();}

◆ hlv()

virtual CLHEP::HepLorentzVector ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::hlv ( ) const
virtualinherited

CLHEP HepLorentzVector.

Implements I4Momentum.

◆ inDetTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::inDetTrackLink ( ) const
inline

Access to the smart pointer to inner detector track.

Definition at line 349 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

349{ return m_inDetTrackParticle; }

◆ inDetTrackParticle()

const Rec::TrackParticle * Analysis::Muon::inDetTrackParticle ( ) const
inline

deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a given muon quality definition

deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a given muon quality definition Access to the TrackParticles

Definition at line 315 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

315 {
316 return ( (this->hasInDetTrackParticle()) ? *m_inDetTrackParticle : 0); }
bool hasInDetTrackParticle() const
test if associated indet TrackParticle is available

◆ inDetTrkTrack()

const Trk::Track * Analysis::Muon::inDetTrkTrack ( ) const
inline

access to TrkTracks - InDetTrack

Definition at line 536 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

536 {
537 return ((this->hasInDetTrackParticle()) ? (*m_inDetTrackParticle)->originalTrack() : 0); }

◆ innAngle()

float Analysis::Muon::innAngle ( ) const
inline

Access to some angles for muons found by MuGirl.

Definition at line 518 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

518{ return this->parameter(MuonParameters::innAngle); }
@ innAngle
common MuGirl and MuTag parameters

◆ innerExtrapolatedTrackParticle()

const Rec::TrackParticle * Analysis::Muon::innerExtrapolatedTrackParticle ( ) const
inline

Access to the TrackParticles.

Definition at line 327 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ innerExtrapolatedTrkTrack()

const Trk::Track * Analysis::Muon::innerExtrapolatedTrkTrack ( ) const
inline

access to TrkTracks - innerExtrapolatedTrack

Definition at line 545 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

545 {
546 return ((this->hasInnerExtrapolatedTrackParticle()) ? (*m_innerExtrapolatedTrackParticle)->originalTrack() : 0); }

◆ innerExtrapTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::innerExtrapTrackLink ( ) const
inline

Access to the smart pointer to the muon track extrapolated out from the vertex.

Definition at line 368 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ iPt()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

◆ isAuthor() [1/2]

bool Analysis::Muon::isAuthor ( const MuonParameters::Author author) const

check if this author is among the list of authors of this Muon - obviously, the primary author MUST be in the list

Definition at line 319 of file Muon.cxx.

319 {
320 bool is_it = false;
321 switch ( author ) {
323 is_it = m_allAuthors & 1;
324 break;
326 is_it = m_allAuthors & 2;
327 break;
329 is_it = m_allAuthors & 4;
330 break;
332 is_it = m_allAuthors & 8;
333 break;
335 is_it = m_allAuthors & 16;
336 break;
338 is_it = m_allAuthors & 32;
339 break;
341 is_it = m_allAuthors & 64;
342 break;
344 is_it = m_allAuthors & 128;
345 break;
347 is_it = m_allAuthors & 256;
348 break;
350 is_it = m_allAuthors & 512;
351 break;
353 is_it = m_allAuthors & 1024;
354 break;
356 is_it = m_allAuthors & 2048;
357 break;
359 is_it = m_allAuthors & 4096;
360 break;
361
362 default :
363 is_it = false;
364 }
365 return is_it;
366}

◆ isAuthor() [2/2]

bool Analysis::Muon::isAuthor ( const unsigned int author) const

check if this author is among the list of authors of this Muon - obviously, the primary author MUST be in the list

Definition at line 314 of file Muon.cxx.

314 {
316 return this->isAuthor(x);
317}
#define x
Author
do not change the order of these enums.

◆ isCaloMuonId()

bool Analysis::Muon::isCaloMuonId ( ) const

Method for querying primary identification mechanism: muon identified solely by calorimeter based identification (so no signal in MS)

test for a calo-tagged muon

Definition at line 457 of file Muon.cxx.

◆ isCombinedMuon()

bool Analysis::Muon::isCombinedMuon ( ) const

method for querying primary identification mechanism: muon identified by successfully combining a full ID and a full MS track

test for a MS-ID combined muon

Definition at line 421 of file Muon.cxx.

421 {
422 if (m_hasCombinedMuonTrackParticle && // mind DPD where hasParticle() but EL may be invalid
426 m_author==MuonParameters::MuGirl ) ) return true;
427 else return false;
428}

◆ isCorrected()

bool Analysis::Muon::isCorrected ( ) const
inline

is this Muon corrected or not in AOD-to-AOD correction

Definition at line 270 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

270{ return m_isCorrected; }

◆ isLoose()

bool Analysis::Muon::isLoose ( ) const
inline

test for muon being categorised as "loose"

Definition at line 559 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

559 {
560 return m_isMuonBits.isLoose();
561 }

◆ isMedium()

bool Analysis::Muon::isMedium ( ) const
inline

test for muon being categorised as "medium"

Definition at line 564 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

564 {
565 return m_isMuonBits.isMedium();
566 }

◆ isMuon()

const MuonQualityWord & Analysis::Muon::isMuon ( ) const
inline

access to muon quality information the user must take care to delete the pointer the Muon does not own it

Definition at line 554 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

554 {
555 return m_isMuonBits;
556 }

◆ isMuonLikelihood()

float Analysis::Muon::isMuonLikelihood ( ) const
inline

return the muon likelihood - not yet used

Definition at line 574 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

574{ return m_isMuonLikelihood; }

◆ isSegmentTaggedMuon()

bool Analysis::Muon::isSegmentTaggedMuon ( ) const

Method for querying primary identification mechanism: muon identified by inner-detector seeded identification (segment tagging or ID+MS refit)

test for a MS-segment tagged muon

Definition at line 448 of file Muon.cxx.

◆ isSiliconAssociatedForwardMuon()

bool Analysis::Muon::isSiliconAssociatedForwardMuon ( ) const

Method for querying primary identification mechanism: a combined muon where a clean forward standalone muon has been associated to a ID tracklet.

test for a silicon associated forward muon

Definition at line 466 of file Muon.cxx.

466 {
467 const Rec::TrackParticle* indetParticle = inDetTrackParticle();
468 if( !indetParticle ) return false;
470}
bool patternRecoInfo(const TrackPatternRecoInfo &pattern) const
Access method for pattern recognition algorithm.
@ SiSpacePointsSeedMaker_ForwardTracks
Entries allowing to distinguish different seed makers.
const TrackInfo & info() const
returns the info of the track.

◆ isStandAloneMuon()

bool Analysis::Muon::isStandAloneMuon ( ) const

method for querying primary identification mechanism: muon identified by spectrometer track (that is not associated to ID) as main author

test for a MS-standalone muon

Definition at line 431 of file Muon.cxx.

431 {
432
433 if (m_hasMuonExtrapolatedTrackParticle && // mind DPD where hasParticle() but EL may be invalid
440 else return false;
441
442 // Formerly: !this->bestMatch() && !this->hasCombinedMuonTrackParticle()
443 // && !this->isSegmentTaggedMuon() && this->isHighPt() && this->m_hasMuonExtr...
444}

◆ isTight()

bool Analysis::Muon::isTight ( ) const
inline

test for muon being categorised as "tight"

Definition at line 569 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

569 {
570 return m_isMuonBits.isTight();
571 }

◆ kind()

add Kind which tells what kind (P4XYZ) the underlying implementation has

Implements I4Momentum.

◆ m()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::m ( void ) const
virtualinherited

mass

Implements I4Momentum.

◆ m2()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

◆ matchChi2()

double Analysis::Muon::matchChi2 ( ) const
inline

get the chi2 of the MS-ID track match at the perigee

Definition at line 213 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

213{return m_matchChi2;}

◆ matchChi2OverDoF()

double Analysis::Muon::matchChi2OverDoF ( ) const
inline

get the chi2 over number of DoF of the track match at perigee

Definition at line 216 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

216 {
217 int dof = this->matchNumberDoF();
218 if (dof > 0) return (this->matchChi2()/dof);
219 else return 0;
220 }
double matchChi2() const
get the chi2 of the MS-ID track match at the perigee
int matchNumberDoF() const
get the number of DoF of the track match at perigee

◆ matchNumberDoF()

int Analysis::Muon::matchNumberDoF ( ) const
inline

get the number of DoF of the track match at perigee

Definition at line 223 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

223{return m_matchNumberDoF;}

◆ midAngle()

float Analysis::Muon::midAngle ( ) const
inline

Access to some angles for muons found by MuGirl.

Definition at line 520 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ momentumBalanceSignificance()

float Analysis::Muon::momentumBalanceSignificance ( ) const
inline

momentumBalanceSignificance defined for fitted or combined muons in order to identify decays in flight

Definition at line 504 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ momentumBase() [1/2]

access to underlying base type (I4Momentum-like)

◆ momentumBase() [2/2]

access to underlying base type (I4Momentum-like)

◆ muonExtrapolatedTrackParticle()

const Rec::TrackParticle * Analysis::Muon::muonExtrapolatedTrackParticle ( ) const
inline

Access to the TrackParticles.

Definition at line 323 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

323 {
bool hasMuonExtrapolatedTrackParticle() const
test if associated MS TrackParticle (extrapolated to IP) is available

◆ muonExtrapolatedTrkTrack()

const Trk::Track * Analysis::Muon::muonExtrapolatedTrkTrack ( ) const
inline

access to TrkTracks - muonExtrapolatedTrack

Definition at line 542 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

542 {
543 return ((this->hasMuonExtrapolatedTrackParticle()) ? (*m_muonExtrapolatedTrackParticle)->originalTrack() : 0); }

◆ muonExtrapTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::muonExtrapTrackLink ( ) const
inline

Access to the smart pointer to the muon track extrapolated to the vertex.

Definition at line 355 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ muonSegment()

const Trk::Segment * Analysis::Muon::muonSegment ( unsigned int i) const
inline

Access to the muon segments.

Definition at line 527 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

527 {
528 if ( m_muonSegments.size() <= i ) return 0;
529 else if ( m_muonSegments[i].isValid() ) return *(m_muonSegments[i]);
530 else return 0; }
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878

◆ muonSegmentLink() [1/2]

const ElementLinkVector< Trk::SegmentCollection > & Analysis::Muon::muonSegmentLink ( ) const
inline

Access to vector smart pointers (ElementLink) to muon segments.

Definition at line 340 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

340{ return m_muonSegments; }

◆ muonSegmentLink() [2/2]

const ElementLink< Trk::SegmentCollection > Analysis::Muon::muonSegmentLink ( const unsigned int i,
bool & validLink ) const

Access to the smart pointer (ElementLink) to a given muon segment in the list.

Definition at line 759 of file Muon.cxx.

760{
761 ElementLink<Trk::SegmentCollection> theLink;
762 if ( i < this->numberOfSegments() ) {
763 validLink = true;
764 theLink = m_muonSegments[i];
765 } else {
766 validLink = false;
767 }
768 return theLink;
769}
unsigned int numberOfSegments() const
Access to the number of muon segments.

◆ muonSpectrometerTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::muonSpectrometerTrackLink ( ) const
inline

Access to the smart pointer to the muon spectrometer track.

Definition at line 393 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ muonSpectrometerTrackParticle()

const Rec::TrackParticle * Analysis::Muon::muonSpectrometerTrackParticle ( ) const
inline

Access to the TrackParticles.

Definition at line 319 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

319 {

◆ muonSpectrometerTrkTrack()

const Trk::Track * Analysis::Muon::muonSpectrometerTrkTrack ( ) const
inline

access to TrkTracks - MuonSpectrometerTrack

Definition at line 539 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

539 {
540 return ((m_muonSpectrometerTrackParticle.isValid()) ? (*m_muonSpectrometerTrackParticle)->originalTrack() : 0); }

◆ navigableBase() [1/2]

access to underlying base type (INavigable-like)

◆ navigableBase() [2/2]

access to underlying base type (INavigable-like)

◆ newVersion()

Reimplemented from IAthenaBarCode.

◆ numberOfCSCEtaHits()

int Analysis::Muon::numberOfCSCEtaHits ( ) const

Get Muon Spectrometer CSC Eta Hits information for MS track or tagged segments.

number of CSC Eta hits/holes

Definition at line 633 of file Muon.cxx.

633 {
635 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfCscEtaHits );
636 else if ( this->hasInDetTrackParticle() && !associatedEtaDigits().empty())
637 return ( associatedEtaDigits()[1] );
638 else return -1;
639}
static const Attributes_t empty
const std::vector< int > & associatedEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.

◆ numberOfCSCEtaHoles()

int Analysis::Muon::numberOfCSCEtaHoles ( ) const

Get Muon Spectrometer CSC Eta Holes information for MS track or tagged segments.

Definition at line 640 of file Muon.cxx.

640 {
642 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfCscEtaHoles );
643 else return -1;
644}
@ numberOfCscEtaHoles
number of CSC Eta measurements missing from the track

◆ numberOfCSCPhiHits()

int Analysis::Muon::numberOfCSCPhiHits ( ) const

Get Muon Spectrometer CSC Phi Hits information for MS track or tagged segments.

number of CSC Phi hits/holes

Definition at line 619 of file Muon.cxx.

619 {
621 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfCscPhiHits );
622 else if ( this->hasInDetTrackParticle() && !associatedPhiDigits().empty())
623 return ( associatedPhiDigits()[1] );
624 else return -1;
625}
const std::vector< int > & associatedPhiDigits() const
Access to the MS phi hits associated by segment-tagged muons.

◆ numberOfCSCPhiHoles()

int Analysis::Muon::numberOfCSCPhiHoles ( ) const

Get Muon Spectrometer CSC Phi Holes information for MS track or tagged segments.

Definition at line 626 of file Muon.cxx.

626 {
628 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfCscPhiHoles );
629 else return -1;
630}
@ numberOfCscPhiHoles
number of CSC Phi measurements missing from the track

◆ numberOfGangedPixels()

int Analysis::Muon::numberOfGangedPixels ( ) const

number of Ganged Pixel for track from primary author

GangedPixel, outliers, summaryTypes.

Definition at line 703 of file Muon.cxx.

703 {
704 const Rec::TrackParticle * theTrack = this->track();
705 if ( theTrack )
706 return theTrack->trackSummary()->get( Trk::numberOfGangedPixels );
707 else return -1;
708}
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
int get(const SummaryType &type) const
returns the summary information for the passed SummaryType.
@ numberOfGangedPixels
number of Ganged Pixels flagged as fakes

◆ numberOfInnermostPixelLayerHits()

int Analysis::Muon::numberOfInnermostPixelLayerHits ( ) const

Get Inner detector Hits information from ID trackparticle.

number of B-layer hits

Definition at line 523 of file Muon.cxx.

523 {
525 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfInnermostPixelLayerHits );
526 else return -1;
527
528}
@ numberOfInnermostPixelLayerHits
these are the hits in the 1st pixel layer

◆ numberOfInnermostPixelLayerSharedHits()

int Analysis::Muon::numberOfInnermostPixelLayerSharedHits ( ) const

Get number of shared hits or holes from ID trackparticle.

number of shared hits at pixel b-layer

Definition at line 563 of file Muon.cxx.

563 {
565 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::legacy_numberOfInnermostPixelLayerSharedHits );
566 else return -1;
567}

◆ numberOfMDTHits()

int Analysis::Muon::numberOfMDTHits ( ) const

Get Muon Spectrometer MDT Hits information for MS track or tagged segments.

number of MDT hits/holes

Definition at line 605 of file Muon.cxx.

605 {
607 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfMdtHits );
608 else if ( this->hasInDetTrackParticle() && !associatedEtaDigits().empty())
609 return ( associatedEtaDigits()[0] );
610 else return -1;
611}

◆ numberOfMDTHoles()

int Analysis::Muon::numberOfMDTHoles ( ) const

Get Muon Spectrometer MDT holes information for MS track or tagged segments.

Definition at line 612 of file Muon.cxx.

612 {
614 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfMdtHoles );
615 else return -1;
616}
@ numberOfMdtHoles
number of MDT measurements missing from the track

◆ numberOfOutliersOnTrack()

int Analysis::Muon::numberOfOutliersOnTrack ( ) const

number of outliers for track from primary author

Definition at line 710 of file Muon.cxx.

710 {
711 const Rec::TrackParticle * theTrack = this->track();
712 if ( theTrack )
713 return theTrack->trackSummary()->get( Trk::numberOfOutliersOnTrack );
714 else return -1;
715
716}
@ numberOfOutliersOnTrack
100 times the standard deviation of the chi2 from the surfaces

◆ numberOfPixelHits()

int Analysis::Muon::numberOfPixelHits ( ) const

Get number of Pixel hits from ID trackparticle.

number of pixel hits

Definition at line 531 of file Muon.cxx.

531 {
533 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfPixelHits );
534 else return -1;
535
536}
@ numberOfPixelHits
number of pixel layers on track with absence of hits

◆ numberOfPixelHoles()

int Analysis::Muon::numberOfPixelHoles ( ) const

Get number of Pixel holes from ID trackparticle.

Definition at line 574 of file Muon.cxx.

574 {
576 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfPixelHoles );
577 else return -1;
578}
@ numberOfPixelHoles
number of pixels which have a ganged ambiguity.

◆ numberOfPixelSharedHits()

int Analysis::Muon::numberOfPixelSharedHits ( ) const

Get number of Pixel shared hits from ID trackparticle.

Definition at line 568 of file Muon.cxx.

568 {
570 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::legacy_numberOfPixelSharedHits );
571 else return -1;
572}

◆ numberOfRPCEtaHits()

int Analysis::Muon::numberOfRPCEtaHits ( ) const

Get Muon Spectrometer RPC Eta Hits information for MS track or tagged segments.

number of RPC Eta hits/holes

Definition at line 661 of file Muon.cxx.

661 {
663 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfRpcEtaHits );
664 else if ( this->hasInDetTrackParticle() && !associatedEtaDigits().empty())
665 return ( associatedEtaDigits()[2] );
666 else return -1;
667}

◆ numberOfRPCEtaHoles()

int Analysis::Muon::numberOfRPCEtaHoles ( ) const

Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.

Definition at line 668 of file Muon.cxx.

668 {
670 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfRpcEtaHoles );
671 else return -1;
672}
@ numberOfRpcEtaHoles
number of RPC Eta measurements missing from the track

◆ numberOfRPCPhiHits()

int Analysis::Muon::numberOfRPCPhiHits ( ) const

Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.

number of RPC Phi hits/holes

Definition at line 647 of file Muon.cxx.

647 {
649 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfRpcPhiHits );
650 else if ( this->hasInDetTrackParticle() && !associatedPhiDigits().empty())
651 return ( associatedPhiDigits()[2] );
652 else return -1;
653}

◆ numberOfRPCPhiHoles()

int Analysis::Muon::numberOfRPCPhiHoles ( ) const

Get Muon Spectrometer RPC Phi Holes information for MS track or tagged segments.

Definition at line 654 of file Muon.cxx.

654 {
656 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfRpcPhiHoles );
657 else return -1;
658}
@ numberOfRpcPhiHoles
number of RPC Phi measurements missing from the track

◆ numberOfSCTHits()

int Analysis::Muon::numberOfSCTHits ( ) const

Get number of Silicon SCT hits from ID trackparticle.

number of Silicon hits

Definition at line 539 of file Muon.cxx.

539 {
541 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfSCTHits );
542 else return -1;
543
544}

◆ numberOfSCTHoles()

int Analysis::Muon::numberOfSCTHoles ( ) const

Get number of Silicon SCT holes from ID trackparticle.

Definition at line 586 of file Muon.cxx.

586 {
588 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfSCTHoles );
589 else return -1;
590}
@ numberOfSCTHoles
number of Holes in both sides of a SCT module

◆ numberOfSCTSharedHits()

int Analysis::Muon::numberOfSCTSharedHits ( ) const

Get number of Silicon SCT shared hits from ID trackparticle.

Definition at line 580 of file Muon.cxx.

580 {
582 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::legacy_numberOfSCTSharedHits );
583 else return -1;
584}

◆ numberOfSegments()

unsigned int Analysis::Muon::numberOfSegments ( ) const
inline

Access to the number of muon segments.

Definition at line 533 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

533{ return m_muonSegments.size(); }

◆ numberOfTGCEtaHits()

int Analysis::Muon::numberOfTGCEtaHits ( ) const

Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.

number of TGC Eta hits/holes

Definition at line 689 of file Muon.cxx.

689 {
691 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfTgcEtaHits );
692 else if ( this->hasInDetTrackParticle() && !associatedEtaDigits().empty())
693 return ( associatedEtaDigits()[3] );
694 else return -1;
695}

◆ numberOfTGCEtaHoles()

int Analysis::Muon::numberOfTGCEtaHoles ( ) const

Get Muon Spectrometer TGC Eta Holes information for MS track or tagged segments.

Definition at line 696 of file Muon.cxx.

696 {
698 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfTgcEtaHoles );
699 else return -1;
700}
@ numberOfTgcEtaHoles
number of TGC Eta measurements missing from the track

◆ numberOfTGCPhiHits()

int Analysis::Muon::numberOfTGCPhiHits ( ) const

Get Muon Spectrometer TGC Phi Hits information for MS track or tagged segments.

number of TGC Phi hits/holes

Definition at line 675 of file Muon.cxx.

675 {
677 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfTgcPhiHits );
678 else if ( this->hasInDetTrackParticle() && !associatedPhiDigits().empty())
679 return ( associatedPhiDigits()[3] );
680 else return -1;
681}

◆ numberOfTGCPhiHoles()

int Analysis::Muon::numberOfTGCPhiHoles ( ) const

Get Muon Spectrometer TGC Phi Holes information for MS track or tagged segments.

Definition at line 682 of file Muon.cxx.

682 {
684 return (*m_muonExtrapolatedTrackParticle)->trackSummary()->get( Trk::numberOfTgcPhiHoles );
685 else return -1;
686}
@ numberOfTgcPhiHoles
number of TGC Phi measurements missing from the track

◆ numberOfTrackSummaryTypes()

int Analysis::Muon::numberOfTrackSummaryTypes ( unsigned int type = 0) const

number of summaryTypes for track from primary author

Definition at line 718 of file Muon.cxx.

718 {
719 const Rec::TrackParticle * theTrack = this->track();
720 if ( theTrack && type < Trk::numberOfTrackSummaryTypes )
721 return theTrack->trackSummary()->get( static_cast<Trk::SummaryType>(type) );
722 else return -1;
723}
SummaryType
enumerates the different types of information stored in Summary.

◆ numberOfTRTHighThresholdHits()

int Analysis::Muon::numberOfTRTHighThresholdHits ( ) const

Get number of TRT High Threshold hits from ID trackparticle.

number of TRT high threshold hits

Definition at line 555 of file Muon.cxx.

555 {
557 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfTRTHighThresholdHits );
558 else return -1;
559
560}
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold

◆ numberOfTRTHighThresholdOutliers()

int Analysis::Muon::numberOfTRTHighThresholdOutliers ( ) const

Get number of TRT Outliers High Threshold from ID trackparticle.

Definition at line 598 of file Muon.cxx.

598 {
600 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfTRTHighThresholdOutliers );
601 else return -1;
602}
@ numberOfTRTHighThresholdOutliers
number of dead TRT straws crossed

◆ numberOfTRTHits()

int Analysis::Muon::numberOfTRTHits ( ) const

Get number of TRT hits from ID trackparticle.

number of TRT hits

Definition at line 547 of file Muon.cxx.

547 {
549 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfTRTHits );
550 else return -1;
551
552}

◆ numberOfTRTOutliers()

int Analysis::Muon::numberOfTRTOutliers ( ) const

Get number of TRT Outliers from ID trackparticle.

Definition at line 592 of file Muon.cxx.

592 {
594 return (*m_inDetTrackParticle)->trackSummary()->get( Trk::numberOfTRTOutliers );
595 else return -1;
596}

◆ operator=()

Muon & Analysis::Muon::operator= ( const Muon & rhs)

Assignment operator.

Assignement operator.

Definition at line 269 of file Muon.cxx.

270{
271 if ( this != &rhs ) {
272 IAthenaBarCode::operator=(rhs);
273 INavigable::operator=(rhs);
274 I4Momentum::operator=(rhs);
275 INavigable4Momentum::operator=(rhs);
277 m_author = rhs.m_author;
278 m_hasMuonExtrapolatedTrackParticle = rhs.m_hasMuonExtrapolatedTrackParticle;
279 m_hasCombinedMuonTrackParticle = rhs.m_hasCombinedMuonTrackParticle;
280 m_matchChi2 = rhs.m_matchChi2;
281 m_matchNumberDoF = rhs.m_matchNumberDoF;
282 m_outerMatchNumberDoF = rhs.m_outerMatchNumberDoF;
283 m_transientOuterMatchChi2 = rhs.m_transientOuterMatchChi2;
284 m_bestMatch = rhs.m_bestMatch;
285 m_associatedEtaDigits = rhs.m_associatedEtaDigits;
286 m_associatedPhiDigits = rhs.m_associatedPhiDigits;
287 m_inDetTrackParticle = rhs.m_inDetTrackParticle;
288 m_muonExtrapolatedTrackParticle = rhs.m_muonExtrapolatedTrackParticle;
289 m_innerExtrapolatedTrackParticle = rhs.m_innerExtrapolatedTrackParticle;
290 m_combinedMuonTrackParticle = rhs.m_combinedMuonTrackParticle;
291 m_statCombinedMuonTrackParticle = rhs.m_statCombinedMuonTrackParticle;
292 m_cluster = rhs.m_cluster;
293 m_muonSpectrometerTrackParticle = rhs.m_muonSpectrometerTrackParticle;
294 m_parameters = rhs.m_parameters;
295 m_isAlsoFoundByLowPt = rhs.m_isAlsoFoundByLowPt;
296 m_isAlsoFoundByCaloMuonId = rhs.m_isAlsoFoundByCaloMuonId;
297 m_caloEnergyLoss = rhs.m_caloEnergyLoss;
298 m_caloMuonAlsoFoundByMuonReco = rhs.m_caloMuonAlsoFoundByMuonReco;
299 m_isCorrected = rhs.m_isCorrected;
300 m_allAuthors = rhs.m_allAuthors;
301 m_isMuonBits = rhs.m_isMuonBits;
302 m_isMuonLikelihood = rhs.m_isMuonLikelihood;
303
304 copySegmentLinkVector( rhs.m_muonSegments );
305
306 }
307 return *this;
308}

◆ origin()

virtual const Trk::RecVertex * ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::origin ( ) const
virtualinherited

Return a RecVertex corresponding to particle Origin.

Implements IParticle.

◆ originLink()

virtual const ElementLink< VxContainer > & ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::originLink ( ) const
virtualinherited

Return an ElementLink corresponding to particle's Origin.

Implements IParticle.

◆ outerMatchChi2()

const Trk::FitQuality * Analysis::Muon::outerMatchChi2 ( ) const
inline

returns track matching at MS entrance for combined muons and match at first segment for tagged muons.

Pointer cached+owned by muon object.

Definition at line 250 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

250 {
252 else return NULL;
253 }

◆ outerMatchNumberDoF()

int Analysis::Muon::outerMatchNumberDoF ( ) const
inline

◆ p()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::p ( ) const
virtualinherited

mass momentum magnitude

Implements I4Momentum.

◆ p2()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

◆ parameter() [1/2]

const std::vector< std::pair< MuonParameters::ParamDef, float > > & Analysis::Muon::parameter ( ) const
inline

vector of parameter pairs for this Muon - isolation energy in some cone for example

Definition at line 210 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

210{ return m_parameters; }

◆ parameter() [2/2]

double Analysis::Muon::parameter ( MuonParameters::ParamDef x) const

get a parameter for this Muon - isolation energy in some cone for example

Definition at line 485 of file Muon.cxx.

485 {
486
487 double result = -999.;
488
489 for (const std::pair<MuonParameters::ParamDef, float>& p : m_parameters) {
490 if ( p.first == x )
491 result = p.second;
492 }
493
494 return result;
495}
virtual double p() const =0
momentum magnitude

◆ particleBase() [1/2]

access to underlying base type (IParticle-like)

◆ particleBase() [2/2]

access to underlying base type (IParticle-like)

◆ pdgId()

virtual int ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::pdgId ( ) const
virtualinherited

Return enum indicating particle id the enum file is available in Event/EventKernel/PdtPdg.h.

Implements IParticle.

◆ phi()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::phi ( void ) const
virtualinherited

phi in [-pi,pi[

Implements I4Momentum.

◆ pt()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::pt ( void ) const
virtualinherited

transverse momentum

Implements I4Momentum.

◆ px()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::px ( ) const
virtualinherited

x component of momentum

I4Momentum interface forwarding

Implements I4Momentum.

◆ py()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

◆ pz()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

◆ rapidity()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

◆ scatteringCurvatureSignificance()

float Analysis::Muon::scatteringCurvatureSignificance ( ) const
inline

scatteringAngleSignificance based on the curvature significance, from track fit in ID (thus not available for SA muons)

Definition at line 495 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ scatteringNeighbourSignificance()

float Analysis::Muon::scatteringNeighbourSignificance ( ) const
inline

scatteringAngleSignificance based on hard scatterers over few near-by measurements, from track fit in inner detector (thus not available for SA muons)

Definition at line 500 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ segmentChi2OverDoF()

float Analysis::Muon::segmentChi2OverDoF ( ) const
inline

Access to a match chi2/ndf from muon segment taggers.

Definition at line 512 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ segmentDeltaEta()

float Analysis::Muon::segmentDeltaEta ( ) const
inline

Access to some Delta(eta) from muon segment taggers.

Definition at line 508 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

@ segmentDeltaEta
MuTag parameters.

◆ segmentDeltaPhi()

float Analysis::Muon::segmentDeltaPhi ( ) const
inline

Access to some Detla(phi) from muon segment taggers.

Definition at line 510 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ segmentEtaDigits()

const std::vector< int > & Analysis::Muon::segmentEtaDigits ( ) const
inline

Access to the MS eta hits associated by segment-tagged muons.

Definition at line 484 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

484{ return m_associatedEtaDigits; }

◆ segmentPhiDigits()

const std::vector< int > & Analysis::Muon::segmentPhiDigits ( ) const
inline

Access to the MS phi hits associated by segment-tagged muons.

Definition at line 486 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

486{ return m_associatedPhiDigits; }

◆ set4Mom() [1/3]

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
virtualinherited

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

◆ set4Mom() [2/3]

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set4Mom ( const I4Momentum & theI4Mom)
virtualinherited

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

◆ set4Mom() [3/3]

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set4Mom ( const I4Momentum *const theI4Mom)
virtualinherited

set 4Momentum (will throw exception if cannot be implemented)

Implements I4Momentum.

◆ set_allAuthors()

void Analysis::Muon::set_allAuthors ( const uint16_t allAuthors)
inline

set all the authors of this Muon the authors are 16-bit word, 1-bit reserved for each muon Algorithm the positions of the 1-bit are defined as follows: Muonboy | STACO | MuTag | Muid SA | Muid Co | MuGirl | MuGirlLowBeta | CaloMuon | CaloTag / CaloLikelihood | MuTagIMO | MuonCombinedRefit | ExtrapolateMuonToIP each of these authors have 1 bit and the lower bits are Muonboy

Definition at line 138 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

uint16_t allAuthors() const
get all the authors of this Muon for example during overlap checking, the same Muon may have been rec...

◆ set_annBarrel()

void Analysis::Muon::set_annBarrel ( const float annB)
inline

Set annBarrel.

Definition at line 720 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

void set_parameter(MuonParameters::ParamDef index, double value, bool overwrite=false)
set a parameter in the MuonParamDefs.h
Definition Muon.cxx:888

◆ set_annEndCap()

void Analysis::Muon::set_annEndCap ( const float annE)
inline

◆ set_author()

void Analysis::Muon::set_author ( MuonParameters::Author author)
inline

set the primary Author : the primary author is the algorithm that first created this Muon

Definition at line 129 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

129{ m_author = author;}

◆ set_bestMatch()

void Analysis::Muon::set_bestMatch ( bool best)
inline

set the best match

Definition at line 596 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

596{ m_bestMatch = best; }
best(iterable, priorities=[3, 2, 1, -1, 0])

◆ set_caloMuonAlsoFoundByMuonReco()

void Analysis::Muon::set_caloMuonAlsoFoundByMuonReco ( const unsigned short isAlsoFoundByMuonReco)
inline

set if this calo muon is also reconstructed by one of the standard muon recosntruction algorithms that require the muon spectrometer - not that for calo muons, Inner Detector and Calorimeter only are used 0 - not found by muon reconstruction 1 - found by Muonboy/STACO/MuTag 2 = found by MuID SA/MuID Combined/MuGirl 3 - found by both 1 and 2

Definition at line 200 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

200 {
201 m_caloMuonAlsoFoundByMuonReco=isAlsoFoundByMuonReco;
202 }

◆ set_charge()

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set_charge ( ChargeType x)
virtualinherited

◆ set_cluster() [1/3]

void Analysis::Muon::set_cluster ( const CaloCluster * cluster)
inline

set the Calorimeter information

Definition at line 606 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

606 {
607 m_cluster.setElement(cluster);
608 }
const CaloCluster * cluster() const
access to the calorimeter info

◆ set_cluster() [2/3]

void Analysis::Muon::set_cluster ( const CaloClusterContainer * cont,
const CaloCluster * cluster )
inline

set the Calorimeter information

Definition at line 602 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

602 {
603 m_cluster.toContainedElement( *cont, cluster);
604 }

◆ set_cluster() [3/3]

void Analysis::Muon::set_cluster ( const ElementLink< CaloClusterContainer > & cluster)
inline

set the Calorimeter information, by link

Definition at line 610 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

610 {
612 }

◆ set_clusterContainer()

void Analysis::Muon::set_clusterContainer ( const CaloClusterContainer * clusterContainer)
inline

set the Calorimeter information

Definition at line 614 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

614 {
615 m_cluster.setStorableObject(*clusterContainer);
616 }

◆ set_combinedMuonTrackParticle() [1/2]

void Analysis::Muon::set_combinedMuonTrackParticle ( const Rec::TrackParticle * trackParticle)

set the combined muon track particle.

Does not change the Muon's 4-momentum.

Definition at line 823 of file Muon.cxx.

824{
825 m_combinedMuonTrackParticle.setElement(trackParticle);
827}

◆ set_combinedMuonTrackParticle() [2/2]

void Analysis::Muon::set_combinedMuonTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

set the combined muon track particle.

Set Combined Muon TrackParticle.

Does not change the Muon's 4-momentum.

Definition at line 813 of file Muon.cxx.

815{
817 if (cont && trackParticle) { // allow also to remove an EL
818 m_combinedMuonTrackParticle.toContainedElement(*cont, trackParticle);
820 }
821}

◆ set_combinedMuonTrackParticleContainer()

void Analysis::Muon::set_combinedMuonTrackParticleContainer ( const Rec::TrackParticleContainer * combinedMuonTPContainer)
inline

set the TrackParticle containers

Definition at line 665 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

665 {
666 m_combinedMuonTrackParticle.setStorableObject(*combinedMuonTPContainer);
668 }

◆ set_dataType()

◆ set_energyLoss() [1/2]

void Analysis::Muon::set_energyLoss ( const CaloEnergy * caloEnergy)
inline

set the energy loss in the calorimeter

Definition at line 582 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

582{ m_caloEnergyLoss.setElement(caloEnergy); }

◆ set_energyLoss() [2/2]

void Analysis::Muon::set_energyLoss ( const MuonCaloEnergyContainer * cont,
const CaloEnergy * caloEnergy )

set the energy loss in the calorimeter

Definition at line 725 of file Muon.cxx.

726{
727 if (m_caloEnergyLoss.isValid() ) m_caloEnergyLoss.reset();
728 m_caloEnergyLoss.toContainedElement(*cont, caloEnergy);
729}

◆ set_energyLossContainer()

void Analysis::Muon::set_energyLossContainer ( const MuonCaloEnergyContainer * cont)
inline

set the energy loss in the calorimeter

Definition at line 584 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

584{ m_caloEnergyLoss.setStorableObject(*cont); }

◆ set_inDetTrackParticle() [1/2]

void Analysis::Muon::set_inDetTrackParticle ( const Rec::TrackParticle * trackParticle)

Set the inner detector track particle.

Does not change the Muon's 4-momentum.

Definition at line 739 of file Muon.cxx.

740{
741 m_inDetTrackParticle.setElement(trackParticle);
742}

◆ set_inDetTrackParticle() [2/2]

void Analysis::Muon::set_inDetTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

Set the inner detector track particle.

Set Inner Detector TrackParticle.

Does not change the Muon's 4-momentum.

Definition at line 732 of file Muon.cxx.

734{
735 if (m_inDetTrackParticle.isValid() ) m_inDetTrackParticle.reset();
736 m_inDetTrackParticle.toContainedElement(*cont, trackParticle);
737}

◆ set_inDetTrackParticleContainer()

void Analysis::Muon::set_inDetTrackParticleContainer ( const Rec::TrackParticleContainer * inDetTPContainer)
inline

set the TrackParticle containers

Definition at line 650 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

650 {
651 m_inDetTrackParticle.setStorableObject(*inDetTPContainer);
652 }

◆ set_innAngle()

void Analysis::Muon::set_innAngle ( const float innA)
inline

◆ set_innerExtrapolatedTrackParticle() [1/2]

void Analysis::Muon::set_innerExtrapolatedTrackParticle ( const Rec::TrackParticle * trackParticle)

set the extrapolated track particle from the inner detector.

Does not change the Muon's 4-momentum.

Definition at line 807 of file Muon.cxx.

808{
809 m_innerExtrapolatedTrackParticle.setElement(trackParticle);
810}

◆ set_innerExtrapolatedTrackParticle() [2/2]

void Analysis::Muon::set_innerExtrapolatedTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

set the extrapolated track particle from the inner detector.

Set Muon Extrapolated TrackParticle.

Does not change the Muon's 4-momentum.

Definition at line 798 of file Muon.cxx.

800{
802 if (cont && trackParticle) { // allow also to remove an EL
803 m_innerExtrapolatedTrackParticle.toContainedElement(*cont, trackParticle);
804 }
805}

◆ set_innerExtrapolatedTrackParticleContainer()

void Analysis::Muon::set_innerExtrapolatedTrackParticleContainer ( const Rec::TrackParticleContainer * innerExtrapolatedTPContainer)
inline

set the TrackParticle containers

Definition at line 660 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

661 {
662 m_innerExtrapolatedTrackParticle.setStorableObject(*innerExtrapolatedTPContainer);
663 }

◆ set_isAlsoFoundByCaloMuonId()

void Analysis::Muon::set_isAlsoFoundByCaloMuonId ( const bool isAlsoSeenByCaloMuonId)
inline

set is also seen by calo muon Id reconstruction

Definition at line 190 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

190 {
191 (isAlsoSeenByCaloMuonId) ? m_isAlsoFoundByCaloMuonId=true : m_isAlsoFoundByCaloMuonId=false; }

◆ set_isAlsoFoundByLowPt()

void Analysis::Muon::set_isAlsoFoundByLowPt ( const bool isAlsoSeenByLowPt)
inline

set is also seen by low Pt reconstruction

Definition at line 185 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

185 {
186 (isAlsoSeenByLowPt) ? m_isAlsoFoundByLowPt=true : m_isAlsoFoundByLowPt=false;
187 }

◆ set_isCorrected()

void Analysis::Muon::set_isCorrected ( bool corrected)
inline

is this Muon corrected in AOD-to-AOD correction or not?

Definition at line 599 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

599{ m_isCorrected=corrected; }

◆ set_isMuonBits() [1/2]

void Analysis::Muon::set_isMuonBits ( const MuonQualityWord & qWord)
inline

◆ set_isMuonBits() [2/2]

void Analysis::Muon::set_isMuonBits ( const uint16_t isMuonBits)
inline

set muon quality parameters

Definition at line 752 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

752{ m_isMuonBits.set(isMuonBits); }

◆ set_isMuonLikelihood()

void Analysis::Muon::set_isMuonLikelihood ( const float muonLikelihood)
inline

Definition at line 754 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

754{ m_isMuonLikelihood = muonLikelihood; }

◆ set_matchChi2()

void Analysis::Muon::set_matchChi2 ( float x)
inline

set the chi2 parameters - matchChi2

Definition at line 589 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

589{m_matchChi2 = x;}

◆ set_matchNumberDoF()

void Analysis::Muon::set_matchNumberDoF ( int x)
inline

set the chi2 parameters - number of degrees of freedom

Definition at line 591 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ set_midAngle()

void Analysis::Muon::set_midAngle ( const float midA)
inline

◆ set_momentumBalanceSignificance()

void Analysis::Muon::set_momentumBalanceSignificance ( const float significance)
inline

set momentumBalanceSignificance for fitted or combined muons as discriminator against background muons

Definition at line 709 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ set_muonExtrapolatedTrackParticle() [1/2]

void Analysis::Muon::set_muonExtrapolatedTrackParticle ( const Rec::TrackParticle * trackParticle)

set the muon spectrometer extrapolated track particle.

Does not change the Muon's 4-momentum.

Definition at line 791 of file Muon.cxx.

◆ set_muonExtrapolatedTrackParticle() [2/2]

void Analysis::Muon::set_muonExtrapolatedTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

set the muon spectrometer extrapolated track particle.

Set Muon Extrapolated TrackParticle.

Does not change the Muon's 4-momentum.

Definition at line 781 of file Muon.cxx.

783{
785 if (cont && trackParticle) { // allow also to remove an EL
786 m_muonExtrapolatedTrackParticle.toContainedElement(*cont, trackParticle);
788 }
789}

◆ set_muonExtrapolatedTrackParticleContainer()

void Analysis::Muon::set_muonExtrapolatedTrackParticleContainer ( const Rec::TrackParticleContainer * muonExtrapolatedTPContainer)
inline

set the TrackParticle containers

Definition at line 654 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

655 {
656 m_muonExtrapolatedTrackParticle.setStorableObject(*muonExtrapolatedTPContainer);
658 }

◆ set_muonSegments()

void Analysis::Muon::set_muonSegments ( const Trk::SegmentCollection * segmentContainer,
const std::vector< const Trk::Segment * > & muonSegments )

set the combined muon track particle

Set MuonSegments.

Definition at line 745 of file Muon.cxx.

747{
748 m_muonSegments.clear();
749 for (unsigned int i=0; i<muonSegments.size(); ++i) this->addSegment(segmentContainer, muonSegments[i]);
750}

◆ set_muonSpectrometerTrackParticle()

void Analysis::Muon::set_muonSpectrometerTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

set Muon Spectrometer TrackParticle

muon spectromeetr track particle needed by MOORE

Definition at line 772 of file Muon.cxx.

774{
776 if (cont && trackParticle) // allow also to remove an EL
777 m_muonSpectrometerTrackParticle.toContainedElement(*cont, trackParticle);
778}

◆ set_numberOfAssociatedEtaDigits() [1/2]

void Analysis::Muon::set_numberOfAssociatedEtaDigits ( const std::vector< int > & associated_digits)

Set the LowPt - Associated Eta Digits.

Definition at line 856 of file Muon.cxx.

856 {
857 m_associatedEtaDigits = associated_digits;
858}

◆ set_numberOfAssociatedEtaDigits() [2/2]

void Analysis::Muon::set_numberOfAssociatedEtaDigits ( int nMDT,
int nCSC,
int nRPC,
int nTGC )

Set the LowPt stuff.

low Pt parameters from low pt

Set the LowPt - Associated Eta Digits

Definition at line 840 of file Muon.cxx.

840 {
841 m_associatedEtaDigits.clear();
842 m_associatedEtaDigits.push_back(nMDT);
843 m_associatedEtaDigits.push_back(nCSC);
844 m_associatedEtaDigits.push_back(nRPC);
845 m_associatedEtaDigits.push_back(nTGC);
846
847}

◆ set_numberOfAssociatedPhiDigits() [1/2]

void Analysis::Muon::set_numberOfAssociatedPhiDigits ( const std::vector< int > & associated_digits)

Set the LowPt - Associated Phi Digits.

Definition at line 860 of file Muon.cxx.

860 {
861 m_associatedPhiDigits = associated_digits;
862}

◆ set_numberOfAssociatedPhiDigits() [2/2]

void Analysis::Muon::set_numberOfAssociatedPhiDigits ( int nMDT,
int nCSC,
int nRPC,
int nTGC )

Set the LowPt - Associated Phi Digits.

Definition at line 848 of file Muon.cxx.

848 {
849 m_associatedPhiDigits.clear();
850 m_associatedPhiDigits.push_back(nMDT);
851 m_associatedPhiDigits.push_back(nCSC);
852 m_associatedPhiDigits.push_back(nRPC);
853 m_associatedPhiDigits.push_back(nTGC);
854}

◆ set_numberOfSegmentEtaDigits() [1/2]

void Analysis::Muon::set_numberOfSegmentEtaDigits ( const std::vector< int > & associated_digits)

Set Segment Eta Digits.

Definition at line 879 of file Muon.cxx.

879 {
880 m_associatedEtaDigits = associated_digits;
881}

◆ set_numberOfSegmentEtaDigits() [2/2]

void Analysis::Muon::set_numberOfSegmentEtaDigits ( int nMDT,
int nCSC,
int nRPC,
int nTGC )

Set Segment Eta Digits.

Definition at line 863 of file Muon.cxx.

863 {
864 m_associatedEtaDigits.clear();
865 m_associatedEtaDigits.push_back(nMDT);
866 m_associatedEtaDigits.push_back(nCSC);
867 m_associatedEtaDigits.push_back(nRPC);
868 m_associatedEtaDigits.push_back(nTGC);
869
870}

◆ set_numberOfSegmentPhiDigits() [1/2]

void Analysis::Muon::set_numberOfSegmentPhiDigits ( const std::vector< int > & associated_digits)

Set Segment Phi Digits.

Definition at line 883 of file Muon.cxx.

883 {
884 m_associatedPhiDigits = associated_digits;
885}

◆ set_numberOfSegmentPhiDigits() [2/2]

void Analysis::Muon::set_numberOfSegmentPhiDigits ( int nMDT,
int nCSC,
int nRPC,
int nTGC )

Set Segment Phi Digits.

Definition at line 871 of file Muon.cxx.

871 {
872 m_associatedPhiDigits.clear();
873 m_associatedPhiDigits.push_back(nMDT);
874 m_associatedPhiDigits.push_back(nCSC);
875 m_associatedPhiDigits.push_back(nRPC);
876 m_associatedPhiDigits.push_back(nTGC);
877}

◆ set_origin() [1/3]

◆ set_origin() [2/3]

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set_origin ( const VxContainer * theContainer,
const Trk::VxCandidate * vertex )
virtualinherited

◆ set_origin() [3/3]

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set_origin ( const VxContainer * theContainer,
int index )
virtualinherited

◆ set_outerMatchChi2()

void Analysis::Muon::set_outerMatchChi2 ( double x,
int ndof )

set the outer match chi2/ndof for combined and segment-tagged muons

Definition at line 497 of file Muon.cxx.

498{
499 if (ndof>0) {
502 m_transientOuterMatchChi2 = Trk::FitQuality(chi2,ndof);
503 } else {
506 }
507}
double chi2(TH1 *h0, TH1 *h1)
float ndof(const U &p)

◆ set_parameter()

void Analysis::Muon::set_parameter ( MuonParameters::ParamDef index,
double value,
bool overwrite = false )

set a parameter in the MuonParamDefs.h

Definition at line 888 of file Muon.cxx.

888 {
889
890 using muonParams = std::pair<MuonParameters::ParamDef, float>;
891
892 std::vector<muonParams>::iterator p = m_parameters.begin();
893
894 for (;p !=m_parameters.end(); ++p) {
895 if ( (*p).first == index ) break;
896 }
897
898 if ( p == m_parameters.end() ) {
899 m_parameters.emplace_back(index,(float)value );
900 }
901 else {
902 if ( overwrite ) {
903 (*p).second = (float)value;
904 }
905 //else {
906 // throw GaudiException("parameter not saved", "Muon::set_parameter(...)", true);
907 //int ind = static_cast<int>(index);
908 //std::cout << "parameter not overwritten - Muon::set_parameter(...) index = " << ind << std::endl;
909
910 //}
911 }
912}

◆ set_pdgId()

virtual void ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::set_pdgId ( int x)
virtualinherited

◆ set_scatteringCurvatureSignificance()

void Analysis::Muon::set_scatteringCurvatureSignificance ( const float significance)
inline

set scatteringAngleSignificance based on the curvature significance, from track fit in ID.

Definition at line 700 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ set_scatteringNeighbourSignificance()

void Analysis::Muon::set_scatteringNeighbourSignificance ( const float significance)
inline

set scatteringAngleSignificance based on hard scatterers over few near-by measurements, from track fit in inner detector

Definition at line 705 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ set_segmentChi2OverDoF()

void Analysis::Muon::set_segmentChi2OverDoF ( const float chi2)
inline

◆ set_segmentDeltaEta()

void Analysis::Muon::set_segmentDeltaEta ( const float deltaEta)
inline

◆ set_segmentDeltaPhi()

void Analysis::Muon::set_segmentDeltaPhi ( const float deltaPhi)
inline

Set Segment Delta Phi.

Definition at line 715 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

Scalar deltaPhi(const MatrixBase< Derived > &vec) const

◆ set_spectrometerFieldIntegral()

void Analysis::Muon::set_spectrometerFieldIntegral ( const float field)
inline

set field integral seen by the track in the muon spectrometer - defined only for standalone, combined and MuGirl(refit) muons

Definition at line 696 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

@ spectrometerFieldIntegral
Discriminators and further variables.

◆ set_statCombinedMuonTrackParticle()

void Analysis::Muon::set_statCombinedMuonTrackParticle ( const Rec::TrackParticleContainer * cont,
const Rec::TrackParticle * trackParticle )

set the combined muon track particle for statistical combination.

Set Statistically Combined Muon TrackParticle.

Does not change the Muon's 4-momentum.

Definition at line 830 of file Muon.cxx.

832{
834 if (cont && trackParticle) { // allow also to remove an EL
835 m_statCombinedMuonTrackParticle.toContainedElement(*cont, trackParticle);
836 }
837}

◆ set_statCombinedMuonTrackParticleContainer()

void Analysis::Muon::set_statCombinedMuonTrackParticleContainer ( const Rec::TrackParticleContainer * combinedMuonTPContainer)
inline

set the TrackParticle containers

Definition at line 671 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

671 {
672 m_statCombinedMuonTrackParticle.setStorableObject(*combinedMuonTPContainer);
673 }

◆ setAthenaBarCode()

Reimplemented from IAthenaBarCode.

◆ setCaloEnergyLink()

void Analysis::Muon::setCaloEnergyLink ( const ElementLink< MuonCaloEnergyContainer > & l)
inline

Definition at line 407 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

408 { m_caloEnergyLoss = l; }
l
Printing final latex table to .tex output file.

◆ setClusterLink()

void Analysis::Muon::setClusterLink ( const ElementLink< CaloClusterContainer > & l)
inline

◆ setCombinedTrackLink()

void Analysis::Muon::setCombinedTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l,
bool isValid )
inline

◆ setCotTh()

void Analysis::Muon::setCotTh ( const double theCotTh)
inline

set cot(theta) data member

Definition at line 737 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

738 { return this->momentumBase().setCotTh(theCotTh); }
virtual void setCotTh(const double theCotTh)
set cot(theta) data member

◆ setInDetTrackLink()

void Analysis::Muon::setInDetTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l)
inline

◆ setInnerExtrapTrackLink()

void Analysis::Muon::setInnerExtrapTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l)
inline

◆ setIPt()

void Analysis::Muon::setIPt ( const double theIPt)
inline

set inverse pT data member

Definition at line 733 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

734 { return this->momentumBase().setIPt(theIPt); }
virtual void setIPt(const double theIPt)
set inverse pT data member

◆ setM()

void Analysis::Muon::setM ( const double theM)
inline

set m data member

Definition at line 745 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

746 { return this->momentumBase().setM(theM); }
virtual void setM(const double theM)
set m data member

◆ setMuonExtrapTrackLink()

void Analysis::Muon::setMuonExtrapTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l,
bool isValid )
inline

◆ setMuonSegmentLink()

void Analysis::Muon::setMuonSegmentLink ( const ElementLinkVector< Trk::SegmentCollection > & l)
inline

◆ setMuonSpectrometerTrackLink()

void Analysis::Muon::setMuonSpectrometerTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l)
inline

◆ setPhi()

void Analysis::Muon::setPhi ( const double thePhi)
inline

set phi data member

Definition at line 741 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

742 { return this->momentumBase().setPhi(thePhi); }
virtual void setPhi(const double thePhi)
set phi data member

◆ setStatCombinedTrackLink()

void Analysis::Muon::setStatCombinedTrackLink ( const ElementLink< Rec::TrackParticleContainer > & l)
inline

◆ setVersion()

Reimplemented from IAthenaBarCode.

◆ sinPhi()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

◆ sinTh()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

◆ spectrometerFieldIntegral()

float Analysis::Muon::spectrometerFieldIntegral ( ) const
inline

field integral seen by the track in the muon spectrometer - defined only for standalone, combined and MuGirl(refit) muons

Definition at line 490 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ statCombinedMuonTrackParticle()

const Rec::TrackParticle * Analysis::Muon::statCombinedMuonTrackParticle ( ) const
inline

Access to the TrackParticles: statistical combination.

If no refitted muon exists and combined muon only found by Staco, should be identical to above

Definition at line 336 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

336 {
bool hasStatCombinedMuonTrackParticle() const
test if (in addition to the refitted combined muon) a stat.combined TrackParticle is available.

◆ statCombinedTrackLink()

const ElementLink< Rec::TrackParticleContainer > & Analysis::Muon::statCombinedTrackLink ( ) const
inline

Access to the smart pointer to the muon combined track.

Definition at line 387 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ t0()

float Analysis::Muon::t0 ( ) const
inline

Access to event phase for muons found by MuGirlLowBeta.

Definition at line 522 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

522{ return this->parameter(MuonParameters::t0); }
@ t0
MuGirl parameter.

◆ tanTh()

virtual double ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM, ParticleEvent::Base >::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

◆ track()

const Rec::TrackParticle * Analysis::Muon::track ( ) const

return the primary track of this muon

Definition at line 1135 of file Muon.cxx.

1135 {
1138 //else if (this->hasMuonExtrapolatedTrackParticle()) return (*m_muonExtrapolatedTrackParticle);
1139 else if (this->hasInDetTrackParticle()) return (*m_inDetTrackParticle);
1141 else return nullptr;
1142}

Member Data Documentation

◆ m_allAuthors

uint16_t Analysis::Muon::m_allAuthors
private

all authors - all the authors of this this Muon

Definition at line 809 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_associatedEtaDigits

std::vector<int> Analysis::Muon::m_associatedEtaDigits
private

Low Pt muon stuff.

Definition at line 773 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_associatedPhiDigits

std::vector<int> Analysis::Muon::m_associatedPhiDigits
private

◆ m_author

MuonParameters::Author Analysis::Muon::m_author
private

the author of this muon

Definition at line 759 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_bestMatch

bool Analysis::Muon::m_bestMatch
private

◆ m_caloEnergyLoss

ElementLink<MuonCaloEnergyContainer> Analysis::Muon::m_caloEnergyLoss
private

energy loss in calorimeter

Definition at line 799 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_caloMuonAlsoFoundByMuonReco

unsigned short Analysis::Muon::m_caloMuonAlsoFoundByMuonReco
private

flag the calo muon if it is also reconstruction by the standart muon algorithms

Definition at line 802 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_cluster

ElementLink<CaloClusterContainer> Analysis::Muon::m_cluster
private

◆ m_combinedMuonTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_combinedMuonTrackParticle
private

◆ m_hasCombinedMuonTrackParticle

bool Analysis::Muon::m_hasCombinedMuonTrackParticle
private

◆ m_hasMuonExtrapolatedTrackParticle

bool Analysis::Muon::m_hasMuonExtrapolatedTrackParticle
private

test for TrackParticles

Definition at line 762 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_inDetTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_inDetTrackParticle
private

end LowPt stuff

the associated TrackParticles

Definition at line 778 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_innerExtrapolatedTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_innerExtrapolatedTrackParticle
private

◆ m_isAlsoFoundByCaloMuonId

bool Analysis::Muon::m_isAlsoFoundByCaloMuonId
private

this muon is also found by the Calo Muon ID reconstruction algorithm

Definition at line 796 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_isAlsoFoundByLowPt

bool Analysis::Muon::m_isAlsoFoundByLowPt
private

this muon is also found by the lowPT reconstruction algorithm

Definition at line 793 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_isCorrected

bool Analysis::Muon::m_isCorrected
private

AOD to AOD correction.

Definition at line 805 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_isMuonBits

MuonQualityWord Analysis::Muon::m_isMuonBits
private

muon selection parameters

Definition at line 812 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_isMuonLikelihood

float Analysis::Muon::m_isMuonLikelihood
private

◆ m_matchChi2

float Analysis::Muon::m_matchChi2
private

◆ m_matchNumberDoF

int Analysis::Muon::m_matchNumberDoF
private

◆ m_mom

The 4-momentum part.

Definition at line 310 of file ParticleImpl.h.

◆ m_muonExtrapolatedTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_muonExtrapolatedTrackParticle
private

◆ m_muonSegments

ElementLinkVector<Trk::SegmentCollection> Analysis::Muon::m_muonSegments
private

◆ m_muonSpectrometerTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_muonSpectrometerTrackParticle
private

needed by MOORE

Definition at line 787 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_nav

The navigable part.

Definition at line 307 of file ParticleImpl.h.

◆ m_outerMatchNumberDoF

int Analysis::Muon::m_outerMatchNumberDoF
private

◆ m_parameters

std::vector<std::pair<MuonParameters::ParamDef, float> > Analysis::Muon::m_parameters
private

Parameters as defined in MuonParamDef.h.

Definition at line 790 of file Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h.

◆ m_part

The particle-id part.

Definition at line 313 of file ParticleImpl.h.

◆ m_statCombinedMuonTrackParticle

ElementLink<Rec::TrackParticleContainer> Analysis::Muon::m_statCombinedMuonTrackParticle
private

◆ m_transientOuterMatchChi2

Trk::FitQuality Analysis::Muon::m_transientOuterMatchChi2
private

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


The documentation for this class was generated from the following files: