]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSTrackV1.cxx
Updates in macros o display SDD QA results + new macros for SDD performance trending...
[u/mrichter/AliRoot.git] / ITS / AliITSTrackV1.cxx
index f718f71cfd0a92d7a481ce73e511a10ae743ae20..80ca853165beb0bf337780d90acadb375ca1d494 100644 (file)
@@ -38,7 +38,7 @@ AliITSTrackV1::AliITSTrackV1() {
   for( ia=0; ia<4; ia++) fcor[ia]=0.;  // oggi
   
 }
-AliITSTrackV1::AliITSTrackV1(const char *opt, Double_t fieldfactor) {
+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   
  
@@ -65,7 +65,7 @@ AliITSTrackV1::AliITSTrackV1(const char *opt, Double_t fieldfactor) {
   
 //////////////////////////////////////// gets magnetic field factor ////////////////////////////////
 
- // AliMagF * fieldPointer = gAlice->Field();
+ // AliMagF * fieldPointer = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField());
   // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
     fFieldFactor = fieldfactor;
   //cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
@@ -76,7 +76,7 @@ AliITSTrackV1::AliITSTrackV1(const char *opt, Double_t fieldfactor) {
 
 
  
-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    
 
@@ -134,7 +134,7 @@ AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj, Double_t fieldfactor)
 
 //////////////////////////////////////// gets magnetic field factor ////////////////////////////////
 
-   // AliMagF * fieldPointer = gAlice->Field();
+   // AliMagF * fieldPointer = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField());
   // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
     fFieldFactor = fieldfactor;
  // cout<< " field factor dentro alitrack = "<<fFieldFactor<<"\n";/* getchar();*/
@@ -258,10 +258,10 @@ void AliITSTrackV1::LmTPC() {
   Double_t r = 1./cTPC;
   xo =  etaTPC / cTPC;
   Double_t yo1, yo2, diffsq1, diffsq2;  
-  yo1 = yTPC +  TMath::Sqrt(r*r - (xl-xo)*(xl-xo)); 
-  yo2 = yTPC -  TMath::Sqrt(r*r - (xl-xo)*(xl-xo));   
-  diffsq1=TMath::Abs((yo1-vyl)*(yo1-vyl)+(xo-vxl)*(xo-vxl)-r*r);
-  diffsq2=TMath::Abs((yo2-vyl)*(yo2- vyl)+(xo-vxl)*(xo-vxl)-r*r);
+  yo1 = yTPC +  TMath::Sqrt((r-(xl-xo))*(r+(xl-xo))); 
+  yo2 = yTPC -  TMath::Sqrt((r-(xl-xo))*(r+(xl-xo)));   
+  diffsq1=TMath::Abs((yo1-vyl)*(yo1-vyl)+((xo-vxl)-r)*((xo-vxl)+r));
+  diffsq2=TMath::Abs((yo2-vyl)*(yo2-vyl)+((xo-vxl)-r)*((xo-vxl)+r));
   if(diffsq1<diffsq2) {yo=yo1; signy=1.;} else {yo=yo2; signy=-1.;};
   
   ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -292,12 +292,12 @@ void AliITSTrackV1::LmTPC() {
 
   dfidy=(xm*cosa+ym*sina)/(frtrack*frtrack);
   dDdy=signdd*((y0m-fVertex(1))*cosa-(x0m-fVertex(0))*sina)/dd;
-  Double_t dyodr=signy*(r+(xl-xo)*etaTPC)/TMath::Sqrt(r*r-(xl-xo)*(xl-xo));
+  Double_t dyodr=signy*(r+(xl-xo)*etaTPC)/TMath::Sqrt((r-(xl-xo))*(r+(xl-xo)));
   Double_t dyomdr=sina*etaTPC+cosa*dyodr;
   Double_t dxomdr=cosa*etaTPC-sina*dyodr;
   Double_t ddddR=((x0m-fVertex(0))*dxomdr+(y0m-fVertex(1))*dyomdr)/dd;
   dDdC=-r*r*(signdd*ddddR-1.);
-  Double_t dyoldxol=signy*(xl-xo)/TMath::Sqrt(r*r-(xl-xo)*(xl-xo));
+  Double_t dyoldxol=signy*(xl-xo)/TMath::Sqrt((r-(xl-xo))*(r+(xl-xo)));
   Double_t dxomdeta=r*(cosa-sina*dyoldxol);
   Double_t dyomdeta=r*(sina+cosa*dyoldxol);
   dDdeta=signdd*((x0m-fVertex(0))*dxomdeta+(y0m-fVertex(1))*dyomdeta)/dd;
@@ -474,8 +474,8 @@ void AliITSTrackV1::Propagation(Double_t rk) {
   Double_t bk=ArgB(rk), bkm1=ArgB(rkm1);       
   Double_t ck=ArgC(rk), ckm1=ArgC(rkm1);  
 
-  Double_t f02=ck/TMath::Sqrt(1.-aAk*aAk) - ckm1/TMath::Sqrt(1.-aAkm1*aAkm1);
-  Double_t f04=bk/TMath::Sqrt(1.-aAk*aAk) - bkm1/TMath::Sqrt(1.-aAkm1*aAkm1);          
+  Double_t f02=ck/TMath::Sqrt((1.-aAk)*(1.+aAk)) - ckm1/TMath::Sqrt((1.-aAkm1)*(1.+aAkm1));
+  Double_t f04=bk/TMath::Sqrt((1.-aAk)*(1.+aAk)) - bkm1/TMath::Sqrt((1.-aAkm1)*(1.+aAkm1));    
   Double_t f12=tgl*d*(1./rk - 1./rkm1);
   Double_t f13=rk - rkm1;
   
@@ -516,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;  
   
@@ -592,7 +593,7 @@ void AliITSTrackV1::AddEL(AliITSRad *rl, Double_t signdE, Bool_t flagtot, Double
   dE=signdE*dE/1000.; 
          
   e+=dE;
-  Double_t p=TMath::Sqrt(e*e-mass*mass);   
+  Double_t p=TMath::Sqrt((e-mass)*(e+mass));   
   Double_t sign=1.;
   if(fX4 < 0.) sign=-1.; 
   pt=sign*p/sqcl; 
@@ -622,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  ///////////     
    
@@ -696,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
 
@@ -715,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++) {
@@ -724,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);          
   }            
 }