8c1c76e9 |
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 | // Object used in the electron identification |
17 | // For more information see the implementation file |
18 | // |
19 | #ifndef ALIHFEPIDOBJECT_H |
20 | #define ALIHFEPIDOBJECT_H |
21 | |
22 | #include <Rtypes.h> |
23 | |
e17c1f86 |
24 | class AliVTrack; |
8c1c76e9 |
25 | class AliVParticle; |
26 | |
27 | class AliHFEpidObject{ |
28 | public: |
e17c1f86 |
29 | enum AnalysisType_t{ |
8c1c76e9 |
30 | kESDanalysis, |
31 | kAODanalysis |
63896f74 |
32 | }; |
8c1c76e9 |
33 | AliHFEpidObject(): |
34 | fkRecTrack(NULL), |
35 | fAnalysisType(kESDanalysis), |
36 | fAbInitioPID(-1), |
37 | fCentrality(99), |
959ea9d8 |
38 | fMultiplicity(0), |
4437a0d2 |
39 | fIsPbPb(kFALSE), // Default: pp |
40 | fIspPb(kFALSE) // Default: pp |
8c1c76e9 |
41 | { |
42 | } |
43 | AliHFEpidObject(const AliHFEpidObject &ref): |
44 | fkRecTrack(ref.fkRecTrack), |
45 | fAnalysisType(ref.fAnalysisType), |
46 | fAbInitioPID(ref.fAbInitioPID), |
47 | fCentrality(ref.fCentrality), |
959ea9d8 |
48 | fMultiplicity(ref.fMultiplicity), |
4437a0d2 |
49 | fIsPbPb(ref.fIsPbPb), |
50 | fIspPb(ref.fIspPb) |
8c1c76e9 |
51 | { |
52 | } |
53 | AliHFEpidObject &operator=(const AliHFEpidObject &ref); |
54 | ~AliHFEpidObject(){}; |
55 | |
e17c1f86 |
56 | void SetRecTrack(const AliVTrack * recTrack) {fkRecTrack = recTrack; } |
8c1c76e9 |
57 | void SetMCTrack(const AliVParticle * mcTrack); |
58 | void SetAnalysisType(AnalysisType_t type) { fAnalysisType = type; } |
59 | void SetAbInitioPID(Int_t abInitioPID) { fAbInitioPID = abInitioPID; } |
60 | void SetCentrality(Int_t centrality) { fCentrality = centrality; } |
959ea9d8 |
61 | void SetMulitplicity(Double_t mult) { fMultiplicity = mult; } |
8c1c76e9 |
62 | void SetPbPb() { fIsPbPb = kTRUE; } |
4437a0d2 |
63 | void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; } |
8c1c76e9 |
64 | void SetPP() { fIsPbPb = kFALSE; } |
65 | |
e17c1f86 |
66 | const AliVTrack *GetRecTrack() const { return fkRecTrack; } |
8c1c76e9 |
67 | Int_t GetAbInitioPID() const { return fAbInitioPID; } |
68 | Int_t GetCentrality() const { return fCentrality; } |
959ea9d8 |
69 | Double_t GetMultiplicity() const { return fMultiplicity; } |
8c1c76e9 |
70 | Bool_t IsAODanalysis() const { return fAnalysisType == static_cast<UChar_t>(kAODanalysis); } |
71 | Bool_t IsESDanalysis() const { return fAnalysisType == static_cast<UChar_t>(kESDanalysis); } |
72 | Bool_t IsPbPb() const { return fIsPbPb; } |
4437a0d2 |
73 | Bool_t IspPb() const { return fIspPb; } |
8c1c76e9 |
74 | |
75 | private: |
e17c1f86 |
76 | const AliVTrack *fkRecTrack; // Reconstructed track |
8c1c76e9 |
77 | UChar_t fAnalysisType; // Analysis Mode (ESD or AOD) |
78 | Int_t fAbInitioPID; // AbInitio PID |
79 | Int_t fCentrality; // Centrality Information |
959ea9d8 |
80 | Double_t fMultiplicity; // Multiplicity information |
4437a0d2 |
81 | Bool_t fIsPbPb; // Collision type PbPb |
82 | Bool_t fIspPb; // Collision type pPb |
8c1c76e9 |
83 | }; |
84 | #endif |
85 | |