ROOT logo
#ifndef ALIRSNCUTKAONFORPHI2010PP_H
#define ALIRSNCUTKAONFORPHI2010PP_H

//
// This cut implements all the checks done to accept a track as a Kaon
// for the pp 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 AliRsnCutKaonForPhi2010PP : public AliRsnCut {

public:

   AliRsnCutKaonForPhi2010PP(const char *name = "");
   AliRsnCutKaonForPhi2010PP(const AliRsnCutKaonForPhi2010PP &copy);
   AliRsnCutKaonForPhi2010PP &operator=(const AliRsnCutKaonForPhi2010PP &copy);
   virtual ~AliRsnCutKaonForPhi2010PP() { }

   void           SetTPCNSigmaLow (Double_t v) {fNSigmaTPCLow  = v;}
   void           SetTPCNSigmaHigh(Double_t v) {fNSigmaTPCHigh = v;}
   void           SetTPCLimit(Double_t v)      {fLimitTPC      = v;}
   void           SetTOFNSigma(Double_t v)     {fNSigmaTOF     = v;}

   virtual Bool_t IsSelected(TObject *obj);
   void           InitMyPID(Bool_t isMC, Bool_t isESD);

   AliRsnCutTrackQuality *CutQuality() {return &fCutQuality;}
   AliPIDResponse        *MyPID()      {return fMyPID;}

private:

   Bool_t MatchTOF(const AliVTrack *vtrack);

   Double_t              fNSigmaTPCLow;   // TPC: nsigma cut below limit
   Double_t              fNSigmaTPCHigh;  // TPC: nsigma cut above limit
   Double_t              fLimitTPC;       // TPC: momentum limit
   Double_t              fNSigmaTOF;      // TOF: nsigma cut (unique)

   AliPIDResponse       *fMyPID;          // PID response object to be configured manyally
   AliRsnCutTrackQuality fCutQuality;     // track quality cut

   ClassDef(AliRsnCutKaonForPhi2010PP,1)

};

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

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

   Bool_t isTOFout = ((vtrack->GetStatus() & AliESDtrack::kTOFout) != 0);
   Bool_t isTIME   = ((vtrack->GetStatus() & AliESDtrack::kTIME) != 0);

   return (isTOFout && isTIME);
}

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