// Purpose: Having physics observables available for Xis
//-------------------------------------------------------------------------
-#include <TDatabasePDG.h>
-
-#include <AliAODv0.h>
-
-
-#define MASS(PID) TDatabasePDG::Instance()->GetParticle((PID))->Mass()
-#define MASS2(PID) MASS((PID))*MASS((PID))
+#include "AliAODv0.h"
class AliAODTrack;
class AliAODVertex;
-
-
class AliAODcascade : public AliAODv0 {
public:
AliAODcascade& operator=(const AliAODcascade& rSource);
- void Fill( AliAODVertex* rAODVertexXi, // No "const" param, see above.
+ void Fill(AliAODVertex* rAODVertexXi, // No "const" param, see above.
Int_t rChargeXi,
Double_t rDcaXiDaughters,
Double_t rDcaXiToPrimVertex,
Double_t DecayVertexXiY() const;
Double_t DecayVertexXiZ() const;
Double_t Chi2Xi() const;
-
Double_t DcaBachToPrimVertex() const;
Double_t DcaXiDaughters() const;
const Double_t& rPrimVtxY,
const Double_t& rPrimVtxZ) const;
-
Double_t DecayLengthV0() const;
Double_t DecayLengthXi(const Double_t& rPrimVtxX,
const Double_t& rPrimVtxY,
const Double_t& rPrimVtxZ) const;
-
-
+
Double_t MomBachX() const;
Double_t MomBachY() const;
Double_t MomBachZ() const;
Double_t RapXi() const;
Double_t RapOmega() const;
-
protected:
TRef fDecayVertexXi; // ref to decay vertex of the cascade (Xi vertex)
Double32_t fMomBachX; // momemtum of bachelor along X
Double32_t fMomBachY; // momemtum of bachelor along Y
Double32_t fMomBachZ; // momemtum of bachelor along Z
-
ClassDef(AliAODcascade,1)
};
-
-
-
//-----------------------------------------------------------
-
-
inline Int_t AliAODcascade::ChargeXi() const {return fChargeXi; }
inline AliAODVertex* AliAODcascade::GetDecayVertexXi() const { return (AliAODVertex*)fDecayVertexXi.GetObject(); }
inline Double_t AliAODcascade::Chi2Xi() const {return GetDecayVertexXi()->GetChi2(); }
-
-
inline Double_t AliAODcascade::DcaBachToPrimVertex() const {return fDcaBachToPrimVertex;}
inline Double_t AliAODcascade::DcaXiDaughters() const {return fDcaXiDaughters;}
inline Double_t AliAODcascade::DcaXiToPrimVertex() const {return fDcaXiToPrimVertex;}
-
-
-
inline Double_t AliAODcascade::DecayLengthV0() const {
return ::sqrt(::pow(DecayVertexV0X() - DecayVertexXiX(),2) +
::pow(DecayVertexV0Y() - DecayVertexXiY(),2) +
::pow(DecayVertexXiZ() - rPrimVtxZ,2));
}
-
-
-
-
-
inline Double_t AliAODcascade::MomBachX() const {return fMomBachX;}
inline Double_t AliAODcascade::MomBachY() const {return fMomBachY;}
inline Double_t AliAODcascade::MomBachZ() const {return fMomBachZ;}
return ::sqrt(Ptot2Bach()-MomBachAlongXi()*MomBachAlongXi());
}
-inline Double_t AliAODcascade::EBachPion() const {
- return ::sqrt(Ptot2Bach()+MASS2("pi-"));
-}
-
-inline Double_t AliAODcascade::EBachKaon() const {
- return ::sqrt(Ptot2Bach()+MASS2("K-"));
-}
-
-inline Double_t AliAODcascade::EXi() const {
- return ::sqrt(Ptot2Xi()+MASS2("Xi-"));
-}
-
-inline Double_t AliAODcascade::EOmega() const {
- return ::sqrt(Ptot2Xi()+MASS2("Omega-"));
-}
-
inline Double_t AliAODcascade::MassXi() const {
return ::sqrt(::pow(ELambda()+EBachPion(),2)-Ptot2Xi());
}