]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Using the DeetElemId (fUserId) from AliTrackReference (Sacha)
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Jun 2006 10:32:02 +0000 (10:32 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Jun 2006 10:32:02 +0000 (10:32 +0000)
MUON/AliMUONHitForRec.cxx
MUON/AliMUONRecoCheck.cxx
MUON/AliMUONTrackReconstructor.cxx

index e40d6431e4eafee2112f9a30d6af6b3a39a16bb4..946599ca34e3c1b631216fb522bbdfab4dd3b170 100644 (file)
@@ -54,8 +54,9 @@ AliMUONHitForRec::AliMUONHitForRec(AliTrackReference* theGhit)
   fNonBendingCoor = theGhit->X();
   fZ = theGhit->Z();
   // fTrack = theGhit->fTrack; ?????????
-  fChamberNumber = AliMUONConstants::ChamberNumber(fZ);
-  fDetElemId = 0;
+  fDetElemId = theGhit->UserId();
+  if (fDetElemId) fChamberNumber = fDetElemId / 100 - 1;
+  else fChamberNumber = AliMUONConstants::ChamberNumber(fZ);
   // other fields will be updated in
   // AliMUONEventReconstructor::NewHitForRecFromTrackRef,
   // except the following ones
index 0f3cddc84e5c3d916663fd492ccc871e65ae9e12..12b0361e8399cfeb03ab099e0d14368199930e38 100644 (file)
@@ -133,7 +133,7 @@ void AliMUONRecoCheck::MakeTrackRef()
  
   track = trackSave = -999;
   Bool_t isNewTrack;
-  Int_t iHitMin, iChamber;
+  Int_t iHitMin, iChamber, detElemId;
 
   trackParam = new AliMUONTrackParam();
   hitForRec = new AliMUONHitForRec();
@@ -195,8 +195,10 @@ void AliMUONRecoCheck::MakeTrackRef()
        hitForRec->SetNonBendingCoor(x);
        hitForRec->SetZ(z);
        hitForRec->SetBendingReso2(0.0); 
-       hitForRec->SetNonBendingReso2(0.0);  
-       iChamber = AliMUONConstants::ChamberNumber(z);
+       hitForRec->SetNonBendingReso2(0.0);
+       detElemId = hitForRec->GetDetElemId();
+       if (detElemId) iChamber = detElemId / 100 - 1; 
+       else iChamber = AliMUONConstants::ChamberNumber(z);
        hitForRec->SetChamberNumber(iChamber);
 
        muonTrack->AddTrackParamAtHit(trackParam);
@@ -322,7 +324,7 @@ void AliMUONRecoCheck::CleanMuonTrackRef()
   Float_t bendingSlope2,nonBendingSlope2,bendingMomentum2;
   TClonesArray *newMuonTrackRef = new TClonesArray("AliMUONTrack", 10);
   Int_t iHit1;
-  Int_t iChamber = 0;
+  Int_t iChamber = 0, detElemId = 0;
   Int_t nRec = 0;
   Int_t nTrackHits = 0;
 
@@ -391,7 +393,9 @@ void AliMUONRecoCheck::CleanMuonTrackRef()
       hitForRec->SetNonBendingCoor(xRec);
       hitForRec->SetBendingCoor(yRec);
       hitForRec->SetZ(zRec);
-      iChamber = AliMUONConstants::ChamberNumber(zRec);
+      detElemId = hitForRec->GetDetElemId();
+      if (detElemId) iChamber = detElemId / 100 - 1;
+      else iChamber = AliMUONConstants::ChamberNumber(zRec);
       hitForRec->SetChamberNumber(iChamber);
       hitForRec->SetBendingReso2(0.0); 
       hitForRec->SetNonBendingReso2(0.0); 
index 3a42a894879b6601bd9e0c202b926607f8701e77..a5d9cd72f2364496dee1deb07bee353280e736f7 100644 (file)
@@ -555,7 +555,9 @@ AliMUONHitForRec* AliMUONTrackReconstructor::NewHitForRecFromTrackRef(AliTrackRe
   // like in Fortran TRACKF_STAT.
   AliMUONHitForRec* hitForRec;
   Double_t bendCoor, nonBendCoor, radius;
-  Int_t chamber = AliMUONConstants::ChamberNumber(Hit->Z()); // chamber(0...)
+  Int_t detElemId = Hit->UserId(), chamber = 0;
+  if (detElemId) chamber = detElemId / 100 - 1;
+  else chamber = AliMUONConstants::ChamberNumber(Hit->Z()); // chamber(0...)
   if (chamber < 0) return NULL;
   // only in tracking chambers (fChamber starts at 1)
   if (chamber >= AliMUONConstants::NTrackingCh()) return NULL;