ROOT logo
#ifndef ALIRSNCUTKAONFORPHI2010_H
#define ALIRSNCUTKAONFORPHI2010_H

//
// This cut implements all the checks done to accept a track as a Kaon
// for the PbPb analysis using 2010 runs.
// It is based on standard cuts on track quality and nsigma cuts
// with respect to the TPC and TOF signals for the PID.
//

#include "AliVTrack.h"
#include "AliRsnCut.h"
#include "AliRsnCutTrackQuality.h"

class AliRsnCutKaonForPhi2010 : public AliRsnCut {

public:

   enum ECutMode {
      kQuality = 0,
      kOnlyTPC,
      kOnlyTOF,
      kDefaultPID,
      kModes
   };

   AliRsnCutKaonForPhi2010(const char *name = "", Double_t nSigmaTPC = 3.0, Double_t nSigmaTOF = 3.0, Double_t tofLimit = 0.8);
   AliRsnCutKaonForPhi2010(const AliRsnCutKaonForPhi2010 &copy);
   AliRsnCutKaonForPhi2010 &operator=(const AliRsnCutKaonForPhi2010 &copy);
   virtual ~AliRsnCutKaonForPhi2010() { }

   virtual Bool_t IsSelected(TObject *obj);

   AliRsnCutTrackQuality *CutQuality()            {return &fCutQuality;}
   Double_t               GetTOFthreshold() const {return fTOFthreshold;}
   AliPIDResponse        *MyPID()                 {return fMyPID;}

   void   SetMode(ECutMode mode)            {fMode = mode;}
   void   SetCutTPC(Double_t cut)           {fCutTPC = cut;}
   void   SetCutTOF(Double_t cut)           {fCutTOF = cut;}
   void   SetTOFthreshold(Double_t value)   {fTOFthreshold = value;}

   void   InitMyPID(Bool_t isMC, Bool_t isESD);
   Bool_t MatchTOF(const AliVTrack *vtrack);

private:

   ECutMode              fMode;          // how the cut is applied
   Double_t              fCutTPC;        // nsigma cut for TPC
   Double_t              fCutTOF;        // nsigma cut fof TOF
   Double_t              fTOFthreshold;  // for Pt above this threshold, TOF is mandatory
   AliPIDResponse       *fMyPID;         // PID response object to be configured manyally
   AliRsnCutTrackQuality fCutQuality;    // track quality cut

   ClassDef(AliRsnCutKaonForPhi2010,1)

};

//__________________________________________________________________________________________________
inline Bool_t AliRsnCutKaonForPhi2010::MatchTOF(const AliVTrack *vtrack)
{
//
// Checks if the track has matched the TOF detector
//

   if (!vtrack) {
      AliWarning("NULL argument: impossible to check status");
      return kFALSE;
   }

   if (!(vtrack->GetStatus() & AliESDtrack::kTOFout)) return kFALSE;
   if (!(vtrack->GetStatus() & AliESDtrack::kTIME  )) return kFALSE;

   return kTRUE;
}

#endif
 AliRsnCutKaonForPhi2010.h:1
 AliRsnCutKaonForPhi2010.h:2
 AliRsnCutKaonForPhi2010.h:3
 AliRsnCutKaonForPhi2010.h:4
 AliRsnCutKaonForPhi2010.h:5
 AliRsnCutKaonForPhi2010.h:6
 AliRsnCutKaonForPhi2010.h:7
 AliRsnCutKaonForPhi2010.h:8
 AliRsnCutKaonForPhi2010.h:9
 AliRsnCutKaonForPhi2010.h:10
 AliRsnCutKaonForPhi2010.h:11
 AliRsnCutKaonForPhi2010.h:12
 AliRsnCutKaonForPhi2010.h:13
 AliRsnCutKaonForPhi2010.h:14
 AliRsnCutKaonForPhi2010.h:15
 AliRsnCutKaonForPhi2010.h:16
 AliRsnCutKaonForPhi2010.h:17
 AliRsnCutKaonForPhi2010.h:18
 AliRsnCutKaonForPhi2010.h:19
 AliRsnCutKaonForPhi2010.h:20
 AliRsnCutKaonForPhi2010.h:21
 AliRsnCutKaonForPhi2010.h:22
 AliRsnCutKaonForPhi2010.h:23
 AliRsnCutKaonForPhi2010.h:24
 AliRsnCutKaonForPhi2010.h:25
 AliRsnCutKaonForPhi2010.h:26
 AliRsnCutKaonForPhi2010.h:27
 AliRsnCutKaonForPhi2010.h:28
 AliRsnCutKaonForPhi2010.h:29
 AliRsnCutKaonForPhi2010.h:30
 AliRsnCutKaonForPhi2010.h:31
 AliRsnCutKaonForPhi2010.h:32
 AliRsnCutKaonForPhi2010.h:33
 AliRsnCutKaonForPhi2010.h:34
 AliRsnCutKaonForPhi2010.h:35
 AliRsnCutKaonForPhi2010.h:36
 AliRsnCutKaonForPhi2010.h:37
 AliRsnCutKaonForPhi2010.h:38
 AliRsnCutKaonForPhi2010.h:39
 AliRsnCutKaonForPhi2010.h:40
 AliRsnCutKaonForPhi2010.h:41
 AliRsnCutKaonForPhi2010.h:42
 AliRsnCutKaonForPhi2010.h:43
 AliRsnCutKaonForPhi2010.h:44
 AliRsnCutKaonForPhi2010.h:45
 AliRsnCutKaonForPhi2010.h:46
 AliRsnCutKaonForPhi2010.h:47
 AliRsnCutKaonForPhi2010.h:48
 AliRsnCutKaonForPhi2010.h:49
 AliRsnCutKaonForPhi2010.h:50
 AliRsnCutKaonForPhi2010.h:51
 AliRsnCutKaonForPhi2010.h:52
 AliRsnCutKaonForPhi2010.h:53
 AliRsnCutKaonForPhi2010.h:54
 AliRsnCutKaonForPhi2010.h:55
 AliRsnCutKaonForPhi2010.h:56
 AliRsnCutKaonForPhi2010.h:57
 AliRsnCutKaonForPhi2010.h:58
 AliRsnCutKaonForPhi2010.h:59
 AliRsnCutKaonForPhi2010.h:60
 AliRsnCutKaonForPhi2010.h:61
 AliRsnCutKaonForPhi2010.h:62
 AliRsnCutKaonForPhi2010.h:63
 AliRsnCutKaonForPhi2010.h:64
 AliRsnCutKaonForPhi2010.h:65
 AliRsnCutKaonForPhi2010.h:66
 AliRsnCutKaonForPhi2010.h:67
 AliRsnCutKaonForPhi2010.h:68
 AliRsnCutKaonForPhi2010.h:69
 AliRsnCutKaonForPhi2010.h:70
 AliRsnCutKaonForPhi2010.h:71
 AliRsnCutKaonForPhi2010.h:72
 AliRsnCutKaonForPhi2010.h:73
 AliRsnCutKaonForPhi2010.h:74
 AliRsnCutKaonForPhi2010.h:75
 AliRsnCutKaonForPhi2010.h:76
 AliRsnCutKaonForPhi2010.h:77