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