|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   34   return StatusCode::SUCCESS;
 
   46 std::tuple<bool, double,double> MuonMatchingTool :: trigPosForMatch<xAOD::L2StandAloneMuon>(
const xAOD::L2StandAloneMuon *trig){
 
   47   return std::forward_as_tuple(
true, trig->
roiEta(), trig->
roiPhi());
 
   52   return mu->muonType() == xAOD::Muon::MuonType::MuonStandAlone ? std::forward_as_tuple(
true, 
mu->eta(), 
mu->phi()) : std::forward_as_tuple(
false, 0., 0.);
 
   60   const xAOD::TrackParticle* MuonTrack = 
mu->trackParticle(xAOD::Muon::TrackParticleType::ExtrapolatedMuonSpectrometerTrackParticle);
 
   61   return MuonTrack ? std::forward_as_tuple(
true, MuonTrack->
eta(), MuonTrack->
phi()) : std::forward_as_tuple(
false, 0., 0.);
 
   65   const xAOD::TrackParticle* MuonTrack = 
mu->trackParticle(xAOD::Muon::TrackParticleType::CombinedTrackParticle);
 
   66   return MuonTrack ? std::forward_as_tuple(
true, MuonTrack->
eta(), MuonTrack->
phi()) : std::forward_as_tuple(
false, 0., 0.);
 
   73   using Type = xAOD::Muon::TrackParticleType;
 
   74   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
   75                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
   76                             Type::MuonSpectrometerTrackParticle};
 
   78     MuonTrack = 
mu->trackParticle(
type);
 
   86   ATH_MSG_DEBUG(
"MuonMonitoring::matchEFSA() for truth particle");
 
   95   using Type = xAOD::Muon::TrackParticleType;
 
   96   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
   97                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
   98                             Type::MuonSpectrometerTrackParticle};
 
  100     MuonTrack = 
mu->trackParticle(
type);
 
  101     if (MuonTrack) 
break;
 
  109   using Type = xAOD::Muon::TrackParticleType;
 
  110   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
  111                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
  112                             Type::MuonSpectrometerTrackParticle};
 
  114     MuonTrack = 
mu->trackParticle(
type);
 
  115     if (MuonTrack) 
break;
 
  121   ATH_MSG_DEBUG(
"MuonMonitoring::matchEFCB() for TruthParticle");
 
  149   using Type = xAOD::Muon::TrackParticleType;
 
  150   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
  151                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
  152                             Type::MuonSpectrometerTrackParticle};
 
  154     MuonTrack = 
mu->trackParticle(
type);
 
  156     if (MuonTrack) 
break;
 
  162   ATH_MSG_DEBUG(
"MuonMonitoring::matchEFSAFS() for truth particle");
 
  171   using Type = xAOD::Muon::TrackParticleType;
 
  172   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
  173                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
  174                             Type::MuonSpectrometerTrackParticle};
 
  176     MuonTrack = 
mu->trackParticle(
type);
 
  177     if (MuonTrack) 
break;
 
  185   using Type = xAOD::Muon::TrackParticleType;
 
  186   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
  187                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
  188                             Type::MuonSpectrometerTrackParticle};
 
  190     MuonTrack = 
mu->trackParticle(
type);
 
  191     if (MuonTrack) 
break;
 
  197   ATH_MSG_DEBUG(
"MuonMonitoring::matchEFCBFS() for TruthParticle");
 
  229   ATH_MSG_DEBUG(
"MuonMonitoring::matchEFIso() for truth particle");
 
  237   float EFEta = (*muEL)->eta();
 
  238   float EFPhi = (*muEL)->phi();
 
  242   if ( !trackHandle.
isValid() ) 
return MatchedTrack;
 
  250     float deta = EFEta - (*it)->eta();
 
  252     float dR = std::sqrt(deta*deta + dphi*dphi);
 
  256       MatchedTrack = (*it);
 
  280       return match<xAOD::L2StandAloneMuon>( &extPos, trig, reqdR, pass);
 
  283   return match<xAOD::L2StandAloneMuon>( 
mu, trig, reqdR, pass, 
"HLT_MuonL2SAInfo");
 
  289   return matchLinkInfo<xAOD::L2StandAloneMuon>( 
mu, std::move(trig), 1000., pass, 
"HLT_MuonL2SAInfo");
 
  303   using Type = xAOD::Muon::TrackParticleType;
 
  304   std::vector<Type> types { Type::ExtrapolatedMuonSpectrometerTrackParticle,
 
  305                             Type::MSOnlyExtrapolatedMuonSpectrometerTrackParticle,
 
  306                             Type::MuonSpectrometerTrackParticle};
 
  308     MuonTrack = 
mu->trackParticle(
type);
 
  309     if (MuonTrack) 
break;
 
  311   return MuonTrack ? matchReadHandle<xAOD::L2StandAloneMuon>( MuonTrack, reqdR, 
m_L2MuonSAContainerKey, ctx) : 
nullptr;
 
  317   return match<xAOD::L2CombinedMuon>( 
mu, std::move(trig), 
m_L2CBreqdR, pass, 
"HLT_MuonL2CBInfo");
 
  323   return matchLinkInfo<xAOD::L2CombinedMuon>( 
mu, std::move(trig),  1000., pass, 
"HLT_MuonL2CBInfo");
 
  344         const std::vector<std::pair<std::shared_ptr<TrigConf::L1Threshold>, 
bool> > L1thr_list = 
m_thresholdTool-> getThresholdDecisions(
 
  345                     l1muon->roiWord(), Gaudi::Hive::currentContext());
 
  348         bool L1thr_isMatch = 
false;
 
  349         for(
const std::pair<std::shared_ptr<TrigConf::L1Threshold>, 
bool>&  L1thr : L1thr_list){
 
  350             std::shared_ptr<TrigConf::L1Threshold_MU> 
thr = std::static_pointer_cast<TrigConf::L1Threshold_MU>(L1thr.first);
 
  351             if (L1toMatch == 
thr->name()){
 
  352                 L1thr_isMatch = L1thr.second;
 
  356         if (!L1thr_isMatch) 
continue;
 
  358         double l1muonEta = l1muon->eta();
 
  359         double l1muonPhi = l1muon->phi();
 
  361         double deta = refEta - l1muonEta;
 
  363         double dR = std::sqrt(deta*deta + dphi*dphi);
 
  364         ATH_MSG_DEBUG(
"L1 muon candidate eta=" << l1muonEta << 
" phi=" << l1muonPhi << 
" dR=" << dR);
 
  369             ATH_MSG_DEBUG(
"*** L1 muon eta=" << l1muonEta << 
" phi=" << l1muonPhi << 
" dR=" << dR <<  
" isPassed=true" ); 
 
  372             ATH_MSG_DEBUG(
"*** L1 muon eta=" << l1muonEta << 
" phi=" << l1muonPhi << 
" dR=" << dR <<  
" isPassed=false" );
 
  379   double refEta = 
mu->eta();
 
  380   double refPhi = 
mu->phi();
 
  387       refEta = extPos.eta();
 
  388       refPhi = extPos.phi();
 
  391   return matchL1(refEta, refPhi, reqdR, trig, pass); 
 
  395   double refEta = 
mu->eta();
 
  396   double refPhi = 
mu->phi();
 
  398   return matchL1(refEta, refPhi, reqdR, trig, pass);
 
  411   float offlEta = 
mu->eta();
 
  412   float offlPhi = 
mu->phi();
 
  413   float trigEta = samu->
roiEta();
 
  414   float trigPhi = samu->
roiPhi();
 
  416   float deta = offlEta - trigEta;
 
  418   float dR = sqrt(deta*deta + dphi*dphi);
 
  433   return 1/(1+TMath::Exp(-10*(
x-x0)/
w));
 
  443   if(!
track) 
return extTGC;
 
  444   double trkEta = 
track->eta();
 
  448   if( fabs(trkEta)<1.05){
 
  457       if(fabs(extEta)>=1.05){
 
  463   else if( fabs(trkEta)>=1.05 ){
 
  472       if(fabs(extEta)<1.05){
 
  482   return (
isBarrel) ? extRPC : extTGC;
 
  489   if(!trk) 
return nullptr;
 
  490   double TGC_Z = ( trk->
eta()>0 )? 15153.0:-15153.0;
 
  494   const bool boundaryCheck = 
true;
 
  504         << 
" eta=" << ((param) ? param->
position().eta() : 0) 
 
  505         << 
" phi=" << ((param) ? param->
position().phi() : 0));;
 
  513   if(!trk) 
return nullptr;
 
  515   const bool boundaryCheck = 
true;
 
  530   if( mupt < 10000. ) {
 
  531     dR = -0.00001*mupt + 0.18;
 
  
Const iterator class for DataVector/DataList.
ElementLink< T > link
Link to the feature.
Class describing standalone muons reconstructed in the LVL2 trigger.
const Amg::Vector3D & position() const
Access method for the position.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
const std::string & lower_chain_name() const
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
HLT chain configuration information.
Class describing combined muon reconstructed in the LVL2 trigger.
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
float roiPhi() const
Get and set RoI phi.
double deltaR(double rapidity1, double phi1, double rapidity2, double phi2)
from bare bare rapidity,phi
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
Eigen::Affine3d Transform3D
Class describing a LVL1 muon region of interest.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ElementLink implementation for ROOT usage.
Eigen::Matrix< double, 3, 1 > Vector3D
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
float roiEta() const
Get and set RoI eta.
Class describing a TrackParticle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range  to .)