4 #include <TLorentzVector.h>
6 #include "AliPicoV0Base.h"
9 class AliPicoV0MC : public AliPicoV0Base {
14 AliPicoV0MC(UInt_t wMask,
17 Double_t dV0DistToPVoverP,
22 Double_t dDauXrowsOverFindableClusTPC,
23 Double_t dPosPx, Double_t dPosPy, Double_t dPosPz,
24 Double_t dNegPx, Double_t dNegPy, Double_t dNegPz,
25 Bool_t bPosInJC, Bool_t bNegInJC,
26 Int_t idV, UInt_t wsV, Double_t dV0Px, Double_t dV0Py, Double_t dV0Pz, Double_t dV0E,
27 Int_t idM=0, UInt_t wsM=0, Double_t dPtM=0., Double_t dEtaM=0., Double_t dRapM=0.);
28 AliPicoV0MC(const AliPicoV0MC &src);
29 AliPicoV0MC& operator=(const AliPicoV0MC &src);
30 virtual ~AliPicoV0MC();
31 //=============================================================================
33 TLorentzVector KineMC() const { return fV0Kine; }
35 Double_t MotherPt() const { return fMotherPt; }
36 Double_t MotherEta() const { return fMotherEta; }
37 Double_t MotherRap() const { return fMotherRap; }
38 //=============================================================================
40 Bool_t IsKshort(Double_t dCuts[9]);
41 Bool_t IsLambda(Double_t dCuts[9]);
42 Bool_t IsAntiLa(Double_t dCuts[9]);
43 Bool_t IsV0InRapAcc(Double_t dMin, Double_t dMax);
45 Bool_t IsKshort() const { return (fV0PDG== 310); }
46 Bool_t IsLambda() const { return (fV0PDG== 3122); }
47 Bool_t IsAntiLa() const { return (fV0PDG==-3122); }
49 Bool_t IsMotherXiNeg() const { return (fMotherPDG== 3312); }
50 Bool_t IsMotherXiPos() const { return (fMotherPDG==-3312); }
52 Bool_t IsLambdaFd() const { return (AliPicoV0Base::IsLambda() && IsMotherXiNeg()); }
53 Bool_t IsAntiLaFd() const { return (AliPicoV0Base::IsAntiLa() && IsMotherXiPos()); }
55 void GetControlVariables(Float_t d[18]);
56 //=============================================================================
58 Bool_t IsV0Primary() const {
59 return ((fV0Status & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary);
62 Bool_t IsV0PhysicalPrimary() const {
63 return ((fV0Status & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary);
66 Bool_t IsV0SecondaryFromWeakDecay() const {
67 return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay);
70 Bool_t IsV0SecondaryFromMaterial() const {
71 return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial);
73 //=============================================================================
75 Bool_t IsMotherPrimary() const {
76 return ((fMotherStatus & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary);
79 Bool_t IsMotherPhysicalPrimary() const {
80 return ((fMotherStatus & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary);
83 Bool_t IsMotherSecondaryFromWeakDecay() const {
84 return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay);
87 Bool_t IsMotherSecondaryFromMaterial() const {
88 return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial);
90 //=============================================================================
96 TLorentzVector fV0Kine; //
99 UInt_t fMotherStatus; //
101 Double_t fMotherPt; //
102 Double_t fMotherEta; //
103 Double_t fMotherRap; //
105 ClassDef(AliPicoV0MC, 4);