Common Analysis Framework » QFRAMEWORK » TQMultiObservable

class TQMultiObservable: public TQObservable


 TQMultiObservable

 The TQMultiObservable is a sort of meta-observable that will act
 upon other observables and combine their respective
 output. Creation of such an observable can be triggered by
 prepending 'Multi:' to any expression, or by using brackets [...]
 in such a way that they enclose an unquoted string. Each segment
 enclosed in such brackets will be interpreted as the name of some
 other observable, which will be evaluated and inserted in this
 expression at runtime. Please note that TQMultiObservable does not
 provide any direct data access, which means that you shall not use
 any branch names in this expression directly, but only other
 observable names.


Function Members (Methods)

public:
virtual~TQMultiObservable()
voidTObject::AbstractMethod(const char* method) const
static boolTQObservable::addObservable(TQObservable* obs)
static boolTQObservable::addObservable(TQObservable* obs, const TString& name)
static voidTQObservable::allowErrorMessages(bool val)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
ULong_tTObject::CheckedHash()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
static voidTQObservable::clearAll()
voidclearParsedExpression()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
static TStringTQObservable::compileExpression(const TString& input, TQTaggable* tags, bool replaceBools = true)
virtual voidTNamed::Copy(TObject& named) 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 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)
virtual voidTObject::Fatal(const char* method, const char* msgfmt,...) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual boolTQObservable::finalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TStringgetActiveExpression() const
virtual TObjArray*getBranchNames() const
virtual TQObservable*TQObservable::getClone() const
virtual TStringTQObservable::getCompiledExpression(TQTaggable* tags) const
virtual Long64_tgetCurrentEntry() const
virtual Option_t*TObject::GetDrawOption() const
static Longptr_tTObject::GetDtorOnly()
virtual const TString&getExpression() const
static const TQObservable::FactoryBase*getFactory()
virtual const char*TObject::GetIconName() const
static TQObservable::Manager&TQObservable::getManager()
TStringTQObservable::getName() const
virtual const char*TNamed::GetName() const
const TString&TQObservable::getNameConst() const
virtual intgetNevaluations() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
TQObservable*getObservable(int idx)
virtual TQObservable::ObservableTypegetObservableType() const
virtual Option_t*TObject::GetOption() const
TStringgetParsedExpression()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual doublegetValue() const
virtual doublegetValueAt(int index) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual boolhasExpression() const
virtual boolhasFactory() const
virtual ULong_tTNamed::Hash() const
Bool_tTObject::HasInconsistentHash() const
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 boolTQObservable::initialize(TQSample* sample)
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
boolTQObservable::isInitialized() const
Bool_tTObject::IsOnHeap() const
virtual boolTQObservable::isPrefixRequired() const
virtual boolTQObservable::isSetup() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
static TStringTQObservable::makeObservableName(const TString& name)
static boolTQObservable::matchExpressions(const TString& ex1, const TString& ex2, bool requirePrefix = false)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
TQMultiObservable&operator=(const TQMultiObservable&)
virtual voidTObject::Paint(Option_t* option = "")
boolparseExpression(const TString& expr)
virtual voidTObject::Pop()
virtual voidTQObservable::print() const
virtual voidTNamed::Print(Option_t* option = "") const
static voidTQObservable::printObservables(const TString& filter = "*")
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static TStringTQObservable::replaceBools(TString expression)
voidTObject::ResetBit(UInt_t f)
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)
virtual voidsetExpression(const TString& expr)
voidTQObservable::setName(const TString& name)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
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
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
TQMultiObservable()
TQMultiObservable(const TString& expression)
TQMultiObservable(const TQMultiObservable&)
static TQObservable*tryCreateInstance(TString expression)
virtual TQObservable*tryCreateInstanceVirtual(const TString& expr) const
static TStringTQObservable::unreplaceBools(TString expression)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual boolfinalizeSelf()
virtual boolinitializeSelf()
voidTObject::MakeZombie()
private:
virtual Bool_tCheckTObjectHashConsistency() const

Data Members

public:
static TQObservable::Factory<TQMultiObservable>Factory
static boolgEvaluateSubObservablesLazily
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
static TQObservable::ManagerTQObservable::manager
static TQObservable::ObservableTypeTQObservable::scalar
static TQObservable::ObservableTypeTQObservable::unknown
static TQObservable::ObservableTypeTQObservable::vector
protected:
TStringfActiveExpression
Long64_tfCachedEntry!
vector<double>fCachedValue!
TStringfExpression
TFormula*fFormula!
boolTQObservable::fIsInitialized
boolTQObservable::fIsManaged
TStringTNamed::fNameobject identifier
TQObservable::ObservableTypefObservableType
vector<TQObservable*>fObservables
TStringfParsedExpression
TQSample*TQObservable::fSample!
TStringTNamed::fTitleobject title
static boolTQObservable::gAllowErrorMessages
static TObject::(anonymous)TObject::kOnlyPrepStep

Class Charts

Inheritance Chart:
TObject
TNamed
TQObservable
TQMultiObservable

Function documentation

TQMultiObservable()
 default constructor
~TQMultiObservable()
 default destructor
int getNevaluations() const
 returns the number of valid evaluations of this observable for the current event
 returns -1 if a problem is found. It is left to the calling code to decide if an error should be thrown
double getValueAt(int index) const
 retrieve the value of this observable
double getValue() const
forward to the implementation capable of handling multiple values.
bool initializeSelf()
 initialize this observable
bool finalizeSelf()
 initialize this observable
Long64_t getCurrentEntry() const
 retrieve the current entry from the tree
TObjArray* getBranchNames() const
 retrieve the list of branch names for this observable
 ownership of the list belongs to the caller of the function
TQMultiObservable(const TString& expression)
 constructor with expression argument
const TString& getExpression() const
 retrieve the expression associated with this observable
bool hasExpression() const
 check if this observable type knows expressions
void setExpression(const TString& expr)
 set the expression to a given string
bool parseExpression(const TString& expr)
 parse the expression
void clearParsedExpression()
 clear the current expression
TString getParsedExpression()
 clear the current expression
TString getActiveExpression() const
 retrieve the expression associated with this incarnation
TQObservable* getObservable(int idx)
 return the sub-observable with the given index
TQObservable::ObservableType getObservableType() const
{return this->fObservableType;}
TQMultiObservable()