|
ATLAS Offline Software
|
Go to the documentation of this file.
24 #include "CaloEvent/CaloCluster.h"
25 #include "GaudiKernel/GaudiException.h"
42 m_hasMuonExtrapolatedTrackParticle(false),
43 m_hasCombinedMuonTrackParticle(false),
46 m_outerMatchNumberDoF(0),
50 m_isAlsoFoundByLowPt(false),
51 m_isAlsoFoundByCaloMuonId(false),
52 m_caloMuonAlsoFoundByMuonReco(0),
56 m_isMuonLikelihood(0.0)
72 m_hasMuonExtrapolatedTrackParticle(false),
73 m_hasCombinedMuonTrackParticle(false),
76 m_outerMatchNumberDoF(0),
80 m_isAlsoFoundByLowPt(false),
81 m_isAlsoFoundByCaloMuonId(false),
82 m_caloMuonAlsoFoundByMuonReco(0),
86 m_isMuonLikelihood(0.0)
108 m_outerMatchNumberDoF(0),
111 m_isAlsoFoundByLowPt(false),
112 m_isAlsoFoundByCaloMuonId(false),
113 m_caloMuonAlsoFoundByMuonReco(0),
120 if(isExtrapolatedToVertex)
150 m_outerMatchNumberDoF(0),
153 m_isAlsoFoundByLowPt(false),
154 m_isAlsoFoundByCaloMuonId(false),
155 m_caloMuonAlsoFoundByMuonReco(0),
160 if(isExtrapolatedToVertex)
185 const std::vector<const Trk::Segment*>& muonSegments)
195 m_outerMatchNumberDoF(0),
198 m_isAlsoFoundByLowPt(false),
199 m_isAlsoFoundByCaloMuonId(false),
200 m_caloMuonAlsoFoundByMuonReco(0),
206 for (
unsigned int i=0;
i<muonSegments.size(); ++
i) this->
addSegment(segmentContainer, muonSegments[
i]);
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 )
271 if (
this != &rhs ) {
272 IAthenaBarCode::operator=(rhs);
273 INavigable::operator=(rhs);
274 I4Momentum::operator=(rhs);
275 INavigable4Momentum::operator=(rhs);
468 if( !indetParticle )
return false;
489 for (
const std::pair<MuonParameters::ParamDef, float>&
p :
m_parameters) {
516 eloss = caloEnergy->
deltaE();
519 return std::make_pair(eloss,
sigma);
746 const std::vector<const Trk::Segment*>& muonSegments)
749 for (
unsigned int i=0;
i<muonSegments.size(); ++
i) this->
addSegment(segmentContainer, muonSegments[
i]);
776 if (cont && trackParticle)
785 if (cont && trackParticle) {
802 if (cont && trackParticle) {
817 if (cont && trackParticle) {
834 if (cont && trackParticle) {
890 using muonParams = std::pair<MuonParameters::ParamDef, float>;
895 if ( (*p).first ==
index )
break;
921 bool checkFlag =
false;
938 if ( trackToken !=
nullptr ) {
949 if ( parTrackToken !=
nullptr ) {
967 if ( trackToken !=
nullptr ) {
978 if ( parTrackToken !=
nullptr ) {
997 if ( trackToken !=
nullptr ) {
1004 if ( ! checkFlag ) {
1008 if ( parTrackToken !=
nullptr ) {
1016 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack);
1029 const std::any& theWeight)
const
1031 bool checkFlag =
false;
1044 if ( trackToken !=
nullptr ) {
1051 if ( ! checkFlag ) {
1055 if ( parTrackToken !=
nullptr ) {
1057 std::any_cast<double>(theWeight));
1064 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1075 if ( trackToken !=
nullptr ) {
1082 if ( ! checkFlag ) {
1086 if ( parTrackToken !=
nullptr ) {
1088 std::any_cast<double>(theWeight));
1095 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1106 if ( trackToken !=
nullptr ) {
1113 if ( ! checkFlag ) {
1117 if ( parTrackToken !=
nullptr ) {
1119 std::any_cast<double>(theWeight));
1126 if ( aTrack !=
nullptr ) theToken.
trySetObject(aTrack, theWeight);
1141 else return nullptr;
JetConstituentVector::iterator iterator
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfRpcPhiHoles
number of RPC Phi measurements missing from the track
int numberOfTRTHits() const
Get number of TRT hits from ID trackparticle.
const Rec::TrackParticle * track() const
return the primary track of this muon
int numberOfOutliersOnTrack() const
number of outliers for track from primary author
Muon()
Default constructor.
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.
double charge() const
Return charge of the particle.
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
@ numberOfMdtHoles
number of MDT measurements missing from the track
@ legacy_numberOfPixelSharedHits
@ legacy_numberOfSCTSharedHits
@ numberOfTRTHighThresholdOutliers
number of dead TRT straws crossed
@ numberOfInnermostPixelLayerHits
these are the hits in the 1st pixel layer
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 ...
int m_outerMatchNumberDoF
int numberOfTRTHighThresholdOutliers() const
Get number of TRT Outliers High Threshold from ID trackparticle.
ElementLink< Rec::TrackParticleContainer > m_statCombinedMuonTrackParticle
void set_outerMatchChi2(double x, int ndof)
set the outer match chi2/ndof for combined and segment-tagged muons
ElementLink< MuonCaloEnergyContainer > m_caloEnergyLoss
energy loss in calorimeter
int numberOfPixelSharedHits() const
Get number of Pixel shared hits from ID trackparticle.
MuonParameters::Author m_author
the author of this muon
@ numberOfCscEtaHoles
number of CSC Eta measurements missing from the track
void set_numberOfSegmentPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Phi Digits.
@ numberOfTrackSummaryTypes
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
bool hasInnerExtrapolatedTrackParticle() const
test if associated TrackParticle from ID-seeded full track fit is available
double sigmaDeltaE() const
returns the symmatric error
void set_muonSpectrometerTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set Muon Spectrometer TrackParticle
ElementLink< Rec::TrackParticleContainer > m_inDetTrackParticle
end LowPt stuff
const Rec::TrackParticle * inDetTrackParticle() const
deprecated - instead use primary identification, muon quality or MuonCP group guidelines to adopt a g...
std::vector< int > m_associatedPhiDigits
@ numberOfOutliersOnTrack
100 times the standard deviation of the chi2 from the surfaces
ElementLinkVector implementation for standalone ROOT.
@ numberOfCscPhiHoles
number of CSC Phi measurements missing from the track
bool isSiliconAssociatedForwardMuon() const
Method for querying primary identification mechanism: a combined muon where a clean forward standalon...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
bool hasCombinedMuonTrackParticle() const
test if associated combined-muon TrackParticle is available
MuonQualityWord m_isMuonBits
muon selection parameters
@ numberOfSCTHoles
number of Holes in both sides of a SCT module
int numberOfMDTHoles() const
Get Muon Spectrometer MDT holes information for MS track or tagged segments.
virtual CLHEP::HepLorentzVector hlv() const =0
CLHEP HepLorentzVector.
bool isValid() const
Test to see if the link can be dereferenced.
ParticleImpl & operator=(const ParticleImpl &rhs)
Assignment operator.
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.
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.
unsigned short m_caloMuonAlsoFoundByMuonReco
flag the calo muon if it is also reconstruction by the standart muon algorithms
int numberOfRPCPhiHits() const
Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.
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.
virtual double p() const
mass momentum magnitude
int numberOfPixelHoles() const
Get number of Pixel holes from ID trackparticle.
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.
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.
bool patternRecoInfo(const TrackPatternRecoInfo &pattern) const
Access method for pattern recognition algorithm.
ElementLink< Rec::TrackParticleContainer > m_combinedMuonTrackParticle
virtual bool trySetObject(const INavigable *child)=0
void set_muonSegments(const Trk::SegmentCollection *, const std::vector< const Trk::Segment * > &)
set the combined muon track particle
ElementLinkVector< Trk::SegmentCollection > m_muonSegments
@ numberOfTRTOutliers
number of TRT holes
ElementLink< Rec::TrackParticleContainer > m_muonSpectrometerTrackParticle
needed by MOORE
std::pair< double, double > energyLoss() const
energy loss and its uncertainty in the calorimeter
@ numberOfSCTHits
number of SCT holes
void addSegment(const Trk::SegmentCollection *, const Trk::Segment *)
set the combined muon track particle
int numberOfTGCEtaHits() const
Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.
ElementLink< CaloClusterContainer > m_cluster
double chi2(TH1 *h0, TH1 *h1)
double deltaE() const
returns the
int numberOfRPCEtaHoles() const
Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.
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
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.
Data object for a StoreGate container holding a vector of CaloEnergy, the detailed energy loss descri...
bool m_hasMuonExtrapolatedTrackParticle
test for TrackParticles
void setObject(const_child_ptr data)
@ legacy_numberOfInnermostPixelLayerSharedHits
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.
int numberOfGangedPixels() const
number of Ganged Pixel for track from primary author
@ numberOfPixelHoles
number of pixels which have a ganged ambiguity.
int numberOfSCTHoles() const
Get number of Silicon SCT holes from ID trackparticle.
@ numberOfTgcPhiHoles
number of TGC Phi measurements missing from the track
ElementLink implementation for ROOT usage.
int numberOfCSCPhiHoles() const
Get Muon Spectrometer CSC Phi Holes information for MS track or tagged segments.
@ numberOfGangedPixels
number of Ganged Pixels flagged as fakes
ElementLink< Rec::TrackParticleContainer > m_innerExtrapolatedTrackParticle
bool setElement(ElementType element)
Set to point to an element.
int numberOfPixelHits() const
Get number of Pixel hits from ID trackparticle.
void set_combinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle.
@ numberOfTRTHits
number of TRT outliers
Ensure that the ATLAS eigen extensions are properly loaded.
The namespace of all packages in PhysicsAnalysis/JetTagging.
bool hasGlobalMuonTrackFit() const
flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGi...
virtual void set_charge(ChargeType x)
@ numberOfTgcEtaHoles
number of TGC Eta measurements missing from the track
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...
void reset()
Reset to default state.
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
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.
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
virtual void set4Mom(const I4Momentum &p4)
void set_numberOfAssociatedEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt stuff.
@ SiSpacePointsSeedMaker_ForwardTracks
Entries allowing to distinguish different seed makers.
virtual void fillToken(INavigationToken &thisToken) const
navigation method
bool m_isAlsoFoundByCaloMuonId
this muon is also found by the Calo Muon ID reconstruction algorithm
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.
bool m_hasCombinedMuonTrackParticle
SummaryType
enumerates the different types of information stored in Summary.
int get(const SummaryType &type) const
returns the summary information for the passed SummaryType.
void set_muonExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the muon spectrometer extrapolated track particle.
Trk::FitQuality m_transientOuterMatchChi2
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.
@ numberOfRpcEtaHoles
number of RPC Eta measurements missing from the track
@ numberOfMdtHits
number of mdt hits
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...
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
const TrackInfo & info() const
returns the info of the track.
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.