]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FLOW/blastwave/AliBlastwaveFit.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FLOW / blastwave / AliBlastwaveFit.cxx
CommitLineData
3416bb60 1#include<stdio.h>
2
3#include"AliBlastwaveFit.h"
4
5#include"TMath.h"
6
7ClassImp(AliBlastwaveFit);
8
9AliBlastwaveFit::AliBlastwaveFit(const char *name,Double_t mass) :
10 TNamed(name,name),
11 fMass(mass),
12 fFunctionYield(NULL),
13 fFunctionV2(NULL),
14 fSpectraObj(NULL),
15 fV2Obj(NULL),
16 fSpectraObjCopy(NULL),
17 fXmin(0.2),
18 fXmax(3.0)
19{
20}
21//------------------------------------------------------------------------------
22AliBlastwaveFit::AliBlastwaveFit() :
23 TNamed("BlastwaveFit","BlastwaveFit"),
24 fMass(0.0),
25 fFunctionYield(NULL),
26 fFunctionV2(NULL),
27 fSpectraObj(NULL),
28 fV2Obj(NULL),
29 fSpectraObjCopy(NULL),
30 fXmin(0.2),
31 fXmax(3.0)
32{
33}
34//------------------------------------------------------------------------------
35AliBlastwaveFit::~AliBlastwaveFit(){
36}
719e136c 37//------------------------------------------------------------------------------
38void AliBlastwaveFit::SetSpectrumObj(TObject *obj){
39 fSpectraObj = obj;
40 if(fSpectraObj && fSpectraObj->InheritsFrom("TH1"))
41 fSpectraObjCopy=(TH1 *)fSpectraObj;
42 else if(fSpectraObj && fSpectraObj->InheritsFrom("TGraphErrors")){
43 TGraphErrors *g = (TGraphErrors *)fSpectraObj;
44 Int_t np = g->GetN();
45 Float_t xbin[1000];
46 for(Int_t i=0;i<np;i++){
47 Float_t x = g->GetX()[i];
48 Float_t binwidth = g->GetEX()[i];
49 if(i==0 && np > 1){
50 Float_t binwidth2 = (g->GetX()[i+1] - x)/2;
51 if(binwidth2 > binwidth) binwidth = binwidth2;
52 }
53 else if(i != 0){
54 Float_t binwidth2 = (x - g->GetX()[i-1])/2;
55 if(binwidth2 > binwidth) binwidth = binwidth2;
56 }
57 xbin[i] = x - binwidth;
58 xbin[i+1] = x + binwidth;
59 }
60 fSpectraObjCopy= new TH1D(Form("%s%s",g->GetName(),"Copy"),g->GetTitle(),np,xbin);
61 for(Int_t i=0;i<np;i++){
62 fSpectraObjCopy->SetBinContent(i+1,g->GetY()[i]);
63 fSpectraObjCopy->SetBinError(i+1,g->GetEY()[i]);
64 }
65 }
66}