]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- Signature if CompVtx changed
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Oct 2009 16:19:52 +0000 (16:19 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Oct 2009 16:19:52 +0000 (16:19 +0000)
- direct comparison of floatwith 0. corrected.
Romita Rossella

STEER/AliMixedEvent.cxx
STEER/AliMixedEvent.h

index 39405d9731e2bfa84a827451d0c70a5836cb85e4..65aa4b970f2fdf050dd5cd33880f80cbff642519 100644 (file)
@@ -126,47 +126,67 @@ Int_t AliMixedEvent::EventIndex(Int_t itrack)
   return  TMath::BinarySearch(fNEvents, fNTracksCumul, itrack);
 }
 
-void AliMixedEvent::ComputeVtx(TObjArray *vertices, Double_t *pos,Double_t *sig){
+Bool_t AliMixedEvent::ComputeVtx(TObjArray *vertices, Double_t *pos,Double_t *sig,Int_t *nContributors){
 //
 // Calculate the mean vertex psoitions from events in the buffer
  
     Int_t nentries = vertices->GetEntriesFast();
     Double_t sum[3]={0.,0.,0.};
     Double_t sumsigma[6]={0.,0.,0.,0.,0.,0.};
+
     
     for(Int_t ivtx = 0; ivtx < nentries; ivtx++){
        AliVVertex *vtx=(AliVVertex*)vertices->UncheckedAt(ivtx);
-       if(!vtx) return;
        Double_t covariance[6];
        vtx->GetCovarianceMatrix(covariance);
        Double_t vtxPos[3];
        vtx->GetXYZ(vtxPos);
-       if(covariance[0]==0) continue;
+       if(TMath::Abs(covariance[0])<1.e-13) {
+       return kFALSE;
+       }else{
        sum[0]+=vtxPos[0]*(1./covariance[0]);
        sumsigma[0]+=(1./covariance[0]);
-       if(covariance[2]==0) continue;
+       }
+       if(TMath::Abs(covariance[2])<1.e-13) {
+       return kFALSE;
+       }else{
        sum[1]+=vtxPos[1]*(1./covariance[2]);
        sumsigma[2]+=(1./covariance[2]);
-       if(covariance[5]==0) continue;
+       }
+       if(TMath::Abs(covariance[5])<1.e-13) {
+       return kFALSE;
+       }else{
        sum[2]+=vtxPos[2]*(1./covariance[5]);
        sumsigma[5]+=(1./covariance[5]);
-       if(covariance[1]==0) continue;
+       }
+       if(TMath::Abs(covariance[1])<1.e-13) {
+         sumsigma[1]+=0.;
+       }else{
        sumsigma[1]+=(1./covariance[1]);
-       if(covariance[3]==0) continue;
+       }
+       if(TMath::Abs(covariance[3])<1.e-13) {
+       sumsigma[3]+=0.;
+       }else{
        sumsigma[3]+=(1./covariance[3]);
-       if(covariance[4]==0) continue;
+       }
+       if(TMath::Abs(covariance[4])<1.e-13) {
+       sumsigma[4]+=0.;
+       }else{
        sumsigma[4]+=(1./covariance[4]);
+       }
+
+     nContributors[0]=nContributors[0]+vtx->GetNContributors();
     }
     
     for(Int_t i=0;i<3;i++){
-       if(sumsigma[i]==0) continue;
+       if(TMath::Abs(sumsigma[i])<1.e-13) continue;
        pos[i]=sum[i]/sumsigma[i];
     }
     for(Int_t i2=0;i2<6;i2++){
-       if(sumsigma[i2]==0) {sig[i2]=0.; continue;}
+       if(TMath::Abs(sumsigma[i2])<1.e-13) {sig[i2]=0.; continue;}
        sig[i2]=1./sumsigma[i2];
     }
-    return;
+    return kTRUE;
 }
 
 
index c1d184d8854f929b78bd98266b3fa932399e04ad..ca9c68421cbd5521f5c300584a00929cb18e5047 100644 (file)
@@ -93,7 +93,7 @@ public:
 
   // Primary vertex
     virtual const AliVVertex   *GetPrimaryVertex() const {return fMeanVertex;}
-    virtual void ComputeVtx(TObjArray *vertices,Double_t *pos,Double_t *sig); 
+    virtual Bool_t ComputeVtx(TObjArray *vertices, Double_t *pos,Double_t *sig,Int_t *nContributors);
 private:
     TList   fEventList;         //! List of Events
     Int_t   fNEvents;           //! Number of Events