From 2bb500e52becc7f23622cdb8856a8648fd4bd43c Mon Sep 17 00:00:00 2001 From: schutz Date: Fri, 2 Apr 2004 16:14:44 +0000 Subject: [PATCH 1/1] Further fixing of CPV recpoint cast; fixing error in CPV-EMC distance in ESD approach --- PHOS/AliPHOSClusterizerv1.cxx | 18 +++++++++--------- PHOS/AliPHOSPIDv1.cxx | 1 + PHOS/AliPHOSTrackSegmentMakerv1.cxx | 22 +++++++++------------- PHOS/AliPHOSTrackSegmentMakerv1.h | 4 ++-- 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/PHOS/AliPHOSClusterizerv1.cxx b/PHOS/AliPHOSClusterizerv1.cxx index 82223c7f192..a345b9c97b2 100644 --- a/PHOS/AliPHOSClusterizerv1.cxx +++ b/PHOS/AliPHOSClusterizerv1.cxx @@ -444,7 +444,7 @@ void AliPHOSClusterizerv1::WriteRecPoints() cpvRecPoints->Sort() ; for(index = 0; index < cpvRecPoints->GetEntries(); index++) - dynamic_cast( cpvRecPoints->At(index) )->SetIndexInList(index) ; + dynamic_cast( cpvRecPoints->At(index) )->SetIndexInList(index) ; cpvRecPoints->Expand(cpvRecPoints->GetEntriesFast()) ; @@ -981,14 +981,14 @@ void AliPHOSClusterizerv1::PrintRecPoints(Option_t * option) printf("\n CPV clusters \n") ; printf("Index Ene(MeV) Module X Y Z \n") ; for (index = 0 ; index < cpvRecPoints->GetEntries() ; index++) { - AliPHOSRecPoint * rp = (AliPHOSRecPoint * )cpvRecPoints->At(index) ; - - TVector3 locpos; - rp->GetLocalPosition(locpos); - - printf("\n%6d %8.2f %2d %4.1f %4.1f %4.1f \n", - rp->GetIndexInList(), rp->GetEnergy(), rp->GetPHOSMod(), - locpos.X(), locpos.Y(), locpos.Z()) ; + AliPHOSCpvRecPoint * rp = (AliPHOSCpvRecPoint * )cpvRecPoints->At(index) ; + + TVector3 locpos; + rp->GetLocalPosition(locpos); + + printf("\n%6d %8.2f %2d %4.1f %4.1f %4.1f \n", + rp->GetIndexInList(), rp->GetEnergy(), rp->GetPHOSMod(), + locpos.X(), locpos.Y(), locpos.Z()) ; } } } diff --git a/PHOS/AliPHOSPIDv1.cxx b/PHOS/AliPHOSPIDv1.cxx index b561f7fab5f..cfb35def85c 100644 --- a/PHOS/AliPHOSPIDv1.cxx +++ b/PHOS/AliPHOSPIDv1.cxx @@ -400,6 +400,7 @@ Float_t AliPHOSPIDv1::GetDistance(AliPHOSEmcRecPoint * emc,AliPHOSCpvRecPoint * if(cpv){ emc->GetLocalPosition(vecEmc) ; cpv->GetLocalPosition(vecCpv) ; + if(emc->GetPHOSMod() == cpv->GetPHOSMod()){ // Correct to difference in CPV and EMC position due to different distance to center. // we assume, that particle moves from center diff --git a/PHOS/AliPHOSTrackSegmentMakerv1.cxx b/PHOS/AliPHOSTrackSegmentMakerv1.cxx index f10f6ddab7d..26d814a4bd9 100644 --- a/PHOS/AliPHOSTrackSegmentMakerv1.cxx +++ b/PHOS/AliPHOSTrackSegmentMakerv1.cxx @@ -126,7 +126,7 @@ void AliPHOSTrackSegmentMakerv1::FillOneModule() } //____________________________________________________________________________ -Float_t AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * emcClu,AliPHOSRecPoint * cpvClu, Bool_t &toofar) const +Float_t AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * emcClu,AliPHOSCpvRecPoint * cpvClu, Bool_t &toofar) const { // Calculates the distance between the EMC RecPoint and the PPSD RecPoint // Clusters are sorted in "rows" and "columns" of width 1 cm @@ -145,16 +145,10 @@ Float_t AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * toofar = kTRUE ; if(emcClu->GetPHOSMod() == cpvClu->GetPHOSMod()){ - Info("GetDistanceInPHOSPlane", - "\n EMC rp = (%f,%f,%f), \n CPV rp = (%f,%f,%f) in module %d", - vecEmc.X(),vecEmc.Y(),vecEmc.Z(), - vecCpv.X(),vecCpv.Y(),vecCpv.Z(), - cpvClu->GetPHOSMod()); if (fESD != 0x0) { // Extrapolate the global track direction if any to CPV and find the closest track Int_t nTracks = fESD->GetNumberOfTracks(); Int_t iClosestTrack = -1; - Double_t distance; Double_t minDistance = 1e6; Double_t pxyz[3], xyz[3]; AliESDtrack *track; @@ -193,6 +187,8 @@ Float_t AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * // If no ESD exists, than simply find EMC-CPV distance distance = (vecCpv - vecEmc).Mag() ; } + Info("GetDistanceInPHOSPlane","cpv-emc distance is %f cm", + distance); if(distance < fRcpv + 2*delta ) toofar = kFALSE ; } @@ -214,8 +210,8 @@ TVector3 AliPHOSTrackSegmentMakerv1::PropagateToCPV(Double_t *x, Double_t *p, TVector3 vertex(x); TVector3 direction(p); - Info("PropagateToCPV","YVK: center of the module %d is (%f,%f,%f)", - moduleNumber,moduleCenter[0],moduleCenter[1],moduleCenter[2]); +// Info("PropagateToCPV","YVK: center of the module %d is (%f,%f,%f)", +// moduleNumber,moduleCenter[0],moduleCenter[1],moduleCenter[2]); Double_t time = (moduleCenter.Mag2() - vertex.Dot(moduleCenter)) / (direction.Dot(moduleCenter)); @@ -264,7 +260,7 @@ void AliPHOSTrackSegmentMakerv1::MakeLinks()const fLinkUpArray->Clear() ; - AliPHOSRecPoint * cpv ; + AliPHOSCpvRecPoint * cpv ; AliPHOSEmcRecPoint * emcclu ; Int_t iLinkUp = 0 ; @@ -277,7 +273,7 @@ void AliPHOSTrackSegmentMakerv1::MakeLinks()const Int_t iCpv = 0 ; for(iCpv = fCpvFirst; iCpv < fCpvLast;iCpv++ ) { - cpv = dynamic_cast(cpvRecPoints->At(iCpv)) ; + cpv = dynamic_cast(cpvRecPoints->At(iCpv)) ; Float_t r = GetDistanceInPHOSPlane(emcclu, cpv, toofar) ; if(toofar) @@ -326,7 +322,7 @@ void AliPHOSTrackSegmentMakerv1::MakePairs() AliPHOSLink * linkUp ; - AliPHOSRecPoint * nullpointer = 0 ; + AliPHOSCpvRecPoint * nullpointer = 0 ; while ( (linkUp = static_cast(nextUp()) ) ){ @@ -336,7 +332,7 @@ void AliPHOSTrackSegmentMakerv1::MakePairs() new ((* trackSegments)[fNTrackSegments]) AliPHOSTrackSegment(dynamic_cast(emcRecPoints->At(linkUp->GetEmc())) , - dynamic_cast(cpvRecPoints->At(linkUp->GetPpsd()))) ; + dynamic_cast(cpvRecPoints->At(linkUp->GetPpsd()))) ; (dynamic_cast(trackSegments->At(fNTrackSegments)))->SetIndexInList(fNTrackSegments); fNTrackSegments++ ; diff --git a/PHOS/AliPHOSTrackSegmentMakerv1.h b/PHOS/AliPHOSTrackSegmentMakerv1.h index 5ca4ed33f2a..5c86ff377fd 100644 --- a/PHOS/AliPHOSTrackSegmentMakerv1.h +++ b/PHOS/AliPHOSTrackSegmentMakerv1.h @@ -20,7 +20,7 @@ #include "AliPHOSTrackSegmentMaker.h" class AliPHOSEmcRecPoint ; -class AliPHOSRecPoint ; +class AliPHOSCpvRecPoint ; class AliPHOSTrackSegmentMakerv1 : public AliPHOSTrackSegmentMaker { @@ -63,7 +63,7 @@ public: private: const TString BranchName() const ; - Float_t GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * EmcClu , AliPHOSRecPoint * Ppsd , Bool_t & TooFar ) const ; // see R0 + Float_t GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * EmcClu , AliPHOSCpvRecPoint * Ppsd , Bool_t & TooFar ) const ; // see R0 TVector3 PropagateToCPV(Double_t *x, Double_t *p, Int_t module) const; void Init() ; void InitParameters() ; -- 2.39.3