From: hristov Date: Wed, 16 Mar 2005 08:48:01 +0000 (+0000) Subject: More inline functions available to the user (B.Hippolyte) X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=a98dba454f46214d47322d302b9415426b01f719;p=u%2Fmrichter%2FAliRoot.git More inline functions available to the user (B.Hippolyte) --- diff --git a/ANALYSIS/AliAODv0.h b/ANALYSIS/AliAODv0.h index 5ff5f9b5daa..ec4da59738c 100644 --- a/ANALYSIS/AliAODv0.h +++ b/ANALYSIS/AliAODv0.h @@ -14,6 +14,10 @@ //------------------------------------------------------------------------- #include +#include + +#define MASS(PID) TDatabasePDG::Instance()->GetParticle((PID))->Mass() +#define MASS2(PID) MASS((PID))*MASS((PID)) class AliESD; class AliESDVertex; @@ -32,6 +36,8 @@ public: Double_t DecayVertexV0X() const; Double_t DecayVertexV0Y() const; Double_t DecayVertexV0Z() const; + + Double_t DecayLengthV0() const; Double_t DcaV0Daughters() const; Double_t DcaV0ToPrimVertex() const; @@ -62,6 +68,18 @@ public: Double_t MomNegAlongV0() const; Double_t AlphaV0() const; Double_t PtArmV0() const; + Double_t EPosProton() const; + Double_t ENegProton() const; + Double_t EPosPion() const; + Double_t ENegPion() const; + Double_t ELambda() const; + Double_t EK0Short() const; + Double_t MassLambda() const; + Double_t MassAntiLambda() const; + Double_t MassK0Short() const; + Double_t RapK0Short() const; + Double_t RapLambda() const; + protected: Double_t fDecayVertexV0X; // decay vertex of V0 along X @@ -91,6 +109,17 @@ inline Double_t AliAODv0::DecayVertexV0X() const {return fDecayVertexV0X;} inline Double_t AliAODv0::DecayVertexV0Y() const {return fDecayVertexV0Y;} inline Double_t AliAODv0::DecayVertexV0Z() const {return fDecayVertexV0Z;} +inline Double_t AliAODv0::DecayLengthV0() const { + if (fEvent&&fEvent->GetVertex()){ + Double_t tPrimaryVertexPosition[3]; + fEvent->GetVertex()->GetXYZ(tPrimaryVertexPosition); + return ::sqrt(::pow(DecayVertexV0X() - tPrimaryVertexPosition[0],2) + + ::pow(DecayVertexV0Y() - tPrimaryVertexPosition[1],2) + + ::pow(DecayVertexV0Z() - tPrimaryVertexPosition[2],2)); + } + return 0.; +} + inline Double_t AliAODv0::DcaV0Daughters() const {return fDcaV0Daughters;} inline Double_t AliAODv0::DcaV0ToPrimVertex() const {return fDcaV0ToPrimVertex;} inline Double_t AliAODv0::DcaPosToPrimVertex() const {return fDcaPosToPrimVertex;} @@ -149,6 +178,54 @@ inline Double_t AliAODv0::PtArmV0() const { return ::sqrt(Ptot2Pos()-MomPosAlongV0()*MomPosAlongV0()); } +inline Double_t AliAODv0::EPosProton() const { + return ::sqrt(Ptot2Pos()+MASS2("proton")); +} + +inline Double_t AliAODv0::ENegProton() const { + return ::sqrt(Ptot2Neg()+MASS2("antiproton")); +} + +inline Double_t AliAODv0::EPosPion() const { + return ::sqrt(Ptot2Pos()+MASS2("pi+")); +} + +inline Double_t AliAODv0::ENegPion() const { + return ::sqrt(Ptot2Neg()+MASS2("pi-")); +} + +inline Double_t AliAODv0::ELambda() const { + return ::sqrt(Ptot2V0()+MASS2("Lambda0")); +} + +inline Double_t AliAODv0::EK0Short() const { + return ::sqrt(Ptot2V0()+MASS2("K_S0")); +} + +inline Double_t AliAODv0::MassLambda() const { + return ::sqrt(::pow(EPosProton()+ENegPion(),2)-Ptot2V0()); +} + +inline Double_t AliAODv0::MassAntiLambda() const { + return ::sqrt(::pow(ENegProton()+EPosPion(),2)-Ptot2V0()); +} + +inline Double_t AliAODv0::MassK0Short() const { + return ::sqrt(::pow(EPosPion()+ENegPion(),2)-Ptot2V0()); +} + +inline Double_t AliAODv0::RapK0Short() const { + Double_t ek0 = EK0Short(); + Double_t mMomV0Z = MomV0Z(); + return 0.5*::log((ek0+mMomV0Z)/(ek0-mMomV0Z)); +} + +inline Double_t AliAODv0::RapLambda() const { + Double_t eLambda = ELambda(); + Double_t mMomV0Z = MomV0Z(); + return 0.5*::log((eLambda+mMomV0Z)/(eLambda-mMomV0Z)); +} + #endif