ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Object used in the electron identification
// For more information see the implementation file
//
#ifndef ALIHFEPIDOBJECT_H
#define ALIHFEPIDOBJECT_H

#include <Rtypes.h>

class AliVTrack;
class AliVParticle;

class AliHFEpidObject{
  public:
    enum AnalysisType_t{ 
      kESDanalysis,
      kAODanalysis
    };
    AliHFEpidObject():
      fkRecTrack(NULL), 
      fAnalysisType(kESDanalysis),
      fAbInitioPID(-1),
      fCentrality(99),
      fMultiplicity(0),
      fCorrTPCnSigma(0),
      fIsPbPb(kFALSE),         // Default: pp
      fIspPb(kFALSE),         // Default: pp
      fHasCorrTPCnSigma(kFALSE)
      {
      }
    AliHFEpidObject(const AliHFEpidObject &ref):
      fkRecTrack(ref.fkRecTrack), 
      fAnalysisType(ref.fAnalysisType),
      fAbInitioPID(ref.fAbInitioPID),
      fCentrality(ref.fCentrality),
      fMultiplicity(ref.fMultiplicity),
      fCorrTPCnSigma(ref.fCorrTPCnSigma),
      fIsPbPb(ref.fIsPbPb),
      fIspPb(ref.fIspPb),
      fHasCorrTPCnSigma(ref.fHasCorrTPCnSigma)
      {
      }
    AliHFEpidObject &operator=(const AliHFEpidObject &ref);
    ~AliHFEpidObject(){};

    void SetRecTrack(const AliVTrack * recTrack) {fkRecTrack = recTrack; }
    void SetMCTrack(const AliVParticle * mcTrack);
    void SetAnalysisType(AnalysisType_t type) { fAnalysisType = type; }
    void SetAbInitioPID(Int_t abInitioPID) { fAbInitioPID = abInitioPID; }
    void SetCentrality(Int_t centrality) { fCentrality = centrality; }
    void SetMulitplicity(Double_t mult) { fMultiplicity = mult; }
    void SetCorrectedTPCnSigma(Double_t sigm) { fCorrTPCnSigma=sigm; fHasCorrTPCnSigma=true; }
    void SetPbPb() { fIsPbPb = kTRUE; }
    void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; }
    void SetPP() { fIsPbPb = kFALSE; }

    const AliVTrack *GetRecTrack() const { return fkRecTrack; }
    Int_t GetAbInitioPID() const { return fAbInitioPID; }
    Int_t GetCentrality() const { return fCentrality; }
    Double_t GetMultiplicity() const { return fMultiplicity; }
    Double_t GetCorrectedTPCnSigma()  const { return fCorrTPCnSigma; }
    Bool_t HasCorrectedTPCnSigma()  const { return fHasCorrTPCnSigma; }
    Bool_t IsAODanalysis() const { return fAnalysisType == static_cast<UChar_t>(kAODanalysis); }
    Bool_t IsESDanalysis() const { return fAnalysisType == static_cast<UChar_t>(kESDanalysis); }
    Bool_t IsPbPb() const { return fIsPbPb; }
    Bool_t IspPb() const { return fIspPb; }

  private:
    const AliVTrack *fkRecTrack;        // Reconstructed track
    UChar_t fAnalysisType;              // Analysis Mode (ESD or AOD)
    Int_t fAbInitioPID;                 // AbInitio PID
    Int_t fCentrality;                  // Centrality Information
    Double_t fMultiplicity;             // Multiplicity information
    Double_t fCorrTPCnSigma;            // Corrected TPC n sigma
    Bool_t fIsPbPb;                     // Collision type PbPb
    Bool_t fIspPb;                      // Collision type pPb
    Bool_t fHasCorrTPCnSigma;           // whether corrected TPC n sigma is set
};
#endif

 AliHFEpidObject.h:1
 AliHFEpidObject.h:2
 AliHFEpidObject.h:3
 AliHFEpidObject.h:4
 AliHFEpidObject.h:5
 AliHFEpidObject.h:6
 AliHFEpidObject.h:7
 AliHFEpidObject.h:8
 AliHFEpidObject.h:9
 AliHFEpidObject.h:10
 AliHFEpidObject.h:11
 AliHFEpidObject.h:12
 AliHFEpidObject.h:13
 AliHFEpidObject.h:14
 AliHFEpidObject.h:15
 AliHFEpidObject.h:16
 AliHFEpidObject.h:17
 AliHFEpidObject.h:18
 AliHFEpidObject.h:19
 AliHFEpidObject.h:20
 AliHFEpidObject.h:21
 AliHFEpidObject.h:22
 AliHFEpidObject.h:23
 AliHFEpidObject.h:24
 AliHFEpidObject.h:25
 AliHFEpidObject.h:26
 AliHFEpidObject.h:27
 AliHFEpidObject.h:28
 AliHFEpidObject.h:29
 AliHFEpidObject.h:30
 AliHFEpidObject.h:31
 AliHFEpidObject.h:32
 AliHFEpidObject.h:33
 AliHFEpidObject.h:34
 AliHFEpidObject.h:35
 AliHFEpidObject.h:36
 AliHFEpidObject.h:37
 AliHFEpidObject.h:38
 AliHFEpidObject.h:39
 AliHFEpidObject.h:40
 AliHFEpidObject.h:41
 AliHFEpidObject.h:42
 AliHFEpidObject.h:43
 AliHFEpidObject.h:44
 AliHFEpidObject.h:45
 AliHFEpidObject.h:46
 AliHFEpidObject.h:47
 AliHFEpidObject.h:48
 AliHFEpidObject.h:49
 AliHFEpidObject.h:50
 AliHFEpidObject.h:51
 AliHFEpidObject.h:52
 AliHFEpidObject.h:53
 AliHFEpidObject.h:54
 AliHFEpidObject.h:55
 AliHFEpidObject.h:56
 AliHFEpidObject.h:57
 AliHFEpidObject.h:58
 AliHFEpidObject.h:59
 AliHFEpidObject.h:60
 AliHFEpidObject.h:61
 AliHFEpidObject.h:62
 AliHFEpidObject.h:63
 AliHFEpidObject.h:64
 AliHFEpidObject.h:65
 AliHFEpidObject.h:66
 AliHFEpidObject.h:67
 AliHFEpidObject.h:68
 AliHFEpidObject.h:69
 AliHFEpidObject.h:70
 AliHFEpidObject.h:71
 AliHFEpidObject.h:72
 AliHFEpidObject.h:73
 AliHFEpidObject.h:74
 AliHFEpidObject.h:75
 AliHFEpidObject.h:76
 AliHFEpidObject.h:77
 AliHFEpidObject.h:78
 AliHFEpidObject.h:79
 AliHFEpidObject.h:80
 AliHFEpidObject.h:81
 AliHFEpidObject.h:82
 AliHFEpidObject.h:83
 AliHFEpidObject.h:84
 AliHFEpidObject.h:85
 AliHFEpidObject.h:86
 AliHFEpidObject.h:87
 AliHFEpidObject.h:88
 AliHFEpidObject.h:89
 AliHFEpidObject.h:90
 AliHFEpidObject.h:91
 AliHFEpidObject.h:92
 AliHFEpidObject.h:93
 AliHFEpidObject.h:94