Tree Maker Algorithm¶
-
class
TreeAlgo
¶ Inherits from xAH::Algorithm
Public Functions
-
TreeAlgo
()¶
-
EL::StatusCode
setupJob
(EL::Job &job)¶
-
EL::StatusCode
fileExecute
()¶
-
EL::StatusCode
histInitialize
()¶
-
EL::StatusCode
changeInput
(bool firstFile)¶
-
EL::StatusCode
initialize
()¶
-
EL::StatusCode
execute
()¶
-
EL::StatusCode
postExecute
()¶
-
EL::StatusCode
finalize
()¶
-
EL::StatusCode
histFinalize
()¶
-
HelpTreeBase *
createTree
(xAOD::TEvent *event, TTree *tree, TFile *file, const float units, bool debug, xAOD::TStore *store)¶
-
StatusCode
algInitialize
()¶ Run any initializations commmon to all xAH Algorithms (such as registerInstance). Call this inside
histInitialize
for best results.
-
StatusCode
algFinalize
()¶ Run any finalizations common to all xAH Algorithms (such as unregisterInstance). Call this inside
histFinalize
for best results.
-
StatusCode
parseSystValVector
()¶ Parse string of systematic sigma levels in m_systValVectorString into m_systValVector.
Public Members
-
bool
m_outHistDir
= false¶
-
std::string
m_evtDetailStr
= ""¶
-
std::string
m_trigDetailStr
= ""¶
-
std::string
m_trigJetDetailStr
= ""¶
-
std::string
m_muDetailStr
= ""¶
-
std::string
m_elDetailStr
= ""¶
-
std::string
m_jetDetailStr
= ""¶
-
std::string
m_truthJetDetailStr
= ""¶
-
std::string
m_fatJetDetailStr
= ""¶
-
std::string
m_truthFatJetDetailStr
= ""¶
-
std::string
m_tauDetailStr
= ""¶
-
std::string
m_METDetailStr
= ""¶
-
std::string
m_photonDetailStr
= ""¶
-
std::string
m_truthParticlesDetailStr
= ""¶
-
std::string
m_trackParticlesDetailStr
= ""¶
-
std::string
m_evtContainerName
= ""¶
-
std::string
m_muContainerName
= ""¶
-
std::string
m_elContainerName
= ""¶
-
std::string
m_jetContainerName
= ""¶
-
std::string
m_jetBranchName
= "jet"¶
-
std::string
m_truthJetContainerName
= ""¶
-
std::string
m_truthJetBranchName
= "truthJet"¶
-
std::string
m_trigJetContainerName
= ""¶
-
std::string
m_fatJetContainerName
= ""¶
-
std::string
m_truthFatJetContainerName
= ""¶
-
std::string
m_tauContainerName
= ""¶
-
std::string
m_METContainerName
= ""¶
-
std::string
m_photonContainerName
= ""¶
-
std::string
m_truthParticlesContainerName
= ""¶
-
std::string
m_trackParticlesContainerName
= ""¶
-
std::string
m_l1JetContainerName
= ""¶
-
std::string
m_muSystsVec
= ""¶
-
std::string
m_elSystsVec
= ""¶
-
std::string
m_jetSystsVec
= ""¶
-
std::string
m_photonSystsVec
= ""¶
-
std::string
m_fatJetSystsVec
= ""¶
-
std::string
m_metSystsVec
= ""¶
-
float
m_units
= 1e3¶ unit conversion from MeV, default is GeV
-
std::string
m_name
= "UnnamedAlgorithm"¶ All algorithms initialized should have a unique name, to differentiate them at the TObject level.
Note,
GetName()
returns achar*
while this returns astd::string
.
-
bool
m_debug
= false¶ m_debug is being deprecated
-
bool
m_verbose
= false¶ m_verbose is being deprecated
-
MSG::Level
m_msgLevel
= MSG::INFO¶ debug level
-
std::string
m_systName
= ""¶ If running systematics, the name of the systematic
-
float
m_systVal
= 0.0¶ If running systematics, the value to set the systematic to
Note
This will set the systematic to the value \(\pm x\).
-
std::string
m_systValVectorString
= ""¶ If running systematics, you can run multiple points and store them in here. A comma separated list of working points should be given to m_systValVectorString, and then parsed by calling parseSystValVector.
-
std::vector<float>
m_systValVector
¶
-
std::string
m_eventInfoContainerName
= "EventInfo"¶ If the xAOD has a different EventInfo container name, set it here
-
int
m_isMC
= -1¶ This is an override at the algorithm level to force analyzing MC or not.
Value Meaning -1 Default, use eventInfo object to determine if data or mc 0 Treat the input as data 1 Treat the input as MC
Protected Functions
-
bool
isMC
()¶ - Try to determine if we are running over data or MC. The
xAH::Algorithm::m_isMC
can be usedto fix the return value. Otherwise the EventInfo object is queried.
An exception is thrown if the type cannot be determined.
Return Value Meaning 0 Data 1 MC
-
void
registerInstance
()¶ Register the given instance under the moniker
xAH::Algorithm::m_className
This will increase the reference count by 1.
-
int
numInstances
()¶ Return number of instances registered under the moniker
xAH::Algorithm::m_className
This will return the reference count.
Warning
If for some reason the instance wasn’t registered, we spit out a warning.
-
void
unregisterInstance
()¶ Unregister the given instance under the moniker
xAH::Algorithm::m_className
This will decrease the reference count by 1.
Warning
If for some reason the instance wasn’t registered, we spit out a warning.
- template <typename T>
-
StatusCode
checkToolStore
(const std::string &tool_name)¶ - Check whether the input CP tool already exists with this name in the asg::ToolStore
Depending on the outcome, the content of the map
xAH::Algorithm::m_toolAlreadyUsed
wll be set accordingly.
-
bool
isToolAlreadyUsed
(const std::string &tool_name)¶ Check whether the input CP tool has been already used by any
xAH::Algorithm
in the current job by scanningxAH::Algorithm::m_toolAlreadyUsed
.
- template <typename T>
-
void
setToolName
(asg::AnaToolHandle<T> &handle, std::string name = "") const¶ Note: This function does nothing in release 21.1! The native private tool mechanism is used instead.
Sets the name of a tool. If no name is needed, the tool will use the name of the algorithm plus a unique identifier (
xAH::Algorithm::getAddress()
) appended to ensure the tool is unique and effectively private.The tool will not be guaranteed unique if two tools of the same type are created without a name passed in. But this is, at this point, up to the user and a more complex scenario than what this function tries to simplify on its own.
-
std::string
getAddress
() const¶ Return a
std::string
representation ofthis
Protected Attributes
-
std::vector<std::string>
m_jetDetails
¶
-
std::vector<std::string>
m_jetContainers
¶
-
std::vector<std::string>
m_truthJetContainers
¶
-
std::vector<std::string>
m_jetBranches
¶
-
std::vector<std::string>
m_truthJetBranches
¶
-
std::map<std::string, HelpTreeBase *>
m_trees
¶
-
std::string
m_className
= "Algorithm"¶ The moniker by which all instances are tracked in
xAH::Algorithm::m_instanceRegistry
-
xAOD::TEvent *
m_event
= nullptr¶ The TEvent object
-
xAOD::TStore *
m_store
= nullptr¶ The TStore object
-