]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITStrackV2.cxx
Fix
[u/mrichter/AliRoot.git] / ITS / AliITStrackV2.cxx
index a5e75e05b3e82a8ac4c226567557b9d656a75a68..a4d86770e9bf142c443f69aa886ca6869fda3ff4 100644 (file)
@@ -273,7 +273,7 @@ Bool_t AliITStrackV2::Update(const AliCluster* c, Double_t chi2, Int_t index)
 
   Int_t n=GetNumberOfClusters();
   if (!Invariant()) {
-     if (n>fgkWARN) AliWarning("Wrong invariant !");
+    if (n>fgkWARN) AliDebug(1,"Wrong invariant !");
      return kFALSE;
   }
 
@@ -320,32 +320,32 @@ Bool_t AliITStrackV2::Invariant() const {
 
   Double_t sP2=GetParameter()[2];
   if (TMath::Abs(sP2) >= kAlmost1){
-     if (n>fgkWARN) Warning("Invariant","fP2=%f\n",sP2);
+    if (n>fgkWARN) AliDebug(1,Form("fP2=%f\n",sP2));
      return kFALSE;
   }
   Double_t sC00=GetCovariance()[0];
   if (sC00<=0 || sC00>(9.+maxMisalErrY2)) {
-     if (n>fgkWARN) Warning("Invariant","fC00=%f\n",sC00); 
+    if (n>fgkWARN) AliDebug(1,Form("fC00=%f\n",sC00)); 
      return kFALSE;
   }
   Double_t sC11=GetCovariance()[2];
   if (sC11<=0 || sC11>(9.+maxMisalErrZ2)) {
-     if (n>fgkWARN) Warning("Invariant","fC11=%f\n",sC11); 
+    if (n>fgkWARN) AliDebug(1,Form("fC11=%f\n",sC11)); 
      return kFALSE;
   }
   Double_t sC22=GetCovariance()[5];
   if (sC22<=0 || sC22>1.) {
-     if (n>fgkWARN) Warning("Invariant","fC22=%f\n",sC22); 
+    if (n>fgkWARN) AliDebug(1,Form("fC22=%f\n",sC22)); 
      return kFALSE;
   }
   Double_t sC33=GetCovariance()[9];
   if (sC33<=0 || sC33>1.) {
-     if (n>fgkWARN) Warning("Invariant","fC33=%f\n",sC33); 
+    if (n>fgkWARN) AliDebug(1,Form("fC33=%f\n",sC33)); 
      return kFALSE;
   }
   Double_t sC44=GetCovariance()[14];
   if (sC44<=0 /*|| sC44>6e-5*/) {
-     if (n>fgkWARN) Warning("Invariant","fC44=%f\n",sC44);
+    if (n>fgkWARN) AliDebug(1,Form("fC44=%f\n",sC44));
      return kFALSE;
   }
 
@@ -364,7 +364,7 @@ Bool_t AliITStrackV2::Propagate(Double_t alp,Double_t xk) {
 
   if (!Invariant()) {
     Int_t n=GetNumberOfClusters();
-    if (n>fgkWARN) AliWarning("Wrong invariant !");
+    if (n>fgkWARN) AliDebug(1,"Wrong invariant !");
     return kFALSE;
   }
 
@@ -488,7 +488,7 @@ Bool_t AliITStrackV2::Improve(Double_t x0,Double_t xyz[3],Double_t ers[3]) {
   return kTRUE;
 }
 
-void AliITStrackV2::CookdEdx(Double_t low, Double_t up) {
+void AliITStrackV2::CookdEdx(Double_t /*low*/, Double_t /*up*/) {
   //-----------------------------------------------------------------
   // This function calculates dE/dX within the "low" and "up" cuts.
   // Origin: Boris Batyunya, JINR, Boris.Batiounia@cern.ch 
@@ -522,15 +522,13 @@ void AliITStrackV2::CookdEdx(Double_t low, Double_t up) {
   } while (swap);
 
 
-  Double_t nl=low*nc, nu =up*nc;
-  Float_t sumamp = 0;
-  Float_t sumweight =0;
+  Double_t sumamp=0,sumweight=0;
+  Double_t weight[4]={1.,1.,0.,0.};
+  if(nc==3) weight[1]=0.5;
+  else if(nc<3) weight[1]=0.;
   for (Int_t i=0; i<nc; i++) {
-    Float_t weight =1;
-    if (i<nl+0.1)     weight = TMath::Max(1.-(nl-i),0.);
-    if (i>nu-1)     weight = TMath::Max(nu-i,0.);
-    sumamp+= dedx[i]*weight;
-    sumweight+=weight;
+    sumamp+= dedx[i]*weight[i];
+    sumweight+=weight[i];
   }
   SetdEdx(sumamp/sumweight);
 }