ROOT logo
/*
//
// 0. Load libraries
//
gSystem->Load("libSTAT.so");
.x ~/NimStyle.C
.L $ALICE_ROOT/TPC/fastSimul/AliTPCclusterFast.cxx+
.L $ALICE_ROOT/TPC/fastSimul/AliTPCclusterAnalysis.C
//
// 1. load tree
//
LoadTree();
LoadTrack();
//
//
//

*/
TChain * treeCluster=0;
TChain * treeTrack=0;
AliTPCfastTrack * track =0;

void LoadTree(const char* fname="cluterSimul.root"){
  //
  //
  //
  treeCluster = new TChain("simul","simul");
  treeCluster->AddFile(fname);
}

void LoadTrack(const char* fname="trackerSimul.root"){
  //
  //
  //
  treeTrack = new TChain("simulTrack","simulTrack");
  treeTrack->AddFile(fname);
  TFile f(fname);
  
}






void MakeQNormalization(Int_t maxPoints){
  //
  // Normalize Q to the diffusion and angular effect 
  //
  
  TStatToolkit toolkit;
  Double_t chi2;
  TVectorD fitParam;
  TMatrixD covMatrix;
  Int_t npoints;
  TString fstringQ="";
  fstringQ+="fDiff++";
  fstringQ+="abs(fAngleY)++";
  fstringQ+="abs(fAngleZ)++";
  TString *strQmax=0;
  TString *strQtot=0;
  //
  strQmax = toolkit.FitPlane(treeCluster,"s.GetQmax(0.33,2.5,1,1,1)/s.fNtot",fstringQ.Data(), "", chi2,npoints,fitParam,covMatrix,-1,0,50000);
  printf("Qmax norm\t%f\n",TMath::Sqrt(chi2/npoints));
  strQmax->Tokenize("++")->Print();
  treeCluster->SetAlias("qMaxCorr",strQmax->Data());
  //
  strQtot = toolkit.FitPlane(treeCluster,"s.GetQtot(0.33,2.5,1,1,1)/s.fNtot",fstringQ.Data(),"", chi2,npoints,fitParam,covMatrix,-1,0,50000);
  printf("Qmax norm\t%f\n",TMath::Sqrt(chi2/npoints));
  strQtot->Tokenize("++")->Print();
  treeCluster->SetAlias("qTotCorr",strQtot->Data());    
  //
  //
}




//
// Correction tests - normalization of response functions
//

void sum(){
  TF2 f2("f2","AliTPCclusterFast::GaussConvolution(x,y,2,0.5,0.5,0.5)",-3,3,-3,3);
  Float_t sumg=0;
  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);
  printf("%f\n", sumg);
}



Double_t testSumGaus(Float_t k0,Float_t k1, Float_t s0, Float_t s1){
  TF2 f2("f2",Form("AliTPCclusterFast::GaussConvolution(x,y,%f,%f,%f,%f)",k0,k1,s0,s1),-2,2,-2,2);
  Float_t sumg=0;
  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);
  sumg*=0.2*0.2;
  printf("%f\t%f\t%f\t%f\t%f\n",k0,k1,s0,s1, sumg);
  return sumg;
}

Double_t testSumExp(Float_t s0, Float_t k1){
  TF1 f1("f1",Form("AliTPCclusterFast::GaussExpConvolution(x,%f,%f)",s0,k1),-2,2);
  Float_t sumg=0;
  for (Float_t x=-5; x<5; x+=0.2)  sumg+=f1.Eval(x);
  sumg*=0.2;
  printf("%f\t%f\t%f\t%f\t%f\n",s0,k1, sumg);
  return sumg;
}




 AliTPCclusterAnalysis.C:1
 AliTPCclusterAnalysis.C:2
 AliTPCclusterAnalysis.C:3
 AliTPCclusterAnalysis.C:4
 AliTPCclusterAnalysis.C:5
 AliTPCclusterAnalysis.C:6
 AliTPCclusterAnalysis.C:7
 AliTPCclusterAnalysis.C:8
 AliTPCclusterAnalysis.C:9
 AliTPCclusterAnalysis.C:10
 AliTPCclusterAnalysis.C:11
 AliTPCclusterAnalysis.C:12
 AliTPCclusterAnalysis.C:13
 AliTPCclusterAnalysis.C:14
 AliTPCclusterAnalysis.C:15
 AliTPCclusterAnalysis.C:16
 AliTPCclusterAnalysis.C:17
 AliTPCclusterAnalysis.C:18
 AliTPCclusterAnalysis.C:19
 AliTPCclusterAnalysis.C:20
 AliTPCclusterAnalysis.C:21
 AliTPCclusterAnalysis.C:22
 AliTPCclusterAnalysis.C:23
 AliTPCclusterAnalysis.C:24
 AliTPCclusterAnalysis.C:25
 AliTPCclusterAnalysis.C:26
 AliTPCclusterAnalysis.C:27
 AliTPCclusterAnalysis.C:28
 AliTPCclusterAnalysis.C:29
 AliTPCclusterAnalysis.C:30
 AliTPCclusterAnalysis.C:31
 AliTPCclusterAnalysis.C:32
 AliTPCclusterAnalysis.C:33
 AliTPCclusterAnalysis.C:34
 AliTPCclusterAnalysis.C:35
 AliTPCclusterAnalysis.C:36
 AliTPCclusterAnalysis.C:37
 AliTPCclusterAnalysis.C:38
 AliTPCclusterAnalysis.C:39
 AliTPCclusterAnalysis.C:40
 AliTPCclusterAnalysis.C:41
 AliTPCclusterAnalysis.C:42
 AliTPCclusterAnalysis.C:43
 AliTPCclusterAnalysis.C:44
 AliTPCclusterAnalysis.C:45
 AliTPCclusterAnalysis.C:46
 AliTPCclusterAnalysis.C:47
 AliTPCclusterAnalysis.C:48
 AliTPCclusterAnalysis.C:49
 AliTPCclusterAnalysis.C:50
 AliTPCclusterAnalysis.C:51
 AliTPCclusterAnalysis.C:52
 AliTPCclusterAnalysis.C:53
 AliTPCclusterAnalysis.C:54
 AliTPCclusterAnalysis.C:55
 AliTPCclusterAnalysis.C:56
 AliTPCclusterAnalysis.C:57
 AliTPCclusterAnalysis.C:58
 AliTPCclusterAnalysis.C:59
 AliTPCclusterAnalysis.C:60
 AliTPCclusterAnalysis.C:61
 AliTPCclusterAnalysis.C:62
 AliTPCclusterAnalysis.C:63
 AliTPCclusterAnalysis.C:64
 AliTPCclusterAnalysis.C:65
 AliTPCclusterAnalysis.C:66
 AliTPCclusterAnalysis.C:67
 AliTPCclusterAnalysis.C:68
 AliTPCclusterAnalysis.C:69
 AliTPCclusterAnalysis.C:70
 AliTPCclusterAnalysis.C:71
 AliTPCclusterAnalysis.C:72
 AliTPCclusterAnalysis.C:73
 AliTPCclusterAnalysis.C:74
 AliTPCclusterAnalysis.C:75
 AliTPCclusterAnalysis.C:76
 AliTPCclusterAnalysis.C:77
 AliTPCclusterAnalysis.C:78
 AliTPCclusterAnalysis.C:79
 AliTPCclusterAnalysis.C:80
 AliTPCclusterAnalysis.C:81
 AliTPCclusterAnalysis.C:82
 AliTPCclusterAnalysis.C:83
 AliTPCclusterAnalysis.C:84
 AliTPCclusterAnalysis.C:85
 AliTPCclusterAnalysis.C:86
 AliTPCclusterAnalysis.C:87
 AliTPCclusterAnalysis.C:88
 AliTPCclusterAnalysis.C:89
 AliTPCclusterAnalysis.C:90
 AliTPCclusterAnalysis.C:91
 AliTPCclusterAnalysis.C:92
 AliTPCclusterAnalysis.C:93
 AliTPCclusterAnalysis.C:94
 AliTPCclusterAnalysis.C:95
 AliTPCclusterAnalysis.C:96
 AliTPCclusterAnalysis.C:97
 AliTPCclusterAnalysis.C:98
 AliTPCclusterAnalysis.C:99
 AliTPCclusterAnalysis.C:100
 AliTPCclusterAnalysis.C:101
 AliTPCclusterAnalysis.C:102
 AliTPCclusterAnalysis.C:103
 AliTPCclusterAnalysis.C:104
 AliTPCclusterAnalysis.C:105
 AliTPCclusterAnalysis.C:106
 AliTPCclusterAnalysis.C:107
 AliTPCclusterAnalysis.C:108
 AliTPCclusterAnalysis.C:109
 AliTPCclusterAnalysis.C:110
 AliTPCclusterAnalysis.C:111
 AliTPCclusterAnalysis.C:112
 AliTPCclusterAnalysis.C:113