![]() |
ATLAS Offline Software
|
#include <MuonHoughPatternFinderTool.h>
Classes | |
| struct | Hists |
| pointer to the CSC segment combination collection More... | |
Public Types | |
| using | PrepDataSet = IMuonCombinePatternTool::PrepDataSet |
| using | EtaPhiHitAssocMap = IMuonCombinePatternTool::EtaPhiHitAssocMap |
| using | MuonPatternHoughPair = std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<Muon::HoughDataPerSectorVec>> |
Public Member Functions | |
| MuonHoughPatternFinderTool (const std::string &, const std::string &, const IInterface *) | |
| constructor | |
| virtual | ~MuonHoughPatternFinderTool () |
| destructor | |
| virtual StatusCode | initialize () override |
| initialize | |
| virtual StatusCode | finalize () override |
| finalize | |
| MuonPatternHoughPair | find (const std::vector< const MdtPrepDataCollection * > &mdtCols, const std::vector< const CscPrepDataCollection * > &cscCols, const std::vector< const TgcPrepDataCollection * > &tgcCols, const std::vector< const RpcPrepDataCollection * > &rpcCols, const MuonSegmentCombinationCollection *cscSegmentCombis, const EventContext &ctx) const override |
| find patterns for a give set of MuonPrepData collections + optionally CSC segment combinations | |
| MuonPatternHoughPair | find (const MdtPrepDataContainer *mdtCont, const CscPrepDataContainer *cscCols, const TgcPrepDataContainer *tgcCont, const RpcPrepDataContainer *rpcCont, const sTgcPrepDataContainer *stgcCont, const MMPrepDataContainer *mmCont, const EventContext &ctx) const override |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| access to tool interface | |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| MuonPatternHoughPair | find (const EventContext &ctx, const std::vector< const MdtPrepDataCollection * > &mdtCols, const std::vector< const CscPrepDataCollection * > &cscCols, const std::vector< const TgcPrepDataCollection * > &tgcCols, const std::vector< const RpcPrepDataCollection * > &rpcCols, const std::vector< const sTgcPrepDataCollection * > &stgcCols, const std::vector< const MMPrepDataCollection * > &mmCols, const MuonSegmentCombinationCollection *cscSegmentCombis) const |
| template<class T> | |
| std::vector< const MuonPrepDataCollection< T > * > | stdVec (const MuonPrepDataContainerT< T > *cont) const |
| std::unique_ptr< MuonHoughHitContainer > | getAllHits (const std::vector< const MdtPrepDataCollection * > &mdtCols, const std::vector< const TgcPrepDataCollection * > &tgcCols, const std::vector< const RpcPrepDataCollection * > &rpcCols, const MuonSegmentCombinationCollection *cscSegmentCombis, std::map< int, std::vector< std::pair< int, int > > > &rpcmdtstationmap, std::map< int, std::vector< std::pair< int, int > > > &tgcmdtstationmap, EtaPhiHitAssocMap &phietahitassociation) const |
| retrieves all hits and converts them into internal EDM | |
| std::unique_ptr< MuonPatternCombinationCollection > | analyse (const EventContext &ctx, const MuonHoughHitContainer &hitcontainer, const EtaPhiHitAssocMap &phietahitassociation) const |
| analyse hits | |
| void | record (std::unique_ptr< MuonPrdPatternCollection > &patCol, const SG::WriteHandleKey< MuonPrdPatternCollection > &key, const EventContext &ctx) const |
| record patterncollection to storegate or deletes collection when m_recordAllOutput is false | |
| void | addRpcCollection (const RpcPrepDataCollection *rpc_coll, MuonHoughHitContainer &hitcontainer, std::map< int, std::vector< std::pair< int, int > > > &rpcmdtstationmap, EtaPhiHitAssocMap &phietahitassociation) const |
| convert and add rpc preprawdata collection (1 chamber) | |
| void | addMdtCollection (const MdtPrepDataCollection *mdt_coll, MuonHoughHitContainer &hitcontainer, std::map< int, std::vector< std::pair< int, int > > > &rpcmdtstationmap, std::map< int, std::vector< std::pair< int, int > > > &tgcmdtstationmap) const |
| convert and add mdt preprawdata collection (1 chamber) | |
| void | addCscCollection (const CscPrepDataCollection *csc_coll, MuonHoughHitContainer &hitcontainer, EtaPhiHitAssocMap &phietahitassociation) const |
| convert and add csc preprawdata collection (1 chamber) | |
| template<class CollContainer> | |
| void | addCollection (const CollContainer &cont, MuonHoughHitContainer &hitcontainer, EtaPhiHitAssocMap &phietahitassociation) const |
| Inserts the Prds into the Hough container & fills the eta phi association map. | |
| template<class CollContainer> | |
| void | addCollections (const std::vector< const CollContainer * > &colls, MuonHoughHitContainer &hitcontainer, EtaPhiHitAssocMap &phietahitassociation) const |
| void | addTgcCollection (const Muon::TgcPrepDataCollection *, MuonHoughHitContainer &hitcontainer, std::map< int, std::vector< std::pair< int, int > > > &tgcmdtstationmap, EtaPhiHitAssocMap &phietahitassociation) const |
| convert and add tgc preprawdata collection (1 chamber) | |
| void | fastSegmentFinder (TrkDriftCircleMath::DCVec &dcs, int &nl1, int &nl2, double &angleDif, std::vector< int > &sel) const |
| finds best segment for given driftcircle vector (nl1/2 = number of dc's in ml 1 and 2, angledif is difference between angle of segment and chamberangle, sel is vector of selected hits (0 not selected, 1 selected) | |
| int | calculateStationCode (const Identifier) const |
| calculateStationCode(const Identifier) | |
| void | updateRpcMdtStationMap (const Identifier rpcid, int hit_begin, int hit_end, std::map< int, std::vector< std::pair< int, int > > > &rpcmdtstationmap) const |
| update station map for rpc chamber, with id of chamber, and size of hits in rpc chamber | |
| void | updateTgcMdtStationMap (const Identifier tgcid, int hit_begin, int hit_end, std::map< int, std::vector< std::pair< int, int > > > &tgcmdtstationmap) const |
| update station map for tgc chamber, with id of chamber, and size of hits in tgc chamber | |
| int | stationCode (const Identifier &id) const |
| calculates an unique stationcode integer (own convention) | |
| Hists & | getHists () const |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Static Private Member Functions | |
| static int | stationCode (int stationname, int phi, int eta) |
| calculates an unique stationcode integer (own convention) | |
| static void | addToStationMap (std::map< int, std::vector< std::pair< int, int > > > &stationmap, std::map< int, std::vector< std::pair< int, int > > >::iterator &it, int &stationcode, const int &hit_begin, const int &hit_end) |
Private Attributes | |
| ToolHandle< IMuonHoughPatternTool > | m_muonHoughPatternTool {this, "muonHoughPatternTool",""} |
| Pointer to concrete tool. | |
| ToolHandle< Muon::IMuonCombinePatternTool > | m_muonCombinePatternTool |
| Pointer to concrete tool. | |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
| PublicToolHandle< Muon::MuonEDMPrinterTool > | m_printer |
| Gaudi::Property< bool > | m_hit_reweights {this, "HitReweights", true} |
| reweight hits (true) | |
| Gaudi::Property< bool > | m_mdt_adc_cut {this, "MDT_ADC_cut", true} |
| use adc cut (true) | |
| Gaudi::Property< int > | m_mdt_adc_min {this, "MDT_ADC_value", 50} |
| value of adc cut (50) | |
| Gaudi::Property< bool > | m_mdt_tdc_cut {this, "MDT_TDC_cut", true} |
| use tdc cut (false) | |
| Gaudi::Property< bool > | m_use_rpc {this, "RPC", true} |
| use rpc preprawdata (true) | |
| Gaudi::Property< bool > | m_use_tgc {this, "TGC", true} |
| use tgc preprawdata (true) | |
| Gaudi::Property< bool > | m_use_csc {this, "CSC", true} |
| use csc preprawdata (true) | |
| Gaudi::Property< bool > | m_use_mdt {this, "MDT", true} |
| use mdt preprawdata (true) | |
| Gaudi::Property< bool > | m_use_mm {this, "MM", true} |
| Gaudi::Property< bool > | m_use_stgc {this, "STGC", true} |
| double | m_weight_csc_on_segment {2.} |
| use weight for csc segments | |
| Gaudi::Property< bool > | m_showerskip {this, "ShowerSkipping", true} |
| reduce cpu for showers (true) | |
| Gaudi::Property< double > | m_showerskipperc {this, "ShowerSkipPercentage", 0.3} |
| percentage of occupancy to skip MDT chamber (0.3) | |
| Gaudi::Property< bool > | m_use_histos {this, "UseHistos", false} |
| flag to output a root file to study the weights of hits | |
| Gaudi::Property< bool > | m_summary {this, "DoSummary", false} |
| flag to print out a summary of what comes in and what comes out | |
| Gaudi::Property< bool > | m_recordAllOutput {this, "RecordAll", false} |
| flag to write out intermediate patterns | |
| Gaudi::Property< std::string > | m_cscAssoOutputLocation {this, "PatCscSegAssMapOutputLocation", "MuonPatCscSegAssMap"} |
| storegate location for csc association map | |
| std::unique_ptr< Hists > | m_h |
| SG::WriteHandleKey< MuonPrdPatternCollection > | m_CosmicPhiPatternsKey {this, "CosmicPhiKey", "CosmicPhiPatterns"} |
| SG::WriteHandleKey< MuonPrdPatternCollection > | m_CosmicEtaPatternsKey {this, "CosmicEtaPatterns", "CosmicEtaPatterns"} |
| SG::WriteHandleKey< MuonPrdPatternCollection > | m_COMBINED_PATTERNSKey {this, "PATTERNS", "COMBINED_PATTERNS"} |
| std::map< int, int > | m_RpcToMdtOuterStDict {} |
| Dictionary to translate from the RPC to the MDT station names. | |
| std::map< int, int > | m_RpcToMdtInnerStDict {} |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Definition at line 32 of file MuonHoughPatternFinderTool.h.
| using Muon::MuonHoughPatternFinderTool::EtaPhiHitAssocMap = IMuonCombinePatternTool::EtaPhiHitAssocMap |
Definition at line 36 of file MuonHoughPatternFinderTool.h.
| using Muon::MuonHoughPatternFinderTool::MuonPatternHoughPair = std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<Muon::HoughDataPerSectorVec>> |
Definition at line 50 of file MuonHoughPatternFinderTool.h.
Definition at line 35 of file MuonHoughPatternFinderTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| Muon::MuonHoughPatternFinderTool::MuonHoughPatternFinderTool | ( | const std::string & | t, |
| const std::string & | n, | ||
| const IInterface * | p ) |
constructor
Definition at line 52 of file MuonHoughPatternFinderTool.cxx.
|
virtualdefault |
destructor
|
private |
Inserts the Prds into the Hough container & fills the eta phi association map.
Define the maximum channel
Enlarge the vector artifically by 3 to make enough space for Pads, strip and wires which are all aligned in the same channel vector
Find channel accumulations
NSW prepdata has the pecularity that the prds are already clustered
Find channels that have accumulated hits
Require that there is an adjacent channel
Second loop over the contrainer to fill the map
Definition at line 807 of file MuonHoughPatternFinderTool.cxx.
|
private |
Definition at line 802 of file MuonHoughPatternFinderTool.cxx.
|
private |
convert and add csc preprawdata collection (1 chamber)
|
private |
convert and add mdt preprawdata collection (1 chamber)
if (mdt_hit.weighted_trigger < 0.1) { mdt_hit.weighted_trigger = 1.; }
and finally add hits to container:
Definition at line 452 of file MuonHoughPatternFinderTool.cxx.
|
private |
convert and add rpc preprawdata collection (1 chamber)
Definition at line 428 of file MuonHoughPatternFinderTool.cxx.
|
private |
convert and add tgc preprawdata collection (1 chamber)
Definition at line 441 of file MuonHoughPatternFinderTool.cxx.
|
staticprivate |
Definition at line 1142 of file MuonHoughPatternFinderTool.cxx.
|
private |
analyse hits
reconstructed patterns stored per [number_of_ids][level][which_segment]
Definition at line 202 of file MuonHoughPatternFinderTool.cxx.
|
private |
calculateStationCode(const Identifier)
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
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
|
private |
finds best segment for given driftcircle vector (nl1/2 = number of dc's in ml 1 and 2, angledif is difference between angle of segment and chamberangle, sel is vector of selected hits (0 not selected, 1 selected)
Definition at line 1155 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtual |
finalize
Definition at line 181 of file MuonHoughPatternFinderTool.cxx.
|
private |
map between mdt chamber identifiers and corresponding rpc hits (hit_no_begin and hit_no_end)
map between mdt chamber identifiers and corresponding tgc hits (hit_no_begin and hit_no_end)
map for association between trigger eta hits (first) and phi hits (second) within the same gasgap, used for combining patterns in MuonCombinePatternTool
Definition at line 128 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtual |
Implements Muon::IMuonHoughPatternFinderTool.
Definition at line 114 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtual |
find patterns for a give set of MuonPrepData collections + optionally CSC segment combinations
Implements Muon::IMuonHoughPatternFinderTool.
Definition at line 121 of file MuonHoughPatternFinderTool.cxx.
|
private |
retrieves all hits and converts them into internal EDM
Definition at line 263 of file MuonHoughPatternFinderTool.cxx.
|
private |
Definition at line 1296 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtual |
initialize
Definition at line 57 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtualinherited |
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.
|
inlinestaticinherited |
access to tool interface
Definition at line 29 of file IMuonHoughPatternFinderTool.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
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.
|
private |
record patterncollection to storegate or deletes collection when m_recordAllOutput is false
Definition at line 406 of file MuonHoughPatternFinderTool.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
calculates an unique stationcode integer (own convention)
Definition at line 1133 of file MuonHoughPatternFinderTool.cxx.
|
staticprivate |
calculates an unique stationcode integer (own convention)
Definition at line 1138 of file MuonHoughPatternFinderTool.cxx.
|
private |
Definition at line 106 of file MuonHoughPatternFinderTool.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
private |
update station map for rpc chamber, with id of chamber, and size of hits in rpc chamber
Definition at line 961 of file MuonHoughPatternFinderTool.cxx.
|
private |
update station map for tgc chamber, with id of chamber, and size of hits in tgc chamber
Definition at line 1007 of file MuonHoughPatternFinderTool.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 233 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 232 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 231 of file MuonHoughPatternFinderTool.h.
|
private |
storegate location for csc association map
Definition at line 202 of file MuonHoughPatternFinderTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 228 of file MuonHoughPatternFinderTool.h.
|
private |
reweight hits (true)
Definition at line 164 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 159 of file MuonHoughPatternFinderTool.h.
|
private |
use adc cut (true)
Definition at line 166 of file MuonHoughPatternFinderTool.h.
|
private |
value of adc cut (50)
Definition at line 168 of file MuonHoughPatternFinderTool.h.
|
private |
use tdc cut (false)
Definition at line 170 of file MuonHoughPatternFinderTool.h.
|
private |
Pointer to concrete tool.
Definition at line 157 of file MuonHoughPatternFinderTool.h.
|
private |
Pointer to concrete tool.
Definition at line 156 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 160 of file MuonHoughPatternFinderTool.h.
|
private |
flag to write out intermediate patterns
Definition at line 199 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 237 of file MuonHoughPatternFinderTool.h.
|
private |
Dictionary to translate from the RPC to the MDT station names.
Definition at line 236 of file MuonHoughPatternFinderTool.h.
|
private |
reduce cpu for showers (true)
Definition at line 188 of file MuonHoughPatternFinderTool.h.
|
private |
percentage of occupancy to skip MDT chamber (0.3)
Definition at line 190 of file MuonHoughPatternFinderTool.h.
|
private |
flag to print out a summary of what comes in and what comes out
Definition at line 196 of file MuonHoughPatternFinderTool.h.
|
private |
use csc preprawdata (true)
Definition at line 177 of file MuonHoughPatternFinderTool.h.
|
private |
flag to output a root file to study the weights of hits
Definition at line 193 of file MuonHoughPatternFinderTool.h.
|
private |
use mdt preprawdata (true)
Definition at line 179 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 181 of file MuonHoughPatternFinderTool.h.
|
private |
use rpc preprawdata (true)
Definition at line 173 of file MuonHoughPatternFinderTool.h.
|
private |
Definition at line 183 of file MuonHoughPatternFinderTool.h.
|
private |
use tgc preprawdata (true)
Definition at line 175 of file MuonHoughPatternFinderTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |