AliPhysics  8bb951a (8bb951a)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliPicoV0MC.h
Go to the documentation of this file.
1 #ifndef ALIPICOV0MC_H
2 #define ALIPICOV0MC_H
3 
4 #include <TLorentzVector.h>
5 
6 #include "AliPicoV0Base.h"
7 
8 
9 class AliPicoV0MC : public AliPicoV0Base {
10 
11  public :
12 
13  AliPicoV0MC();
14  AliPicoV0MC(UInt_t wMask,
15  Double_t dV0Radius,
16  Double_t dV0CosPA,
17  Double_t dV0DistToPVoverP,
18  Double_t dDausDCA,
19  Double_t dPosDCAtoPV,
20  Double_t dNegDCAtoPV,
21  Float_t dDauXrowsTPC,
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 //=============================================================================
32 
33  TLorentzVector KineMC() const { return fV0Kine; }
34 
35  Double_t MotherPt() const { return fMotherPt; }
36  Double_t MotherEta() const { return fMotherEta; }
37  Double_t MotherRap() const { return fMotherRap; }
38 //=============================================================================
39 
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);
44 
45  Bool_t IsKshort() const { return (fV0PDG== 310); }
46  Bool_t IsLambda() const { return (fV0PDG== 3122); }
47  Bool_t IsAntiLa() const { return (fV0PDG==-3122); }
48 
49  Bool_t IsMotherXiNeg() const { return (fMotherPDG== 3312); }
50  Bool_t IsMotherXiPos() const { return (fMotherPDG==-3312); }
51 
52  Bool_t IsLambdaFd() const { return (AliPicoV0Base::IsLambda() && IsMotherXiNeg()); }
53  Bool_t IsAntiLaFd() const { return (AliPicoV0Base::IsAntiLa() && IsMotherXiPos()); }
54 
55  void GetControlVariables(Float_t d[18]);
56 //=============================================================================
57 
58  Bool_t IsV0Primary() const {
59  return ((fV0Status & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary);
60  }
61 
62  Bool_t IsV0PhysicalPrimary() const {
63  return ((fV0Status & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary);
64  }
65 
66  Bool_t IsV0SecondaryFromWeakDecay() const {
67  return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay);
68  }
69 
70  Bool_t IsV0SecondaryFromMaterial() const {
71  return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial);
72  }
73 //=============================================================================
74 
75  Bool_t IsMotherPrimary() const {
76  return ((fMotherStatus & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary);
77  }
78 
79  Bool_t IsMotherPhysicalPrimary() const {
80  return ((fMotherStatus & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary);
81  }
82 
84  return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay);
85  }
86 
88  return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial);
89  }
90 //=============================================================================
91 
92  private :
93 
94  Int_t fV0PDG; //
95  UInt_t fV0Status; //
96  TLorentzVector fV0Kine; //
97 
98  Int_t fMotherPDG; //
99  UInt_t fMotherStatus; //
100 
101  Double_t fMotherPt; //
102  Double_t fMotherEta; //
103  Double_t fMotherRap; //
104 
105  ClassDef(AliPicoV0MC, 4);
106 };
107 
108 #endif
TLorentzVector KineMC() const
Definition: AliPicoV0MC.h:33
Bool_t IsLambda() const
Definition: AliPicoV0MC.h:46
ClassDef(AliPicoV0MC, 4)
TLorentzVector fV0Kine
Definition: AliPicoV0MC.h:96
Double_t MotherEta() const
Definition: AliPicoV0MC.h:36
UInt_t fV0Status
Definition: AliPicoV0MC.h:95
AliPicoV0MC & operator=(const AliPicoV0MC &src)
Definition: AliPicoV0MC.cxx:81
Bool_t IsV0PhysicalPrimary() const
Definition: AliPicoV0MC.h:62
UInt_t fMotherStatus
Definition: AliPicoV0MC.h:99
Bool_t IsMotherSecondaryFromMaterial() const
Definition: AliPicoV0MC.h:87
Double_t fMotherEta
Definition: AliPicoV0MC.h:102
Double_t fMotherPt
Definition: AliPicoV0MC.h:101
Bool_t IsMotherPrimary() const
Definition: AliPicoV0MC.h:75
Int_t fV0PDG
Definition: AliPicoV0MC.h:94
Bool_t IsMotherXiNeg() const
Definition: AliPicoV0MC.h:49
Bool_t IsV0SecondaryFromWeakDecay() const
Definition: AliPicoV0MC.h:66
Bool_t IsV0InRapAcc(Double_t dMin, Double_t dMax)
Bool_t IsAntiLa() const
Definition: AliPicoV0MC.h:47
Bool_t IsKshort() const
Definition: AliPicoV0MC.h:45
Int_t fMotherPDG
Definition: AliPicoV0MC.h:98
Bool_t IsAntiLa() const
Definition: AliPicoV0Base.h:48
Double_t MotherRap() const
Definition: AliPicoV0MC.h:37
Double_t MotherPt() const
Definition: AliPicoV0MC.h:35
Bool_t IsMotherPhysicalPrimary() const
Definition: AliPicoV0MC.h:79
Bool_t IsMotherXiPos() const
Definition: AliPicoV0MC.h:50
Bool_t IsMotherSecondaryFromWeakDecay() const
Definition: AliPicoV0MC.h:83
void GetControlVariables(Float_t d[18])
virtual ~AliPicoV0MC()
Bool_t IsLambda() const
Definition: AliPicoV0Base.h:47
Bool_t IsAntiLaFd() const
Definition: AliPicoV0MC.h:53
Bool_t IsLambdaFd() const
Definition: AliPicoV0MC.h:52
Bool_t IsV0Primary() const
Definition: AliPicoV0MC.h:58
Double_t fMotherRap
Definition: AliPicoV0MC.h:103
Bool_t IsV0SecondaryFromMaterial() const
Definition: AliPicoV0MC.h:70