]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliHFEtools.h
New task for Lc->V0bachelor + update on cut class (Annalisa)
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEtools.h
CommitLineData
70da6c5a 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
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**************************************************************************/
15//
16// Toolkit containing various usefull things
17// Usable everywhere in the hfe software package
18// For more information see the cxx file
19//
c2690925 20#ifndef ALIHFETOOLS_H
21#define ALIHFETOOLS_H
22
70da6c5a 23#include <TObject.h>
24
0e30407a 25class TArrayD;
70da6c5a 26class TParticle;
27class AliAODMCParticle;
8c1c76e9 28class AliPIDResponse;
3a72645a 29class AliVParticle;
a8ef1999 30class TGraph;
31class TGraphErrors;
32class TH1D;
33class TString;
70da6c5a 34
35class AliHFEtools : public TObject{
36 public:
37 AliHFEtools();
38 ~AliHFEtools() {};
39
40 static Double_t *MakeLinearBinning(Int_t nBins, Double_t ymin, Double_t ymax);
41 static Double_t *MakeLogarithmicBinning(Int_t nBins, Double_t ymin, Double_t ymax);
0e30407a 42 static void FillLinearBinning(TArrayD &bins, Int_t nBins, Double_t ymin, Double_t ymax);
43 static void FillLogarithmicBinning(TArrayD &bins, Int_t nBins, Double_t ymin, Double_t ymax);
70da6c5a 44 Bool_t BinLogAxis(TObject *o, Int_t dim);
3a72645a 45 static Float_t GetRapidity(const TParticle *part);
46 static Float_t GetRapidity(const AliAODMCParticle *part); // return rapidity
47 static Int_t GetPdg(const AliVParticle *track);
48 static Int_t PDG2AliPID(Int_t pdg);
8c1c76e9 49 static AliPIDResponse *GetDefaultPID(Bool_t isMC = kTRUE, Bool_t isESD = kTRUE);
faee3b18 50 static void DestroyDefaultPID();
51 static void SetLogLevel(Int_t loglevel) { fgLogLevel = loglevel ;}
a8ef1999 52 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);
53 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);
54 static Bool_t ExchangeXYGraph(TGraph* g = 0);
55 static Bool_t ExchangeXYGraphErrors(TGraphErrors* g = 0);
faee3b18 56
57 private:
c2690925 58 AliHFEtools(const AliHFEtools &);
59 AliHFEtools &operator=(const AliHFEtools &);
8c1c76e9 60 static AliPIDResponse *fgDefaultPID; // Default PID object
3a72645a 61 static Int_t fgLogLevel; // Log Level
70da6c5a 62
63 ClassDef(AliHFEtools, 0)
64};
65#endif