ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

////////////////////////////////////////////////////////////////////////////////
//
//  This class contains all code which is used to compute any of the values
//  which can be of interest within a resonance analysis. Besides the obvious
//  invariant mass, it allows to compute other utility values on all possible
//  targets, in order to allow a wide spectrum of binning and checks.
//  When needed, this object can also define a binning in the variable which
//  it is required to compute, which is used for initializing axes of output
//  histograms (see AliRsnFunction).
//  The value computation requires this object to be passed the object whose
//  informations will be used. This object can be of any allowed input type
//  (track, Daughter, event), then this class must inherit from AliRsnTarget.
//  Then, when value computation is attempted, a check on target type is done
//  and computation is successful only if expected target matches that of the
//  passed object.
//  In some cases, the value computation can require a support external object,
//  which must then be passed to this class. It can be of any type inheriting
//  from TObject.
//
//  authors: A. Pulvirenti (alberto.pulvirenti@ct.infn.it)
//           M. Vala (martin.vala@cern.ch)
//
////////////////////////////////////////////////////////////////////////////////

#include <Riostream.h>
#include "AliVVertex.h"
#include "AliMultiplicity.h"
#include "AliESDtrackCuts.h"
#include "AliESDpid.h"
#include "AliAODPid.h"
#include "AliCentrality.h"
#include "AliESDUtils.h"
#include "AliPIDResponse.h"

#include "AliRsnEvent.h"
#include "AliRsnDaughter.h"
#include "AliRsnMother.h"
#include "AliRsnDaughterDef.h"
#include "AliRsnDaughterDef.h"

#include "AliRsnValueDaughter.h"

ClassImp(AliRsnValueDaughter)

//_____________________________________________________________________________
AliRsnValueDaughter::AliRsnValueDaughter(const char *name, EType type) :
   AliRsnValue(name, AliRsnTarget::kDaughter),
   fType(type)
{
//
// Constructor
//
}

//_____________________________________________________________________________
AliRsnValueDaughter::AliRsnValueDaughter(const AliRsnValueDaughter &copy) :
   AliRsnValue(copy),
   fType(copy.fType)
{
//
// Copy constructor
//
}

//_____________________________________________________________________________
AliRsnValueDaughter &AliRsnValueDaughter::operator=(const AliRsnValueDaughter &copy)
{
//
// Assignment operator.
// Works like copy constructor.
//

   AliRsnValue::operator=(copy);
   if (this == &copy)
      return *this;
   fType = copy.fType;

   return (*this);
}

//_____________________________________________________________________________
const char *AliRsnValueDaughter::GetTypeName() const
{
//
// This method returns a string to give a name to each possible
// computation value.
//

   switch (fType) {
      case kP:            	       return "SingleTrackPtot";
      case kPt:           	       return "SingleTrackPt";
      case kPtpc:         	       return "SingleTrackPtpc";
      case kEta:          	       return "SingleTrackEta";
      case kY:                         return "SingleTrackY";
      case kMass:         	       return "SingleTrackMass";
      case kITSsignal:    	       return "SingleTrackITSsignal";
      case kTPCsignal:    	        return "SingleTrackTPCsignal";
      case kTOFsignal:    	        return "SingleTrackTOFsignal";
      case kTPCnsigmaPi:  	        return "SingleTrackTPCnsigmaPion";
      case kTPCnsigmaK:   	        return "SingleTrackTPCnsigmaKaon";
      case kTPCnsigmaP:   	        return "SingleTrackTPCnsigmaProton";
      case kTOFnsigmaPi:  	        return "SingleTrackTOFnsigmaPion";
      case kTOFnsigmaK:   	        return "SingleTrackTOFnsigmaKaon";
      case kTOFnsigmaP:   	        return "SingleTrackTOFnsigmaProton";
      case kTOFdeltaPi:  	        return "SingleTrackTOFdeltaPion";
      case kTOFdeltaK:   	        return "SingleTrackTOFdeltaKaon";
      case kTOFdeltaP:   	        return "SingleTrackTOFdeltaProton";
      case kNITSclusters:               return "SingleTrackNITSclusters";
      case kNTPCclusters:               return "SingleTrackNTPCclusters";
      case kNTPCcrossedRows:            return "SingleTrackNTPCcrossedRows";
      case kNTPCcrossedRowsFclusters:   return "SingleTrackNTPCcrossedRowsFclusters";  
      case kITSchi2:                    return "SingleTrackITSchi2"; 
      case kTPCchi2:                    return "SingleTrackTPCchi2"; 
      case kDCAXY:                      return "SingleTrackDCAz"; 
      case kDCAZ:                       return "SingleTrackDCAz";       
      case kCharge:                     return "SingleTrackCharge";
      case kPhi:                        return "SingleTrackPhi";
      case kPhiOuterTPC:                return "SingleTrackPhiOuterTPC";
      case kV0DCA:        	        return "V0DCAToPrimaryVertex";
      case kV0Radius:        	        return "V0Radius";
      case kV0Mass:        	        return "V0Mass";
      case kV0P:        	        return "V0Momentum";
      case kV0Pt:        	        return "V0TransverseMomentum";
      case kDaughterDCA:  	        return "V0DaughterDCA";
      case kCosPointAng:  	        return "V0CosineOfPointingAngle";
      case kLambdaProtonPIDCut:         return "V0LambdaProtonNsigma";
      case kAntiLambdaAntiProtonPIDCut: return "V0AntiLambdaAntiProtonNsigma";
      case kLambdaPionPIDCut:           return "V0LambdaPionNsigma";
      case kAntiLambdaAntiPionPIDCut:   return "V0AntiLambdaPionNsigma";
      default:                          return "Undefined";
   }
}

//_____________________________________________________________________________
Bool_t AliRsnValueDaughter::Eval(TObject *object)
{
//
// Evaluation of the required value.
// Checks that the passed object is of the right type
// and if this check is successful, computes the required value.
// The output of the function tells if computing was successful,
// and the values must be taken with GetValue().
//

   // coherence check, which also casts object
   // to AliRsnTarget data members and returns kFALSE
   // in case the object is NULL
   if (!TargetOK(object)) return kFALSE;

   // set a reference to the mother momentum
   AliVParticle   *ref   = fDaughter->GetRef();
   AliVParticle   *refMC = fDaughter->GetRefMC();
   AliVTrack      *track = fDaughter->Ref2Vtrack();
   AliESDv0       *v0esd = fDaughter->Ref2ESDv0();
   AliAODv0       *v0aod = fDaughter->Ref2AODv0();
   AliESDEvent    *lESDEvent = fEvent->GetRefESD();
   
   Double_t xPrimaryVertex = -999.9;
   Double_t yPrimaryVertex = -999.9;
   Double_t zPrimaryVertex = -999.9;
   
   if(lESDEvent){
   
   xPrimaryVertex = lESDEvent->GetPrimaryVertex()->GetX();
   yPrimaryVertex = lESDEvent->GetPrimaryVertex()->GetY();
   zPrimaryVertex = lESDEvent->GetPrimaryVertex()->GetZ();
   
   }
   
   if (fUseMCInfo && !refMC) {
      AliError("No MC");
      return kFALSE;
   }
   if (!fUseMCInfo && !ref) {
      AliError("No DATA");
      return kFALSE;
   }

   // compute value depending on types in the enumeration
   // if the type does not match any available choice, or if
   // the computation is not doable due to any problem
   // (not initialized support object, wrong values, risk of floating point errors)
   // the method returng kFALSE and sets the computed value to a meaningless number
   switch (fType) {
   case kP:
     fComputedValue = (fUseMCInfo ? refMC->P() : ref->P());
     return kTRUE;

   case kPt:
     fComputedValue = (fUseMCInfo ? refMC->Pt() : ref->Pt());
     return kTRUE;

   case kEta:
     fComputedValue = (fUseMCInfo ? refMC->Eta() : ref->Eta());
     return kTRUE;

   case kY:
     fComputedValue = (fUseMCInfo ? refMC->Y() : ref->Y());
     return kTRUE;   
 
   case kMass:
     fComputedValue = (fUseMCInfo ? refMC->M() : ref->M());
     return kTRUE;

   case kPtpc:
     if (track) {
       fComputedValue = track->GetTPCmomentum();
       return kTRUE;
     } else {
       AliWarning("Cannot get TPC momentum for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kITSsignal:
     if (track) {
       fComputedValue = track->GetITSsignal();
       return kTRUE;
     } else {
       AliWarning("Cannot get ITS signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTPCsignal:
     if (track) {
       fComputedValue = track->GetTPCsignal();
       return kTRUE;
     } else {
       AliWarning("Cannot get TPC signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFsignal:
     if (track) {
       fComputedValue = track->GetTOFsignal();
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTPCnsigmaPi:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTPC(track, AliPID::kPion);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTPCnsigmaK:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTPC(track, AliPID::kKaon);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTPCnsigmaP:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTPC(track, AliPID::kProton);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFnsigmaPi:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTOF(track, AliPID::kPion);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFnsigmaK:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTOF(track, AliPID::kKaon);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFnsigmaP:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       fComputedValue = pid->NumberOfSigmasTOF(track, AliPID::kProton);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF signal for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFdeltaPi:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       pid->GetSignalDelta(AliPIDResponse::kTOF, track, AliPID::kPion, fComputedValue, kFALSE);//(==AliPIDResponse::kDetPidOk);
	 return kTRUE;
     } else {
       AliWarning("Cannot get TOF delta for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFdeltaK:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       pid->GetSignalDelta(AliPIDResponse::kTOF, track, AliPID::kKaon, fComputedValue, kFALSE);//(==AliPIDResponse::kDetPidOk);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF delta for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kTOFdeltaP:
     if (track) {
       AliPIDResponse *pid = fEvent->GetPIDResponse();
       pid->GetSignalDelta(AliPIDResponse::kTOF, track, AliPID::kProton, fComputedValue, kFALSE);//(==AliPIDResponse::kDetPidOk);
       return kTRUE;
     } else {
       AliWarning("Cannot get TOF delta for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }
   
   case kNITSclusters:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 fComputedValue =  trackESD->GetITSclusters(0);
       } else {
	 fComputedValue =  ((AliAODTrack *)track)->GetITSNcls();
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get n ITS clusters for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kNTPCclusters:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 fComputedValue =  trackESD->GetTPCclusters(0);
       } else {
	 fComputedValue =  ((AliAODTrack *)track)->GetTPCNcls();
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get n TPC clusters for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kNTPCcrossedRows:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 fComputedValue =  trackESD->GetTPCCrossedRows();
       } else {
	 fComputedValue =  ((AliAODTrack *)track)->GetTPCNCrossedRows();
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get n TPC crossed rows for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kNTPCcrossedRowsFclusters:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       fComputedValue = 1.0;
       if (trackESD) {
	 if (trackESD->GetTPCNclsF()>0) fComputedValue = trackESD->GetTPCCrossedRows() / trackESD->GetTPCNclsF();   
       } else {
	 Float_t nCrossedRows = ((AliAODTrack*) track)->GetTPCNCrossedRows();
	 Float_t nFcls = ((AliAODTrack*) track)->GetTPCNclsF();
	 if (nFcls>0) fComputedValue = nCrossedRows / nFcls;
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get n TPC crossed rows/findable clusters for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }
     
   case kITSchi2:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 UShort_t nClustersITS = trackESD->GetITSclusters(0);
	 fComputedValue =  trackESD->GetITSchi2()/Float_t(nClustersITS);
       } else {
	 fComputedValue = ((AliAODTrack *)track)->Chi2perNDF();
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get ITS chi^2 for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }
   case kTPCchi2:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 UShort_t nClustersTPC = trackESD->GetTPCclusters(0);
	 fComputedValue =  trackESD->GetTPCchi2()/Float_t(nClustersTPC);
       } else {
	 fComputedValue = ((AliAODTrack *)track)->Chi2perNDF();
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get TPC chi^2 for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }
   case kDCAXY:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 Float_t b[2], bCov[3];
	 trackESD->GetImpactParameters(b, bCov);
	 fComputedValue =  b[0];
       } else {
	 Double_t b[2]= {-999,-999}, cov[3];
	 AliAODVertex *vertex = fEvent->GetRefAOD()->GetPrimaryVertex();
	 if(vertex) {
	   track->PropagateToDCA(vertex, fEvent->GetRefAOD()->GetMagneticField(),kVeryBig, b, cov);
	   fComputedValue = b[0];
	 } else {
	   fComputedValue = -999;
	 }
       }
       return kTRUE;
     } else {
       AliWarning("Cannot get TPC chi^2 for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }
   case kDCAZ:
     if (track) {
       AliESDtrack *trackESD = dynamic_cast<AliESDtrack *>(track);
       if (trackESD) {
	 Float_t b[2], bCov[3];
	 trackESD->GetImpactParameters(b, bCov);
	 fComputedValue =  b[1];
       } else {
	 Double_t b[2]= {-999,-999}, cov[3];
	 AliAODVertex *vertex = fEvent->GetRefAOD()->GetPrimaryVertex();
	 if(vertex) {
	   track->PropagateToDCA(vertex, fEvent->GetRefAOD()->GetMagneticField(),kVeryBig, b, cov);
	   fComputedValue = b[1];
	 } else {
	   fComputedValue = -999;
	 }

       }
       return kTRUE;
     } else {
       AliWarning("Cannot get TPC chi^2 for non-track object");
       fComputedValue = 0.0;
       return kFALSE;
     }

   case kCharge:
     fComputedValue = (fUseMCInfo ? refMC->Charge() : ref->Charge());
     return kTRUE;
   
   case kPhi:         
     fComputedValue = (fUseMCInfo ? (refMC->Phi()*TMath::RadToDeg()) : (ref->Phi()*TMath::RadToDeg()));      
     return kTRUE;

   case kPhiOuterTPC:    
     if (track) {
       Double_t pos[3]={0.,0.,0.};
       Double_t phiOut = -999.0;
       Double_t radius = 278.;//TPC outer (vessel) = 278 cm, TOF radius (active surf.) = 378 cm;  ref. PPR.1
       AliExternalTrackParam etp; //thanks to Andrea and Cristina
       etp.CopyFromVTrack(track);
       if(etp.GetXYZAt(radius, 5., pos)){
	 phiOut=TMath::ATan2(pos[1],pos[0])*TMath::RadToDeg();
	 if (phiOut<0) phiOut+= (2*TMath::Pi()*TMath::RadToDeg());
       }
       fComputedValue = phiOut;      
     } else {
       AliWarning("Cannot get phi at outer TPC radius for non-track object");
       fComputedValue = -99.0;
       return kFALSE;
     }
     return kTRUE;

   case kV0DCA:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->GetD(xPrimaryVertex,yPrimaryVertex,zPrimaryVertex);
       return kTRUE;
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       fComputedValue = v0AOD->DcaV0ToPrimVertex();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }	 	 

   case kV0Radius:
     if(v0esd) {
       Double_t v0Position[3]; // from $ALICE_ROOT/ANALYSIS/AliESDV0Cuts.cxx
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       v0ESD->GetXYZ(v0Position[0],v0Position[1],v0Position[2]);
       fComputedValue = TMath::Sqrt(TMath::Power(v0Position[0],2) + TMath::Power(v0Position[1],2));
       return kTRUE;
      }
     if(v0aod) {
        AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
	fComputedValue = v0AOD->RadiusV0();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }	 	 

   case kV0Mass:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->GetEffMass();
       return kTRUE;
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       fComputedValue = v0AOD->MassLambda();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }	 
	 
   case kV0P:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->P();
       return kTRUE;
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       fComputedValue = v0AOD->Ptot2V0();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }	 	 

   case kV0Pt:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->Pt();
       return kTRUE;
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       fComputedValue = v0AOD->Pt2V0();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }	 	 

   case kDaughterDCA:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->GetDcaV0Daughters();
       return kTRUE;
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       fComputedValue = v0AOD->DcaV0Daughters();
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }

   case kCosPointAng:
     if(v0esd) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       fComputedValue = v0ESD->GetV0CosineOfPointingAngle();
       return kTRUE;	 
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       AliAODVertex *vertex = fEvent->GetRefAOD()->GetPrimaryVertex();
       fComputedValue = v0AOD->CosPointingAngle(vertex);
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }

   case kLambdaProtonPIDCut:
     if(v0esd && lESDEvent) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       // retrieve the V0 daughters
       UInt_t lIdxPos      = (UInt_t) TMath::Abs(v0ESD->GetPindex());
       AliESDtrack *pTrack = lESDEvent->GetTrack(lIdxPos);
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(pTrack, AliPID::kProton));
       return kTRUE;	 
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       AliAODTrack *pTrack = (AliAODTrack *) (v0AOD->GetSecondaryVtx()->GetDaughter(0));
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(pTrack, AliPID::kProton));
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }

   case kAntiLambdaAntiProtonPIDCut:
     if(v0esd && lESDEvent) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       // retrieve the V0 daughters
       UInt_t lIdxNeg      = (UInt_t) TMath::Abs(v0ESD->GetNindex());
       AliESDtrack *nTrack = lESDEvent->GetTrack(lIdxNeg);
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(nTrack, AliPID::kProton));
       return kTRUE;	 
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       AliAODTrack *nTrack = (AliAODTrack *) (v0AOD->GetSecondaryVtx()->GetDaughter(1));
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(nTrack, AliPID::kProton));
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }

   case kLambdaPionPIDCut:
     if(v0esd && lESDEvent) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       // retrieve the V0 daughters
       UInt_t lIdxNeg      = (UInt_t) TMath::Abs(v0ESD->GetNindex());
       AliESDtrack *nTrack = lESDEvent->GetTrack(lIdxNeg);
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(nTrack, AliPID::kPion));
       return kTRUE;	 
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       AliAODTrack *nTrack = (AliAODTrack *) (v0AOD->GetSecondaryVtx()->GetDaughter(1));
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(nTrack, AliPID::kPion));
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }

   case kAntiLambdaAntiPionPIDCut:
     if(v0esd && lESDEvent) {
       AliESDv0 *v0ESD = dynamic_cast<AliESDv0 *>(v0esd);
       // retrieve the V0 daughters
       UInt_t lIdxPos      = (UInt_t) TMath::Abs(v0ESD->GetPindex());
       AliESDtrack *pTrack = lESDEvent->GetTrack(lIdxPos);
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(pTrack, AliPID::kPion));
       return kTRUE;	 
     }
     if(v0aod) {
       AliAODv0 *v0AOD = dynamic_cast<AliAODv0 *>(v0aod);
       AliAODTrack *pTrack = (AliAODTrack *) (v0AOD->GetSecondaryVtx()->GetDaughter(0));
       AliPIDResponse *pid = fEvent->GetPIDResponse(); 
       fComputedValue = TMath::Abs(pid->NumberOfSigmasTPC(pTrack, AliPID::kPion));
       return kTRUE;
     }
     else {
       fComputedValue = -999;
       return kFALSE;
     }
	     
   default:
     AliError(Form("[%s] Invalid value type for this computation", GetName()));
     return kFALSE;
   }
}
 AliRsnValueDaughter.cxx:1
 AliRsnValueDaughter.cxx:2
 AliRsnValueDaughter.cxx:3
 AliRsnValueDaughter.cxx:4
 AliRsnValueDaughter.cxx:5
 AliRsnValueDaughter.cxx:6
 AliRsnValueDaughter.cxx:7
 AliRsnValueDaughter.cxx:8
 AliRsnValueDaughter.cxx:9
 AliRsnValueDaughter.cxx:10
 AliRsnValueDaughter.cxx:11
 AliRsnValueDaughter.cxx:12
 AliRsnValueDaughter.cxx:13
 AliRsnValueDaughter.cxx:14
 AliRsnValueDaughter.cxx:15
 AliRsnValueDaughter.cxx:16
 AliRsnValueDaughter.cxx:17
 AliRsnValueDaughter.cxx:18
 AliRsnValueDaughter.cxx:19
 AliRsnValueDaughter.cxx:20
 AliRsnValueDaughter.cxx:21
 AliRsnValueDaughter.cxx:22
 AliRsnValueDaughter.cxx:23
 AliRsnValueDaughter.cxx:24
 AliRsnValueDaughter.cxx:25
 AliRsnValueDaughter.cxx:26
 AliRsnValueDaughter.cxx:27
 AliRsnValueDaughter.cxx:28
 AliRsnValueDaughter.cxx:29
 AliRsnValueDaughter.cxx:30
 AliRsnValueDaughter.cxx:31
 AliRsnValueDaughter.cxx:32
 AliRsnValueDaughter.cxx:33
 AliRsnValueDaughter.cxx:34
 AliRsnValueDaughter.cxx:35
 AliRsnValueDaughter.cxx:36
 AliRsnValueDaughter.cxx:37
 AliRsnValueDaughter.cxx:38
 AliRsnValueDaughter.cxx:39
 AliRsnValueDaughter.cxx:40
 AliRsnValueDaughter.cxx:41
 AliRsnValueDaughter.cxx:42
 AliRsnValueDaughter.cxx:43
 AliRsnValueDaughter.cxx:44
 AliRsnValueDaughter.cxx:45
 AliRsnValueDaughter.cxx:46
 AliRsnValueDaughter.cxx:47
 AliRsnValueDaughter.cxx:48
 AliRsnValueDaughter.cxx:49
 AliRsnValueDaughter.cxx:50
 AliRsnValueDaughter.cxx:51
 AliRsnValueDaughter.cxx:52
 AliRsnValueDaughter.cxx:53
 AliRsnValueDaughter.cxx:54
 AliRsnValueDaughter.cxx:55
 AliRsnValueDaughter.cxx:56
 AliRsnValueDaughter.cxx:57
 AliRsnValueDaughter.cxx:58
 AliRsnValueDaughter.cxx:59
 AliRsnValueDaughter.cxx:60
 AliRsnValueDaughter.cxx:61
 AliRsnValueDaughter.cxx:62
 AliRsnValueDaughter.cxx:63
 AliRsnValueDaughter.cxx:64
 AliRsnValueDaughter.cxx:65
 AliRsnValueDaughter.cxx:66
 AliRsnValueDaughter.cxx:67
 AliRsnValueDaughter.cxx:68
 AliRsnValueDaughter.cxx:69
 AliRsnValueDaughter.cxx:70
 AliRsnValueDaughter.cxx:71
 AliRsnValueDaughter.cxx:72
 AliRsnValueDaughter.cxx:73
 AliRsnValueDaughter.cxx:74
 AliRsnValueDaughter.cxx:75
 AliRsnValueDaughter.cxx:76
 AliRsnValueDaughter.cxx:77
 AliRsnValueDaughter.cxx:78
 AliRsnValueDaughter.cxx:79
 AliRsnValueDaughter.cxx:80
 AliRsnValueDaughter.cxx:81
 AliRsnValueDaughter.cxx:82
 AliRsnValueDaughter.cxx:83
 AliRsnValueDaughter.cxx:84
 AliRsnValueDaughter.cxx:85
 AliRsnValueDaughter.cxx:86
 AliRsnValueDaughter.cxx:87
 AliRsnValueDaughter.cxx:88
 AliRsnValueDaughter.cxx:89
 AliRsnValueDaughter.cxx:90
 AliRsnValueDaughter.cxx:91
 AliRsnValueDaughter.cxx:92
 AliRsnValueDaughter.cxx:93
 AliRsnValueDaughter.cxx:94
 AliRsnValueDaughter.cxx:95
 AliRsnValueDaughter.cxx:96
 AliRsnValueDaughter.cxx:97
 AliRsnValueDaughter.cxx:98
 AliRsnValueDaughter.cxx:99
 AliRsnValueDaughter.cxx:100
 AliRsnValueDaughter.cxx:101
 AliRsnValueDaughter.cxx:102
 AliRsnValueDaughter.cxx:103
 AliRsnValueDaughter.cxx:104
 AliRsnValueDaughter.cxx:105
 AliRsnValueDaughter.cxx:106
 AliRsnValueDaughter.cxx:107
 AliRsnValueDaughter.cxx:108
 AliRsnValueDaughter.cxx:109
 AliRsnValueDaughter.cxx:110
 AliRsnValueDaughter.cxx:111
 AliRsnValueDaughter.cxx:112
 AliRsnValueDaughter.cxx:113
 AliRsnValueDaughter.cxx:114
 AliRsnValueDaughter.cxx:115
 AliRsnValueDaughter.cxx:116
 AliRsnValueDaughter.cxx:117
 AliRsnValueDaughter.cxx:118
 AliRsnValueDaughter.cxx:119
 AliRsnValueDaughter.cxx:120
 AliRsnValueDaughter.cxx:121
 AliRsnValueDaughter.cxx:122
 AliRsnValueDaughter.cxx:123
 AliRsnValueDaughter.cxx:124
 AliRsnValueDaughter.cxx:125
 AliRsnValueDaughter.cxx:126
 AliRsnValueDaughter.cxx:127
 AliRsnValueDaughter.cxx:128
 AliRsnValueDaughter.cxx:129
 AliRsnValueDaughter.cxx:130
 AliRsnValueDaughter.cxx:131
 AliRsnValueDaughter.cxx:132
 AliRsnValueDaughter.cxx:133
 AliRsnValueDaughter.cxx:134
 AliRsnValueDaughter.cxx:135
 AliRsnValueDaughter.cxx:136
 AliRsnValueDaughter.cxx:137
 AliRsnValueDaughter.cxx:138
 AliRsnValueDaughter.cxx:139
 AliRsnValueDaughter.cxx:140
 AliRsnValueDaughter.cxx:141
 AliRsnValueDaughter.cxx:142
 AliRsnValueDaughter.cxx:143
 AliRsnValueDaughter.cxx:144
 AliRsnValueDaughter.cxx:145
 AliRsnValueDaughter.cxx:146
 AliRsnValueDaughter.cxx:147
 AliRsnValueDaughter.cxx:148
 AliRsnValueDaughter.cxx:149
 AliRsnValueDaughter.cxx:150
 AliRsnValueDaughter.cxx:151
 AliRsnValueDaughter.cxx:152
 AliRsnValueDaughter.cxx:153
 AliRsnValueDaughter.cxx:154
 AliRsnValueDaughter.cxx:155
 AliRsnValueDaughter.cxx:156
 AliRsnValueDaughter.cxx:157
 AliRsnValueDaughter.cxx:158
 AliRsnValueDaughter.cxx:159
 AliRsnValueDaughter.cxx:160
 AliRsnValueDaughter.cxx:161
 AliRsnValueDaughter.cxx:162
 AliRsnValueDaughter.cxx:163
 AliRsnValueDaughter.cxx:164
 AliRsnValueDaughter.cxx:165
 AliRsnValueDaughter.cxx:166
 AliRsnValueDaughter.cxx:167
 AliRsnValueDaughter.cxx:168
 AliRsnValueDaughter.cxx:169
 AliRsnValueDaughter.cxx:170
 AliRsnValueDaughter.cxx:171
 AliRsnValueDaughter.cxx:172
 AliRsnValueDaughter.cxx:173
 AliRsnValueDaughter.cxx:174
 AliRsnValueDaughter.cxx:175
 AliRsnValueDaughter.cxx:176
 AliRsnValueDaughter.cxx:177
 AliRsnValueDaughter.cxx:178
 AliRsnValueDaughter.cxx:179
 AliRsnValueDaughter.cxx:180
 AliRsnValueDaughter.cxx:181
 AliRsnValueDaughter.cxx:182
 AliRsnValueDaughter.cxx:183
 AliRsnValueDaughter.cxx:184
 AliRsnValueDaughter.cxx:185
 AliRsnValueDaughter.cxx:186
 AliRsnValueDaughter.cxx:187
 AliRsnValueDaughter.cxx:188
 AliRsnValueDaughter.cxx:189
 AliRsnValueDaughter.cxx:190
 AliRsnValueDaughter.cxx:191
 AliRsnValueDaughter.cxx:192
 AliRsnValueDaughter.cxx:193
 AliRsnValueDaughter.cxx:194
 AliRsnValueDaughter.cxx:195
 AliRsnValueDaughter.cxx:196
 AliRsnValueDaughter.cxx:197
 AliRsnValueDaughter.cxx:198
 AliRsnValueDaughter.cxx:199
 AliRsnValueDaughter.cxx:200
 AliRsnValueDaughter.cxx:201
 AliRsnValueDaughter.cxx:202
 AliRsnValueDaughter.cxx:203
 AliRsnValueDaughter.cxx:204
 AliRsnValueDaughter.cxx:205
 AliRsnValueDaughter.cxx:206
 AliRsnValueDaughter.cxx:207
 AliRsnValueDaughter.cxx:208
 AliRsnValueDaughter.cxx:209
 AliRsnValueDaughter.cxx:210
 AliRsnValueDaughter.cxx:211
 AliRsnValueDaughter.cxx:212
 AliRsnValueDaughter.cxx:213
 AliRsnValueDaughter.cxx:214
 AliRsnValueDaughter.cxx:215
 AliRsnValueDaughter.cxx:216
 AliRsnValueDaughter.cxx:217
 AliRsnValueDaughter.cxx:218
 AliRsnValueDaughter.cxx:219
 AliRsnValueDaughter.cxx:220
 AliRsnValueDaughter.cxx:221
 AliRsnValueDaughter.cxx:222
 AliRsnValueDaughter.cxx:223
 AliRsnValueDaughter.cxx:224
 AliRsnValueDaughter.cxx:225
 AliRsnValueDaughter.cxx:226
 AliRsnValueDaughter.cxx:227
 AliRsnValueDaughter.cxx:228
 AliRsnValueDaughter.cxx:229
 AliRsnValueDaughter.cxx:230
 AliRsnValueDaughter.cxx:231
 AliRsnValueDaughter.cxx:232
 AliRsnValueDaughter.cxx:233
 AliRsnValueDaughter.cxx:234
 AliRsnValueDaughter.cxx:235
 AliRsnValueDaughter.cxx:236
 AliRsnValueDaughter.cxx:237
 AliRsnValueDaughter.cxx:238
 AliRsnValueDaughter.cxx:239
 AliRsnValueDaughter.cxx:240
 AliRsnValueDaughter.cxx:241
 AliRsnValueDaughter.cxx:242
 AliRsnValueDaughter.cxx:243
 AliRsnValueDaughter.cxx:244
 AliRsnValueDaughter.cxx:245
 AliRsnValueDaughter.cxx:246
 AliRsnValueDaughter.cxx:247
 AliRsnValueDaughter.cxx:248
 AliRsnValueDaughter.cxx:249
 AliRsnValueDaughter.cxx:250
 AliRsnValueDaughter.cxx:251
 AliRsnValueDaughter.cxx:252
 AliRsnValueDaughter.cxx:253
 AliRsnValueDaughter.cxx:254
 AliRsnValueDaughter.cxx:255
 AliRsnValueDaughter.cxx:256
 AliRsnValueDaughter.cxx:257
 AliRsnValueDaughter.cxx:258
 AliRsnValueDaughter.cxx:259
 AliRsnValueDaughter.cxx:260
 AliRsnValueDaughter.cxx:261
 AliRsnValueDaughter.cxx:262
 AliRsnValueDaughter.cxx:263
 AliRsnValueDaughter.cxx:264
 AliRsnValueDaughter.cxx:265
 AliRsnValueDaughter.cxx:266
 AliRsnValueDaughter.cxx:267
 AliRsnValueDaughter.cxx:268
 AliRsnValueDaughter.cxx:269
 AliRsnValueDaughter.cxx:270
 AliRsnValueDaughter.cxx:271
 AliRsnValueDaughter.cxx:272
 AliRsnValueDaughter.cxx:273
 AliRsnValueDaughter.cxx:274
 AliRsnValueDaughter.cxx:275
 AliRsnValueDaughter.cxx:276
 AliRsnValueDaughter.cxx:277
 AliRsnValueDaughter.cxx:278
 AliRsnValueDaughter.cxx:279
 AliRsnValueDaughter.cxx:280
 AliRsnValueDaughter.cxx:281
 AliRsnValueDaughter.cxx:282
 AliRsnValueDaughter.cxx:283
 AliRsnValueDaughter.cxx:284
 AliRsnValueDaughter.cxx:285
 AliRsnValueDaughter.cxx:286
 AliRsnValueDaughter.cxx:287
 AliRsnValueDaughter.cxx:288
 AliRsnValueDaughter.cxx:289
 AliRsnValueDaughter.cxx:290
 AliRsnValueDaughter.cxx:291
 AliRsnValueDaughter.cxx:292
 AliRsnValueDaughter.cxx:293
 AliRsnValueDaughter.cxx:294
 AliRsnValueDaughter.cxx:295
 AliRsnValueDaughter.cxx:296
 AliRsnValueDaughter.cxx:297
 AliRsnValueDaughter.cxx:298
 AliRsnValueDaughter.cxx:299
 AliRsnValueDaughter.cxx:300
 AliRsnValueDaughter.cxx:301
 AliRsnValueDaughter.cxx:302
 AliRsnValueDaughter.cxx:303
 AliRsnValueDaughter.cxx:304
 AliRsnValueDaughter.cxx:305
 AliRsnValueDaughter.cxx:306
 AliRsnValueDaughter.cxx:307
 AliRsnValueDaughter.cxx:308
 AliRsnValueDaughter.cxx:309
 AliRsnValueDaughter.cxx:310
 AliRsnValueDaughter.cxx:311
 AliRsnValueDaughter.cxx:312
 AliRsnValueDaughter.cxx:313
 AliRsnValueDaughter.cxx:314
 AliRsnValueDaughter.cxx:315
 AliRsnValueDaughter.cxx:316
 AliRsnValueDaughter.cxx:317
 AliRsnValueDaughter.cxx:318
 AliRsnValueDaughter.cxx:319
 AliRsnValueDaughter.cxx:320
 AliRsnValueDaughter.cxx:321
 AliRsnValueDaughter.cxx:322
 AliRsnValueDaughter.cxx:323
 AliRsnValueDaughter.cxx:324
 AliRsnValueDaughter.cxx:325
 AliRsnValueDaughter.cxx:326
 AliRsnValueDaughter.cxx:327
 AliRsnValueDaughter.cxx:328
 AliRsnValueDaughter.cxx:329
 AliRsnValueDaughter.cxx:330
 AliRsnValueDaughter.cxx:331
 AliRsnValueDaughter.cxx:332
 AliRsnValueDaughter.cxx:333
 AliRsnValueDaughter.cxx:334
 AliRsnValueDaughter.cxx:335
 AliRsnValueDaughter.cxx:336
 AliRsnValueDaughter.cxx:337
 AliRsnValueDaughter.cxx:338
 AliRsnValueDaughter.cxx:339
 AliRsnValueDaughter.cxx:340
 AliRsnValueDaughter.cxx:341
 AliRsnValueDaughter.cxx:342
 AliRsnValueDaughter.cxx:343
 AliRsnValueDaughter.cxx:344
 AliRsnValueDaughter.cxx:345
 AliRsnValueDaughter.cxx:346
 AliRsnValueDaughter.cxx:347
 AliRsnValueDaughter.cxx:348
 AliRsnValueDaughter.cxx:349
 AliRsnValueDaughter.cxx:350
 AliRsnValueDaughter.cxx:351
 AliRsnValueDaughter.cxx:352
 AliRsnValueDaughter.cxx:353
 AliRsnValueDaughter.cxx:354
 AliRsnValueDaughter.cxx:355
 AliRsnValueDaughter.cxx:356
 AliRsnValueDaughter.cxx:357
 AliRsnValueDaughter.cxx:358
 AliRsnValueDaughter.cxx:359
 AliRsnValueDaughter.cxx:360
 AliRsnValueDaughter.cxx:361
 AliRsnValueDaughter.cxx:362
 AliRsnValueDaughter.cxx:363
 AliRsnValueDaughter.cxx:364
 AliRsnValueDaughter.cxx:365
 AliRsnValueDaughter.cxx:366
 AliRsnValueDaughter.cxx:367
 AliRsnValueDaughter.cxx:368
 AliRsnValueDaughter.cxx:369
 AliRsnValueDaughter.cxx:370
 AliRsnValueDaughter.cxx:371
 AliRsnValueDaughter.cxx:372
 AliRsnValueDaughter.cxx:373
 AliRsnValueDaughter.cxx:374
 AliRsnValueDaughter.cxx:375
 AliRsnValueDaughter.cxx:376
 AliRsnValueDaughter.cxx:377
 AliRsnValueDaughter.cxx:378
 AliRsnValueDaughter.cxx:379
 AliRsnValueDaughter.cxx:380
 AliRsnValueDaughter.cxx:381
 AliRsnValueDaughter.cxx:382
 AliRsnValueDaughter.cxx:383
 AliRsnValueDaughter.cxx:384
 AliRsnValueDaughter.cxx:385
 AliRsnValueDaughter.cxx:386
 AliRsnValueDaughter.cxx:387
 AliRsnValueDaughter.cxx:388
 AliRsnValueDaughter.cxx:389
 AliRsnValueDaughter.cxx:390
 AliRsnValueDaughter.cxx:391
 AliRsnValueDaughter.cxx:392
 AliRsnValueDaughter.cxx:393
 AliRsnValueDaughter.cxx:394
 AliRsnValueDaughter.cxx:395
 AliRsnValueDaughter.cxx:396
 AliRsnValueDaughter.cxx:397
 AliRsnValueDaughter.cxx:398
 AliRsnValueDaughter.cxx:399
 AliRsnValueDaughter.cxx:400
 AliRsnValueDaughter.cxx:401
 AliRsnValueDaughter.cxx:402
 AliRsnValueDaughter.cxx:403
 AliRsnValueDaughter.cxx:404
 AliRsnValueDaughter.cxx:405
 AliRsnValueDaughter.cxx:406
 AliRsnValueDaughter.cxx:407
 AliRsnValueDaughter.cxx:408
 AliRsnValueDaughter.cxx:409
 AliRsnValueDaughter.cxx:410
 AliRsnValueDaughter.cxx:411
 AliRsnValueDaughter.cxx:412
 AliRsnValueDaughter.cxx:413
 AliRsnValueDaughter.cxx:414
 AliRsnValueDaughter.cxx:415
 AliRsnValueDaughter.cxx:416
 AliRsnValueDaughter.cxx:417
 AliRsnValueDaughter.cxx:418
 AliRsnValueDaughter.cxx:419
 AliRsnValueDaughter.cxx:420
 AliRsnValueDaughter.cxx:421
 AliRsnValueDaughter.cxx:422
 AliRsnValueDaughter.cxx:423
 AliRsnValueDaughter.cxx:424
 AliRsnValueDaughter.cxx:425
 AliRsnValueDaughter.cxx:426
 AliRsnValueDaughter.cxx:427
 AliRsnValueDaughter.cxx:428
 AliRsnValueDaughter.cxx:429
 AliRsnValueDaughter.cxx:430
 AliRsnValueDaughter.cxx:431
 AliRsnValueDaughter.cxx:432
 AliRsnValueDaughter.cxx:433
 AliRsnValueDaughter.cxx:434
 AliRsnValueDaughter.cxx:435
 AliRsnValueDaughter.cxx:436
 AliRsnValueDaughter.cxx:437
 AliRsnValueDaughter.cxx:438
 AliRsnValueDaughter.cxx:439
 AliRsnValueDaughter.cxx:440
 AliRsnValueDaughter.cxx:441
 AliRsnValueDaughter.cxx:442
 AliRsnValueDaughter.cxx:443
 AliRsnValueDaughter.cxx:444
 AliRsnValueDaughter.cxx:445
 AliRsnValueDaughter.cxx:446
 AliRsnValueDaughter.cxx:447
 AliRsnValueDaughter.cxx:448
 AliRsnValueDaughter.cxx:449
 AliRsnValueDaughter.cxx:450
 AliRsnValueDaughter.cxx:451
 AliRsnValueDaughter.cxx:452
 AliRsnValueDaughter.cxx:453
 AliRsnValueDaughter.cxx:454
 AliRsnValueDaughter.cxx:455
 AliRsnValueDaughter.cxx:456
 AliRsnValueDaughter.cxx:457
 AliRsnValueDaughter.cxx:458
 AliRsnValueDaughter.cxx:459
 AliRsnValueDaughter.cxx:460
 AliRsnValueDaughter.cxx:461
 AliRsnValueDaughter.cxx:462
 AliRsnValueDaughter.cxx:463
 AliRsnValueDaughter.cxx:464
 AliRsnValueDaughter.cxx:465
 AliRsnValueDaughter.cxx:466
 AliRsnValueDaughter.cxx:467
 AliRsnValueDaughter.cxx:468
 AliRsnValueDaughter.cxx:469
 AliRsnValueDaughter.cxx:470
 AliRsnValueDaughter.cxx:471
 AliRsnValueDaughter.cxx:472
 AliRsnValueDaughter.cxx:473
 AliRsnValueDaughter.cxx:474
 AliRsnValueDaughter.cxx:475
 AliRsnValueDaughter.cxx:476
 AliRsnValueDaughter.cxx:477
 AliRsnValueDaughter.cxx:478
 AliRsnValueDaughter.cxx:479
 AliRsnValueDaughter.cxx:480
 AliRsnValueDaughter.cxx:481
 AliRsnValueDaughter.cxx:482
 AliRsnValueDaughter.cxx:483
 AliRsnValueDaughter.cxx:484
 AliRsnValueDaughter.cxx:485
 AliRsnValueDaughter.cxx:486
 AliRsnValueDaughter.cxx:487
 AliRsnValueDaughter.cxx:488
 AliRsnValueDaughter.cxx:489
 AliRsnValueDaughter.cxx:490
 AliRsnValueDaughter.cxx:491
 AliRsnValueDaughter.cxx:492
 AliRsnValueDaughter.cxx:493
 AliRsnValueDaughter.cxx:494
 AliRsnValueDaughter.cxx:495
 AliRsnValueDaughter.cxx:496
 AliRsnValueDaughter.cxx:497
 AliRsnValueDaughter.cxx:498
 AliRsnValueDaughter.cxx:499
 AliRsnValueDaughter.cxx:500
 AliRsnValueDaughter.cxx:501
 AliRsnValueDaughter.cxx:502
 AliRsnValueDaughter.cxx:503
 AliRsnValueDaughter.cxx:504
 AliRsnValueDaughter.cxx:505
 AliRsnValueDaughter.cxx:506
 AliRsnValueDaughter.cxx:507
 AliRsnValueDaughter.cxx:508
 AliRsnValueDaughter.cxx:509
 AliRsnValueDaughter.cxx:510
 AliRsnValueDaughter.cxx:511
 AliRsnValueDaughter.cxx:512
 AliRsnValueDaughter.cxx:513
 AliRsnValueDaughter.cxx:514
 AliRsnValueDaughter.cxx:515
 AliRsnValueDaughter.cxx:516
 AliRsnValueDaughter.cxx:517
 AliRsnValueDaughter.cxx:518
 AliRsnValueDaughter.cxx:519
 AliRsnValueDaughter.cxx:520
 AliRsnValueDaughter.cxx:521
 AliRsnValueDaughter.cxx:522
 AliRsnValueDaughter.cxx:523
 AliRsnValueDaughter.cxx:524
 AliRsnValueDaughter.cxx:525
 AliRsnValueDaughter.cxx:526
 AliRsnValueDaughter.cxx:527
 AliRsnValueDaughter.cxx:528
 AliRsnValueDaughter.cxx:529
 AliRsnValueDaughter.cxx:530
 AliRsnValueDaughter.cxx:531
 AliRsnValueDaughter.cxx:532
 AliRsnValueDaughter.cxx:533
 AliRsnValueDaughter.cxx:534
 AliRsnValueDaughter.cxx:535
 AliRsnValueDaughter.cxx:536
 AliRsnValueDaughter.cxx:537
 AliRsnValueDaughter.cxx:538
 AliRsnValueDaughter.cxx:539
 AliRsnValueDaughter.cxx:540
 AliRsnValueDaughter.cxx:541
 AliRsnValueDaughter.cxx:542
 AliRsnValueDaughter.cxx:543
 AliRsnValueDaughter.cxx:544
 AliRsnValueDaughter.cxx:545
 AliRsnValueDaughter.cxx:546
 AliRsnValueDaughter.cxx:547
 AliRsnValueDaughter.cxx:548
 AliRsnValueDaughter.cxx:549
 AliRsnValueDaughter.cxx:550
 AliRsnValueDaughter.cxx:551
 AliRsnValueDaughter.cxx:552
 AliRsnValueDaughter.cxx:553
 AliRsnValueDaughter.cxx:554
 AliRsnValueDaughter.cxx:555
 AliRsnValueDaughter.cxx:556
 AliRsnValueDaughter.cxx:557
 AliRsnValueDaughter.cxx:558
 AliRsnValueDaughter.cxx:559
 AliRsnValueDaughter.cxx:560
 AliRsnValueDaughter.cxx:561
 AliRsnValueDaughter.cxx:562
 AliRsnValueDaughter.cxx:563
 AliRsnValueDaughter.cxx:564
 AliRsnValueDaughter.cxx:565
 AliRsnValueDaughter.cxx:566
 AliRsnValueDaughter.cxx:567
 AliRsnValueDaughter.cxx:568
 AliRsnValueDaughter.cxx:569
 AliRsnValueDaughter.cxx:570
 AliRsnValueDaughter.cxx:571
 AliRsnValueDaughter.cxx:572
 AliRsnValueDaughter.cxx:573
 AliRsnValueDaughter.cxx:574
 AliRsnValueDaughter.cxx:575
 AliRsnValueDaughter.cxx:576
 AliRsnValueDaughter.cxx:577
 AliRsnValueDaughter.cxx:578
 AliRsnValueDaughter.cxx:579
 AliRsnValueDaughter.cxx:580
 AliRsnValueDaughter.cxx:581
 AliRsnValueDaughter.cxx:582
 AliRsnValueDaughter.cxx:583
 AliRsnValueDaughter.cxx:584
 AliRsnValueDaughter.cxx:585
 AliRsnValueDaughter.cxx:586
 AliRsnValueDaughter.cxx:587
 AliRsnValueDaughter.cxx:588
 AliRsnValueDaughter.cxx:589
 AliRsnValueDaughter.cxx:590
 AliRsnValueDaughter.cxx:591
 AliRsnValueDaughter.cxx:592
 AliRsnValueDaughter.cxx:593
 AliRsnValueDaughter.cxx:594
 AliRsnValueDaughter.cxx:595
 AliRsnValueDaughter.cxx:596
 AliRsnValueDaughter.cxx:597
 AliRsnValueDaughter.cxx:598
 AliRsnValueDaughter.cxx:599
 AliRsnValueDaughter.cxx:600
 AliRsnValueDaughter.cxx:601
 AliRsnValueDaughter.cxx:602
 AliRsnValueDaughter.cxx:603
 AliRsnValueDaughter.cxx:604
 AliRsnValueDaughter.cxx:605
 AliRsnValueDaughter.cxx:606
 AliRsnValueDaughter.cxx:607
 AliRsnValueDaughter.cxx:608
 AliRsnValueDaughter.cxx:609
 AliRsnValueDaughter.cxx:610
 AliRsnValueDaughter.cxx:611
 AliRsnValueDaughter.cxx:612
 AliRsnValueDaughter.cxx:613
 AliRsnValueDaughter.cxx:614
 AliRsnValueDaughter.cxx:615
 AliRsnValueDaughter.cxx:616
 AliRsnValueDaughter.cxx:617
 AliRsnValueDaughter.cxx:618
 AliRsnValueDaughter.cxx:619
 AliRsnValueDaughter.cxx:620
 AliRsnValueDaughter.cxx:621
 AliRsnValueDaughter.cxx:622
 AliRsnValueDaughter.cxx:623
 AliRsnValueDaughter.cxx:624
 AliRsnValueDaughter.cxx:625
 AliRsnValueDaughter.cxx:626
 AliRsnValueDaughter.cxx:627
 AliRsnValueDaughter.cxx:628
 AliRsnValueDaughter.cxx:629
 AliRsnValueDaughter.cxx:630
 AliRsnValueDaughter.cxx:631
 AliRsnValueDaughter.cxx:632
 AliRsnValueDaughter.cxx:633
 AliRsnValueDaughter.cxx:634
 AliRsnValueDaughter.cxx:635
 AliRsnValueDaughter.cxx:636
 AliRsnValueDaughter.cxx:637
 AliRsnValueDaughter.cxx:638
 AliRsnValueDaughter.cxx:639
 AliRsnValueDaughter.cxx:640
 AliRsnValueDaughter.cxx:641
 AliRsnValueDaughter.cxx:642
 AliRsnValueDaughter.cxx:643
 AliRsnValueDaughter.cxx:644
 AliRsnValueDaughter.cxx:645
 AliRsnValueDaughter.cxx:646
 AliRsnValueDaughter.cxx:647
 AliRsnValueDaughter.cxx:648
 AliRsnValueDaughter.cxx:649
 AliRsnValueDaughter.cxx:650
 AliRsnValueDaughter.cxx:651
 AliRsnValueDaughter.cxx:652
 AliRsnValueDaughter.cxx:653
 AliRsnValueDaughter.cxx:654
 AliRsnValueDaughter.cxx:655
 AliRsnValueDaughter.cxx:656
 AliRsnValueDaughter.cxx:657
 AliRsnValueDaughter.cxx:658
 AliRsnValueDaughter.cxx:659
 AliRsnValueDaughter.cxx:660
 AliRsnValueDaughter.cxx:661
 AliRsnValueDaughter.cxx:662
 AliRsnValueDaughter.cxx:663
 AliRsnValueDaughter.cxx:664
 AliRsnValueDaughter.cxx:665
 AliRsnValueDaughter.cxx:666
 AliRsnValueDaughter.cxx:667
 AliRsnValueDaughter.cxx:668
 AliRsnValueDaughter.cxx:669
 AliRsnValueDaughter.cxx:670
 AliRsnValueDaughter.cxx:671
 AliRsnValueDaughter.cxx:672
 AliRsnValueDaughter.cxx:673
 AliRsnValueDaughter.cxx:674
 AliRsnValueDaughter.cxx:675
 AliRsnValueDaughter.cxx:676
 AliRsnValueDaughter.cxx:677
 AliRsnValueDaughter.cxx:678
 AliRsnValueDaughter.cxx:679
 AliRsnValueDaughter.cxx:680
 AliRsnValueDaughter.cxx:681
 AliRsnValueDaughter.cxx:682
 AliRsnValueDaughter.cxx:683
 AliRsnValueDaughter.cxx:684
 AliRsnValueDaughter.cxx:685
 AliRsnValueDaughter.cxx:686
 AliRsnValueDaughter.cxx:687
 AliRsnValueDaughter.cxx:688
 AliRsnValueDaughter.cxx:689
 AliRsnValueDaughter.cxx:690
 AliRsnValueDaughter.cxx:691
 AliRsnValueDaughter.cxx:692
 AliRsnValueDaughter.cxx:693
 AliRsnValueDaughter.cxx:694
 AliRsnValueDaughter.cxx:695
 AliRsnValueDaughter.cxx:696
 AliRsnValueDaughter.cxx:697
 AliRsnValueDaughter.cxx:698
 AliRsnValueDaughter.cxx:699
 AliRsnValueDaughter.cxx:700
 AliRsnValueDaughter.cxx:701
 AliRsnValueDaughter.cxx:702
 AliRsnValueDaughter.cxx:703
 AliRsnValueDaughter.cxx:704
 AliRsnValueDaughter.cxx:705
 AliRsnValueDaughter.cxx:706
 AliRsnValueDaughter.cxx:707
 AliRsnValueDaughter.cxx:708
 AliRsnValueDaughter.cxx:709
 AliRsnValueDaughter.cxx:710
 AliRsnValueDaughter.cxx:711
 AliRsnValueDaughter.cxx:712
 AliRsnValueDaughter.cxx:713
 AliRsnValueDaughter.cxx:714
 AliRsnValueDaughter.cxx:715
 AliRsnValueDaughter.cxx:716
 AliRsnValueDaughter.cxx:717
 AliRsnValueDaughter.cxx:718
 AliRsnValueDaughter.cxx:719
 AliRsnValueDaughter.cxx:720
 AliRsnValueDaughter.cxx:721
 AliRsnValueDaughter.cxx:722
 AliRsnValueDaughter.cxx:723
 AliRsnValueDaughter.cxx:724
 AliRsnValueDaughter.cxx:725
 AliRsnValueDaughter.cxx:726
 AliRsnValueDaughter.cxx:727
 AliRsnValueDaughter.cxx:728
 AliRsnValueDaughter.cxx:729
 AliRsnValueDaughter.cxx:730
 AliRsnValueDaughter.cxx:731
 AliRsnValueDaughter.cxx:732
 AliRsnValueDaughter.cxx:733
 AliRsnValueDaughter.cxx:734