|
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 > &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 xAOD::L2StandAloneMuon *feature) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &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()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
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 55 of file AthReentrantAlgorithm.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 65 of file muComb.cxx.
71 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 74 of file muComb.cxx.
82 if (algo < 1 || algo > 4) {
83 ATH_MSG_DEBUG(
" muComb::drptMatch wrong algo parameter, it is: " << algo
84 <<
" while must be in the range [1,4], match failed!!!" );
92 if (algo == 1) combPtInv = ((1. /
pt) + (1. / id_pt)) * 0.5;
93 if (algo == 2) combPtInv = 1. / id_pt;
94 if (algo == 3) combPtInv = 1. /
pt;
95 if (algo == 4) combPtInv = 1.e-33;
99 if (tmp_dphi >=
M_PI) tmp_dphi = 2 *
M_PI - tmp_dphi;
100 double tmp_dr = std::sqrt(tmp_deta * tmp_deta + tmp_dphi * tmp_dphi);
109 if (tmp_dr > winDR) passDR =
false;
111 ATH_MSG_DEBUG(
" REGTEST Angular MU-ID match / dR / threshold / result:"
114 <<
" / " << (passDR ?
"true" :
"false"));
116 if (algo == 1 && winPt > 0) {
118 if (tmp_dpt > winPt) passPt =
false;
119 ATH_MSG_DEBUG(
" REGTEST MU-ID match / dpt (GeV) / threshold (GeV) / result:"
122 <<
" / " << (passPt ?
"true" :
"false"));
125 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 460 of file muComb.cxx.
462 using namespace xAOD;
495 ptID, etaID, phiID, zetaID,
498 efficiency, StrategyMC, ErrorFlagMC, MatchFlagMC);
509 if (fieldCondObj ==
nullptr) {
511 return StatusCode::FAILURE;
514 fieldCondObj->getInitializedCache (fieldCache);
518 ATH_MSG_DEBUG(
"=========== Magnetic Field Status ========== " );
521 ATH_MSG_DEBUG(
" ---> Solenoid : " << ((solenoidOn) ?
"ON" :
"OFF") );
522 ATH_MSG_DEBUG(
" ---> Toroid : " << ((toroidOn) ?
"ON" :
"OFF") );
535 if (toroidOn) usealgo = 3;
541 ATH_MSG_DEBUG(
"=========== Matching windows g4 ========== " );
553 ATH_CHECK( muonCBColl.record (std::make_unique<xAOD::L2CombinedMuonContainer>(),
554 std::make_unique<xAOD::L2CombinedMuonAuxContainer>()) );
561 if (muonColl->size() == 0) {
567 ATH_MSG_DEBUG(
" L2StandAloneMuonContainer empty -> stop processing RoI, no match" );
568 return StatusCode::SUCCESS;
576 for(
uint i_muonSA = 0; i_muonSA < muonColl->size(); i_muonSA++){
590 if (muonSA->
pt() == 0.) {
592 if (usealgo == 2 || usealgo == 4) {
593 ATH_MSG_DEBUG(
" L2StandAloneMuon pt = 0 --> using angular match" );
596 ATH_MSG_DEBUG(
" L2StandAloneMuon pt = 0 --> stop processing RoI, no match" );
598 muonCBColl->push_back(muonCB);
599 return StatusCode::SUCCESS;
610 double eta_ms = -999.;
611 double phi_ms = -999.;
612 double zeta_ms = -999.;
637 eta_ms = muonSA->
etaMS();
638 phi_ms = muonSA->
phiMS();
639 zeta_ms = muonSA->
zMS();
642 <<
" / eta = " <<
eta
643 <<
" / phi = " <<
phi
644 <<
" / etaMS = " << eta_ms
645 <<
" / phiMS = " << phi_ms
646 <<
" / zMS = " << zeta_ms);
653 if (!idTrackParticles.isValid()){
654 ATH_MSG_DEBUG(
" Failed to get xAOD::TrackParticleContainer --> no match" );
657 muonCBColl->push_back(muonCB);
658 return StatusCode::SUCCESS;
660 if (idTrackParticles->size() < 1){
661 ATH_MSG_DEBUG(
" xAOD::TrackParticleContainer has 0 tracks --> no match" );
664 muonCBColl->push_back(muonCB);
665 return StatusCode::SUCCESS;
668 ATH_MSG_DEBUG(
" Found xAOD::TrackParticleContainer with size: " << idTrackParticles->size() );
671 double ptinv_comb = 0.;
672 double ptres_comb = 0.001;
673 double chi2_comb = 1.0e33;
675 double best_dr = 1.0e33;
676 double best_deta = 1.0e33;
677 double best_dphi = 1.0e33;
678 bool has_match =
false;
680 int matched_trk_idx = -1;
681 int matched_trk_idx_tmp = -1;
692 for(
const auto trkit:(*idTrackParticles)) {
694 matched_trk_idx_tmp++;
695 double ptinv_tmp = 0.;
696 double ptres_tmp = 0.001;
697 double deta_tmp = 0.;
698 double dphi_tmp = 0.;
700 double chi2_tmp = 0.;
702 bool has_match_tmp =
false;
706 double phi_id = (trkit)->
phi();
707 double eta_id = (trkit)->
eta();
708 double qoverp_id = (trkit)->
qOverP();
709 double q_id = ((trkit)->
qOverP() > 0 ? 1.0 : -1.0);
710 double pt_id = (trkit)->
pt() * q_id;
713 double e_phi_id = std::sqrt((trkit)->definingParametersCovMatrix()(
Trk::phi0,
Trk::phi0));
716 double e_eta_id = std::fabs(0.5 * (1./tanthetaov2 + tanthetaov2) * e_theta_id);
718 double e_qoverpt_id = e_qoverp_id;
719 double theta_id = (trkit)->
theta();
725 <<
", eta = " << eta_id
726 <<
", phi = " << phi_id
727 <<
", th = " << theta_id
728 <<
", ephi = " << e_phi_id
729 <<
", eth = " << e_theta_id
730 <<
", eeta = " << e_eta_id
731 <<
", ip = " << qoverp_id
732 <<
", eip = " << e_qoverp_id
733 <<
", eipt = " << e_qoverpt_id );
747 imatch_tmp =
drptMatch(muonSA, pt_id, eta_id, phi_id, usealgo, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp);
749 if (imatch_tmp == 0) has_match_tmp =
true;
752 imatch_tmp =
mfMatch(muonSA, eta_id, phi_id, pt_id, q_id, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp, ndof_tmp);
753 if (imatch_tmp == 0) has_match_tmp =
true;
755 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);
756 if (imatch_tmp == 0) has_match_tmp =
true;
761 if (!has_match_tmp)
continue;
764 dr_tmp = std::sqrt(deta_tmp * deta_tmp + dphi_tmp * dphi_tmp);
766 if (chi2_tmp <= chi2_comb) {
768 chi2_comb = chi2_tmp;
769 ndof_comb = ndof_tmp;
770 ptinv_comb = ptinv_tmp;
771 ptres_comb = ptres_tmp;
772 best_deta = deta_tmp;
773 best_dphi = dphi_tmp;
776 matched_trk_idx = matched_trk_idx_tmp;
782 if (usealgo == 0 && std::fabs(
pt) >= 6.) {
790 if (ptMS > 100.) ptMS = 101.5;
791 if (ptMS < -100.) ptMS = -101.5;
792 if (ptFL > 100.) ptFL = 101.5;
793 if (ptFL < -100.) ptFL = -101.5;
798 MatchFlagMC = imatch;
799 if (usealgo == 0 && std::fabs(
pt) >= 6.)
efficiency = 0;
803 muonCBColl->push_back(muonCB);
804 return StatusCode::SUCCESS;
812 double q_id = ((muonCB->
idTrack()->
qOverP()) > 0 ? 1.0 : -1.0);
816 double zPos_id = muonCB->
idTrack()->
z0();
821 MatchFlagMC = imatch;
825 if (usealgo == 0 && std::fabs(
pt) >= 6.) {
832 dZeta = zeta_ms - zPos_id;
837 if (ptMC > 100.) ptMC = 101.5;
838 if (ptMC < -100.) ptMC = -101.5;
839 if (ptID > 100.) ptID = 101.5;
840 if (ptID < -100.) ptID = -101.5;
847 <<
" 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 );
849 muonCB->
setPt(std::fabs(1. / ptinv_comb));
854 if (ptinv_comb > 0) mcq = 1.0;
858 float mcresu = std::fabs(ptres_comb / (ptinv_comb * ptinv_comb));
865 muonCBColl->push_back(muonCB);
867 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()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ 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 235 of file muComb.cxx.
248 double id_ptinv = 1.0e33;
250 id_ptinv = 1. / id_pt;
255 double id_eptinv = id_eipt;
261 double q_tmp = extr.
charge;
264 if (1. / combPtInv > 50000.) q_tmp = extr.
charge;
265 else q_tmp = id_charge;
272 double ephi_to_use = extr.
ephi;
281 id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv,
true);
283 id_eta, id_eeta, id_phi, id_ephi, id_ptinv, id_eptinv,
m_UseAbsPt);
286 ATH_MSG_DEBUG(
" REGTEST Resolution / OLDIdRes / IdRes / muFastRes / combRes:"
292 ATH_MSG_DEBUG(
" REGTEST Momentum / IdPt / muFastPt / CombPt :"
298 <<
" / " << std::setw(11) <<
chi2
299 <<
" / " << std::setw(11) <<
ndof
300 <<
" // " << std::setw(11) << chi2_OLD
301 <<
" / " << std::setw(11) << ndof_OLD );
313 ATH_MSG_DEBUG(
" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
314 <<
" / " << std::setw(11) << std::fabs(deta)
315 <<
" / " << std::setw(11) << std::fabs(dphi)
317 <<
" / " << std::setw(11) <<
m_WeightPhi_g4*winPhiSigma*std::sqrt(ephi_to_use * ephi_to_use) );
322 if (std::fabs(dphi) >
m_WeightPhi_g4 * winPhiSigma * std::sqrt(ephi_to_use * ephi_to_use)) {
326 if (
chi2 > maxChi2)
return 6;
◆ getExtrapolatedMuon()
Definition at line 131 of file muComb.cxx.
136 const EventContext& ctx = Gaudi::Hive::currentContext();
150 double q_over_p = 0.;
163 double etaShift = (
result.isBarrel ? 0 :
result.charge * 0.01);
176 if ((std::fabs(sp1_R) < 1000.)) {
180 if ((std::fabs(sp2_R) < 1300.)) {
187 if (
R == 0. &&
z == 0.) {
189 if (std::fabs(sp2_R) > 1300.) {
191 if (
z == 0.)
z = 7600.;
205 std::unique_ptr<const Trk::TrackParameters> muonPerigee
◆ initialize()
StatusCode muComb::initialize |
( |
| ) |
|
|
overridevirtual |
initialize.
Called by the Steering.
Definition at line 35 of file muComb.cxx.
52 return StatusCode::FAILURE;
60 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()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, InDet::SiSPGNNTrackMaker, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ 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 334 of file muComb.cxx.
348 bool isTS = ((feature->
rMS() <= 10.) ? true :
false);
352 double ptinv = 1. /
pt;
358 double id_ptinv = 1.0e33;
361 id_ptinv = 1. / id_pt;
373 if (1. / combPtInv > 50000.) q_tmp =
charge;
374 else q_tmp = id_charge;
379 double extr_eta = feature->
eta();
380 double extr_eeta = feature->
deltaEta();
381 double extr_phi = feature->
phi();
382 double extr_ephi = feature->
deltaPhi();
383 double extr_ptinv = ptinv;
384 double extr_eptinv = eptinv;
395 id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv,
m_UseAbsPt);
398 ATH_MSG_DEBUG(
" REGTEST Resolution / IdRes / muFastRes / combRes:"
403 ATH_MSG_DEBUG(
" REGTEST Momentum / IdPt / muFastPt / CombPt :"
409 <<
" / " << std::setw(11) <<
chi2
410 <<
" / " << std::setw(11) <<
ndof );
429 if ((id_phi >= -2.60 && id_phi <= -2.10) || (id_phi >= -1.10 && id_phi <= -0.50)) isFT =
true;
436 ATH_MSG_DEBUG(
" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
437 <<
" / " << std::setw(11) << std::fabs(deta)
438 <<
" / " << std::setw(11) << std::fabs(dphi)
439 <<
" / " << std::setw(11) <<
m_WeightEta*winEtaSigma*std::sqrt(extr_eeta * extr_eeta)
440 <<
" / " << std::setw(11) <<
m_WeightPhi*winPhiSigma*std::sqrt(extr_ephi * extr_ephi) );
442 if (std::fabs(deta) >
m_WeightEta * winEtaSigma * std::sqrt(extr_eeta * extr_eeta)) {
445 if (std::fabs(dphi) >
m_WeightPhi * winPhiSigma * std::sqrt(extr_ephi * extr_ephi)) {
449 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()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
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 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
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 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 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
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.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::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
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)
ExtrapolationResult getExtrapolatedMuon(const xAOD::L2StandAloneMuon *feature) const
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
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="")
AthReentrantAlgorithm()
Default constructor:
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)
float zMS() const
Get the Z at muon spectrometer.
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
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.
double chi2(TH1 *h0, TH1 *h1)
#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
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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
virtual StatusCode sysInitialize() override
Override sysInitialize.
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)
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.
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.
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
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.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ 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)