 |
ATLAS Offline Software
|
Main LVL2 Algorithm.
More...
#include <muComb.h>
|
| muComb (const std::string &, ISvcLocator *) |
| Constructor. More...
|
|
virtual StatusCode | initialize () override |
| initialize. More...
|
|
virtual StatusCode | execute (const EventContext &ctx) const override |
| execute execute the combined muon FEX. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
int | drptMatch (double, double, double, double, double, double, int, double &, double &, double &, double &, double &) const |
|
int | drptMatch (const xAOD::L2StandAloneMuon *feature, double, double, double, int, double &, double &, double &, double &, double &) const |
|
int | mfMatch (const xAOD::L2StandAloneMuon *feature, double, double, double, double, double &, double &, double &, double &, double &, int &) const |
|
int | g4Match (const ExtrapolationResult &extr, double, double, double, double, double, double, double, double &, double &, double &, double &, double &, int &) const |
|
ExtrapolationResult | getExtrapolatedMuon (const EventContext &ctx, const xAOD::L2StandAloneMuon *feature) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
SG::ReadHandleKey< xAOD::TrackParticleContainer > | m_TrackParticleContainerKey |
|
SG::ReadHandleKey< xAOD::L2StandAloneMuonContainer > | m_muonCollKey |
|
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > | m_outputCBmuonCollKey |
|
ToolHandle< GenericMonitoringTool > | m_monTool {this,"MonTool","","Monitoring tool"} |
|
ToolHandle< Trk::IExtrapolator > | m_backExtrapolatorG4 |
| Handle to the G4 backExtrapolator tool. More...
|
|
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"} |
|
Gaudi::Property< bool > | m_useBackExtrapolatorG4 {this, "UseBackExtrapolatorG4", true, "Use g4-based back-extraploator"} |
| flag to switch between G4 and LUT based back-extrapolation More...
|
|
Gaudi::Property< bool > | m_assumeToroidOff {this, "AssumeToroidOff", false, "Force assumption toroid off"} |
| flag to assume B_Toroid=0 anyway More...
|
|
Gaudi::Property< bool > | m_assumeSolenoidOff {this, "AssumeSolenoidOff", false, "Force assumption solenoid off"} |
| flag to assume B_Solenoid=0 anyway More...
|
|
Gaudi::Property< int > | m_AlgoStrategy {this, "MuCombStrategy", 0, "Algoritgm strategy [0=auto select best option,1=simple angular match]"} |
| muComb matching strategy: 0: auto select best option 1: simplified R,(Pt) matching More...
|
|
Gaudi::Property< int > | m_ChargeStrategy {this, "ChargeStrategy", 0, "Charge assignement strategy [0=muFast,1=ID,2=resolution based]"} |
| muComb charge assignment strategy: 0: useMuFast 1: use ID 2: use resolution model More...
|
|
Gaudi::Property< std::string > | m_ID_algo_to_use {this, "IDalgo", "InDetTrigTrackingxAODCnv_Muon_FTF","ID trk xAOD collection to use"} |
| ID Track collection used for matching. More...
|
|
Gaudi::Property< double > | m_PtMinTrk {this, "MinPtTRK", 1.*Gaudi::Units::GeV, "ID track minimum pT"} |
| Min Pt to select the ID track for matching. More...
|
|
Gaudi::Property< double > | m_EtaMaxTrk {this, "MaxAbsEtaTRK", 2.5, "ID tracks max |eta|"} |
| Max abs(eta) to select the ID track for matching. More...
|
|
Gaudi::Property< int > | m_NdofMin {this, "NdofMin", 9999, "matching parameter: min ndof"} |
| Min Number of DOF to apply the chi2 cut on macthing based on LUT and G4 backextrapolators. More...
|
|
Gaudi::Property< bool > | m_UseAbsPt {this, "UseAbsPt", false, "matching parameter: use absolute pT"} |
| Use Absolute value of the Pt in chi2 calculation (i.e. More...
|
|
Gaudi::Property< double > | m_WinEta {this, "WinEtaSigma", 4.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_WinPhi {this, "WinPhiSigma", 4.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_Chi2Max {this, "Chi2Max", 1.e33, "matching parameter: LUT-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_WinEta_EC {this, "WinEtaSigmaEndCaps", 4.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_WinPhi_EC {this, "WinPhiSigmaEndCaps", 10., "matching parameter: LUT-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_Chi2Max_EC {this, "Chi2MaxEndCaps", 1.e33, "matching parameter: LUT-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_WinEta_TS {this, "WinEtaSigmaTS", 5.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (Trigger Stations) More...
|
|
Gaudi::Property< double > | m_WinPhi_TS {this, "WinPhiSigmaTS", 5.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (Trigger Stations) More...
|
|
Gaudi::Property< double > | m_Chi2Max_TS {this, "Chi2MaxTS", 1.e33, "matching parameter: LUT-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (Trigger Stations) More...
|
|
Gaudi::Property< double > | m_WinEta_FE {this, "WinEtaSigmaFE", 10.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (MS Feet region) More...
|
|
Gaudi::Property< double > | m_WinPhi_FE {this, "WinPhiSigmaFE", 10.0, "matching parameter: LUT-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (MS Feet region) More...
|
|
Gaudi::Property< double > | m_Chi2Max_FE {this, "Chi2MaxFE", 1.e33, "matching parameter: LUT-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (MS Feet region) More...
|
|
Gaudi::Property< double > | m_WeightEta {this, "WeightEta", 2.0, "matching parameter: LUT-based"} |
| Scale factor for the Eta matching window in LUT backextrapolator. More...
|
|
Gaudi::Property< double > | m_WeightPhi {this, "WeightPhi", 2.0, "matching parameter: LUT-based"} |
| Scale factor for the Phi matching window in LUT backextrapolator. More...
|
|
Gaudi::Property< double > | m_WinEta_g4 {this, "WinEtaSigma_g4", 7.0, "matching parameter: G4-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_WinPhi_g4 {this, "WinPhiSigma_g4", 7.0, "matching parameter: G4-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_Chi2Max_g4 {this, "Chi2Max_g4", 1.e33, "matching parameter: G4-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (Barrel) More...
|
|
Gaudi::Property< double > | m_WinEta_EC_g4 {this, "WinEtaSigmaEndCaps_g4",7.0, "matching parameter: G4-based"} |
| Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_WinPhi_EC_g4 {this, "WinPhiSigmaEndCaps_g4",7.0, "matching parameter: G4-based"} |
| Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_Chi2Max_EC_g4 {this, "Chi2MaxEndCaps_g4", 1.e33, "matching parameter: G4-based"} |
| Max Chi2 for the combined muon in LUT backextrapolator (EndCaps) More...
|
|
Gaudi::Property< double > | m_WeightEta_g4 {this, "WeightEta_g4", 2.0, "matching parameter: G4-based"} |
| Scale factor for the Eta matching window in LUT backextrapolator. More...
|
|
Gaudi::Property< double > | m_WeightPhi_g4 {this, "WeightPhi_g4", 2.0, "matching parameter: G4-based"} |
| Scale factor for the Phi matching window in LUT backextrapolator. More...
|
|
Gaudi::Property< double > | m_Chi2Weight_g4 {this, "Chi2Weight_g4", 2.0, "matching parameter: G4-based"} |
| Scale factor for the Chi2 1/pt resolutions (MS and ID) (Barrel) More...
|
|
Gaudi::Property< double > | m_winPt {this, "WinPt", -1.0*Gaudi::Units::GeV, "matching parameter (simplifed): pT windows in geV (disabled if < 0)"} |
| max deltaPt for simpified matching More...
|
|
Gaudi::Property< double > | m_winDR {this, "WinDelta", 0.2, "matching parameter (simplifed): strategy dependent"} |
| max deltaR for simplified matching More...
|
|
Gaudi::Property< std::vector< double > > | m_IDSCANRes_barrel {this, "IDSCANBarrelRes", {0.017, 0.000000418}, "ID parametrized rsolution for matching (barrel)"} |
|
Gaudi::Property< std::vector< double > > | m_IDSCANRes_endcap1 {this, "IDSCANEndcap1Res",{0.025, 0.0000002}, "ID parametrized rsolution for matching (ec1)"} |
|
Gaudi::Property< std::vector< double > > | m_IDSCANRes_endcap2 {this, "IDSCANEndcap2Res",{0.030, 0.0000002}, "ID parametrized rsolution for matching (ec2)"} |
|
Gaudi::Property< std::vector< double > > | m_IDSCANRes_endcap3 {this, "IDSCANEndcap3Res",{0.036, 0.0000004}, "ID parametrized rsolution for matching (ec3)"} |
|
Gaudi::Property< std::vector< double > > | m_IDSCANRes_endcap4 {this, "IDSCANEndcap4Res",{0.046, 0.0000002}, "ID parametrized rsolution for matching (ec4)"} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Main LVL2 Algorithm.
Sided by a xAOD::L2StandaloneMuon, match the muon spectrometer track with an ID track, and produces a xAOD::L2CombinedMuon.
Definition at line 53 of file muComb.h.
◆ StoreGateSvc_t
◆ muComb()
muComb::muComb |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ drptMatch() [1/2]
int muComb::drptMatch |
( |
const xAOD::L2StandAloneMuon * |
feature, |
|
|
double |
id_pt, |
|
|
double |
id_eta, |
|
|
double |
id_phi, |
|
|
int |
algo, |
|
|
double & |
combPtInv, |
|
|
double & |
combPtRes, |
|
|
double & |
deta, |
|
|
double & |
dphi, |
|
|
double & |
dr |
|
) |
| const |
|
private |
Definition at line 63 of file muComb.cxx.
69 return muComb::drptMatch(
pt,
eta,
phi, id_pt, id_eta, id_phi, algo, combPtInv, combPtRes, deta, dphi,
dr);
◆ drptMatch() [2/2]
int muComb::drptMatch |
( |
double |
pt, |
|
|
double |
eta, |
|
|
double |
phi, |
|
|
double |
id_pt, |
|
|
double |
id_eta, |
|
|
double |
id_phi, |
|
|
int |
algo, |
|
|
double & |
combPtInv, |
|
|
double & |
combPtRes, |
|
|
double & |
deta, |
|
|
double & |
dphi, |
|
|
double & |
dr |
|
) |
| const |
|
private |
Definition at line 72 of file muComb.cxx.
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;
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode muComb::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
execute execute the combined muon FEX.
Execute() method.
- Returns
- bool
Definition at line 456 of file muComb.cxx.
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;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ g4Match()
int muComb::g4Match |
( |
const ExtrapolationResult & |
extr, |
|
|
double |
id_eta, |
|
|
double |
id_phi, |
|
|
double |
id_pt, |
|
|
double |
id_charge, |
|
|
double |
id_eeta, |
|
|
double |
id_ephi, |
|
|
double |
id_eipt, |
|
|
double & |
combPtInv, |
|
|
double & |
combPtRes, |
|
|
double & |
deta, |
|
|
double & |
dphi, |
|
|
double & |
chi2, |
|
|
int & |
ndof |
|
) |
| const |
|
private |
Definition at line 231 of file muComb.cxx.
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;
◆ getExtrapolatedMuon()
Definition at line 129 of file muComb.cxx.
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
◆ initialize()
StatusCode muComb::initialize |
( |
| ) |
|
|
overridevirtual |
initialize.
Called by the Steering.
Definition at line 33 of file muComb.cxx.
50 return StatusCode::FAILURE;
58 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ mfMatch()
int muComb::mfMatch |
( |
const xAOD::L2StandAloneMuon * |
feature, |
|
|
double |
id_eta, |
|
|
double |
id_phi, |
|
|
double |
id_pt, |
|
|
double |
id_charge, |
|
|
double & |
combPtInv, |
|
|
double & |
combPtRes, |
|
|
double & |
deta, |
|
|
double & |
dphi, |
|
|
double & |
chi2, |
|
|
int & |
ndof |
|
) |
| const |
|
private |
Definition at line 330 of file muComb.cxx.
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;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_AlgoStrategy
Gaudi::Property<int> muComb::m_AlgoStrategy {this, "MuCombStrategy", 0, "Algoritgm strategy [0=auto select best option,1=simple angular match]"} |
|
private |
muComb matching strategy: 0: auto select best option 1: simplified R,(Pt) matching
Definition at line 129 of file muComb.h.
◆ m_assumeSolenoidOff
Gaudi::Property<bool> muComb::m_assumeSolenoidOff {this, "AssumeSolenoidOff", false, "Force assumption solenoid off"} |
|
private |
flag to assume B_Solenoid=0 anyway
Definition at line 122 of file muComb.h.
◆ m_assumeToroidOff
Gaudi::Property<bool> muComb::m_assumeToroidOff {this, "AssumeToroidOff", false, "Force assumption toroid off"} |
|
private |
flag to assume B_Toroid=0 anyway
Definition at line 120 of file muComb.h.
◆ m_backExtrapolatorG4
Initial value:{this,
"AtlasExtrapolator",
"Trk::Extrapolator/AtlasExtrapolator",
"Tool to backextrapolate muon from MS to IP (G4 based)"}
Handle to the G4 backExtrapolator tool.
Definition at line 86 of file muComb.h.
◆ m_ChargeStrategy
Gaudi::Property<int> muComb::m_ChargeStrategy {this, "ChargeStrategy", 0, "Charge assignement strategy [0=muFast,1=ID,2=resolution based]"} |
|
private |
muComb charge assignment strategy: 0: useMuFast 1: use ID 2: use resolution model
Definition at line 136 of file muComb.h.
◆ m_Chi2Max
Gaudi::Property<double> muComb::m_Chi2Max {this, "Chi2Max", 1.e33, "matching parameter: LUT-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
Definition at line 159 of file muComb.h.
◆ m_Chi2Max_EC
Gaudi::Property<double> muComb::m_Chi2Max_EC {this, "Chi2MaxEndCaps", 1.e33, "matching parameter: LUT-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (EndCaps)
Definition at line 165 of file muComb.h.
◆ m_Chi2Max_EC_g4
Gaudi::Property<double> muComb::m_Chi2Max_EC_g4 {this, "Chi2MaxEndCaps_g4", 1.e33, "matching parameter: G4-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (EndCaps)
Definition at line 195 of file muComb.h.
◆ m_Chi2Max_FE
Gaudi::Property<double> muComb::m_Chi2Max_FE {this, "Chi2MaxFE", 1.e33, "matching parameter: LUT-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (MS Feet region)
Definition at line 177 of file muComb.h.
◆ m_Chi2Max_g4
Gaudi::Property<double> muComb::m_Chi2Max_g4 {this, "Chi2Max_g4", 1.e33, "matching parameter: G4-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
Definition at line 189 of file muComb.h.
◆ m_Chi2Max_TS
Gaudi::Property<double> muComb::m_Chi2Max_TS {this, "Chi2MaxTS", 1.e33, "matching parameter: LUT-based"} |
|
private |
Max Chi2 for the combined muon in LUT backextrapolator (Trigger Stations)
Definition at line 171 of file muComb.h.
◆ m_Chi2Weight_g4
Gaudi::Property<double> muComb::m_Chi2Weight_g4 {this, "Chi2Weight_g4", 2.0, "matching parameter: G4-based"} |
|
private |
Scale factor for the Chi2 1/pt resolutions (MS and ID) (Barrel)
Definition at line 201 of file muComb.h.
◆ m_detStore
◆ m_EtaMaxTrk
Gaudi::Property<double> muComb::m_EtaMaxTrk {this, "MaxAbsEtaTRK", 2.5, "ID tracks max |eta|"} |
|
private |
Max abs(eta) to select the ID track for matching.
Definition at line 144 of file muComb.h.
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_fieldCacheCondObjInputKey
◆ m_ID_algo_to_use
Gaudi::Property<std::string> muComb::m_ID_algo_to_use {this, "IDalgo", "InDetTrigTrackingxAODCnv_Muon_FTF","ID trk xAOD collection to use"} |
|
private |
◆ m_IDSCANRes_barrel
Gaudi::Property<std::vector<double> > muComb::m_IDSCANRes_barrel {this, "IDSCANBarrelRes", {0.017, 0.000000418}, "ID parametrized rsolution for matching (barrel)"} |
|
private |
◆ m_IDSCANRes_endcap1
Gaudi::Property<std::vector<double> > muComb::m_IDSCANRes_endcap1 {this, "IDSCANEndcap1Res",{0.025, 0.0000002}, "ID parametrized rsolution for matching (ec1)"} |
|
private |
◆ m_IDSCANRes_endcap2
Gaudi::Property<std::vector<double> > muComb::m_IDSCANRes_endcap2 {this, "IDSCANEndcap2Res",{0.030, 0.0000002}, "ID parametrized rsolution for matching (ec2)"} |
|
private |
◆ m_IDSCANRes_endcap3
Gaudi::Property<std::vector<double> > muComb::m_IDSCANRes_endcap3 {this, "IDSCANEndcap3Res",{0.036, 0.0000004}, "ID parametrized rsolution for matching (ec3)"} |
|
private |
◆ m_IDSCANRes_endcap4
Gaudi::Property<std::vector<double> > muComb::m_IDSCANRes_endcap4 {this, "IDSCANEndcap4Res",{0.046, 0.0000002}, "ID parametrized rsolution for matching (ec4)"} |
|
private |
◆ m_monTool
◆ m_muonCollKey
Initial value:{ this,
"L2StandAloneMuonContainerName",
"xAOD::L2StandAloneMuonContainer",
"input L2StandAloneMuon Container name"}
Definition at line 72 of file muComb.h.
◆ m_NdofMin
Gaudi::Property<int> muComb::m_NdofMin {this, "NdofMin", 9999, "matching parameter: min ndof"} |
|
private |
Min Number of DOF to apply the chi2 cut on macthing based on LUT and G4 backextrapolators.
Definition at line 149 of file muComb.h.
◆ m_outputCBmuonCollKey
Initial value:{ this,
"L2CombinedMuonContainerName",
"MuonL2CBInfo",
"output CB Muon container name"}
Definition at line 78 of file muComb.h.
◆ m_PtMinTrk
Gaudi::Property<double> muComb::m_PtMinTrk {this, "MinPtTRK", 1.*Gaudi::Units::GeV, "ID track minimum pT"} |
|
private |
Min Pt to select the ID track for matching.
Definition at line 142 of file muComb.h.
◆ m_TrackParticleContainerKey
Initial value:{ this,
"TrackParticlesContainerName",
"InDetTrigTrackingxAODCnv_Muon_FTF",
"input TrackParticle container name"}
Definition at line 67 of file muComb.h.
◆ m_UseAbsPt
Gaudi::Property<bool> muComb::m_UseAbsPt {this, "UseAbsPt", false, "matching parameter: use absolute pT"} |
|
private |
Use Absolute value of the Pt in chi2 calculation (i.e.
not use muon charge)
Definition at line 151 of file muComb.h.
◆ m_useBackExtrapolatorG4
Gaudi::Property<bool> muComb::m_useBackExtrapolatorG4 {this, "UseBackExtrapolatorG4", true, "Use g4-based back-extraploator"} |
|
private |
flag to switch between G4 and LUT based back-extrapolation
Definition at line 117 of file muComb.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_WeightEta
Gaudi::Property<double> muComb::m_WeightEta {this, "WeightEta", 2.0, "matching parameter: LUT-based"} |
|
private |
Scale factor for the Eta matching window in LUT backextrapolator.
Definition at line 179 of file muComb.h.
◆ m_WeightEta_g4
Gaudi::Property<double> muComb::m_WeightEta_g4 {this, "WeightEta_g4", 2.0, "matching parameter: G4-based"} |
|
private |
Scale factor for the Eta matching window in LUT backextrapolator.
Definition at line 197 of file muComb.h.
◆ m_WeightPhi
Gaudi::Property<double> muComb::m_WeightPhi {this, "WeightPhi", 2.0, "matching parameter: LUT-based"} |
|
private |
Scale factor for the Phi matching window in LUT backextrapolator.
Definition at line 181 of file muComb.h.
◆ m_WeightPhi_g4
Gaudi::Property<double> muComb::m_WeightPhi_g4 {this, "WeightPhi_g4", 2.0, "matching parameter: G4-based"} |
|
private |
Scale factor for the Phi matching window in LUT backextrapolator.
Definition at line 199 of file muComb.h.
◆ m_winDR
Gaudi::Property<double> muComb::m_winDR {this, "WinDelta", 0.2, "matching parameter (simplifed): strategy dependent"} |
|
private |
max deltaR for simplified matching
Definition at line 207 of file muComb.h.
◆ m_WinEta
Gaudi::Property<double> muComb::m_WinEta {this, "WinEtaSigma", 4.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (Barrel)
Definition at line 155 of file muComb.h.
◆ m_WinEta_EC
Gaudi::Property<double> muComb::m_WinEta_EC {this, "WinEtaSigmaEndCaps", 4.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
Definition at line 161 of file muComb.h.
◆ m_WinEta_EC_g4
Gaudi::Property<double> muComb::m_WinEta_EC_g4 {this, "WinEtaSigmaEndCaps_g4",7.0, "matching parameter: G4-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
Definition at line 191 of file muComb.h.
◆ m_WinEta_FE
Gaudi::Property<double> muComb::m_WinEta_FE {this, "WinEtaSigmaFE", 10.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (MS Feet region)
Definition at line 173 of file muComb.h.
◆ m_WinEta_g4
Gaudi::Property<double> muComb::m_WinEta_g4 {this, "WinEtaSigma_g4", 7.0, "matching parameter: G4-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (Barrel)
Definition at line 185 of file muComb.h.
◆ m_WinEta_TS
Gaudi::Property<double> muComb::m_WinEta_TS {this, "WinEtaSigmaTS", 5.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Eta matching window LUT backextrapolator (Trigger Stations)
Definition at line 167 of file muComb.h.
◆ m_WinPhi
Gaudi::Property<double> muComb::m_WinPhi {this, "WinPhiSigma", 4.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (Barrel)
Definition at line 157 of file muComb.h.
◆ m_WinPhi_EC
Gaudi::Property<double> muComb::m_WinPhi_EC {this, "WinPhiSigmaEndCaps", 10., "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps)
Definition at line 163 of file muComb.h.
◆ m_WinPhi_EC_g4
Gaudi::Property<double> muComb::m_WinPhi_EC_g4 {this, "WinPhiSigmaEndCaps_g4",7.0, "matching parameter: G4-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps)
Definition at line 193 of file muComb.h.
◆ m_WinPhi_FE
Gaudi::Property<double> muComb::m_WinPhi_FE {this, "WinPhiSigmaFE", 10.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (MS Feet region)
Definition at line 175 of file muComb.h.
◆ m_WinPhi_g4
Gaudi::Property<double> muComb::m_WinPhi_g4 {this, "WinPhiSigma_g4", 7.0, "matching parameter: G4-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (Barrel)
Definition at line 187 of file muComb.h.
◆ m_WinPhi_TS
Gaudi::Property<double> muComb::m_WinPhi_TS {this, "WinPhiSigmaTS", 5.0, "matching parameter: LUT-based"} |
|
private |
Number of sigmas for the Phi matching window LUT backextrapolator (Trigger Stations)
Definition at line 169 of file muComb.h.
◆ m_winPt
Gaudi::Property<double> muComb::m_winPt {this, "WinPt", -1.0*Gaudi::Units::GeV, "matching parameter (simplifed): pT windows in geV (disabled if < 0)"} |
|
private |
max deltaPt for simpified matching
Definition at line 205 of file muComb.h.
The documentation for this class was generated from the following files:
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
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
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
float z0() const
Returns the parameter.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
@ BarrelInner
Inner station in the barrel spectrometer.
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap4
std::vector< SG::VarHandleKeyArray * > m_vhka
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.
virtual void setOwner(IDataHandleHolder *o)=0
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
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 std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
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)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
float zMS() const
Get the Z at muon spectrometer.
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
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)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
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)
bool solenoidOn() const
status of the magnets
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
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)
#define ATH_MSG_WARNING(x)
@ EndcapInner
Inner station in the endcap spectrometer.
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.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
float deltaPhi() const
Get error of phi.
virtual double pt() const
The transverse momentum ( ) of the particle.
virtual StatusCode sysInitialize() override
Override sysInitialize.
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.
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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.
@ 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)