ATLAS Offline Software
Loading...
Searching...
No Matches
Reconstruction/MuonIdentification/muonEvent/muonEvent/Muon.h
Go to the documentation of this file.
1// dear emacs, this is -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef MUONEVENT_MUON_H
8#define MUONEVENT_MUON_H 1
9/*****************************************************************************
10Name : Muon.h - Adapted from the previous CombinedMuon.h
11Package : offline/Reconstruction/MuonIdentification/muonEvent
12Author : Ketevi A. Assamagan
13*****************************************************************************/
14
16#include "CLHEP/Vector/LorentzVector.h"
18
19#include "CaloEvent/CaloClusterContainer.h"
24#include "AthLinks/ElementLink.h"
25#include "AthLinks/ElementLinkVector.h"
26
28
29#include <inttypes.h>
30
31namespace Analysis {
33
39
40class Muon : public ParticleImpl<
41 ::Analysis::MuonNavigation,
42 ::P4ImplIPtCotThPhiM
43 >
44{
45
47 // Public typedefs:
49 public:
50
51 // for readability and lazy people
58
59 public:
60
62 Muon( );
63
66
72 const Rec::TrackParticle* inDetTP, const Rec::TrackParticle* extrapTP,
73 const Rec::TrackParticle* combTP, const bool isExtrapolatedToVertex=true);
74
75
80 const Trk::SegmentCollection* segmentContainer,
81 const std::vector<const Trk::Segment*>& muonSegments);
82
89 const Rec::TrackParticle* extrapTP, const bool isExtrapolatedToVertex=false);
90
92 Muon( const Muon& rhs );
93
95 Muon& operator=( const Muon& rhs );
96
99
101 virtual void fillToken( INavigationToken & thisToken ) const;
103 virtual void fillToken( INavigationToken & thisToken, const std::any& ) const;
104
108
118 uint16_t allAuthors() const { return m_allAuthors; }
119
122 bool isAuthor ( const unsigned int author ) const;
123
126 bool isAuthor ( const MuonParameters::Author author ) const;
127
130
138 void set_allAuthors ( const uint16_t allAuthors ) { m_allAuthors = allAuthors; }
139
144
146 void add_authors ( const uint16_t authors ) { m_allAuthors |= authors; }
147
150 bool isCombinedMuon() const;
151
154 bool isStandAloneMuon() const;
155
158 bool isSegmentTaggedMuon() const;
159
162 bool isCaloMuonId() const;
163
168
170 bool alsoFoundByLowPt () const { return m_isAlsoFoundByLowPt; }
171
174
183
185 void set_isAlsoFoundByLowPt(const bool isAlsoSeenByLowPt) {
186 (isAlsoSeenByLowPt) ? m_isAlsoFoundByLowPt=true : m_isAlsoFoundByLowPt=false;
187 }
188
190 void set_isAlsoFoundByCaloMuonId(const bool isAlsoSeenByCaloMuonId) {
191 (isAlsoSeenByCaloMuonId) ? m_isAlsoFoundByCaloMuonId=true : m_isAlsoFoundByCaloMuonId=false; }
192
200 void set_caloMuonAlsoFoundByMuonReco(const unsigned short isAlsoFoundByMuonReco) {
201 m_caloMuonAlsoFoundByMuonReco=isAlsoFoundByMuonReco;
202 }
203
205 const Rec::TrackParticle * track() const;
206
208 double parameter( MuonParameters::ParamDef x) const;
210 const std::vector< std::pair<MuonParameters::ParamDef,float> > & parameter() const { return m_parameters; }
211
213 double matchChi2() const {return m_matchChi2;}
214
216 double matchChi2OverDoF() const {
217 int dof = this->matchNumberDoF();
218 if (dof > 0) return (this->matchChi2()/dof);
219 else return 0;
220 }
221
223 int matchNumberDoF() const {return m_matchNumberDoF;}
224
226
228 double fitChi2() const {
229 const Rec::TrackParticle * theTrack = track();
230 if ( theTrack ) return theTrack->fitQuality()->chiSquared();
231 else return -1.0;
232 }
233
235 int fitNumberDoF() const {
236 const Rec::TrackParticle * theTrack = track();
237 if ( theTrack ) return theTrack->fitQuality()->numberDoF();
238 else return 0;
239 }
240
242 double fitChi2OverDoF() const {
243 int dof = this->fitNumberDoF();
244 if (dof > 0) return (fitChi2() / dof);
245 else return 0.0;
246 }
247
252 else return NULL;
253 }
254
256 std::pair<double,double> energyLoss() const;
257
259 const CaloEnergy* caloEnergyLoss() const { return (m_caloEnergyLoss.isValid() ? *m_caloEnergyLoss : 0); }
260
267 bool bestMatch () const { return m_bestMatch; }
268
270 bool isCorrected () const { return m_isCorrected; }
271
274// bool isLowPtReconstructedMuon() const {
275// bool accept = false;
277// if ( m_hasInDetTrackParticle && !this->hasInDetTrackParticle() )
278// accept = this->isLowPt() && !this->bestMatch();
279// /** this is the case of the AOD */
280// else
281// accept = this->isLowPt() && this->hasInDetTrackParticle() && !this->bestMatch();
282// return accept;
283// }
284
288 bool hasInDetTrackParticle() const {return m_inDetTrackParticle.isValid();}
298
300 bool hasCluster() const { return m_cluster.isValid();}
301
304 bool hasGlobalMuonTrackFit() const;
305
308// bool isHighPt() const;
309
312 // bool isLowPt() const;
313
316 return ( (this->hasInDetTrackParticle()) ? *m_inDetTrackParticle : 0); }
317
321
325
329
333
338
341
344
346 const ElementLink<Trk::SegmentCollection> muonSegmentLink(const unsigned int i, bool& validLink) const;
347
350
353
356
363
366
369
372
375
382
385
388
391
394
397
398 /*8 Access to the smart pointer to the calo cluster associated to the muon */
400
403
406
409
411 const CaloCluster* cluster() const { return ((this->hasCluster()) ? *m_cluster : 0); }
412
416 int numberOfPixelHits() const;
418 int numberOfSCTHits() const;
420 int numberOfTRTHits() const;
426 int numberOfPixelSharedHits() const;
428 int numberOfPixelHoles() const;
430 int numberOfSCTSharedHits() const;
432 int numberOfSCTHoles() const;
434 int numberOfTRTOutliers() const;
437
439 int numberOfMDTHits() const;
441 int numberOfMDTHoles() const;
443 int numberOfCSCEtaHits() const;
445 int numberOfCSCEtaHoles() const;
447 int numberOfCSCPhiHits() const;
449 int numberOfCSCPhiHoles() const;
451 int numberOfRPCEtaHits() const;
453 int numberOfRPCEtaHoles() const;
455 int numberOfRPCPhiHits() const;
457 int numberOfRPCPhiHoles() const;
459 int numberOfTGCEtaHits() const;
461 int numberOfTGCEtaHoles() const;
463 int numberOfTGCPhiHits() const;
465 int numberOfTGCPhiHoles() const;
466
468 int numberOfGangedPixels() const;
470 int numberOfOutliersOnTrack() const;
472 int numberOfTrackSummaryTypes(unsigned int type=0) const;
473
474 // get d0 and z0 with respect to primary vertex
475 // KC: These methods were taking out of the TrackParticle
476 // const double z0wrtPrimVtx() const;
477 // const double d0wrtPrimVtx() const;
478
480 const std::vector<int>& associatedEtaDigits() const { return m_associatedEtaDigits; }
482 const std::vector<int>& associatedPhiDigits() const { return m_associatedPhiDigits; }
484 const std::vector<int>& segmentEtaDigits() const { return m_associatedEtaDigits; }
486 const std::vector<int>& segmentPhiDigits() const { return m_associatedPhiDigits; }
487
492
497
502
506
514 float annBarrel () const { return this->parameter(MuonParameters::annBarrel); }
516 float annEndCap () const { return this->parameter(MuonParameters::annEndCap); }
518 float innAngle () const { return this->parameter(MuonParameters::innAngle); }
520 float midAngle () const { return this->parameter(MuonParameters::midAngle); }
522 float t0() const { return this->parameter(MuonParameters::t0); }
524 float beta() const { return this->parameter(MuonParameters::beta); }
525
527 const Trk::Segment * muonSegment(unsigned int i) const {
528 if ( m_muonSegments.size() <= i ) return 0;
529 else if ( m_muonSegments[i].isValid() ) return *(m_muonSegments[i]);
530 else return 0; }
531
533 unsigned int numberOfSegments() const { return m_muonSegments.size(); }
534
536 const Trk::Track* inDetTrkTrack() const {
537 return ((this->hasInDetTrackParticle()) ? (*m_inDetTrackParticle)->originalTrack() : 0); }
538
540 return ((m_muonSpectrometerTrackParticle.isValid()) ? (*m_muonSpectrometerTrackParticle)->originalTrack() : 0); }
541
543 return ((this->hasMuonExtrapolatedTrackParticle()) ? (*m_muonExtrapolatedTrackParticle)->originalTrack() : 0); }
544
546 return ((this->hasInnerExtrapolatedTrackParticle()) ? (*m_innerExtrapolatedTrackParticle)->originalTrack() : 0); }
547
549 return ((this->hasCombinedMuonTrackParticle()) ? (*m_combinedMuonTrackParticle)->originalTrack() : 0); }
550
554 const MuonQualityWord & isMuon () const {
555 return m_isMuonBits;
556 }
557
559 bool isLoose () const {
560 return m_isMuonBits.isLoose();
561 }
562
564 bool isMedium () const {
565 return m_isMuonBits.isMedium();
566 }
567
569 bool isTight () const {
570 return m_isMuonBits.isTight();
571 }
572
574 float isMuonLikelihood() const { return m_isMuonLikelihood; }
575
576 // set methods
577
579 void set_parameter(MuonParameters::ParamDef index, double value, bool overwrite=false);
580
582 void set_energyLoss ( const CaloEnergy* caloEnergy ) { m_caloEnergyLoss.setElement(caloEnergy); }
584 void set_energyLossContainer ( const MuonCaloEnergyContainer* cont ) { m_caloEnergyLoss.setStorableObject(*cont); }
586 void set_energyLoss ( const MuonCaloEnergyContainer* cont, const CaloEnergy* caloEnergy );
587
589 void set_matchChi2(float x) {m_matchChi2 = x;}
593 void set_outerMatchChi2(double x, int ndof);
594
596 void set_bestMatch( bool best) { m_bestMatch = best; }
597
599 void set_isCorrected ( bool corrected ) { m_isCorrected=corrected; }
600
603 m_cluster.toContainedElement( *cont, cluster);
604 }
605
607 m_cluster.setElement(cluster);
608 }
609
613
614 void set_clusterContainer(const CaloClusterContainer * clusterContainer) {
615 m_cluster.setStorableObject(*clusterContainer);
616 }
617
622
625
630
635
642 const Rec::TrackParticle* );
643
645 void set_muonSegments(const Trk::SegmentCollection*, const std::vector<const Trk::Segment*>& );
647 void addSegment ( const Trk::SegmentCollection*, const Trk::Segment* );
648
651 m_inDetTrackParticle.setStorableObject(*inDetTPContainer);
652 }
653
655 muonExtrapolatedTPContainer) {
656 m_muonExtrapolatedTrackParticle.setStorableObject(*muonExtrapolatedTPContainer);
658 }
659
661 innerExtrapolatedTPContainer) {
662 m_innerExtrapolatedTrackParticle.setStorableObject(*innerExtrapolatedTPContainer);
663 }
664
666 m_combinedMuonTrackParticle.setStorableObject(*combinedMuonTPContainer);
668 }
669
672 m_statCombinedMuonTrackParticle.setStorableObject(*combinedMuonTPContainer);
673 }
674
677 void set_numberOfAssociatedEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC);
679 void set_numberOfAssociatedPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC);
681 void set_numberOfAssociatedEtaDigits(const std::vector<int>& associated_digits);
683 void set_numberOfAssociatedPhiDigits(const std::vector<int>& associated_digits);
684
686 void set_numberOfSegmentEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC);
688 void set_numberOfSegmentPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC);
690 void set_numberOfSegmentEtaDigits(const std::vector<int>& associated_digits);
692 void set_numberOfSegmentPhiDigits(const std::vector<int>& associated_digits);
693
698
702
707
709 void set_momentumBalanceSignificance(const float significance)
711
713 void set_segmentDeltaEta (const float deltaEta) { this->set_parameter(MuonParameters::segmentDeltaEta,deltaEta); }
718
720 void set_annBarrel (const float annB) { this->set_parameter(MuonParameters::annBarrel,annB); }
722 void set_annEndCap (const float annE) { this->set_parameter(MuonParameters::annEndCap,annE); }
724 void set_innAngle (const float innA) { this->set_parameter(MuonParameters::innAngle,innA); }
726 void set_midAngle (const float midA) { this->set_parameter(MuonParameters::midAngle,midA); }
727
728 //-----------------------------------------------------------------
729 // 4-mom modifiers
730 //-----------------------------------------------------------------
731
733 void setIPt( const double theIPt )
734 { return this->momentumBase().setIPt(theIPt); }
735
737 void setCotTh( const double theCotTh )
738 { return this->momentumBase().setCotTh(theCotTh); }
739
741 void setPhi( const double thePhi )
742 { return this->momentumBase().setPhi(thePhi); }
743
745 void setM( const double theM )
746 { return this->momentumBase().setM(theM); }
747
750
752 void set_isMuonBits ( const uint16_t isMuonBits ) { m_isMuonBits.set(isMuonBits); }
753 void set_isMuonBits ( const MuonQualityWord& qWord ) { m_isMuonBits = qWord; }
754 void set_isMuonLikelihood ( const float muonLikelihood ) { m_isMuonLikelihood = muonLikelihood; }
755
756 private:
757
760
764
765 /* chi2 of the track matching */
771
773 std::vector<int> m_associatedEtaDigits;
774 std::vector<int> m_associatedPhiDigits;
776
785
788
790 std::vector<std::pair<MuonParameters::ParamDef, float> > m_parameters;
791
794
797
800
803
806
807
809 uint16_t m_allAuthors;
810
814
815};
816
817}
818
819#endif // MUONEVENT_MUON_H
820
821
822
823
824
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
#define x
int numberOfRPCEtaHoles() const
Get Muon Spectrometer RPC Eta Holes information for MS track or tagged segments.
Definition Muon.cxx:668
const CaloCluster * cluster() const
access to the calorimeter info
const Rec::TrackParticle * track() const
return the primary track of this muon
Definition Muon.cxx:1135
const Trk::Track * muonSpectrometerTrkTrack() const
access to TrkTracks - MuonSpectrometerTrack
const ElementLink< MuonCaloEnergyContainer > & caloEnergyLink() const
Access to the smart pointer to the calorimeter energy loss objeect associated to the muon.
bool hasInDetTrackParticle() const
test if associated indet TrackParticle is available
bool alsoFoundByCaloMuonId() const
is this muon also reconstructed by a CaloMuon ID algorithm?
void set_cluster(const CaloClusterContainer *cont, const CaloCluster *cluster)
set the Calorimeter information
uint16_t m_allAuthors
all authors - all the authors of this this Muon
unsigned short caloMuonAlsoFoundByMuonReco() const
is this Calo Muon also reconstructed by one of the standard muon reconstruction algorithm?
void set_scatteringNeighbourSignificance(const float significance)
set scatteringAngleSignificance based on hard scatterers over few near-by measurements,...
MuonParameters::Author author() const
return the primary author of this Muon - the algorithm that is most likely to reconstruct prompt muon...
float segmentChi2OverDoF() const
Access to a match chi2/ndf from muon segment taggers.
bool isLoose() const
test for muon being categorised as "loose"
const Rec::TrackParticle * combinedMuonTrackParticle() const
Access to the TrackParticles.
const std::vector< int > & segmentEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.
void set_innerExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the extrapolated track particle from the inner detector.
Definition Muon.cxx:798
int numberOfGangedPixels() const
number of Ganged Pixel for track from primary author
Definition Muon.cxx:703
bool hasInnerExtrapolatedTrackParticle() const
test if associated TrackParticle from ID-seeded full track fit is available
void set_matchNumberDoF(int x)
set the chi2 parameters - number of degrees of freedom
void set_cluster(const ElementLink< CaloClusterContainer > &cluster)
set the Calorimeter information, by link
const ElementLink< CaloClusterContainer > & clusterLink() const
const ElementLink< Rec::TrackParticleContainer > & innerExtrapTrackLink() const
Access to the smart pointer to the muon track extrapolated out from the vertex.
void set_inDetTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
Set the inner detector track particle.
Definition Muon.cxx:732
int numberOfTGCPhiHoles() const
Get Muon Spectrometer TGC Phi Holes information for MS track or tagged segments.
Definition Muon.cxx:682
ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM > MuonImpl_t
double matchChi2OverDoF() const
get the chi2 over number of DoF of the track match at perigee
bool isMedium() const
test for muon being categorised as "medium"
void set_statCombinedMuonTrackParticleContainer(const Rec::TrackParticleContainer *combinedMuonTPContainer)
set the TrackParticle containers
void set_isMuonBits(const uint16_t isMuonBits)
set muon quality parameters
float annEndCap() const
Access to some neural-network output for muons found by MuGirl.
bool isSegmentTaggedMuon() const
Method for querying primary identification mechanism: muon identified by inner-detector seeded identi...
Definition Muon.cxx:448
int numberOfTGCEtaHits() const
Get Muon Spectrometer TGC Eta Hits information for MS track or tagged segments.
Definition Muon.cxx:689
void set_isAlsoFoundByCaloMuonId(const bool isAlsoSeenByCaloMuonId)
set is also seen by calo muon Id reconstruction
int numberOfRPCPhiHoles() const
Get Muon Spectrometer RPC Phi Holes information for MS track or tagged segments.
Definition Muon.cxx:654
void setCotTh(const double theCotTh)
set cot(theta) data member
~Muon()
Destructor.
void setMuonSpectrometerTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
float midAngle() const
Access to some angles for muons found by MuGirl.
int numberOfInnermostPixelLayerHits() const
Get Inner detector Hits information from ID trackparticle.
Definition Muon.cxx:523
void set_parameter(MuonParameters::ParamDef index, double value, bool overwrite=false)
set a parameter in the MuonParamDefs.h
Definition Muon.cxx:888
std::vector< std::pair< MuonParameters::ParamDef, float > > m_parameters
Parameters as defined in MuonParamDef.h.
const ElementLink< Rec::TrackParticleContainer > & muonExtrapTrackLink() const
Access to the smart pointer to the muon track extrapolated to the vertex.
bool hasCluster() const
test for a valid pointer to a muon cluster
const ElementLink< Rec::TrackParticleContainer > & inDetTrackLink() const
Access to the smart pointer to inner detector track.
int numberOfTRTOutliers() const
Get number of TRT Outliers from ID trackparticle.
Definition Muon.cxx:592
float segmentDeltaPhi() const
Access to some Detla(phi) from muon segment taggers.
void setCaloEnergyLink(const ElementLink< MuonCaloEnergyContainer > &l)
int numberOfSCTHoles() const
Get number of Silicon SCT holes from ID trackparticle.
Definition Muon.cxx:586
float scatteringCurvatureSignificance() const
scatteringAngleSignificance based on the curvature significance, from track fit in ID (thus not avail...
int numberOfTRTHighThresholdOutliers() const
Get number of TRT Outliers High Threshold from ID trackparticle.
Definition Muon.cxx:598
void setStatCombinedTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
const CaloEnergy * caloEnergyLoss() const
energy loss in the calorimeter - access to the full object
void set_segmentChi2OverDoF(const float chi2)
Set Segment Chi2 over degrees of freeedom.
Muon & operator=(const Muon &rhs)
Assignment operator.
Definition Muon.cxx:269
bool hasGlobalMuonTrackFit() const
flag if the there was re-fit of ID and MS hits, currently muons from MuidCB, CombinedMuonFit and MuGi...
Definition Muon.cxx:473
std::vector< int > m_associatedEtaDigits
Low Pt muon stuff.
float scatteringNeighbourSignificance() const
scatteringAngleSignificance based on hard scatterers over few near-by measurements,...
float segmentDeltaEta() const
Access to some Delta(eta) from muon segment taggers.
void set_caloMuonAlsoFoundByMuonReco(const unsigned short isAlsoFoundByMuonReco)
set if this calo muon is also reconstructed by one of the standard muon recosntruction algorithms tha...
bool isCaloMuonId() const
Method for querying primary identification mechanism: muon identified solely by calorimeter based ide...
Definition Muon.cxx:457
bool hasCombinedMuonTrackParticle() const
test if associated combined-muon TrackParticle is available
int numberOfCSCPhiHits() const
Get Muon Spectrometer CSC Phi Hits information for MS track or tagged segments.
Definition Muon.cxx:619
int numberOfCSCPhiHoles() const
Get Muon Spectrometer CSC Phi Holes information for MS track or tagged segments.
Definition Muon.cxx:626
ElementLink< Rec::TrackParticleContainer > m_combinedMuonTrackParticle
void set_isCorrected(bool corrected)
is this Muon corrected in AOD-to-AOD correction or not?
void set_combinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle.
Definition Muon.cxx:813
ElementLink< Rec::TrackParticleContainer > m_inDetTrackParticle
end LowPt stuff
const Trk::FitQuality * outerMatchChi2() const
returns track matching at MS entrance for combined muons and match at first segment for tagged muons.
void set_isAlsoFoundByLowPt(const bool isAlsoSeenByLowPt)
set is also seen by low Pt reconstruction
int numberOfTrackSummaryTypes(unsigned int type=0) const
number of summaryTypes for track from primary author
Definition Muon.cxx:718
bool add_author(MuonParameters::Author author)
the add_author method returns a bool:
Definition Muon.cxx:368
void set_momentumBalanceSignificance(const float significance)
set momentumBalanceSignificance for fitted or combined muons as discriminator against background muon...
int numberOfTRTHits() const
Get number of TRT hits from ID trackparticle.
Definition Muon.cxx:547
void set_muonExtrapolatedTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the muon spectrometer extrapolated track particle.
Definition Muon.cxx:781
int numberOfInnermostPixelLayerSharedHits() const
Get number of shared hits or holes from ID trackparticle.
Definition Muon.cxx:563
const Trk::Track * muonExtrapolatedTrkTrack() const
access to TrkTracks - muonExtrapolatedTrack
virtual void fillToken(INavigationToken &thisToken) const
navigation method
Definition Muon.cxx:918
const ElementLink< Rec::TrackParticleContainer > & muonSpectrometerTrackLink() const
Access to the smart pointer to the muon spectrometer track.
void set_numberOfAssociatedPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt - Associated Phi Digits.
Definition Muon.cxx:848
void set_numberOfSegmentEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Eta Digits.
Definition Muon.cxx:863
int numberOfCSCEtaHoles() const
Get Muon Spectrometer CSC Eta Holes information for MS track or tagged segments.
Definition Muon.cxx:640
bool m_isAlsoFoundByCaloMuonId
this muon is also found by the Calo Muon ID reconstruction algorithm
void set_numberOfSegmentPhiDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set Segment Phi Digits.
Definition Muon.cxx:871
bool alsoFoundByLowPt() const
is this muon also reconstructed by the lowPt algorithm?
void set_spectrometerFieldIntegral(const float field)
set field integral seen by the track in the muon spectrometer - defined only for standalone,...
int numberOfSCTHits() const
Get number of Silicon SCT hits from ID trackparticle.
Definition Muon.cxx:539
int numberOfTGCPhiHits() const
Get Muon Spectrometer TGC Phi Hits information for MS track or tagged segments.
Definition Muon.cxx:675
void set_muonSpectrometerTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set Muon Spectrometer TrackParticle
Definition Muon.cxx:772
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 setPhi(const double thePhi)
set phi data member
bool isCorrected() const
is this Muon corrected or not in AOD-to-AOD correction
void setM(const double theM)
set m data member
bool isStandAloneMuon() const
method for querying primary identification mechanism: muon identified by spectrometer track (that is ...
Definition Muon.cxx:431
const ElementLink< Rec::TrackParticleContainer > & combinedTrackLink() const
Access to the smart pointer to the muon combined track.
int numberOfSCTSharedHits() const
Get number of Silicon SCT shared hits from ID trackparticle.
Definition Muon.cxx:580
bool isCombinedMuon() const
method for querying primary identification mechanism: muon identified by successfully combining a ful...
Definition Muon.cxx:421
const Rec::TrackParticle * muonSpectrometerTrackParticle() const
Access to the TrackParticles.
void add_authors(const uint16_t authors)
other add_author method
bool hasCombinedMuon() const
deprecated - please use primary identification, muon quality or MuonCP group guidelines to adopt a gi...
ElementLink< MuonCaloEnergyContainer > m_caloEnergyLoss
energy loss in calorimeter
unsigned int numberOfSegments() const
Access to the number of muon segments.
ElementLink< Rec::TrackParticleContainer > m_muonExtrapolatedTrackParticle
bool bestMatch() const
Is this combined Muon the best match?
int numberOfOutliersOnTrack() const
number of outliers for track from primary author
Definition Muon.cxx:710
int numberOfRPCPhiHits() const
Get Muon Spectrometer RPC Phi Hits information for MS track or tagged segments.
Definition Muon.cxx:647
void set_energyLoss(const CaloEnergy *caloEnergy)
set the energy loss in the calorimeter
void setInnerExtrapTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
void set_scatteringCurvatureSignificance(const float significance)
set scatteringAngleSignificance based on the curvature significance, from track fit in ID.
void set_segmentDeltaPhi(const float deltaPhi)
Set Segment Delta Phi.
void set_inDetTrackParticleContainer(const Rec::TrackParticleContainer *inDetTPContainer)
set the TrackParticle containers
void setClusterLink(const ElementLink< CaloClusterContainer > &l)
int fitNumberDoF() const
get the number of DoF of the track fit
const Rec::TrackParticle * innerExtrapolatedTrackParticle() const
Access to the TrackParticles.
bool m_isAlsoFoundByLowPt
this muon is also found by the lowPT reconstruction algorithm
bool hasMuonExtrapolatedTrackParticle() const
test if associated MS TrackParticle (extrapolated to IP) is available
uint16_t allAuthors() const
get all the authors of this Muon for example during overlap checking, the same Muon may have been rec...
MuonQualityWord m_isMuonBits
muon selection parameters
float annBarrel() const
Access to some neural-network output for muons found by MuGirl.
int numberOfPixelHoles() const
Get number of Pixel holes from ID trackparticle.
Definition Muon.cxx:574
void set_muonExtrapolatedTrackParticleContainer(const Rec::TrackParticleContainer *muonExtrapolatedTPContainer)
set the TrackParticle containers
void set_outerMatchChi2(double x, int ndof)
set the outer match chi2/ndof for combined and segment-tagged muons
Definition Muon.cxx:497
void set_statCombinedMuonTrackParticle(const Rec::TrackParticleContainer *, const Rec::TrackParticle *)
set the combined muon track particle for statistical combination.
Definition Muon.cxx:830
ElementLink< Rec::TrackParticleContainer > m_muonSpectrometerTrackParticle
needed by MOORE
void set_clusterContainer(const CaloClusterContainer *clusterContainer)
set the Calorimeter information
float t0() const
Access to event phase for muons found by MuGirlLowBeta.
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...
int numberOfTGCEtaHoles() const
Get Muon Spectrometer TGC Eta Holes information for MS track or tagged segments.
Definition Muon.cxx:696
void copySegmentLinkVector(const ElementLinkVector< Trk::SegmentCollection > &segments)
function to copy muon segment element links into this muon
Definition Muon.cxx:259
void set_segmentDeltaEta(const float deltaEta)
Set Segment Delta Eta.
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 ...
void set_muonSegments(const Trk::SegmentCollection *, const std::vector< const Trk::Segment * > &)
set the combined muon track particle
Definition Muon.cxx:745
void set_numberOfAssociatedEtaDigits(int nMDT, int nCSC, int nRPC, int nTGC)
Set the LowPt stuff.
Definition Muon.cxx:840
const ElementLink< Rec::TrackParticleContainer > & statCombinedTrackLink() const
Access to the smart pointer to the muon combined track.
void addSegment(const Trk::SegmentCollection *, const Trk::Segment *)
set the combined muon track particle
Definition Muon.cxx:752
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
const Trk::Segment * muonSegment(unsigned int i) const
Access to the muon segments.
double matchChi2() const
get the chi2 of the MS-ID track match at the perigee
bool hasStatCombinedMuonTrackParticle() const
test if (in addition to the refitted combined muon) a stat.combined TrackParticle is available.
MuonParameters::Author m_author
the author of this muon
void setMuonExtrapTrackLink(const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
void set_cluster(const CaloCluster *cluster)
set the Calorimeter information
Muon()
Default constructor.
Definition Muon.cxx:35
void set_author(MuonParameters::Author author)
set the primary Author : the primary author is the algorithm that first created this Muon
float isMuonLikelihood() const
return the muon likelihood - not yet used
const Trk::Track * combinedMuonTrkTrack() const
access to TrkTracks - CombinedTrack
float momentumBalanceSignificance() const
momentumBalanceSignificance defined for fitted or combined muons in order to identify decays in fligh...
void setCombinedTrackLink(const ElementLink< Rec::TrackParticleContainer > &l, bool isValid)
int numberOfMDTHoles() const
Get Muon Spectrometer MDT holes information for MS track or tagged segments.
Definition Muon.cxx:612
ElementLinkVector< Trk::SegmentCollection > m_muonSegments
const std::vector< int > & associatedPhiDigits() const
Access to the MS phi hits associated by segment-tagged muons.
double fitChi2() const
get the chi2 of the track fit
const std::vector< std::pair< MuonParameters::ParamDef, float > > & parameter() const
vector of parameter pairs for this Muon - isolation energy in some cone for example
void setMuonSegmentLink(const ElementLinkVector< Trk::SegmentCollection > &l)
const Trk::Track * inDetTrkTrack() const
access to TrkTracks - InDetTrack
const Trk::Track * innerExtrapolatedTrkTrack() const
access to TrkTracks - innerExtrapolatedTrack
float spectrometerFieldIntegral() const
field integral seen by the track in the muon spectrometer - defined only for standalone,...
ElementLink< Rec::TrackParticleContainer > m_statCombinedMuonTrackParticle
int numberOfPixelSharedHits() const
Get number of Pixel shared hits from ID trackparticle.
Definition Muon.cxx:568
ElementLink< Rec::TrackParticleContainer > m_innerExtrapolatedTrackParticle
double fitChi2OverDoF() const
get the chi2 over number of DoF of the track fit
void set_energyLossContainer(const MuonCaloEnergyContainer *cont)
set the energy loss in the calorimeter
int numberOfMDTHits() const
Get Muon Spectrometer MDT Hits information for MS track or tagged segments.
Definition Muon.cxx:605
int numberOfPixelHits() const
Get number of Pixel hits from ID trackparticle.
Definition Muon.cxx:531
std::pair< double, double > energyLoss() const
energy loss and its uncertainty in the calorimeter
Definition Muon.cxx:511
float beta() const
Access to particle velocity fit parameter for muons found by MuGirlLowBeta.
void setIPt(const double theIPt)
set inverse pT data member
int matchNumberDoF() const
get the number of DoF of the track match at perigee
const Rec::TrackParticle * statCombinedMuonTrackParticle() const
Access to the TrackParticles: statistical combination.
const ElementLinkVector< Trk::SegmentCollection > & muonSegmentLink() const
Access to vector smart pointers (ElementLink) to muon segments.
unsigned short m_caloMuonAlsoFoundByMuonReco
flag the calo muon if it is also reconstruction by the standart muon algorithms
bool isSiliconAssociatedForwardMuon() const
Method for querying primary identification mechanism: a combined muon where a clean forward standalon...
Definition Muon.cxx:466
int numberOfTRTHighThresholdHits() const
Get number of TRT High Threshold hits from ID trackparticle.
Definition Muon.cxx:555
void setInDetTrackLink(const ElementLink< Rec::TrackParticleContainer > &l)
int numberOfRPCEtaHits() const
Get Muon Spectrometer RPC Eta Hits information for MS track or tagged segments.
Definition Muon.cxx:661
void set_combinedMuonTrackParticleContainer(const Rec::TrackParticleContainer *combinedMuonTPContainer)
set the TrackParticle containers
bool isTight() const
test for muon being categorised as "tight"
const std::vector< int > & associatedEtaDigits() const
Access to the MS eta hits associated by segment-tagged muons.
void set_innerExtrapolatedTrackParticleContainer(const Rec::TrackParticleContainer *innerExtrapolatedTPContainer)
set the TrackParticle containers
int numberOfCSCEtaHits() const
Get Muon Spectrometer CSC Eta Hits information for MS track or tagged segments.
Definition Muon.cxx:633
float innAngle() const
Access to some angles for muons found by MuGirl.
void set_matchChi2(float x)
set the chi2 parameters - matchChi2
Principal data class for CaloCell clusters.
class extending the basic Trk::EnergyLoss to describe the measured or parameterised muon energy loss ...
Definition CaloEnergy.h:28
ElementLinkVector implementation for standalone ROOT.
Data object for a StoreGate container holding a vector of CaloEnergy, the detailed energy loss descri...
A bitted word defining different levels of muon identification qualities (in terms of purity and effi...
Dummy type needed fro specialized implementation.
P4ImplIPtCotThPhiM is a base class for classes with 4-momentum behavior, for which 1/Pt,...
virtual void setPhi(const double thePhi)
set phi data member
virtual void setCotTh(const double theCotTh)
set cot(theta) data member
virtual void setM(const double theM)
set m data member
virtual void setIPt(const double theIPt)
set inverse pT data member
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition FitQuality.h:97
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60
double chiSquared() const
returns the of the overall track fit
Definition FitQuality.h:56
Base class for all TrackSegment implementations, extends the common MeasurementBase.
const FitQuality * fitQuality() const
accessor function for FitQuality.
double chi2(TH1 *h0, TH1 *h1)
The namespace of all packages in PhysicsAnalysis/JetTagging.
ParamDef
Enum for parameter indexes.
@ spectrometerFieldIntegral
Discriminators and further variables.
@ innAngle
common MuGirl and MuTag parameters
@ scatteringNeighbourSignificance
@ scatteringCurvatureSignificance
@ t0
MuGirl parameter.
@ segmentDeltaEta
MuTag parameters.
Author
do not change the order of these enums.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
DataVector< Trk::Segment > SegmentCollection
Definition index.py:1