ROOT logo
//
// All cuts for single pions in Sigma* analysis 2010,
// based on track quality and particle identification
// with TPC and TOF.
// Author: Massimo Venaruzzo.
//
//

#include <Riostream.h>

#include "AliPID.h"
#include "AliPIDResponse.h"
#include "AliRsnCutDaughterSigmaStar2010PP.h"

ClassImp(AliRsnCutDaughterSigmaStar2010PP)

//__________________________________________________________________________________________________
AliRsnCutDaughterSigmaStar2010PP::AliRsnCutDaughterSigmaStar2010PP(const char *name, AliPID::EParticleType pid) :
   AliRsnCut(name, AliRsnTarget::kDaughter),
   fPID(pid),
   fCutQuality(Form("%sQuality", name)),
   fPIDCut(3.0),
   fMinTPCcluster(70),
   //fDCARptFormula("0.0182+0.0350/pt^1.01")
   fDCARmax(0.05)
{
//
// Constructor
// Initialize track quality cuts to 2010 defaults
//

   fCutQuality.SetPtRange(0.15, 1E+20);
   fCutQuality.SetEtaRange(-0.8, 0.8);
   fCutQuality.SetDCARmax(fDCARmax);
   //fCutQuality.SetDCARPtFormula(fDCARptFormula);
   fCutQuality.SetDCAZmax(2.0);
   fCutQuality.SetSPDminNClusters(1);
   fCutQuality.SetITSminNClusters(0);
   fCutQuality.SetITSmaxChi2(1E+20);
   fCutQuality.SetTPCminNClusters(fMinTPCcluster);
   fCutQuality.SetTPCmaxChi2(4.0);
   fCutQuality.SetRejectKinkDaughters();
   fCutQuality.SetAODTestFilterBit(5);
}

//__________________________________________________________________________________________________
Bool_t AliRsnCutDaughterSigmaStar2010PP::IsSelected(TObject *obj)
{
//
// Global check
//

   // coherence check
   if (!TargetOK(obj)) return kFALSE;

   // check track
   AliVTrack *track = fDaughter->Ref2Vtrack();
   if (!track) {
      if (!fDaughter->GetRef()) AliWarning("NULL ref");
      return kFALSE;
   }

   AliDebugClass(2, "Checking status");


   // check flags
   if ((track->GetStatus() & AliESDtrack::kTPCin   ) == 0) return kFALSE;
   if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) return kFALSE;
   if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) return kFALSE;

   AliDebugClass(2, "Checking quality cuts");

   // quality
   if (!fCutQuality.IsSelected(obj)) return kFALSE;

   AliDebugClass(2, "...passed");


   // check initialization of PID object
   AliPIDResponse *pid = fEvent->GetPIDResponse();
   if (!pid) {
      AliFatal("NULL PID response");
      return kFALSE;
   }

   // check if TOF is matched
   // and computes all values used in the PID cut
   //Bool_t   isTOF  = MatchTOF(track);
   //Double_t pTPC   = track->GetTPCmomentum();
   //Double_t p      = track->P();
   Double_t nsTPC  = TMath::Abs(pid->NumberOfSigmasTPC(track, fPID));
   //Double_t nsTOF  = TMath::Abs(pid->NumberOfSigmasTOF(track, fPID));
   Double_t maxTPC = 1E20;
   //Double_t maxTOF = 1E20;

   // applies the cut differently depending on the PID and the momentum
   //if (isTOF) {
   // TPC: 5sigma cut for all
   //if (nsTPC > 5.0) return kFALSE;
   // TOF: 3sigma below 1.5 GeV, 2sigma above
   //if (p < 1.5) maxTOF = 3.0; else maxTOF = 2.0;
   //return (nsTOF <= maxTOF);
   //} else {

   //For the moment TOF is not used - PID ONLY WITH TPC - 3 sigmas in the whole range

   // TPC:
   
   maxTPC = fPIDCut;
   return (nsTPC <= maxTPC);

   AliDebugClass(2, "Good Pion (hallelujah)");
   return kTRUE;
}
 AliRsnCutDaughterSigmaStar2010PP.cxx:1
 AliRsnCutDaughterSigmaStar2010PP.cxx:2
 AliRsnCutDaughterSigmaStar2010PP.cxx:3
 AliRsnCutDaughterSigmaStar2010PP.cxx:4
 AliRsnCutDaughterSigmaStar2010PP.cxx:5
 AliRsnCutDaughterSigmaStar2010PP.cxx:6
 AliRsnCutDaughterSigmaStar2010PP.cxx:7
 AliRsnCutDaughterSigmaStar2010PP.cxx:8
 AliRsnCutDaughterSigmaStar2010PP.cxx:9
 AliRsnCutDaughterSigmaStar2010PP.cxx:10
 AliRsnCutDaughterSigmaStar2010PP.cxx:11
 AliRsnCutDaughterSigmaStar2010PP.cxx:12
 AliRsnCutDaughterSigmaStar2010PP.cxx:13
 AliRsnCutDaughterSigmaStar2010PP.cxx:14
 AliRsnCutDaughterSigmaStar2010PP.cxx:15
 AliRsnCutDaughterSigmaStar2010PP.cxx:16
 AliRsnCutDaughterSigmaStar2010PP.cxx:17
 AliRsnCutDaughterSigmaStar2010PP.cxx:18
 AliRsnCutDaughterSigmaStar2010PP.cxx:19
 AliRsnCutDaughterSigmaStar2010PP.cxx:20
 AliRsnCutDaughterSigmaStar2010PP.cxx:21
 AliRsnCutDaughterSigmaStar2010PP.cxx:22
 AliRsnCutDaughterSigmaStar2010PP.cxx:23
 AliRsnCutDaughterSigmaStar2010PP.cxx:24
 AliRsnCutDaughterSigmaStar2010PP.cxx:25
 AliRsnCutDaughterSigmaStar2010PP.cxx:26
 AliRsnCutDaughterSigmaStar2010PP.cxx:27
 AliRsnCutDaughterSigmaStar2010PP.cxx:28
 AliRsnCutDaughterSigmaStar2010PP.cxx:29
 AliRsnCutDaughterSigmaStar2010PP.cxx:30
 AliRsnCutDaughterSigmaStar2010PP.cxx:31
 AliRsnCutDaughterSigmaStar2010PP.cxx:32
 AliRsnCutDaughterSigmaStar2010PP.cxx:33
 AliRsnCutDaughterSigmaStar2010PP.cxx:34
 AliRsnCutDaughterSigmaStar2010PP.cxx:35
 AliRsnCutDaughterSigmaStar2010PP.cxx:36
 AliRsnCutDaughterSigmaStar2010PP.cxx:37
 AliRsnCutDaughterSigmaStar2010PP.cxx:38
 AliRsnCutDaughterSigmaStar2010PP.cxx:39
 AliRsnCutDaughterSigmaStar2010PP.cxx:40
 AliRsnCutDaughterSigmaStar2010PP.cxx:41
 AliRsnCutDaughterSigmaStar2010PP.cxx:42
 AliRsnCutDaughterSigmaStar2010PP.cxx:43
 AliRsnCutDaughterSigmaStar2010PP.cxx:44
 AliRsnCutDaughterSigmaStar2010PP.cxx:45
 AliRsnCutDaughterSigmaStar2010PP.cxx:46
 AliRsnCutDaughterSigmaStar2010PP.cxx:47
 AliRsnCutDaughterSigmaStar2010PP.cxx:48
 AliRsnCutDaughterSigmaStar2010PP.cxx:49
 AliRsnCutDaughterSigmaStar2010PP.cxx:50
 AliRsnCutDaughterSigmaStar2010PP.cxx:51
 AliRsnCutDaughterSigmaStar2010PP.cxx:52
 AliRsnCutDaughterSigmaStar2010PP.cxx:53
 AliRsnCutDaughterSigmaStar2010PP.cxx:54
 AliRsnCutDaughterSigmaStar2010PP.cxx:55
 AliRsnCutDaughterSigmaStar2010PP.cxx:56
 AliRsnCutDaughterSigmaStar2010PP.cxx:57
 AliRsnCutDaughterSigmaStar2010PP.cxx:58
 AliRsnCutDaughterSigmaStar2010PP.cxx:59
 AliRsnCutDaughterSigmaStar2010PP.cxx:60
 AliRsnCutDaughterSigmaStar2010PP.cxx:61
 AliRsnCutDaughterSigmaStar2010PP.cxx:62
 AliRsnCutDaughterSigmaStar2010PP.cxx:63
 AliRsnCutDaughterSigmaStar2010PP.cxx:64
 AliRsnCutDaughterSigmaStar2010PP.cxx:65
 AliRsnCutDaughterSigmaStar2010PP.cxx:66
 AliRsnCutDaughterSigmaStar2010PP.cxx:67
 AliRsnCutDaughterSigmaStar2010PP.cxx:68
 AliRsnCutDaughterSigmaStar2010PP.cxx:69
 AliRsnCutDaughterSigmaStar2010PP.cxx:70
 AliRsnCutDaughterSigmaStar2010PP.cxx:71
 AliRsnCutDaughterSigmaStar2010PP.cxx:72
 AliRsnCutDaughterSigmaStar2010PP.cxx:73
 AliRsnCutDaughterSigmaStar2010PP.cxx:74
 AliRsnCutDaughterSigmaStar2010PP.cxx:75
 AliRsnCutDaughterSigmaStar2010PP.cxx:76
 AliRsnCutDaughterSigmaStar2010PP.cxx:77
 AliRsnCutDaughterSigmaStar2010PP.cxx:78
 AliRsnCutDaughterSigmaStar2010PP.cxx:79
 AliRsnCutDaughterSigmaStar2010PP.cxx:80
 AliRsnCutDaughterSigmaStar2010PP.cxx:81
 AliRsnCutDaughterSigmaStar2010PP.cxx:82
 AliRsnCutDaughterSigmaStar2010PP.cxx:83
 AliRsnCutDaughterSigmaStar2010PP.cxx:84
 AliRsnCutDaughterSigmaStar2010PP.cxx:85
 AliRsnCutDaughterSigmaStar2010PP.cxx:86
 AliRsnCutDaughterSigmaStar2010PP.cxx:87
 AliRsnCutDaughterSigmaStar2010PP.cxx:88
 AliRsnCutDaughterSigmaStar2010PP.cxx:89
 AliRsnCutDaughterSigmaStar2010PP.cxx:90
 AliRsnCutDaughterSigmaStar2010PP.cxx:91
 AliRsnCutDaughterSigmaStar2010PP.cxx:92
 AliRsnCutDaughterSigmaStar2010PP.cxx:93
 AliRsnCutDaughterSigmaStar2010PP.cxx:94
 AliRsnCutDaughterSigmaStar2010PP.cxx:95
 AliRsnCutDaughterSigmaStar2010PP.cxx:96
 AliRsnCutDaughterSigmaStar2010PP.cxx:97
 AliRsnCutDaughterSigmaStar2010PP.cxx:98
 AliRsnCutDaughterSigmaStar2010PP.cxx:99
 AliRsnCutDaughterSigmaStar2010PP.cxx:100
 AliRsnCutDaughterSigmaStar2010PP.cxx:101
 AliRsnCutDaughterSigmaStar2010PP.cxx:102
 AliRsnCutDaughterSigmaStar2010PP.cxx:103
 AliRsnCutDaughterSigmaStar2010PP.cxx:104
 AliRsnCutDaughterSigmaStar2010PP.cxx:105
 AliRsnCutDaughterSigmaStar2010PP.cxx:106
 AliRsnCutDaughterSigmaStar2010PP.cxx:107
 AliRsnCutDaughterSigmaStar2010PP.cxx:108
 AliRsnCutDaughterSigmaStar2010PP.cxx:109
 AliRsnCutDaughterSigmaStar2010PP.cxx:110
 AliRsnCutDaughterSigmaStar2010PP.cxx:111
 AliRsnCutDaughterSigmaStar2010PP.cxx:112
 AliRsnCutDaughterSigmaStar2010PP.cxx:113
 AliRsnCutDaughterSigmaStar2010PP.cxx:114