#include <Muon_v1.h>
Public Member Functions | |
Muon_v1 () | |
Default constructor. | |
bool | isolationCaloCorrection (float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection type, const Iso::IsolationCorrectionParameter param) const |
Accessor for Isolation Calo correction. If 'information' is stored in this xAOD::Muon and is of the correct type, then the function fills 'value' and returns 'true', otherwise it returns 'false', and does not touch 'value'. | |
float | isolationCaloCorrection (const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection type, const Iso::IsolationCorrectionParameter param) const |
bool | setIsolationCaloCorrection (float value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection type, const Iso::IsolationCorrectionParameter param) |
set method for Isolation Calo Corrections. | |
bool | isolationTrackCorrection (float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection type) const |
Accessor for Isolation Track correction. | |
float | isolationTrackCorrection (const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection type) const |
bool | setIsolationTrackCorrection (float value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection type) |
Set method for Isolation Track Corrections. | |
bool | isolationCorrectionBitset (std::bitset< 32 > &value, const Iso::IsolationFlavour flavour) const |
Accessor for Isolation corection Bitset. | |
std::bitset< 32 > | isolationCorrectionBitset (const Iso::IsolationFlavour flavour) const |
bool | setIsolationCorrectionBitset (uint32_t value, const Iso::IsolationFlavour flavour) |
Set method for Isolation corection Bitset. | |
Author | |
Methods to query the author(s) of this Muon
| |
enum | Author { unknown = 0, MuidCo, STACO, MuTag, MuTagIMO, MuidSA, MuGirl, MuGirlLowBeta, CaloTag, CaloLikelihood, ExtrapolateMuonToIP, NumberOfMuonAuthors } |
Author | author () const |
Returns the primary author of this Muon. | |
bool | isAuthor (const Author author) const |
Returns 'true' if 'author' is the an author of this muon. | |
void | setAuthor (Author auth) |
set author | |
uint16_t | allAuthors () const |
void | setAllAuthors (uint16_t authors) |
void | addAllAuthor (const Author author) |
add author to all authors | |
Summary information | |
Return summary information about the muon, such as its MuonType, and the TrackSumary values of the primary TrackParticle.
| |
enum | MuonType { Combined, MuonStandAlone, SegmentTagged, CaloTagged, SiliconAssociatedForwardMuon } |
enum | ParamDef { spectrometerFieldIntegral = 0, scatteringCurvatureSignificance = 1, scatteringNeighbourSignificance = 2, momentumBalanceSignificance = 3, segmentDeltaEta = 4, segmentDeltaPhi = 5, segmentChi2OverDoF = 6, t0 = 7, beta = 8, annBarrel = 9, annEndCap = 10, innAngle = 11, midAngle = 12, msInnerMatchChi2 = 13, msInnerMatchDOF = 14, msOuterMatchChi2 = 15, msOuterMatchDOF = 16, meanDeltaADCCountsMDT = 17, CaloLRLikelihood = 18, CaloMuonIDTag = 19, FSR_CandidateEnergy = 20, EnergyLoss = 21, ParamEnergyLoss = 22, MeasEnergyLoss = 23, EnergyLossSigma = 24, ParamEnergyLossSigmaPlus = 25, ParamEnergyLossSigmaMinus = 26, MeasEnergyLossSigma = 27, d0_sa = 28, z0_sa = 29, phi0_sa = 30, theta_sa = 31, qOverP_sa = 32, Eloss_sa = 33 } |
Enum for parameter indexes. More... | |
enum | Quality { Tight, Medium, Loose, VeryLoose } |
MuonType | muonType () const |
Generic accessor to type information. | |
void | setMuonType (MuonType type) |
bool | summaryValue (uint8_t &value, const SummaryType information) const |
void | setSummaryValue (uint8_t value, const SummaryType information) |
Set method for storing TrackSummary SummaryType information on the Muon (see Aux to see which is already defined as static). | |
bool | summaryValue (float &value, const SummaryType information) const |
bool | summaryValue (uint8_t &value, const MuonSummaryType information) const |
Accessor for MuonSummaryType. | |
void | setSummaryValue (uint8_t value, const MuonSummaryType information) |
Set method for MuonSummaryType. | |
float | floatSummaryValue (const SummaryType information) const |
uint8_t | uint8SummaryValue (const SummaryType information) const |
float | uint8MuonSummaryValue (const MuonSummaryType information) const |
bool | parameter (float &value, const ParamDef parameter) const |
void | setParameter (float value, const ParamDef parameter) |
Set method for parameter values. | |
float | floatParameter (const ParamDef parameter) const |
bool | parameter (int &value, const ParamDef parameter) const |
Get an integer parameter for this Muon - msInnerMatchDOF for example. | |
void | setParameter (int value, const ParamDef parameter) |
Set method for parameter values. | |
int | intParameter (const ParamDef parameter) const |
Quality | quality () const |
Low purity. | |
void | setQuality (Quality) |
bool | passesIDCuts () const |
void | setPassesIDCuts (bool) |
Set whether passes the MCP ID hit cuts. | |
bool | passesHighPtCuts () const |
void | setPassesHighPtCuts (bool) |
Set whether passes the MCP ID hit cuts. | |
Links | |
Returns an ElementLink to the primary TrackParticle corresponding to the MuonType of this muon. This is determined in the following order: 1. CombinedTrackParticle 2. InnerDetectorTrackParticle 3. (Extrapolated)MuonSpectrometerTrackParticle This method can throw a std::runtime_error exception if either the 'muontype' is unknown, or if the type is MuonStandAlone, but there is no available extrapolatedMuonSpectrometerTrackParticleLink or muonSpectrometerTrackParticleLink to return. With the following methods you can retrieve links to the objects used to identify this muon - depending on how the muon was built the link may or may not be valid (i.e. a muon built from a standalone MS track won't have an ID TrackParticle associated to it).
Add some code here, showing how to properly use the element links
| |
enum | TrackParticleType { Primary, InnerDetectorTrackParticle, MuonSpectrometerTrackParticle, CombinedTrackParticle, ExtrapolatedMuonSpectrometerTrackParticle } |
enum | EnergyLossType { Parametrized = 0, NotIsolated = 1, MOP = 2, Tail = 3, FSRcandidate = 4 } |
Defines how the energy loss was handled for this muon. More... | |
const ElementLink < TrackParticleContainer > & | primaryTrackParticleLink () const |
const TrackParticle * | primaryTrackParticle () const |
Returns a pointer (which should not usually be NULL, but might be if the muon has been stripped of information) to the primary TrackParticle corresponding to the MuonType of this muon. This is determined in the following order: 1. CombinedTrackParticle 2. InnerDetectorTrackParticle 3. (Extrapolated)MuonSpectrometerTrackParticle. | |
const ElementLink < TrackParticleContainer > & | inDetTrackParticleLink () const |
Returns an ElementLink to the InnerDetector TrackParticle used in identification of this muon. | |
const ElementLink < TrackParticleContainer > & | muonSpectrometerTrackParticleLink () const |
Returns an ElementLink to the InnerDetector TrackParticle used in identification of this muon. | |
const ElementLink < TrackParticleContainer > & | combinedTrackParticleLink () const |
Returns an ElementLink to the InnerDetector TrackParticle used in identification of this muon. | |
const ElementLink < TrackParticleContainer > & | extrapolatedMuonSpectrometerTrackParticleLink () const |
Returns an ElementLink to the Extrapolated Muon Spectrometer TrackParticle used in identification of this muon. | |
const ElementLink < TrackParticleContainer > & | trackParticleLink (TrackParticleType type) const |
Returns an ElementLink to the TrackParticle used in identification of this muon. | |
void | setTrackParticleLink (TrackParticleType type, const ElementLink< TrackParticleContainer > &link) |
Set method for TrackParticle links. | |
const TrackParticle * | trackParticle (TrackParticleType type) const |
Returns a pointer (which can be NULL) to the TrackParticle used in identification of this muon. | |
const ElementLink < CaloClusterContainer > & | clusterLink () const |
Returns an ElementLinkto the cluster associated to this muon. | |
void | setClusterLink (const ElementLink< CaloClusterContainer > &link) |
Set method for cluster links. | |
const CaloCluster * | cluster () const |
Retrieve the associated cluster with a bare pointer. | |
EnergyLossType | energyLossType (void) const |
void | setEnergyLossType (EnergyLossType type) |
Set method for the type. | |
const std::vector< ElementLink < MuonSegmentContainer > > & | muonSegmentLinks () const |
Returns a vector of ElementLinks to the MuonSegments used to create this Muon. | |
void | setMuonSegmentLinks (const std::vector< ElementLink< MuonSegmentContainer > > &segments) |
Set the vector of ElementLinks to the MuonSegments used to create this Muon. | |
size_t | nMuonSegments () const |
Number of MuonSegments linked to by this Muon. | |
const MuonSegment * | muonSegment (size_t i) const |
Returns a pointer to the specified MuonSegment. | |
const ElementLink < MuonSegmentContainer > & | muonSegmentLink (size_t i) const |
Returns a link to the specified MuonSegment. | |
IParticle functions | |
The transverse momentum () of the particle. | |
typedef IParticle::FourMom_t | FourMom_t |
Definition of the 4-momentum type. | |
virtual double | pt () const |
The transverse momentum () of the particle. | |
virtual double | eta () const |
The pseudorapidity () of the particle. | |
virtual double | phi () const |
The azimuthal angle () of the particle. | |
virtual double | m () const |
The invariant mass of the particle.. | |
virtual double | e () const |
The total energy of the particle. | |
virtual double | rapidity () const |
The true rapidity (y) of the particle. | |
void | setP4 (double pt, double eta, double phi) |
Set method for IParticle values. | |
virtual const FourMom_t & | p4 () const |
The full 4-momentum of the particle. | |
virtual Type::ObjectType | type () const |
The type of the object as a simple enumeration. | |
Charge | |
| |
float | charge () const |
void | setCharge (float charge) |
Set the charge (*must* be the same as primaryTrackParticle() ). | |
Isolation information. | |
| |
bool | isolation (float &value, const Iso::IsolationType information) const |
Accessor for Isolation values. If 'information' is stored in this xAOD::Muon and is of the correct type, then the function fills 'value' and returns 'true', otherwise it returns 'false', and does not touch 'value'. | |
float | isolation (const Iso::IsolationType information) const |
void | setIsolation (float value, const Iso::IsolationType information) |
Set method for Isolation values. |
Class describing a Muon.
Defines how the energy loss was handled for this muon.
Enum for parameter indexes.
spectrometerFieldIntegral |
Discriminators and further variables |
segmentDeltaEta |
MuTag parameters |
t0 |
MuGirl parameter |
innAngle |
common MuGirl and MuTag parameters |
msInnerMatchChi2 |
The chi^2 for the match of Inner detector (ID) and standalone (SA) tracks at the entrance to the spectrometer (MS). |
msInnerMatchDOF |
The 'degrees of freedom' (DOF) for the match of Inner detector (ID) and standalone (SA) tracks at the entrance to the spectrometer (MS). |
msOuterMatchChi2 |
The chi^2 for the match of Inner detector (ID) and standalone (SA) tracks at the exit of the spectrometer (MS). |
msOuterMatchDOF |
The 'degrees of freedom' (DOF) for the match of Inner detector (ID) and standalone (SA) tracks at the exit of the spectrometer (MS). |
meanDeltaADCCountsMDT |
Difference between mean number of ADC count for given track and mean number of ADC for all muons from DATA. |
CaloLRLikelihood |
Calo Muon ID likelihood. CaloMuon variables (EnergyLossType is stored separately and retrieved using energyLossType() |
CaloMuonIDTag |
Calo Muon Identification tag. |
FSR_CandidateEnergy |
FSR candidate energy [MeV]. |
EnergyLoss |
Fitted energy loss (either param or meas depending on track isolation and calo meas) [Mev]. |
ParamEnergyLoss |
Parametrised energy loss [Mev]. |
MeasEnergyLoss |
Measured energy loss [Mev]. |
EnergyLossSigma |
Sigma of Measured or parametrised energy loss used in the track fit [Mev]. |
ParamEnergyLossSigmaPlus |
Sigma plus of Parametrised energy loss [Mev]. |
ParamEnergyLossSigmaMinus |
Sigma minus of Parametrised energy loss [Mev]. |
MeasEnergyLossSigma |
Sigma of Measured energy loss [Mev]. |
The Muon Quality information is defined on the MCP twiki: https://twiki.cern.ch/twiki/bin/view/Atlas/MuonSelectionTool#Quality_definition
uint16_t xAOD::Muon_v1::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. This method returns a 16bit number, where each bit represents a muon algorithm, defined as follows (the lowest bit is indicates that something has gone wrong): unknown | MuidCo | STACO | MuTag | MuTagIMO | MuidSA | MuGirl | MuGirlLowBeta | CaloTag | CaloLikelihood | ExtrapolateMuonToIP | MuonCombinedRefit | ExtrapolateMuonToIP
const ElementLink<CaloClusterContainer>& xAOD::Muon_v1::clusterLink | ( | ) | const |
Returns an ElementLinkto the cluster associated to this muon.
EnergyLossType xAOD::Muon_v1::energyLossType | ( | void | ) | const |
float xAOD::Muon_v1::floatParameter | ( | const ParamDef | parameter | ) | const |
Same as bool parameter(float& value, const ParamDef ¶meter) const, but without check (will throw exception if value isn't there). Primarily for use in Python.
float xAOD::Muon_v1::floatSummaryValue | ( | const SummaryType | information | ) | const |
Same as bool summaryValue(float& value, const SummaryType &information) const , but without check (will throw exception if value isn't there) Primarily for use in Python.
int xAOD::Muon_v1::intParameter | ( | const ParamDef | parameter | ) | const |
Same as bool parameter(float& value, const ParamDef ¶meter) const, but without check (will throw exception if value isn't there). Primarily for use in Python.
float xAOD::Muon_v1::isolation | ( | const Iso::IsolationType | information | ) | const |
Accessor to Isolation values , this just returns the value without internaly checking if it exists. Will lead to an exception if the information is not available
float xAOD::Muon_v1::isolationCaloCorrection | ( | const Iso::IsolationFlavour | flavour, | |
const Iso::IsolationCaloCorrection | type, | |||
const Iso::IsolationCorrectionParameter | param | |||
) | const |
Accessor to Isolation Calo corrections , this just returns the correction without internaly checking if it exists. Will lead to an exception if the information is not available
std::bitset< 32 > xAOD::Muon_v1::isolationCorrectionBitset | ( | const Iso::IsolationFlavour | flavour | ) | const |
Accessor to Isolation corection Bitset , this just returns the bitset without internaly checking if it exists. Will lead to an exception if the information is not available
float xAOD::Muon_v1::isolationTrackCorrection | ( | const Iso::IsolationFlavour | flavour, | |
const Iso::IsolationTrackCorrection | type | |||
) | const |
Accessor to Isolation Track corrections , this just returns the correction without internaly checking if it exists. Will lead to an exception if the information is not available
const MuonSegment * xAOD::Muon_v1::muonSegment | ( | size_t | i | ) | const |
Returns a pointer to the specified MuonSegment.
i | Index of the MuonSegment requested. If i is not in range (0<i<nMuonSegments()) an exception will be thrown. |
const ElementLink< MuonSegmentContainer > & xAOD::Muon_v1::muonSegmentLink | ( | size_t | i | ) | const |
Returns a link to the specified MuonSegment.
i | Index of the MuonSegment requested. If i is not in range (0<i<nMuonSegments()) an exception will be thrown. |
const std::vector< ElementLink< MuonSegmentContainer > >& xAOD::Muon_v1::muonSegmentLinks | ( | ) | const |
Returns a vector of ElementLinks to the MuonSegments used to create this Muon.
bool xAOD::Muon_v1::parameter | ( | float & | value, | |
const ParamDef | parameter | |||
) | const |
Get a parameter for this Muon - momentumBalanceSignificance for example
bool xAOD::Muon_v1::passesHighPtCuts | ( | ) | const |
Returns true if this Muon passes the MCP high pT cuts (see the MCP twiki for definitions: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/MuonPerformance)
bool xAOD::Muon_v1::passesIDCuts | ( | ) | const |
Returns true if this Muon passes the MCP ID hit cuts (see the MCP twiki for definitions: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/MuonPerformance)
void xAOD::Muon_v1::setMuonType | ( | MuonType | type | ) |
void xAOD::Muon_v1::setSummaryValue | ( | uint8_t | value, | |
const SummaryType | information | |||
) |
Set method for storing TrackSummary SummaryType information on the Muon (see Aux to see which is already defined as static).
FIXME!
bool xAOD::Muon_v1::summaryValue | ( | float & | value, | |
const SummaryType | information | |||
) | const |
bool xAOD::Muon_v1::summaryValue | ( | uint8_t & | value, | |
const SummaryType | information | |||
) | const |
Accessor for TrackSummary values (in most cases, retrieved from the 'primary' TrackParticle - though it could be stored on the Muon, depending on the job configuration) If 'information' is stored in the primary TrackParticle/Muon and is of the correct templated type T, then the function fills 'value' and returns 'true', otherwise it returns 'false', and does not touch 'value'. See below for an example of how this is intended to be used.
uint8_t numberOfBLayerHits=0; if( myParticle.summaryValue<uint8_t>(numberOfBLayerHits,numberOfBLayerHits) ){ ATH_MSG_INFO("Successfully retrieved the integer value, numberOfBLayerHits"); } float numberOfCscPhiHits=0.0; //Wrong! This is actually an int too. if( !myParticle.summaryValue<float>(numberOfCscPhiHits,numberOfCscPhiHits) ){ ATH_MSG_INFO("Types must match!"); }
[in] | information | The information being requested. This is not guaranteed to be stored in all Muons (or primary TrackParticle). |
[out] | value | Only filled if this Muon (or its primary TrackParticle) contains 'information', and the types match. |
float xAOD::Muon_v1::uint8MuonSummaryValue | ( | const MuonSummaryType | information | ) | const |
Same as bool summaryValue(uint8_t& value, const MuonSummaryType &information) const, but without check (will throw exception if value isn't there) Primarily for use in Python.
uint8_t xAOD::Muon_v1::uint8SummaryValue | ( | const SummaryType | information | ) | const |
Same as bool summaryValue(uint8_t& value, const SummaryType &information) const, but without check (will throw exception if value isn't there) Primarily for use in Python.