]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliUtilityMuonAncestor.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWG / muon / AliUtilityMuonAncestor.h
1 #ifndef ALIUTILITYMUONANCESTOR_H\r
2 #define ALIUTILITYMUONANCESTOR_H\r
3 \r
4 /* $Id: AliUtilityMuonAncestor.h 47782 2011-02-24 18:37:31Z martinez $ */ \r
5 \r
6 //\r
7 // MC utility to classify single muons\r
8 //\r
9 // Author: Diego Stocco\r
10 //\r
11 \r
12 #include "TObject.h"\r
13 \r
14 class AliMCEvent;\r
15 class AliVParticle;\r
16 \r
17 class AliUtilityMuonAncestor : public TObject {\r
18 public:\r
19   \r
20   AliUtilityMuonAncestor();\r
21   ~AliUtilityMuonAncestor();\r
22   AliUtilityMuonAncestor(const AliUtilityMuonAncestor& obj);\r
23   AliUtilityMuonAncestor& operator=(const AliUtilityMuonAncestor& obj);\r
24   \r
25   enum {\r
26     kIsID,\r
27     kIsMuon,\r
28     kIsSecondary,\r
29     kHasLightParent,\r
30     kHasCharmParent,\r
31     kHasBeautyParent,\r
32     kHasQuarkoniumParent\r
33   };\r
34   \r
35   Bool_t CheckAncestor ( AliVParticle* track, const AliMCEvent* mcEvent, Int_t ancestorPdg, Bool_t matchAbsPdg = kTRUE );\r
36   \r
37   Int_t GetAncestor ( AliVParticle* track, const AliMCEvent* mcEvent );\r
38   Int_t GetAncestorPdg ( AliVParticle* track, const AliMCEvent* mcEvent );\r
39   Long64_t GetMask ( AliVParticle* track, const AliMCEvent* mcEvent );\r
40 \r
41   Bool_t IsBeautyMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
42   Bool_t IsBJpsiMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
43   Bool_t IsCharmMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
44   Bool_t IsDecayMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
45   Bool_t IsHadron ( AliVParticle* track, const AliMCEvent* mcEvent );\r
46   Bool_t IsMuon ( AliVParticle* track, const AliMCEvent* mcEvent );\r
47   Bool_t IsQuarkoniumMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
48   Bool_t IsSecondaryMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
49   Bool_t IsUnidentified ( AliVParticle* track, const AliMCEvent* mcEvent );\r
50   Bool_t IsWBosonMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
51   Bool_t IsZBosonMu ( AliVParticle* track, const AliMCEvent* mcEvent );\r
52 \r
53   \r
54 private:\r
55   Bool_t BuildAncestor ( AliVParticle* track, const AliMCEvent* mcEvent );\r
56   \r
57   \r
58   \r
59   Double_t fPx; ///< Particle px\r
60   Double_t fPy; ///< Particle py\r
61   Double_t fPz; ///< Particle pz\r
62   Long64_t fMask; ///< Mask\r
63   Int_t fAncestor; ///< Ancestor position in stack\r
64   \r
65   ClassDef(AliUtilityMuonAncestor, 0);\r
66 };\r
67 \r
68 #endif\r