//Evaluate position, dispersion and other RecPoint properties..
Int_t nEmc = fEMCRecPoints->GetEntriesFast();
Float_t emcMinE= AliPHOSReconstructor::GetRecoParamEmc()->GetMinE(); //Minimal digit energy
+ TVector3 fakeVtx(0.,0.,0.) ;
for(index = 0; index < nEmc; index++){
AliPHOSEmcRecPoint * rp =
dynamic_cast<AliPHOSEmcRecPoint *>( fEMCRecPoints->At(index) );
}
// No vertex is available now, calculate corrections in PID
- rp->EvalAll(fW0,fDigitsArr) ;
+ rp->EvalAll(fDigitsArr) ;
rp->EvalCoreEnergy(fW0,fEcoreRadius,fDigitsArr) ;
- TVector3 fakeVtx(0.,0.,0.) ;
rp->EvalAll(fW0,fakeVtx,fDigitsArr) ;
rp->EvalLocal2TrackingCSTransform();
}
//Now the same for CPV
for(index = 0; index < fCPVRecPoints->GetEntries(); index++){
AliPHOSCpvRecPoint * rp = dynamic_cast<AliPHOSCpvRecPoint *>( fCPVRecPoints->At(index) );
- rp->EvalAll(fW0CPV,fDigitsArr) ;
+ rp->EvalAll(fDigitsArr) ;
+ rp->EvalAll(fW0CPV,fakeVtx,fDigitsArr) ;
rp->EvalLocal2TrackingCSTransform();
}
fCPVRecPoints->Sort() ;
}
//____________________________________________________________________________
-void AliPHOSCpvRecPoint::EvalAll(Float_t logWeight, TClonesArray * digits)
+void AliPHOSCpvRecPoint::EvalAll(TClonesArray * digits)
{
// Evaluate local coordinate assuming the vertex in (000) and no inclination
- TVector3 vtx(0,0,0), vInc(0,1,0);
- AliPHOSEmcRecPoint::EvalAll(logWeight,digits) ;
- EvalLocalPosition(logWeight, vtx, digits,vInc) ;
- EvalClusterLengths(digits) ;
+ AliPHOSEmcRecPoint::EvalAll(digits) ;
}
//____________________________________________________________________________
void AliPHOSCpvRecPoint::EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits)
{
// wraps other methods
+ TVector3 vInc(0,1,0);
AliPHOSEmcRecPoint::EvalAll(logWeight,vtx,digits) ;
+ EvalLocalPosition(logWeight, vtx, digits,vInc) ;
+ EvalClusterLengths(digits) ;
}
//____________________________________________________________________________
void AliPHOSCpvRecPoint::EvalLocalPosition(Float_t logWeight, TVector3 & /*vtx */, TClonesArray * digits, TVector3 &/* vInc */)
virtual ~AliPHOSCpvRecPoint() ;
Int_t Compare(const TObject * obj) const; // method for sorting
- void EvalAll(Float_t logWeight, TClonesArray * digits) ;
- void EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ;
+ virtual void EvalAll(TClonesArray * digits) ;
+ virtual void EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ;
void EvalLocalPosition(Float_t logWeight, TVector3 &vtx, TClonesArray * digits, TVector3 &vInc) ;
void EvalClusterLengths(TClonesArray * digits) ;
}
//____________________________________________________________________________
-void AliPHOSEmcRecPoint::EvalAll(Float_t logWeight, TClonesArray * digits )
+void AliPHOSEmcRecPoint::EvalAll(TClonesArray * digits )
{
// EvalCoreEnergy(logWeight, digits);
EvalTime(digits) ;
virtual void AddDigit(AliPHOSDigit & digit, Float_t Energy) ; // add a digit to the digits list
Int_t Compare(const TObject * obj) const; // method for sorting
- virtual void EvalAll(Float_t logWeight, TClonesArray * digits) ; //Those tasks which can be done without vertex
+ virtual void EvalAll(TClonesArray * digits) ; //Those tasks which can be done without vertex
virtual void EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ;
void EvalCoreEnergy(Float_t logWeight, Float_t coreRadius, TClonesArray * digits) ;
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t * option="") ;
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ;
- void EvalAll(TClonesArray * digits) ;
+ virtual void EvalAll(TClonesArray * digits) ;
void EvalLocal2TrackingCSTransform();
virtual void EvalPHOSMod(AliPHOSDigit * digit) ;
virtual int * GetDigitsList(void) const { return fDigitsList ; }