1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 * plesae see source file for more details
6 #ifndef ALIESDV0KINECUTS_H
7 #define ALIESDV0KINECUTS_H
19 class AliESDv0KineCuts : public TObject{
21 enum{ // Reconstructed V0
30 virtual ~AliESDv0KineCuts();
32 AliESDv0KineCuts(const AliESDv0KineCuts &ref);
33 AliESDv0KineCuts &operator=(const AliESDv0KineCuts &ref);
35 Bool_t ProcessV0(AliESDv0* const v0, Int_t &pdgV0, Int_t &pdgP, Int_t &pdgN);
36 Bool_t ProcessV0(AliESDv0* const v0, Int_t &pdgP, Int_t &pdgN);
38 Int_t PreselectV0(AliESDv0* const v0);
40 Bool_t CaseGamma(AliESDv0* const v0, Int_t &pdgV0, Int_t &pdgP, Int_t &pdgN);
41 Bool_t CaseK0(AliESDv0* const v0, Int_t &pdgV0, Int_t &pdgP, Int_t &pdgN);
42 Bool_t CaseLambda(AliESDv0* const v0, Int_t &pdgV0, Int_t &pdgP, Int_t &pdgN, Int_t id);
44 Bool_t V0CutsCommon(const AliESDv0 * const v0);
45 Bool_t SingleTrackCuts(AliESDv0 * const v0);
46 void Armenteros(AliESDv0* const v0, Float_t val[2]);
47 Bool_t CheckSigns(AliESDv0* const v0);
49 void SetEvent(AliESDEvent* const event);
50 void SetEvent(AliVEvent* const event);
51 void SetPrimaryVertex(AliKFVertex* const v) { fPrimaryVertex = v; };
53 // setter functions for cut values
54 void SetGammaCutChi2NDF(Float_t val) { fGcutChi2NDF = val; };
55 void SetGammaCutCosPoint(Float_t *val) {
56 fGcutCosPoint[0] = val[0];
57 fGcutCosPoint[1] = val[1];
59 void SetGammaCutDCA(Float_t *val){
63 void SetGammaCutVertexR(Float_t *val){
64 fGcutVertexR[0] = val[0];
65 fGcutVertexR[1] = val[1];
67 void SetGammaCutPsiPair(Float_t *val){
68 fGcutPsiPair[0] = val[0];
69 fGcutPsiPair[1] = val[1];
71 void SetGammaCutInvMass(Float_t val){
75 Double_t PsiPair(AliESDv0* const v0);
77 Bool_t GetConvPosXY(AliESDtrack * const ptrack, AliESDtrack * const ntrack, Double_t convpos[2]);
78 Bool_t GetHelixCenter(AliESDtrack * const track, Double_t b, Int_t charge, Double_t center[2]);
81 void Copy(TObject &ref) const;
85 AliKFParticle *CreateMotherParticle(const AliVTrack* const pdaughter, const AliVTrack* const ndaughter, Int_t pspec, Int_t nspec);
88 AliESDv0 *fV0; // current V0 candidate
89 AliESDEvent *fEvent; // current event
90 AliKFVertex *fPrimaryVertex; // primary vertex
93 Float_t fGcutChi2NDF; // Chi2NF cut value for the AliKFparticle gamma
94 Float_t fGcutCosPoint[2]; // cos of the pointing angle [min, max]
95 Float_t fGcutDCA[2]; // DCA between the daughter tracks [min, max]
96 Float_t fGcutVertexR[2]; // radius of the conversion point [min, max]
97 Float_t fGcutPsiPair[2]; // value of the psi pair cut [min, max]
98 Float_t fGcutInvMass; // upper value on the gamma invariant mass
100 Float_t fK0cutChi2NDF; // Chi2NF cut value for the AliKFparticle K0
101 Float_t fK0cutCosPoint[2]; // cos of the pointing angle [min, max]
102 Float_t fK0cutDCA[2]; // DCA between the daughter tracks [min, max]
103 Float_t fK0cutVertexR[2]; // radius of the decay point [min, max]
104 Float_t fK0cutInvMass[2]; // invariant mass window
105 // Lambda & anti-Lambda cut values
106 Float_t fLcutChi2NDF; // Chi2NF cut value for the AliKFparticle K0
107 Float_t fLcutCosPoint[2]; // cos of the pointing angle [min, max]
108 Float_t fLcutDCA[2]; // DCA between the daughter tracks [min, max]
109 Float_t fLcutVertexR[2]; // radius of the decay point [min, max]
110 Float_t fLcutInvMass[2]; // invariant mass window
113 ClassDef(AliESDv0KineCuts, 0);