ROOT logo
//
// *** Class AliRsnCutPIDTPC ***
//
// This class implements all cuts which have to be used for the 2010 runs
// for phi and generic resonance analysis.
// It contains an AliESDtrackCuts object for track quality selection
// and some criteria for particle identification with ITS, TPC and TOF.
//
// authors: Martin Vala (martin.vala@cern.ch)
//          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
//

#ifndef ALIRSNCUTPIDTPC_H
#define ALIRSNCUTPIDTPC_H

#include "AliRsnCut.h"

class AliPID;
class AliESDpid;
class AliAODpidUtil;

class AliRsnCutPIDTPC : public AliRsnCut {
public:

   AliRsnCutPIDTPC(const char *name       = "cutTPC",
                   EPARTYPE type          = AliPID::kKaon,
                   Double_t nSigmaMin     = -3.,
                   Double_t nSigmaMax     =  3.,
                   Bool_t   rejectOutside = kTRUE);

   AliRsnCutPIDTPC(const AliRsnCutPIDTPC &copy);
   AliRsnCutPIDTPC &operator=(const AliRsnCutPIDTPC &copy);
   virtual ~AliRsnCutPIDTPC() { }

   AliESDpid       *ESDpid()  {return fESDpid;}
   AliAODpidUtil   *AODpid()  {return fAODpid;}

   void             SetRejectOutside(Bool_t yn = kTRUE)           {fRejectOutside = yn;}
   void             SetMomentumRange(Double_t min, Double_t max)  {fMomMin = min; fMomMax = max;}
   void             SetNSigmaRange(Double_t min, Double_t max)    {fMinD = min; fMaxD = max;}
   void             SetRefType(EPARTYPE type)                     {fRefType = type;}
   void             SetBBParam(const Double_t *p)                 {SetBBParam(p[0], p[1], p[2], p[3], p[4]);}
   void             SetBBParam(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4);

   virtual Bool_t   IsSelected(TObject *object);
   virtual void     Print(const Option_t *option = "") const;

private:

   Bool_t          fRejectOutside;  //  choose if tracks outside momentum range are rejected or not
   Double_t        fMomMin;         //  min p in range where this cut is checked
   Double_t        fMomMax;         //  max p in range where this cut is checked
   EPARTYPE        fRefType;        //  particle type for which PID is checked
   AliESDpid      *fESDpid;         //! ESD PID object
   AliAODpidUtil  *fAODpid;         //! AOD PID object
   Double_t        fBB[5];          //  Bethe-Bloch parameters


   ClassDef(AliRsnCutPIDTPC, 1)
};

#endif
 AliRsnCutPIDTPC.h:1
 AliRsnCutPIDTPC.h:2
 AliRsnCutPIDTPC.h:3
 AliRsnCutPIDTPC.h:4
 AliRsnCutPIDTPC.h:5
 AliRsnCutPIDTPC.h:6
 AliRsnCutPIDTPC.h:7
 AliRsnCutPIDTPC.h:8
 AliRsnCutPIDTPC.h:9
 AliRsnCutPIDTPC.h:10
 AliRsnCutPIDTPC.h:11
 AliRsnCutPIDTPC.h:12
 AliRsnCutPIDTPC.h:13
 AliRsnCutPIDTPC.h:14
 AliRsnCutPIDTPC.h:15
 AliRsnCutPIDTPC.h:16
 AliRsnCutPIDTPC.h:17
 AliRsnCutPIDTPC.h:18
 AliRsnCutPIDTPC.h:19
 AliRsnCutPIDTPC.h:20
 AliRsnCutPIDTPC.h:21
 AliRsnCutPIDTPC.h:22
 AliRsnCutPIDTPC.h:23
 AliRsnCutPIDTPC.h:24
 AliRsnCutPIDTPC.h:25
 AliRsnCutPIDTPC.h:26
 AliRsnCutPIDTPC.h:27
 AliRsnCutPIDTPC.h:28
 AliRsnCutPIDTPC.h:29
 AliRsnCutPIDTPC.h:30
 AliRsnCutPIDTPC.h:31
 AliRsnCutPIDTPC.h:32
 AliRsnCutPIDTPC.h:33
 AliRsnCutPIDTPC.h:34
 AliRsnCutPIDTPC.h:35
 AliRsnCutPIDTPC.h:36
 AliRsnCutPIDTPC.h:37
 AliRsnCutPIDTPC.h:38
 AliRsnCutPIDTPC.h:39
 AliRsnCutPIDTPC.h:40
 AliRsnCutPIDTPC.h:41
 AliRsnCutPIDTPC.h:42
 AliRsnCutPIDTPC.h:43
 AliRsnCutPIDTPC.h:44
 AliRsnCutPIDTPC.h:45
 AliRsnCutPIDTPC.h:46
 AliRsnCutPIDTPC.h:47
 AliRsnCutPIDTPC.h:48
 AliRsnCutPIDTPC.h:49
 AliRsnCutPIDTPC.h:50
 AliRsnCutPIDTPC.h:51
 AliRsnCutPIDTPC.h:52
 AliRsnCutPIDTPC.h:53
 AliRsnCutPIDTPC.h:54
 AliRsnCutPIDTPC.h:55
 AliRsnCutPIDTPC.h:56
 AliRsnCutPIDTPC.h:57
 AliRsnCutPIDTPC.h:58
 AliRsnCutPIDTPC.h:59
 AliRsnCutPIDTPC.h:60
 AliRsnCutPIDTPC.h:61
 AliRsnCutPIDTPC.h:62