]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Some cosmetic changes (A.Dainese)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Mar 2002 08:07:53 +0000 (08:07 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Mar 2002 08:07:53 +0000 (08:07 +0000)
TPC/AliTPCtrackerParam.cxx
TPC/AliTPCtrackerParam.h

index 247f54a1517ec59a56049127802e8a4d5c619c5d..fc666be492d689924801df4484b92e9536185e5f 100644 (file)
  * smeared according to this covariance matrix.                           *
  * Output file contains sorted tracks, ready for matching with ITS        *
  *                                                                        *
- * Test macro is: AliBarrelRec_TPCparam.C                                 * 
+ * For details:                                                           *
+ * http://www.pd.infn.it/alipd/talks/soft/adIII02/TPCtrackingParam.htm    *
+ *                                                                        *
+ * Test macro is: AliBarrelRec_TPCparam.C                                 *   
  *                                                                        *
  *  Origin: Andrea Dainese, Padova - e-mail: andrea.dainese@pd.infn.it    * 
  *                                                                        *
 #include "AliGausCorr.h"
 
 
-
-
 ClassImp(AliTPCtrackerParam)
 
 //-----------------------------------------------------------------
 AliTPCtrackerParam::AliTPCtrackerParam(const Int_t coll,const Double_t Bz) 
 {
+//-----------------------------------------------------------------
+// This is the class conctructor 
+//-----------------------------------------------------------------
+
   fColl = coll; // collision code (0: PbPb6000)
   fBz = Bz;     // value of the z component of L3 field (Tesla)
   
@@ -54,7 +59,10 @@ AliTPCtrackerParam::~AliTPCtrackerParam()
 
 Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
 {
+//----------------------------------------------------------------- 
+// This function creates the TPC parameterized tracks
+//-----------------------------------------------------------------
+
   if(fColl!=0) { 
     cerr<<"AliTPCtrackerParam::BuildTPCtracks:  Invalid collision!\n";
     cerr<<"      Available:  0   ->   PbPb6000"<<endl; return 0; 
@@ -123,11 +131,11 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
     TParticle* Part;
     AliTPChit* tpcHit;
     Double_t hPx,hPy,hPz,hPt,xg,yg,zg,xl,yl,zl;
-    Double_t Alpha;
+    Double_t alpha;
     Float_t cosAlpha,sinAlpha;
-    Int_t label,Pdg,charge,bin;
+    Int_t label,pdg,charge,bin;
     Int_t tracks=0;
-    //Int_t N1=0,N2=0;
+    //Int_t nSel=0,nAcc=0;
 
     // loop over entries in TreeH
     for(Int_t i=0; i<ntracks; i++) {
@@ -150,9 +158,9 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
        if(done[label]) continue;
        // electric charge
        Part = gAlice->Particle(label);
-       Pdg = Part->GetPdgCode();
-       if(Pdg>200 || Pdg==-11 || Pdg==-13) { charge=1; }
-       else if(Pdg<-200 || Pdg==11 || Pdg==13) { charge=-1; }
+       pdg = Part->GetPdgCode();
+       if(pdg>200 || pdg==-11 || pdg==-13) { charge=1; }
+       else if(pdg<-200 || pdg==11 || pdg==13) { charge=-1; }
        else continue;
 
 
@@ -165,7 +173,7 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
        // Get TPC sector, Alpha angle and local coordinates
        // printf("Sector %d\n",tpcHit->fSector);
        digp->AdjustCosSin(tpcHit->fSector,cosAlpha,sinAlpha);
-       Alpha = TMath::ATan2(sinAlpha,cosAlpha);
+       alpha = TMath::ATan2(sinAlpha,cosAlpha);
        xl = xg*cosAlpha + yg*sinAlpha;
        yl =-xg*sinAlpha + yg*cosAlpha;
        zl = zg;
@@ -178,15 +186,15 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
        bin = GetBin(hPt,Part->Eta());
 
        // Apply selection according to TPC efficiency
-       //if(abs(Pdg)==211) N1++;
-       if(!SelectedTrack(Pdg,hPt,Part->Eta())) continue; 
-       //if(abs(Pdg)==211) N2++;
+       //if(TMath::Abs(pdg)==211) nAcc++;
+       if(!SelectedTrack(pdg,hPt,Part->Eta())) continue; 
+       //if(TMath::Abs(pdg)==211) nSel++;
 
        // Mark track as "done"
        done[label]=kTRUE; tracks++;
  
        // create AliTPCtrack object
-       tpctrack = BuildTrack(Alpha,xl,yl,zl,hPx,hPy,hPz,hPt,charge,label);
+       tpctrack = BuildTrack(alpha,xl,yl,zl,hPx,hPy,hPz,hPt,charge,label);
 
        // put track in array
        tarray.AddLast(tpctrack);
@@ -218,7 +226,7 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
     delete tracktree;
 
     printf("\n\n+++\n+++ Number of TPC tracks: %d\n+++\n",tracks);
-    //printf("Average Eff: %f\n",(Float_t)N2/N1);
+    //printf("Average Eff: %f\n",(Float_t)nSel/nAcc);
 
   } // loop on events
 
@@ -227,36 +235,39 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(const TFile *inp, TFile *out, Int_t n)
 
 //-----------------------------------------------------------------
 AliTPCtrack* AliTPCtrackerParam::BuildTrack(Double_t alpha,Double_t x,
-                                           Double_t y,Double_t z,Double_t Px,
-                                           Double_t Py,Double_t Pz,Double_t Pt,
-                                           Int_t ch,Int_t lab) 
+                                           Double_t y,Double_t z,Double_t px,
+                                           Double_t py,Double_t pz,Double_t pt,
+                                           Int_t ch,Int_t lab) const
 {  
+//-----------------------------------------------------------------
+// This function uses GEANT info to set true track parameters
+//-----------------------------------------------------------------
   Double_t xref = x;
   Double_t xx[5],cc[15];
   cc[0]=cc[2]=cc[5]=cc[9]=cc[14]=10.;
   cc[1]=cc[3]=cc[4]=cc[6]=cc[7]=cc[8]=cc[10]=cc[11]=cc[12]=cc[13]=0.;
   
   // Magnetic field
-  TVector3 Bfield(0.,0.,fBz);
+  TVector3 bfield(0.,0.,fBz);
   
   
   // radius [cm] of track projection in (x,y) 
-  Double_t rho = Pt*100/0.299792458/Bfield.Z();
+  Double_t rho = pt*100./0.299792458/bfield.Z();
   // center of track projection in local reference frame
-  TVector3 MomH,PosH;
+  TVector3 hmom,hpos;
 
 
   // position (local) and momentum (local) at the hit
   // in the bending plane (z=0)
-  PosH.SetXYZ(x,y,0.);
-  MomH.SetXYZ(Px*TMath::Cos(alpha)+Py*TMath::Sin(alpha),-Px*TMath::Sin(alpha)+Py*TMath::Cos(alpha),0.);
-  TVector3 Vrho = MomH.Cross(Bfield);
-  Vrho *= ch;
-  Vrho.SetMag(rho);
+  hpos.SetXYZ(x,y,0.);
+  hmom.SetXYZ(px*TMath::Cos(alpha)+py*TMath::Sin(alpha),-px*TMath::Sin(alpha)+py*TMath::Cos(alpha),0.);
+  TVector3 vrho = hmom.Cross(bfield);
+  vrho *= ch;
+  vrho.SetMag(rho);
 
-  TVector3 Vcenter = PosH+Vrho;
+  TVector3 vcenter = hpos+vrho;
 
-  Double_t x0 = Vcenter.X();
+  Double_t x0 = vcenter.X();
 
   // fX     = xref         X-coordinate of this track (reference plane)
   // fAlpha = Alpha        Rotation angle the local (TPC sector) 
@@ -267,7 +278,7 @@ AliTPCtrack* AliTPCtrackerParam::BuildTrack(Double_t alpha,Double_t x,
   // fP4    = C            track curvature
   xx[0] = y;
   xx[1] = z;
-  xx[3] = Pz/Pt;
+  xx[3] = pz/pt;
   xx[4] = -ch/rho;
   xx[2] = xx[4]*x0;
 
@@ -281,7 +292,11 @@ AliTPCtrack* AliTPCtrackerParam::BuildTrack(Double_t alpha,Double_t x,
 
 //-----------------------------------------------------------------
 Bool_t AliTPCtrackerParam::SelectedTrack(Int_t pdg,Double_t pt,Double_t eta) 
-{
+ const {
+//-----------------------------------------------------------------
+// This function makes a selection according to TPC tracking efficiency
+//-----------------------------------------------------------------
+
   Double_t eff=0.;
   
   //eff computed with | zl+(244-xl)*pz/pt | < 252
@@ -305,39 +320,44 @@ Bool_t AliTPCtrackerParam::SelectedTrack(Int_t pdg,Double_t pt,Double_t eta)
 
 //-----------------------------------------------------------------
 Double_t AliTPCtrackerParam::LinearInterpolation(Int_t ptBins,Double_t *value,
-                                                Double_t pt,Double_t eta) 
+                                                Double_t trkPt,Double_t trkEta) const
 {
-  Double_t kValue=0,kValue1=0,kValue2=0;
-  Int_t kEtaSide = (TMath::Abs(eta)<.45 ? 0 : 1);
-  Double_t kEta[3]={0.15,0.45,0.75};
-  Double_t kPt[9]={0.244,0.390,0.676,1.190,2.36,4.,6.,10.,20.};
-  if(ptBins==6) kPt[5]=10.;
+//-----------------------------------------------------------------
+// This function makes a linear interpolation
+//-----------------------------------------------------------------
+  Double_t intValue=0,intValue1=0,intValue2=0;
+  Int_t etaSide = (TMath::Abs(trkEta)<.45 ? 0 : 1);
+  Double_t eta[3]={0.15,0.45,0.75};
+  Double_t pt[9]={0.244,0.390,0.676,1.190,2.36,4.,6.,10.,20.};
+  if(ptBins==6) pt[5]=10.;
 
   for(Int_t i=0; i<ptBins; i++) {
-    if(pt<kPt[i]) {
+    if(trkPt<pt[i]) {
       if(i==0) i=1;
-      kValue1 = value[3*i-3+kEtaSide]+(value[3*i-3+kEtaSide]-value[3*i+kEtaSide])/(kPt[i-1]-kPt[i])*(pt-kPt[i-1]);
-      kValue2 = value[3*i-3+kEtaSide+1]+(value[3*i-3+kEtaSide+1]-value[3*i+kEtaSide+1])/(kPt[i-1]-kPt[i])*(pt-kPt[i-1]);
+      intValue1 = value[3*i-3+etaSide]+(value[3*i-3+etaSide]-value[3*i+etaSide])/(pt[i-1]-pt[i])*(trkPt-pt[i-1]);
+      intValue2 = value[3*i-3+etaSide+1]+(value[3*i-3+etaSide+1]-value[3*i+etaSide+1])/(pt[i-1]-pt[i])*(trkPt-pt[i-1]);
 
-      kValue = kValue1+(kValue1-kValue2)/(kEta[kEtaSide]-kEta[kEtaSide+1])*(eta-kEta[kEtaSide]);
+      intValue = intValue1+(intValue1-intValue2)/(eta[etaSide]-eta[etaSide+1])*(trkEta-eta[etaSide]);
       break;
     }
     if(i==ptBins-1) { 
       i=ptBins-2;
-      kValue1 = value[3*i-3+kEtaSide]+(value[3*i-3+kEtaSide]-value[3*i+kEtaSide])/(kPt[i-1]-kPt[i])*(pt-kPt[i-1]);
-      kValue2 = value[3*i-3+kEtaSide+1]+(value[3*i-3+kEtaSide+1]-value[3*i+kEtaSide+1])/(kPt[i-1]-kPt[i])*(pt-kPt[i-1]);
+      intValue1 = value[3*i-3+etaSide]+(value[3*i-3+etaSide]-value[3*i+etaSide])/(pt[i-1]-pt[i])*(trkPt-pt[i-1]);
+      intValue2 = value[3*i-3+etaSide+1]+(value[3*i-3+etaSide+1]-value[3*i+etaSide+1])/(pt[i-1]-pt[i])*(trkPt-pt[i-1]);
 
-      kValue = kValue1+(kValue1-kValue2)/(kEta[kEtaSide]-kEta[kEtaSide+1])*(eta-kEta[kEtaSide]);
+      intValue = intValue1+(intValue1-intValue2)/(eta[etaSide]-eta[etaSide+1])*(trkEta-eta[etaSide]);
       break;
     }
   }
 
-  return kValue;
+  return intValue;
 }
 
 //-----------------------------------------------------------------
-Int_t AliTPCtrackerParam::GetBin(Double_t pt,Double_t eta) {
-
+Int_t AliTPCtrackerParam::GetBin(Double_t pt,Double_t eta) const {
+//-----------------------------------------------------------------
+// This function tells bin number in a grid (pT,eta) 
+//-----------------------------------------------------------------
   if(TMath::Abs(eta)<0.3) {
     if(pt<0.3)            return 0;
     if(pt>=0.3 && pt<0.5) return 3;
@@ -377,31 +397,33 @@ Int_t AliTPCtrackerParam::GetBin(Double_t pt,Double_t eta) {
 }
 
 //-----------------------------------------------------------------
-
-TMatrixD AliTPCtrackerParam::GetSmearingMatrix(Double_t* cc,Double_t pt,Double_t eta) 
+TMatrixD AliTPCtrackerParam::GetSmearingMatrix(Double_t* cc,Double_t pt,Double_t eta) const
 {
-  TMatrixD CovMat(5,5);
-
-  CovMat(0,0)=cc[0];
-  CovMat(1,0)=cc[1];  CovMat(0,1)=CovMat(1,0);
-  CovMat(1,1)=cc[2];
-  CovMat(2,0)=cc[3];  CovMat(0,2)=CovMat(2,0);
-  CovMat(2,1)=cc[4];  CovMat(1,2)=CovMat(2,1);
-  CovMat(2,2)=cc[5];
-  CovMat(3,0)=cc[6];  CovMat(0,3)=CovMat(3,0);
-  CovMat(3,1)=cc[7];  CovMat(1,3)=CovMat(3,1);
-  CovMat(3,2)=cc[8];  CovMat(2,3)=CovMat(3,2);
-  CovMat(3,3)=cc[9];
-  CovMat(4,0)=cc[10]; CovMat(0,4)=CovMat(4,0);
-  CovMat(4,1)=cc[11]; CovMat(1,4)=CovMat(4,1);
-  CovMat(4,2)=cc[12]; CovMat(2,4)=CovMat(4,2);
-  CovMat(4,3)=cc[13]; CovMat(3,4)=CovMat(4,3);
-  CovMat(4,4)=cc[14];
-
-  TMatrixD ScaleMat(5,5);
+//-----------------------------------------------------------------
+// This function stretches the covariance matrix according to the pulls
+//-----------------------------------------------------------------
+  TMatrixD covMat(5,5);
+
+  covMat(0,0)=cc[0];
+  covMat(1,0)=cc[1];  covMat(0,1)=covMat(1,0);
+  covMat(1,1)=cc[2];
+  covMat(2,0)=cc[3];  covMat(0,2)=covMat(2,0);
+  covMat(2,1)=cc[4];  covMat(1,2)=covMat(2,1);
+  covMat(2,2)=cc[5];
+  covMat(3,0)=cc[6];  covMat(0,3)=covMat(3,0);
+  covMat(3,1)=cc[7];  covMat(1,3)=covMat(3,1);
+  covMat(3,2)=cc[8];  covMat(2,3)=covMat(3,2);
+  covMat(3,3)=cc[9];
+  covMat(4,0)=cc[10]; covMat(0,4)=covMat(4,0);
+  covMat(4,1)=cc[11]; covMat(1,4)=covMat(4,1);
+  covMat(4,2)=cc[12]; covMat(2,4)=covMat(4,2);
+  covMat(4,3)=cc[13]; covMat(3,4)=covMat(4,3);
+  covMat(4,4)=cc[14];
+
+  TMatrixD stretchMat(5,5);
   for(Int_t k=0;k<5;k++) {
     for(Int_t l=0;l<5;l++) {
-      ScaleMat(k,l)=0.;
+      stretchMat(k,l)=0.;
     }
   }
 
@@ -413,22 +435,24 @@ TMatrixD AliTPCtrackerParam::GetSmearingMatrix(Double_t* cc,Double_t pt,Double_t
   Double_t s44[27]={1.1104,1.0789,1.0479,1.1597,1.1234,1.0728,1.2087,1.1602,1.1041,1.1942,1.1428,1.0831,1.1572,1.1036,1.0431,1.1296,1.0498,0.9844,1.1145,1.0266,0.9489,1.0959,1.0450,0.9875,1.0775,1.0266,0.9406};
 
 
-  ScaleMat(0,0) = LinearInterpolation(9,s00,pt,eta); 
-  ScaleMat(1,1) = LinearInterpolation(9,s11,pt,eta); 
-  ScaleMat(2,2) = LinearInterpolation(9,s22,pt,eta); 
-  ScaleMat(3,3) = LinearInterpolation(9,s33,pt,eta); 
-  ScaleMat(4,4) = LinearInterpolation(9,s44,pt,eta); 
+  stretchMat(0,0) = LinearInterpolation(9,s00,pt,eta); 
+  stretchMat(1,1) = LinearInterpolation(9,s11,pt,eta); 
+  stretchMat(2,2) = LinearInterpolation(9,s22,pt,eta); 
+  stretchMat(3,3) = LinearInterpolation(9,s33,pt,eta); 
+  stretchMat(4,4) = LinearInterpolation(9,s44,pt,eta); 
 
-  TMatrixD Mat(ScaleMat,TMatrixD::kMult,CovMat);
-  TMatrixD CovMatSmear(Mat,TMatrixD::kMult,ScaleMat);
+  TMatrixD mat(stretchMat,TMatrixD::kMult,covMat);
+  TMatrixD covMatSmear(mat,TMatrixD::kMult,stretchMat);
 
 
-  return CovMatSmear;
+  return covMatSmear;
 }
 
 //-----------------------------------------------------------------
-void AliTPCtrackerParam::SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov) {
-
+void AliTPCtrackerParam::SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov)  const {
+//-----------------------------------------------------------------
+// This function smears track parameters according to streched cov. matrix
+//-----------------------------------------------------------------
   AliGausCorr *corgen = new AliGausCorr(cov,5);
   TArrayD corr(5);
   corgen->GetGaussN(corr);
@@ -444,17 +468,21 @@ void AliTPCtrackerParam::SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov) {
 
 //-----------------------------------------------------------------
 void AliTPCtrackerParam::CookTracks(TObjArray& tarray,TObjArray& newtarray) 
-{
-  TString* s = new TString("$ALICE_ROOT/TPC/CovMatrixDB_");
-  if(fColl==0) s->Append("PbPb6000");
-  if(fBz==0.4) s->Append("_B0.4T.root");  
+const {
+//-----------------------------------------------------------------
+// This function deals with covariance matrix and smearing
+//-----------------------------------------------------------------
+
+  TString s("$ALICE_ROOT/TPC/CovMatrixDB_");
+  if(fColl==0) s.Append("PbPb6000");
+  if(fBz==0.4) s.Append("_B0.4T.root");  
   // open file with matrixes DB
-  TFile* DBfile = new TFile(s->Data());  
+  TFile* fileDB = TFile::Open(s.Data());  
 
   AliTPCtrack* track = 0;
-  Int_t entr = (Int_t)tarray.GetEntriesFast();
+  Int_t arrayEntries = (Int_t)tarray.GetEntriesFast();
 
-  for(Int_t k=0; k<entr; k++) {
+  for(Int_t k=0; k<arrayEntries; k++) {
     track=(AliTPCtrack*)tarray.UncheckedAt(k);  
 
     Double_t pt = 1/TMath::Abs(track->Get1Pt());
@@ -467,40 +495,40 @@ void AliTPCtrackerParam::CookTracks(TObjArray& tarray,TObjArray& newtarray)
     str+=bin;
  
     // get the right tree
-    TTree* CovTree = (TTree*)DBfile->Get(str.Data());
+    TTree* covTree = (TTree*)fileDB->Get(str.Data());
     TArrayF* matrix = new TArrayF; 
-    CovTree->SetBranchAddress("matrixes",&matrix);
+    covTree->SetBranchAddress("matrixes",&matrix);
 
     // get random entry from the tree
-    Int_t Entries = (Int_t)CovTree->GetEntries();
-    CovTree->GetEvent(gRandom->Integer(Entries));
+    Int_t treeEntries = (Int_t)covTree->GetEntries();
+    covTree->GetEvent(gRandom->Integer(treeEntries));
 
     Double_t xref,alpha,xx[5],xxsm[5],cc[15];
     Int_t lab;
     // get P and Cosl from track
-    Double_t Cosl = TMath::Cos(TMath::ATan(track->GetTgl()));
-    Double_t P = 1/TMath::Abs(track->Get1Pt())/Cosl;
+    Double_t cosl = TMath::Cos(TMath::ATan(track->GetTgl()));
+    Double_t p = 1/TMath::Abs(track->Get1Pt())/cosl;
     
     // get covariance matrix from regularized matrix
-    cc[0]=matrix->At(0)*(1.588e-3+1.911e-4/TMath::Power(P,1.5));
+    cc[0]=matrix->At(0)*(1.588e-3+1.911e-4/TMath::Power(p,1.5));
     cc[1]=matrix->At(1);
-    cc[2]=matrix->At(2)*(1.195e-3+0.8102e-3/P);
-    cc[3]=matrix->At(3)*(7.275e-5+1.181e-5/TMath::Power(P,1.5));
+    cc[2]=matrix->At(2)*(1.195e-3+0.8102e-3/p);
+    cc[3]=matrix->At(3)*(7.275e-5+1.181e-5/TMath::Power(p,1.5));
     cc[4]=matrix->At(4);
-    cc[5]=matrix->At(5)*(5.163e-6+1.138e-6/TMath::Power(P,2.)/Cosl);
+    cc[5]=matrix->At(5)*(5.163e-6+1.138e-6/TMath::Power(p,2.)/cosl);
     cc[6]=matrix->At(6);
-    cc[7]=matrix->At(7)*(1.176e-5+1.175e-5/TMath::Power(P,1.5)/Cosl/Cosl/Cosl);
+    cc[7]=matrix->At(7)*(1.176e-5+1.175e-5/TMath::Power(p,1.5)/cosl/cosl/cosl);
     cc[8]=matrix->At(8);
-    cc[9]=matrix->At(9)*(1.289e-7+4.636e-7/TMath::Power(P,1.7)/Cosl/Cosl/Cosl/Cosl);
-    cc[10]=matrix->At(10)*(4.056e-7+4.379e-8/TMath::Power(P,1.5));
+    cc[9]=matrix->At(9)*(1.289e-7+4.636e-7/TMath::Power(p,1.7)/cosl/cosl/cosl/cosl);
+    cc[10]=matrix->At(10)*(4.056e-7+4.379e-8/TMath::Power(p,1.5));
     cc[11]=matrix->At(11);
-    cc[12]=matrix->At(12)*(3.049e-8+8.244e-9/TMath::Power(P,2.)/Cosl);
+    cc[12]=matrix->At(12)*(3.049e-8+8.244e-9/TMath::Power(p,2.)/cosl);
     cc[13]=matrix->At(13);
-    cc[14]=matrix->At(14)*(1.847e-10+5.822e-11/TMath::Power(P,2.)/Cosl/Cosl/Cosl);
+    cc[14]=matrix->At(14)*(1.847e-10+5.822e-11/TMath::Power(p,2.)/cosl/cosl/cosl);
   
-    TMatrixD CovMatSmear(5,5);
+    TMatrixD covMatSmear(5,5);
     
-    CovMatSmear = GetSmearingMatrix(cc,pt,eta);
+    covMatSmear = GetSmearingMatrix(cc,pt,eta);
 
     // get track original parameters
     xref=track->GetX();
@@ -513,7 +541,7 @@ void AliTPCtrackerParam::CookTracks(TObjArray& tarray,TObjArray& newtarray)
     lab=track->GetLabel();
 
     // use smearing matrix to smear the original parameters
-    SmearTrack(xx,xxsm,CovMatSmear);
+    SmearTrack(xx,xxsm,covMatSmear);
 
     AliTPCtrack* tpctrack = new AliTPCtrack(0,xxsm,cc,xref,alpha);
     tpctrack->SetLabel(lab);
@@ -521,14 +549,12 @@ void AliTPCtrackerParam::CookTracks(TObjArray& tarray,TObjArray& newtarray)
     // fill the array
     newtarray.AddLast(tpctrack);
  
-   delete matrix;  
+    delete matrix;  
 
   }
 
-  DBfile->Close();
-
-  delete s;
-  delete DBfile;
+  fileDB->Close();
+  delete fileDB;
 
 
   return; 
index 09cbcf0b72247af8f7bdb3ed373eb9251baa8667..e621a9253ff64f3edacbf05430781835c9daf9ce 100644 (file)
@@ -26,23 +26,23 @@ class AliTPCtrackerParam {
  
   
   AliTPCtrack* BuildTrack(Double_t alpha,Double_t x,Double_t y,Double_t z,
-                         Double_t Px,Double_t Py,Double_t Pz,Double_t Pt,
-                         Int_t ch,Int_t lab);
+                         Double_t px,Double_t py,Double_t pz,Double_t pt,
+                         Int_t ch,Int_t lab) const ;
   
-  Bool_t SelectedTrack(Int_t pdg, Double_t pt, Double_t eta);
+  Bool_t SelectedTrack(Int_t pdg, Double_t pt, Double_t eta) const;
   
-  Int_t GetBin(Double_t pt,Double_t eta);
+  Int_t GetBin(Double_t pt,Double_t eta) const;
   
-  TMatrixD GetSmearingMatrix(Double_t* cc, Double_t pt,Double_t eta);
+  TMatrixD GetSmearingMatrix(Double_t* cc, Double_t pt,Double_t eta) const;
   
-  void SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov);
+  void SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov) const;
 
-  Double_t LinearInterpolation(Int_t ptBins,Double_t *value,Double_t pt,Double_t eta);
+  Double_t LinearInterpolation(Int_t ptBins,Double_t *value,Double_t pt,Double_t eta) const;
   
-  void CookTracks(TObjArray& tarray,TObjArray& newtarray);
+  void CookTracks(TObjArray& tarray,TObjArray& newtarray) const;
   
   
-  ClassDef(AliTPCtrackerParam,1)
+  ClassDef(AliTPCtrackerParam,1) // TPC tracking parameterization class
 };
 
 #endif