1 /// \file AliTPCclusterAnalysis.C
5 /// gSystem->Load("libSTAT");
7 /// .L $ALICE_ROOT/TPC/fastSimul/AliTPCclusterFast.cxx+
8 /// .L $ALICE_ROOT/TPC/fastSimul/AliTPCclusterAnalysis.C
18 TChain * treeCluster=0;
20 AliTPCfastTrack * track =0;
22 void LoadTree(const char* fname="cluterSimul.root"){
25 treeCluster = new TChain("simul","simul");
26 treeCluster->AddFile(fname);
29 void LoadTrack(const char* fname="trackerSimul.root"){
32 treeTrack = new TChain("simulTrack","simulTrack");
33 treeTrack->AddFile(fname);
43 void MakeQNormalization(Int_t maxPoints){
44 /// Normalize Q to the diffusion and angular effect
53 fstringQ+="abs(fAngleY)++";
54 fstringQ+="abs(fAngleZ)++";
58 strQmax = toolkit.FitPlane(treeCluster,"s.GetQmax(0.33,2.5,1,1,1)/s.fNtot",fstringQ.Data(), "", chi2,npoints,fitParam,covMatrix,-1,0,50000);
59 printf("Qmax norm\t%f\n",TMath::Sqrt(chi2/npoints));
60 strQmax->Tokenize("++")->Print();
61 treeCluster->SetAlias("qMaxCorr",strQmax->Data());
63 strQtot = toolkit.FitPlane(treeCluster,"s.GetQtot(0.33,2.5,1,1,1)/s.fNtot",fstringQ.Data(),"", chi2,npoints,fitParam,covMatrix,-1,0,50000);
64 printf("Qmax norm\t%f\n",TMath::Sqrt(chi2/npoints));
65 strQtot->Tokenize("++")->Print();
66 treeCluster->SetAlias("qTotCorr",strQtot->Data());
75 // Correction tests - normalization of response functions
79 TF2 f2("f2","AliTPCclusterFast::GaussConvolution(x,y,2,0.5,0.5,0.5)",-3,3,-3,3);
81 for (Float_t x=-5; x<5; x+=0.5) for (Float_t y=-5; y<5; y+=0.5) sumg+=f2->Eval(x,y);
87 Double_t testSumGaus(Float_t k0,Float_t k1, Float_t s0, Float_t s1){
88 TF2 f2("f2",Form("AliTPCclusterFast::GaussConvolution(x,y,%f,%f,%f,%f)",k0,k1,s0,s1),-2,2,-2,2);
90 for (Float_t x=-5; x<5; x+=0.2) for (Float_t y=-5; y<5; y+=0.2) sumg+=f2.Eval(x,y);
92 printf("%f\t%f\t%f\t%f\t%f\n",k0,k1,s0,s1, sumg);
96 Double_t testSumExp(Float_t s0, Float_t k1){
97 TF1 f1("f1",Form("AliTPCclusterFast::GaussExpConvolution(x,%f,%f)",s0,k1),-2,2);
99 for (Float_t x=-5; x<5; x+=0.2) sumg+=f1.Eval(x);
101 printf("%f\t%f\t%f\t%f\t%f\n",s0,k1, sumg);