\class AliCounterCollection generic class to handle a collection of counters \author Philippe Pillot
AliCounterCollection(const char* name = "counters") | |
virtual | ~AliCounterCollection() |
void | TObject::AbstractMethod(const char* method) const |
void | Add(const AliCounterCollection* counter) |
void | AddRubric(TString name, TString listOfKeyWords) |
void | AddRubric(TString name, Int_t maxNKeyWords) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | Clear(Option_t* = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
void | Count(TString externalKey, Int_t value = 1) |
void | Count(TString externalKey, Double_t value) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | Draw(Option_t* opt = "") |
TH1D* | Draw(TString rubric1, TString selections) |
TH2D* | Draw(TString rubric1, TString rubric2, TString selections) |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
TH1D* | Get(TString rubric1, TString selections) |
TH2D* | Get(TString rubric1, TString rubric2, TString selections) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
TString | GetKeyWords(TString rubric) const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Double_t | GetSum(TString selections = "", Bool_t* longCounters = 0x0) |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
void | Init(Bool_t weightedCounters = kFALSE) |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
Long64_t | Merge(TCollection* list) |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Option_t* opt = "") const |
void | Print(TString rubrics, TString selections, Bool_t removeEmpty = kFALSE) |
void | PrintKeyWords() const |
void | PrintSum(TString selections = "") |
void | PrintValue(TString selections) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
void | Sort(Option_t* opt = "", Bool_t asInt = kFALSE) |
void | SortRubric(TString rubric, Bool_t asInt = kFALSE) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
AliCounterCollection(const AliCounterCollection& rhs) | |
Int_t* | CheckConsistency(const AliCounterCollection* c) |
void | CleanListOfStrings(TObjArray* list) |
Bool_t | ContainsAny(Int_t dim) |
void | ConvertToTHnSparseL(THnSparse*& h) |
void | CountAsDouble(TString externalKey, Double_t value) |
Short_t** | DecodeSelection(const TString& selections, const TObjArray& displayedRubrics) |
Int_t | FindBin(Int_t dim, const TString& keyWord, Bool_t allocate) |
const Int_t* | FindBins(const TString& externalKey, Bool_t allocate, Int_t& nEmptySlots) |
Int_t | FindDim(const TString& rubricName) const |
Int_t | GetMaxLabelSize(THashList* labels) const |
Int_t | GetNActiveBins(Int_t dim) |
AliCounterCollection& | operator=(const AliCounterCollection& rhs) |
void | PrintArray(const TH2D* hist, Bool_t removeEmpty, Bool_t longCounters) const |
void | PrintList(const TH1D* hist, Bool_t removeEmpty, Bool_t longCounters) const |
void | PrintListOfArrays(const THnSparse* hist, Bool_t removeEmpty, Bool_t longCounters) const |
TObject* | Projection(const TObjArray& data, const TString& selections, Bool_t& longCounters) |
Bool_t | Select(Bool_t include, const TString& rubric, const TString& keywords, Bool_t displayed, Short_t** selectBins) |
void | Sort(const Bool_t* rubricsToSort, Bool_t asInt) |
THashList* | SortAsInt(const THashList* labels) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
THnSparse* | fCounters | /< histogram of nRubrics dimensions used as n-dimensional counter |
Bool_t | fLongCounters | /< use THnSparseL instead of THnSparseI |
THashList* | fRubrics | /< list of rubrics with associated key words |
TArrayI* | fRubricsSize | /< maximum number of key words in the corresponding rubric |
Bool_t | fWeightedCounters | /< use THnSparseF instead of THnSparseI |
Inheritance Chart: | ||||||||
|
Add a new rubric with the complete list of related key words separated by "/". If the key word "any" is not defined, the overall statistics is assumed to be the sum of the statistics under each key word.
Add a new rubric containing at maximum maxNKeyWords key words. Key words will be added as the counters get filled until the maximum is reached. If the key word "any" is never defined, the overall statistics is assumed to be the sum of the statistics under each key word.
Initialize the internal counters from the added rubrics.
Return the corresponding bins ordered by rubric or 0x0 if externalKey is not valid. The externalKey format must be rubric:keyWord/rubric:keyWord/rubric:keyWord/... If allocate = kTRUE, new key words are added to the corresponding rubric if possible. If a rubric is not filled in, the coresponding slot contain -1 in the array. It is the responsability of the user to delete the returned array.
Return the dimension corresponding to that rubric (or -1 in case of failure).
Return the bin number corresponding to that key word (or -1 in case of failure). If allocate = kTRUE, try to add the key word if possible.
Tag the selected keywords in each rubric (-1=subtract; 0=discard; 1=add). Format:
"rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.." (order does not matter).
It is the responsability of the user to delete the returned array.
Tag the selected keywords (separated by ',') in that rubric (-1=subtract; 0=discard; 1=add).
Add "value" to the counter referenced by "externalKey". The externalKey format must be rubric:keyWord/rubric:keyWord/rubric:keyWord/...
Add "value" to the counter referenced by "externalKey". The externalKey format must be rubric:keyWord/rubric:keyWord/rubric:keyWord/...
Add "value" to the counter referenced by "externalKey". The externalKey format must be rubric:keyWord/rubric:keyWord/rubric:keyWord/...
Print every individual counters if opt=="" or call "Print(opt, "")".
Get the overall statistics for the given selection (result is integrated over not specified rubrics): - format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). - The flag "longCounters" tells whether the histogram contains value(s) larger than INT_MAX.
Print value of selected counter. format of "selections" is rubric:keyWord/rubric:keyWord/rubric:keyWord/...
Print desired rubrics for the given selection: - format of "rubrics" is rubric1/rubric2/.. (order matters only for output). - format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). If "data" contains 1 rubric, the output will be one counter for each element of that rubric. If "data" contains 2 rubrics, the output will be an array of counters, rubric1 vs rubric2. If "data" contains 3 rubrics, the output will be an array rubric1 vs rubric2 for each element in rubric3. ... Results are integrated over rubrics not specified neither in "rubrics" nor in "selections".
Print the overall statistics for the given selection (result is integrated over not specified rubrics): - format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter).
Print the content of 1D histogram as a list.
Print the content of 2D histogram as an array.
Print the content of nD histogram as a list of arrays.
Return the number of characters of the longest label.
Get counters of the rubric "rubric" for the given "selection". Format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). Results are integrated over rubrics not specified neither in "rubric1" nor in "selections". It is the responsability of the user to delete the returned histogram.
Get counters of the "rubric1" vs "rubric2" for the given "selection". Format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). Results are integrated over rubrics not specified neither in "rubric1", "rubric2" nor in "selections". It is the responsability of the user to delete the returned histogram.
Draw counters of the rubric "rubric" for the given "selection". Format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). Results are integrated over rubrics not specified neither in "rubric1" nor in "selections". It is the responsability of the user to delete the returned histogram.
Draw counters of the "rubric1" vs "rubric2" for the given "selection". Format of "selections" is rubric:[any-]keyWord,keyWord,../rubric:[any-]keyWord,.. (order does not matter). Results are integrated over rubrics not specified neither in "rubric1", "rubric2" nor in "selections". It is the responsability of the user to delete the returned histogram.
Return desired "data" for the given "selection" stored in a new histogram or 0x0 in case of failure. The type of the histogram (TH1D, TH2D or THnSparse) depend on the number of data. The flag "longCounters" tells whether the histogram contains value(s) larger than INT_MAX. It is the responsability of the user to delete the returned histogram.
Consistency check of the two counter collections. To be consistent, both counters must have the same rubrics with the same list of authorized key words if any. Return the correspondence between the local rubric ordering and the one of the other counter, or 0x0 in case of problem. It is the responsability of the user to delete the returned array.
Add the given AliCounterCollections to this. They must have the same rubrics with the same list of authorized key words if any.
Merge this with a list of AliCounterCollections. All AliCounterCollections provided must have the same rubrics with the same list of authorized key words if any.
Sort labels (alphabetically or as integer) in each rubric flagged in "rubricsToSort".
Return a list (not owner) of labels sorted assuming they are integers. It is the responsability of user to delete the returned list.
Convert the given THnSparse to a THnSparseL (able to handle numbers >= 2^31)