]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibTime.cxx
Changes in efficiency to use ITS standalone tracks properly
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTime.cxx
index ef582e2908b1912f8adf33d6524ba67bc54a053f..f3dbd4b03f3ac4700fb46cb684f815ce34ca2a41 100644 (file)
@@ -286,7 +286,7 @@ AliTPCcalibTime::~AliTPCcalibTime(){
     delete fArrayDz;
     fArrayDz=NULL;
   }
-  for(Int_t i=0;i<5;i++){
+  for(Int_t i=0;i<10;i++){
     if(fCosmiMatchingHisto[i]){
       delete fCosmiMatchingHisto[i];
       fCosmiMatchingHisto[i]=NULL;
@@ -306,12 +306,8 @@ AliTPCcalibTime::~AliTPCcalibTime(){
     fResHistoTPCvertex[i]=0;
   }
 
-  if (fTPCVertex[0]) {
-    for (Int_t i=0;i<12;i++)  delete fTPCVertex[i];
-  }
-  if (fTPCVertexCorrelation[0]) {
-    for (Int_t i=0;i<5;i++)  delete fTPCVertexCorrelation[i];
-  }
+  for (Int_t i=0;i<12;i++) if (fTPCVertex[i]) delete fTPCVertex[i];
+  for (Int_t i=0;i<5;i++)  if (fTPCVertexCorrelation[i]) delete fTPCVertexCorrelation[i];
 
   if (fAlignITSTPC){
     fAlignITSTPC->SetOwner(kTRUE);
@@ -325,6 +321,19 @@ AliTPCcalibTime::~AliTPCcalibTime(){
     delete fAlignTRDTPC;
     delete fAlignTOFTPC;
   }
+
+  if (fArrayLaserA) {
+    fArrayLaserA->SetOwner(); 
+    fArrayLaserA->Delete();
+    delete fArrayLaserA;
+  }
+
+  if (fArrayLaserA) {
+    fArrayLaserC->SetOwner(); 
+    fArrayLaserC->Delete();
+    delete fArrayLaserC;
+  }
+
 }
 
 // Bool_t AliTPCcalibTime::IsLaser(const AliESDEvent *const /*event*/) const{
@@ -1156,11 +1165,13 @@ Long64_t AliTPCcalibTime::Merge(TCollection *const li) {
       }
       localHist->Add(addHist);
     }
-
+    delete iterator;
     for(Int_t i=0;i<10;i++) if (cal->GetCosmiMatchingHisto(i)) fCosmiMatchingHisto[i]->Add(cal->GetCosmiMatchingHisto(i));
     //
     // Merge alignment
     //
+    const Int_t kMinUpdates=10;
+    const Float_t kMaxOut=0.1;
     for (Int_t itype=0; itype<3; itype++){
       //
       //
@@ -1178,6 +1189,8 @@ Long64_t AliTPCcalibTime::Merge(TCollection *const li) {
        AliRelAlignerKalman *kalman1 = (AliRelAlignerKalman *)arr1->UncheckedAt(i);
        AliRelAlignerKalman *kalman0 = (AliRelAlignerKalman *)arr0->UncheckedAt(i);
        if (!kalman1)  continue;
+       if (kalman1->GetNUpdates()<kMinUpdates) continue;
+       if (kalman1->GetNOutliers()>(kalman1->GetNUpdates()*kMaxOut)) continue;
        if (!kalman0) {arr0->AddAt(new AliRelAlignerKalman(*kalman1),i); continue;}
        kalman0->SetRejectOutliers(kFALSE);
        kalman0->Merge(kalman1);
@@ -1185,6 +1198,7 @@ Long64_t AliTPCcalibTime::Merge(TCollection *const li) {
     }
 
   }
+  delete iter;
   return 0;
 }