1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 // Object used in the electron identification
17 // For more information see the implementation file
19 #ifndef ALIHFEPIDOBJECT_H
20 #define ALIHFEPIDOBJECT_H
27 class AliHFEpidObject{
35 fAnalysisType(kESDanalysis),
40 fIsPbPb(kFALSE), // Default: pp
41 fIspPb(kFALSE), // Default: pp
42 fHasCorrTPCnSigma(kFALSE)
45 AliHFEpidObject(const AliHFEpidObject &ref):
46 fkRecTrack(ref.fkRecTrack),
47 fAnalysisType(ref.fAnalysisType),
48 fAbInitioPID(ref.fAbInitioPID),
49 fCentrality(ref.fCentrality),
50 fMultiplicity(ref.fMultiplicity),
51 fCorrTPCnSigma(ref.fCorrTPCnSigma),
54 fHasCorrTPCnSigma(ref.fHasCorrTPCnSigma)
57 AliHFEpidObject &operator=(const AliHFEpidObject &ref);
60 void SetRecTrack(const AliVTrack * recTrack) {fkRecTrack = recTrack; }
61 void SetMCTrack(const AliVParticle * mcTrack);
62 void SetAnalysisType(AnalysisType_t type) { fAnalysisType = type; }
63 void SetAbInitioPID(Int_t abInitioPID) { fAbInitioPID = abInitioPID; }
64 void SetCentrality(Int_t centrality) { fCentrality = centrality; }
65 void SetMulitplicity(Double_t mult) { fMultiplicity = mult; }
66 void SetCorrectedTPCnSigma(Double_t sigm) { fCorrTPCnSigma=sigm; fHasCorrTPCnSigma=true; }
67 void SetPbPb() { fIsPbPb = kTRUE; }
68 void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; }
69 void SetPP() { fIsPbPb = kFALSE; }
71 const AliVTrack *GetRecTrack() const { return fkRecTrack; }
72 Int_t GetAbInitioPID() const { return fAbInitioPID; }
73 Int_t GetCentrality() const { return fCentrality; }
74 Double_t GetMultiplicity() const { return fMultiplicity; }
75 Double_t GetCorrectedTPCnSigma() const { return fCorrTPCnSigma; }
76 Bool_t HasCorrectedTPCnSigma() const { return fHasCorrTPCnSigma; }
77 Bool_t IsAODanalysis() const { return fAnalysisType == static_cast<UChar_t>(kAODanalysis); }
78 Bool_t IsESDanalysis() const { return fAnalysisType == static_cast<UChar_t>(kESDanalysis); }
79 Bool_t IsPbPb() const { return fIsPbPb; }
80 Bool_t IspPb() const { return fIspPb; }
83 const AliVTrack *fkRecTrack; // Reconstructed track
84 UChar_t fAnalysisType; // Analysis Mode (ESD or AOD)
85 Int_t fAbInitioPID; // AbInitio PID
86 Int_t fCentrality; // Centrality Information
87 Double_t fMultiplicity; // Multiplicity information
88 Double_t fCorrTPCnSigma; // Corrected TPC n sigma
89 Bool_t fIsPbPb; // Collision type PbPb
90 Bool_t fIspPb; // Collision type pPb
91 Bool_t fHasCorrTPCnSigma; // whether corrected TPC n sigma is set