]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Global QA: possibility to book, fill and manage the track residuals within the common...
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Dec 2007 21:01:29 +0000 (21:01 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Dec 2007 21:01:29 +0000 (21:01 +0000)
ITS/AliITStrackMI.cxx
ITS/AliITStrackMI.h
ITS/AliITStrackV2.cxx
ITS/AliITStrackerMI.cxx

index e7cba4ded7f698ba93722ac2080b695f21171bf5..67f4b4e78a8767b447dd90c8975196c6a98b76b7 100644 (file)
@@ -188,33 +188,18 @@ Int_t AliITStrackMI::CorrectForMaterial(Double_t d, Double_t x0) {
 }
 
 //____________________________________________________________________________
-Bool_t AliITStrackMI::UpdateMI(Double_t cy, Double_t cz, Double_t cerry, Double_t cerrz, Double_t chi2, Int_t index) {
+Bool_t AliITStrackMI::UpdateMI(const AliCluster *c, Double_t chi2, Int_t index) {
   //------------------------------------------------------------------
   //This function updates track parameters
   //------------------------------------------------------------------
-  Double_t dy=cy - GetY(), dz=cz - GetZ();
+  Double_t dy=c->GetY() - GetY(), dz=c->GetZ() - GetZ();
   Int_t layer = (index & 0xf0000000) >> 28;
   fDy[layer] = dy;
   fDz[layer] = dz;
-  fSigmaY[layer] = TMath::Sqrt(cerry*cerry+GetSigmaY2());
-  fSigmaZ[layer] = TMath::Sqrt(cerrz*cerrz+GetSigmaZ2());
+  fSigmaY[layer] = TMath::Sqrt(c->GetSigmaY2()+GetSigmaY2());
+  fSigmaZ[layer] = TMath::Sqrt(c->GetSigmaZ2()+GetSigmaZ2());
 
-  Double_t p[2]={cy, cz};
-  Double_t cov[3]={cerry*cerry, 0., cerrz*cerrz};
-  if (!AliExternalTrackParam::Update(p,cov)) return kFALSE;
-
-  if (!Invariant()) {
-     AliWarning("Wrong invariant !");
-     return kFALSE;
-  }
-
-  if (chi2<0) return 1;
-  Int_t n=GetNumberOfClusters();
-  fIndex[n]=index;
-  SetNumberOfClusters(n+1);
-  SetChi2(GetChi2()+chi2);
-
-  return kTRUE;
+  return Update(c,chi2,index);
 }
 
 Int_t AliITStrackMI::GetProlongationFast(Double_t alp, Double_t xk,Double_t &y, Double_t &z)
index 687411cf17ce46a4c0e5b6b9c0371be9cc4cf10f..b4bef9c6686011d5bb70aafaf103678789d1c329 100644 (file)
@@ -40,7 +40,7 @@ public:
   AliITStrackMI(AliESDtrack& t,Bool_t c=kFALSE) throw (const Char_t *);
   AliITStrackMI(const AliITStrackMI& t);
   Int_t GetProlongationFast(Double_t alpha, Double_t xr,Double_t &y, Double_t &z);
-  Bool_t UpdateMI(Double_t cy, Double_t cz, Double_t cerry, Double_t cerrz, Double_t chi2, Int_t i);  
+  Bool_t UpdateMI(const AliCluster *c, Double_t chi2, Int_t i);  
   Int_t CorrectForMaterial(Double_t d, Double_t x0=21.82);
 
   void SetReconstructed(Bool_t sr=kTRUE){fReconstructed = sr;}  
index dc98586806b07b23115c11b86e1ca53055bf6fcc..6edcfebfd48180d7c2939e142fc065c66ea94531 100644 (file)
@@ -235,6 +235,8 @@ Bool_t AliITStrackV2::Update(const AliCluster* c, Double_t chi2, Int_t index)
 
   if (chi2<0) return kTRUE;
 
+  AliTracker::FillResiduals(this,p,cov,c->GetVolumeId());
+
   Int_t n=GetNumberOfClusters();
   fIndex[n]=index;
   SetNumberOfClusters(n+1);
index d64bc598b87ca8729a031891279c828cf62f1b1f..7756b16b118605fff66ab220baac5944729914c4 100644 (file)
@@ -3435,8 +3435,13 @@ Int_t AliITStrackerMI::UpdateMI(AliITStrackMI* track, const AliITSRecPoint* cl,D
   Double_t x=track->GetX()+cl->GetX();
   if (!track->PropagateTo(x,0.,0.)) return 0;
   
-  return track->UpdateMI(cl->GetY(),cl->GetZ(),track->GetSigmaY(layer),track->GetSigmaZ(layer),chi2,index);
+  AliCluster c(*cl);
+  c.SetSigmaY2(track->GetSigmaY(layer)*track->GetSigmaY(layer));
+  c.SetSigmaZ2(track->GetSigmaZ(layer)*track->GetSigmaZ(layer));
+
+  return track->UpdateMI(&c,chi2,index);
 }
+
 //------------------------------------------------------------------------
 void AliITStrackerMI::GetDCASigma(AliITStrackMI* track, Float_t & sigmarfi, Float_t &sigmaz)
 {