]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEV0cuts.h
Excluding lowest pt point for K and p, ratios fit/data are now shown in 3 canvases
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEV0cuts.h
CommitLineData
c04c80e6 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
15//
16// Class for the V0 cuts - tuned to obtain clean eletron, pion and proton samples.
17// NOT suitable for V0 analysis
18//
19#ifndef ALIHFEV0CUTS_H
20#define ALIHFEV0CUTS_H
21
22#include "AliHFEcollection.h"
23
24class TList;
25
26class AliMCParticle;
27class AliVEvent;
28class AliMCEvent;
29class AliESDtraack;
30class AliESDv0;
31class AliKFVertex;
32class AliKFParticle;
33class AliVTrack;
34
35class AliHFEV0cuts : public TObject {
36 public:
37 AliHFEV0cuts();
38 ~AliHFEV0cuts();
39 AliHFEV0cuts(const AliHFEV0cuts &ref);
40 AliHFEV0cuts &operator=(const AliHFEV0cuts &ref);
41
42 void Init(const char* name);
43
44 void RunQA();
45 void SetMC(Bool_t b) { fIsMC = b; };
46 void SetMCEvent(AliMCEvent* const mce) { fMCEvent = mce; };
47 void SetInputEvent(AliVEvent* const e) { fInputEvent = e; };
48 void SetPrimaryVertex(AliKFVertex* const v) { fPrimaryVertex = v; };
49
50 TList* GetList() { return fQA->GetList(); };
51
52 Bool_t TrackCutsCommon(AliESDtrack* track);
53 Bool_t V0CutsCommon(AliESDv0 *v0);
54 Bool_t GammaCuts(AliESDv0 *v0);
55 Bool_t K0Cuts(AliESDv0 *v0);
56 Bool_t LambdaCuts(AliESDv0 *v0, Bool_t &isLambda);
57
58 Bool_t LooseRejectK0(AliESDv0 * const v0) const;
59 Bool_t LooseRejectLambda(AliESDv0 * const v0) const;
60 Bool_t LooseRejectGamma(AliESDv0 * const v0) const;
61
62 void Armenteros(AliESDv0 *v0, Float_t val[2]);
63
64 Double_t OpenAngle(AliESDv0 *v0) const;//opening angle between V0 daughters; close to zero for conversions
65 Double_t PsiPair(AliESDv0 *v0);
66
67 Bool_t CheckSigns(AliESDv0* const v0);
68
69 AliKFParticle *CreateMotherParticle(AliVTrack* const pdaughter, AliVTrack* const ndaughter, Int_t pspec, Int_t nspec);
70
71 private:
72 void Copy(TObject &ref) const;
73
74 private:
75
76 AliHFEcollection *fQA; // store QA cut histograms
77 AliMCEvent *fMCEvent; // MC event
78 AliVEvent *fInputEvent; // Input Event
79 AliKFVertex *fPrimaryVertex; // primary vertex
80
81 Bool_t fIsMC; // availability of MC information
82
83 ClassDef(AliHFEV0cuts, 1)
84};
85
86
87#endif