|  | ATLAS Offline Software
    | 
 
 
 
#include <GeoModelTgcTest.h>
|  | 
|  | ~GeoModelTgcTest ()=default | 
|  | 
| StatusCode | execute () override | 
|  | 
| StatusCode | initialize () override | 
|  | 
| StatusCode | finalize () override | 
|  | 
| unsigned int | cardinality () const override final | 
|  | 
|  | AthHistogramAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | 
|  | Constructor with parameters:  More... 
 | 
|  | 
| virtual StatusCode | sysInitialize () | 
|  | Initialization method invoked by the framework.  More... 
 | 
|  | 
| const ServiceHandle< ITHistSvc > & | histSvc () const | 
|  | The standard THistSvc(for writing histograms and TTrees and more to a root file) Returns (kind of) a pointer to theTHistSvc.  More...
 | 
|  | 
| virtual const DataObjIDColl & | extraOutputDeps () const override | 
|  | Return the list of extra output dependencies.  More... 
 | 
|  | 
| ServiceHandle< StoreGateSvc > & | evtStore () | 
|  | The standard StoreGateSvc(event store) Returns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | evtStore () const | 
|  | The standard StoreGateSvc(event store) Returns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | detStore () const | 
|  | The standard StoreGateSvc/DetectorStoreReturns (kind of) a pointer to theStoreGateSvc.  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 | 
|  | 
|  | 
| 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... 
 | 
|  | 
| StatusCode | configAthHistogramming (const ServiceHandle< ITHistSvc > &histSvc, const std::string &prefix, const std::string &rootDir, const std::string &histNamePrefix, const std::string &histNamePostfix, const std::string &histTitlePrefix, const std::string &histTitlePostfix) | 
|  | To be called by the derived classes to fill the internal configuration.  More... 
 | 
|  | 
| TH1 * | bookGetPointer (const TH1 &hist, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| TH1 * | bookGetPointer (TH1 *hist, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| TH1 * | bookGetPointer (TH1 &histRef, std::string tDir="", std::string stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| TTree * | bookGetPointer (const TTree &treeRef, std::string tDir="", std::string stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TTrees.  More... 
 | 
|  | 
| TGraph * | bookGetPointer (const TGraph &graphRef, std::string tDir="", std::string stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TGraphs.  More... 
 | 
|  | 
| TEfficiency * | bookGetPointer (const TEfficiency &eff, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| TEfficiency * | bookGetPointer (TEfficiency *eff, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| TEfficiency * | bookGetPointer (TEfficiency &effRef, std::string tDir="", std::string stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| StatusCode | book (const TH1 &hist, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| StatusCode | book (TH1 *hist, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| StatusCode | book (TH1 &histRef, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of histograms.  More... 
 | 
|  | 
| StatusCode | book (const TTree &treeRef, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TTrees.  More... 
 | 
|  | 
| StatusCode | book (const TGraph &graphRef, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TGraphs.  More... 
 | 
|  | 
| StatusCode | book (const TEfficiency &eff, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| StatusCode | book (TEfficiency *eff, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| StatusCode | book (TEfficiency &effRef, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the booking and registering (into THistSvc) of TEfficiency.  More... 
 | 
|  | 
| TH1 * | hist (const std::string &histName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered histograms of any type.  More... 
 | 
|  | 
| TH2 * | hist2d (const std::string &histName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered 2-d histograms.  More... 
 | 
|  | 
| TH3 * | hist3d (const std::string &histName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered 3-d histograms.  More... 
 | 
|  | 
| TTree * | tree (const std::string &treeName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered TTrees.  More... 
 | 
|  | 
| TGraph * | graph (const std::string &graphName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered TGraphs.  More... 
 | 
|  | 
| TEfficiency * | efficiency (const std::string &effName, const std::string &tDir="", const std::string &stream="") | 
|  | Simplify the retrieval of registered TEfficiency.  More... 
 | 
|  | 
|  | 
| StatusCode | dumpToTree (const EventContext &ctx, const ActsTrk::GeometryContext &gctx, const TgcReadoutElement *readoutEle) | 
|  | 
| 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... 
 | 
|  | 
| void | buildBookingString (std::string &bookingString, std::string &histName, std::string &tDir, std::string &stream, bool usePrefixPostfix=false) | 
|  | Method to build individual booking string.  More... 
 | 
|  | 
| void | myReplace (std::string &str, const std::string &oldStr, const std::string &newStr) | 
|  | Helper method to replace sub-string.  More... 
 | 
|  | 
| hash_t | hash (const std::string &histName) const | 
|  | Method to calculate a 32-bit hash from a string.  More... 
 | 
|  | 
|  | 
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc | 
|  | 
| SG::ReadHandleKey< ActsTrk::GeometryContext > | m_geoCtxKey {this, "AlignmentKey", "ActsAlignment", "cond handle key"} | 
|  | 
| std::set< Identifier > | m_testStations {} | 
|  | Set of stations to be tested.  More... 
 | 
|  | 
| Gaudi::Property< std::vector< std::string > > | m_selectStat {this, "TestStations", {}} | 
|  | String should be formated like <stationName><stationEta><A/C><stationPhi>  More... 
 | 
|  | 
| Gaudi::Property< std::vector< std::string > > | m_excludeStat {this, "ExcludeStations", {}} | 
|  | 
| const MuonDetectorManager * | m_detMgr {nullptr} | 
|  | 
| MuonVal::MuonTesterTree | m_tree {"TgcGeoModelTree", "GEOMODELTESTER"} | 
|  | 
| MuonVal::ScalarBranch< unsigned short > & | m_stIndex {m_tree.newScalar<unsigned short>("stationIndex")} | 
|  | Identifier of the readout element.  More... 
 | 
|  | 
| MuonVal::ScalarBranch< short > & | m_stEta {m_tree.newScalar<short>("stationEta")} | 
|  | 
| MuonVal::ScalarBranch< short > & | m_stPhi {m_tree.newScalar<short>("stationPhi")} | 
|  | 
| MuonVal::ScalarBranch< std::string > & | m_stLayout {m_tree.newScalar<std::string>("stationDesign")} | 
|  | 
| MuonVal::ScalarBranch< uint8_t > & | m_nGasGaps {m_tree.newScalar<uint8_t>("nGasGaps")} | 
|  | 
| MuonVal::CoordTransformBranch | m_readoutTransform {m_tree, "GeoModelTransform"} | 
|  | Transformation of the readout element (Translation, ColX, ColY, ColZ)  More... 
 | 
|  | 
| MuonVal::CoordTransformBranch | m_alignableNode {m_tree, "AlignableNode"} | 
|  | 
| MuonVal::ScalarBranch< float > & | m_shortWidth {m_tree.newScalar<float>("ChamberWidthS")} | 
|  | 
| MuonVal::ScalarBranch< float > & | m_longWidth {m_tree.newScalar<float>("ChamberWidthL")} | 
|  | 
| MuonVal::ScalarBranch< float > & | m_height {m_tree.newScalar<float>("ChamberHeight")} | 
|  | 
| MuonVal::ScalarBranch< float > & | m_thickness {m_tree.newScalar<float>("ChamberThickness")} | 
|  | 
| MuonVal::ThreeVectorBranch | m_stripCenter {m_tree,"stripCenter"} | 
|  | 
| MuonVal::ThreeVectorBranch | m_stripBottom {m_tree,"stripBottom"} | 
|  | 
| MuonVal::ThreeVectorBranch | m_stripTop {m_tree,"stripTop"} | 
|  | 
| MuonVal::TwoVectorBranch | m_locStripCenter {m_tree, "stripLocalCenter"} | 
|  | 
| MuonVal::TwoVectorBranch | m_locStripBottom {m_tree, "stripLocalBottom"} | 
|  | 
| MuonVal::TwoVectorBranch | m_locStripTop {m_tree, "stripLocalTop"} | 
|  | 
| MuonVal::VectorBranch< uint8_t > & | m_stripGasGap {m_tree.newVector<uint8_t>("stripGasGap")} | 
|  | 
| MuonVal::VectorBranch< unsigned int > & | m_stripNum {m_tree.newVector<unsigned int>("stripNumber")} | 
|  | 
| MuonVal::ThreeVectorBranch | m_gangCenter {m_tree, "gangCenter"} | 
|  | Wire gangs.  More... 
 | 
|  | 
| MuonVal::TwoVectorBranch | m_locGangPos {m_tree, "gangLocalPos"} | 
|  | 
| MuonVal::VectorBranch< uint8_t > & | m_gangGasGap {m_tree.newVector<uint8_t>("gangGasGap")} | 
|  | 
| MuonVal::VectorBranch< unsigned int > & | m_gangNum {m_tree.newVector<unsigned int>("gangNumber")} | 
|  | 
| MuonVal::VectorBranch< uint8_t > & | m_gangNumWires {m_tree.newVector<uint8_t>("gangNumWires")} | 
|  | 
| MuonVal::VectorBranch< float > & | m_gangLength {m_tree.newVector<float>("gangLength")} | 
|  | 
| MuonVal::CoordSystemsBranch | m_layTans {m_tree, "layer"} | 
|  | Layer dimensions.  More... 
 | 
|  | 
| MuonVal::VectorBranch< bool > & | m_layMeasPhi {m_tree.newVector<bool>("layerMeasPhi")} | 
|  | 
| MuonVal::VectorBranch< uint8_t > & | m_layNumber {m_tree.newVector<uint8_t>("layerNumber")} | 
|  | 
| MuonVal::VectorBranch< float > & | m_layShortWidth {m_tree.newVector<float>("layerWidthS")} | 
|  | 
| MuonVal::VectorBranch< float > & | m_layLongWidth {m_tree.newVector<float>("layerWidthL")} | 
|  | 
| MuonVal::VectorBranch< float > & | m_layHeight {m_tree.newVector<float>("layerHeight")} | 
|  | 
| MuonVal::VectorBranch< uint16_t > & | m_layNumWires {m_tree.newVector<uint16_t>("layerNumWires")} | 
|  | 
| ServiceHandle< ITHistSvc > | m_histSvc | 
|  | Default constructor: AthHistogramAlgorithm();.  More... 
 | 
|  | 
| std::string | m_prefix | 
|  | Name of the ROOT output stream (file)  More... 
 | 
|  | 
| std::string | m_rootDir | 
|  | Name of the ROOT directory.  More... 
 | 
|  | 
| std::string | m_histNamePrefix | 
|  | The prefix for the histogram THx name.  More... 
 | 
|  | 
| std::string | m_histNamePostfix | 
|  | The postfix for the histogram THx name.  More... 
 | 
|  | 
| std::string | m_histTitlePrefix | 
|  | The prefix for the histogram THx title.  More... 
 | 
|  | 
| std::string | m_histTitlePostfix | 
|  | The postfix for the histogram THx title.  More... 
 | 
|  | 
| DataObjIDColl | m_extendedExtraObjects | 
|  | 
| 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 | 
|  | 
| HistMap_t | m_histMap | 
|  | The map of histogram names to their pointers.  More... 
 | 
|  | 
| EffMap_t | m_effMap | 
|  | The map of histogram names to their pointers.  More... 
 | 
|  | 
| TreeMap_t | m_treeMap | 
|  | The map of TTree names to their pointers.  More... 
 | 
|  | 
| GraphMap_t | m_graphMap | 
|  | The map of TGraph names to their pointers.  More... 
 | 
|  | 
| std::string | m_streamName | 
|  | Name of the ROOT output stream (file)  More... 
 | 
|  | 
| std::string | m_name | 
|  | Instance name.  More... 
 | 
|  | 
| MsgStream | m_msg | 
|  | Cached Message Stream.  More... 
 | 
|  | 
◆ EffMap_t
◆ GraphMap_t
◆ hash_t
◆ HistMap_t
◆ StoreGateSvc_t
◆ TreeMap_t
◆ ~GeoModelTgcTest()
  
  | 
        
          | MuonGMR4::GeoModelTgcTest::~GeoModelTgcTest | ( |  | ) |  |  | default | 
 
 
◆ AthHistogramAlgorithm()
      
        
          | AthHistogramAlgorithm::AthHistogramAlgorithm | 
      
 
Constructor with parameters: 
Definition at line 40 of file AthHistogramAlgorithm.cxx.
   43                   "Handle to a THistSvc instance: it will be used to write " 
   44                   "ROOT objects to ROOT files" );
 
   47   declareProperty(
"RootStreamName",    
m_prefix  = 
"/ANALYSIS", 
"Name of the output ROOT stream (file) that the THistSvc uses");
 
   49                   "Name of the ROOT directory inside the ROOT file where the histograms will go");
 
 
 
 
◆ book() [1/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | const TEfficiency & | eff, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 335 of file AthHistogramming.h.
  338   TEfficiency* effClone = 
dynamic_cast< TEfficiency* 
>( 
eff.Clone() );
 
  340     m_msg << MSG::ERROR << 
"Couldn't create a TEfficiency clone" << 
endmsg;
 
  341     return StatusCode::FAILURE;
 
 
 
 
◆ book() [2/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | const TGraph & | graphRef, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TGraphs. 
 
 
◆ book() [3/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | const TH1 & | hist, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 303 of file AthHistogramming.h.
  306   TH1* histClone = 
dynamic_cast< TH1* 
>( 
hist.Clone() );
 
  308     m_msg << MSG::ERROR << 
"Couldn't create a TH1 clone" << 
endmsg;
 
  309     return StatusCode::FAILURE;
 
  311   return this->
book( *histClone, tDir, 
stream );
 
 
 
 
◆ book() [4/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | const TTree & | treeRef, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TTrees. 
Definition at line 403 of file AthHistogramming.h.
  409       return StatusCode::SUCCESS;
 
  413       return StatusCode::FAILURE;
 
 
 
 
◆ book() [5/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | TEfficiency & | effRef, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 356 of file AthHistogramming.h.
  361     m_msg << MSG::ERROR << 
"Couldn't book a TEfficiency" << 
endmsg;
 
  362     return StatusCode::FAILURE;
 
  364   return StatusCode::SUCCESS;
 
 
 
 
◆ book() [6/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | TEfficiency * | eff, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 346 of file AthHistogramming.h.
  349     m_msg << MSG::ERROR << 
"Got a zero pointer to a TEfficiency" << 
endmsg;
 
  350     return StatusCode::FAILURE;
 
 
 
 
◆ book() [7/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | TH1 & | histRef, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 324 of file AthHistogramming.h.
  328   if ( !histPointer ) {
 
  329     m_msg << MSG::ERROR << 
"Couldn't book a TH1" << 
endmsg;
 
  330     return StatusCode::FAILURE;
 
  332   return StatusCode::SUCCESS;
 
 
 
 
◆ book() [8/8]
  
  | 
        
          | StatusCode AthHistogramming::book | ( | TH1 * | hist, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 314 of file AthHistogramming.h.
  317     m_msg << MSG::ERROR << 
"Got a zero pointer to a TH1" << 
endmsg;
 
  318     return StatusCode::FAILURE;
 
 
 
 
◆ bookGetPointer() [1/8]
  
  | 
        
          | TEfficiency * AthHistogramming::bookGetPointer | ( | const TEfficiency & | eff, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 281 of file AthHistogramming.h.
  284   TEfficiency* histClone = 
dynamic_cast< TEfficiency* 
>( 
hist.Clone() );
 
  286     m_msg << MSG::ERROR << 
"Couldn't create a TEfficiency clone in bookGetPointer" << 
endmsg;
 
 
 
 
◆ bookGetPointer() [2/8]
  
  | 
        
          | TGraph * AthHistogramming::bookGetPointer | ( | const TGraph & | graphRef, |  
          |  |  | std::string | tDir = "", |  
          |  |  | std::string | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TGraphs. 
Definition at line 427 of file AthHistogramming.cxx.
  430   const TGraph* graphPointer = &graphRef;
 
  435       m_msg << MSG::WARNING
 
  436             << 
"We got an invalid TGraph pointer in the BookGetPointer(TGraph*) method of the class" << 
m_name 
  442   std::string graphName  = graphPointer->GetName();
 
  443   const std::string graphTitle = graphPointer->GetTitle();
 
  446   const hash_t graphHash = this->
hash(graphName);
 
  447   GraphMap_t::const_iterator 
it = 
m_graphMap.find( graphHash );
 
  450       m_msg << MSG::WARNING
 
  451             << 
"Detected a hash collision. The hash for the TGraph with name=" << graphName
 
  452             << 
" already exists and points to a TGraph with name=" << 
it->second->GetName()
 
  453             << 
" NOT going to book the new histogram and returning a NULL pointer!" << 
endmsg;
 
  461       m_msg << MSG::WARNING
 
  462             << 
"We couldn't clone the TGraph in the BookGetPointer(TGraph&) method of the class" << 
m_name 
  469   std::string bookingString(
"");
 
  473   if ( !((
histSvc()->regGraph(bookingString, graphClone)).isSuccess()) )
 
  475       m_msg << MSG::WARNING
 
  476             << 
"Problem registering TGraph with name " << graphName
 
  477             << 
", title " << graphTitle
 
  483   m_graphMap.insert( 
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphClone ) );
 
 
 
 
◆ bookGetPointer() [3/8]
  
  | 
        
          | TH1 * AthHistogramming::bookGetPointer | ( | const TH1 & | hist, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 260 of file AthHistogramming.h.
  263   TH1* histClone = 
dynamic_cast< TH1* 
>( 
hist.Clone() );
 
  265     m_msg << MSG::ERROR << 
"Couldn't create a TH1 clone in bookGetPointer" << 
endmsg;
 
 
 
 
◆ bookGetPointer() [4/8]
  
  | 
        
          | TTree * AthHistogramming::bookGetPointer | ( | const TTree & | treeRef, |  
          |  |  | std::string | tDir = "", |  
          |  |  | std::string | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TTrees. 
Definition at line 312 of file AthHistogramming.cxx.
  315   const TTree* treePointer = &treeRef;
 
  320       m_msg << MSG::WARNING
 
  321             << 
"We got an invalid TTree pointer in the BookGetPointer(TTree*) method of the class" << 
m_name 
  327   std::string 
treeName  = treePointer->GetName();
 
  328   const std::string treeTitle = treePointer->GetTitle();
 
  332   TreeMap_t::const_iterator 
it = 
m_treeMap.find( treeHash );
 
  335       m_msg << MSG::WARNING
 
  336             << 
"Detected a hash collision. The hash for the TTree with name=" << 
treeName 
  337             << 
" already exists and points to a TTree with name=" << 
it->second->GetName()
 
  338             << 
" NOT going to book the new histogram and returning a NULL pointer!" << 
endmsg;
 
  343   TTree* treeClone = 
dynamic_cast< TTree* 
>( treePointer->Clone(
treeName.c_str()) );
 
  346       m_msg << MSG::WARNING
 
  347             << 
"We couldn't clone the TTree in the BookGetPointer(TTree&) method of the class" << 
m_name 
  351   treeClone->SetTitle (treeTitle.c_str());
 
  354   std::string bookingString(
"");
 
  358   if ( !((
histSvc()->regTree(bookingString, treeClone)).isSuccess()) )
 
  360       m_msg << MSG::WARNING
 
  361             << 
"Problem registering TTree with name " << 
treeName 
  362             << 
", title " << treeTitle
 
  368   m_treeMap.insert( 
m_treeMap.end(), std::pair< const hash_t, TTree* >( treeHash, treeClone ) );
 
 
 
 
◆ bookGetPointer() [5/8]
  
  | 
        
          | TEfficiency * AthHistogramming::bookGetPointer | ( | TEfficiency & | effRef, |  
          |  |  | std::string | tDir = "", |  
          |  |  | std::string | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 146 of file AthHistogramming.cxx.
  149   std::string effName(effRef.GetName());
 
  150   const std::string effTitle(effRef.GetTitle());
 
  151   std::string bookingString(
"");
 
  155   effRef.SetName(effName.c_str());
 
  159   EffMap_t::const_iterator 
it = 
m_effMap.find( effHash );
 
  162       m_msg << MSG::WARNING
 
  163             << 
"Detected a hash collision. The hash for the TEfficiency with name=" << effName
 
  164             << 
" already exists and points to a TEfficiency with name=" << 
it->second->GetName()
 
  165             << 
" NOT going to book the new TEfficiency and returning a NULL pointer!" << 
endmsg;
 
  175   if ( !((
histSvc()->regEfficiency(bookingString, &effRef)).isSuccess()) )
 
  177       m_msg << MSG::WARNING
 
  178             << 
"Problem registering TEfficiency with name " << effName
 
  180             << 
", title " << effTitle
 
  188   m_effMap.insert( 
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, &effRef ) );
 
 
 
 
◆ bookGetPointer() [6/8]
  
  | 
        
          | TEfficiency * AthHistogramming::bookGetPointer | ( | TEfficiency * | eff, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of TEfficiency. 
Definition at line 293 of file AthHistogramming.h.
  296     m_msg << MSG::ERROR << 
"Got a zero pointer to a TEfficiency in bookGetPointer" << 
endmsg;
 
 
 
 
◆ bookGetPointer() [7/8]
  
  | 
        
          | TH1 * AthHistogramming::bookGetPointer | ( | TH1 & | histRef, |  
          |  |  | std::string | tDir = "", |  
          |  |  | std::string | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 98 of file AthHistogramming.cxx.
  101   std::string 
histName(histRef.GetName());
 
  102   const std::string histTitle(histRef.GetTitle());
 
  103   std::string bookingString(
"");
 
  111   HistMap_t::const_iterator 
it = 
m_histMap.find( histHash );
 
  114       m_msg << MSG::WARNING
 
  115             << 
"Detected a hash collision. The hash for the histogram with name=" << 
histName 
  116             << 
" already exists and points to a histogram with name=" << 
it->second->GetName()
 
  117             << 
" NOT going to book the new histogram and returning a NULL pointer!" << 
endmsg;
 
  127   if ( !((
histSvc()->regHist(bookingString, &histRef)).isSuccess()) )
 
  129       m_msg << MSG::WARNING
 
  130             << 
"Problem registering histogram with name " << 
histName 
  132             << 
", title " << histTitle
 
  140   m_histMap.insert( 
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, &histRef ) );
 
 
 
 
◆ bookGetPointer() [8/8]
  
  | 
        
          | TH1 * AthHistogramming::bookGetPointer | ( | TH1 * | hist, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the booking and registering (into THistSvc) of histograms. 
Definition at line 272 of file AthHistogramming.h.
  275     m_msg << MSG::ERROR << 
"Got a zero pointer to a TH1 in bookGetPointer" << 
endmsg;
 
 
 
 
◆ buildBookingString()
  
  | 
        
          | void AthHistogramming::buildBookingString | ( | std::string & | bookingString, |  
          |  |  | std::string & | histName, |  
          |  |  | std::string & | tDir, |  
          |  |  | std::string & | stream, |  
          |  |  | bool | usePrefixPostfix = false |  
          |  | ) |  |  |  | privateinherited | 
 
Method to build individual booking string. 
Definition at line 560 of file AthHistogramming.cxx.
  569   if(
pos != std::string::npos){
 
  576   if(usePrefixPostfix){
 
  581   while(bookingString.find(
"//") != std::string::npos){
 
 
 
 
◆ cardinality()
  
  | 
        
          | unsigned int MuonGMR4::GeoModelTgcTest::cardinality | ( |  | ) | const |  | inlinefinaloverride | 
 
 
◆ configAthHistogramming()
  
  | 
        
          | StatusCode AthHistogramming::configAthHistogramming | ( | const ServiceHandle< ITHistSvc > & | histSvc, |  
          |  |  | const std::string & | prefix, |  
          |  |  | const std::string & | rootDir, |  
          |  |  | const std::string & | histNamePrefix, |  
          |  |  | const std::string & | histNamePostfix, |  
          |  |  | const std::string & | histTitlePrefix, |  
          |  |  | const std::string & | histTitlePostfix |  
          |  | ) |  |  |  | protectedinherited | 
 
To be called by the derived classes to fill the internal configuration. 
Definition at line 66 of file AthHistogramming.cxx.
   79   return StatusCode::SUCCESS;
 
 
 
 
◆ 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);
 
  253     return PBASE::declareProperty(
name,hndl,
doc);
 
 
 
 
◆ 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.
  229     return PBASE::declareProperty(
name,hndl,
doc);
 
 
 
 
◆ 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.
  338     return PBASE::declareProperty(
name, property, 
doc);
 
 
 
 
◆ 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()
◆ dumpToTree()
Loop over all strips dump their respective information
Loop over all wire gangs dump their respective information
Definition at line 147 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx.
  152    m_stEta      = reElement->stationEta();
 
  153    m_stPhi      = reElement->stationPhi();
 
  162    m_height = reElement->moduleHeight();
 
  165    for (
unsigned gap = 1; 
gap <= reElement->nGasGaps(); ++
gap) {
 
  166         const IdentifierHash layHash = reElement->constructHash(0, 
gap, 
true);
 
  168         for (
unsigned strip = 1 ; 
strip <= reElement->numStrips(layHash); ++
strip) {
 
  169             const IdentifierHash measHash = reElement->constructHash(strip, 
gap, 
true);
 
  170             const RadialStripDesign& 
layout{reElement->stripLayout(measHash)};
 
  173                                                                                 reElement->layerHash(measHash)) *
 
  187             const auto sensor = reElement->sensorLayout(measHash);
 
  200         for (
unsigned gang = 1; gang <= reElement->numWireGangs(layHash); ++gang) {
 
  201             const IdentifierHash measHash = reElement->constructHash(gang, 
gap, 
false);
 
  202             const WireGroupDesign& 
layout{reElement->wireGangLayout(measHash)};
 
  204                 m_layTans.
push_back(reElement->localToGlobalTrans(gctx, reElement->layerHash(measHash)));
 
  220    return m_tree.
fill(ctx) ? StatusCode::SUCCESS : StatusCode::FAILURE;
 
 
 
 
◆ efficiency()
  
  | 
        
          | TEfficiency * AthHistogramming::efficiency | ( | const std::string & | effName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the retrieval of registered TEfficiency. 
Definition at line 250 of file AthHistogramming.cxx.
  256   EffMap_t::const_iterator 
it = 
m_effMap.find( effHash );
 
  261       std::string effNameCopy = effName;
 
  262       std::string tDirCopy     = tDir;
 
  263       std::string streamCopy   = 
stream;
 
  266       std::string bookingString(
"");
 
  269       TEfficiency* effPointer(NULL);
 
  270       if ( !((
histSvc()->getEfficiency(bookingString, effPointer)).isSuccess()) )
 
  273           std::string bookingString(
"");
 
  276           if ( !((
histSvc()->getEfficiency(bookingString, effPointer)).isSuccess()) )
 
  278               m_msg << MSG::WARNING
 
  279                     << 
"Problem retrieving the TEfficiency with name (including pre- and post-fixes) " 
  281                     << 
" or with name " << effNameCopy
 
  282                     << 
" in " << 
m_name << 
"... it doesn't exist, neither in the cached map nor in the THistSvc!" 
  283                     << 
" Will return an NULL pointer... you have to handle it correctly!" << 
endmsg;
 
  288           m_effMap.insert( 
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, effPointer ) );
 
  293       m_effMap.insert( 
m_effMap.end(), std::pair< const hash_t, TEfficiency* >( effHash, effPointer ) );
 
 
 
 
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
  
  | 
        
          | StatusCode MuonGMR4::GeoModelTgcTest::execute | ( |  | ) |  |  | override | 
 
Check that we retrieved the proper readout element
Closure test that the transformations actually close
Definition at line 84 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx.
   85     const EventContext& ctx{Gaudi::Hive::currentContext()};
 
   93       const TgcReadoutElement* reElement = 
m_detMgr->getTgcReadoutElement(test_me);
 
   98       if (reElement->identify() != test_me) {
 
  100                       <<
". But got instead "<<
m_idHelperSvc->toStringDetEl(reElement->identify()));
 
  101          return StatusCode::FAILURE;
 
  110             return StatusCode::FAILURE;                  
 
  114         for (
bool isStrip : {
false, 
true}) {
 
  115             const IdentifierHash layHash = reElement->constructHash(0, 
gasGap, 
isStrip);
 
  116             const unsigned nChan = reElement->numChannels(layHash);
 
  122                     ATH_MSG_DEBUG(
"No valid Identifier constructed from the fields " 
  124                                 <<
"isStrip: "<<(
isStrip ? 
"yay" : 
"nay")<<
" gasGap: "<<
gasGap<<
 
  128                 const IdentifierHash measHash{reElement->measurementHash(
channelId)};
 
  129                 const Identifier backCnv = reElement->measurementId(measHash);
 
  133                     return StatusCode::FAILURE;
 
  135                 if (reElement->layerHash(
channelId) != reElement->layerHash(measHash)) {
 
  137                     <<
" gave something else than doing it from the measurement hash "<<measHash<<
". "<<
 
  138                     reElement->layerHash(
channelId)<<
" vs. "<<reElement->layerHash(measHash));
 
  145    return StatusCode::SUCCESS;
 
 
 
 
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed. 
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given 
 
 
◆ extraOutputDeps()
  
  | 
        
          | const DataObjIDColl & AthAlgorithm::extraOutputDeps | ( |  | ) | const |  | overridevirtualinherited | 
 
Return the list of extra output dependencies. 
This list is extended to include symlinks implied by inheritance relations. 
Definition at line 50 of file AthAlgorithm.cxx.
   57   return Algorithm::extraOutputDeps();
 
 
 
 
◆ finalize()
  
  | 
        
          | StatusCode MuonGMR4::GeoModelTgcTest::finalize | ( |  | ) |  |  | override | 
 
 
◆ graph()
  
  | 
        
          | TGraph * AthHistogramming::graph | ( | const std::string & | graphName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the retrieval of registered TGraphs. 
Definition at line 492 of file AthHistogramming.cxx.
  495   const hash_t graphHash = this->
hash(graphName);
 
  498   GraphMap_t::const_iterator 
it = 
m_graphMap.find( graphHash );
 
  503       std::string graphNameCopy = graphName;
 
  504       std::string tDirCopy      = tDir;
 
  505       std::string streamCopy    = 
stream;
 
  508       std::string bookingString(
"");
 
  511       TGraph* graphPointer(NULL);
 
  512       if ( !((
histSvc()->getGraph(bookingString, graphPointer)).isSuccess()) )
 
  515           std::string bookingString(
"");
 
  516           this->
buildBookingString( bookingString, graphNameCopy, tDirCopy, streamCopy, 
false );
 
  518           if ( !((
histSvc()->getGraph(bookingString, graphPointer)).isSuccess()) )
 
  520               m_msg << MSG::WARNING
 
  521                     << 
"Problem retrieving the TGraph with name (including pre- and post-fixes) " 
  523                     << 
" or with name " << graphNameCopy
 
  524                     << 
" in " << 
m_name << 
"... it doesn't exist, neither in the cached map nor in the THistSvc!" 
  525                     << 
" Will return an NULL pointer... you have to handle it correctly!" << 
endmsg;
 
  530           m_graphMap.insert( 
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphPointer ) );
 
  535       m_graphMap.insert( 
m_graphMap.end(), std::pair< const hash_t, TGraph* >( graphHash, graphPointer ) );
 
 
 
 
◆ hash()
◆ hist()
  
  | 
        
          | TH1 * AthHistogramming::hist | ( | const std::string & | histName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the retrieval of registered histograms of any type. 
Definition at line 198 of file AthHistogramming.cxx.
  204   HistMap_t::const_iterator 
it = 
m_histMap.find( histHash );
 
  209       std::string histNameCopy = 
histName;
 
  210       std::string tDirCopy     = tDir;
 
  211       std::string streamCopy   = 
stream;
 
  214       std::string bookingString(
"");
 
  217       TH1* histPointer(NULL);
 
  218       if ( !((
histSvc()->
getHist(bookingString, histPointer)).isSuccess()) )
 
  221           std::string bookingString(
"");
 
  224           if ( !((
histSvc()->
getHist(bookingString, histPointer)).isSuccess()) )
 
  226               m_msg << MSG::WARNING
 
  227                     << 
"Problem retrieving the histogram with name (including pre- and post-fixes) " 
  229                     << 
" or with name " << histNameCopy
 
  230                     << 
" in " << 
m_name << 
"... it doesn't exist, neither in the cached map nor in the THistSvc!" 
  231                     << 
" Will return an NULL pointer... you have to handle it correctly!" << 
endmsg;
 
  236           m_histMap.insert( 
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, histPointer ) );
 
  241       m_histMap.insert( 
m_histMap.end(), std::pair< const hash_t, TH1* >( histHash, histPointer ) );
 
 
 
 
◆ hist2d()
  
  | 
        
          | TH2 * AthHistogramming::hist2d | ( | const std::string & | histName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the retrieval of registered 2-d histograms. 
Definition at line 369 of file AthHistogramming.h.
  376             << 
"Cannot get a 2-d histogram with name " << 
histName 
  377             << 
"... will probably seg-fault!" << 
endmsg;
 
  381   return dynamic_cast<TH2*
>( th1Pointer );
 
 
 
 
◆ hist3d()
  
  | 
        
          | TH3 * AthHistogramming::hist3d | ( | const std::string & | histName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Simplify the retrieval of registered 3-d histograms. 
Definition at line 386 of file AthHistogramming.h.
  393             << 
"Cannot get a 3-d histogram with name " << 
histName 
  394             << 
"... will probably seg-fault!" << 
endmsg;
 
  398   return dynamic_cast<TH3*
>( th1Pointer );
 
 
 
 
◆ histSvc()
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a pointer to the THistSvc. 
Definition at line 113 of file AthHistogramAlgorithm.h.
 
 
◆ initialize()
  
  | 
        
          | StatusCode MuonGMR4::GeoModelTgcTest::initialize | ( |  | ) |  |  | override | 
 
Prepare the TTree dump
Example string T1E4A06
Add stations for testing
Report what stations are excluded
Definition at line 15 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx.
   22     auto translateTokenList = [
this, &idHelper](
const std::vector<std::string>& chNames){
 
   24         std::set<Identifier> transcriptedIds{};
 
   25         for (
const std::string& token : chNames) { 
 
   26             if (token.size() != 7) {
 
   27                 ATH_MSG_WARNING(
"Wrong format given for "<<token<<
". Expecting 7 characters");
 
   31             const std::string statName = token.substr(0, 3);
 
   32             const unsigned statEta = 
std::atoi(token.substr(3, 1).c_str()) * (token[4] == 
'A' ? 1 : -1);
 
   33             const unsigned statPhi = 
std::atoi(token.substr(5, 2).c_str());
 
   40             transcriptedIds.insert(eleId);
 
   42         return transcriptedIds;
 
   45     std::vector <std::string>& selectedSt = 
m_selectStat.value();
 
   46     const std::vector <std::string>& excludedSt = 
m_excludeStat.value();
 
   47     selectedSt.erase(std::remove_if(selectedSt.begin(), selectedSt.end(),
 
   48                      [&excludedSt](
const std::string& token){
 
   49                         return std::ranges::find(excludedSt, token) != excludedSt.end();
 
   50                      }), selectedSt.end());
 
   52     if (selectedSt.size()) {
 
   54         std::stringstream sstr{};
 
   58         ATH_MSG_INFO(
"Test only the following stations "<<std::endl<<sstr.str());
 
   60         const std::set<Identifier> excluded = translateTokenList(excludedSt);
 
   62         for(
auto itr = idHelper.detectorElement_begin();
 
   63                  itr!= idHelper.detectorElement_end();++itr){
 
   64             if (!excluded.count(*itr)) {
 
   69         if (!excluded.empty()) {
 
   70             std::stringstream excluded_report{};
 
   72                 excluded_report << 
" *** " << 
m_idHelperSvc->toStringDetEl(
id) << std::endl;
 
   74             ATH_MSG_INFO(
"Test all station except the following excluded ones " << std::endl << excluded_report.str());
 
   78     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. 
 
 
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ myReplace()
  
  | 
        
          | void AthHistogramming::myReplace | ( | std::string & | str, |  
          |  |  | const std::string & | oldStr, |  
          |  |  | const std::string & | newStr |  
          |  | ) |  |  |  | privateinherited | 
 
Helper method to replace sub-string. 
Definition at line 590 of file AthHistogramming.cxx.
  595   while((
pos = 
str.find(oldStr, 
pos)) != std::string::npos)
 
  597       str.replace(
pos, oldStr.length(), newStr);
 
  598       pos += newStr.length();
 
 
 
 
◆ 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()
◆ sysInitialize()
  
  | 
        
          | StatusCode AthHistogramAlgorithm::sysInitialize | ( |  | ) |  |  | virtualinherited | 
 
Initialization method invoked by the framework. 
This method is responsible for any bookkeeping of initialization required by the framework itself. It will in turn invoke the initialize() method of the derived algorithm, and of any sub-algorithms which it creates. 
Reimplemented from AthAlgorithm.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 75 of file AthHistogramAlgorithm.cxx.
   80   if ( Gaudi::StateMachine::INITIALIZED <= FSMState() ) 
return StatusCode::SUCCESS;
 
   83   bindPropertiesTo( serviceLocator()->getOptsSvc() );
 
   87   if ( !isEnabled( ) ) 
return StatusCode::SUCCESS;
 
 
 
 
◆ sysStart()
Handle START transition. 
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container. 
 
 
◆ tree()
  
  | 
        
          | TTree * AthHistogramming::tree | ( | const std::string & | treeName, |  
          |  |  | const std::string & | tDir = "", |  
          |  |  | const std::string & | stream = "" |  
          |  | ) |  |  |  | protectedinherited | 
 
Simplify the retrieval of registered TTrees. 
Definition at line 378 of file AthHistogramming.cxx.
  384   TreeMap_t::const_iterator 
it = 
m_treeMap.find( treeHash );
 
  389       std::string treeNameCopy = 
treeName;
 
  390       std::string tDirCopy     = tDir;
 
  391       std::string streamCopy   = 
stream;
 
  394       std::string bookingString(
"");
 
  397       TTree* treePointer(NULL);
 
  398       if ( !((
histSvc()->
getTree(bookingString, treePointer)).isSuccess()) )
 
  400           m_msg << MSG::WARNING
 
  401                 << 
"Problem retrieving the TTree with name " << treeNameCopy
 
  402                 << 
" in " << 
m_name << 
"... it doesn't exist, neither in the cached map nor in the THistSvc!" 
  403                 << 
" Will return an NULL pointer... you have to handle it correctly!" << 
endmsg;
 
  408       m_treeMap.insert( 
m_treeMap.end(), std::pair< const hash_t, TTree* >( treeHash, treePointer ) );
 
 
 
 
◆ updateVHKA()
◆ m_alignableNode
◆ m_detMgr
◆ m_detStore
◆ m_effMap
◆ m_evtStore
◆ m_excludeStat
  
  | 
        
          | Gaudi::Property<std::vector<std::string> > MuonGMR4::GeoModelTgcTest::m_excludeStat {this, "ExcludeStations", {}} |  | private | 
 
 
◆ m_extendedExtraObjects
  
  | 
        
          | DataObjIDColl AthAlgorithm::m_extendedExtraObjects |  | privateinherited | 
 
 
◆ m_gangCenter
◆ m_gangGasGap
  
  | 
        
          | MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelTgcTest::m_gangGasGap {m_tree.newVector<uint8_t>("gangGasGap")} |  | private | 
 
 
◆ m_gangLength
  
  | 
        
          | MuonVal::VectorBranch<float>& MuonGMR4::GeoModelTgcTest::m_gangLength {m_tree.newVector<float>("gangLength")} |  | private | 
 
 
◆ m_gangNum
  
  | 
        
          | MuonVal::VectorBranch<unsigned int>& MuonGMR4::GeoModelTgcTest::m_gangNum {m_tree.newVector<unsigned int>("gangNumber")} |  | private | 
 
 
◆ m_gangNumWires
  
  | 
        
          | MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelTgcTest::m_gangNumWires {m_tree.newVector<uint8_t>("gangNumWires")} |  | private | 
 
 
◆ m_geoCtxKey
◆ m_graphMap
◆ m_height
  
  | 
        
          | MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelTgcTest::m_height {m_tree.newScalar<float>("ChamberHeight")} |  | private | 
 
 
◆ m_histMap
◆ m_histNamePostfix
  
  | 
        
          | std::string AthHistogramAlgorithm::m_histNamePostfix |  | privateinherited | 
 
 
◆ m_histNamePrefix
  
  | 
        
          | std::string AthHistogramAlgorithm::m_histNamePrefix |  | privateinherited | 
 
 
◆ m_histSvc
◆ m_histTitlePostfix
  
  | 
        
          | std::string AthHistogramAlgorithm::m_histTitlePostfix |  | privateinherited | 
 
 
◆ m_histTitlePrefix
  
  | 
        
          | std::string AthHistogramAlgorithm::m_histTitlePrefix |  | privateinherited | 
 
 
◆ m_idHelperSvc
◆ m_layHeight
  
  | 
        
          | MuonVal::VectorBranch<float>& MuonGMR4::GeoModelTgcTest::m_layHeight {m_tree.newVector<float>("layerHeight")} |  | private | 
 
 
◆ m_layLongWidth
  
  | 
        
          | MuonVal::VectorBranch<float>& MuonGMR4::GeoModelTgcTest::m_layLongWidth {m_tree.newVector<float>("layerWidthL")} |  | private | 
 
 
◆ m_layMeasPhi
  
  | 
        
          | MuonVal::VectorBranch<bool>& MuonGMR4::GeoModelTgcTest::m_layMeasPhi {m_tree.newVector<bool>("layerMeasPhi")} |  | private | 
 
 
◆ m_layNumber
  
  | 
        
          | MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelTgcTest::m_layNumber {m_tree.newVector<uint8_t>("layerNumber")} |  | private | 
 
 
◆ m_layNumWires
  
  | 
        
          | MuonVal::VectorBranch<uint16_t>& MuonGMR4::GeoModelTgcTest::m_layNumWires {m_tree.newVector<uint16_t>("layerNumWires")} |  | private | 
 
 
◆ m_layShortWidth
  
  | 
        
          | MuonVal::VectorBranch<float>& MuonGMR4::GeoModelTgcTest::m_layShortWidth {m_tree.newVector<float>("layerWidthS")} |  | private | 
 
 
◆ m_layTans
◆ m_locGangPos
◆ m_locStripBottom
◆ m_locStripCenter
◆ m_locStripTop
◆ m_longWidth
  
  | 
        
          | MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelTgcTest::m_longWidth {m_tree.newScalar<float>("ChamberWidthL")} |  | private | 
 
 
◆ m_msg
  
  | 
        
          | MsgStream AthHistogramming::m_msg |  | privateinherited | 
 
 
◆ m_name
  
  | 
        
          | std::string AthHistogramming::m_name |  | privateinherited | 
 
 
◆ m_nGasGaps
  
  | 
        
          | MuonVal::ScalarBranch<uint8_t>& MuonGMR4::GeoModelTgcTest::m_nGasGaps {m_tree.newScalar<uint8_t>("nGasGaps")} |  | private | 
 
 
◆ m_prefix
  
  | 
        
          | std::string AthHistogramAlgorithm::m_prefix |  | privateinherited | 
 
 
◆ m_readoutTransform
◆ m_rootDir
  
  | 
        
          | std::string AthHistogramAlgorithm::m_rootDir |  | privateinherited | 
 
 
◆ m_selectStat
  
  | 
        
          | Gaudi::Property<std::vector<std::string> > MuonGMR4::GeoModelTgcTest::m_selectStat {this, "TestStations", {}} |  | private | 
 
 
◆ m_shortWidth
  
  | 
        
          | MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelTgcTest::m_shortWidth {m_tree.newScalar<float>("ChamberWidthS")} |  | private | 
 
 
◆ m_stEta
◆ m_stIndex
  
  | 
        
          | MuonVal::ScalarBranch<unsigned short>& MuonGMR4::GeoModelTgcTest::m_stIndex {m_tree.newScalar<unsigned short>("stationIndex")} |  | private | 
 
 
◆ m_stLayout
  
  | 
        
          | MuonVal::ScalarBranch<std::string>& MuonGMR4::GeoModelTgcTest::m_stLayout {m_tree.newScalar<std::string>("stationDesign")} |  | private | 
 
 
◆ m_stPhi
◆ m_streamName
  
  | 
        
          | std::string AthHistogramming::m_streamName |  | privateinherited | 
 
 
◆ m_stripBottom
◆ m_stripCenter
◆ m_stripGasGap
  
  | 
        
          | MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelTgcTest::m_stripGasGap {m_tree.newVector<uint8_t>("stripGasGap")} |  | private | 
 
 
◆ m_stripNum
  
  | 
        
          | MuonVal::VectorBranch<unsigned int>& MuonGMR4::GeoModelTgcTest::m_stripNum {m_tree.newVector<unsigned int>("stripNumber")} |  | private | 
 
 
◆ m_stripTop
◆ m_testStations
  
  | 
        
          | std::set<Identifier> MuonGMR4::GeoModelTgcTest::m_testStations {} |  | private | 
 
 
◆ m_thickness
  
  | 
        
          | MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelTgcTest::m_thickness {m_tree.newScalar<float>("ChamberThickness")} |  | private | 
 
 
◆ m_tree
◆ m_treeMap
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
 
std::string m_rootDir
Name of the ROOT directory.
def retrieve(aClass, aKey=None)
const ServiceHandle< ITHistSvc > & histSvc() const
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a...
const ServiceHandle< ITHistSvc > & histSvc() const
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a...
MuonVal::TwoVectorBranch m_locGangPos
MuonVal::ScalarBranch< uint8_t > & m_nGasGaps
MuonVal::VectorBranch< float > & m_layShortWidth
MuonVal::CoordTransformBranch m_alignableNode
void myReplace(std::string &str, const std::string &oldStr, const std::string &newStr)
Helper method to replace sub-string.
MsgStream m_msg
Cached Message Stream.
HistMap_t m_histMap
The map of histogram names to their pointers.
StatusCode dumpToTree(const EventContext &ctx, const ActsTrk::GeometryContext &gctx, const TgcReadoutElement *readoutEle)
ServiceHandle< ITHistSvc > m_histSvc
Default constructor: AthHistogramAlgorithm();.
StatusCode init(OWNER *instance)
Initialize method.
StatusCode book(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.
MuonVal::TwoVectorBranch m_locStripTop
Eigen::Matrix< double, 2, 1 > Vector2D
MuonVal::ThreeVectorBranch m_stripBottom
std::string m_prefix
Name of the ROOT output stream (file)
const MuonDetectorManager * m_detMgr
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
MuonVal::ThreeVectorBranch m_stripTop
Gaudi::Property< std::vector< std::string > > m_excludeStat
std::string m_histNamePrefix
The prefix for the histogram THx name.
std::string m_histTitlePrefix
The prefix for the histogram THx title.
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
MuonVal::VectorBranch< uint8_t > & m_gangGasGap
std::string m_histNamePostfix
The postfix for the histogram THx name.
def gap(flags, cells_name, *args, **kw)
std::string getTree(const std::string &file_name)
MuonVal::VectorBranch< uint8_t > & m_gangNumWires
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
MuonVal::ScalarBranch< short > & m_stEta
Amg::Transform3D getRotateZ3D(double angle)
get a rotation transformation around Z-axis
void push_back(const Amg::Vector3D &vec)
interface using the Amg::Vector3D
MuonVal::ScalarBranch< short > & m_stPhi
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like <stationName><stationEta><A/C><stationPhi>
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
MuonVal::VectorBranch< float > & m_layLongWidth
MuonVal::CoordSystemsBranch m_layTans
Layer dimensions.
MuonVal::ScalarBranch< std::string > & m_stLayout
MuonVal::ScalarBranch< unsigned short > & m_stIndex
Identifier of the readout element.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
virtual StatusCode sysInitialize() override
Override sysInitialize.
MuonVal::VectorBranch< unsigned int > & m_gangNum
MuonVal::VectorBranch< uint16_t > & m_layNumWires
void push_back(const Amg::Vector2D &vec)
interface using the Amg::Vector3D
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
MuonVal::ScalarBranch< float > & m_thickness
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Eigen::Affine3d Transform3D
bool doesNotDeform(const Amg::Transform3D &trans)
Checks whether the linear part of the transformation rotates or stetches any of the basis vectors.
MuonVal::ScalarBranch< float > & m_shortWidth
GraphMap_t m_graphMap
The map of TGraph names to their pointers.
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.
std::string m_streamName
Name of the ROOT output stream (file)
StatusCode configAthHistogramming(const ServiceHandle< ITHistSvc > &histSvc, const std::string &prefix, const std::string &rootDir, const std::string &histNamePrefix, const std::string &histNamePostfix, const std::string &histTitlePrefix, const std::string &histTitlePostfix)
To be called by the derived classes to fill the internal configuration.
uint32_t hash_t
typedef for the internal hash
MuonVal::VectorBranch< uint8_t > & m_stripGasGap
uint64_t crc64(const CRCTable &table, const char *data, size_t data_len)
Find the CRC-64 of a string,.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
void push_back(const T &value)
Adds a new element at the end of the vector.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
MuonVal::VectorBranch< bool > & m_layMeasPhi
hash_t hash(const std::string &histName) const
Method to calculate a 32-bit hash from a string.
MuonVal::TwoVectorBranch m_locStripCenter
def getHist(name, makehist)
Eigen::Matrix< double, 3, 1 > Vector3D
MuonVal::VectorBranch< float > & m_layHeight
std::uint64_t hash64(const void *data, std::size_t size)
Passthrough to XXH3_64bits.
AthHistogramming(const std::string &name)
Constructor with parameters:
DataObjIDColl m_extendedExtraObjects
EffMap_t m_effMap
The map of histogram names to their pointers.
std::string m_histTitlePrefix
The prefix for the histogram THx title.
#define ATH_MSG_WARNING(x)
std::string m_histNamePostfix
The postfix for the histogram THx name.
MuonVal::ScalarBranch< float > & m_height
TreeMap_t m_treeMap
The map of TTree names to their pointers.
std::string m_histNamePrefix
The prefix for the histogram THx name.
void push_back(const Amg::Transform3D &trans)
std::set< Identifier > m_testStations
Set of stations to be tested.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
bool fill(const EventContext &ctx)
Fills the tree per call.
StatusCode write()
Finally write the TTree objects.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
MuonVal::ScalarBranch< float > & m_longWidth
TH1 * hist(const std::string &histName, const std::string &tDir="", const std::string &stream="")
Simplify the retrieval of registered histograms of any type.
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
ServiceHandle< ITHistSvc > m_histSvc
Pointer to the THistSvc (event store by default)
AthAlgorithm()
Default constructor:
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
MuonVal::TwoVectorBranch m_locStripBottom
MuonVal::ThreeVectorBranch m_stripCenter
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
std::string m_name
Instance name.
std::string m_rootDir
Name of the ROOT directory.
MuonVal::ThreeVectorBranch m_gangCenter
Wire gangs.
MuonVal::VectorBranch< uint8_t > & m_layNumber
MuonVal::MuonTesterTree m_tree
MuonVal::VectorBranch< unsigned int > & m_stripNum
void buildBookingString(std::string &bookingString, std::string &histName, std::string &tDir, std::string &stream, bool usePrefixPostfix=false)
Method to build individual booking string.
MuonVal::VectorBranch< float > & m_gangLength
TH1 * bookGetPointer(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.