 |
ATLAS Offline Software
|
Go to the documentation of this file.
50 return StatusCode::FAILURE;
58 return StatusCode::SUCCESS;
64 double& combPtInv,
double& combPtRes,
double& deta,
double& dphi,
double&
dr)
const
69 return muComb::drptMatch(
pt,
eta,
phi, id_pt, id_eta, id_phi, algo, combPtInv, combPtRes, deta, dphi,
dr);
73 double& combPtInv,
double& combPtRes,
double& deta,
double& dphi,
double&
dr)
const
80 if (algo < 1 || algo > 4) {
81 ATH_MSG_DEBUG(
" muComb::drptMatch wrong algo parameter, it is: " << algo
82 <<
" while must be in the range [1,4], match failed!!!" );
90 if (algo == 1) combPtInv = ((1. /
pt) + (1. / id_pt)) * 0.5;
91 if (algo == 2) combPtInv = 1. / id_pt;
92 if (algo == 3) combPtInv = 1. /
pt;
93 if (algo == 4) combPtInv = 1.e-33;
97 if (tmp_dphi >=
M_PI) tmp_dphi = 2 *
M_PI - tmp_dphi;
98 double tmp_dr = std::sqrt(tmp_deta * tmp_deta + tmp_dphi * tmp_dphi);
107 if (tmp_dr > winDR) passDR =
false;
109 ATH_MSG_DEBUG(
" REGTEST Angular MU-ID match / dR / threshold / result:"
112 <<
" / " << (passDR ?
"true" :
"false"));
114 if (algo == 1 && winPt > 0) {
116 if (tmp_dpt > winPt) passPt =
false;
117 ATH_MSG_DEBUG(
" REGTEST MU-ID match / dpt (GeV) / threshold (GeV) / result:"
120 <<
" / " << (passPt ?
"true" :
"false"));
123 if (passDR && passPt)
return 0;
146 double q_over_p = 0.;
159 double etaShift = (
result.isBarrel ? 0 :
result.charge * 0.01);
172 if ((std::fabs(sp1_R) < 1000.)) {
176 if ((std::fabs(sp2_R) < 1300.)) {
183 if (
R == 0. &&
z == 0.) {
185 if (std::fabs(sp2_R) > 1300.) {
187 if (
z == 0.)
z = 7600.;
201 std::unique_ptr<const Trk::TrackParameters> muonPerigee
232 double id_eta,
double id_phi,
double id_pt,
double id_charge,
double id_eeta,
double id_ephi,
double id_eipt,
233 double& combPtInv,
double& combPtRes,
double& deta,
double& dphi,
double&
chi2,
int&
ndof)
const
244 double id_ptinv = 1.0e33;
246 id_ptinv = 1. / id_pt;
251 double id_eptinv = id_eipt;
257 double q_tmp = extr.
charge;
260 if (1. / combPtInv > 50000.) q_tmp = extr.
charge;
261 else q_tmp = id_charge;
268 double ephi_to_use = extr.
ephi;
277 id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv,
true);
279 id_eta, id_eeta, id_phi, id_ephi, id_ptinv, id_eptinv,
m_UseAbsPt);
282 ATH_MSG_DEBUG(
" REGTEST Resolution / OLDIdRes / IdRes / muFastRes / combRes:"
288 ATH_MSG_DEBUG(
" REGTEST Momentum / IdPt / muFastPt / CombPt :"
294 <<
" / " << std::setw(11) <<
chi2
295 <<
" / " << std::setw(11) <<
ndof
296 <<
" // " << std::setw(11) << chi2_OLD
297 <<
" / " << std::setw(11) << ndof_OLD );
309 ATH_MSG_DEBUG(
" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
310 <<
" / " << std::setw(11) << std::fabs(deta)
311 <<
" / " << std::setw(11) << std::fabs(dphi)
313 <<
" / " << std::setw(11) <<
m_WeightPhi_g4*winPhiSigma*std::sqrt(ephi_to_use * ephi_to_use) );
318 if (std::fabs(dphi) >
m_WeightPhi_g4 * winPhiSigma * std::sqrt(ephi_to_use * ephi_to_use)) {
322 if (
chi2 > maxChi2)
return 6;
331 double id_eta,
double id_phi,
double id_pt,
double id_charge,
332 double& combPtInv,
double& combPtRes,
double& deta,
double& dphi,
double&
chi2,
int&
ndof)
const
344 bool isTS = ((feature->
rMS() <= 10.) ? true :
false);
348 double ptinv = 1. /
pt;
354 double id_ptinv = 1.0e33;
357 id_ptinv = 1. / id_pt;
369 if (1. / combPtInv > 50000.) q_tmp =
charge;
370 else q_tmp = id_charge;
375 double extr_eta = feature->
eta();
376 double extr_eeta = feature->
deltaEta();
377 double extr_phi = feature->
phi();
378 double extr_ephi = feature->
deltaPhi();
379 double extr_ptinv = ptinv;
380 double extr_eptinv = eptinv;
391 id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv,
m_UseAbsPt);
394 ATH_MSG_DEBUG(
" REGTEST Resolution / IdRes / muFastRes / combRes:"
399 ATH_MSG_DEBUG(
" REGTEST Momentum / IdPt / muFastPt / CombPt :"
405 <<
" / " << std::setw(11) <<
chi2
406 <<
" / " << std::setw(11) <<
ndof );
425 if ((id_phi >= -2.60 && id_phi <= -2.10) || (id_phi >= -1.10 && id_phi <= -0.50)) isFT =
true;
432 ATH_MSG_DEBUG(
" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
433 <<
" / " << std::setw(11) << std::fabs(deta)
434 <<
" / " << std::setw(11) << std::fabs(dphi)
435 <<
" / " << std::setw(11) <<
m_WeightEta*winEtaSigma*std::sqrt(extr_eeta * extr_eeta)
436 <<
" / " << std::setw(11) <<
m_WeightPhi*winPhiSigma*std::sqrt(extr_ephi * extr_ephi) );
438 if (std::fabs(deta) >
m_WeightEta * winEtaSigma * std::sqrt(extr_eeta * extr_eeta)) {
441 if (std::fabs(dphi) >
m_WeightPhi * winPhiSigma * std::sqrt(extr_ephi * extr_ephi)) {
445 if (
chi2 > maxChi2)
return 6;
458 using namespace xAOD;
491 ptID, etaID, phiID, zetaID,
494 efficiency, StrategyMC, ErrorFlagMC, MatchFlagMC);
505 if (fieldCondObj ==
nullptr) {
507 return StatusCode::FAILURE;
510 fieldCondObj->getInitializedCache (fieldCache);
514 ATH_MSG_DEBUG(
"=========== Magnetic Field Status ========== " );
518 ATH_MSG_DEBUG(
" ---> Toroid : " << ((toroidOn) ?
"ON" :
"OFF") );
531 if (toroidOn) usealgo = 3;
537 ATH_MSG_DEBUG(
"=========== Matching windows g4 ========== " );
549 ATH_CHECK( muonCBColl.record (std::make_unique<xAOD::L2CombinedMuonContainer>(),
550 std::make_unique<xAOD::L2CombinedMuonAuxContainer>()) );
557 if (muonColl->size() == 0) {
563 ATH_MSG_DEBUG(
" L2StandAloneMuonContainer empty -> stop processing RoI, no match" );
564 return StatusCode::SUCCESS;
572 for(
uint i_muonSA = 0; i_muonSA < muonColl->size(); i_muonSA++){
586 if (muonSA->
pt() == 0.) {
588 if (usealgo == 2 || usealgo == 4) {
589 ATH_MSG_DEBUG(
" L2StandAloneMuon pt = 0 --> using angular match" );
592 ATH_MSG_DEBUG(
" L2StandAloneMuon pt = 0 --> stop processing RoI, no match" );
594 muonCBColl->push_back(muonCB);
595 return StatusCode::SUCCESS;
606 double eta_ms = -999.;
607 double phi_ms = -999.;
608 double zeta_ms = -999.;
633 eta_ms = muonSA->
etaMS();
634 phi_ms = muonSA->
phiMS();
635 zeta_ms = muonSA->
zMS();
638 <<
" / eta = " <<
eta
639 <<
" / phi = " <<
phi
640 <<
" / etaMS = " << eta_ms
641 <<
" / phiMS = " << phi_ms
642 <<
" / zMS = " << zeta_ms);
649 if (!idTrackParticles.
isValid()){
650 ATH_MSG_DEBUG(
" Failed to get xAOD::TrackParticleContainer --> no match" );
653 muonCBColl->push_back(muonCB);
654 return StatusCode::SUCCESS;
656 if (idTrackParticles->
size() < 1){
657 ATH_MSG_DEBUG(
" xAOD::TrackParticleContainer has 0 tracks --> no match" );
660 muonCBColl->push_back(muonCB);
661 return StatusCode::SUCCESS;
664 ATH_MSG_DEBUG(
" Found xAOD::TrackParticleContainer with size: " << idTrackParticles->
size() );
667 double ptinv_comb = 0.;
668 double ptres_comb = 0.001;
669 double chi2_comb = 1.0e33;
671 double best_dr = 1.0e33;
672 double best_deta = 1.0e33;
673 double best_dphi = 1.0e33;
674 bool has_match =
false;
676 int matched_trk_idx = -1;
677 int matched_trk_idx_tmp = -1;
688 for(
const auto trkit:(*idTrackParticles)) {
690 matched_trk_idx_tmp++;
691 double ptinv_tmp = 0.;
692 double ptres_tmp = 0.001;
693 double deta_tmp = 0.;
694 double dphi_tmp = 0.;
696 double chi2_tmp = 0.;
698 bool has_match_tmp =
false;
702 double phi_id = (trkit)->
phi();
703 double eta_id = (trkit)->
eta();
704 double qoverp_id = (trkit)->
qOverP();
705 double q_id = ((trkit)->
qOverP() > 0 ? 1.0 : -1.0);
706 double pt_id = (trkit)->
pt() * q_id;
709 double e_phi_id = std::sqrt((trkit)->definingParametersCovMatrix()(
Trk::phi0,
Trk::phi0));
712 double e_eta_id = std::fabs(0.5 * (1./tanthetaov2 + tanthetaov2) * e_theta_id);
714 double e_qoverpt_id = e_qoverp_id;
715 double theta_id = (trkit)->
theta();
721 <<
", eta = " << eta_id
722 <<
", phi = " << phi_id
723 <<
", th = " << theta_id
724 <<
", ephi = " << e_phi_id
725 <<
", eth = " << e_theta_id
726 <<
", eeta = " << e_eta_id
727 <<
", ip = " << qoverp_id
728 <<
", eip = " << e_qoverp_id
729 <<
", eipt = " << e_qoverpt_id );
743 imatch_tmp =
drptMatch(muonSA, pt_id, eta_id, phi_id, usealgo, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp);
745 if (imatch_tmp == 0) has_match_tmp =
true;
748 imatch_tmp =
mfMatch(muonSA, eta_id, phi_id, pt_id, q_id, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp, ndof_tmp);
749 if (imatch_tmp == 0) has_match_tmp =
true;
751 imatch_tmp =
g4Match(extr, eta_id, phi_id, pt_id, q_id, e_eta_id, e_phi_id, e_qoverpt_id, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp, ndof_tmp);
752 if (imatch_tmp == 0) has_match_tmp =
true;
757 if (!has_match_tmp)
continue;
760 dr_tmp = std::sqrt(deta_tmp * deta_tmp + dphi_tmp * dphi_tmp);
762 if (chi2_tmp <= chi2_comb) {
764 chi2_comb = chi2_tmp;
765 ndof_comb = ndof_tmp;
766 ptinv_comb = ptinv_tmp;
767 ptres_comb = ptres_tmp;
768 best_deta = deta_tmp;
769 best_dphi = dphi_tmp;
772 matched_trk_idx = matched_trk_idx_tmp;
778 if (usealgo == 0 && std::fabs(
pt) >= 6.) {
786 if (ptMS > 100.) ptMS = 101.5;
787 if (ptMS < -100.) ptMS = -101.5;
788 if (ptFL > 100.) ptFL = 101.5;
789 if (ptFL < -100.) ptFL = -101.5;
794 MatchFlagMC = imatch;
795 if (usealgo == 0 && std::fabs(
pt) >= 6.)
efficiency = 0;
799 muonCBColl->push_back(muonCB);
800 return StatusCode::SUCCESS;
808 double q_id = ((muonCB->
idTrack()->
qOverP()) > 0 ? 1.0 : -1.0);
812 double zPos_id = muonCB->
idTrack()->
z0();
817 MatchFlagMC = imatch;
821 if (usealgo == 0 && std::fabs(
pt) >= 6.) {
828 dZeta = zeta_ms - zPos_id;
833 if (ptMC > 100.) ptMC = 101.5;
834 if (ptMC < -100.) ptMC = -101.5;
835 if (ptID > 100.) ptID = 101.5;
836 if (ptID < -100.) ptID = -101.5;
843 <<
" usealgo / IdPt (GeV) / muonPt (GeV) / CombPt (GeV) / chi2 / ndof: " <<
" / " << usealgo <<
" / " << pt_id*q_id /
Gaudi::Units::GeV <<
" / " << prt_pt <<
" / " << 1. / ptinv_comb /
Gaudi::Units::GeV <<
" / " << chi2_comb <<
" / " << ndof_comb );
845 muonCB->
setPt(std::fabs(1. / ptinv_comb));
850 if (ptinv_comb > 0) mcq = 1.0;
854 float mcresu = std::fabs(ptres_comb / (ptinv_comb * ptinv_comb));
861 muonCBColl->push_back(muonCB);
863 return StatusCode::SUCCESS;
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Gaudi::Property< double > m_WinEta_EC
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
Gaudi::Property< double > m_WeightEta
Scale factor for the Eta matching window in LUT backextrapolator.
Gaudi::Property< bool > m_assumeToroidOff
flag to assume B_Toroid=0 anyway
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
muComb(const std::string &, ISvcLocator *)
Constructor.
void setStrategy(int value)
set algorithm strategy flag
Group
Properties of a chain group.
Gaudi::Property< double > m_WinPhi_EC_g4
Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps)
Scalar phi() const
phi method
float etaMS() const
Get the eta at muon spectrometer.
double getDeltaEta(double eta1, double eta2)
Get DeltaEta.
int isRpcFailure() const
Get flag to see if RPC is properly read.
Gaudi::Property< double > m_PtMinTrk
Min Pt to select the ID track for matching.
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
Gaudi::Property< double > m_Chi2Max
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
Class describing standalone muons reconstructed in the LVL2 trigger.
Scalar eta() const
pseudorapidity method
float deltaPt() const
Get error of pT.
Gaudi::Property< double > m_WeightPhi
Scale factor for the Phi matching window in LUT backextrapolator.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Gaudi::Property< double > m_Chi2Max_TS
Max Chi2 for the combined muon in LUT backextrapolator (Trigger Stations)
Scalar theta() const
theta method
float z0() const
Returns the parameter.
@ BarrelInner
Inner station in the barrel spectrometer.
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap4
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Gaudi::Property< double > m_Chi2Max_g4
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
float phiMS() const
Get the phi at muon spectrometer.
void setCharge(float value)
set seeding muon charge
int mfMatch(const xAOD::L2StandAloneMuon *feature, double, double, double, double, double &, double &, double &, double &, double &, int &) const
double getG4ExtPhiRes(double pt, double eta)
Get parametrized Geant4 Phi resolution (extrapolated)
const std::string & key() const
Return the StoreGate ID for the referenced object.
Gaudi::Property< double > m_Chi2Weight_g4
Scale factor for the Chi2 1/pt resolutions (MS and ID) (Barrel)
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap2
Gaudi::Property< int > m_ChargeStrategy
muComb charge assignment strategy: 0: useMuFast 1: use ID 2: use resolution model
Gaudi::Property< double > m_winPt
max deltaPt for simpified matching
int drptMatch(double, double, double, double, double, double, int, double &, double &, double &, double &, double &) const
Gaudi::Property< double > m_winDR
max deltaR for simplified matching
double getDeltaPhi(double phi1, double phi2)
Get DeltaPhi.
float deltaEta() const
Get error of eta.
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
def timer(name, disabled=False)
virtual double eta() const
The pseudorapidity ( ) of the particle.
An algorithm that can be simultaneously executed in multiple threads.
Class describing combined muon reconstructed in the LVL2 trigger.
double getG4ExtEtaRes(double pt, double eta)
Get parametrized Geant4 Eta resolution (extrapolated)
Gaudi::Property< double > m_Chi2Max_EC_g4
Max Chi2 for the combined muon in LUT backextrapolator (EndCaps)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
void setMatchFlag(int value)
set algorithm match flag
float superPointR(int chamber) const
Get the measured radious of the muon in one particular super point.
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
Gaudi::Property< double > m_WinEta_EC_g4
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
virtual StatusCode execute(const EventContext &ctx) const override
execute execute the combined muon FEX.
double getCombinedAverage(double p1, double sp1, double p2, double sp2)
Get weighted mean.
int sAddress() const
Get the station address of the muon.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< double > m_WinEta_FE
Number of sigmas for the Eta matching window LUT backextrapolator (MS Feet region)
Gaudi::Property< double > m_WinPhi_EC
Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps)
Gaudi::Property< double > m_WinPhi
Number of sigmas for the Phi matching window LUT backextrapolator (Barrel)
float zMS() const
Get the Z at muon spectrometer.
double getIDSCANRes(std::vector< double > barrelvec, std::vector< double > ec1vec, std::vector< double > ec2vec, std::vector< double > ec3vec, std::vector< double > ec4vec, double pt_id, double eta_id)
Get parametrized IDSCAN 1/pt resolution.
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
double chi2(TH1 *h0, TH1 *h1)
ExtrapolationResult getExtrapolatedMuon(const EventContext &ctx, const xAOD::L2StandAloneMuon *feature) const
#define CHECK(...)
Evaluate an expression and check for errors.
Gaudi::Property< int > m_AlgoStrategy
muComb matching strategy: 0: auto select best option 1: simplified R,(Pt) matching
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap3
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Gaudi::Property< double > m_WinPhi_g4
Number of sigmas for the Phi matching window LUT backextrapolator (Barrel)
Header file to be included by clients of the Monitored infrastructure.
bool solenoidOn() const
status of the magnets
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ElementLink implementation for ROOT usage.
void setSigmaPt(float value)
set sigma combined Pt
double getStdChi2(int &ndof, double eta1, double seta1, double phi1, double sphi1, double qOvpt1, double sqOvpt1, double eta2, double seta2, double phi2, double sphi2, double qOvpt2, double sqOvpt2, bool useAbsPt)
Get Std Chi2.
Gaudi::Property< double > m_EtaMaxTrk
Max abs(eta) to select the ID track for matching.
int g4Match(const ExtrapolationResult &extr, double, double, double, double, double, double, double, double &, double &, double &, double &, double &, int &) const
@ EndcapMiddle
Middle station in the endcap spectrometer.
float qOverP() const
Returns the parameter.
void setIdTrackLink(const ElementLink< xAOD::TrackParticleContainer > &link)
set ID track used to make the CB muon
Gaudi::Property< bool > m_assumeSolenoidOff
flag to assume B_Solenoid=0 anyway
double charge(const T &p)
StatusCode initialize(bool used=true)
void makePrivateStore()
Create a new (empty) private store for this object.
L2CombinedMuon_v1 L2CombinedMuon
Define the latest version of the muon CB class.
virtual double phi() const
The azimuthal angle ( ) of the particle.
Eigen::Matrix< double, 3, 1 > Vector3D
void setMuSATrackLink(const ElementLink< xAOD::L2StandAloneMuonContainer > &link)
set SA muon used to make the CB muon
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackParticleContainerKey
Gaudi::Property< double > m_WinEta_g4
Number of sigmas for the Eta matching window LUT backextrapolator (Barrel)
Gaudi::Property< double > m_Chi2Max_EC
Max Chi2 for the combined muon in LUT backextrapolator (EndCaps)
Gaudi::Property< bool > m_useBackExtrapolatorG4
flag to switch between G4 and LUT based back-extrapolation
Gaudi::Property< double > m_WinPhi_FE
Number of sigmas for the Phi matching window LUT backextrapolator (MS Feet region)
Gaudi::Property< bool > m_UseAbsPt
Use Absolute value of the Pt in chi2 calculation (i.e.
Gaudi::Property< double > m_Chi2Max_FE
Max Chi2 for the combined muon in LUT backextrapolator (MS Feet region)
@ EndcapInner
Inner station in the endcap spectrometer.
virtual StatusCode initialize() override
initialize.
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap1
Gaudi::Property< double > m_WinPhi_TS
Number of sigmas for the Phi matching window LUT backextrapolator (Trigger Stations)
Gaudi::Property< double > m_WinEta_TS
Number of sigmas for the Eta matching window LUT backextrapolator (Trigger Stations)
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, float &out)
Gaudi::Property< std::vector< double > > m_IDSCANRes_barrel
Gaudi::Property< int > m_NdofMin
Min Number of DOF to apply the chi2 cut on macthing based on LUT and G4 backextrapolators.
float deltaPhi() const
Get error of phi.
virtual double pt() const
The transverse momentum ( ) of the particle.
const xAOD::TrackParticle * idTrack() const
Get the ID track as a bare pointer.
Gaudi::Property< double > m_WeightPhi_g4
Scale factor for the Phi matching window in LUT backextrapolator.
float rMS() const
Get the R at muon spectrometer.
ToolHandle< GenericMonitoringTool > m_monTool
Declare a monitored scalar variable.
double getCombinedAverageSigma(double sp1, double sp2)
Get sigma of weighted mean.
ToolHandle< Trk::IExtrapolator > m_backExtrapolatorG4
Handle to the G4 backExtrapolator tool.
void setErrorFlag(int value)
set algorithm error flag
double getChi2(int &ndof, double ipt, double eta1, double seta1, double phi1, double sphi1, double ipt1, double sipt1, double eta2, double seta2, double phi2, double sphi2, double ipt2, double sipt2, bool useAbsPt)
Get OLD style (i.e. muFast time) Chi2.
float superPointZ(int chamber) const
Get the measured Z position of the muon in one particular super point.
size_type size() const noexcept
Returns the number of elements in the collection.
@ BarrelMiddle
Middle station in the barrel spectrometer.
int isTgcFailure() const
Get flag to see if TGC is properly read.
Gaudi::Property< double > m_WeightEta_g4
Scale factor for the Eta matching window in LUT backextrapolator.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
SG::ReadHandleKey< xAOD::L2StandAloneMuonContainer > m_muonCollKey
Gaudi::Property< double > m_WinEta
Number of sigmas for the Eta matching window LUT backextrapolator (Barrel)