  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
#include <MuFastSteering.h>
 | 
|   | MuFastSteering (const std::string &name, ISvcLocator *svc) | 
|   | Constructor.  More...
  | 
|   | 
| virtual StatusCode  | initialize () override | 
|   | 
| virtual StatusCode  | stop () override | 
|   | 
| virtual StatusCode  | execute (const EventContext &ctx) const override | 
|   | execute(), main code of the algorithm for AthenaMT  More...
  | 
|   | 
| StatusCode  | findMuonSignature (const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, xAOD::TrigCompositeContainer *outputMuonCal, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const bool dynamicDeltaRpc, const EventContext &ctx) const | 
|   | findMuonSignature(), includes reconstract algorithms  More...
  | 
|   | 
| StatusCode  | findMuonSignatureIO (const xAOD::TrackParticleContainer &idtracks, const std::vector< const TrigRoiDescriptor * > &roids, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2CombinedMuon > &outputCBs, DataVector< xAOD::L2StandAloneMuon > &outputSAs, const bool dynamicDeltaRpc, const EventContext &ctx) const | 
|   | findMuonSignatureIO(), includes reconstract algorithms for inside-out mode  More...
  | 
|   | 
| StatusCode  | findMultiTrackSignature (const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const bool dynamicDeltaRpc, const EventContext &ctx) const | 
|   | findMultiTrackSignature(), includes reconstract algorithms for multi-track mode  More...
  | 
|   | 
| int  | L2MuonAlgoMap (const std::string &name) const | 
|   | 
| virtual void  | handle (const Incident &incident) override | 
|   | 
| 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 | 
|   | 
 | 
| bool  | updateOutputObjects (const xAOD::MuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns, DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const EventContext &ctx) const | 
|   | Called at the end of the algorithm processing to set the steering navigation properly.  More...
  | 
|   | 
| bool  | storeMuonSA (const xAOD::MuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const TrigL2MuonSA::TrackPattern &pattern, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const EventContext &ctx) const | 
|   | 
| bool  | storeMSRoiDescriptor (const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputMS) const | 
|   | 
| bool  | storeIDRoiDescriptor (const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const | 
|   | 
| StatusCode  | updateMonitor (const xAOD::MuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const | 
|   | Update monitoring variables.  More...
  | 
|   | 
| void  | renounceArray (SG::VarHandleKeyArray &handlesArray) | 
|   | remove all handles from I/O resolution  More...
  | 
|   | 
| 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) | 
|   | 
| void  | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) | 
|   | Add StoreName to extra input/output deps as needed.  More...
  | 
|   | 
 | 
| float  | getRoiSizeForID (bool isEta, const xAOD::L2StandAloneMuon *muonSA) 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...
  | 
|   | 
 | 
| ServiceHandle< IIncidentSvc >  | m_incidentSvc {this, "IncidentSvc", "IncidentSvc"} | 
|   | 
| ServiceHandle< Gaudi::Interfaces::IOptionsSvc >  | m_jobOptionsSvc {this, "JobOptionsSvc", "JobOptionsSvc", "Job options service to retrieve DataFlowConfig" } | 
|   | 
| Gaudi::Property< float >  | m_scaleRoadBarrelInner { this, "Scale_Road_BarrelInner", 1 } | 
|   | 
| Gaudi::Property< float >  | m_scaleRoadBarrelMiddle { this, "Scale_Road_BarrelMiddle", 1 } | 
|   | 
| Gaudi::Property< float >  | m_scaleRoadBarrelOuter { this, "Scale_Road_BarrelOuter", 1 } | 
|   | 
| Gaudi::Property< bool >  | m_use_mcLUT { this, "UseLUTForMC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_new_segmentfit { this, "USE_NEW_SEGMENTFIT", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_rpc { this, "USE_RPC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_stgc { this, "USE_STGC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_mm { this, "USE_MM", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_MDT { this, "USE_ROIBASEDACCESS_MDT", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_RPC { this, "USE_ROIBASEDACCESS_RPC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_TGC { this, "USE_ROIBASEDACCESS_TGC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_CSC { this, "USE_ROIBASEDACCESS_CSC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_STGC { this, "USE_ROIBASEDACCESS_STGC", true} | 
|   | 
| Gaudi::Property< bool >  | m_use_RoIBasedDataAccess_MM { this, "USE_ROIBASEDACCESS_MM", true} | 
|   | 
| Gaudi::Property< bool >  | m_doCalStream { this, "DoCalibrationStream", true} | 
|   | 
| Gaudi::Property< bool >  | m_calDataScouting { this, "MuonCalDataScouting", false} | 
|   | 
| Gaudi::Property< bool >  | m_rpcErrToDebugStream { this, "RpcErrToDebugStream", false} | 
|   | 
| Gaudi::Property< bool >  | m_use_endcapInnerFromBarrel { this, "UseEndcapInnerFromBarrel", false} | 
|   | 
| Gaudi::Property< int >  | m_esd_rpc_size { this, "ESD_RPC_size", 100 } | 
|   | 
| Gaudi::Property< int >  | m_esd_tgc_size { this, "ESD_TGC_size", 50 } | 
|   | 
| Gaudi::Property< int >  | m_esd_mdt_size { this, "ESD_MDT_size", 100 } | 
|   | 
| Gaudi::Property< int >  | m_esd_csc_size { this, "ESD_CSC_size", 100 } | 
|   | 
| Gaudi::Property< int >  | m_esd_stgc_size { this, "ESD_STGC_size", 100 } | 
|   | 
| Gaudi::Property< int >  | m_esd_mm_size { this, "ESD_MM_size", 100 } | 
|   | 
| Gaudi::Property< double >  | m_rWidth_RPC_Failed { this, "R_WIDTH_RPC_FAILED", 400 } | 
|   | 
| Gaudi::Property< double >  | m_rWidth_TGC_Failed { this, "R_WIDTH_TGC_FAILED", 200 } | 
|   | 
| Gaudi::Property< double >  | m_winPt { this, "WinPt", 4.0 } | 
|   | 
| Gaudi::Property< bool >  | m_insideOut { this, "InsideOutMode", false, "" } | 
|   | 
| Gaudi::Property< bool >  | m_multiTrack { this, "multitrackMode", false, "" } | 
|   | 
| Gaudi::Property< bool >  | m_doEndcapForl2mt { this, "doEndcapForl2mt", false, "" } | 
|   | 
| Gaudi::Property< float >  | m_ftfminPt { this, "FTFminPt", 3500, "pT [MeV] threshold to FTF tracks for L2Muon Inside-out mode" } | 
|   | 
| Gaudi::Property< bool >  | m_topoRoad { this, "topoRoad", false, "create road in barrel not to highly overlap surrounding L1 RoIs" } | 
|   | 
| Gaudi::Property< float >  | m_dPhisurrRoI { this, "dPhisurrRoI", 99, "phi range to find surrounding L1 RoIs" } | 
|   | 
| Gaudi::Property< float >  | m_dEtasurrRoI { this, "dEtasurrRoI", 99, "eta range to find surrounding L1 RoIs" } | 
|   | 
| Gaudi::Property< bool >  | m_allowOksConfig { this, "AllowOksConfig", true} | 
|   | 
| Gaudi::Property< std::string >  | m_calBufferName { this, "MuonCalBufferName", "/tmp/testOutput"} | 
|   | 
| Gaudi::Property< int >  | m_calBufferSize { this, "MuonCalBufferSize", 1024*1024} | 
|   | 
| Gaudi::Property< bool >  | m_fill_FSIDRoI { this, "FILL_FSIDRoI", false, "Fill FS RoI for ID (will be used in cosmic run)"} | 
|   | 
| Gaudi::Property< bool >  | m_useRun3Config { this, "UseRun3Config", false, "use Run3 L1Muon EDM; xAOD::MuonRoI"} | 
|   | 
| SG::ReadHandleKey< xAOD::EventInfo >  | m_eventInfoKey | 
|   | 
| SG::ReadHandleKey< TrigRoiDescriptorCollection >  | m_roiCollectionKey | 
|   | 
| SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > >  | m_run2recRoiCollectionKey | 
|   | 
| SG::ReadHandleKey< xAOD::MuonRoIContainer >  | m_recRoiCollectionKey | 
|   | 
| SG::ReadHandleKey< xAOD::TrackParticleContainer >  | m_FTFtrackKey | 
|   | 
| SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer >  | m_muFastContainerKey | 
|   | 
| SG::WriteHandleKey< xAOD::TrigCompositeContainer >  | m_muCompositeContainerKey | 
|   | 
| SG::WriteHandleKey< TrigRoiDescriptorCollection >  | m_muIdContainerKey | 
|   | 
| SG::WriteHandleKey< TrigRoiDescriptorCollection >  | m_muMsContainerKey | 
|   | 
| SG::WriteHandleKey< xAOD::L2CombinedMuonContainer >  | m_outputCBmuonCollKey | 
|   | 
| ToolHandle< GenericMonitoringTool >  | m_monTool { this, "MonTool", "", "Monitoring tool" } | 
|   | 
| 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 | 
|   | 
Definition at line 44 of file MuFastSteering.h.
 
◆ StoreGateSvc_t
◆ anonymous enum
| Enumerator | 
|---|
| ITIMER_DATA_PREPARATOR  |  | 
| ITIMER_PATTERN_FINDER  |  | 
| ITIMER_STATION_FITTER  |  | 
| ITIMER_TRACK_FITTER  |  | 
| ITIMER_TRACK_EXTRAPOLATOR  |  | 
| ITIMER_CALIBRATION_STREAMER  |  | 
| ITIMER_TOTAL_PROCESSING  |  | 
Definition at line 47 of file MuFastSteering.h.
 
 
◆ MuFastSteering()
      
        
          | MuFastSteering::MuFastSteering  | 
          ( | 
          const std::string &  | 
          name,  | 
        
        
           | 
           | 
          ISvcLocator *  | 
          svc  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ 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()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
  
  
      
        
          | StatusCode MuFastSteering::execute  | 
          ( | 
          const EventContext &  | 
          ctx | ) | 
           const | 
         
       
   | 
  
overridevirtual   | 
  
 
execute(), main code of the algorithm for AthenaMT 
Definition at line 231 of file MuFastSteering.cxx.
  234         ATH_MSG_ERROR(
"You are not supposed to run trigger on RUN2 layout anymore.");
 
  235         return StatusCode::FAILURE;
 
  244     if (!roiCollectionHandle.isValid()){
 
  246         return StatusCode::FAILURE;
 
  251     if (!recRoiCollectionHandle.isValid()){
 
  253         return StatusCode::FAILURE;
 
  256     std::vector< const TrigRoiDescriptor* > internalRoI;
 
  260     for(; p_roids != p_roidsEn; ++p_roids ) {
 
  261         internalRoI.push_back(*p_roids);
 
  262         ATH_MSG_DEBUG(
"REGTEST: " << 
m_roiCollectionKey.
key() << 
" eta = " << 
"(" << (*p_roids)->etaMinus() << 
")" << (*p_roids)->eta() << 
"(" << (*p_roids)->etaPlus() << 
")");
 
  263         ATH_MSG_DEBUG(
"REGTEST: " << 
m_roiCollectionKey.
key() << 
" phi = " << 
"(" << (*p_roids)->phiMinus() << 
")" << (*p_roids)->phi() << 
"(" << (*p_roids)->phiPlus() << 
")");
 
  264         ATH_MSG_DEBUG(
"REGTEST: " << 
m_roiCollectionKey.
key() << 
" zed = " << 
"(" << (*p_roids)->zedMinus() << 
")" << (*p_roids)->zed() << 
"(" << (*p_roids)->zedPlus() << 
")");
 
  269     std::vector< const xAOD::MuonRoI* > recRoIVector;
 
  270     std::vector< const xAOD::MuonRoI* > surrRoIs;
 
  274         if( recRoI == 
nullptr ) 
continue;
 
  275         recRoIVector.push_back(recRoI);
 
  280     bool dynamicDeltaRpc = 
false;
 
  281     int nPassedBarrelSurrRoi = 0;
 
  283         for( 
const auto recRoI: *recRoiCollection ){
 
  284         if(
std::find(recRoIVector.begin(), recRoIVector.end(), recRoI) != recRoIVector.end()) 
continue;
 
  286         bool surrounding = 
false;
 
  287         for( 
const auto matchedRoI: recRoIVector ){
 
  288             float deta = std::abs(recRoI->
eta() - matchedRoI->eta());
 
  289             float dphi = std::abs(recRoI->
phi() - matchedRoI->phi());
 
  290             if( dphi > 
M_PI )dphi = 2.*
M_PI - dphi;
 
  296             surrRoIs.push_back(recRoI);
 
  300         for( 
const auto recRoI: surrRoIs ){
 
  302         if( std::abs((recRoI)->
eta()) <= 1.05 && (recRoI)->getThrNumber() >= 1 )nPassedBarrelSurrRoi++;
 
  304         ATH_MSG_DEBUG( 
"nPassedBarrelSurrRoi = " << nPassedBarrelSurrRoi);
 
  306         if( nPassedBarrelSurrRoi >= 1 )
 
  307         dynamicDeltaRpc = 
true;
 
  312     ATH_CHECK(muFastContainer.record(std::make_unique<xAOD::L2StandAloneMuonContainer>(), std::make_unique<xAOD::L2StandAloneMuonAuxContainer>()));
 
  317       ATH_CHECK(wh_muCompositeCont.record(std::make_unique<xAOD::TrigCompositeContainer>(), std::make_unique<xAOD::TrigCompositeAuxContainer>()));
 
  318       muCompositeContainer = wh_muCompositeCont.ptr();
 
  322     ATH_CHECK(muIdContainer.record(std::make_unique<TrigRoiDescriptorCollection>()));
 
  325     ATH_CHECK(muMsContainer.record(std::make_unique<TrigRoiDescriptorCollection>()));
 
  333         ATH_CHECK( muonCBColl.record (std::make_unique<xAOD::L2CombinedMuonContainer>(),
 
  334                     std::make_unique<xAOD::L2CombinedMuonAuxContainer>()) );
 
  337         if (!trackHandle.isValid()){
 
  339             return StatusCode::FAILURE;
 
  344                     *muonCBColl, *muFastContainer, dynamicDeltaRpc, ctx ));
 
  348             for (
const auto p_CBmuon : *muonCBColl){
 
  360                     *muFastContainer, muCompositeContainer, *muIdContainer, *muMsContainer, dynamicDeltaRpc, ctx));
 
  368         for (
auto  p_muon : *muFastContainer) {
 
  374         for (
auto  p_muonID : *muIdContainer) {
 
  379         for (
auto  p_muonMS : *muMsContainer) {
 
  384     ATH_MSG_DEBUG(
"StatusCode MuFastSteering::execute() success");
 
  385     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()
◆ findMultiTrackSignature()
findMultiTrackSignature(), includes reconstract algorithms for multi-track mode 
Definition at line 1033 of file MuFastSteering.cxx.
 1039   ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMultiTrackSignature start");
 
 1044   std::vector<TrigL2MuonSA::RpcFitResult>   clusterFitResults;
 
 1045   std::vector< TrigL2MuonSA::MuonRoad >     clusterRoad;
 
 1046   std::vector<TrigL2MuonSA::MdtHits>        mdtHits_cluster_normal;
 
 1057                                                 trackFitterTimer, trackExtraTimer, calibrationTimer );
 
 1074   p_roids = roids.begin();
 
 1075   for (p_roi=(muonRoIs).
begin(); p_roi!=(muonRoIs).
end(); ++p_roi) {
 
 1078     std::vector<TrigL2MuonSA::TrackPattern> trackPatterns;
 
 1083     rpcFitResult.
Clear();
 
 1084     tgcFitResult.
Clear();
 
 1090     clusterFitResults.clear();
 
 1091     clusterRoad.clear();
 
 1092     mdtHits_cluster_normal.clear();
 
 1108                                          mdtHits_cluster_normal,
 
 1111       if (!
sc.isSuccess()) {
 
 1119       for(
unsigned int i_road = 0; i_road < clusterRoad.size(); i_road++){
 
 1121         std::vector<TrigL2MuonSA::TrackPattern> tmp_trkPats; tmp_trkPats.clear();
 
 1123         patternTimer.start();
 
 1125                                            clusterRoad.at(i_road),
 
 1126                                            mdtHits_cluster_normal.at(i_road),
 
 1128         if (!
sc.isSuccess()) {
 
 1132         patternTimer.stop();
 
 1135         stationFitterTimer.start();
 
 1137                                               clusterFitResults.at(i_road),
 
 1139         if (!
sc.isSuccess()) {
 
 1144         stationFitterTimer.stop();
 
 1147         trackFitterTimer.start();
 
 1149                                        clusterFitResults.at(i_road),
 
 1152         if (!
sc.isSuccess()) {
 
 1156         trackFitterTimer.stop();
 
 1159         const float ETA_LIMIT       = 2.8;
 
 1160         const float DELTA_ETA_LIMIT = 1.0;
 
 1162           float roiEta = (*p_roi)->eta();
 
 1164               && ( std::abs(
track.etaMap) > ETA_LIMIT || std::abs(
track.etaMap-
roiEta) > DELTA_ETA_LIMIT ) ) {
 
 1170         trackExtraTimer.start();
 
 1175         if (
sc != StatusCode::SUCCESS) {
 
 1180         trackExtraTimer.stop();
 
 1182         if(tmp_trkPats.size() > 0){
 
 1183           ATH_MSG_DEBUG(
"temp pT calculated 2mu-in-1RoI alg = " << tmp_trkPats[0].
pt << 
" GeV");
 
 1184           if( (std::abs(tmp_trkPats[0].barrelSagitta) < 
ZERO_LIMIT &&
 
 1188           trackPatterns.push_back(tmp_trkPats[0]);
 
 1191     storeMuonSA(*p_roi, *p_roids, clusterRoad.at(i_road), mdtRegion, rpcHits, tgcHits,
 
 1192             clusterFitResults.at(i_road), tgcFitResult, mdtHits_cluster_normal.at(i_road), cscHits,
 
 1193             stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1196       if(trackPatterns.empty()){
 
 1197     ATH_MSG_DEBUG(
"multi-track SA falied to reconstruct muons");
 
 1199     trackPatterns.push_back(trackPattern);
 
 1200     storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1201             rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1202             stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1209         ATH_MSG_DEBUG(
"multi-track SA does nothings and skips for EndcapRoI");
 
 1225         if (!
sc.isSuccess()) {
 
 1228           trackPatterns.push_back(trackPattern);
 
 1230           storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1231                       rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1232                       stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1238         patternTimer.start();
 
 1248         if (!
sc.isSuccess()) {
 
 1251           storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1252               rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1253                       stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1256         patternTimer.stop();
 
 1259         stationFitterTimer.start();
 
 1276         m_cscsegmaker->FindSuperPointCsc(cscHits,trackPatterns,tgcFitResult,muonRoad);
 
 1278         if (!
sc.isSuccess()) {
 
 1280           storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1281               rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1282                       stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1286         stationFitterTimer.stop();
 
 1289         trackFitterTimer.start();
 
 1295         if (!
sc.isSuccess()) {
 
 1297           storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1298               rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1299                       stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1302         trackFitterTimer.stop();
 
 1305         const float ETA_LIMIT       = 2.8;
 
 1306         const float DELTA_ETA_LIMIT = 1.0;
 
 1308           float roiEta = (*p_roi)->eta();
 
 1310               && ( std::abs(
track.etaMap) > ETA_LIMIT || std::abs(
track.etaMap-
roiEta) > DELTA_ETA_LIMIT ) ) {
 
 1316         trackExtraTimer.start();
 
 1320         if (
sc != StatusCode::SUCCESS) {
 
 1322           storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1323                       rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1324                       stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1327         trackExtraTimer.stop();
 
 1329     storeMuonSA(*p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1330             rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1331             stgcHits, mmHits, trackPatterns.back(), outputTracks, ctx);
 
 1336     if (
sc != StatusCode::SUCCESS) {
 
 1341     if (p_roids==roids.end()) 
break;
 
 1344   ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMultiTrackSignature success");
 
 1345   return StatusCode::SUCCESS;
 
 
 
 
◆ findMuonSignature()
findMuonSignature(), includes reconstract algorithms 
Definition at line 391 of file MuFastSteering.cxx.
  400     ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMuonSignature start");
 
  411                                                 trackFitterTimer, trackExtraTimer, calibrationTimer );
 
  428     p_roids = roids.begin();
 
  429     for (p_roi=(muonRoIs).
begin(); p_roi!=(muonRoIs).
end(); ++p_roi) {
 
  432         std::vector<TrigL2MuonSA::TrackPattern> trackPatterns;
 
  437         rpcFitResult.
Clear();
 
  438         tgcFitResult.
Clear();
 
  462             if (!
sc.isSuccess()) {
 
  465                 trackPatterns.push_back(std::move(trackPattern));
 
  468                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  470                                     trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  476             patternTimer.start();
 
  481             if (!
sc.isSuccess()) {
 
  485                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  487                                     trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  493             stationFitterTimer.start();
 
  497             if (!
sc.isSuccess()) {
 
  501                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  503                                     trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  506             stationFitterTimer.stop();
 
  509             trackFitterTimer.start();
 
  514             if (!
sc.isSuccess()) {
 
  518                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  520                                     trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  523             trackFitterTimer.stop();
 
  543             if (!
sc.isSuccess()) {
 
  546                 trackPatterns.push_back(trackPattern);
 
  549                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  551                                         trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  557             patternTimer.start();
 
  565             if (!
sc.isSuccess()) {
 
  569                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  571                                         trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  577             stationFitterTimer.start();
 
  595             m_cscsegmaker->FindSuperPointCsc(cscHits,trackPatterns,tgcFitResult,muonRoad);
 
  597             if (!
sc.isSuccess()) {
 
  601                                     rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  603                                         trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  607             stationFitterTimer.stop();
 
  610             trackFitterTimer.start();
 
  616             if (!
sc.isSuccess()) {
 
  620                                 rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  622                                     trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  625             trackFitterTimer.stop();
 
  629         const float ETA_LIMIT       = 2.8;
 
  630         const float DELTA_ETA_LIMIT = 1.0;
 
  633             float roiEta = (*p_roi)->eta();
 
  635                 ( std::abs(
track.etaMap) > ETA_LIMIT || std::abs(
track.etaMap-
roiEta) > DELTA_ETA_LIMIT ) ) {
 
  641         trackExtraTimer.start();
 
  645         if (
sc != StatusCode::SUCCESS) {
 
  649                                 rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  651                                 trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  654         trackExtraTimer.stop();
 
  658         if (
sc != StatusCode::SUCCESS) {
 
  662                                 rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  664                                 trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  670                             rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  672                             trackPatterns, outputTracks, outputID, outputMS, ctx);
 
  680         std::vector<uint32_t> localBuffer;  
 
  687         if (
sc != StatusCode::SUCCESS ) {  
 
  693             ATH_MSG_DEBUG(
"Retrieved the buffer, with size: " << localBuffer.size());
 
  700           ATH_MSG_DEBUG(
"The size of the TrigCompositeContainer is: " << outputMuonCal->
size() );
 
  703           return StatusCode::FAILURE;
 
  708             tc->setDetail(
"muCalibDS", localBuffer );
 
  713         if (p_roids==roids.end()) 
break;
 
  716     ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMuonSignature success");
 
  717     return StatusCode::SUCCESS;
 
 
 
 
◆ findMuonSignatureIO()
findMuonSignatureIO(), includes reconstract algorithms for inside-out mode 
Definition at line 725 of file MuFastSteering.cxx.
  733   ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMuonSignatureIO start");
 
  745                       trackFitterTimer, trackExtraTimer, calibrationTimer );
 
  760   p_roids = roids.begin();
 
  761   for (
const auto p_roi : muonRoIs) {
 
  762     ATH_MSG_DEBUG(
"roi eta/phi: " << (*p_roi).eta() << 
"/" << (*p_roi).phi());
 
  765     if ( (idtracks).
empty() ) 
ATH_MSG_DEBUG(
"IO TEST: xAOD::TrackParticleContainer has 0 tracks --> Can not use FTF tracks...");
 
  766     else  ATH_MSG_DEBUG(
"IO TEST: xAOD::TrackParticleContainer has " << (idtracks).
size() << 
" tracks --> Start inside-out mode!");
 
  768     std::vector<TrigL2MuonSA::TrackPattern> trackPatterns;
 
  769     int idtrack_idx = -1;
 
  770     for (
auto idtrack : idtracks) {
 
  786       rpcFitResult.
Clear();
 
  787       tgcFitResult.
Clear();
 
  792       trackPatterns.clear();
 
  795       if (!
sc.isSuccess()) {
 
  802       if ( std::abs(idtrack->eta()) < 1.05 ){
 
  803     ATH_MSG_DEBUG(
"FTF track at IP is in  Barrel: " << idtrack->eta());
 
  805     ATH_MSG_DEBUG(
"FTF track at IP is in  Endcap: " << idtrack->eta());
 
  828     if (!
sc.isSuccess()) {
 
  837     patternTimer.start();
 
  842     if (!
sc.isSuccess()) {
 
  849     stationFitterTimer.start();
 
  853     if (!
sc.isSuccess()) {
 
  857     stationFitterTimer.stop();
 
  860     trackFitterTimer.start();
 
  864     if (!
sc.isSuccess()) {
 
  868         trackFitterTimer.stop();
 
  888     if (!
sc.isSuccess()) {
 
  897     patternTimer.start();
 
  904     if (!
sc.isSuccess()) {
 
  911     stationFitterTimer.start();
 
  919     m_cscsegmaker->FindSuperPointCsc(cscHits,trackPatterns,tgcFitResult,muonRoad);
 
  920     if (!
sc.isSuccess()) {
 
  924     stationFitterTimer.stop();
 
  927     trackFitterTimer.start();
 
  932         if (!
sc.isSuccess()) {
 
  936     trackFitterTimer.stop();
 
  942       const float ETA_LIMIT       = 2.8;
 
  943       const float DELTA_ETA_LIMIT = 1.0;
 
  944       float roiEta = (*p_roi).eta();
 
  946       && ( std::abs(
track.etaMap) > ETA_LIMIT || std::abs(
track.etaMap-
roiEta) > DELTA_ETA_LIMIT ) ) {
 
  947     trackPatterns.back().etaMap = 
roiEta;
 
  952       if (
sc != StatusCode::SUCCESS) {
 
  957       if ( std::abs(trackPatterns.back().pt) > 
ZERO_LIMIT ) {
 
  958     storeMuonSA(p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
  959             rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  961             trackPatterns.back(), outputSAs, ctx);
 
  966     muonCB->
setPt(idtrack->pt());
 
  967     muonCB->
setEta(idtrack->eta());
 
  968     muonCB->
setPhi(idtrack->phi());
 
  979     if(outputSAs.
size()==0) {
 
  985       rpcFitResult.
Clear();
 
  986       tgcFitResult.
Clear();
 
  991       trackPatterns.clear();
 
  993       storeMuonSA(p_roi, *p_roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
  994               rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
  996               trackPattern, outputSAs, ctx);
 
 1012     for (
auto outputSA : outputSAs){
 
 1013       ATH_MSG_DEBUG(
"outputSA pt/eta/phi: " << outputSA->pt() << 
"/" << outputSA->etaMS() << 
"/" << outputSA->phiMS());
 
 1017     for (
auto outputCB : outputCBs){
 
 1018       ATH_MSG_DEBUG(
"outputCB pt/eta/phi: " << outputCB->pt() << 
"/" << outputCB->eta() << 
"/" << outputCB->phi());
 
 1022     if (p_roids==roids.end()) 
break;
 
 1025   ATH_MSG_DEBUG(
"StatusCode MuFastSteering::findMuonSignatureIO success");
 
 1026   return StatusCode::SUCCESS;
 
 
 
 
◆ getRoiSizeForID()
Definition at line 1965 of file MuFastSteering.cxx.
 1970    float pt  = muonSA->
pt();
 
 1973    const int N_PARAMS = 2;
 
 1976    const float etaMinWin_brl = 0.10;
 
 1977    const float etaMinWin_ec1 = 0.10;
 
 1978    const float etaMinWin_ec2 = 0.10;
 
 1979    const float etaMinWin_ec3 = 0.10;
 
 1980    const float etaMinWin_ecA = 0.10;
 
 1981    const float etaMinWin_ecB = 0.10;
 
 1983    const float etaMaxWin_brl = 0.20;
 
 1984    const float etaMaxWin_ec1 = 0.20;
 
 1985    const float etaMaxWin_ec2 = 0.20;
 
 1986    const float etaMaxWin_ec3 = 0.20;
 
 1987    const float etaMaxWin_ecA = 0.20;
 
 1988    const float etaMaxWin_ecB = 0.20;
 
 1990    const float etaParams_brl[N_PARAMS] = { 0.038,  0.284};
 
 1991    const float etaParams_ec1[N_PARAMS] = { 0.011,  0.519};
 
 1992    const float etaParams_ec2[N_PARAMS] = { 0.023,  0.253};
 
 1993    const float etaParams_ec3[N_PARAMS] = { 0.018,  0.519};
 
 1994    const float etaParams_ecA[N_PARAMS] = { 0.010,  0.431};
 
 1995    const float etaParams_ecB[N_PARAMS] = { 0.023,  0.236};
 
 1998    const float phiMinWin_brl = 0.125;
 
 1999    const float phiMinWin_ec1 = 0.125;
 
 2000    const float phiMinWin_ec2 = 0.125;
 
 2001    const float phiMinWin_ec3 = 0.10;
 
 2002    const float phiMinWin_ecA = 0.15;
 
 2003    const float phiMinWin_ecB = 0.15;
 
 2005    const float phiMaxWin_brl = 0.20;
 
 2006    const float phiMaxWin_ec1 = 0.20;
 
 2007    const float phiMaxWin_ec2 = 0.20;
 
 2008    const float phiMaxWin_ec3 = 0.20;
 
 2009    const float phiMaxWin_ecA = 0.25;
 
 2010    const float phiMaxWin_ecB = 0.20;
 
 2012    const float phiParams_brl[N_PARAMS] = { 0.000,  0.831};
 
 2013    const float phiParams_ec1[N_PARAMS] = { 0.000,  0.885};
 
 2014    const float phiParams_ec2[N_PARAMS] = { 0.015,  0.552};
 
 2015    const float phiParams_ec3[N_PARAMS] = { 0.008,  0.576};
 
 2016    const float phiParams_ecA[N_PARAMS] = { 0.000,  0.830};
 
 2017    const float phiParams_ecB[N_PARAMS] = { 0.006,  1.331};
 
 2026          minWin = etaMinWin_brl;
 
 2027          maxWin = etaMaxWin_brl;
 
 2031          minWin = phiMinWin_brl;
 
 2032          maxWin = phiMaxWin_brl;
 
 2041             minWin = etaMinWin_ecA;
 
 2042             maxWin = etaMaxWin_ecA;
 
 2046             minWin = phiMinWin_ecA;
 
 2047             maxWin = phiMaxWin_ecA;
 
 2053             minWin = etaMinWin_ecB;
 
 2054             maxWin = etaMaxWin_ecB;
 
 2058             minWin = phiMinWin_ecB;
 
 2059             maxWin = phiMaxWin_ecB;
 
 2063          if( std::abs(
eta) < 1.5 ) {
 
 2066                minWin = etaMinWin_ec1;
 
 2067                maxWin = etaMaxWin_ec1;
 
 2071                minWin = phiMinWin_ec1;
 
 2072                maxWin = phiMaxWin_ec1;
 
 2075          else if( std::abs(
eta) < 2.0 ) {
 
 2078                minWin = etaMinWin_ec2;
 
 2079                maxWin = etaMaxWin_ec2;
 
 2083                minWin = phiMinWin_ec2;
 
 2084                maxWin = phiMaxWin_ec2;
 
 2090                minWin = etaMinWin_ec3;
 
 2091                maxWin = etaMaxWin_ec3;
 
 2095                minWin = phiMinWin_ec3;
 
 2096                maxWin = phiMaxWin_ec3;
 
 2105    if( 
x < minWin ) 
retval = minWin;
 
 2106    if( 
x > maxWin ) 
retval = maxWin;
 
 
 
 
◆ handle()
  
  
      
        
          | void MuFastSteering::handle  | 
          ( | 
          const Incident &  | 
          incident | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ initialize()
  
  
      
        
          | StatusCode MuFastSteering::initialize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Definition at line 31 of file MuFastSteering.cxx.
  119     if (
m_jobOptionsSvc->has(
"MuonHltCalibrationConfig.MuonCalBufferName")) {
 
  124       ATH_MSG_DEBUG(
"Could not parse MuonHltCalibrationConfig.MuonCalBufferName from JobOptionsSvc");
 
  126     if (
m_jobOptionsSvc->has(
"MuonHltCalibrationConfig.MuonCalBufferSize")) {
 
  132       ATH_MSG_DEBUG(
"Could not parse MuonHltCalibrationConfig.MuonCalBufferSize from JobOptionsSvc");
 
  149   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()
◆ L2MuonAlgoMap()
      
        
          | int MuFastSteering::L2MuonAlgoMap  | 
          ( | 
          const std::string &  | 
          name | ) | 
           const | 
        
      
 
 
◆ 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()
◆ stop()
  
  
      
        
          | StatusCode MuFastSteering::stop  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
Definition at line 152 of file MuFastSteering.cxx.
  158       if  ( 
sc != StatusCode::SUCCESS ) {
 
  165   return StatusCode::SUCCESS;
 
 
 
 
◆ storeIDRoiDescriptor()
Definition at line 1856 of file MuFastSteering.cxx.
 1870   const double scalePhiWidthForFailure = 2;
 
 1871   const double scaleRoIforZeroPt = 2;
 
 1879     float phiHalfWidth = 0.1;
 
 1880     float etaHalfWidth = 0.1;
 
 1896       phiHalfWidth *= scalePhiWidthForFailure;
 
 1902                                                                pattern.etaVtx - etaHalfWidth,
 
 1903                                                                pattern.etaVtx + etaHalfWidth,
 
 1905                                                                pattern.phiVtx - phiHalfWidth,
 
 1906                                                                pattern.phiVtx + phiHalfWidth);
 
 1909             << 
"pattern.etaVtx/pattern.phiVtx=" 
 1913                   << 
" phi=" << IDroiDescriptor->
phi()
 
 1914                   << 
",  eta=" << IDroiDescriptor->
eta());
 
 1924                                                                roids->
eta() - (roids->
eta() - roids->
etaMinus()) * scaleRoIforZeroPt,
 
 1925                                                                roids->
eta() + (roids->
etaPlus() - roids->
eta()) * scaleRoIforZeroPt,
 
 1930     ATH_MSG_VERBOSE(
"will Record an RoiDescriptor for Inner Detector in case with zero pT:" 
 1931              << 
" phi=" << IDroiDescriptor->
phi()
 
 1932              << 
", phi min=" << IDroiDescriptor->
phiMinus()
 
 1933              << 
", phi max=" << IDroiDescriptor->
phiPlus()
 
 1934              << 
", eta=" << IDroiDescriptor->
eta()
 
 1935              << 
", eta min=" << IDroiDescriptor->
etaMinus()
 
 1936              << 
", eta max=" << IDroiDescriptor->
etaPlus());
 
 
 
 
◆ storeMSRoiDescriptor()
Definition at line 1810 of file MuFastSteering.cxx.
 1824     mseta = roids->
eta();
 
 1825     msphi = roids->
phi();
 
 1829   const float phiHalfWidth = 0.1;
 
 1830   const float etaHalfWidth = 0.1;
 
 1836                                  mseta - etaHalfWidth,
 
 1837                                  mseta + etaHalfWidth,
 
 1839                                  msphi - phiHalfWidth,
 
 1840                                  msphi + phiHalfWidth);
 
 1844           << mseta << 
"/" << msphi);
 
 1847           << 
" phi=" << MSroiDescriptor->
phi()
 
 1848           << 
",  eta=" << MSroiDescriptor->
eta());
 
 
 
 
◆ storeMuonSA()
  
  
      
        
          | bool MuFastSteering::storeMuonSA  | 
          ( | 
          const xAOD::MuonRoI *  | 
          roi,  | 
         
        
           | 
           | 
          const TrigRoiDescriptor *  | 
          roids,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MuonRoad &  | 
          muonRoad,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MdtRegion &  | 
          mdtRegion,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::RpcHits &  | 
          rpcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::TgcHits &  | 
          tgcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::RpcFitResult &  | 
          rpcFitResult,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::TgcFitResult &  | 
          tgcFitResult,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MdtHits &  | 
          mdtHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::CscHits &  | 
          cscHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::StgcHits &  | 
          stgcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MmHits &  | 
          mmHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::TrackPattern &  | 
          pattern,  | 
         
        
           | 
           | 
          DataVector< xAOD::L2StandAloneMuon > &  | 
          outputTracks,  | 
         
        
           | 
           | 
          const EventContext &  | 
          ctx  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
protected   | 
  
 
Set L2 muon algorithm ID
Set input TE ID
Set level-1 ID
Set lumi block
Set muon detector mask
Set RoI ID
Set RoI system ID (or system ID; Barrel=0, Endcap=1, Forward=2)
Set RoI subsystem ID (0=-z,1=+z)
Set RoI sector ID
Set RoI number
Set RoI threshold number
Set RoI eta
Set RoIp phi
Set RoI word
Set size of storages to be reserved
Definition at line 1389 of file MuFastSteering.cxx.
 1407   const int currentRoIId = roids->
roiId();
 
 1409   const EventIDBase& eventID = ctx.eventID();
 
 1411   if (!eventInfo.isValid()) {
 
 1421   int barrelinner = 0;
 
 1422   int endcapinner = 3;
 
 1443   ATH_MSG_DEBUG(
"### Hit patterns at the Muon Spectrometer ###");
 
 1449     ATH_MSG_DEBUG(
"pattern#0: # of hits at endcap barrel inner  =" << 
pattern.mdtSegments[barrelinner].size());
 
 1453     ATH_MSG_DEBUG(
"pattern#0: # of hits at barrel endcap inner  =" << 
pattern.mdtSegments[endcapinner].size());
 
 1455   ATH_MSG_DEBUG(
"### ************************************* ###");
 
 1511                         pattern.superPoints[middle].Alin, 
pattern.superPoints[middle].Blin, 
pattern.superPoints[middle].Chi2);
 
 1518                           pattern.superPoints[barrelinner].Alin, 
pattern.superPoints[barrelinner].Blin, 
pattern.superPoints[barrelinner].Chi2);
 
 1523                           pattern.superPoints[endcapinner].Alin, 
pattern.superPoints[endcapinner].Blin, 
pattern.superPoints[endcapinner].Chi2);
 
 1536   muonSA->
setLvl1Id( eventInfo->extendedLevel1ID() );
 
 1569   std::vector<std::string> mdtId;
 
 1571     if ( mdtHit.isOutlier==0 || mdtHit.isOutlier==1 ) {
 
 1572       muonSA->
setMdtHit(mdtHit.OnlineId, mdtHit.isOutlier, mdtHit.Chamber,
 
 1573                         mdtHit.R, mdtHit.Z, mdtHit.cPhi0, mdtHit.Residual,
 
 1574                         mdtHit.DriftTime, mdtHit.DriftSpace, mdtHit.DriftSigma);
 
 1575       mdtId.push_back(mdtHit.Id.getString());
 
 1579   accessor_mdthitid( *muonSA ) = mdtId;
 
 1582   std::vector<float> cscResol;
 
 1585       if ( cscHit.isOutlier==0 || cscHit.isOutlier==1 ) {
 
 1586         muonSA->
setCscHit(cscHit.isOutlier, cscHit.Chamber, cscHit.StationName,
 
 1587                           cscHit.StationEta, cscHit.StationPhi,
 
 1588                           cscHit.ChamberLayer, cscHit.WireLayer, cscHit.MeasuresPhi, cscHit.Strip,
 
 1589                           cscHit.eta, cscHit.phi, cscHit.r, cscHit.z,
 
 1590                           cscHit.charge, cscHit.time, cscHit.Residual);
 
 1591     cscResol.push_back(cscHit.resolution);
 
 1593             << 
"OL=" << cscHit.isOutlier << 
"," 
 1594             << 
"Ch=" << cscHit.Chamber << 
"," 
 1595             << 
"StationName=" << cscHit.StationName << 
"," 
 1596             << 
"StationEta=" << cscHit.StationEta << 
"," 
 1597             << 
"StationPhi=" << cscHit.StationPhi << 
"," 
 1598             << 
"ChamberLayer=" << cscHit.ChamberLayer << 
"," 
 1599             << 
"WireLayer=" << cscHit.WireLayer << 
"," 
 1600             << 
"MeasuresPhi=" << cscHit.MeasuresPhi << 
"," 
 1601             << 
"Strip=" << cscHit.Strip << 
"," 
 1602             << 
"eta="  << cscHit.eta << 
"," 
 1603             << 
"phi="  << cscHit.phi << 
"," 
 1604             << 
"r="  << cscHit.r << 
"," 
 1605             << 
"z="  << cscHit.z << 
"," 
 1606             << 
"charge=" << cscHit.charge << 
"," 
 1607             << 
"Rs=" << cscHit.Residual << 
"," 
 1608             << 
"t="  << cscHit.time);
 
 1613   accessor_cschitresol( *muonSA ) = cscResol;
 
 1616   float sumbeta[8]={0};
 
 1617   float nhit_layer[8]={0};
 
 1619     muonSA->
setRpcHit(rpcHit.layer, rpcHit.measuresPhi,
 
 1620                       rpcHit.x, rpcHit.y, rpcHit.z,
 
 1621                       rpcHit.time, rpcHit.distToEtaReadout, rpcHit.distToPhiReadout,
 
 1622                       rpcHit.stationName);
 
 1624             << 
"stationName=" << rpcHit.stationName << 
"," 
 1625             << 
"layer=" << rpcHit.layer << 
"," 
 1626             << 
"measuresPhi=" << rpcHit.measuresPhi << 
"," 
 1627             << 
"x=" << rpcHit.x << 
"," 
 1628             << 
"y=" << rpcHit.y << 
"," 
 1629             << 
"y=" << rpcHit.z);
 
 1632     if(dRMS>0.05) 
continue;
 
 1634     float Tprop = rpcHit.distToPhiReadout/1000*4.8;
 
 1636     sumbeta[rpcHit.layer]=sumbeta[rpcHit.layer]+
beta;
 
 1637     nhit_layer[rpcHit.layer]=nhit_layer[rpcHit.layer]+1;
 
 1640   std::vector<float> Avebeta_layer;
 
 1641   for(
int i_layer=0;i_layer<8;i_layer++){
 
 1642     if(nhit_layer[i_layer]!=0)Avebeta_layer.push_back( sumbeta[i_layer]/nhit_layer[i_layer] );
 
 1644   if(Avebeta_layer.size()>0) muonSA->
setBeta( 
std::accumulate(Avebeta_layer.begin(),Avebeta_layer.end(),0.0)/Avebeta_layer.size() );
 
 1646   Avebeta_layer.clear();
 
 1650     muonSA->
setTgcHit(tgcHit.eta, tgcHit.phi, tgcHit.r, tgcHit.z,
 
 1651                       tgcHit.width, tgcHit.sta, tgcHit.isStrip,
 
 1652                       tgcHit.bcTag, tgcHit.inRoad);
 
 1654             << 
"eta=" << tgcHit.eta << 
"," 
 1655             << 
"phi=" << tgcHit.phi << 
"," 
 1656             << 
"r=" << tgcHit.r << 
"," 
 1657             << 
"z=" << tgcHit.z << 
"," 
 1658             << 
"width=" << tgcHit.width << 
"," 
 1659             << 
"stationNum=" << tgcHit.sta << 
"," 
 1660             << 
"isStrip=" << tgcHit.isStrip << 
"," 
 1661             << 
"bcTag=" << tgcHit.bcTag << 
"," 
 1662             << 
"inRoad=" << tgcHit.inRoad);
 
 1667   for(
unsigned int i_hit=0; i_hit<stgcHits.size(); i_hit++) {
 
 1668     if ( stgcHits[i_hit].isOutlier==0 || stgcHits[i_hit].isOutlier==1 ) {
 
 1671       muonSA->
setStgcCluster(stgcHits[i_hit].layerNumber, stgcHits[i_hit].isOutlier, stgcHits[i_hit].channelType,
 
 1672                      stgcHits[i_hit].
eta, stgcHits[i_hit].
phi, stgcHits[i_hit].
r, stgcHits[i_hit].
z,
 
 1673                      stgcHits[i_hit].ResidualR, stgcHits[i_hit].ResidualPhi,
 
 1677               << 
"eta=" << stgcHits[i_hit].
eta << 
"," 
 1678               << 
"phi=" << stgcHits[i_hit].
phi << 
"," 
 1679               << 
"r=" << stgcHits[i_hit].
r << 
"," 
 1680               << 
"z=" << stgcHits[i_hit].
z << 
"," 
 1681               << 
"z=" << stgcHits[i_hit].ResidualR << 
"," 
 1682               << 
"z=" << stgcHits[i_hit].ResidualPhi);
 
 1687   for(
unsigned int i_hit=0; i_hit<mmHits.size(); i_hit++) {
 
 1688     if ( mmHits[i_hit].isOutlier==0 || mmHits[i_hit].isOutlier==1 ) {
 
 1691       muonSA->
setMmCluster(mmHits[i_hit].layerNumber, mmHits[i_hit].isOutlier,
 
 1692                    mmHits[i_hit].
eta, mmHits[i_hit].
phi, mmHits[i_hit].
r, mmHits[i_hit].
z,
 
 1693                    mmHits[i_hit].ResidualR, mmHits[i_hit].ResidualPhi,
 
 1697               << 
"eta=" << tgcHits[i_hit].
eta << 
"," 
 1698               << 
"phi=" << tgcHits[i_hit].
phi << 
"," 
 1699               << 
"r=" << tgcHits[i_hit].
r << 
"," 
 1700               << 
"z=" << tgcHits[i_hit].
z << 
"," 
 1701               << 
"width=" << tgcHits[i_hit].
width << 
"," 
 1702               << 
"stationNum=" << tgcHits[i_hit].sta << 
"," 
 1703               << 
"isStrip=" << tgcHits[i_hit].
isStrip << 
"," 
 1704               << 
"bcTag=" << tgcHits[i_hit].
bcTag << 
"," 
 1705               << 
"inRoad=" << tgcHits[i_hit].inRoad);
 
 1710   for (
int i_station=0; i_station<8; i_station++) {
 
 1711     for (
int i_sector=0; i_sector<2; i_sector++) {
 
 1712       muonSA->
setRoad(i_station, i_sector, muonRoad.
aw[i_station][i_sector], muonRoad.
bw[i_station][i_sector]);
 
 1713       muonSA->
setRegionZ(i_station, i_sector, mdtRegion.
zMin[i_station][i_sector], mdtRegion.
zMax[i_station][i_sector]);
 
 1714       muonSA->
setRegionR(i_station, i_sector, mdtRegion.
rMin[i_station][i_sector], mdtRegion.
rMax[i_station][i_sector]);
 
 1715       muonSA->
setRegionEta(i_station, i_sector, mdtRegion.
etaMin[i_station][i_sector], mdtRegion.
etaMax[i_station][i_sector]);
 
 1765         double phi1 = tgcFitResult.
tgcMid1[1];
 
 1766         double phi2 = tgcFitResult.
tgcMid2[1];
 
 1767         if ( tgcFitResult.
tgcMid1[3]==0. || tgcFitResult.
tgcMid2[3]==0. ) {
 
 1770         } 
else if( phi1*phi2 < 0 && std::abs(phi1)>(
M_PI/2.) ) {
 
 1771           double tmp1 = (phi1>0)? phi1 - 
M_PI : phi1 + 
M_PI;
 
 1776           phi  = (phi2+phi1)/2.;
 
 
 
 
◆ 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. 
 
 
◆ updateMonitor()
Update monitoring variables. 
Definition at line 2114 of file MuFastSteering.cxx.
 2131   std::vector<float> t_eta, t_phi;
 
 2132   std::vector<float> f_eta, f_phi;
 
 2133   std::vector<float> r_inner, r_middle, r_outer;
 
 2134   std::vector<float> f_residuals;
 
 2143   f_residuals.clear();
 
 2155                                                 invalid_rpc_roi_number,
 
 2157                                                 track_eta, track_phi, failed_eta, failed_phi,
 
 2158                                                 res_inner, res_middle, res_outer, fit_residuals );
 
 2162   if( trackPatterns.size() > 0 ) {
 
 2169     float count_inner  = 0;
 
 2170     float count_middle = 0;
 
 2171     float count_outer  = 0;
 
 2175       if (std::abs(mdtHit.DriftSpace) < 
ZERO_LIMIT) 
continue;
 
 2177       char st = mdtHit.cType[1];
 
 2181         r_inner.push_back(mdtHit.Residual/
norm);
 
 2182         if (mdtHit.isOutlier==0) f_residuals.push_back(mdtHit.Residual/
norm);
 
 2187         r_middle.push_back(mdtHit.Residual/
norm);
 
 2188         if (mdtHit.isOutlier==0) f_residuals.push_back(mdtHit.Residual/
norm);
 
 2193         r_outer.push_back(mdtHit.Residual/
norm);
 
 2194         if (mdtHit.isOutlier==0) f_residuals.push_back(mdtHit.Residual/
norm);
 
 2198     inner_mdt_hits  = count_inner;
 
 2199     middle_mdt_hits = count_middle;
 
 2200     outer_mdt_hits  = count_outer;
 
 2203     absolute_pt = std::abs(track_pt);
 
 2206       t_eta.push_back(
pattern.etaMap);
 
 2207       t_phi.push_back(
pattern.phiMS);
 
 2210       f_eta.push_back(roi->
eta());
 
 2211       f_phi.push_back(roi->
phi());
 
 2219   return StatusCode::SUCCESS;
 
 
 
 
◆ updateOutputObjects()
  
  
      
        
          | bool MuFastSteering::updateOutputObjects  | 
          ( | 
          const xAOD::MuonRoI *  | 
          roi,  | 
         
        
           | 
           | 
          const TrigRoiDescriptor *  | 
          roids,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MuonRoad &  | 
          muonRoad,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MdtRegion &  | 
          mdtRegion,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::RpcHits &  | 
          rpcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::TgcHits &  | 
          tgcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::RpcFitResult &  | 
          rpcFitResult,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::TgcFitResult &  | 
          tgcFitResult,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MdtHits &  | 
          mdtHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::CscHits &  | 
          cscHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::StgcHits &  | 
          stgcHits,  | 
         
        
           | 
           | 
          const TrigL2MuonSA::MmHits &  | 
          mmHits,  | 
         
        
           | 
           | 
          const std::vector< TrigL2MuonSA::TrackPattern > &  | 
          trackPatterns,  | 
         
        
           | 
           | 
          DataVector< xAOD::L2StandAloneMuon > &  | 
          outputTracks,  | 
         
        
           | 
           | 
          TrigRoiDescriptorCollection &  | 
          outputID,  | 
         
        
           | 
           | 
          TrigRoiDescriptorCollection &  | 
          outputMS,  | 
         
        
           | 
           | 
          const EventContext &  | 
          ctx  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
protected   | 
  
 
Called at the end of the algorithm processing to set the steering navigation properly. 
Definition at line 1351 of file MuFastSteering.cxx.
 1370   if( trackPatterns.size() > 0 ) {
 
 1375     storeMuonSA(roi, roids, muonRoad, mdtRegion, rpcHits, tgcHits,
 
 1376                 rpcFitResult, tgcFitResult, mdtHits, cscHits,
 
 1383     ATH_MSG_DEBUG(
"Not update output objects because trackPatterns has no object");
 
 
 
 
◆ updateVHKA()
◆ m_allowOksConfig
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_allowOksConfig { this, "AllowOksConfig", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_backExtrapolatorTool
Initial value:{
    this, "BackExtrapolator", "TrigMuonBackExtrapolator", "public tool for back extrapolating the muon tracks to the IV" }
 
Handle to MuonBackExtrapolator tool. 
Definition at line 176 of file MuFastSteering.h.
 
 
◆ m_calBufferName
  
  
      
        
          | Gaudi::Property< std::string > MuFastSteering::m_calBufferName { this, "MuonCalBufferName", "/tmp/testOutput"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_calBufferSize
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_calBufferSize { this, "MuonCalBufferSize", 1024*1024} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_calDataScouting
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_calDataScouting { this, "MuonCalDataScouting", false} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_calStreamer
Initial value:{
    this, "CalibrationStreamer", "TrigL2MuonSA::MuCalStreamerTool", "calibration stream" }
 
Definition at line 180 of file MuFastSteering.h.
 
 
◆ m_cscsegmaker
Initial value:{
    this, "CscSegmentMaker", "TrigL2MuonSA::CscSegmentMaker", "" }
 
Definition at line 187 of file MuFastSteering.h.
 
 
◆ m_dataPreparator
Initial value:{
    this, "DataPreparator", "TrigL2MuonSA::MuFastDataPreparator", "data preparator" }
 
Definition at line 162 of file MuFastSteering.h.
 
 
◆ m_dEtasurrRoI
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_dEtasurrRoI { this, "dEtasurrRoI", 99, "eta range to find surrounding L1 RoIs" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_detStore
◆ m_doCalStream
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_doCalStream { this, "DoCalibrationStream", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_doEndcapForl2mt
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_doEndcapForl2mt { this, "doEndcapForl2mt", false, "" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_dPhisurrRoI
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_dPhisurrRoI { this, "dPhisurrRoI", 99, "phi range to find surrounding L1 RoIs" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_csc_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_csc_size { this, "ESD_CSC_size", 100 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_mdt_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_mdt_size { this, "ESD_MDT_size", 100 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_mm_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_mm_size { this, "ESD_MM_size", 100 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_rpc_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_rpc_size { this, "ESD_RPC_size", 100 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_stgc_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_stgc_size { this, "ESD_STGC_size", 100 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_esd_tgc_size
  
  
      
        
          | Gaudi::Property< int > MuFastSteering::m_esd_tgc_size { this, "ESD_TGC_size", 50 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_eventInfoKey
Initial value:{
    this, "EventInfo", "EventInfo", "Name of the xAOD::EventInfo object"}
 
Definition at line 250 of file MuFastSteering.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_fill_FSIDRoI
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_fill_FSIDRoI { this, "FILL_FSIDRoI", false, "Fill FS RoI for ID (will be used in cosmic run)"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_ftfminPt
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_ftfminPt { this, "FTFminPt", 3500, "pT [MeV] threshold to FTF tracks for L2Muon Inside-out mode" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_ftfRoadDefiner
Initial value:{
        this, "FtfRoadDefiner", "TrigL2MuonSA::FtfRoadDefiner", "ftf road definer" }
 
Definition at line 172 of file MuFastSteering.h.
 
 
◆ m_FTFtrackKey
Initial value:{
    this, "TrackParticlesContainerName", "HLT_xAODTracks_Muon", "Name of the input data on xAOD::TrackParticleContainer produced by FTF for Inside-Out mode"}
 
Definition at line 264 of file MuFastSteering.h.
 
 
◆ m_incidentSvc
  
  
      
        
          | ServiceHandle< IIncidentSvc > MuFastSteering::m_incidentSvc {this, "IncidentSvc", "IncidentSvc"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_insideOut
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_insideOut { this, "InsideOutMode", false, "" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_jobOptionsSvc
  
  
      
        
          | ServiceHandle<Gaudi::Interfaces::IOptionsSvc> MuFastSteering::m_jobOptionsSvc {this, "JobOptionsSvc", "JobOptionsSvc", "Job options service to retrieve DataFlowConfig" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_monTool
◆ m_muCompositeContainerKey
Initial value:{
    this, "MuonCalibrationStream", "", "Name of the decisions object attached by MuFastSteering"}
 
Definition at line 272 of file MuFastSteering.h.
 
 
◆ m_muFastContainerKey
Initial value:{
    this, "MuonL2SAInfo", "MuonL2SAInfo", "Name of the output data on xAOD::L2StandAloneMuonContainer"}
 
Definition at line 268 of file MuFastSteering.h.
 
 
◆ m_muIdContainerKey
Initial value:{
    this, "forID", "forID", "Name of the output data for Inner Detector"}
 
Definition at line 276 of file MuFastSteering.h.
 
 
◆ m_multiTrack
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_multiTrack { this, "multitrackMode", false, "" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_muMsContainerKey
Initial value:{
    this, "forMS", "forMS", "Name of the output data for MS"}
 
Definition at line 280 of file MuFastSteering.h.
 
 
◆ m_outputCBmuonCollKey
Initial value:{
    this, "L2IOCB", "MuonL2CBInfo", "output CB Muon container name"}
 
Definition at line 284 of file MuFastSteering.h.
 
 
◆ m_patternFinder
Initial value:{
    this, "PatternFinder", "TrigL2MuonSA::MuFastPatternFinder", "pattern finder" }
 
Definition at line 164 of file MuFastSteering.h.
 
 
◆ m_recMuonRoIUtils
◆ m_recRoiCollectionKey
Initial value:{
    this, "RecMuonRoI", "LVL1MuonRoIs", "Name of the input data on xAOD::MuonRoI"}
 
Definition at line 260 of file MuFastSteering.h.
 
 
◆ m_roiCollectionKey
Initial value:{
    this, "MuRoIs", "HLT_MURoIs", "Name of the input data from HLTSeeding"}
 
Definition at line 254 of file MuFastSteering.h.
 
 
◆ m_rpcErrToDebugStream
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_rpcErrToDebugStream { this, "RpcErrToDebugStream", false} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_run2recRoiCollectionKey
Initial value:{
    this, "Run2RecMuonRoI", "HLT_RecMURoIs", "Name of the input data on LVL1::RecMuonRoI produced by HLTSeeding"}
 
Definition at line 258 of file MuFastSteering.h.
 
 
◆ m_rWidth_RPC_Failed
  
  
      
        
          | Gaudi::Property< double > MuFastSteering::m_rWidth_RPC_Failed { this, "R_WIDTH_RPC_FAILED", 400 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_rWidth_TGC_Failed
  
  
      
        
          | Gaudi::Property< double > MuFastSteering::m_rWidth_TGC_Failed { this, "R_WIDTH_TGC_FAILED", 200 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_scaleRoadBarrelInner
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_scaleRoadBarrelInner { this, "Scale_Road_BarrelInner", 1 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_scaleRoadBarrelMiddle
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_scaleRoadBarrelMiddle { this, "Scale_Road_BarrelMiddle", 1 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_scaleRoadBarrelOuter
  
  
      
        
          | Gaudi::Property< float > MuFastSteering::m_scaleRoadBarrelOuter { this, "Scale_Road_BarrelOuter", 1 } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_stationFitter
Initial value:{
    this, "StationFitter", "TrigL2MuonSA::MuFastStationFitter", "station fitter" }
 
Definition at line 166 of file MuFastSteering.h.
 
 
◆ m_topoRoad
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_topoRoad { this, "topoRoad", false, "create road in barrel not to highly overlap surrounding L1 RoIs" } | 
         
       
   | 
  
private   | 
  
 
 
◆ m_trackExtrapolator
Initial value:{
    this, "TrackExtrapolator", "TrigL2MuonSA::MuFastTrackExtrapolator", "track extrapolator" }
 
Definition at line 170 of file MuFastSteering.h.
 
 
◆ m_trackFitter
Initial value:{
    this, "TrackFitter", "TrigL2MuonSA::MuFastTrackFitter", "track fitter" }
 
Definition at line 168 of file MuFastSteering.h.
 
 
◆ m_use_endcapInnerFromBarrel
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_endcapInnerFromBarrel { this, "UseEndcapInnerFromBarrel", false} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_mcLUT
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_mcLUT { this, "UseLUTForMC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_mm
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_mm { this, "USE_MM", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_new_segmentfit
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_new_segmentfit { this, "USE_NEW_SEGMENTFIT", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_CSC
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_CSC { this, "USE_ROIBASEDACCESS_CSC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_MDT
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_MDT { this, "USE_ROIBASEDACCESS_MDT", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_MM
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_MM { this, "USE_ROIBASEDACCESS_MM", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_RPC
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_RPC { this, "USE_ROIBASEDACCESS_RPC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_STGC
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_STGC { this, "USE_ROIBASEDACCESS_STGC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_RoIBasedDataAccess_TGC
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_RoIBasedDataAccess_TGC { this, "USE_ROIBASEDACCESS_TGC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_rpc
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_rpc { this, "USE_RPC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_use_stgc
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_use_stgc { this, "USE_STGC", true} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_useRun3Config
  
  
      
        
          | Gaudi::Property< bool > MuFastSteering::m_useRun3Config { this, "UseRun3Config", false, "use Run3 L1Muon EDM; xAOD::MuonRoI"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_winPt
  
  
      
        
          | Gaudi::Property< double > MuFastSteering::m_winPt { this, "WinPt", 4.0 } | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following files:
 
Gaudi::Property< bool > m_use_mm
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_CSC
 
ServiceHandle< Gaudi::Interfaces::IOptionsSvc > m_jobOptionsSvc
 
void setDeltaEta(float value)
Set error of eta.
 
@ ITIMER_CALIBRATION_STREAMER
 
ToolHandle< TrigL2MuonSA::CscSegmentMaker > m_cscsegmaker
 
bool storeMuonSA(const xAOD::MuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const TrigL2MuonSA::TrackPattern &pattern, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const EventContext &ctx) const
 
constexpr uint8_t stationPhi
station Phi 1 to 8
 
void setMmClustersCapacity(const int value)
Set size of storage for MM clusters.
 
void setStrategy(int value)
set algorithm strategy flag
 
bool storeIDRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID) const
 
ToolHandle< TrigL2MuonSA::MuFastDataPreparator > m_dataPreparator
 
Const iterator class for DataVector/DataList.
 
Group
Properties of a chain group.
 
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
 
void setScales(double inner, double middle, double outer)
 
Scalar phi() const
phi method
 
void setEtaBin(int value)
Set eta bin of pT LUT.
 
void setEndcapAlpha(float value)
Set the fitted  value in the endcap.
 
float etaMS() const
Get the eta at muon spectrometer.
 
std::string find(const std::string &s)
return a remapped string
 
void setEtaMap(float value)
Set eta used to refer pT LUT.
 
std::vector< RpcHitData > RpcHits
 
void setRegionEta(int station, int sector, float min, float max)
Eta range.
 
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
 
Gaudi::Property< float > m_dEtasurrRoI
 
Helper class to provide type-safe access to aux data.
 
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
 
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
 
ToolHandle< TrigL2MuonSA::MuFastTrackExtrapolator > m_trackExtrapolator
 
void setPhiBin(int value)
Set phi bin of pT LUT.
 
Class describing standalone muons reconstructed in the LVL2 trigger.
 
Scalar eta() const
pseudorapidity method
 
void setAlgoId(int value)
 
ToolHandle< TrigL2MuonSA::MuFastTrackFitter > m_trackFitter
 
ToolHandle< TrigL2MuonSA::MuCalStreamerTool > m_calStreamer
 
SG::WriteHandleKey< xAOD::L2CombinedMuonContainer > m_outputCBmuonCollKey
 
Gaudi::Property< std::string > m_calBufferName
 
TrigL2MuonSA::RecMuonRoIUtils m_recMuonRoIUtils
 
accumulate
Update flags based on parser line args.
 
T wrapToPi(T phi)
Wrap angle in radians to [-pi, pi].
 
void setIsRpcFailure(int value)
Set flag to record if RPC is properly read.
 
@ BEE
BEE measurement point.
 
@ EndcapExtra
Extra station in the endcap spectrometer.
 
Scalar theta() const
theta method
 
void setRoiSubsystem(uint32_t value)
 
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)
 
ToolHandle< ITrigMuonBackExtrapolator > m_backExtrapolatorTool
Handle to MuonBackExtrapolator tool.
 
ToolHandle< TrigL2MuonSA::MuFastPatternFinder > m_patternFinder
 
std::vector< MdtHitData > MdtHits
 
std::vector< TgcHitData > TgcHits
 
bool storeMSRoiDescriptor(const TrigRoiDescriptor *roids, const TrigL2MuonSA::TrackPattern &pattern, const DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputMS) const
 
double bw[N_STATION][N_SECTOR]
 
void setTgcInn(float eta, float phi, float r, float z)
Set the results of TGC fit.
 
Gaudi::Property< bool > m_topoRoad
 
StatusCode findMuonSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, xAOD::TrigCompositeContainer *outputMuonCal, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMuonSignature(), includes reconstract algorithms
 
void setMdtHit(uint32_t onlineId, int isOutier, int chamber, float r, float z, float phi, float residual, float time, float space, float sigma)
Set the properties of each MDT tube.
 
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
 
@ BME
BME measurement point.
 
virtual unsigned int roiWord() const override final
 
Gaudi::Property< float > m_scaleRoadBarrelInner
 
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
 
@ BarrelInner
Inner station in the barrel spectrometer.
 
float eta() const
The pseudorapidity ( ) of the muon candidate.
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
ServiceHandle< IIncidentSvc > m_incidentSvc
 
Gaudi::Property< bool > m_doEndcapForl2mt
 
void setRoiSector(uint32_t value)
 
bool msgLvl(const MSG::Level lvl) const
 
ToolHandle< TrigL2MuonSA::MuFastStationFitter > m_stationFitter
 
void setDeltaPhi(float value)
Set error of phi.
 
void setSuperPoint(int chamber, float r, float z, float slope, float intercept=0., float chi2=0.)
Set the properties of one particular super point measurement.
 
void setPhiMS(float value)
Set the phi at muon spectrometer.
 
void setEtaMS(float value)
Set the eta at muon spectrometer.
 
void setRpcFitInn(float phi, float slope, float offset)
Set the results of RPC fit.
 
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
 
float phiMS() const
Get the phi at muon spectrometer.
 
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber roiEta
 
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muMsContainerKey
 
setSAddress setEtaMS setDirPhiMS setDirZMS barrelRadius
 
void setCharge(float value)
set seeding muon charge
 
Gaudi::Property< int > m_esd_csc_size
 
StatusCode findMuonSignatureIO(const xAOD::TrackParticleContainer &idtracks, const std::vector< const TrigRoiDescriptor * > &roids, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2CombinedMuon > &outputCBs, DataVector< xAOD::L2StandAloneMuon > &outputSAs, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMuonSignatureIO(), includes reconstract algorithms for inside-out mode
 
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_FTFtrackKey
 
Hemisphere getHemisphere() const
Returns the hemisphere that detected the muon candidate.
 
#define ATH_MSG_VERBOSE(x)
 
const std::string & key() const
Return the StoreGate ID for the referenced object.
 
std::string to_string(const SectorProjector proj)
 
Gaudi::Property< bool > m_use_rpc
 
int workerID() const
assigned worker ID from processing unit
 
std::vector< CscHitData > CscHits
 
void setRMS(float value)
Set the R at muon spectrometer.
 
double aw[N_STATION][N_SECTOR]
 
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
 
float getRoiSizeForID(bool isEta, const xAOD::L2StandAloneMuon *muonSA) const
 
void setTgcHitsCapacity(int value)
Set size of storage for TGC hits.
 
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
 
virtual void setOwner(IDataHandleHolder *o)=0
 
An algorithm that can be simultaneously executed in multiple threads.
 
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)
 
Gaudi::Property< bool > m_fill_FSIDRoI
 
Class describing combined muon reconstructed in the LVL2 trigger.
 
Gaudi::Property< bool > m_doCalStream
 
void setPtEndcapBeta(float value)
 
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_RPC
 
void setBeta(float value)
Set beta.
 
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
 
Gaudi::Property< bool > m_calDataScouting
 
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_recRoiCollectionKey
 
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
 
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
 
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="")
 
StatusCode updateMonitor(const xAOD::MuonRoI *roi, const TrigL2MuonSA::MdtHits &mdtHits, std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns) const
Update monitoring variables.
 
Gaudi::Property< bool > m_useRun3Config
 
void setRoad(int station, int sector, float aw, float bw)
Road.
 
double rMax[N_STATION][N_SECTOR]
 
Gaudi::Property< bool > m_use_stgc
 
Gaudi::Property< bool > m_multiTrack
 
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
 
void setBarrelSagitta(float value)
Set the fitted sagitta of the muon in the barrel.
 
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
 
int sAddress() const
Get the station address of the muon.
 
Gaudi::Property< float > m_scaleRoadBarrelMiddle
 
void setMmCluster(const unsigned int layer, const int isOutlier, const float eta, const float phi, const float r, const float z, const float residualR, const float residualPhi, const int stationEta, const int stationPhi, const int stationName)
Set MM hits.
 
Gaudi::Property< bool > m_use_new_segmentfit
 
void setSAddress(int value)
Set the station address of the muon.
 
ToolHandle< GenericMonitoringTool > m_monTool
 
void setRoiSystem(uint32_t value)
 
Gaudi::Property< float > m_ftfminPt
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
void setRoiId(uint32_t value)
 
void setChamberType2(int station, int sector, int chamberType)
 
void setPtEndcapAlpha(float value)
 
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
 
bool isBarrel(const LVL1::RecMuonRoI *p_roi) const
 
Class describing a LVL1 muon region of interest.
 
RoISource getSource() const
Returns the system that detected the muon candidate.
 
StatusCode findMultiTrackSignature(const std::vector< const TrigRoiDescriptor * > &roi, const std::vector< const xAOD::MuonRoI * > &muonRoIs, DataVector< xAOD::L2StandAloneMuon > &outputTracks, const bool dynamicDeltaRpc, const EventContext &ctx) const
findMultiTrackSignature(), includes reconstract algorithms for multi-track mode
 
virtual unsigned int l1Id() const override final
 
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
 
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< bool > m_use_endcapInnerFromBarrel
 
AthROOTErrorHandlerSvc * svc
 
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_muIdContainerKey
 
int L2MuonAlgoMap(const std::string &name) const
 
double etaMin[N_STATION][N_SECTOR]
 
Class used to describe composite objects in the HLT.
 
int getRoI() const
Get the "RoI number" (position inside the sector)
 
void setCscHit(int isOutlier, int chamber, uint32_t stationName, int stationEta, int stationPhi, int chamberLayer, int wireLayer, int measuresPhi, int strip, float eta, float phi, float r, float z, int charge, float time, float residual)
Set the properties of each CSC tube.
 
void setRegionZ(int station, int sector, float min, float max)
Z range.
 
void setRpcFitOut(float phi, float slope, float offset)
 
void setMuonDetMask(uint32_t value)
 
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
 
virtual void renounce()=0
 
Gaudi::Property< int > m_esd_rpc_size
 
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
 
void setStgcCluster(const unsigned int layer, const int isOutlier, const int type, const float eta, const float phi, const float r, const float z, const float residualR, const float residualPhi, const int stationEta, const int stationPhi, const int stationName)
Set sTGC hits.
 
ElementLink implementation for ROOT usage.
 
Gaudi::Property< bool > m_insideOut
 
void setIsTgcFailure(int value)
Set flag to record if TGC is properly read.
 
@ EndcapMiddle
Middle station in the endcap spectrometer.
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MM
 
void setEndcapBeta(float value)
Set the fitted  value in the endcap.
 
void setIdTrackLink(const ElementLink< xAOD::TrackParticleContainer > &link)
set ID track used to make the CB muon
 
Gaudi::Property< int > m_esd_tgc_size
 
void setDirPhiMS(float value)
Set tan phi at muon spectrometer.
 
@ ITIMER_TRACK_EXTRAPOLATOR
 
void setRpcHitsCapacity(int value)
Size of storage to be reserved.
 
void setBarrelRadius(float value)
Set the fitted radius of the muon in the barrel.
 
value_type push_back(value_type pElem)
Add an element to the end of the collection.
 
void makePrivateStore()
Create a new (empty) private store for this object.
 
void setRpcHit(uint32_t layer, uint32_t measuresPhi, float x, float y, float z, float time, float distEta, float distPhi, const std::string &stationName)
Set RPC hits.
 
void setMdtHitsCapacity(int value)
Set size of storage for MDT hits.
 
ToolHandle< TrigL2MuonSA::FtfRoadDefiner > m_ftfRoadDefiner
 
L2CombinedMuon_v1 L2CombinedMuon
Define the latest version of the muon CB class.
 
Gaudi::Property< float > m_scaleRoadBarrelOuter
 
static const std::string & type()
Incident type.
 
Gaudi::Property< double > m_rWidth_TGC_Failed
 
void setMuSATrackLink(const ElementLink< xAOD::L2StandAloneMuonContainer > &link)
set SA muon used to make the CB muon
 
Gaudi::Property< double > m_winPt
 
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
 
double zMin[N_STATION][N_SECTOR]
 
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
 
void setRoiEta(float value)
 
Gaudi::Property< float > m_dPhisurrRoI
 
void setZMS(float value)
Set the Z at muon spectrometer.
 
void setRoiThreshold(uint32_t value)
 
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
 
double zMax[N_STATION][N_SECTOR]
 
bool updateOutputObjects(const xAOD::MuonRoI *roi, const TrigRoiDescriptor *roids, const TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::MdtRegion &mdtRegion, const TrigL2MuonSA::RpcHits &rpcHits, const TrigL2MuonSA::TgcHits &tgcHits, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::CscHits &cscHits, const TrigL2MuonSA::StgcHits &stgcHits, const TrigL2MuonSA::MmHits &mmHits, const std::vector< TrigL2MuonSA::TrackPattern > &trackPatterns, DataVector< xAOD::L2StandAloneMuon > &outputTracks, TrigRoiDescriptorCollection &outputID, TrigRoiDescriptorCollection &outputMS, const EventContext &ctx) const
Called at the end of the algorithm processing to set the steering navigation properly.
 
void setRpcFitMid(float phi, float slope, float offset)
 
const LVL1::RecMuonRoI * matchingRecRoI(uint32_t roiWord, const DataVector< LVL1::RecMuonRoI > &collection)
 
virtual double etaPlus() const override final
gets eta at zedPlus
 
void setTgcPt(float value)
 
std::vector< MmHitData > MmHits
 
bool empty() const noexcept
 
#define ATH_MSG_WARNING(x)
 
virtual double phi() const override final
Methods to retrieve data members.
 
double rMin[N_STATION][N_SECTOR]
 
@ EndcapInner
Inner station in the endcap spectrometer.
 
@ BarrelOuter
Outer station in the barrel spectrometer.
 
std::vector< StgcHitData > StgcHits
 
void setRegionR(int station, int sector, float min, float max)
R range.
 
unsigned bcTag(unsigned bcBitMap)
 
Gaudi::Property< bool > m_use_mcLUT
 
SG::WriteHandleKey< xAOD::L2StandAloneMuonContainer > m_muFastContainerKey
 
void setRoiNumber(uint32_t value)
 
@ ITIMER_TOTAL_PROCESSING
 
SG::ReadHandleKey< DataVector< LVL1::RecMuonRoI > > m_run2recRoiCollectionKey
 
void setLvl1Id(uint32_t value)
 
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
 
virtual double eta() const override final
 
void setPtCSC(float value)
 
virtual double pt() const
The transverse momentum ( ) of the particle.
 
virtual StatusCode sysInitialize() override
Override sysInitialize.
 
Athena::TPCnvVers::Current TrigRoiDescriptor
 
void setRoIWord(uint32_t value)
Set the RoI ID of the seeding LVL1 muon.
 
Gaudi::Property< double > m_rWidth_RPC_Failed
 
const T * at(size_type n) const
Access an element, as an rvalue.
 
Gaudi::Property< int > m_calBufferSize
 
int getSectorID() const
Get the sector ID number.
 
Declare a monitored scalar variable.
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_MDT
 
double etaMax[N_STATION][N_SECTOR]
 
virtual double phiPlus() const override final
gets phiPlus
 
constexpr uint8_t stationEta
1 to 3
 
void setTgcHit(float eta, float phi, float r, float z, float width, int stationNum, bool isStrip, int bcTag, bool inRoad)
Set TGC hits.
 
void setCscHitsCapacity(int value)
Set size of storage for CSC hits.
 
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.
 
virtual double etaMinus() const override final
gets eta at zMinus
 
void setStgcClustersCapacity(const int value)
Set size of storage for sTGC clusters.
 
void setPtEndcapRadius(float value)
 
void setDirZMS(float value)
Set dRdZ at muon spectrometer.
 
int getThrNumber() const
Get the logic number of the highest threshold this RoI passed.
 
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
 
void setErrorFlag(int value)
set algorithm error flag
 
void setPhiMap(float value)
Set phi used to refer pT LUT.
 
void setEndcapRadius(float value)
Set the fitted radius of the muon in the endcap.
 
Gaudi::Property< int > m_esd_mdt_size
 
virtual double phiMinus() const override final
gets phiMinus
 
void setDeltaPt(float value)
Set error of pT.
 
Gaudi::Property< int > m_esd_mm_size
 
size_type size() const noexcept
Returns the number of elements in the collection.
 
@ BarrelMiddle
Middle station in the barrel spectrometer.
 
void setLumiBlock(uint32_t value)
 
@ EndcapOuter
Outer station in the endcap spectrometer.
 
Gaudi::Property< int > m_esd_stgc_size
 
uint32_t roiWord() const
The "raw" RoI word describing the muon candidate.
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_TGC
 
void setTgcMid2(float eta, float phi, float r, float z)
 
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
 
void setTgcMid1(float eta, float phi, float r, float z)
 
void setTrackPosition(float r, float z, float eta, float phi)
Set position of muon track.
 
int chamberType[N_STATION][N_SECTOR][2]
 
void setRoiPhi(float value)
 
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_muCompositeContainerKey
 
ECRegions whichECRegion(const float eta, const float phi)
 
float phi() const
The azimuthal angle ( ) of the muon candidate.
 
Gaudi::Property< bool > m_use_RoIBasedDataAccess_STGC