- rp = (AliPHOSRecParticle *)(*rpl)[index] ;
- Int_t type = rp->GetType() ;
- if ( type == kNEUTRAL ) { // resolve neutral baryon from photon
- AliPHOSEmcRecPoint * recp = tracksegment->GetEmcRecPoint() ;
- Float_t * lambda = new Float_t[2];
- recp->GetElipsAxis(lambda) ;
- if ( ( lambda[0] > fLambda1m && lambda[0] < fLambda1M ) && // shower profile cut
- ( lambda[1] > fLambda2m && lambda[1] < fLambda2M ) )
- type = kGAMMA ;
- else
- type = kNEUTRON ;
- delete lambda ;
- }
- if (type == kCHARGED) {
- if( tracksegment->GetEmcRecPoint()->GetDispersion() > fCutOnDispersion) // shower dispersion cut
- type = kCHARGEDHADRON ;
- else
- type = kELECTRON ;
- }
+ rp = (AliPHOSRecParticle *)rpl->At(index) ;
+ AliPHOSEmcRecPoint * recp = tracksegment->GetEmcRecPoint() ;
+ Float_t * lambda = new Float_t[2];
+ recp->GetElipsAxis(lambda) ;
+
+ // Looking at the lateral development of the shower
+ if ( ( lambda[0] > fLambda1m && lambda[0] < fLambda1M ) && // shower profile cut
+ ( lambda[1] > fLambda2m && lambda[1] < fLambda2M ) )
+ showerprofile = 0 ; // NARROW PROFILE
+ else
+ showerprofile = 1 ;// WIDE PROFILE
+
+ // Looking at the photon conversion detector
+ if( tracksegment->GetPpsdLowRecPoint() == 0 )
+ pcdetector = 0 ; // No hit
+ else
+ pcdetector = 1 ; // hit
+
+ // Looking at the photon conversion detector
+ if( tracksegment->GetPpsdUpRecPoint() == 0 )
+ cpvdetector = 0 ; // No hit
+ else
+ cpvdetector = 1 ; // Hit
+
+ type = showerprofile + 2 * pcdetector + 4 * cpvdetector ;