ATLAS Offline Software
|
the (new) base class for EventLoop algorithms More...
#include <AnaAlgorithm.h>
Inherits AthHistogramAlgorithm, and IIncidentListener.
Inherited by BuildVertexPointingAlg, CP::AsgClassificationDecorationAlg, CP::AsgCutBookkeeperAlg, CP::AsgEnergyDecoratorAlg, CP::AsgEventScaleFactorAlg, CP::AsgLeptonTrackSelectionAlg, CP::AsgOriginalObjectLinkAlg, CP::AsgPriorityDecorationAlg, CP::AsgSelectionAlg, CP::AsgShallowCopyAlg, CP::AsgUnionPreselectionAlg, CP::AsgUnionSelectionAlg, CP::AsgViewFromSelectionAlg, CP::AsgxAODMetNTupleMakerAlg, CP::AsgxAODNTupleMakerAlg, CP::BJetCalibrationAlg, CP::BootstrapGeneratorAlg, CP::BTaggingEfficiencyAlg, CP::BTaggingInformationDecoratorAlg, CP::BTaggingScoresAlg, CP::ChargeSelectorAlg, CP::CopyNominalSelectionAlg, CP::DileptonInvariantMassSelectorAlg, CP::DileptonInvariantMassWindowSelectorAlg, CP::DileptonOSSFInvariantMassWindowSelectorAlg, CP::DiTauEfficiencyCorrectionsAlg, CP::DiTauMassCalculatorAlg, CP::DiTauSmearingAlg, CP::DiTauTruthMatchingAlg, CP::EgammaCalibrationAndSmearingAlg, CP::EgammaFSRForMuonsCollectorAlg, CP::EgammaIsolationCorrectionAlg, CP::EgammaIsolationSelectionAlg, CP::ElectronEfficiencyCorrectionAlg, CP::ElectronLRTMergingAlg, CP::ElectronSiHitDecAlg, CP::EventCutFlowHistAlg, CP::EventDecoratorAlg, CP::EventFlagSelectionAlg, CP::EventSelectionByObjectFlagAlg, CP::EventStatusSelectionAlg, CP::FakeBkgCalculatorAlg, CP::IOStatsAlg, CP::JetCalibrationAlg, CP::JetDecoratorAlg, CP::JetGhostMergingAlg, CP::JetGhostMuonAssociationAlg, CP::JetModifierAlg, CP::JetNGhostSelectorAlg, CP::JetReclusteringAlg, CP::JetSelectionAlg, CP::JetTruthTagAlg, CP::JetUncertaintiesAlg, CP::JvtEfficiencyAlg, CP::JvtUpdateAlg, CP::KinematicHistAlg, CP::LeptonSFCalculatorAlg, CP::MCTCDecorationAlg, CP::MetBuilderAlg, CP::MetMakerAlg, CP::MetSignificanceAlg, CP::MissingETPlusTransverseMassSelectorAlg, CP::MissingETSelectorAlg, CP::MuonCalibrationAndSmearingAlg, CP::MuonEfficiencyScaleFactorAlg, CP::MuonIsolationAlg, CP::MuonLRTMergingAlg, CP::MuonSelectionAlgV2, CP::MuonTriggerEfficiencyScaleFactorAlg, CP::NLargeRJetMassWindowSelectorAlg, CP::NObjectMassSelectorAlg, CP::NObjectPtSelectorAlg, CP::ObjectCutFlowHistAlg, CP::OverlapRemovalAlg, CP::ParticleLevelChargeDecoratorAlg, CP::ParticleLevelIsolationAlg, CP::ParticleLevelJetsAlg, CP::ParticleLevelMissingETAlg, CP::ParticleLevelOverlapRemovalAlg, CP::ParticleLevelPtEtaPhiDecoratorAlg, CP::PhotonEfficiencyCorrectionAlg, CP::PhotonExtraVariablesAlg, CP::PhotonOriginCorrectionAlg, CP::PhotonShowerShapeFudgeAlg, CP::PileupReweightingAlg, CP::PMGTruthWeightAlg, CP::RunNumberSelectorAlg, CP::SaveFilterAlg, CP::SecVertexTruthMatchAlg, CP::SumNElNMuPtSelectorAlg, CP::SysListDumperAlg, CP::TauCombineMuonRMTausAlg, CP::TauEfficiencyCorrectionsAlg, CP::TauSmearingAlg, CP::TauTruthDecorationsAlg, CP::TauTruthMatchingAlg, CP::TransverseMassSelectorAlg, CP::TreeFillerAlg, CP::TreeMakerAlg, CP::TrigEventSelectionAlg, CP::TrigGlobalEfficiencyAlg, CP::TrigMatchingAlg, CP::TrigPrescalesAlg, CP::VertexSelectionAlg, CP::VGammaORAlg, CP::xAODWriterAlg, DecoratePhotonPointingAlg, DecorateVertexScoreAlg, EL::UnitTestAlg2, EL::UnitTestAlg3, EL::UnitTestAlg4, EL::UnitTestAlg5, EL::UnitTestAlg7, GRLSelectorAlg, OverlapRemovalGenUseAlg, SUSYToolsAlg, Trig::TrigMatchTestAlg, ZdcLEDNtuple, and ZdcNtuple.
Public Types | |
typedef ServiceHandle< StoreGateSvc > & | MetaStorePtr_t |
Type of the metadata store pointer in standalone mode. More... | |
typedef const ServiceHandle< StoreGateSvc > & | ConstMetaStorePtr_t |
typedef ServiceHandle< StoreGateSvc > | MetaStore_t |
Type of the metadata store variable in Athena. More... | |
Public Member Functions | |
AnaAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | |
constructor with parameters More... | |
virtual | ~AnaAlgorithm () noexcept |
standard (virtual) destructor More... | |
::StatusCode | requestFileExecute () |
register this algorithm to have an implementation of fileexecute More... | |
::StatusCode | requestBeginInputFile () |
register this algorithm to have an implementation of beginInputFile More... | |
::StatusCode | requestEndInputFile () |
register this algorithm to have an implementation of endInputFile More... | |
void | handle (const Incident &inc) |
receive the given incident 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 |
Protected Member Functions | |
virtual ::StatusCode | initialize () |
initialize this algorithm More... | |
virtual ::StatusCode | execute () |
execute this algorithm More... | |
virtual ::StatusCode | finalize () |
finalize this algorithm More... | |
virtual void | print () const |
print the state of the algorithm More... | |
virtual ::StatusCode | fileExecute () |
perform the action exactly once for each file in the dataset More... | |
virtual ::StatusCode | beginInputFile () |
perform the action for the beginning of an input file More... | |
virtual ::StatusCode | endInputFile () |
perform the action for the end of an input file More... | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
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... | |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
typedef uint32_t | hash_t |
typedef for the internal hash More... | |
typedef std::map< const hash_t, TH1 * > | HistMap_t |
Typedef for convenience. More... | |
typedef std::map< const hash_t, TEfficiency * > | EffMap_t |
Typedef for convenience. More... | |
typedef std::map< const hash_t, TTree * > | TreeMap_t |
Typedef for convenience. More... | |
typedef std::map< const hash_t, TGraph * > | GraphMap_t |
Typedef for convenience. More... | |
Private Member Functions | |
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... | |
Private Attributes | |
MetaStore_t | m_inputMetaStore |
Object accessing the input metadata store. More... | |
MetaStore_t | m_outputMetaStore |
Object accessing the output metadata store. More... | |
bool | m_hasFileExecute {false} |
the value of hasFileExecute More... | |
bool | m_hasBeginInputFile {false} |
the value of hasBeginInputFile More... | |
bool | m_hasEndInputFile {false} |
the value of hasEndInputFile More... | |
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... | |
the (new) base class for EventLoop algorithms
This is meant as a replacement for the old EventLoop algorithms (EL::Algorithm) to address a number of problems:
setProperty()
mechanism that is used for other components.The old algorithm class was tied in closely with the rest of the EventLoop package, meaning every library implementing an algorithm had to depend on the EventLoop package.
EL::Algorithm
since it neither knows about incidents, nor has all the virtual methods that were available before. Definition at line 67 of file AnaAlgorithm.h.
Definition at line 111 of file AnaAlgorithm.h.
|
privateinherited |
Typedef for convenience.
Definition at line 205 of file AthHistogramming.h.
|
privateinherited |
Typedef for convenience.
Definition at line 219 of file AthHistogramming.h.
|
privateinherited |
typedef for the internal hash
Definition at line 169 of file AthHistogramming.h.
|
privateinherited |
Typedef for convenience.
Definition at line 198 of file AthHistogramming.h.
Type of the metadata store variable in Athena.
Definition at line 546 of file AnaAlgorithm.h.
Type of the metadata store pointer in standalone mode.
Definition at line 110 of file AnaAlgorithm.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
privateinherited |
Typedef for convenience.
Definition at line 212 of file AthHistogramming.h.
EL::AnaAlgorithm::AnaAlgorithm | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
constructor with parameters
This matches the Athena algorithm constructor (for dual-use purposes). Within EventLoop the pSvcLocator
will always be nullptr
(unless we ever have dual-use services).
Definition at line 39 of file AnaAlgorithm.cxx.
|
virtualnoexcept |
|
protected |
perform the action for the beginning of an input file
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestBeginInputFile to use this.
\warn If a file is split across multiple jobs this will be called more than once. This only happens for specific batch drivers and/or if it is explicitly configured by the user. With PROOF it could even happen multiple times within the same job, and while PROOF is no longer supported that behavior may come back if support for a similar framework is added in the future. As such, this method should not be used for accounting that relies to be called exactly once per file, take a look at fileExecute if you want something that is guaranteed to be executed exactly once per input file.
\warn The execution order of beginInputFile and fileExecute is currently unspecified.
Definition at line 350 of file AnaAlgorithm.cxx.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 335 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TGraphs.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 303 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TTrees.
Definition at line 403 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 356 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 346 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 324 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 314 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 281 of file AthHistogramming.h.
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TGraphs.
Definition at line 427 of file AthHistogramming.cxx.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 260 of file AthHistogramming.h.
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TTrees.
Definition at line 312 of file AthHistogramming.cxx.
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 146 of file AthHistogramming.cxx.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of TEfficiency.
Definition at line 293 of file AthHistogramming.h.
|
protectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 98 of file AthHistogramming.cxx.
|
inlineprotectedinherited |
Simplify the booking and registering (into THistSvc) of histograms.
Definition at line 272 of file AthHistogramming.h.
|
privateinherited |
|
protectedinherited |
To be called by the derived classes to fill the internal configuration.
Definition at line 66 of file AthHistogramming.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Declare a new Gaudi property.
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.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
protectedinherited |
Simplify the retrieval of registered TEfficiency.
Definition at line 250 of file AthHistogramming.cxx.
|
protected |
perform the action for the end of an input file
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestEndInputFile to use this.
\warn If a file is split across multiple jobs this will be called more than once. This only happens for specific batch drivers and/or if it is explicitly configured by the user. With PROOF it could even happen multiple times within the same job, and while PROOF is no longer supported that behavior may come back if support for a similar framework is added in the future. As such, this method should not be used for accounting that relies to be called exactly once per file, take a look at fileExecute if you want something that is guaranteed to be executed exactly once per input file.
\warn The execution order of endInputFile and fileExecute is currently unspecified.
Definition at line 358 of file AnaAlgorithm.cxx.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
protected |
execute this algorithm
This gets called once on every event and is where the bulk of the processing ought to be happening.
Definition at line 320 of file AnaAlgorithm.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
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.
|
protected |
perform the action exactly once for each file in the dataset
Ideally you don't use this, but instead rely on meta-data tools instead. However, there are enough people asking for it that I decided to implement it anyways.
\warn To use this you have to call requestFileExecute to use this.
\warn The user should not expect this to be called at any particular point in execution. If a file is split between multiple jobs this will be called in only one of these jobs, and not the others. It usually gets called before the first event in a file, but that is not guaranteed and relying on this is a bug.
\warn The execution order of beginInputFile and fileExecute is currently unspecified.
\warn fileExecute does not work with sub-file splitting in Athena, i.e. processing half the events of a file in one job the other half in another job. this should not normally happen, unless you do crazy things like run AthenaMP or explicitly select sub-file splitting in panda. in that case you are on your own.
Definition at line 342 of file AnaAlgorithm.cxx.
|
protected |
finalize this algorithm
This gets called after event processing has finished. The last event may no longer be in memory, and the code should not try to access it.
Definition at line 328 of file AnaAlgorithm.cxx.
|
protectedinherited |
Simplify the retrieval of registered TGraphs.
Definition at line 492 of file AthHistogramming.cxx.
void EL::AnaAlgorithm::handle | ( | const Incident & | inc | ) |
receive the given incident
Definition at line 520 of file AnaAlgorithm.cxx.
|
inlineprivateinherited |
Method to calculate a 32-bit hash from a string.
Definition at line 428 of file AthHistogramming.h.
|
protectedinherited |
Simplify the retrieval of registered histograms of any type.
Definition at line 198 of file AthHistogramming.cxx.
|
inlineprotectedinherited |
Simplify the retrieval of registered 2-d histograms.
Definition at line 369 of file AthHistogramming.h.
|
inlineprotectedinherited |
Simplify the retrieval of registered 3-d histograms.
Definition at line 386 of file AthHistogramming.h.
|
inlineinherited |
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.
|
protected |
initialize this algorithm
Note that unlike the original EventLoop algorithms, this gets called before any events are in memory (or at least it can be). As such you should not try to access the current event in here.
Definition at line 312 of file AnaAlgorithm.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
AnaAlgorithm::MetaStorePtr_t EL::AnaAlgorithm::inputMetaStore | ( | ) |
Definition at line 81 of file AnaAlgorithm.cxx.
AnaAlgorithm::ConstMetaStorePtr_t EL::AnaAlgorithm::inputMetaStore | ( | ) | const |
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
AnaAlgorithm::MetaStorePtr_t EL::AnaAlgorithm::outputMetaStore | ( | ) |
Definition at line 101 of file AnaAlgorithm.cxx.
AnaAlgorithm::ConstMetaStorePtr_t EL::AnaAlgorithm::outputMetaStore | ( | ) | const |
|
protectedvirtual |
print the state of the algorithm
This is mostly to allow algorithms to add a little debugging information if they feel like it.
Definition at line 336 of file AnaAlgorithm.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
StatusCode EL::AnaAlgorithm::requestBeginInputFile | ( | ) |
register this algorithm to have an implementation of beginInputFile
Definition at line 270 of file AnaAlgorithm.cxx.
StatusCode EL::AnaAlgorithm::requestEndInputFile | ( | ) |
register this algorithm to have an implementation of endInputFile
Definition at line 291 of file AnaAlgorithm.cxx.
StatusCode EL::AnaAlgorithm::requestFileExecute | ( | ) |
register this algorithm to have an implementation of fileexecute
Definition at line 249 of file AnaAlgorithm.cxx.
|
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.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
protectedinherited |
Simplify the retrieval of registered TTrees.
Definition at line 378 of file AthHistogramming.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
The map of histogram names to their pointers.
Definition at line 208 of file AthHistogramming.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
privateinherited |
The map of TGraph names to their pointers.
Definition at line 222 of file AthHistogramming.h.
|
private |
the value of hasBeginInputFile
Definition at line 590 of file AnaAlgorithm.h.
|
private |
the value of hasEndInputFile
Definition at line 594 of file AnaAlgorithm.h.
|
private |
the value of hasFileExecute
Definition at line 586 of file AnaAlgorithm.h.
|
privateinherited |
The map of histogram names to their pointers.
Definition at line 201 of file AthHistogramming.h.
|
privateinherited |
The postfix for the histogram THx name.
Definition at line 97 of file AthHistogramAlgorithm.h.
|
privateinherited |
The prefix for the histogram THx name.
Definition at line 94 of file AthHistogramAlgorithm.h.
|
privateinherited |
Default constructor: AthHistogramAlgorithm();.
a handle on the Hist/TTree registration service
Definition at line 83 of file AthHistogramAlgorithm.h.
|
privateinherited |
The postfix for the histogram THx title.
Definition at line 103 of file AthHistogramAlgorithm.h.
|
privateinherited |
The prefix for the histogram THx title.
Definition at line 100 of file AthHistogramAlgorithm.h.
|
private |
Object accessing the input metadata store.
Definition at line 551 of file AnaAlgorithm.h.
|
privateinherited |
Cached Message Stream.
Definition at line 248 of file AthHistogramming.h.
|
privateinherited |
Instance name.
Definition at line 245 of file AthHistogramming.h.
|
private |
Object accessing the output metadata store.
Definition at line 555 of file AnaAlgorithm.h.
|
privateinherited |
Name of the ROOT output stream (file)
Definition at line 88 of file AthHistogramAlgorithm.h.
|
privateinherited |
Name of the ROOT directory.
Definition at line 91 of file AthHistogramAlgorithm.h.
|
privateinherited |
Name of the ROOT output stream (file)
Definition at line 226 of file AthHistogramming.h.
|
privateinherited |
The map of TTree names to their pointers.
Definition at line 215 of file AthHistogramming.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.