//--------------------------------------------------------------------
for (Int_t i=0; i<5; i++)
fModules[i]=new TClonesArray("AliPHOSEmcRecPoint",777);
+
}
//____________________________________________________________________________
}
//____________________________________________________________________________
-Int_t AliPHOSTracker::LoadClusters(TTree *cTree) {
+Int_t AliPHOSTracker::LoadClusters(TTree *) {
//--------------------------------------------------------------------
// This function loads the PHOS clusters
//--------------------------------------------------------------------
+ return 0 ; //At this stage we can not strore result
+ // the closest track and distance to it
+ //We perform same task later in AliPHOSTrackSegmentMakerv1
+/*
TObjArray *arr=NULL;
TBranch *branch=cTree->GetBranch("PHOSEmcRP");
if (branch==0) {
}
// Here is how the alignment is treated
- if (!cl->Misalign()) AliWarning("Can't misalign this cluster !");
+ // Misalignment is already in cluster coordinates
+// if (!cl->Misalign()) AliWarning("Can't misalign this cluster !");
cl->SetBit(14,kFALSE); // The clusters are not yet attached to any track
Info("LoadClusters","Number of loaded clusters: %d",nclusters);
return 0;
+*/
}
//____________________________________________________________________________
-Int_t AliPHOSTracker::PropagateBack(AliESDEvent *esd) {
+Int_t AliPHOSTracker::PropagateBack(AliESDEvent *) {
//--------------------------------------------------------------------
// Called by AliReconstruction
// Performs the track matching with the PHOS modules
// Makes the PID
//--------------------------------------------------------------------
+ return 0 ; //At this stage we can not strore result
+ // the closest track and distance to it
+ //We perform same task later in AliPHOSTrackSegmentMakerv1
+/*
Int_t nt=esd->GetNumberOfTracks();
// *** Select and sort the ESD track in accordance with their quality
// *** Start the matching
- Double_t bz=GetBz();
+ Double_t bz = GetGz() ; //For approximate matching
+ Double_t b[3]; GetBxByBz(b); //For final matching
Int_t matched=0;
for (Int_t i=0; i<nt; i++) {
AliESDtrack *esdTrack=esd->GetTrack(index[i]);
- // Skip the tracks having "wrong" status (has to be checked/tuned)
- ULong_t status = esdTrack->GetStatus();
- if ((status & AliESDtrack::kTRDout) == 0) continue;
- if ((status & AliESDtrack::kTRDrefit) == 1) continue;
+// // Skip the tracks having "wrong" status (has to be checked/tuned)
+// ULong_t status = esdTrack->GetStatus();
+// if ((status & AliESDtrack::kTRDout) == 0) continue;
+// if ((status & AliESDtrack::kTRDrefit) == 1) continue;
AliExternalTrackParam t(*esdTrack);
if ((imod<0)||(imod>4)) continue; // Some tracks miss the PHOS in azimuth
//t.CorrectForMaterial(...); // Correct for the TOF material, if needed
- t.PropagateTo(kR,bz); // Propagate to the matching module
+ t.PropagateToBxByBz(kR,b); // Propagate to the matching module
// *** Search for the "best" cluster (can be improved)
for (Int_t j=0; j<ncl; j++) {
AliPHOSEmcRecPoint *c=(AliPHOSEmcRecPoint *)cArray.UncheckedAt(j);
- if (c->TestBit(14)) continue; // This clusters is "used"
+ //we looking at the closest track to the cluster,
+ //not closest cluster to the track.
+// if (c->TestBit(14)) continue; // This clusters is "used"
Double_t dy = t.GetY() - c->GetY(), dz = t.GetZ() - c->GetZ();
Double_t d2 = dy*dy + dz*dz;
if (!bestCluster) continue; // No reasonable matching found
- bestCluster->SetBit(14,kTRUE); // This clusters is now attached to a track
+// bestCluster->SetBit(14,kTRUE); // This clusters is now attached to a track
matched++;
// *** Now, do the PID with the "bestCluster"
// and add the corresponding info to the ESD track pointed by "esdTrack"
- /*
- printf("%e %e %e %e\n",t.GetSign(), t.GetX() - bestCluster->GetX(),
- t.GetY() - bestCluster->GetY(),
- t.GetZ() - bestCluster->GetZ());
- */
+
+// printf("%e %e %e %e\n",t.GetSign(), t.GetX() - bestCluster->GetX(),
+// t.GetY() - bestCluster->GetY(),
+// t.GetZ() - bestCluster->GetZ());
+
}
Info("PropagateBack","Number of matched tracks: %d",matched);
delete[] index;
return 0;
+*/
}
//____________________________________________________________________________
//--------------------------------------------------------------------
// This function unloads the PHOS clusters
//--------------------------------------------------------------------
- for (Int_t i=0; i<5; i++) (fModules[i])->Delete();
+// for (Int_t i=0; i<5; i++) (fModules[i])->Delete();
}