]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnCutPhiRAA.cxx
Merge branch 'feature-movesplit'
[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),
f3a8c2fa 25 fCutQuality(Form("%s_quality", name)),
26 cut1(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 1)),
27 cut2(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0)),
28 cut3(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010())
239e1e7a 29{
30//
31// Constructor
32// Initialize the contained cuts and sets defaults
33//
f3a8c2fa 34
35// cut1
239e1e7a 36 cut1->SetEtaRange(-0.8, 0.8);
37 cut1->SetPtRange(0.30,1e10);
f3a8c2fa 38// cut2
239e1e7a 39 cut2->SetEtaRange(-0.8, 0.8);
40 cut2->SetPtRange(0.30,1e10);
f3a8c2fa 41// cut3
239e1e7a 42 cut3->SetEtaRange(-0.8, 0.8);
43 cut3->SetPtRange(0.30,1e10);
44
239e1e7a 45 //V end
46
47}
48
49//__________________________________________________________________________________________________
50AliRsnCutPhiRAA::AliRsnCutPhiRAA(const AliRsnCutPhiRAA &copy) :
51 AliRsnCut(copy),
52 fMode(copy.fMode),
f3a8c2fa 53 fCutQuality(copy.fCutQuality),
54 cut1(copy.cut1),
55 cut2(copy.cut2),
56 cut3(copy.cut3)
57
239e1e7a 58{
59//
60// Copy constructor
61//
62}
63
64//__________________________________________________________________________________________________
65AliRsnCutPhiRAA &AliRsnCutPhiRAA::operator=(const AliRsnCutPhiRAA &copy)
66{
67//
68// Assignment operator
69//
70
71 AliRsnCut::operator=(copy);
72 if (this == &copy)
73 return *this;
74 fMode = copy.fMode;
75 fCutQuality = copy.fCutQuality;
76
77 return *this;
78}
79
80//__________________________________________________________________________________________________
81Bool_t AliRsnCutPhiRAA::IsSelected(TObject *obj)
82{
83//
84// Global check
85//
86
87 // coherence check
88 if (!TargetOK(obj)) return kFALSE;
89
90 // check track
91 AliVTrack *track = fDaughter->Ref2Vtrack();
92 if (!track) {
93 if (!fDaughter->GetRef()) AliWarning("NULL ref");
94 return kFALSE;
95 }
96
97 // initialize check variables
98 Bool_t accept = kFALSE;
99
100 // decide cut result depending on mode
101 switch (fMode) {
102 case k2010:
103 fCutQuality.SetESDtrackCuts(cut3);
104 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
105 ::Info("AnalysisSetup", "ESD cut 2010!!! ");
106 break;
107 case k2011_0:
108 fCutQuality.SetESDtrackCuts(cut2);
109 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
110 break;
239e1e7a 111 case k2011_1:
112 fCutQuality.SetESDtrackCuts(cut1);
113 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
114 ::Info("AnalysisSetup", "ESD cut 2011 ");
115 break;
116 case k2011_1_05:
117 cut1->SetPtRange(0.50,1e10);
118 fCutQuality.SetESDtrackCuts(cut1);
119 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
120 ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.5 GeV/c");
121 break;
122 case k2011_1_075:
123 cut1->SetPtRange(0.75,1e10);
124 fCutQuality.SetESDtrackCuts(cut1);
125 if (fCutQuality.IsSelected(obj)) accept = kTRUE;
126 ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.75 GeV/c ");
127 break;
128 default:
129 AliDebugClass(1, Form("[%s] Wrong mode", GetName()));
130 accept = kFALSE;
131 }
132
133 AliDebugClass(1, Form("[%s] Track %s", GetName(), (accept ? "accepted" : "rejected")));
134 return accept;
135}