]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexerCosmics.cxx
Changing once more (hopefully we get it correct this time...) the logic to trig the...
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerCosmics.cxx
index 83d046367913ee4a0c07d98d7bd68dc9cb3de57a..1ca342848adc6576ed5f67a044744563a49d3157 100644 (file)
@@ -100,7 +100,8 @@ AliESDVertex* AliITSVertexerCosmics::FindVertexForCurrentEvent(TTree *itsCluster
   // Search for innermost layer with at least two clusters 
   // on two different modules
   Int_t ilayer=0,ilayer2=0;
-  while(ilayer<6) {
+  Int_t nHitModulesSPDinner=0;
+  while(ilayer<AliITSgeomTGeo::GetNLayers()) {
     if(AliITSReconstructor::GetRecoParam()->GetLayersToSkip(ilayer)) {
       ilayer++;
       continue;
@@ -113,6 +114,7 @@ AliESDVertex* AliITSVertexerCosmics::FindVertexForCurrentEvent(TTree *itsCluster
       if(lay!=ilayer) AliFatal("Layer mismatch!");
       if(recpoints->GetEntriesFast()>0) nHitModules++;
     }
+    if(ilayer==0) nHitModulesSPDinner=nHitModules;
     if(nHitModules>=2) break;
     ilayer++;
   }
@@ -124,7 +126,8 @@ AliESDVertex* AliITSVertexerCosmics::FindVertexForCurrentEvent(TTree *itsCluster
   }
 
   // try tracklet on SPD2 and point on SPD1
-  if(ilayer==1 && ilayer2>5 && !AliITSReconstructor::GetRecoParam()->GetLayersToSkip(0)) {ilayer=0; ilayer2=1;}
+  if(ilayer==1 && !AliITSReconstructor::GetRecoParam()->GetLayersToSkip(0) &&
+     nHitModulesSPDinner>0) { ilayer=0; ilayer2=1; }
 
   if(ilayer>4 || ilayer2>5) {
     AliWarning("Not enough clusters");
@@ -205,7 +208,7 @@ AliESDVertex* AliITSVertexerCosmics::FindVertexForCurrentEvent(TTree *itsCluster
   Int_t i1InnLay,i2InnLay,iOutLay;
 
   // build fake vertices
-  printf("Building tracklets on layer %d\n",ilayer);
+  //printf("Building tracklets on layer %d\n",ilayer);
 
   // InnLay - first cluster
   for(i1InnLay=0; i1InnLay<nclInnLayStored; i1InnLay++) { 
@@ -306,6 +309,7 @@ AliESDVertex* AliITSVertexerCosmics::FindVertexForCurrentEvent(TTree *itsCluster
   fCurrentVertex->SetTitle("cosmics fake vertex");
   fCurrentVertex->SetNContributors(ncontributors);
   //fCurrentVertex->Print();
+  FindMultiplicity(itsClusterTree);
 
   delete recpoints;