1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 // Toolkit containing various usefull things
17 // Usable everywhere in the hfe software package
18 // For more information see the cxx file
27 class AliAODMCParticle;
36 class AliHFEtools : public TObject{
41 static Double_t *MakeLinearBinning(Int_t nBins, Double_t ymin, Double_t ymax);
42 static Double_t *MakeLogarithmicBinning(Int_t nBins, Double_t ymin, Double_t ymax);
43 static void FillLinearBinning(TArrayD &bins, Int_t nBins, Double_t ymin, Double_t ymax);
44 static void FillLogarithmicBinning(TArrayD &bins, Int_t nBins, Double_t ymin, Double_t ymax);
45 Bool_t BinLogAxis(TObject *o, Int_t dim);
46 static Float_t GetRapidity(const TParticle *part);
47 static Float_t GetRapidity(const AliAODMCParticle *part); // return rapidity
48 static Int_t GetPdg(const AliVParticle *track);
49 static Int_t PDG2AliPID(Int_t pdg);
50 static AliPIDResponse *GetDefaultPID(Bool_t isMC = kTRUE, Bool_t isESD = kTRUE);
51 static void DestroyDefaultPID();
52 static void SetLogLevel(Int_t loglevel) { fgLogLevel = loglevel ;}
53 static TH1D* GraphErrorsToHist(TGraphErrors* g = 0, Double_t firstBinWidth = -1, Bool_t exchange=kFALSE, Int_t markerstyle=8, Int_t markercolor=2, Float_t markersize=0.7);
54 static TH1D* GraphToHist(TGraph* g = 0, Double_t firstBinWidth = -1, Bool_t exchange=kFALSE, Int_t markerstyle=8, Int_t markercolor=2, Float_t markersize=0.7);
55 static Bool_t ExchangeXYGraph(TGraph* g = 0);
56 static Bool_t ExchangeXYGraphErrors(TGraphErrors* g = 0);
57 static void BinParameterisation(const TF1 &fun, const TArrayD &xbins, TArrayD &bincontent);
60 AliHFEtools(const AliHFEtools &);
61 AliHFEtools &operator=(const AliHFEtools &);
62 static AliPIDResponse *fgDefaultPID; // Default PID object
63 static Int_t fgLogLevel; // Log Level
65 ClassDef(AliHFEtools, 0)