Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <GeoModelsTgcTest.h>
|
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 the THistSvc . 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 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 > &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 ActsGeometryContext &gctx, const sTgcReadoutElement *readoutEle) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &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< ActsGeometryContext > | 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 {"sTgcGeoModelTree", "GEOMODELTESTER"} |
|
MuonVal::ScalarBranch< short > & | m_stIndex {m_tree.newScalar<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< short > & | m_stML {m_tree.newScalar<short>("stationMultilayer")} |
|
MuonVal::ScalarBranch< std::string > & | m_chamberDesign {m_tree.newScalar<std::string>("chamberDesign")} |
|
MuonVal::ScalarBranch< short > & | m_numLayers {m_tree.newScalar<short>("numLayers")} |
|
MuonVal::ScalarBranch< float > & | m_yCutout {m_tree.newScalar<float>("yCutout")} |
|
MuonVal::ScalarBranch< float > & | m_gasTck {m_tree.newScalar<float>("gasTck")} |
|
MuonVal::ScalarBranch< float > & | m_sChamberLength {m_tree.newScalar<float>("sChamberLength")} |
| Chamber Length for debug. More...
|
|
MuonVal::ScalarBranch< float > & | m_lChamberLength {m_tree.newScalar<float>("lChamberLength")} |
|
MuonVal::ScalarBranch< float > & | m_chamberHeight {m_tree.newScalar<float>("chamberHeight")} |
|
MuonVal::ScalarBranch< float > & | m_sGapLength {m_tree.newScalar<float>("sGapLength")} |
| GasGap Lengths for debug. More...
|
|
MuonVal::ScalarBranch< float > & | m_lGapLength {m_tree.newScalar<float>("lGapLength")} |
|
MuonVal::ScalarBranch< float > & | m_gapHeight {m_tree.newScalar<float>("gapHeight")} |
|
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::CoordSystemsBranch | m_stripRot {m_tree, "stripRot"} |
| Rotation matrix of the respective strip layers. More...
|
|
MuonVal::VectorBranch< uint8_t > & | m_stripRotGasGap {m_tree.newVector<uint8_t>("stripRotGasGap")} |
|
MuonVal::CoordSystemsBranch | m_wireGroupRot {m_tree, "wireGroupRot"} |
| Rotation matrix of the respective wireGroup layers. More...
|
|
MuonVal::VectorBranch< uint8_t > & | m_wireGroupRotGasGap {m_tree.newVector<uint8_t>("wireGroupRotGasGap")} |
|
MuonVal::CoordSystemsBranch | m_padRot {m_tree, "padRot"} |
| Rotation matrix of the respective pad layers. More...
|
|
MuonVal::VectorBranch< uint8_t > & | m_padRotGasGap {m_tree.newVector<uint8_t>("padRotGasGap")} |
|
MuonVal::ScalarBranch< uint > & | m_numStrips {m_tree.newScalar<uint>("numStrips")} |
| Strip dimensions. More...
|
|
MuonVal::ScalarBranch< float > & | m_stripPitch {m_tree.newScalar<float>("stripPitch")} |
|
MuonVal::ScalarBranch< float > & | m_stripWidth {m_tree.newScalar<float>("stripWidth")} |
|
MuonVal::TwoVectorBranch | m_localStripPos {m_tree, "localStripPos"} |
|
MuonVal::ThreeVectorBranch | m_globalStripPos {m_tree, "globalStripPos"} |
|
MuonVal::VectorBranch< uint > & | m_stripNum {m_tree.newVector<uint>("stripNumber")} |
|
MuonVal::VectorBranch< uint8_t > & | m_stripGasGap {m_tree.newVector<uint8_t>("stripGasGap")} |
|
MuonVal::VectorBranch< float > & | m_stripLengths {m_tree.newVector<float>("stripLengths")} |
|
MuonVal::VectorBranch< uint > & | m_numWires {m_tree.newVector<uint>("numWires")} |
|
MuonVal::VectorBranch< uint > & | m_firstWireGroupWidth {m_tree.newVector<uint>("firstWireGroupWidth")} |
|
MuonVal::VectorBranch< uint > & | m_numWireGroups {m_tree.newVector<uint>("numWireGroups")} |
|
MuonVal::VectorBranch< float > & | m_wireCutout {m_tree.newVector<float>("wireCutout")} |
|
MuonVal::ScalarBranch< float > & | m_wirePitch {m_tree.newScalar<float>("wirePitch")} |
|
MuonVal::ScalarBranch< float > & | m_wireWidth {m_tree.newScalar<float>("wireWidth")} |
|
MuonVal::ScalarBranch< uint > & | m_wireGroupWidth {m_tree.newScalar<uint>("wireGroupWidth")} |
|
MuonVal::TwoVectorBranch | m_localWireGroupPos {m_tree, "localWireGroupPos"} |
|
MuonVal::ThreeVectorBranch | m_globalWireGroupPos {m_tree, "globalWireGroupPos"} |
|
MuonVal::VectorBranch< uint8_t > & | m_wireGroupNum {m_tree.newVector<uint8_t>("wireGroupNum")} |
|
MuonVal::VectorBranch< uint8_t > & | m_wireGroupGasGap {m_tree.newVector<uint8_t>("wireGroupGasGap")} |
|
MuonVal::VectorBranch< uint > & | m_numPads {m_tree.newVector<uint>("numPads")} |
| Pad dimensions. More...
|
|
MuonVal::ScalarBranch< float > & | m_sPadLength {m_tree.newScalar<float>("sPadLength")} |
|
MuonVal::ScalarBranch< float > & | m_lPadLength {m_tree.newScalar<float>("lPadLength")} |
|
MuonVal::VectorBranch< uint > & | m_numPadEta {m_tree.newVector<uint>("numPadEta")} |
|
MuonVal::VectorBranch< uint > & | m_numPadPhi {m_tree.newVector<uint>("numPadPhi")} |
|
MuonVal::VectorBranch< float > & | m_firstPadHeight {m_tree.newVector<float>("firstPadHeight")} |
|
MuonVal::VectorBranch< float > & | m_padHeight {m_tree.newVector<float>("padHeight")} |
|
MuonVal::VectorBranch< float > & | m_firstPadPhiDiv {m_tree.newVector<float>("firstPadPhiDiv")} |
|
MuonVal::VectorBranch< float > & | m_padPhiShift {m_tree.newVector<float>("padPhiShift")} |
|
MuonVal::ScalarBranch< float > & | m_anglePadPhi {m_tree.newScalar<float>("anglePadPhi")} |
|
MuonVal::ScalarBranch< float > & | m_beamlineRadius {m_tree.newScalar<float>("beamlineRadius")} |
|
MuonVal::TwoVectorBranch | m_localPadCornerBR {m_tree, "localPadCornerBR"} |
|
MuonVal::TwoVectorBranch | m_localPadCornerBL {m_tree, "localPadCornerBL"} |
|
MuonVal::TwoVectorBranch | m_localPadCornerTR {m_tree, "localPadCornerTR"} |
|
MuonVal::TwoVectorBranch | m_localPadCornerTL {m_tree, "localPadCornerTL"} |
|
MuonVal::TwoVectorBranch | m_localPadPos {m_tree, "localPadPos"} |
|
MuonVal::TwoVectorBranch | m_hitPosition {m_tree, "hitPosition"} |
|
MuonVal::VectorBranch< int > & | m_padNumber {m_tree.newVector<int>("padNumber")} |
|
MuonVal::ThreeVectorBranch | m_globalPadCornerBR {m_tree, "globalPadCornerBR"} |
|
MuonVal::ThreeVectorBranch | m_globalPadCornerBL {m_tree, "globalPadCornerBL"} |
|
MuonVal::ThreeVectorBranch | m_globalPadCornerTR {m_tree, "globalPadCornerTR"} |
|
MuonVal::ThreeVectorBranch | m_globalPadCornerTL {m_tree, "globalPadCornerTL"} |
|
MuonVal::ThreeVectorBranch | m_globalPadPos {m_tree, "globalPadPos"} |
|
MuonVal::VectorBranch< uint8_t > & | m_padGasGap {m_tree.newVector<uint8_t>("padGasGap")} |
|
MuonVal::VectorBranch< uint > & | m_padEta {m_tree.newVector<uint>("padEtaNumber")} |
|
MuonVal::VectorBranch< uint > & | m_padPhi {m_tree.newVector<uint>("padPhiNumber")} |
|
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
◆ 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::GeoModelsTgcTest::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()
Dump the local to global transformation of the readout element
Use idHelper to get the identifier
Gas Gap dimensions
Definition at line 177 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelsTgcTest.cxx.
182 m_stEta = reElement->stationEta();
183 m_stPhi = reElement->stationPhi();
184 m_stML = reElement->multilayer();
188 m_gasTck = reElement->gasGapThickness();
200 for (
unsigned int layer = 1;
layer <= reElement->numLayers(); ++
layer) {
201 for (
int chType = sTgcIdHelper::sTgcChannelTypes::Pad;
chType <= sTgcIdHelper::sTgcChannelTypes::Wire; ++
chType) {
202 unsigned int numWireGroup = 0;
204 bool isValidLay{
false};
205 const Identifier layID = id_helper.channelID(reElement->identify(),
206 reElement->multilayer(),
213 m_sGapLength = 2.*reElement->stripDesign(layID).shortHalfHeight();
214 m_lGapLength = 2.*reElement->stripDesign(layID).longHalfHeight();
215 m_sPadLength = 2.*reElement->padDesign(layID).shortHalfHeight();
216 m_lPadLength = 2.*reElement->padDesign(layID).longHalfHeight();
217 m_gapHeight =2.*reElement->stripDesign(layID).halfWidth();
218 m_yCutout = reElement->stripDesign(layID).yCutout();
221 case sTgcIdHelper::sTgcChannelTypes::Pad:
229 for (
unsigned int pad = 1; pad <= reElement->numChannels(layID); ++pad) {
230 bool isValidPad{
false};
231 const Identifier padID = id_helper.channelID(reElement->identify(),
232 reElement->multilayer(),
237 <<
" layer: "<<
layer<<
" pad: "<<pad<<
" channelType: "<<
chType);
247 std::array<Amg::Vector2D,4> localPadCorners{make_array<Amg::Vector2D, 4>(
Amg::Vector2D::Zero())};
249 std::array<Amg::Vector3D,4> globalPadCorners{make_array<Amg::Vector3D, 4>(
Amg::Vector3D::Zero())};
251 localPadPos = reElement->localChannelPosition(padID);
252 localPadCorners = reElement->localPadCorners(padID);
265 globalPadPos = reElement->globalChannelPosition(gctx, padID);
266 globalPadCorners = reElement->globalPadCorners(gctx, padID);
278 if (pad != 1)
continue;
279 const Amg::Transform3D locToGlob = reElement->localToGlobalTrans(gctx, padID);
287 case sTgcIdHelper::sTgcChannelTypes::Strip:{
288 const StripDesign& design{reElement->stripDesign(layID)};
292 for (
unsigned int strip = 1;
strip <= reElement->numChannels(layID); ++
strip) {
293 bool isValidStrip{
false};
294 const Identifier stripID = id_helper.channelID(reElement->identify(),
295 reElement->multilayer(),
300 <<
" layer: "<<
layer<<
" strip: "<<strip<<
" channelType: "<<
chType);
309 if (strip != 1)
continue;
310 const Amg::Transform3D locToGlob = reElement->localToGlobalTrans(gctx, stripID);
317 }
case sTgcIdHelper::sTgcChannelTypes::Wire: {
318 const WireGroupDesign& design{reElement->wireDesign(layID)};
320 numWireGroup = design.numStrips();
327 for (
unsigned int wireGroup = 1; wireGroup <= numWireGroup; ++wireGroup) {
328 bool isValidWire{
false};
329 const Identifier wireGroupID = id_helper.channelID(reElement->identify(),
330 reElement->multilayer(),
335 <<
" layer: "<<
layer<<
" wireGroup: "<<wireGroup<<
" channelType: "<<
chType);
343 if (wireGroup != 1)
continue;
344 const Amg::Transform3D locToGlob = reElement->localToGlobalTrans(gctx, wireGroupID);
354 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::GeoModelsTgcTest::execute |
( |
| ) |
|
|
override |
Check that we retrieved the proper readout element
Closure test that the transformations actually close
Test the back and forth conversion of the Identifier
Definition at line 87 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelsTgcTest.cxx.
88 const EventContext& ctx{Gaudi::Hive::currentContext()};
97 const sTgcReadoutElement* reElement =
m_detMgr->getsTgcReadoutElement(test_me);
104 <<
". But got instead "<<
m_idHelperSvc->toString(reElement->identify()));
105 return StatusCode::FAILURE;
112 for (
Amg::Vector3D axis :{Amg::Vector3D::UnitX(),Amg::Vector3D::UnitY(),Amg::Vector3D::UnitZ()}) {
113 const double closure_mag = std::abs( (transClosure*
axis).
dot(
axis) - 1.);
114 if (closure_mag > std::numeric_limits<float>::epsilon() ) {
117 return StatusCode::FAILURE;
121 for (
unsigned int layer = 1;
layer <= reElement->numLayers(); ++
layer) {
122 for (
int chType = sTgcIdHelper::sTgcChannelTypes::Pad;
chType <= sTgcIdHelper::sTgcChannelTypes::Wire; ++
chType) {
123 bool isValidLay{
false};
124 const Identifier layID = id_helper.channelID(reElement->identify(),
125 reElement->multilayer(),
130 const unsigned int numChannel = reElement->numChannels(layID);
133 bool isValidCh{
false};
134 const Identifier chID = id_helper.channelID(reElement->identify(),
135 reElement->multilayer(),
141 const IdentifierHash measHash = reElement->measurementHash(chID);
142 const IdentifierHash layHash = reElement->layerHash(chID);
144 <<
" --> layerHash: "<<
static_cast<unsigned>(layHash));
145 const Identifier backCnv = reElement->measurementId(measHash);
146 if (backCnv != chID) {
149 return StatusCode::FAILURE;
151 if (layHash != reElement->layerHash(measHash)) {
152 ATH_MSG_FATAL(
"Constructing the layer hash from the identifier "<<
153 m_idHelperSvc->toString(chID)<<
" leads to different layer hashes "<<
154 layHash<<
" vs. "<< reElement->layerHash(measHash));
155 return StatusCode::FAILURE;
157 if (
chType == sTgcIdHelper::sTgcChannelTypes::Strip) {
159 <<
Amg::toString(reElement->globalChannelPosition(gctx, measHash)));
161 else if (
chType == sTgcIdHelper::sTgcChannelTypes::Wire) {
163 <<
Amg::toString(reElement->globalChannelPosition(gctx, measHash)));
165 else if (
chType == sTgcIdHelper::sTgcChannelTypes::Pad) {
167 <<
Amg::toString(reElement->globalChannelPosition(gctx, measHash)));
174 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::GeoModelsTgcTest::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::GeoModelsTgcTest::initialize |
( |
| ) |
|
|
override |
Prepare the TTree dump
Example string STL1A2
Add stations for testing
Report what stations are excluded
Definition at line 14 of file MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelsTgcTest.cxx.
21 auto translateTokenList = [
this, &idHelper](
const std::vector<std::string>& chNames){
23 std::set<Identifier> transcriptedIds{};
24 for (
const std::string& token : chNames) {
25 if (token.size() != 6) {
26 ATH_MSG_WARNING(
"Wrong format given for "<<token<<
". Expecting 6 characters");
30 const std::string statName = token.substr(0, 3);
31 const unsigned statEta =
std::atoi(token.substr(3, 1).c_str()) * (token[4] ==
'A' ? 1 : -1);
32 const unsigned statPhi =
std::atoi(token.substr(5, 1).c_str());
39 transcriptedIds.insert(eleId);
42 transcriptedIds.insert(secMlId);
45 return transcriptedIds;
48 std::vector <std::string>& selectedSt =
m_selectStat.value();
49 const std::vector <std::string>& excludedSt =
m_excludeStat.value();
50 selectedSt.erase(std::remove_if(selectedSt.begin(), selectedSt.end(),
51 [&excludedSt](
const std::string& token){
52 return std::ranges::find(excludedSt, token) != excludedSt.end();
53 }), selectedSt.end());
55 if (selectedSt.size()) {
57 std::stringstream sstr{};
61 ATH_MSG_INFO(
"Test only the following stations "<<std::endl<<sstr.str());
63 const std::set<Identifier> excluded = translateTokenList(excludedSt);
65 for(
auto itr = idHelper.detectorElement_begin();
66 itr!= idHelper.detectorElement_end();++itr){
67 if (!excluded.count(*itr)) {
72 if (!excluded.empty()) {
73 std::stringstream excluded_report{};
75 excluded_report <<
" *** " <<
m_idHelperSvc->toStringDetEl(
id) << std::endl;
77 ATH_MSG_INFO(
"Test all station except the following excluded ones " << std::endl << excluded_report.str());
81 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_anglePadPhi
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_anglePadPhi {m_tree.newScalar<float>("anglePadPhi")} |
|
private |
◆ m_beamlineRadius
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_beamlineRadius {m_tree.newScalar<float>("beamlineRadius")} |
|
private |
◆ m_chamberDesign
MuonVal::ScalarBranch<std::string>& MuonGMR4::GeoModelsTgcTest::m_chamberDesign {m_tree.newScalar<std::string>("chamberDesign")} |
|
private |
◆ m_chamberHeight
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_chamberHeight {m_tree.newScalar<float>("chamberHeight")} |
|
private |
◆ m_detMgr
◆ m_detStore
◆ m_effMap
◆ m_evtStore
◆ m_excludeStat
Gaudi::Property<std::vector<std::string> > MuonGMR4::GeoModelsTgcTest::m_excludeStat {this, "ExcludeStations", {}} |
|
private |
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_firstPadHeight
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_firstPadHeight {m_tree.newVector<float>("firstPadHeight")} |
|
private |
◆ m_firstPadPhiDiv
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_firstPadPhiDiv {m_tree.newVector<float>("firstPadPhiDiv")} |
|
private |
◆ m_firstWireGroupWidth
◆ m_gapHeight
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_gapHeight {m_tree.newScalar<float>("gapHeight")} |
|
private |
◆ m_gasTck
◆ m_geoCtxKey
◆ m_globalPadCornerBL
◆ m_globalPadCornerBR
◆ m_globalPadCornerTL
◆ m_globalPadCornerTR
◆ m_globalPadPos
◆ m_globalStripPos
◆ m_globalWireGroupPos
◆ m_graphMap
◆ 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_hitPosition
◆ m_idHelperSvc
◆ m_lChamberLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_lChamberLength {m_tree.newScalar<float>("lChamberLength")} |
|
private |
◆ m_lGapLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_lGapLength {m_tree.newScalar<float>("lGapLength")} |
|
private |
◆ m_localPadCornerBL
◆ m_localPadCornerBR
◆ m_localPadCornerTL
◆ m_localPadCornerTR
◆ m_localPadPos
◆ m_localStripPos
◆ m_localWireGroupPos
◆ m_lPadLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_lPadLength {m_tree.newScalar<float>("lPadLength")} |
|
private |
◆ m_msg
MsgStream AthHistogramming::m_msg |
|
privateinherited |
◆ m_name
std::string AthHistogramming::m_name |
|
privateinherited |
◆ m_numLayers
MuonVal::ScalarBranch<short>& MuonGMR4::GeoModelsTgcTest::m_numLayers {m_tree.newScalar<short>("numLayers")} |
|
private |
◆ m_numPadEta
◆ m_numPadPhi
◆ m_numPads
◆ m_numStrips
◆ m_numWireGroups
◆ m_numWires
◆ m_padEta
◆ m_padGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_padGasGap {m_tree.newVector<uint8_t>("padGasGap")} |
|
private |
◆ m_padHeight
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_padHeight {m_tree.newVector<float>("padHeight")} |
|
private |
◆ m_padNumber
◆ m_padPhi
◆ m_padPhiShift
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_padPhiShift {m_tree.newVector<float>("padPhiShift")} |
|
private |
◆ m_padRot
◆ m_padRotGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_padRotGasGap {m_tree.newVector<uint8_t>("padRotGasGap")} |
|
private |
◆ m_prefix
std::string AthHistogramAlgorithm::m_prefix |
|
privateinherited |
◆ m_readoutTransform
◆ m_rootDir
std::string AthHistogramAlgorithm::m_rootDir |
|
privateinherited |
◆ m_sChamberLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_sChamberLength {m_tree.newScalar<float>("sChamberLength")} |
|
private |
◆ m_selectStat
Gaudi::Property<std::vector<std::string> > MuonGMR4::GeoModelsTgcTest::m_selectStat {this, "TestStations", {}} |
|
private |
◆ m_sGapLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_sGapLength {m_tree.newScalar<float>("sGapLength")} |
|
private |
◆ m_sPadLength
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_sPadLength {m_tree.newScalar<float>("sPadLength")} |
|
private |
◆ m_stEta
MuonVal::ScalarBranch<short>& MuonGMR4::GeoModelsTgcTest::m_stEta {m_tree.newScalar<short>("stationEta")} |
|
private |
◆ m_stIndex
MuonVal::ScalarBranch<short>& MuonGMR4::GeoModelsTgcTest::m_stIndex {m_tree.newScalar<short>("stationIndex")} |
|
private |
◆ m_stML
MuonVal::ScalarBranch<short>& MuonGMR4::GeoModelsTgcTest::m_stML {m_tree.newScalar<short>("stationMultilayer")} |
|
private |
◆ m_stPhi
MuonVal::ScalarBranch<short>& MuonGMR4::GeoModelsTgcTest::m_stPhi {m_tree.newScalar<short>("stationPhi")} |
|
private |
◆ m_streamName
std::string AthHistogramming::m_streamName |
|
privateinherited |
◆ m_stripGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_stripGasGap {m_tree.newVector<uint8_t>("stripGasGap")} |
|
private |
◆ m_stripLengths
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_stripLengths {m_tree.newVector<float>("stripLengths")} |
|
private |
◆ m_stripNum
◆ m_stripPitch
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_stripPitch {m_tree.newScalar<float>("stripPitch")} |
|
private |
◆ m_stripRot
◆ m_stripRotGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_stripRotGasGap {m_tree.newVector<uint8_t>("stripRotGasGap")} |
|
private |
◆ m_stripWidth
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_stripWidth {m_tree.newScalar<float>("stripWidth")} |
|
private |
◆ m_testStations
std::set<Identifier> MuonGMR4::GeoModelsTgcTest::m_testStations {} |
|
private |
◆ m_tree
◆ m_treeMap
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_wireCutout
MuonVal::VectorBranch<float>& MuonGMR4::GeoModelsTgcTest::m_wireCutout {m_tree.newVector<float>("wireCutout")} |
|
private |
◆ m_wireGroupGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_wireGroupGasGap {m_tree.newVector<uint8_t>("wireGroupGasGap")} |
|
private |
◆ m_wireGroupNum
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_wireGroupNum {m_tree.newVector<uint8_t>("wireGroupNum")} |
|
private |
◆ m_wireGroupRot
◆ m_wireGroupRotGasGap
MuonVal::VectorBranch<uint8_t>& MuonGMR4::GeoModelsTgcTest::m_wireGroupRotGasGap {m_tree.newVector<uint8_t>("wireGroupRotGasGap")} |
|
private |
◆ m_wireGroupWidth
◆ m_wirePitch
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_wirePitch {m_tree.newScalar<float>("wirePitch")} |
|
private |
◆ m_wireWidth
MuonVal::ScalarBranch<float>& MuonGMR4::GeoModelsTgcTest::m_wireWidth {m_tree.newScalar<float>("wireWidth")} |
|
private |
◆ m_yCutout
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...
sTgcIdHelper::sTgcChannelTypes chType
MuonVal::ScalarBranch< float > & m_wireWidth
MuonVal::ScalarBranch< float > & m_lChamberLength
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.
MuonVal::VectorBranch< int > & m_padNumber
MuonVal::VectorBranch< float > & m_stripLengths
MuonVal::VectorBranch< uint8_t > & m_padRotGasGap
ServiceHandle< ITHistSvc > m_histSvc
Default constructor: AthHistogramAlgorithm();.
StatusCode init(OWNER *instance)
Initialize method.
MuonVal::VectorBranch< uint8_t > & m_wireGroupRotGasGap
MuonVal::MuonTesterTree m_tree
StatusCode book(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like <stationName><stationEta><A/C><stationPhi>
MuonVal::ThreeVectorBranch m_globalPadCornerTL
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
MuonVal::TwoVectorBranch m_localPadPos
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
MuonVal::TwoVectorBranch m_localPadCornerBL
MuonVal::VectorBranch< uint8_t > & m_wireGroupNum
MuonVal::TwoVectorBranch m_hitPosition
MuonVal::VectorBranch< float > & m_padPhiShift
MuonVal::VectorBranch< uint > & m_firstWireGroupWidth
MuonVal::ThreeVectorBranch m_globalPadCornerBL
std::string m_prefix
Name of the ROOT output stream (file)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
MuonVal::VectorBranch< uint > & m_numPadEta
std::vector< SG::VarHandleKeyArray * > m_vhka
MuonVal::CoordSystemsBranch m_padRot
Rotation matrix of the respective pad layers.
MuonVal::ScalarBranch< float > & m_sPadLength
std::string m_histNamePrefix
The prefix for the histogram THx name.
MuonVal::VectorBranch< uint8_t > & m_wireGroupGasGap
std::string m_histTitlePrefix
The prefix for the histogram THx title.
#define ATH_MSG_VERBOSE(x)
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
MuonVal::ScalarBranch< short > & m_stIndex
Identifier of the readout element.
std::string m_histNamePostfix
The postfix for the histogram THx name.
MuonVal::ScalarBranch< short > & m_stPhi
MuonVal::ThreeVectorBranch m_globalPadCornerBR
std::string getTree(const std::string &file_name)
MuonVal::ScalarBranch< float > & m_sChamberLength
Chamber Length for debug.
MuonVal::ScalarBranch< float > & m_yCutout
MuonVal::VectorBranch< float > & m_padHeight
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< float > & m_gasTck
MuonVal::ScalarBranch< float > & m_stripPitch
MuonVal::VectorBranch< uint > & m_numWireGroups
void push_back(const Amg::Vector3D &vec)
interface using the Amg::Vector3D
MuonVal::ScalarBranch< float > & m_lGapLength
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
StatusCode dumpToTree(const EventContext &ctx, const ActsGeometryContext &gctx, const sTgcReadoutElement *readoutEle)
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
virtual StatusCode sysInitialize() override
Override sysInitialize.
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
MuonVal::VectorBranch< uint8_t > & m_stripRotGasGap
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::VectorBranch< uint > & m_stripNum
MuonVal::VectorBranch< float > & m_firstPadPhiDiv
MuonVal::ScalarBranch< float > & m_stripWidth
MuonVal::CoordSystemsBranch m_wireGroupRot
Rotation matrix of the respective wireGroup layers.
MuonVal::ScalarBranch< float > & m_gapHeight
Eigen::Affine3d Transform3D
MuonVal::CoordTransformBranch m_alignableNode
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
MuonVal::VectorBranch< uint > & m_numPads
Pad dimensions.
MuonVal::CoordSystemsBranch m_stripRot
Rotation matrix of the respective strip layers.
MuonVal::VectorBranch< uint > & m_padEta
MuonVal::ScalarBranch< float > & m_beamlineRadius
MuonVal::ScalarBranch< short > & m_stEta
MuonVal::VectorBranch< uint > & m_numWires
MuonVal::TwoVectorBranch m_localPadCornerBR
MuonVal::VectorBranch< uint8_t > & m_padGasGap
GraphMap_t m_graphMap
The map of TGraph names to their pointers.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
MuonVal::TwoVectorBranch m_localStripPos
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)
MuonVal::ScalarBranch< float > & m_lPadLength
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
uint64_t crc64(const CRCTable &table, const char *data, size_t data_len)
Find the CRC-64 of a string,.
def dot(G, fn, nodesToHighlight=[])
MuonVal::ThreeVectorBranch m_globalPadPos
Include the GeoPrimitives which need to be put first.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
const MuonDetectorManager * m_detMgr
MuonVal::VectorBranch< float > & m_firstPadHeight
Gaudi::Property< std::vector< std::string > > m_excludeStat
void push_back(const T &value)
Adds a new element at the end of the vector.
MuonVal::ThreeVectorBranch m_globalWireGroupPos
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::set< Identifier > m_testStations
Set of stations to be tested.
hash_t hash(const std::string &histName) const
Method to calculate a 32-bit hash from a string.
def getHist(name, makehist)
MuonVal::ScalarBranch< uint > & m_wireGroupWidth
MuonVal::VectorBranch< uint > & m_padPhi
MuonVal::ScalarBranch< float > & m_anglePadPhi
MuonVal::ScalarBranch< float > & m_wirePitch
Eigen::Matrix< double, 3, 1 > Vector3D
MuonVal::VectorBranch< uint8_t > & m_stripGasGap
MuonVal::ScalarBranch< float > & m_chamberHeight
MuonVal::VectorBranch< float > & m_wireCutout
MuonVal::ScalarBranch< uint > & m_numStrips
Strip dimensions.
MuonVal::TwoVectorBranch m_localPadCornerTL
std::uint64_t hash64(const void *data, std::size_t size)
Passthrough to XXH3_64bits.
MuonVal::ScalarBranch< short > & m_numLayers
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.
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)
MuonVal::ScalarBranch< float > & m_sGapLength
GasGap Lengths for debug.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
bool fill(const EventContext &ctx)
Fills the tree per call.
MuonVal::ThreeVectorBranch m_globalPadCornerTR
StatusCode write()
Finally write the TTree objects.
std::string m_histTitlePostfix
The postfix for the histogram THx title.
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:
MuonVal::TwoVectorBranch m_localWireGroupPos
MuonVal::ScalarBranch< short > & m_stML
std::string m_name
Instance name.
std::string m_rootDir
Name of the ROOT directory.
MuonVal::ScalarBranch< std::string > & m_chamberDesign
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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< uint > & m_numPadPhi
MuonVal::TwoVectorBranch m_localPadCornerTR
TH1 * bookGetPointer(const TH1 &hist, const std::string &tDir="", const std::string &stream="")
Simplify the booking and registering (into THistSvc) of histograms.
MuonVal::ThreeVectorBranch m_globalStripPos