]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnCutPhiRAA.cxx
Added cut class for analysis pf Phi RAA
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutPhiRAA.cxx
CommitLineData
239e1e7a 1//
2// This cut implements all the checks done to accept a track as a Kaon
3// for the PbPb analysis using 2010 runs.
4// It is based on standard cuts on track quality and nsigma cuts
5// with respect to the TPC and TOF signals for the PID.
6//
7
8#include <Riostream.h>
9
10#include "AliLog.h"
11#include "AliPID.h"
12#include "AliPIDResponse.h"
13#include "AliESDpid.h"
14#include "AliAODpidUtil.h"
15#include "AliRsnCutPhiRAA.h"
16#include "AliESDtrackCuts.h"
17
18ClassImp(AliRsnCutPhiRAA)
19
20//__________________________________________________________________________________________________
21AliRsnCutPhiRAA::AliRsnCutPhiRAA
22(const char *name) :
23 AliRsnCut(name, AliRsnTarget::kDaughter),
24 fMode(k2011_1),
25 fCutQuality(Form("%s_quality", name))
26{
27//
28// Constructor
29// Initialize the contained cuts and sets defaults
30//
31 cut1 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 1);
32 cut1->SetEtaRange(-0.8, 0.8);
33 cut1->SetPtRange(0.30,1e10);
34 cut2 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0);
35 cut2->SetEtaRange(-0.8, 0.8);
36 cut2->SetPtRange(0.30,1e10);
37 cut3 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010();
38 cut3->SetEtaRange(-0.8, 0.8);
39 cut3->SetPtRange(0.30,1e10);
40
41 cut4 = new AliESDtrackCuts("AliESDtrackCuts", "Loose");
42 //TPC only
43 cut4->SetMinNClustersTPC(70);//70
44 cut4->SetMaxChi2PerClusterTPC(4); //4
45 cut4->SetAcceptKinkDaughters(kFALSE);
46 cut4->SetRequireTPCRefit(kTRUE);
47 cut4->SetMaxDCAToVertexXY(2.4);
48 cut4->SetMaxDCAToVertexZ(3.2);
49 cut4->SetDCAToVertex2D(kFALSE);
50 cut4->SetRequireSigmaToVertex(kFALSE);
51 cut4->SetPtRange(0.3,30);
52 cut4->SetEtaRange(-0.8,0.8); // normally, |eta|<0.8
53 //V end
54
55}
56
57//__________________________________________________________________________________________________
58AliRsnCutPhiRAA::AliRsnCutPhiRAA(const AliRsnCutPhiRAA &copy) :
59 AliRsnCut(copy),
60 fMode(copy.fMode),
61 fCutQuality(copy.fCutQuality)
62{
63//
64// Copy constructor
65//
66}
67
68//__________________________________________________________________________________________________
69AliRsnCutPhiRAA &AliRsnCutPhiRAA::operator=(const AliRsnCutPhiRAA &copy)
70{
71//
72// Assignment operator
73//
74
75 AliRsnCut::operator=(copy);
76 if (this == &copy)
77 return *this;
78 fMode = copy.fMode;
79 fCutQuality = copy.fCutQuality;
80
81 return *this;
82}
83
84//__________________________________________________________________________________________________
85Bool_t AliRsnCutPhiRAA::IsSelected(TObject *obj)
86{
87//
88// Global check
89//
90
91 // coherence check
92 if (!TargetOK(obj)) return kFALSE;
93
94 // check track
95 AliVTrack *track = fDaughter->Ref2Vtrack();
96 if (!track) {
97 if (!fDaughter->GetRef()) AliWarning("NULL ref");
98 return kFALSE;
99 }
100
101 // initialize check variables
102 Bool_t accept = kFALSE;
103
104 // decide cut result depending on mode
105 switch (fMode) {
106 case k2010:
107 fCutQuality.SetESDtrackCuts(cut3);
108 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
109 ::Info("AnalysisSetup", "ESD cut 2010!!! ");
110 break;
111 case k2011_0:
112 fCutQuality.SetESDtrackCuts(cut2);
113 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
114 break;
115 case kTPC:
116 fCutQuality.SetESDtrackCuts(cut4);
117 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
118 break;
119 case k2011_1:
120 fCutQuality.SetESDtrackCuts(cut1);
121 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
122 ::Info("AnalysisSetup", "ESD cut 2011 ");
123 break;
124 case k2011_1_05:
125 cut1->SetPtRange(0.50,1e10);
126 fCutQuality.SetESDtrackCuts(cut1);
127 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
128 ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.5 GeV/c");
129 break;
130 case k2011_1_075:
131 cut1->SetPtRange(0.75,1e10);
132 fCutQuality.SetESDtrackCuts(cut1);
133 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
134 ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.75 GeV/c ");
135 break;
136 default:
137 AliDebugClass(1, Form("[%s] Wrong mode", GetName()));
138 accept = kFALSE;
139 }
140
141 AliDebugClass(1, Form("[%s] Track %s", GetName(), (accept ? "accepted" : "rejected")));
142 return accept;
143}