class HTool: public TNamed

_HADES_CLASS_DESCRIPTION

 HTool
 Tool Class

Function Members (Methods)

public:
HTool(const HTool&)
HTool(const Char_t* name = "", const Char_t* title = "")
virtual~HTool()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
static voidbackTrace(Int_t level)
virtual voidTObject::Browse(TBrowser* b)
static TDirectory*changeToDir(TString)
static Bool_tcheckDir(TString, TFile*)
static TClass*Class()
virtual const char*TObject::ClassName() const
static voidcleanHist(TH1* h, Double_t threshold = 3, Double_t val = 0)
static TF1*cleanHistArroundLine(TH2* h, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", TString optline = "pol1", Float_t windowfunc = 1000., Float_t windowfunc2 = 1000.)
static TF1*cleanHistBelowLine(TH2* h, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", TString optline = "pol1", Float_t windowfunc = 1000.)
static Bool_tcleanHistCutG(TH2* = 0, TCutG* = 0)
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
static Bool_tclose(TFile**)
static Bool_tcloseAscii(FILE**)
virtual Int_tTNamed::Compare(const TObject* obj) const
static Bool_tcompHistFiles(TString nameinp1 = "", TString nameinp2 = "", TString name = "")
virtual voidTNamed::Copy(TObject& named) const
static TH1*copyHist(TH1* h, TString name = "", Int_t val = -99, Int_t valerr = -99)
static TH1*copyHistRange(TH1* h, TString name = "", Int_t val = -99, Int_t valerr = -99, Int_t start = 0, Int_t end = -99)
static voidcreateNtupleMap(TString infile = "", TString prefix = "", TString ntupleName = "", TString outfile = "")
virtual voidTObject::Delete(Option_t* option = "")MENU
static voiddeleteObject(TObject* h)
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
static Bool_tdrawHistComp(TString nameinp1 = "", TString nameinp2 = "", TString name = "", TCanvas* comp = 0, Int_t padn = 1)
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
static TH2*exchangeXY(TH2* h2 = 0, TString newname = "")
static Bool_texchangeXYGraph(TGraph* g = 0)
static Bool_texchangeXYGraphErrors(TGraphErrors* g = 0)
static Int_texec(TString command, TString& output)
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)
static Int_tfindFilledRange(TH1* h, Int_t& first, Int_t& last)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static Bool_tfindString(TString* classes, Int_t size, TString name)
static TObjArray*fitArray(TObjArray* array = 0, TF1* fit = 0, TString name = "", Float_t min = 0, Float_t max = 0, Int_t opt = 0, Float_t x1 = 0, Float_t x2 = 0, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
static TGraphErrors*fitScatter(TH2* h = 0, TF1* f = 0, TString opt = "QNR", Bool_t silent = kFALSE, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0, Float_t window = 0, Bool_t clean = kFALSE)
static Bool_tflipAxis(TH2* h2 = 0, TString opt = "x")
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static TH1*getHist(TFile* inp, TString name)
virtual const char*TObject::GetIconName() const
static TList*getListOfAllDataMembers(TClass* cl)
static Double_tgetMaxHistArray(TH1** h, Int_t size, Int_t& index)
static Double_tgetMinHistArray(TH1** h, Int_t size, Int_t& index)
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
static TObjArray*glob(TString pattern)
static TH1D*graphErrorsToHist(TGraphErrors* g = 0, Double_t firstBinWidth = -1, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
static TH1D*graphToHist(TGraph* g = 0, Double_t firstBinWidth = -1, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
static TGraph*hist2DToGraph(TH2* h = 0, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0)
static TGraphErrors*hist2DToGraphErrors(TH2* h = 0, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0)
static TGraph*histToGraph(TH1* h = 0, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
static TGraphErrors*histToGraphErrors(TH1* h = 0, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
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 voidTObject::Inspect() constMENU
static Double_tintegralGraph(TGraph* g = 0, Int_t first = -1, Int_t last = -1)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
static Double_tkurtosis(Int_t n, Short_t* data)
static Double_tkurtosis(Int_t n, Int_t* data)
static Double_tkurtosis(Int_t n, Float_t* data)
static Double_tkurtosis(Int_t n, Double_t* data)
virtual voidTNamed::ls(Option_t* option = "") const
static Bool_tmakeHists(TString infile = "", Int_t evs = 0, TString histdescriptionfile = "", TString listofClasses = "")
voidTObject::MayNotUse(const char* method) const
static TDirectory*Mkdir(TDirectory*, const Char_t*, Int_t, Int_t p = 1)
static Int_tnormalize_max(TH2* h2 = 0, TString axis = "y")
virtual Bool_tTObject::Notify()
static Bool_topen(TFile**, TString, TString)
static Bool_topenAscii(FILE**, TString, TString)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static 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)
HTool&operator=(const HTool&)
virtual voidTObject::Paint(Option_t* option = "")
static TString*parseString(TString options, Int_t& size, TString separator = "", Bool_t tolower = kTRUE)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
static Bool_tprintBaskets(TString infile = "", TString opt = "M", TString listofClasses = "", TString treename = "T")
static Bool_tprintCompHistInfo(TH1* h1 = 0, TH1* h2 = 0, Int_t detail = 0)
static Bool_tprintHistInfo(TH1* h1 = 0)
static voidprintProgress(Int_t ct = -1, Int_t total = -1, Int_t step = 1, TString comment = "")
static TObjArray*projections(TH2* h2, TString axis = "y", Int_t firstbin = 0, Int_t lastbin = -1, Int_t nsteps = -99, TString opt = "e", TString suffix = "", Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
static TH1D*projectY(TH1* h = 0, Int_t xbin1 = 1, Int_t xbin2 = 0, TString suff = "", Int_t ybin = 0, Float_t ymin = -99, Float_t ymax = -99, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
virtual Int_tTObject::Read(const char* name)
static Bool_treadHistsDescription(TString file, TObjArray* myhists, TString* classes = 0, Int_t sizeclass = 0)
static TH2*reBin(TH2* h2 = 0, Int_t groupX = 2, Int_t gropY = 2, TString newname = "")
virtual voidTObject::RecursiveRemove(TObject* obj)
static Int_tremoveEnds(TH1* h, Int_t first = 1, Int_t last = -1)
voidTObject::ResetBit(UInt_t f)
static voidresetHist(TH1* h, Float_t val = -99, Float_t valerr = -99)
static Double_troundDigits(Double_t d, Int_t ndigits = -1)
static Float_troundDigits(Float_t f, Int_t ndigits = -1)
static voidroundHist(TH2* h = 0, Int_t ndigit = -1, Int_t ndigiterr = -1)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
static Bool_tscaleGraph(TGraph* g = 0, Double_t xscale = 1., Double_t yscale = 1.)
static Bool_tscaleGraphErrors(TGraphErrors* g = 0, Double_t xscale = 1., Double_t yscale = 1., Double_t xErrscale = 1., Double_t yErrscale = 1.)
static voidscanOracle(TString, TString)
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)
static voidsetHistErrors(TH1* h, TH1* h2)
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)
static Bool_tshiftGraph(TGraph* g = 0, Double_t xshift = 0., Double_t yshift = 0.)
static Bool_tshiftHist(TH1* h = 0, Float_t shift = 0)
static Bool_tshiftHistByBin(TH1* h = 0, Int_t shiftbin = 0)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
static Double_tskewness(Int_t n, Short_t* data)
static Double_tskewness(Int_t n, Int_t* data)
static Double_tskewness(Int_t n, Float_t* data)
static Double_tskewness(Int_t n, Double_t* data)
static TObjArray*slices(TH2* h = 0, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
static voidsmooth(TH1F* h = 0, Int_t ntimes = 1, Int_t firstbin = -1, Int_t lastbin = -1)
static voidsort(Int_t n, Char_t* arr, Int_t* index = 0, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static voidsort(Int_t n, Short_t* arr, Int_t* index = 0, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static voidsort(Int_t n, Int_t* arr, Int_t* index = 0, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static voidsort(Int_t n, Float_t* arr, Int_t* index = 0, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static voidsort(Int_t n, Double_t* arr, Int_t* index = 0, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static voidsortParallel(Int_t n, Int_t nArrays, Char_t* listarr, Int_t leading = 0, Int_t* index = 0, Bool_t down = kTRUE)
static voidsortParallel(Int_t n, Int_t nArrays, Short_t* listarr, Int_t leading = 0, Int_t* index = 0, Bool_t down = kTRUE)
static voidsortParallel(Int_t n, Int_t nArrays, Int_t* listarr, Int_t leading = 0, Int_t* index = 0, Bool_t down = kTRUE)
static voidsortParallel(Int_t n, Int_t nArrays, Float_t* listarr, Int_t leading = 0, Int_t* index = 0, Bool_t down = kTRUE)
static voidsortParallel(Int_t n, Int_t nArrays, Double_t* listarr, Int_t leading = 0, Int_t* index = 0, Bool_t down = kTRUE)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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
static Int_ttruncatedIndex(Int_t n, Float_t trunc = 0.1)
static Double_ttruncatedMean(Int_t n, Short_t* arr, Float_t trunc = 0.1, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static Double_ttruncatedMean(Int_t n, Int_t* arr, Float_t trunc = 0.1, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static Double_ttruncatedMean(Int_t n, Float_t* arr, Float_t trunc = 0.1, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static Double_ttruncatedMean(Int_t n, Double_t* arr, Float_t trunc = 0.1, Bool_t down = kTRUE, Bool_t overwrite = kTRUE)
static Double_ttruncatedSigma(Int_t n, Short_t* arr, Float_t trunc = 0.1)
static Double_ttruncatedSigma(Int_t n, Int_t* arr, Float_t trunc = 0.1)
static Double_ttruncatedSigma(Int_t n, Float_t* arr, Float_t trunc = 0.1)
static Double_ttruncatedSigma(Int_t n, Double_t* arr, Float_t trunc = 0.1)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
static Double_tweightedMean(Int_t n, Short_t* data, Short_t* dataerr)
static Double_tweightedMean(Int_t n, Int_t* data, Int_t* dataerr)
static Double_tweightedMean(Int_t n, Float_t* data, Float_t* dataerr)
static Double_tweightedMean(Int_t n, Double_t* data, Double_t* dataerr)
static Double_tweightedMeanAndSigma(Int_t n, Short_t* data, Short_t* dataerr, Double_t* mean, Double_t* sigma)
static Double_tweightedMeanAndSigma(Int_t n, Int_t* data, Int_t* dataerr, Double_t* mean, Double_t* sigma)
static Double_tweightedMeanAndSigma(Int_t n, Float_t* data, Float_t* dataerr, Double_t* mean, Double_t* sigma)
static Double_tweightedMeanAndSigma(Int_t n, Double_t* data, Double_t* dataerr, Double_t* mean, Double_t* sigma)
static Double_tweightedSigma(Int_t n, Short_t* dataerr)
static Double_tweightedSigma(Int_t n, Int_t* dataerr)
static Double_tweightedSigma(Int_t n, Float_t* dataerr)
static Double_tweightedSigma(Int_t n, Double_t* dataerr)
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
static Bool_twriteHistInfo(TH1* h1 = 0, FILE* anaout = 0)
static Bool_twriteNtupleToAscii(TString Input = "", TString ntuple = "", TString Output = "", TString separator = ",", TString selection = "", TString condition = "", Long64_t entries = -1, Long64_t startEntry = 0, Int_t ColWidth = 0)
static voidwriteObject(TObject* h)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidinitVariables()
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HTool(const Char_t* name = "", const Char_t* title = "")
 constructor for HTool
~HTool()
 destructor of HTool
void initVariables()
 inits all variables
Bool_t open(TFile** , TString , TString )
 Opens root file "fName" to the pointer "file" with option
 New,Read,Recreate and Update. Checks if file exists or is
 already opened. If everything works fine kTRUE is returned.
Bool_t close(TFile** )
 Close the root file of the pointer file if
 existing and open and sets the file pointer to 0.
 Returns kTRUE if OK.
Bool_t openAscii(FILE** , TString , TString )
 Opens ascii file "fName" to the pointer file with the option
 "r" and "w". Returns kTRUE if OK.
Bool_t closeAscii(FILE** )
 Close ascii file of the pointer file if file!=0 and
 sets the file pointr to 0 afterwards. Returns kTRUE
 if OK.
TObjArray* glob(TString pattern)
 Expand 'pattern' as it would be done by the shell (see sh(1)):
 '*', '?', '~', '$ENVIRONMENT_VARIABLE' and '[', ']' are expanded. In case
 the expansion is successful, a TObjArray of TObjStrings with the
 names of all existing files is returned - otherwise NULL.

 The returned TObjArray must be deleted by the caller of the function!

 This example returns all existing .root files in /tmp as well as all .root
 files in your home directory starting with the characters 'a', 'b', 'c'
 and 'e':

 TObjArray* files = HTool::glob( "/tmp/*.root $HOME/[a-c,e]*.root" );
 if (files)
 {
    TObjString* name = NULL;
    TIterator*  file = files->MakeIterator();
    while ((name = (TObjString*)file->Next()))
    {
       Char_t* input = name->GetString.Data(); ...
    }
    delete files;
 }
Bool_t writeNtupleToAscii(TString Input = "", TString ntuple = "", TString Output = "", TString separator = ",", TString selection = "", TString condition = "", Long64_t entries = -1, Long64_t startEntry = 0, Int_t ColWidth = 0)
 Util function for writing ntuple data to ascii file:
 Input     : Input File (*.root)
 ntuple    : name of ntuple in Input File
 Output    : Output ascii File
 separator : data field separator (" " or "," or "\t" .....)
 selection : comma separated list of leaf names ( like x,y,z,mom ...)
             - if empty all leafs will be written (default)
             - if list contains "-" all leafs but the listed ones will be written
 condition : like Tree->Draw() selection. Only rows which fulfill the condition will be written
             - if empty no condition is applied (default)
 entries   : number of entries which should be read
             - if == -1 all entries are analyzied (default)
 startEntry: first entry to strt in in ntuple
 ColWidth  : format width for the data field
             - if ==0 no format is applied  (default)
void createNtupleMap(TString infile = "", TString prefix = "", TString ntupleName = "", TString outfile = "")
 create all variables to map the ntuple in oufile. opens root file, retrieves
 the ntuple pointer. sets all branch addresses.
 "infile"     = input root file containing the ntuple
 "prefix"     = this string will be prepended to the normal variable names (needed for multiple identical ntuples)
 "ntupleName" = name of the ntuple in the root file
 "outfile"    = macro file which will be created.
                this macro can be loaded via gROOT->LoadMaco(....)
                + execute function as macro name (without .C)
                TNtuple* ntuple = mymacro(); to get the ntuple pointer
                in compiled code you have to use "#include mymacro.C" of the
                before created macro and remove gROOT->LoadMaco(....)



 example :

  //--------------------------------
  // comment in if you want to compile
  // and the macros exist already!
  //#include "mymacro.C"
  //#include "mymacro2.C"
  //--------------------------------


 void testNtupleMap()
 {
    //--------------------------------
    comment out if you want to compile and
    the macros are in the #include

    create the first macro for ntuple
    HTool::createNtupleMap("myfile.root","test_" ,"myntuple","mymacro.C");
    HTool::createNtupleMap("myfile.root","test2_","myntuple","mymacro2.C");
    gROOT->LoadMacro("mymacro.C");
    gROOT->LoadMacro("mymacro.C");
    //-------------------------------------

    TNtuple* ntuple  = mymacro (); // functions defined in marco
    TNtuple* ntuple2 = mymacro2(); // functions defined in marco

    Int_t n = ntuple->GetEntries();
    Float_t* dat = ntuple->GetArgs();
    for(Int_t i = 0; i < n ; i ++){
        ntuple->GetEntry(i);
        cout<<test_var<<endl;   // if var is a member of the ntuple (defined in macro)
    }
    cout<<"----------------"<<endl;

    Int_t n2 = ntuple2->GetEntries();
    for(Int_t i = 0; i < n2 ; i ++){
        ntuple2->GetEntry(i);
        cout<<test2_var<<endl;  // if var is a member of the ntuple (defined in macro)
    }
 }
void backTrace(Int_t level)
 prints out level steps of function calls
 before the function call (backtrace)
 Useful for debugging
Bool_t printBaskets(TString infile = "", TString opt = "M", TString listofClasses = "", TString treename = "T")
void printProgress(Int_t ct = -1, Int_t total = -1, Int_t step = 1, TString comment = "")
 print the progress of a loop in %, where ct is the loop
 counter, total the total number of loops and step the
 step size in precent for which the print should be done.
TDirectory* Mkdir(TDirectory* , const Char_t* , Int_t , Int_t p = 1)
 Function to create subdirectories, where dirold is the pointer of the old Directory,
 "c" the name of the new Directory an "i" the number (c + i) of the directory."p" gives
 the formating number of digits filled with 0. If "i"==-99 the numbering part is skipped.
 Checks if the Directrory exists , if so changes into otherwise create it new. The
 pointer to the new Directory is returned.
TDirectory* changeToDir(TString )
 Changes into the given path. If the Directory is not existing
 it will be created. The pointer to the new directory will be returned.
Bool_t checkDir(TString , TFile* )
 Checks if a given path "p" in file "input" exists.
 The actual directory will not be changed. Returns
 kTRUE if OK.
TList* getListOfAllDataMembers(TClass* cl)
 return a list of all data members of a class.
 contains all data members of bass classes.
void scanOracle(TString , TString )
 scans oracle runs table source code to extract
 file names, run ids and number of events
Double_t roundDigits(Double_t d, Int_t ndigit)
 Round d to ndigits
Float_t roundDigits(Float_t f, Int_t ndigit)
 Round d to ndigits
Int_t exec(TString command, TString& output)
 Execute 'command' in a shell and return the exit code of 'command'.
 'output' is filled with the data written to STDOUT and STDERR by
 'command'.
void sort(Int_t n, Char_t* arrIn,Int_t* index,Bool_t down,Bool_t overwrite)
 sorts array arrIn. If down=kTRUE sort in decreasing order.
 If overwrite=kTRUE input array is sorted otherwise not and
 the result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sort(Int_t n, Short_t* arrIn,Int_t* index,Bool_t down,Bool_t overwrite)
 sorts array arrIn. If down=kTRUE sort in decreasing order.
 If overwrite=kTRUE input array is sorted otherwise not and
 the result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sort(Int_t n, Int_t* arrIn,Int_t* index,Bool_t down,Bool_t overwrite)
 sorts array arrIn. If down=kTRUE sort in decreasing order.
 If overwrite=kTRUE input array is sorted otherwise not and
 the result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sort(Int_t n, Float_t* arrIn,Int_t* index,Bool_t down,Bool_t overwrite)
 sorts array arrIn. If down=kTRUE sort in decreasing order.
 If overwrite=kTRUE input array is sorted otherwise not and
 the result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sort(Int_t n, Double_t* arrIn,Int_t* index,Bool_t down,Bool_t overwrite)
 sorts array arrIn. If down=kTRUE sort in decreasing order.
 If overwrite=kTRUE input array is sorted otherwise not and
 the result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sortParallel(Int_t n,Int_t nArrays,Char_t* arrIn,Int_t leading,Int_t* index,Bool_t down)
 sorts n arrays arrIn paralell (destruktive!). Array pointer arrIn[leading] will be the
 leading one. The other arrays will be sorted according to the reordering of the leading array.
 If down=kTRUE sort in decreasing order.
 The result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sortParallel(Int_t n,Int_t nArrays,Short_t* arrIn,Int_t leading,Int_t* index,Bool_t down)
 sorts n arrays arrIn paralell (destruktive!). Array pointer arrIn[leading] will be the
 leading one. The other arrays will be sorted according to the reordering of the leading array.
 If down=kTRUE sort in decreasing order.
 The result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sortParallel(Int_t n,Int_t nArrays,Int_t* arrIn,Int_t leading,Int_t* index,Bool_t down)
 sorts n arrays arrIn paralell (destruktive!). Array pointer arrIn[leading] will be the
 leading one. The other arrays will be sorted according to the reordering of the leading array.
 If down=kTRUE sort in decreasing order.
 The result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sortParallel(Int_t n,Int_t nArrays,Float_t* arrIn,Int_t leading,Int_t* index,Bool_t down)
 sorts n arrays arrIn paralell (destruktive!). Array pointer arrIn[leading] will be the
 leading one. The other arrays will be sorted according to the reordering of the leading array.
 If down=kTRUE sort in decreasing order.
 The result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
void sortParallel(Int_t n,Int_t nArrays,Double_t* arrIn,Int_t leading,Int_t* index,Bool_t down)
 sorts n arrays arrIn paralell (destruktive!). Array pointer arrIn[leading] will be the
 leading one. The other arrays will be sorted according to the reordering of the leading array.
 If down=kTRUE sort in decreasing order.
 The result can be obtained from the index array (has to be provided
 by the caller with size >=n ) If index=NULL the index array is not used.
 if index=NULL and overwrite=kFALSE the function returns
 without doing anything.
Double_t kurtosis(Int_t n, Short_t* data)
 calculates the kurtosis


\
   ( x-mean)^4

----------------  - 3
n*sigma^4


 The kurtosis will be > 0 for distributions
 compared wider than a normal distribution and
 and < 0 for distributions beeing peaking stronger
Double_t kurtosis(Int_t n, Int_t* data)
 calculates the kurtosis


\
   ( x-mean)^4

----------------  - 3
n*sigma^4


 The kurtosis will be > 0 for distributions
 compared wider than a normal distribution and
 and < 0 for distributions beeing peaking stronger
Double_t kurtosis(Int_t n, Float_t* data)
 calculates the kurtosis


\
   ( x-mean)^4

----------------  - 3
n*sigma^4


 The kurtosis will be > 0 for distributions
 compared wider than a normal distribution and
 and < 0 for distributions beeing peaking stronger
Double_t kurtosis(Int_t n, Double_t* data)
 calculates the kurtosis


\
   ( x-mean)^4

----------------  - 3
n*sigma^4


 The kurtosis will be > 0 for distributions
 compared wider than a normal distribution and
 and < 0 for distributions beeing peaking stronger
Double_t skewness(Int_t n, Short_t* data)
 calculates the skew


\
   ( x-mean)^3


n*sigma^3


 The skew will be > 0 for distributions
 haveing more entries in the tails larger than mean
 and < 0 for distributions haveing more entries small
 than mean
Double_t skewness(Int_t n, Int_t* data)
 calculates the skew


\
   ( x-mean)^3


n*sigma^3


 The skew will be > 0 for distributions
 haveing more entries in the tails larger than mean
 and < 0 for distributions haveing more entries small
 than mean
Double_t skewness(Int_t n, Float_t* data)
 calculates the skew


\
   ( x-mean)^3


n*sigma^3


 The skew will be > 0 for distributions
 haveing more entries in the tails larger than mean
 and < 0 for distributions haveing more entries small
 than mean
Double_t skewness(Int_t n, Double_t* data)
 calculates the skew


\
   ( x-mean)^3


n*sigma^3


 The skew will be > 0 for distributions
 haveing more entries in the tails larger than mean
 and < 0 for distributions haveing more entries small
 than mean
Double_t weightedMean(Int_t n, Short_t* data,Short_t* dataerr)
 calculates the weighted mean


\
   x/sigma^2



\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]
Double_t weightedMean(Int_t n, Int_t* data,Int_t* dataerr)
 calculates the weighted mean


\
   x/sigma^2



\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]
Double_t weightedMean(Int_t n, Float_t* data,Float_t* dataerr)
 calculates the weighted mean


\
   x/sigma^2



\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]
Double_t weightedMean(Int_t n, Double_t* data,Double_t* dataerr)
 calculates the weighted mean


\
   x/sigma^2



\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]
Double_t weightedSigma(Int_t n,Short_t* dataerr)
 calculates the weighted sigma

1
sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedSigma(Int_t n,Int_t* dataerr)
 calculates the weighted sigma

1
sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedSigma(Int_t n,Float_t* dataerr)
 calculates the weighted sigma

1
sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedSigma(Int_t n,Double_t* dataerr)
 calculates the weighted sigma

1
sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedMeanAndSigma(Int_t n, Short_t* data,Short_t* dataerr, Double_t* mean, Double_t* sigma)
 calculates the weighted mean and sigma


\
   x/sigma^2

mean = ----------------

\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]

 and

1
sigma = sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedMeanAndSigma(Int_t n, Int_t* data,Int_t* dataerr, Double_t* mean, Double_t* sigma)
 calculates the weighted mean and sigma


\
   x/sigma^2

mean = ----------------

\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]

 and

1
sigma = sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedMeanAndSigma(Int_t n, Float_t* data,Float_t* dataerr, Double_t* mean, Double_t* sigma)
 calculates the weighted mean and sigma


\
   x/sigma^2

mean = ----------------

\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]

 and

1
sigma = sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t weightedMeanAndSigma(Int_t n, Double_t* data,Double_t* dataerr, Double_t* mean, Double_t* sigma)
 calculates the weighted mean and sigma


\
   x/sigma^2

mean = ----------------

\
   1/sigma^2


 where x are the data points from data[i] and
 sigma the standard deviations of the points from dataerr[i]

 and

1
sigma = sqrt  ----------------          

\
   1/sigma^2


 where sigma is the standard deviations of the
 points from dataerr[i]
Double_t truncatedMean(Int_t n, Short_t* arr, Float_t trunc, Bool_t down, Bool_t overwrite)
 Calculates the truncated mean of array arr with size n. The n * trunc (rounded down)
 of smallest and largest values are truncated. If overwrite == kTRUE (default) the content
 of the array will be changed by the sorting (down == kTRUE (default) downwards) otherwise
 the arry will be unchanged.
Double_t truncatedMean(Int_t n, Int_t* arr, Float_t trunc, Bool_t down, Bool_t overwrite)
 Calculates the truncated mean of array arr with size n. The n * trunc (rounded down)
 of smallest and largest values are truncated. If overwrite == kTRUE (default) the content
 of the array will be changed by the sorting (down == kTRUE (default) downwards) otherwise
 the arry will be unchanged.
Double_t truncatedMean(Int_t n, Float_t* arr, Float_t trunc, Bool_t down, Bool_t overwrite)
 Calculates the truncated mean of array arr with size n. The n * trunc (rounded down)
 of smallest and largest values are truncated. If overwrite == kTRUE (default) the content
 of the array will be changed by the sorting (down == kTRUE (default) downwards) otherwise
 the arry will be unchanged.
Double_t truncatedMean(Int_t n, Double_t* arr, Float_t trunc, Bool_t down, Bool_t overwrite)
 Calculates the truncated mean of array arr with size n. The n * trunc (rounded down)
 of smallest and largest values are truncated. If overwrite == kTRUE (default) the content
 of the array will be changed by the sorting (down == kTRUE (default) downwards) otherwise
 the arry will be unchanged.
Double_t truncatedSigma(Int_t n, Short_t* arr, Float_t trunc)
 Calculates the truncated sigma of array arr with size n.
 The n * trunc (rounded down)
 of smallest and largest values are truncated.
Double_t truncatedSigma(Int_t n, Int_t* arr, Float_t trunc)
 Calculates the truncated sigma of array arr with size n.
 The n * trunc (rounded down)
 of smallest and largest values are truncated.
Double_t truncatedSigma(Int_t n, Float_t* arr, Float_t trunc)
 Calculates the truncated sigma of array arr with size n.
 The n * trunc (rounded down)
 of smallest and largest values are truncated.
Double_t truncatedSigma(Int_t n, Double_t* arr, Float_t trunc)
 Calculates the truncated sigma of array arr with size n.
 The n * trunc (rounded down)
 of smallest and largest values are truncated.
Int_t truncatedIndex(Int_t n, Float_t trunc = 0.1)
 calulates the downrounded integer corresponding
 to n * trunc. Used to calulated the active range of
 an sorted array for a truncation fraction trunc of
 the smallest and largest values.
void roundHist(TH2* h = 0, Int_t ndigit = -1, Int_t ndigiterr = -1)
 Round bin content to ndigit and binerror to ndigterr digits.
 for ndigit or ndigiterr =-1 the rounding will be skipped for
 the corresponding value.
TH1* getHist(TFile* inp, TString name)
 gets histogram with name name from root file
void smooth(TH1F* h = 0, Int_t ntimes = 1, Int_t firstbin = -1, Int_t lastbin = -1)
 Smooth bin contents of this histogram between firstbin and lastbin.
 (if firstbin=-1 and lastbin=-1 (default) all bins are smoothed.
 bin contents are replaced by their smooth values.
 Errors (if any) are not modified.
 algorithm can only be applied to 1-d histograms
 to replace removed function TH1::Smooth)
TObjArray* slices(TH2* h = 0, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 calls internal the fitslice of root. Suffix can be added to name of fitted hists.
 Returns a TObjArray pointer to an array containing the result hists of the fit.
 Numbering is the same as the the parameters of the fitfunction + chi2 at last place.
TObjArray* projections(TH2* h2, TString axis = "y", Int_t firstbin = 0, Int_t lastbin = -1, Int_t nsteps = -99, TString opt = "e", TString suffix = "", Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 calls internal the projections function of the hist.
 Suffix can be added to name of fitted hists.
 Returns a TObjArray pointer to an array containing
 the result hists of the loop of projections.
TObjArray* fitArray(TObjArray* array = 0, TF1* fit = 0, TString name = "", Float_t min = 0, Float_t max = 0, Int_t opt = 0, Float_t x1 = 0, Float_t x2 = 0, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 Applies fit fit to all hists in array. The result of the fit
 will be returned in a TObjArray which contains hists for all parameters
 from fit (with corresponding errors set). The number of hists is equal npar+1.
 The ordering inside the array starts from par0 to parN and the last hist
 will contain the chi2. The number of bins in the hists will be equal to the
 the number of fitted hists. The range of the result hists can be set via
 min and max. If these values ar not specified the range will be 0-1.
 If opt=1 fit will use range x1 x2 arround max of hists
TH1D* projectY(TH1* h = 0, Int_t xbin1 = 1, Int_t xbin2 = 0, TString suff = "", Int_t ybin = 0, Float_t ymin = -99, Float_t ymax = -99, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
TGraphErrors* fitScatter(TH2* h = 0, TF1* f = 0, TString opt = "QNR", Bool_t silent = kFALSE, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0, Float_t window = 0, Bool_t clean = kFALSE)
 Fits h with TF1 f. Convert the hist to TGraphErrors
 first and than perfom the fit on the graph.
 With xmin/xmax/ymin,ymax a region can be selected.
 If window is !=0 the graph is fitted with f and
 in an second iteration the graph is rebuild to just
 contain values inside the window arround f. If clean
 is true all values of the hist arround the window of
 f are set to 0. String opt are options for the Fit.
 silent=kTRUE switches the prints off.
Int_t removeEnds(TH1* h, Int_t first = 1, Int_t last = -1)
 removes bins from start to first and from last to end
 (first and last are kept). returns hist with name newname
Int_t findFilledRange(TH1* h, Int_t& first, Int_t& last)
 find first bins and last filled bins
void cleanHist(TH1* h, Double_t threshold = 3, Double_t val = 0)
 clean hist if bincontent is below a certain value (threshold):
 The bin content is replaced by val.
void resetHist(TH1* h, Float_t val = -99, Float_t valerr = -99)
 reset hist with val for content and valerr for errors
 (if this values not equal -99).
TH1* copyHist(TH1* h, TString name = "", Int_t val = -99, Int_t valerr = -99)
 copy old hist into new one. You can decide to copy content of hist (val!=-99) and
 errors (valerr!=-99). Combinations are possible.
 if no new name is specified, _copy is appended to old name.
TH1* copyHistRange(TH1* h, TString name = "", Int_t val = -99, Int_t valerr = -99, Int_t start = 0, Int_t end = -99)
 copy old hist into new one. You can decide to copy content of hist (val!=-99) and
 errors (valerr!=-99). Combinations are possible.
 if no new name is specified, _copy is appended to old name.
 Copy is done in range from start to end. If end = -99, Full histogram is copied.
TF1* cleanHistBelowLine(TH2* h, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", TString optline = "pol1", Float_t windowfunc = 1000.)
 beforms slices HTool::operation and fits the result with a line
 Resets the bins blow line equation - windowfunc to 0.
TF1* cleanHistArroundLine(TH2* h, TF1* f = 0, TString axis = "y", Int_t firstbin = 1, Int_t lastbin = 0, Int_t cut = 0, TString opt = "QNR", TString suffix = "", TString optline = "pol1", Float_t windowfunc = 1000., Float_t windowfunc2 = 1000.)
 beforms slices HTool::operation and fits the result with a line
 Resets the bins arround line equation +- windowfunc to 0.
Bool_t cleanHistCutG(TH2* = 0, TCutG* = 0)
 puts all bins outside the cut to 0.
void setHistErrors(TH1* h, TH1* h2)
 sets bincontent of hist h2 as errors of h
Double_t getMaxHistArray(TH1** h, Int_t size, Int_t& index)
 Finds maximum of all hists in TH1* array of size size.
 return max and the index of the hist inside the array
 which has the highest max.
Double_t getMinHistArray(TH1** h, Int_t size, Int_t& index)
 Finds minimum of all hists in TH1* array of size size.
 return min and the index of the hist inside the array
 which has the lowest min.
TH2* reBin(TH2* h2 = 0, Int_t groupX = 2, Int_t gropY = 2, TString newname = "")
 Rebins h2 with groups of groupX and groupY. The new created
 hist with name newname (if specified) or oldname_rebin will
 be returned.
TH2* exchangeXY(TH2* h2 = 0, TString newname = "")
 creates new hist with name newname (if specified)
 or oldname_exchangeXY with exchanged
 x- and y-axis
Bool_t flipAxis(TH2* h2 = 0, TString opt = "x")
 flips x or y axis or both depending on opt (x,y,xy)
Bool_t shiftHistByBin(TH1* h = 0, Int_t shiftbin = 0)
 shifts hist content by shiftbin bins
Bool_t shiftHist(TH1* h = 0, Float_t shift = 0)
 shifts hist content by value shift
Int_t normalize_max(TH2* h2 = 0, TString axis = "y")
 Project to axis and and calc scaling factor for the bin
 to maximum of total hist max_total/max_proj. The bins of
 the hist are scaled by the factor. The result is 2D hist
 where each bin Projection has the same maximum height.
 The opration is performed on the original Hist!
 arguments:
 TH2* ht        :pointer to hist which should be normalized
 TString axis   :="x" , or "y" depending on the projection
 return values:
 -1 : In the case of zero pointer input or unknown axis argument
  0 : If opreation has been succesful
  3 : TH2 max is 0 (most probably empty).
TGraph* histToGraph(TH1* h = 0, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 Creates a TGraph from hist h. The axis can be exchanged if
 exchange=kTRUE; The Graph does not take empty bins into account.
TGraphErrors* histToGraphErrors(TH1* h = 0, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 Creates a TGraphErrors from hist h. The axis can be excganged if
 exchange=kTRUE; The Graph does not take empty bins into account.
TGraph* hist2DToGraph(TH2* h = 0, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0)
 Puts h into TGraph .
 With xmin/xmax/ymin,ymax a region can be selected.
TGraphErrors* hist2DToGraphErrors(TH2* h = 0, Float_t xmin = 0, Float_t xmax = 0, Float_t ymin = 0, Float_t ymax = 0)
 Puts h into TGraphErrors .
 With xmin/xmax/ymin,ymax a region can be selected.
TH1D* graphToHist(TGraph* g = 0, Double_t firstBinWidth = -1, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 Creates a TH1D from TGraph g. The binwidth of the first bin has to
 specified. The others bins are calculated automatically. Supports also Graphs
 with non constant x steps. The axis of the Graph can be exchanged if
 exchange=kTRUE (modifies the Graph).
TH1D* graphErrorsToHist(TGraphErrors* g = 0, Double_t firstBinWidth = -1, TString newname = "", Bool_t exchange = kFALSE, Int_t markerstyle = 8, Int_t markercolor = 2, Float_t markersize = 0.7)
 Creates a TH1D from TGraph g. The binwidth of the first bin has to
 specified. The others bins are calculated automatically. Supports also Graphs
 with non constant x steps. The axis of the Graph can be exchanged if
 exchange=kTRUE (modifies the Graph).
Bool_t exchangeXYGraph(TGraph* g = 0)
 exchanges x-values and y-values.
Bool_t exchangeXYGraphErrors(TGraphErrors* g = 0)
 exchanges x-values and y-values and
 corresponding errors.
Double_t integralGraph(TGraph* g = 0, Int_t first = -1, Int_t last = -1)
 calulates the integral (culmulative sum) y-values.
 By default all points are used. "first" and "last" defines
 the range of points to integrate (including these points, counting from 0).
 If "first" and "last" are no valid numbers inside the correct
 range the range will be set to 0 and last point depending
 which boundary has been violated.
Bool_t scaleGraph(TGraph* g = 0, Double_t xscale = 1., Double_t yscale = 1.)
 scales x-values and y-values with  xscale,yscale.
Bool_t scaleGraphErrors(TGraphErrors* g = 0, Double_t xscale = 1., Double_t yscale = 1., Double_t xErrscale = 1., Double_t yErrscale = 1.)
 scales x-values and y-values with  xscale,yscale.
 scales x Err-values and yErr-values with  xErrscale,yErrscale.
Bool_t shiftGraph(TGraph* g = 0, Double_t xshift = 0., Double_t yshift = 0.)
 add shift to x-values and y-values
TString* parseString(TString options, Int_t& size, TString separator = "", Bool_t tolower = kTRUE)
 loops over TString options and find substrings separated by separator
 and puts them to an array of TStrings. size will hold the size of this
 array and the pointer to the array is returned. If tolower is kTRUE options
 will be made toLower.
Bool_t findString(TString* classes, Int_t size, TString name)
 searches name in TString array classes with size size.
 return kTRUE if the string is found.
Bool_t readHistsDescription(TString file, TObjArray* myhists, TString* classes = 0, Int_t sizeclass = 0)
 reads the hist descriptions from ascii file file.
 Creates the hists found in TString array classes
 with size size and adds them to TObjArray myhists.
Bool_t makeHists(TString infile = "", Int_t evs = 0, TString histdescriptionfile = "", TString listofClasses = "")
 makeHists(TString infile,Int_t evs,TString histdescriptionfile,TString listofClasses)
 Takes all categories in infile and generates generic histograms of all datamembers.
 T->Draw() is used to fill the hists. evs is the number of entries to loop over. if evs=0
 the full size of the tree will be used.
 INPUT:
 histdescriptionfile is the file with description of the histograms to fill (ascii).
 if histdescriptionfile=="" histograms will be filled generic and a histdescription file
 histDescription.txt will be generated in the working directory.
 listofClasses contains a list of Classes which should be taken into account, all other
 classes will be ignored. if listofClasses=="" all classes in infile will be taken.
 OUTPUT:
 I.   a root file treeHists.root will be generated which contains all histograms of the
      selected variables
 II.  if histdescriptionfile has been empty an ascii file treeHistDescription.txt will
      be generated in the working directory.
 III. an ascii file treeHistResults.txt with the analysis results of the hists will be created,
      which can be used for diff of different files.
Bool_t drawHistComp(TString nameinp1 = "", TString nameinp2 = "", TString name = "", TCanvas* comp = 0, Int_t padn = 1)
 Gets histogram with name name from 2 input files and plots them into
 into a canvas. If the canvas pointer is 0 a canvas will be created.
 if padn=1 they will be overlayed in on pad, if pad=2 and comp=0, a
 new canvas with n pads will be created and the 2 hists will be plotted single
 if n=2 and comp not equal 0, the 2 pads of comp will used to draw.
Bool_t compHistFiles(TString nameinp1 = "", TString nameinp2 = "", TString name = "")
 Gets histogram with name name from 2 input files and compares them by
 mean,rms,range,maximum,maxposition, entries....
Bool_t printHistInfo(TH1* h1 = 0)
 prints information over hist to screen .
Bool_t printCompHistInfo(TH1* h1 = 0, TH1* h2 = 0, Int_t detail = 0)
 prints information over hist to screen .
Bool_t writeHistInfo(TH1* h1 = 0, FILE* anaout = 0)
 writes information over hist to ascii file .
HTool(const Char_t* name = "", const Char_t* title = "")
void deleteObject(TObject* h)
objects
void writeObject(TObject* h)
hists

Last change: Sat May 22 13:16:57 2010
Last generated: 2010-05-22 13:16

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.