]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCtrackerParam.cxx
Use the doc file instead of the oofice (Marian)
[u/mrichter/AliRoot.git] / TPC / AliTPCtrackerParam.cxx
index bd4c3c72cb7334db042108d65b6faf83dde2b1db..022fa1eeb326878dc0351c705e857879acbfe85e 100644 (file)
@@ -76,6 +76,7 @@
 #include <TStyle.h>
 #include <TSystem.h>
 #include <TFile.h>
+#include <TRandom.h>
 //------ AliRoot headers ------
 #include "AliGausCorr.h"
 #include "AliTracker.h"
@@ -89,6 +90,7 @@
 #include "AliTPCtrack.h"
 #include "AliTPCtrackerParam.h"
 #include "AliTrackReference.h"
+#include "AliESDtrack.h"
 //-----------------------------
 
 Double_t RegFunc(Double_t *x,Double_t *par) {
@@ -120,15 +122,53 @@ ClassImp(AliTPCtrackerParam)
 
 //-----------------------------------------------------------------------------
 AliTPCtrackerParam::AliTPCtrackerParam(Int_t kcoll, Double_t kBz,
-                                      const char* evfoldname):
-  fEvFolderName(evfoldname) {
+                                      const char* evfoldname):TObject(),
+    fEvFolderName(evfoldname),
+    fBz(kBz),
+    fColl(kcoll),
+    fSelAndSmear(kTRUE),
+    fDBfileName(""),
+    fTrack(),
+    fCovTree(0),
+    fDBgrid(0),
+    fDBgridPi(),
+    fDBgridKa(),
+    fDBgridPr(),
+    fDBgridEl(),
+    fDBgridMu(),
+    fEff(0),
+    fEffPi(),
+    fEffKa(),
+    fEffPr(),
+    fEffEl(),
+    fEffMu(),
+    fPulls(0),
+    fRegPar(0),
+    fRegParPi(),
+    fRegParKa(),
+    fRegParPr(),
+    fRegParEl(),
+    fRegParMu(),
+    fdEdxMean(0),
+    fdEdxMeanPi(),
+    fdEdxMeanKa(),
+    fdEdxMeanPr(),
+    fdEdxMeanEl(),
+    fdEdxMeanMu(),
+    fdEdxRMS(0),
+    fdEdxRMSPi(),
+    fdEdxRMSKa(),
+    fdEdxRMSPr(),
+    fdEdxRMSEl(),
+    fdEdxRMSMu() 
+{
 //-----------------------------------------------------------------------------
 // This is the class conctructor 
 //-----------------------------------------------------------------------------
 
-  fBz = kBz;             // value of the z component of L3 field (Tesla)
-  fColl = kcoll;         // collision code (0: PbPb6000; 1: pp)
-  fSelAndSmear = kTRUE; // by default selection and smearing are done
+  // fBz = kBz;             // value of the z component of L3 field (Tesla)
+  //  fColl = kcoll;         // collision code (0: PbPb6000; 1: pp)
+  //  fSelAndSmear = kTRUE; // by default selection and smearing are done
 
   if(fBz!=0.4 && fBz!=0.5) {
     Fatal("AliTPCtrackerParam","AliTPCtrackerParam::AliTPCtrackerParam:  Invalid field!\n      Available:  0.4 or 0.5");
@@ -149,7 +189,46 @@ AliTPCtrackerParam::AliTPCtrackerParam(Int_t kcoll, Double_t kBz,
 //-----------------------------------------------------------------------------
 AliTPCtrackerParam::~AliTPCtrackerParam() {}
 //____________________________________________________________________________
-AliTPCtrackerParam::AliTPCtrackerParam( const AliTPCtrackerParam& p):TObject(p)
+AliTPCtrackerParam::AliTPCtrackerParam( const AliTPCtrackerParam& p)
+    :TObject(p),
+    fEvFolderName(""),
+    fBz(0.),
+    fColl(0),
+    fSelAndSmear(0),
+    fDBfileName(""),
+    fTrack(),
+    fCovTree(0),
+    fDBgrid(0),
+    fDBgridPi(),
+    fDBgridKa(),
+    fDBgridPr(),
+    fDBgridEl(),
+    fDBgridMu(),
+    fEff(0),
+    fEffPi(),
+    fEffKa(),
+    fEffPr(),
+    fEffEl(),
+    fEffMu(),
+    fPulls(0),
+    fRegPar(0),
+    fRegParPi(),
+    fRegParKa(),
+    fRegParPr(),
+    fRegParEl(),
+    fRegParMu(),
+    fdEdxMean(0),
+    fdEdxMeanPi(),
+    fdEdxMeanKa(),
+    fdEdxMeanPr(),
+    fdEdxMeanEl(),
+    fdEdxMeanMu(),
+    fdEdxRMS(0),
+    fdEdxRMSPi(),
+    fdEdxRMSKa(),
+    fdEdxRMSPr(),
+    fdEdxRMSEl(),
+    fdEdxRMSMu() 
 {
   // dummy copy constructor
 }
@@ -157,17 +236,23 @@ AliTPCtrackerParam::AliTPCtrackerParam( const AliTPCtrackerParam& p):TObject(p)
 AliTPCtrackerParam::AliTPCseedGeant::AliTPCseedGeant(
                    Double_t x,Double_t y,Double_t z,
                    Double_t px,Double_t py,Double_t pz,
-                   Int_t lab) {
+                   Int_t lab)
+                    :TObject(),
+      fXg(x),
+      fYg(y),
+      fZg(z),
+      fPx(px),
+      fPy(py),
+      fPz(pz),
+      fAlpha(0.),
+      fLabel(lab),
+      fSector(0)
+{
 //----------------------------------------------------------------------------
 // Constructor of the geant seeds
 //----------------------------------------------------------------------------
-      fXg = x;
-      fYg = y;
-      fZg = z;
-      fPx = px;
-      fPy = py;
-      fPz = pz;
-      fLabel = lab;
+
       Double_t a = TMath::ATan2(y,x)*180./TMath::Pi();
       if(a<0) a += 360.;
       fSector = (Int_t)(a/20.);
@@ -209,7 +294,7 @@ Int_t AliTPCtrackerParam::Init() {
   return 0;
 }
 //-----------------------------------------------------------------------------
-Int_t AliTPCtrackerParam::BuildTPCtracks(AliESD *event) {
+Int_t AliTPCtrackerParam::BuildTPCtracks(AliESDEvent *event) {
 //-----------------------------------------------------------------------------
 // This function creates the TPC parameterized tracks and writes them
 // as AliESDtrack objects in the ESD event
@@ -264,7 +349,7 @@ Int_t AliTPCtrackerParam::BuildTPCtracks(AliESD *event) {
   Int_t        nParticles,nSeeds,arrentr;
   //Int_t nSel=0,nAcc=0;
 
-  Int_t evt=event->GetEventNumber();
+  Int_t evt=event->GetEventNumberInFile(); // This is most likely NOT the event number you'd like to use. It has nothing to do with the 'real' event number.
   
   tracks=0;
 
@@ -963,7 +1048,7 @@ void AliTPCtrackerParam::BuildTrack(AliTPCseedGeant *s,Int_t ch) {
 //-----------------------------------------------------------------------------
   Double_t xref = s->GetXL();
   Double_t xx[5],cc[15];
-  cc[0]=cc[2]=cc[5]=cc[9]=cc[14]=10.;
+  cc[0]=cc[2]=cc[5]=cc[9]=cc[14]=0.;
   cc[1]=cc[3]=cc[4]=cc[6]=cc[7]=cc[8]=cc[10]=cc[11]=cc[12]=cc[13]=0.;
   
   // Magnetic field
@@ -1174,7 +1259,7 @@ void AliTPCtrackerParam::CompareTPCtracks(
       cmptrk.eta = part->Eta();
       cmptrk.r = TMath::Sqrt(part->Vx()*part->Vx()+part->Vy()*part->Vy());
       
-      cmptrk.pt   = 1/TMath::Abs(geatrack->Get1Pt());
+      cmptrk.pt   = geatrack->Pt();
       cmptrk.cosl = TMath::Cos(TMath::ATan(geatrack->GetTgl()));
       cmptrk.p    = cmptrk.pt/cmptrk.cosl;
     
@@ -1214,7 +1299,7 @@ void AliTPCtrackerParam::CompareTPCtracks(
       cmptrk.dP2 = kaltrack->GetSnp()-geatrack->GetSnp();
       cmptrk.dP3 = kaltrack->GetTgl()-geatrack->GetTgl();
       cmptrk.dP4 = kaltrack->GetC()-geatrack->GetC();
-      cmptrk.dpt = 1/kaltrack->Get1Pt()-1/geatrack->Get1Pt();
+      cmptrk.dpt = 1/kaltrack->GetSigned1Pt()-1/geatrack->GetSigned1Pt();
     
       // get covariance matrix
       // beware: lines 3 and 4 in the matrix are inverted!
@@ -1375,7 +1460,7 @@ void AliTPCtrackerParam::CookTrack(Double_t pt,Double_t eta) {
 
   // get P and Cosl from track
   cosl = TMath::Cos(TMath::ATan(fTrack.GetTgl()));
-  p    = 1./TMath::Abs(fTrack.Get1Pt())/cosl;
+  p    = fTrack.Pt()/cosl;
 
   trkKine[0] = p;