|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef MUONEVENT_MUON_H
8 #define MUONEVENT_MUON_H 1
16 #include "CLHEP/Vector/LorentzVector.h"
19 #include "CaloEvent/CaloClusterContainer.h"
24 #include "AthLinks/ElementLink.h"
25 #include "AthLinks/ElementLinkVector.h"
41 ::Analysis::MuonNavigation,
81 const std::vector<const Trk::Segment*>& muonSegments);
210 const std::vector< std::pair<MuonParameters::ParamDef,float> > &
parameter()
const {
return m_parameters; }
218 if (dof > 0)
return (this->
matchChi2()/dof);
244 if (dof > 0)
return (
fitChi2() / dof);
655 muonExtrapolatedTPContainer) {
661 innerExtrapolatedTPContainer) {
733 void setIPt(
const double theIPt )
790 std::vector<std::pair<MuonParameters::ParamDef, float> >
m_parameters;
819 #endif // MUONEVENT_MUON_H
MuonImpl_t::momentum_type momentum_type
void set(uint16_t qualityWord)
set the quality word - needed if default constructor is used
const Trk::Track * muonExtrapolatedTrkTrack() const
access to TrkTracks - muonExtrapolatedTrack
double fitChi2OverDoF() const
get the chi2 over number of DoF of the track fit
float midAngle() const
Access to some angles for muons found by MuGirl.
int numberOfTRTHits() const
Get number of TRT hits from ID trackparticle.
const Rec::TrackParticle * track() const
return the primary track of this muon
int fitNumberDoF() const
get the number of DoF of the track fit
int numberOfOutliersOnTrack() const
number of outliers for track from primary author
Muon()
Default constructor.
void set_momentumBalanceSignificance(const float significance)
set momentumBalanceSignificance for fitted or combined muons as discriminator against background muon...
const ElementLink< Rec::TrackParticleContainer > & combinedTrackLink() const
Access to the smart pointer to the muon combined track.
void set_segmentDeltaPhi(const float deltaPhi)
Set Segment Delta Phi.
int numberOfInnermostPixelLayerHits() const
Get Inner detector Hits information from ID trackparticle.
int numberOfCSCPhiHits() const
Get Muon Spectrometer CSC Phi Hits information for MS track or tagged segments.
float momentumBalanceSignificance() const
momentumBalanceSignificance defined for fitted or combined muons in order to identify decays in fligh...
uint16_t allAuthors() const
get all the authors of this Muon for example during overlap checking, the same Muon may have been rec...
void set_isCorrected(bool corrected)
is this Muon corrected in AOD-to-AOD correction or not?
void add_authors(const uint16_t authors)
other add_author method
virtual void setM(const double theM)
set m data member
const Rec::TrackParticle * statCombinedMuonTrackParticle() const
Access to the TrackParticles: statistical combination.
void set_isAlsoFoundByLowPt(const bool isAlsoSeenByLowPt)
set is also seen by low Pt reconstruction
void set_statCombinedMuonTrackParticleContainer(const Rec::TrackParticleContainer *combinedMuonTPContainer)
set the TrackParticle containers
const Rec::TrackParticle * innerExtrapolatedTrackParticle() const
Access to the TrackParticles.
std::vector< std::pair< MuonParameters::ParamDef, float > > m_parameters
Parameters as defined in MuonParamDef.h.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
int numberOfTRTOutliers() const
Get number of TRT Outliers from ID trackparticle.
bool m_isAlsoFoundByLowPt
this muon is also found by the lowPT reconstruction algorithm
class extending the basic Trk::EnergyLoss to describe the measured or parameterised muon energy loss ...
void setCaloEnergyLink(const ElementLink< MuonCaloEnergyContainer > &l)
const Trk::Track * inDetTrkTrack() const
access to TrkTracks - InDetTrack
int m_outerMatchNumberDoF
void set_bestMatch(bool best)
set the best match
bool hasCombinedMuon() const
deprecated - please use primary identification, muon quality or MuonCP group guidelines to adopt a gi...
int numberOfTRTHighThresholdOutliers() const
Get number of TRT Outliers High Threshold from ID trackparticle.
void set_scatteringCurvatureSignificance(const float significance)
set scatteringAngleSignificance based on the curvature significance, from track fit in ID.
float isMuonLikelihood() const
return the muon likelihood - not yet used
void setMuonSpectrometerTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
ElementLink< Rec::TrackParticleContainer > m_statCombinedMuonTrackParticle
void set_outerMatchChi2(double x, int ndof)
set the outer match chi2/ndof for combined and segment-tagged muons
virtual void setCotTh(const double theCotTh)
set cot(theta) data member
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
void set_energyLossContainer(const MuonCaloEnergyContainer *cont)
set the energy loss in the calorimeter
Storable container for CaloCluster.
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 ...
const std::vector< int > & segmentEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.
ElementLink< MuonCaloEnergyContainer > m_caloEnergyLoss
energy loss in calorimeter
virtual void setPhi(const double thePhi)
set phi data member
void set_combinedMuonTrackParticleContainer(const Rec::TrackParticleContainer *combinedMuonTPContainer)
set the TrackParticle containers
int numberOfPixelSharedHits() const
Get number of Pixel shared hits from ID trackparticle.
MuonParameters::Author m_author
the author of this muon
unsigned short caloMuonAlsoFoundByMuonReco() const
is this Calo Muon also reconstructed by one of the standard muon reconstruction algorithm?...
void set_numberOfSegmentPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Phi Digits.
ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM > MuonImpl_t
void setMuonExtrapTrackLink(const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
@ scatteringNeighbourSignificance
void setInDetTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
bool hasInnerExtrapolatedTrackParticle() const
test if associated TrackParticle from ID-seeded full track fit is available
Dummy type needed fro specialized implementation.
@ innAngle
common MuGirl and MuTag parameters
void set_muonSpectrometerTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set Muon Spectrometer TrackParticle
ElementLink< Rec::TrackParticleContainer > m_inDetTrackParticle
end LowPt stuff
const std::vector< int > & segmentPhiDigits() const
Access to the MS phi hits associated by segment-tagged muons.
const MuonQualityWord & isMuon() const
access to muon quality information the user must take care to delete the pointer the Muon does not ow...
void setPhi(const double thePhi)
set phi data member
const Rec::TrackParticle * inDetTrackParticle() const
deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a g...
bool isLoose() const
Accessor methods.
std::vector< int > m_associatedPhiDigits
float annBarrel() const
Access to some neural-network output for muons found by MuGirl.
const Trk::Segment * muonSegment(unsigned int i) const
Access to the muon segments.
const ElementLink< Rec::TrackParticleContainer > & statCombinedTrackLink() const
Access to the smart pointer to the muon combined track.
bool isSiliconAssociatedForwardMuon() const
Method for querying primary identification mechanism: a combined muon where a clean forward standalon...
void set_innAngle(const float innA)
Set innAngle.
This class provides conversion from CSC RDO data to CSC Digits.
void set_isMuonLikelihood(const float muonLikelihood)
bool hasCombinedMuonTrackParticle() const
test if associated combined-muon TrackParticle is available
void set_annEndCap(const float annE)
Set annEndCap.
const Trk::Track * innerExtrapolatedTrkTrack() const
access to TrkTracks - innerExtrapolatedTrack
MuonQualityWord m_isMuonBits
muon selection parameters
void set_isAlsoFoundByCaloMuonId(const bool isAlsoSeenByCaloMuonId)
set is also seen by calo muon Id reconstruction
int numberOfMDTHoles() const
Get Muon Spectrometer MDT holes information for MS track or tagged segments.
bool bestMatch() const
Is this combined Muon the best match? Given a combined track, this method returns true/false if this ...
void setInnerExtrapTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
void set_spectrometerFieldIntegral(const float field)
set field integral seen by the track in the muon spectrometer - defined only for standalone,...
const ElementLink< CaloClusterContainer > & clusterLink() const
float innAngle() const
Access to some angles for muons found by MuGirl.
bool isValid() const
Test to see if the link can be dereferenced.
float t0() const
Access to event phase for muons found by MuGirlLowBeta.
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...
int numberOfTRTHighThresholdHits() const
Get number of TRT High Threshold hits from ID trackparticle.
void set_matchNumberDoF(int x)
set the chi2 parameters - number of degrees of freedom
bool hasMuonExtrapolatedTrackParticle() const
test if associated MS TrackParticle (extrapolated to IP) is available
int numberOfCSCEtaHoles() const
Get Muon Spectrometer CSC Eta Holes information for MS track or tagged segments.
void set_inDetTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
Set the inner detector track particle.
void set_innerExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the extrapolated track particle from the inner detector.
@ momentumBalanceSignificance
float scatteringNeighbourSignificance() const
scatteringAngleSignificance based on hard scatterers over few near-by measurements,...
void set_muonExtrapolatedTrackParticleContainer(const Rec::TrackParticleContainer *muonExtrapolatedTPContainer)
set the TrackParticle containers
unsigned short m_caloMuonAlsoFoundByMuonReco
flag the calo muon if it is also reconstruction by the standart muon algorithms
const Rec::TrackParticle * muonSpectrometerTrackParticle() const
Access to the TrackParticles.
int numberOfRPCPhiHits() const
Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.
void set_matchChi2(float x)
set the chi2 parameters - matchChi2
const ElementLink< Rec::TrackParticleContainer > & muonExtrapTrackLink() const
Access to the smart pointer to the muon track extrapolated to the vertex.
int numberOfSCTSharedHits() const
Get number of Silicon SCT shared hits from ID trackparticle.
int numberOfRPCPhiHoles() const
Get Muon Spectrometer RPC Phi Holes information for MS track or tagged segments.
int numberOfPixelHoles() const
Get number of Pixel holes from ID trackparticle.
bool isLoose() const
test for muon being categorised as "loose"
float spectrometerFieldIntegral() const
field integral seen by the track in the muon spectrometer - defined only for standalone,...
const std::vector< std::pair< MuonParameters::ParamDef, float > > & parameter() const
vector of parameter pairs for this Muon - isolation energy in some cone for example
unsigned int numberOfSegments() const
Access to the number of muon segments.
std::vector< int > m_associatedEtaDigits
Low Pt muon stuff.
int numberOfSCTHits() const
Get number of Silicon SCT hits from ID trackparticle.
void setCotTh(const double theCotTh)
set cot(theta) data member
void setMuonSegmentLink(const ElementLinkVector< Trk::SegmentCollection > &l)
bool add_author(MuonParameters::Author author)
the add_author method returns a bool:
Author
do not change the order of these enums.
const Rec::TrackParticle * combinedMuonTrackParticle() const
Access to the TrackParticles.
const ElementLink< Rec::TrackParticleContainer > & innerExtrapTrackLink() const
Access to the smart pointer to the muon track extrapolated out from the vertex.
void set_author(MuonParameters::Author author)
set the primary Author : the primary author is the algorithm that first created this Muon
ElementLink< Rec::TrackParticleContainer > m_combinedMuonTrackParticle
void setCombinedTrackLink(const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
bool hasStatCombinedMuonTrackParticle() const
test if (in addition to the refitted combined muon) a stat.combined TrackParticle is available.
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
void set_segmentDeltaEta(const float deltaEta)
Set Segment Delta Eta.
void set_muonSegments(const Trk::SegmentCollection *, const std::vector< const Trk::Segment * > &)
set the combined muon track particle
ElementLinkVector< Trk::SegmentCollection > m_muonSegments
bool alsoFoundByLowPt() const
is this muon also reconstructed by the lowPt algorithm?
ElementLink< Rec::TrackParticleContainer > m_muonSpectrometerTrackParticle
needed by MOORE
const Trk::Track * combinedMuonTrkTrack() const
access to TrkTracks - CombinedTrack
int matchNumberDoF() const
get the number of DoF of the track match at perigee
std::pair< double, double > energyLoss() const
energy loss and its uncertainty in the calorimeter
float beta() const
Access to particle velocity fit parameter for muons found by MuGirlLowBeta.
void addSegment(const Trk::SegmentCollection *, const Trk::Segment *)
set the combined muon track particle
bool hasCluster() const
test for a valid pointer to a muon cluster
int numberOfTGCEtaHits() const
Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.
void set_annBarrel(const float annB)
Set annBarrel.
void set_clusterContainer(const CaloClusterContainer *clusterContainer)
set the Calorimeter information
ElementLink< CaloClusterContainer > m_cluster
@ segmentDeltaEta
MuTag parameters.
const FitQuality * fitQuality() const
accessor function for FitQuality.
double chi2(TH1 *h0, TH1 *h1)
int numberOfRPCEtaHoles() const
Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.
void setM(const double theM)
set m data member
void set_cluster(const CaloClusterContainer *cont, const CaloCluster *cluster)
set the Calorimeter information
bool isCorrected() const
is this Muon corrected or not in AOD-to-AOD correction
def best(iterable, priorities=[3, 2, 1, -1, 0])
Principal data class for CaloCell clusters.
int numberOfTGCEtaHoles() const
Get Muon Spectrometer TGC Eta Holes information for MS track or tagged segments.
int numberOfTrackSummaryTypes(unsigned int type=0) const
number of summaryTypes for track from primary author
float annEndCap() const
Access to some neural-network output for muons found by MuGirl.
ParamDef
Enum for parameter indexes.
bool isCaloMuonId() const
Method for querying primary identification mechanism: muon identified solely by calorimeter based ide...
const Rec::TrackParticle * muonExtrapolatedTrackParticle() const
Access to the TrackParticles.
int numberOfInnermostPixelLayerSharedHits() const
Get number of shared hits or holes from ID trackparticle.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
bool isTight() const
test for muon being categorised as "tight"
bool isMedium() const
test for muon being categorised as "medium"
void setClusterLink(const ElementLink< CaloClusterContainer > &l)
float segmentChi2OverDoF() const
Access to a match chi2/ndf from muon segment taggers.
Data object for a StoreGate container holding a vector of CaloEnergy, the detailed energy loss descri...
bool m_hasMuonExtrapolatedTrackParticle
test for TrackParticles
const ElementLink< Rec::TrackParticleContainer > & muonSpectrometerTrackLink() const
Access to the smart pointer to the muon spectrometer track.
const momentum_type & momentumBase() const
access to underlying base type (I4Momentum-like)
void copySegmentLinkVector(const ElementLinkVector< Trk::SegmentCollection > &segments)
function to copy muon segment element links into this muon
int numberOfTGCPhiHits() const
Get Muon Spectrometer TGC Phi Hits information for MS track or tagged segments.
void set_cluster(const CaloCluster *cluster)
set the Calorimeter information
const CaloCluster * cluster() const
access to the calorimeter info
int numberOfGangedPixels() const
number of Ganged Pixel for track from primary author
int numberOfSCTHoles() const
Get number of Silicon SCT holes from ID trackparticle.
ElementLink implementation for ROOT usage.
const CaloEnergy * caloEnergyLoss() const
energy loss in the calorimeter - access to the full object
int numberOfCSCPhiHoles() const
Get Muon Spectrometer CSC Phi Holes information for MS track or tagged segments.
ElementLink< Rec::TrackParticleContainer > m_innerExtrapolatedTrackParticle
ElementLinkVector implementation for standalone ROOT.
bool setElement(ElementType element)
Set to point to an element.
int numberOfPixelHits() const
Get number of Pixel hits from ID trackparticle.
@ scatteringCurvatureSignificance
void set_combinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle.
const ElementLink< MuonCaloEnergyContainer > & caloEnergyLink() const
Access to the smart pointer to the calorimeter energy loss objeect associated to the muon.
The namespace of all packages in PhysicsAnalysis/JetTagging.
float scatteringCurvatureSignificance() const
scatteringAngleSignificance based on the curvature significance, from track fit in ID (thus not avail...
bool hasGlobalMuonTrackFit() const
flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGi...
bool hasCombinedMuonTrackParticleFlag() const
bool setStorableObject(BaseConstReference data, bool replace=false, IProxyDict *sg=0)
Set link to point to a new container (storable).
bool isCombinedMuon() const
method for querying primary identification mechanism: muon identified by successfully combining a ful...
bool isSegmentTaggedMuon() const
Method for querying primary identification mechanism: muon identified by inner-detector seeded identi...
bool alsoFoundByCaloMuonId() const
is this muon also reconstructed by a CaloMuon ID algorithm?
const ElementLinkVector< Trk::SegmentCollection > & muonSegmentLink() const
Access to vector smart pointers (ElementLink) to muon segments.
void set_parameter(MuonParameters::ParamDef index, double value, bool overwrite=false)
set a parameter in the MuonParamDefs.h
float segmentDeltaPhi() const
Access to some Detla(phi) from muon segment taggers.
void set_scatteringNeighbourSignificance(const float significance)
set scatteringAngleSignificance based on hard scatterers over few near-by measurements,...
int numberOfMDTHits() const
Get Muon Spectrometer MDT Hits information for MS track or tagged segments.
void set_statCombinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle for statistical combination.
MuonImpl_t::particle_type particle_type
void set_inDetTrackParticleContainer(const Rec::TrackParticleContainer *inDetTPContainer)
set the TrackParticle containers
int numberOfCSCEtaHits() const
Get Muon Spectrometer CSC Eta Hits information for MS track or tagged segments.
int numberOfRPCEtaHits() const
Get Muon Spectrometer RPC Eta Hits information for MS track or tagged segments.
uint16_t m_allAuthors
all authors - all the authors of this this Muon
void set_energyLoss(const CaloEnergy *caloEnergy)
set the energy loss in the calorimeter
float segmentDeltaEta() const
Access to some Delta(eta) from muon segment taggers.
bool hasMuonExtrapolatedTrackParticleFlag() const
void set_numberOfAssociatedEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt stuff.
void setStatCombinedTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
virtual void fillToken(INavigationToken &thisToken) const
navigation method
bool m_isAlsoFoundByCaloMuonId
this muon is also found by the Calo Muon ID reconstruction algorithm
double matchChi2OverDoF() const
get the chi2 over number of DoF of the track match at perigee
const std::vector< int > & associatedPhiDigits() const
Access to the MS phi hits associated by segment-tagged muons.
int numberOfTGCPhiHoles() const
Get Muon Spectrometer TGC Phi Holes information for MS track or tagged segments.
void set_numberOfAssociatedPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt - Associated Phi Digits.
const ElementLink< Rec::TrackParticleContainer > & inDetTrackLink() const
Access to the smart pointer to inner detector track.
const Trk::Track * muonSpectrometerTrkTrack() const
access to TrkTracks - MuonSpectrometerTrack
double chiSquared() const
returns the of the overall track fit
bool m_hasCombinedMuonTrackParticle
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
void setIPt(const double theIPt)
set inverse pT data member
double matchChi2() const
get the chi2 of the MS-ID track match at the perigee
A bitted word defining different levels of muon identification qualities (in terms of purity and effi...
int outerMatchNumberDoF() const
void set_muonExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the muon spectrometer extrapolated track particle.
const Trk::FitQuality * outerMatchChi2() const
returns track matching at MS entrance for combined muons and match at first segment for tagged muons.
void set_isMuonBits(const uint16_t isMuonBits)
set muon quality parameters
Trk::FitQuality m_transientOuterMatchChi2
MuonImpl_t::navigable_type navigable_type
void set_segmentChi2OverDoF(const float chi2)
Set Segment Chi2 over degrees of freeedom.
void set_caloMuonAlsoFoundByMuonReco(const unsigned short isAlsoFoundByMuonReco)
set if this calo muon is also reconstructed by one of the standard muon recosntruction algorithms tha...
void set_midAngle(const float midA)
Set midAngle.
void set_numberOfSegmentEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Eta Digits.
const std::vector< int > & associatedEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.
@ spectrometerFieldIntegral
Discriminators and further variables.
double fitChi2() const
get the chi2 of the track fit
Muon & operator=(const Muon &rhs)
Assignment operator.
MuonParameters::Author author() const
return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muon...
NavigableTerminalNode MuonNavigation
void set_innerExtrapolatedTrackParticleContainer(const Rec::TrackParticleContainer *innerExtrapolatedTPContainer)
set the TrackParticle containers
ElementLink< Rec::TrackParticleContainer > m_muonExtrapolatedTrackParticle
bool isStandAloneMuon() const
method for querying primary identification mechanism: muon identified by spectrometer track (that is ...
bool hasInDetTrackParticle() const
test if associated indet TrackParticle is available
bool m_isCorrected
AOD to AOD correction.
virtual void setIPt(const double theIPt)
set inverse pT data member