]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSTrackV1.cxx
In Open() and GotoEvent() try the ESD operations first, fallback to run-loader.
[u/mrichter/AliRoot.git] / ITS / AliITSTrackV1.cxx
index c9eb4f472ba5ff938d2e06243a3fe03be4dde385..056c4f3d46b7e3e6ee0f2bb0053a1ead087eec62 100644 (file)
@@ -12,7 +12,7 @@
 #include "AliITSRad.h"
 #include "AliITSTrackV1.h"
 #include "AliGenerator.h"
-#include "AliMagF.h"
+//#include "AliMagF.h"
 
 
 ClassImp(AliITSTrackV1)
@@ -33,9 +33,12 @@ AliITSTrackV1::AliITSTrackV1() {
   fnoclust=0;
   fMass=0.13956995; //a pion by default
   fFieldFactor = 0.0;
-   
+  fdEdx = 0.;                          // oggi
+  Int_t ia=0;                          // oggi
+  for( ia=0; ia<4; ia++) fcor[ia]=0.;  // oggi
+  
 }
-AliITSTrackV1::AliITSTrackV1(const char *opt) {
+AliITSTrackV1::AliITSTrackV1(Double_t fieldfactor) {
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it 
 // default constructor   
  
@@ -54,12 +57,17 @@ AliITSTrackV1::AliITSTrackV1(const char *opt) {
   fd2.ResizeTo(6);
   ftgl2.ResizeTo(6); 
   fdtgl.ResizeTo(6);
-  fMass=0.13956995; //a pion by default 
+  fMass=0.13956995; //a pion by default
+  fdEdx = 0.;
+  Int_t ia=0;
+  for( ia=0; ia<4; ia++) fcor[ia]=0.;   
+
   
 //////////////////////////////////////// gets magnetic field factor ////////////////////////////////
 
-  AliMagF * fieldPointer = gAlice->Field();
-  fFieldFactor = (Double_t)fieldPointer->Factor();
+ // AliMagF * fieldPointer = gAlice->Field();
+  // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
+    fFieldFactor = fieldfactor;
   //cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -68,7 +76,7 @@ AliITSTrackV1::AliITSTrackV1(const char *opt) {
 
 
  
-AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) {
+AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) : TObject(cobj) {
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
 // copy constructor    
 
@@ -99,7 +107,11 @@ AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) {
   fd2=cobj.fd2;
   ftgl2=cobj.ftgl2;
   fdtgl=cobj.fdtgl;
-  fnoclust=cobj.fnoclust;   
+  fnoclust=cobj.fnoclust; 
+  fdEdx = cobj.fdEdx;
+  Int_t ia=0;
+  for( ia=0; ia<4; ia++) fcor[ia]=cobj.fcor[ia];    
+
     
   fC00=cobj.fC00; fC10=cobj.fC10; fC11=cobj.fC11; fC20=cobj.fC20; fC21=cobj.fC21;
   fC22=cobj.fC22; fC30=cobj.fC30; fC31=cobj.fC31; fC32=cobj.fC32; fC33=cobj.fC33; 
@@ -115,16 +127,17 @@ AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) {
  
 }
 
-AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj)
+AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj, Double_t fieldfactor)
 { 
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it 
 // special constructor to convert a TPC track into an ITS track
 
 //////////////////////////////////////// gets magnetic field factor ////////////////////////////////
 
-  AliMagF * fieldPointer = gAlice->Field();
-  fFieldFactor = (Double_t)fieldPointer->Factor();
-  //cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
+   // AliMagF * fieldPointer = gAlice->Field();
+  // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
+    fFieldFactor = fieldfactor;
+ // cout<< " field factor dentro alitrack = "<<fFieldFactor<<"\n";/* getchar();*/
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -154,7 +167,10 @@ AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj)
   }  
   flistCluster = new TObjArray; 
   fNumClustInTrack = 0;
-  fnoclust=0;        
+  fnoclust=0;
+  fdEdx = 0.;
+  Int_t ia=0;
+  for( ia=0; ia<4; ia++) fcor[ia]=0.;          
   LmTPC(); 
 
 }
@@ -349,7 +365,11 @@ AliITSTrackV1 &AliITSTrackV1::operator=(AliITSTrackV1 obj) {
   fC22=obj.fC22; fC30=obj.fC30; fC31=obj.fC31; fC32=obj.fC32; fC33=obj.fC33; 
   fC40=obj.fC40; fC41=obj.fC41; fC42=obj.fC42; fC43=obj.fC43; fC44=obj.fC44;
    
-  fMass=obj.fMass;   
+  fMass=obj.fMass; 
+  fdEdx = obj.fdEdx; 
+  Int_t ia=0;
+  for( ia=0; ia<4; ia++) fcor[ia]=obj.fcor[ia];   
+
   
   *fClusterInTrack = *obj.fClusterInTrack;
   Int_t i;
@@ -496,9 +516,10 @@ void AliITSTrackV1::Propagation(Double_t rk) {
   
 }
 
-void AliITSTrackV1::AddEL(AliITSRad *rl, Double_t signdE, Bool_t flagtot, Double_t mass) {
+void AliITSTrackV1::AddEL(Double_t signdE, Bool_t flagtot, Double_t mass) {
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it  
 //  add energy loss
+// AliITSRad *rl was passed as argument. Now rl has been commented out
 
   mass=fMass;  
   
@@ -602,7 +623,7 @@ void  AliITSTrackV1::Correct(Double_t rk) {
                
 }
 
-void AliITSTrackV1::AddMS(AliITSRad *rl, Double_t mass) {
+void AliITSTrackV1::AddMS(Double_t mass) {
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it       
 //////////   Modification of the covariance matrix to take into account multiple scattering  ///////////     
    
@@ -676,7 +697,7 @@ void AliITSTrackV1::AddMS(AliITSRad *rl, Double_t mass) {
   fC44+=theta2*q30*q30;
     
 }
-void AliITSTrackV1::PrimaryTrack(AliITSRad *rl) {
+void AliITSTrackV1::PrimaryTrack() {
 //Origin  A. Badala' and G.S. Pappalardo:  e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it  
 // calculation of part of covariance matrix for vertex constraint
 
@@ -695,7 +716,7 @@ void AliITSTrackV1::PrimaryTrack(AliITSRad *rl) {
 
   fC00=fC10=fC11=fC20=fC21=fC22=fC30=fC31=fC32=fC33=fC40=fC41=fC42=fC43=0.;
 
-  AddEL(rl,1.,1);
+  AddEL(1.,1);
   fLayer=0;
   Int_t i;
   for (i=0; i<6; i++) {
@@ -704,8 +725,8 @@ void AliITSTrackV1::PrimaryTrack(AliITSRad *rl) {
     fd2(i)=fC22;
     ftgl2(i)=fC33;
     fdtgl(i)=fC32; 
-    AddMS(rl);    
-    AddEL(rl,-1,0);       
+    AddMS();    
+    AddEL(-1,0);          
   }            
 }