|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   14 #ifndef TRIGMUCOMB_MUCOMB_H 
   15 #define TRIGMUCOMB_MUCOMB_H 
   22 #include "GaudiKernel/ToolHandle.h" 
   23 #include "GaudiKernel/SystemOfUnits.h" 
   57   muComb(
const std::string&, ISvcLocator*);
 
   68       "TrackParticlesContainerName",            
 
   69       "InDetTrigTrackingxAODCnv_Muon_FTF",      
 
   70       "input TrackParticle container name"};
 
   73       "L2StandAloneMuonContainerName",          
 
   74       "xAOD::L2StandAloneMuonContainer",        
 
   75       "input L2StandAloneMuon Container name"};
 
   79       "L2CombinedMuonContainerName",           
 
   81       "output CB Muon container name"};
 
   83   ToolHandle<GenericMonitoringTool> 
m_monTool{
this,
"MonTool",
"",
"Monitoring tool"};
 
   88      "Trk::Extrapolator/AtlasExtrapolator",
 
   89      "Tool to backextrapolate muon from MS to IP (G4 based)"};
 
   95                    double, 
double, 
double, 
int,
 
   96            double&, 
double&, 
double&, 
double&, 
double&) 
const;
 
   99                    double, 
double, 
double, 
int,
 
  100            double&, 
double&, 
double&, 
double&, 
double&) 
const;
 
  103                  double, 
double, 
double, 
double,
 
  104          double&, 
double&, 
double&, 
double&, 
double&, 
int&) 
const;
 
  107                  double, 
double, 
double, 
double, 
double, 
double, 
double,
 
  108          double&, 
double&, 
double&, 
double&, 
double&, 
int&) 
const;
 
  120    Gaudi::Property<bool> 
m_assumeToroidOff       {
this, 
"AssumeToroidOff",       
false, 
"Force assumption toroid off"};
 
  122    Gaudi::Property<bool> 
m_assumeSolenoidOff     {
this, 
"AssumeSolenoidOff",     
false, 
"Force assumption solenoid off"};
 
  129    Gaudi::Property<int> 
m_AlgoStrategy {
this, 
"MuCombStrategy", 0, 
"Algoritgm strategy [0=auto select best option,1=simple angular match]"};
 
  136    Gaudi::Property<int> 
m_ChargeStrategy {
this, 
"ChargeStrategy", 0, 
"Charge assignement strategy [0=muFast,1=ID,2=resolution based]"};
 
  139    Gaudi::Property<std::string> 
m_ID_algo_to_use {
this, 
"IDalgo", 
"InDetTrigTrackingxAODCnv_Muon_FTF",
"ID trk xAOD collection to use"};
 
  144    Gaudi::Property<double> 
m_EtaMaxTrk {
this, 
"MaxAbsEtaTRK", 2.5, 
"ID tracks max |eta|"};
 
  149    Gaudi::Property<int>  
m_NdofMin   {
this, 
"NdofMin",     9999, 
"matching parameter: min ndof"};
 
  151    Gaudi::Property<bool> 
m_UseAbsPt  {
this, 
"UseAbsPt",    
false, 
"matching parameter: use absolute pT"};
 
  155    Gaudi::Property<double>  
m_WinEta         {
this, 
"WinEtaSigma",          4.0, 
"matching parameter: LUT-based"};
 
  157    Gaudi::Property<double>  
m_WinPhi         {
this, 
"WinPhiSigma",          4.0, 
"matching parameter: LUT-based"};
 
  159    Gaudi::Property<double>  
m_Chi2Max        {
this, 
"Chi2Max",              1.e33, 
"matching parameter: LUT-based"};
 
  161    Gaudi::Property<double>  
m_WinEta_EC      {
this, 
"WinEtaSigmaEndCaps",   4.0, 
"matching parameter: LUT-based"};
 
  163    Gaudi::Property<double>  
m_WinPhi_EC      {
this, 
"WinPhiSigmaEndCaps",   10., 
"matching parameter: LUT-based"};
 
  165    Gaudi::Property<double>  
m_Chi2Max_EC     {
this, 
"Chi2MaxEndCaps",       1.e33, 
"matching parameter: LUT-based"};
 
  167    Gaudi::Property<double>  
m_WinEta_TS      {
this, 
"WinEtaSigmaTS",        5.0, 
"matching parameter: LUT-based"};
 
  169    Gaudi::Property<double>  
m_WinPhi_TS      {
this, 
"WinPhiSigmaTS",        5.0, 
"matching parameter: LUT-based"};
 
  171    Gaudi::Property<double>  
m_Chi2Max_TS     {
this, 
"Chi2MaxTS",            1.e33, 
"matching parameter: LUT-based"};
 
  173    Gaudi::Property<double>  
m_WinEta_FE      {
this, 
"WinEtaSigmaFE",        10.0, 
"matching parameter: LUT-based"};
 
  175    Gaudi::Property<double>  
m_WinPhi_FE      {
this, 
"WinPhiSigmaFE",        10.0, 
"matching parameter: LUT-based"};
 
  177    Gaudi::Property<double>  
m_Chi2Max_FE     {
this, 
"Chi2MaxFE",            1.e33, 
"matching parameter: LUT-based"};
 
  179    Gaudi::Property<double>  
m_WeightEta      {
this, 
"WeightEta",            2.0, 
"matching parameter: LUT-based"};
 
  181    Gaudi::Property<double>  
m_WeightPhi      {
this, 
"WeightPhi",            2.0, 
"matching parameter: LUT-based"};
 
  185    Gaudi::Property<double>  
m_WinEta_g4      {
this, 
"WinEtaSigma_g4",       7.0, 
"matching parameter: G4-based"};
 
  187    Gaudi::Property<double>  
m_WinPhi_g4      {
this, 
"WinPhiSigma_g4",       7.0, 
"matching parameter: G4-based"};
 
  189    Gaudi::Property<double>  
m_Chi2Max_g4     {
this, 
"Chi2Max_g4",           1.e33, 
"matching parameter: G4-based"};
 
  191    Gaudi::Property<double>  
m_WinEta_EC_g4   {
this, 
"WinEtaSigmaEndCaps_g4",7.0, 
"matching parameter: G4-based"};
 
  193    Gaudi::Property<double>  
m_WinPhi_EC_g4   {
this, 
"WinPhiSigmaEndCaps_g4",7.0, 
"matching parameter: G4-based"};
 
  195    Gaudi::Property<double>  
m_Chi2Max_EC_g4  {
this, 
"Chi2MaxEndCaps_g4",    1.e33, 
"matching parameter: G4-based"};
 
  197    Gaudi::Property<double>  
m_WeightEta_g4   {
this, 
"WeightEta_g4",         2.0, 
"matching parameter: G4-based"};
 
  199    Gaudi::Property<double>  
m_WeightPhi_g4   {
this, 
"WeightPhi_g4",         2.0, 
"matching parameter: G4-based"};
 
  201    Gaudi::Property<double>  
m_Chi2Weight_g4  {
this, 
"Chi2Weight_g4",        2.0, 
"matching parameter: G4-based"};
 
  205    Gaudi::Property<double> 
m_winPt {
this, 
"WinPt",       -1.0*
Gaudi::Units::GeV, 
"matching parameter (simplifed): pT windows in geV (disabled if < 0)"};
 
  207    Gaudi::Property<double> 
m_winDR {
this, 
"WinDelta",     0.2, 
"matching parameter (simplifed): strategy dependent"};
 
  210    Gaudi::Property<std::vector<double>> 
m_IDSCANRes_barrel  {
this, 
"IDSCANBarrelRes", {0.017, 0.000000418}, 
"ID parametrized rsolution for matching (barrel)"};
 
  211    Gaudi::Property<std::vector<double>> 
m_IDSCANRes_endcap1 {
this, 
"IDSCANEndcap1Res",{0.025, 0.0000002}, 
"ID parametrized rsolution for matching (ec1)"};
 
  212    Gaudi::Property<std::vector<double>> 
m_IDSCANRes_endcap2 {
this, 
"IDSCANEndcap2Res",{0.030, 0.0000002}, 
"ID parametrized rsolution for matching (ec2)"};
 
  213    Gaudi::Property<std::vector<double>> 
m_IDSCANRes_endcap3 {
this, 
"IDSCANEndcap3Res",{0.036, 0.0000004}, 
"ID parametrized rsolution for matching (ec3)"};
 
  214    Gaudi::Property<std::vector<double>> 
m_IDSCANRes_endcap4 {
this, 
"IDSCANEndcap4Res",{0.046, 0.0000002}, 
"ID parametrized rsolution for matching (ec4)"};
 
  
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< double > m_WinEta_EC
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
Gaudi::Property< double > m_WeightEta
Scale factor for the Eta matching window in LUT backextrapolator.
Gaudi::Property< bool > m_assumeToroidOff
flag to assume B_Toroid=0 anyway
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
muComb(const std::string &, ISvcLocator *)
Constructor.
Gaudi::Property< double > m_WinPhi_EC_g4
Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps)
Gaudi::Property< double > m_PtMinTrk
Min Pt to select the ID track for matching.
Gaudi::Property< double > m_Chi2Max
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
Class describing standalone muons reconstructed in the LVL2 trigger.
Gaudi::Property< double > m_WeightPhi
Scale factor for the Phi matching window in LUT backextrapolator.
Gaudi::Property< double > m_Chi2Max_TS
Max Chi2 for the combined muon in LUT backextrapolator (Trigger Stations)
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap4
Gaudi::Property< double > m_Chi2Max_g4
Max Chi2 for the combined muon in LUT backextrapolator (Barrel)
int mfMatch(const xAOD::L2StandAloneMuon *feature, double, double, double, double, double &, double &, double &, double &, double &, int &) const
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
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< double > m_Chi2Max_EC_g4
Max Chi2 for the combined muon in LUT backextrapolator (EndCaps)
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
Gaudi::Property< double > m_WinEta_EC_g4
Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps)
virtual StatusCode execute(const EventContext &ctx) const override
execute execute the combined muon FEX.
::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::Property< std::string > m_ID_algo_to_use
ID Track collection used for matching.
ExtrapolationResult getExtrapolatedMuon(const EventContext &ctx, const xAOD::L2StandAloneMuon *feature) const
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
Gaudi::Property< double > m_WinPhi_g4
Number of sigmas for the Phi matching window LUT backextrapolator (Barrel)
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
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_assumeSolenoidOff
flag to assume B_Solenoid=0 anyway
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)
virtual StatusCode initialize() override
initialize.
Gaudi::Property< std::vector< double > > m_IDSCANRes_endcap1
Gaudi::Property< double > m_WinPhi_TS
Number of sigmas for the Phi matching window LUT backextrapolator (Trigger Stations)
Gaudi::Property< double > m_WinEta_TS
Number of sigmas for the Eta matching window LUT backextrapolator (Trigger Stations)
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.
Gaudi::Property< double > m_WeightPhi_g4
Scale factor for the Phi matching window in LUT backextrapolator.
ToolHandle< GenericMonitoringTool > m_monTool
ToolHandle< Trk::IExtrapolator > m_backExtrapolatorG4
Handle to the G4 backExtrapolator tool.
Gaudi::Property< double > m_WeightEta_g4
Scale factor for the Eta matching window in LUT backextrapolator.
SG::ReadHandleKey< xAOD::L2StandAloneMuonContainer > m_muonCollKey
Gaudi::Property< double > m_WinEta
Number of sigmas for the Eta matching window LUT backextrapolator (Barrel)