]>
Commit | Line | Data |
---|---|---|
3416bb60 | 1 | #include<stdio.h> |
2 | ||
3 | #include"AliBlastwaveFit.h" | |
4 | ||
5 | #include"TMath.h" | |
6 | ||
7 | ClassImp(AliBlastwaveFit); | |
8 | ||
9 | AliBlastwaveFit::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 | //------------------------------------------------------------------------------ | |
22 | AliBlastwaveFit::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 | //------------------------------------------------------------------------------ | |
35 | AliBlastwaveFit::~AliBlastwaveFit(){ | |
36 | } | |
719e136c | 37 | //------------------------------------------------------------------------------ |
38 | void 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 | } |