Common Analysis Framework » QFRAMEWORK » TQAlgorithm

class TQAlgorithm: public TQNamedTaggable


 TQAlgorithm

 The TQAlgorithm class is a hook in order to precompute arbitrary
 event-based quantities and cache their values. The entire list of
 algorithms is executed on every event.

 every algorithm should implement the initialize, finalize and execute and cleanup methods.
 initialize will be called at the beginning of every sample and will take the sample as an argument
 finalize, execute and cleanup will not receive arguments and are called
 at the end of each sample (finalize), before each event (execute) and after each
 event (cleanup).
 All four functions should return true in case of success, false in case of failure
 failure of any algorithm will cause the event loop to halt,
 additional error handling may be done by raising exceptions.

 All input/output managing is entirely up to the user and may be
 done via filling the TStore, creating decorations to objects in
 the TEvent or any other available operation.

 Please note that for use of TQAlgorithms with the TQMultiChannelAnalysisSampleVisitor
 must be streamable, i.e., correctly work with the TObject::Clone() method. This implies
 that all transient members (typically marked with the '//!' suffix in the header file)
 must be set in the 'TQAlgorithm::initialize(TQSample* s)' method! This also applies to
 TQAlgorithms which are supposedly singletons (i.e. returning 'true' in TQAlgorithm::isSingleton())
 for which 'TQAlgorithm::initializeSingleton(const std::vector<TQSample*>& samples)' should
 take the place of 'initialize(TQSample* s)'.
 If an implementation of an algorithm is marked as a singleton but should still be useable
 with SCASV as well as MCASV (or similar classes) BOTH initialization methods must be
 overridden!


Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TQAlgorithm()
voidTObject::AbstractMethod(const char* method) const
boolTQTaggable::allTagsOfTypeBool()
boolTQTaggable::allTagsOfTypeDouble()
boolTQTaggable::allTagsOfTypeInteger()
boolTQTaggable::allTagsOfTypeString()
boolTQTaggable::allTagsValidBools()
boolTQTaggable::allTagsValidDoubles()
boolTQTaggable::allTagsValidIntegers()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
boolTQTaggable::canSetThisTag(const TString& key, bool& treatAsList)
ULong_tTObject::CheckedHash()
intTQTaggable::claimTags(const TString& definition, bool printErrMsg = false)
intTQTaggable::claimTags(const TString& definition, TString& message)
intTQTaggable::claimTags(const TString& definition, TString& missing, TString& invalid, TString& unexpected)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual boolcleanup()
voidTQTaggable::clear()
virtual voidTNamed::Clear(Option_t* option = "")
intTQTaggable::clearTags()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
intTQTaggable::countMatchingTags(const TString& name) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt,...) const
virtual boolexecute()
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
boolTQTaggable::exportConfigFile(bool writeUnreadKeys = true)
boolTQTaggable::exportConfigFile(const TString& filename, bool writeUnreadKeys = true)
boolTQTaggable::exportConfigFile(const TString& filename, const TString& prefix, bool writeUnreadKeys = true)
intTQTaggable::exportTags(TQTaggable* dest, const TString& subDest = "", const TString& filter = "", bool recursive = false)
TStringTQTaggable::exportTagsAsConfigString(const TString& prefix, const TString& filter = "")
stringTQTaggable::exportTagsAsStandardConfigString(const TString& prefix, const TString& filter = "")
stringTQTaggable::exportTagsAsStandardString(const TString& filter = "", bool xmlStyle = false)
TStringTQTaggable::exportTagsAsString(const TString& filter = "", bool xmlStyle = false)
virtual voidTObject::Fatal(const char* method, const char* msgfmt,...) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual boolfinalize()
virtual boolfinalizeSampleFolder(TQSampleFolder* sf)
virtual boolfinalizeSampleFolderSingleton(const vector<TQSampleFolder*>& samples)
virtual boolfinalizeSingleton()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TQTaggable*TQTaggable::getBaseTaggable() const
virtual TQAlgorithm*getClone() const
virtual TList*TQTaggable::getDescendantTaggables()
virtual Option_t*TObject::GetDrawOption() const
static Longptr_tTObject::GetDtorOnly()
virtual TStringTQTaggable::getFlags()
intTQTaggable::getFlagsSize()
boolTQTaggable::getGlobalIgnoreCase() const
boolTQTaggable::getGlobalOverwrite() const
static shared_ptr<TQTaggable>TQTaggable::getGlobalTaggable(const char* name)
static shared_ptr<TQTaggable>TQTaggable::getGlobalTaggable(const TString& name)
virtual const char*TObject::GetIconName() const
virtual TObjArray*getListOfBranches()
TList*TQTaggable::getListOfKeys(const TString& filter = "")
virtual TList*TQTaggable::getListOfTaggables(const TString& name)
TList*TQTaggable::getListOfTagNames()
virtual TList*TQTaggable::getListOfUnreadKeys(const TString& filter = "")
virtual TStringTQNamedTaggable::getName() const
virtual const char*TNamed::GetName() const
virtual const TString&TQNamedTaggable::getNameConst() const
intTQTaggable::getNTags() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
boolTQTaggable::getTag(const TString& key, double& value)
boolTQTaggable::getTag(const TString& key, int& value)
boolTQTaggable::getTag(const TString& key, bool& value)
boolTQTaggable::getTag(const TString& key, TString& value)
intTQTaggable::getTag(const TString& key, vector<TString>& vec)
intTQTaggable::getTag(const TString& key, vector<int>& vec)
intTQTaggable::getTag(const TString& key, vector<double>& vec)
intTQTaggable::getTag(const TString& key, vector<bool>& vec)
intTQTaggable::getTag(const TString& key, TList* l)
boolTQTaggable::getTag(const TString& key, double& value, bool recursive)
boolTQTaggable::getTag(const TString& key, int& value, bool recursive)
boolTQTaggable::getTag(const TString& key, bool& value, bool recursive)
boolTQTaggable::getTag(const TString& key, TString& value, bool recursive)
boolTQTaggable::getTagAsString(const TString& key, TString& tag)
boolTQTaggable::getTagBool(const TString& key, bool& value)
boolTQTaggable::getTagBool(const TString& key, bool& value, bool recursive)
boolTQTaggable::getTagBoolDefault(const TString& key, bool defaultVal = false)
doubleTQTaggable::getTagDefault(const TString& key, double defaultVal)
intTQTaggable::getTagDefault(const TString& key, int defaultVal)
boolTQTaggable::getTagDefault(const TString& key, bool defaultVal)
TStringTQTaggable::getTagDefault(const TString& key, const TString& defaultVal)
TStringTQTaggable::getTagDefault(const TString& key, const char* defaultVal)
boolTQTaggable::getTagDouble(const TString& key, double& value)
boolTQTaggable::getTagDouble(const TString& key, double& value, bool recursive)
doubleTQTaggable::getTagDoubleDefault(const TString& key, double defaultVal = 0.)
virtual TList*TQTaggable::getTaggablesByName(const TString& name)
boolTQTaggable::getTagInteger(const TString& key, int& value)
boolTQTaggable::getTagInteger(const TString& key, int& value, bool recursive)
intTQTaggable::getTagIntegerDefault(const TString& key, int defaultVal = 0)
TList*TQTaggable::getTagList(const TString& key)
intTQTaggable::getTagListLength(const TString& key)
intTQTaggable::getTagsSize()
stringTQTaggable::getTagStandardStringDefault(const TString& key, const TString& defaultVal = "")
boolTQTaggable::getTagString(const TString& key, TString& value)
boolTQTaggable::getTagString(const TString& key, TString& value, bool recursive)
TStringTQTaggable::getTagStringDefault(const TString& key, const TString& defaultVal = "")
vector<bool>TQTaggable::getTagVBool(const TString& key)
vector<double>TQTaggable::getTagVDouble(const TString& key)
vector<int>TQTaggable::getTagVInt(const TString& key)
vector<int>TQTaggable::getTagVInteger(const TString& key)
vector<string>TQTaggable::getTagVStandardString(const TString& key)
vector<TString>TQTaggable::getTagVString(const TString& key)
virtual TStringTQNamedTaggable::getTitle()
virtual const char*TNamed::GetTitle() const
virtual const TString&TQNamedTaggable::getTitleConst() const
boolTQTaggable::getTypeOfTagAsString(const TString& key, TString& type)
virtual UInt_tTObject::GetUniqueID() const
static const TString&TQTaggable::getValidKeyCharacters()
boolTQTaggable::getValueOfTagAsString(const TString& key, TString& value)
TStringTQTaggable::getValuesOfTags(const TString& keys, const TString& sep = ", ")
virtual Bool_tTObject::HandleTimer(TTimer* timer)
boolTQTaggable::hasEquivalentTag(const TQValue* reference, bool recurseUp = true)
boolTQTaggable::hasEquivalentTag(const TQValue& reference, bool recurseUp = true)
boolTQTaggable::hasEquivalentTag(const TString& key, const TString& value)
boolTQTaggable::hasEquivalentTag(const TString& key, const double value)
boolTQTaggable::hasEquivalentTag(const TString& key, const int value)
boolTQTaggable::hasEquivalentTag(const TString& key, const bool value)
static boolTQTaggable::hasGlobalTaggable(const char* name)
static boolTQTaggable::hasGlobalTaggable(const TString& name)
virtual ULong_tTNamed::Hash() const
Bool_tTObject::HasInconsistentHash() const
boolTQTaggable::hasMatchingTag(const TString& name) const
boolTQTaggable::hasTag(const TString& key)
boolTQTaggable::hasTagBool(const TString& key)
boolTQTaggable::hasTagDouble(const TString& key)
boolTQTaggable::hasTagInteger(const TString& key)
boolTQTaggable::hasTagString(const TString& key)
boolTQTaggable::hasTagWithIndex(const TString& key)
boolTQTaggable::hasTagWithoutIndex(const TString& key)
virtual boolTQTaggable::hasUnreadKeys(const TString& filter = "")
intTQTaggable::importTag(TString tag, bool overwrite = true, bool keepStringQuotes = false)
intTQTaggable::importTags(TString tags, bool overwrite = true, bool keepStringQuotes = false)
intTQTaggable::importTags(const TQTaggable* tags, bool overwrite = true, bool recursive = false)
intTQTaggable::importTags(shared_ptr<TQTaggable> tags, bool overwrite = true, bool recursive = false)
intTQTaggable::importTags(const TQTaggable& tags, bool overwrite = true, bool recursive = false)
intTQTaggable::importTagsWithoutPrefix(const TQTaggable* tags, const TString& prefix, bool overwrite = true, bool recursive = false)
intTQTaggable::importTagsWithoutPrefix(const TQTaggable& tags, const TString& prefix, bool overwrite = true, bool recursive = false)
intTQTaggable::importTagsWithPrefix(TString tags, const TString& prefix, bool overwrite = true, bool keepStringQuotes = false, TString fallbackKey = "")
intTQTaggable::importTagsWithPrefix(const TQTaggable* tags, const TString& prefix, bool overwrite = true, bool recursive = false, TString fallbackKey = "")
intTQTaggable::importTagsWithPrefix(const TQTaggable& tags, const TString& prefix, bool overwrite = true, bool recursive = false, TString fallbackKey = "")
intTQTaggable::importTagWithPrefix(const TString& tag, const TString& prefix, bool overwrite = true, TString fallbackKey = "", bool keepStringQuotes = false)
virtual voidTObject::Info(const char* method, const char* msgfmt,...) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual boolinitialize(TQSample* s)
virtual boolinitializeSampleFolder(TQSampleFolder* s)
virtual boolinitializeSampleFolderSingleton(const vector<TQSampleFolder*>& samples)
virtual boolinitializeSingleton(const vector<TQSample*>& samples)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTObject::IsDestructed() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual boolisSingleton() const
virtual Bool_tTNamed::IsSortable() const
boolTQTaggable::isTagOverwrittenByDescendants(TString key)
static boolTQTaggable::isValidKey(const TString& key)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
static TList*TQTaggable::makeListOfTags(TList* unTags)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual voidTQTaggable::onAccess(TQValue* tag)
virtual voidTQTaggable::onRead(TQValue* tag)
virtual voidTQTaggable::onWrite(TQValue* tag)
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TQAlgorithm&operator=(const TQAlgorithm&)
TQAlgorithm&operator=(TQAlgorithm&&)
virtual voidTObject::Paint(Option_t* option = "")
static TQTaggable*TQTaggable::parseFlags(const TString& flags)
boolTQTaggable::parseKey(TString key, TString& bareKey, int& opUp, int& opDown)
static TQTaggable*TQTaggable::parseParameterList(const TString& parameter, const TString& sep = ",", bool trim = true, const TString& blocks = "", const TString& quotes = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
intTQTaggable::printClaim(const TString& definition)
boolTQTaggable::printDiffOfTags(TQTaggable* tags, const TString& options = "")
boolTQTaggable::printDiffOfTags(TQTaggable* tags, TQTaggable& options)
voidTQTaggable::printTags(TString options = "r")
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static boolTQTaggable::removeGlobalTaggable(const char* name)
static boolTQTaggable::removeGlobalTaggable(const TString& name)
intTQTaggable::removeTag(const TString& key)
intTQTaggable::removeTags(const TString& key)
boolTQTaggable::renameTag(const TString& oldKey, const TString& newKey)
intTQTaggable::renameTags(const TString& oldPrefix, const TString& newPrefix)
stringTQTaggable::replaceInStandardString(const TString& in, bool keepQuotes = false)
stringTQTaggable::replaceInStandardString(const TString& in, const char* prefix, bool keepQuotes = false)
stringTQTaggable::replaceInStandardString(const TString& in, const TString& prefix, bool keepQuotes = false)
stringTQTaggable::replaceInStandardStringRecursive(TString in, const TString& prefix = "", bool keepQuotes = false)
intTQTaggable::replaceInTags(TQTaggable& params, const TString& tagFilter = "*")
TStringTQTaggable::replaceInText(const TString& in, bool keepQuotes = false)
TStringTQTaggable::replaceInText(const TString& in, const char* prefix, bool keepQuotes = false)
TStringTQTaggable::replaceInText(const TString& in, const TString& prefix, bool keepQuotes = false)
TStringTQTaggable::replaceInText(const TString& in, int& nReplaced, int& nFailed, bool keepQuotes = false)
TStringTQTaggable::replaceInText(TString in, int& nReplaced, int& nFailed, const TString& prefix, bool keepQuotes = false)
TStringTQTaggable::replaceInTextRecursive(TString in, const TString& prefix = "", bool keepQuotes = false)
voidTObject::ResetBit(UInt_t f)
virtual voidTQTaggable::resetReadFlags()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTQTaggable::setGlobalIgnoreCase(bool globalIgnoreCase = true)
voidTQTaggable::setGlobalOverwrite(bool globalOverwrite = true)
virtual voidTQNamedTaggable::setName(const TString& newName)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
intTQTaggable::setTag(const TString& key, double value, const TString& destination = "")
intTQTaggable::setTag(const TString& key, int value, const TString& destination = "")
intTQTaggable::setTag(const TString& key, bool value, const TString& destination = "")
intTQTaggable::setTag(const TString& key, const TString& value, const TString& destination = "")
intTQTaggable::setTag(const TString& key, const char* value, const TString& destination = "")
intTQTaggable::setTag(const char* key, double value, const TString& destination = "")
intTQTaggable::setTag(const char* key, int value, const TString& destination = "")
intTQTaggable::setTag(const char* key, bool value, const TString& destination = "")
intTQTaggable::setTag(const char* key, const TString& value, const TString& destination = "")
intTQTaggable::setTag(const char* key, const char* value, const TString& destination = "")
intTQTaggable::setTagAuto(const TString& key, TString value, const TString& destination = "")
intTQTaggable::setTagBool(TString key, bool value, const TString& destination = "")
intTQTaggable::setTagDouble(TString key, double value, const TString& destination = "")
intTQTaggable::setTagInteger(TString key, int value, const TString& destination = "")
intTQTaggable::setTagList(const TString& key, TString value, const TString& destination = "")
intTQTaggable::setTagString(TString key, const TString& value, const TString& destination = "")
virtual voidTQNamedTaggable::setTitle(const TString& newTitle)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt,...) const
boolTQTaggable::tagIsOfTypeBool(const TString& key)
boolTQTaggable::tagIsOfTypeDouble(const TString& key)
boolTQTaggable::tagIsOfTypeInteger(const TString& key)
boolTQTaggable::tagIsOfTypeString(const TString& key)
boolTQTaggable::tagsAreEquivalentTo(TQTaggable* tags, const TString& filter = "")
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
TQAlgorithm()
TQAlgorithm(const TQAlgorithm&)
TQAlgorithm(TQAlgorithm&&)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt,...) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
intTQTaggable::countTagDown(const TString& key)
intTQTaggable::countTagUp(const TString& key)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TQValue*TQTaggable::findTag(TString name)
TList*TQTaggable::getListOfTags()
boolTQTaggable::getOp(const TString& op, int& opCode)
boolTQTaggable::getTag(const TString& key, TQValue*& tag)
voidTObject::MakeZombie()
intTQTaggable::setTag(TQValue* tag, const TString& destination = "")
intTQTaggable::setTag(TQValue* tag, const TString& destination, bool overwrite)
private:
virtual Bool_tCheckTObjectHashConsistency() const

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::(anonymous)TObject::kInconsistent
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EDeprecatedStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie

Class Charts

Inheritance Chart:
TObject
TNamed
TQTaggable
TQNamedTaggable
TQAlgorithm
TQAnalysisAlgorithm

Function documentation

TQAlgorithm* getClone() const
 retrieve a clone of this algorithm
bool isSingleton() const
 return true if this algorithm is a singleton, false otherwise
bool finalizeSingleton()
 default implementation: call "old-style" finalize() method
bool finalizeSampleFolderSingleton(const vector<TQSampleFolder*>& samples)
 default implementation: do nothing
bool initializeSingleton(const vector<TQSample*>& samples)
 default implementations simply report an error, it is the responsibility of the author of the derived class to implement at least one of these
bool initialize(TQSample* s)
 default implementations simply report an error, it is the responsibility of the author of the derived class to implement at least one of these
bool initializeSampleFolderSingleton(const vector<TQSampleFolder*>& samples)
 default implementation: do nothing
bool initializeSampleFolder(TQSampleFolder* s)
 default implementation: do nothing
bool finalizeSampleFolder(TQSampleFolder* sf)
 default implementation: do nothing
bool finalize()
bool execute()
bool cleanup()
TObjArray * getListOfBranches()
{ return nullptr;}