#include "TVectorD.h"
#include "../STAT/TStatToolkit.h"
#include "TMath.h"
#include "TCut.h"
#include "TTree.h"
#include "AliESDresolParams.h"
#include "AliESDresolMakerFast.h"
ClassImp(AliESDresolMakerFast)
AliESDresolMakerFast::AliESDresolMakerFast() :
TObject()
{
}
TObjArray * AliESDresolMakerFast::MakeParamPrimFast(TTree * tree, TCut & cutDCA, Float_t fraction, Int_t entries){
TObjArray *array = new TObjArray();
Double_t chi2=0;
Int_t npoints=0;
TVectorD fitParam;
TMatrixD covMatrix;
TString * dcayParam= TStatToolkit::FitPlane(tree,"sqrt(Tracks[].fC[0])/(0.2+abs(Tracks[].fP[4]))","(abs(Tracks[].fP[4]))++(abs(Tracks[].fP[4]))^2++(abs(Tracks[].fP[3]))++(abs(Tracks[].fP[3]))^2++(abs(Tracks[].fP[4]))*(abs(Tracks[].fP[3]))", cutDCA, chi2,npoints,fitParam,covMatrix,fraction, 0, entries);
tree->SetAlias("dcayParam",dcayParam->Data());
array->AddAt(new TVectorD(fitParam),0);
printf("Y resol\t%s\n",dcayParam->Data());
TString * dcazParam= TStatToolkit::FitPlane(tree, "sqrt(Tracks[].fC[2])/(0.2+abs(Tracks[].fP[4]))", "(abs(Tracks[].fP[4]))++(abs(Tracks[].fP[4]))^2++(abs(Tracks[].fP[3]))++(abs(Tracks[].fP[3]))^2++(abs(Tracks[].fP[4]))*(abs(Tracks[].fP[3]))", cutDCA, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
printf("Z resol\t%s\n",dcazParam->Data());
tree->SetAlias("dcazParam",dcazParam->Data());
array->AddAt(new TVectorD(fitParam),1);
TString * dcaphiParam= TStatToolkit::FitPlane(tree, "sqrt(Tracks[].fC[5])/(0.1+abs(Tracks[].fP[4]))", "(abs(Tracks[].fP[4]))++(abs(Tracks[].fP[4]))^2++(abs(Tracks[].fP[3]))++(abs(Tracks[].fP[3]))^2++(abs(Tracks[].fP[4]))*(abs(Tracks[].fP[3]))", cutDCA, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
printf("Phi resol\t%s\n",dcaphiParam->Data());
tree->SetAlias("dcaphiParam",dcaphiParam->Data());
array->AddAt(new TVectorD(fitParam),2);
TString * dcathParam= TStatToolkit::FitPlane(tree, "sqrt(Tracks[].fC[9])/((0.1+abs(Tracks[].fP[4])*(1+abs(Tracks[].fParamP.fP[3]^2))))", "(abs(Tracks[].fP[4]))++(abs(Tracks[].fP[4]))^2++(abs(Tracks[].fP[3]))++(abs(Tracks[].fP[3]))^2++(abs(Tracks[].fP[4]))*(abs(Tracks[].fP[3]))", cutDCA, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
printf("Theta resol\t%s\n",dcathParam->Data());
tree->SetAlias("dcathParam",dcathParam->Data());
array->AddAt(new TVectorD(fitParam),3);
TString * dca1ptParam= TStatToolkit::FitPlane(tree, "sqrt(Tracks[].fC[14])/(1+abs(Tracks[].fP[4]))^2", "(abs(Tracks[].fP[4]))++(abs(Tracks[].fP[4]))^2++(abs(Tracks[].fP[3]))++(abs(Tracks[].fP[3]))^2++(abs(Tracks[].fP[4]))*(abs(Tracks[].fP[3]))", cutDCA, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
printf("1pt resol\t%s\n",dca1ptParam->Data());
tree->SetAlias("dca1ptParam",dca1ptParam->Data());
array->AddAt(new TVectorD(fitParam),4);
return array;
}
TObjArray * AliESDresolMakerFast::MakeParamRFast(TTree * tree, TCut &cutV0, Float_t fraction, Int_t entries){
TObjArray *array = new TObjArray;
Double_t chi2=0;
Int_t npoints=0;
TVectorD fitParam;
TMatrixD covMatrix;
TString * v0sigmaY= TStatToolkit::FitPlane(tree,"sqrt(sqrt((V0s[].fParamP.fC[0]))/(0.2+abs(V0s[].fParamP.fP[4])))","abs(V0s[].fParamP.fP[4])++V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])^2++V0s[].fParamP.fX^2++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX^2", cutV0, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
tree->SetAlias("v0sigmaY",v0sigmaY->Data());
array->AddAt(new TVectorD(fitParam),0);
TString * v0sigmaZ= TStatToolkit::FitPlane(tree,"sqrt(sqrt((V0s[].fParamP.fC[2])))","abs(V0s[].fParamP.fP[4])++V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])^2++V0s[].fParamP.fX^2++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX^2", cutV0, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
tree->SetAlias("v0sigmaZ",v0sigmaZ->Data());
array->AddLast(new TVectorD(fitParam));
TString * v0sigmaPhi= TStatToolkit::FitPlane(tree,"sqrt(sqrt((V0s[].fParamP.fC[5]))/(0.1+abs(V0s[].fParamP.fP[4])))","abs(V0s[].fParamP.fP[4])++V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])^2++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX", cutV0, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
tree->SetAlias("v0sigmaPhi",v0sigmaPhi->Data());
array->AddAt(new TVectorD(fitParam),2);
TString * v0sigmaTh= TStatToolkit::FitPlane(tree,"sqrt(sqrt((V0s[].fParamP.fC[9]))/((0.1+abs(V0s[].fParamP.fP[4])*(1+abs(V0s[].fParamP.fP[3])^2))))","abs(V0s[].fParamP.fP[4])++V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])^2++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX", cutV0, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
tree->SetAlias("v0sigmaTh",v0sigmaTh->Data());
array->AddAt(new TVectorD(fitParam),3);
TString * v0sigma1pt= TStatToolkit::FitPlane(tree,"sqrt(sqrt((V0s[].fParamP.fC[14])))","abs(V0s[].fParamP.fP[4])++V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])^2++V0s[].fParamP.fX^2++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX++abs(V0s[].fParamP.fP[4])*V0s[].fParamP.fX^2", cutV0, chi2,npoints,fitParam,covMatrix,fraction,0,entries);
tree->SetAlias("v0sigma1pt",v0sigma1pt->Data());
array->AddAt(new TVectorD(fitParam),4);
return array;
}
AliESDresolMakerFast.cxx:1 AliESDresolMakerFast.cxx:2 AliESDresolMakerFast.cxx:3 AliESDresolMakerFast.cxx:4 AliESDresolMakerFast.cxx:5 AliESDresolMakerFast.cxx:6 AliESDresolMakerFast.cxx:7 AliESDresolMakerFast.cxx:8 AliESDresolMakerFast.cxx:9 AliESDresolMakerFast.cxx:10 AliESDresolMakerFast.cxx:11 AliESDresolMakerFast.cxx:12 AliESDresolMakerFast.cxx:13 AliESDresolMakerFast.cxx:14 AliESDresolMakerFast.cxx:15 AliESDresolMakerFast.cxx:16 AliESDresolMakerFast.cxx:17 AliESDresolMakerFast.cxx:18 AliESDresolMakerFast.cxx:19 AliESDresolMakerFast.cxx:20 AliESDresolMakerFast.cxx:21 AliESDresolMakerFast.cxx:22 AliESDresolMakerFast.cxx:23 AliESDresolMakerFast.cxx:24 AliESDresolMakerFast.cxx:25 AliESDresolMakerFast.cxx:26 AliESDresolMakerFast.cxx:27 AliESDresolMakerFast.cxx:28 AliESDresolMakerFast.cxx:29 AliESDresolMakerFast.cxx:30 AliESDresolMakerFast.cxx:31 AliESDresolMakerFast.cxx:32 AliESDresolMakerFast.cxx:33 AliESDresolMakerFast.cxx:34 AliESDresolMakerFast.cxx:35 AliESDresolMakerFast.cxx:36 AliESDresolMakerFast.cxx:37 AliESDresolMakerFast.cxx:38 AliESDresolMakerFast.cxx:39 AliESDresolMakerFast.cxx:40 AliESDresolMakerFast.cxx:41 AliESDresolMakerFast.cxx:42 AliESDresolMakerFast.cxx:43 AliESDresolMakerFast.cxx:44 AliESDresolMakerFast.cxx:45 AliESDresolMakerFast.cxx:46 AliESDresolMakerFast.cxx:47 AliESDresolMakerFast.cxx:48 AliESDresolMakerFast.cxx:49 AliESDresolMakerFast.cxx:50 AliESDresolMakerFast.cxx:51 AliESDresolMakerFast.cxx:52 AliESDresolMakerFast.cxx:53 AliESDresolMakerFast.cxx:54 AliESDresolMakerFast.cxx:55 AliESDresolMakerFast.cxx:56 AliESDresolMakerFast.cxx:57 AliESDresolMakerFast.cxx:58 AliESDresolMakerFast.cxx:59 AliESDresolMakerFast.cxx:60 AliESDresolMakerFast.cxx:61 AliESDresolMakerFast.cxx:62 AliESDresolMakerFast.cxx:63 AliESDresolMakerFast.cxx:64 AliESDresolMakerFast.cxx:65 AliESDresolMakerFast.cxx:66 AliESDresolMakerFast.cxx:67 AliESDresolMakerFast.cxx:68 AliESDresolMakerFast.cxx:69 AliESDresolMakerFast.cxx:70 AliESDresolMakerFast.cxx:71 AliESDresolMakerFast.cxx:72 AliESDresolMakerFast.cxx:73 AliESDresolMakerFast.cxx:74 AliESDresolMakerFast.cxx:75 AliESDresolMakerFast.cxx:76 AliESDresolMakerFast.cxx:77 AliESDresolMakerFast.cxx:78 AliESDresolMakerFast.cxx:79 AliESDresolMakerFast.cxx:80 AliESDresolMakerFast.cxx:81 AliESDresolMakerFast.cxx:82 AliESDresolMakerFast.cxx:83 AliESDresolMakerFast.cxx:84 AliESDresolMakerFast.cxx:85 AliESDresolMakerFast.cxx:86 AliESDresolMakerFast.cxx:87 AliESDresolMakerFast.cxx:88 AliESDresolMakerFast.cxx:89 AliESDresolMakerFast.cxx:90 AliESDresolMakerFast.cxx:91 AliESDresolMakerFast.cxx:92 AliESDresolMakerFast.cxx:93 AliESDresolMakerFast.cxx:94 AliESDresolMakerFast.cxx:95 AliESDresolMakerFast.cxx:96 AliESDresolMakerFast.cxx:97 AliESDresolMakerFast.cxx:98 AliESDresolMakerFast.cxx:99 AliESDresolMakerFast.cxx:100 AliESDresolMakerFast.cxx:101 AliESDresolMakerFast.cxx:102 AliESDresolMakerFast.cxx:103 AliESDresolMakerFast.cxx:104 AliESDresolMakerFast.cxx:105 AliESDresolMakerFast.cxx:106 AliESDresolMakerFast.cxx:107 AliESDresolMakerFast.cxx:108 AliESDresolMakerFast.cxx:109 AliESDresolMakerFast.cxx:110 AliESDresolMakerFast.cxx:111 AliESDresolMakerFast.cxx:112 AliESDresolMakerFast.cxx:113 AliESDresolMakerFast.cxx:114 AliESDresolMakerFast.cxx:115 AliESDresolMakerFast.cxx:116 AliESDresolMakerFast.cxx:117 AliESDresolMakerFast.cxx:118 AliESDresolMakerFast.cxx:119 AliESDresolMakerFast.cxx:120 AliESDresolMakerFast.cxx:121 AliESDresolMakerFast.cxx:122 AliESDresolMakerFast.cxx:123 AliESDresolMakerFast.cxx:124 AliESDresolMakerFast.cxx:125 AliESDresolMakerFast.cxx:126 AliESDresolMakerFast.cxx:127 AliESDresolMakerFast.cxx:128 AliESDresolMakerFast.cxx:129 AliESDresolMakerFast.cxx:130 AliESDresolMakerFast.cxx:131 AliESDresolMakerFast.cxx:132 AliESDresolMakerFast.cxx:133 AliESDresolMakerFast.cxx:134 AliESDresolMakerFast.cxx:135 AliESDresolMakerFast.cxx:136 AliESDresolMakerFast.cxx:137 AliESDresolMakerFast.cxx:138 AliESDresolMakerFast.cxx:139 AliESDresolMakerFast.cxx:140 AliESDresolMakerFast.cxx:141 AliESDresolMakerFast.cxx:142 AliESDresolMakerFast.cxx:143 AliESDresolMakerFast.cxx:144 AliESDresolMakerFast.cxx:145 AliESDresolMakerFast.cxx:146 AliESDresolMakerFast.cxx:147 AliESDresolMakerFast.cxx:148 AliESDresolMakerFast.cxx:149 AliESDresolMakerFast.cxx:150 AliESDresolMakerFast.cxx:151 AliESDresolMakerFast.cxx:152 AliESDresolMakerFast.cxx:153 AliESDresolMakerFast.cxx:154 AliESDresolMakerFast.cxx:155 AliESDresolMakerFast.cxx:156 AliESDresolMakerFast.cxx:157 AliESDresolMakerFast.cxx:158 AliESDresolMakerFast.cxx:159 AliESDresolMakerFast.cxx:160 AliESDresolMakerFast.cxx:161 AliESDresolMakerFast.cxx:162 AliESDresolMakerFast.cxx:163 AliESDresolMakerFast.cxx:164 AliESDresolMakerFast.cxx:165 AliESDresolMakerFast.cxx:166 AliESDresolMakerFast.cxx:167 AliESDresolMakerFast.cxx:168 AliESDresolMakerFast.cxx:169 AliESDresolMakerFast.cxx:170 AliESDresolMakerFast.cxx:171 AliESDresolMakerFast.cxx:172 AliESDresolMakerFast.cxx:173 AliESDresolMakerFast.cxx:174 AliESDresolMakerFast.cxx:175 AliESDresolMakerFast.cxx:176 AliESDresolMakerFast.cxx:177 AliESDresolMakerFast.cxx:178 AliESDresolMakerFast.cxx:179 AliESDresolMakerFast.cxx:180 AliESDresolMakerFast.cxx:181 AliESDresolMakerFast.cxx:182 AliESDresolMakerFast.cxx:183 AliESDresolMakerFast.cxx:184 AliESDresolMakerFast.cxx:185 AliESDresolMakerFast.cxx:186 AliESDresolMakerFast.cxx:187 AliESDresolMakerFast.cxx:188 AliESDresolMakerFast.cxx:189 AliESDresolMakerFast.cxx:190 AliESDresolMakerFast.cxx:191 AliESDresolMakerFast.cxx:192 AliESDresolMakerFast.cxx:193 AliESDresolMakerFast.cxx:194 AliESDresolMakerFast.cxx:195 AliESDresolMakerFast.cxx:196 AliESDresolMakerFast.cxx:197 AliESDresolMakerFast.cxx:198 AliESDresolMakerFast.cxx:199 AliESDresolMakerFast.cxx:200 AliESDresolMakerFast.cxx:201 AliESDresolMakerFast.cxx:202 AliESDresolMakerFast.cxx:203 AliESDresolMakerFast.cxx:204 AliESDresolMakerFast.cxx:205 AliESDresolMakerFast.cxx:206 AliESDresolMakerFast.cxx:207 AliESDresolMakerFast.cxx:208 AliESDresolMakerFast.cxx:209 AliESDresolMakerFast.cxx:210 AliESDresolMakerFast.cxx:211 AliESDresolMakerFast.cxx:212 AliESDresolMakerFast.cxx:213 AliESDresolMakerFast.cxx:214 AliESDresolMakerFast.cxx:215 AliESDresolMakerFast.cxx:216 AliESDresolMakerFast.cxx:217 AliESDresolMakerFast.cxx:218 AliESDresolMakerFast.cxx:219 AliESDresolMakerFast.cxx:220 AliESDresolMakerFast.cxx:221 AliESDresolMakerFast.cxx:222 AliESDresolMakerFast.cxx:223