]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/ConfigVertexingHF_Pb_AllCent_NoLS_PIDLc.C
Several updates: 1) it is no longer possible to run wo V0-daughter cuts object, 2...
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / ConfigVertexingHF_Pb_AllCent_NoLS_PIDLc.C
CommitLineData
82c9f410 1AliAnalysisVertexingHF* ConfigVertexingHF() {
2
3 printf("Call to AliAnalysisVertexingHF parameters setting :\n");
4 vHF = new AliAnalysisVertexingHF();
5
6 //--- switch-off candidates finding (default: all on)
7 //vHF->SetD0toKpiOff();
8 vHF->SetJPSItoEleOff();
9 //vHF->Set3ProngOff();
10 vHF->SetLikeSignOff(); // like-sign pairs and triplets
11 vHF->SetLikeSign3prongOff();
12 vHF->Set4ProngOff();
13 // vHF->SetDstarOff();
14 vHF->SetFindVertexForDstar(kFALSE);
15 //--- secondary vertex with KF?
16 //vHF->SetSecVtxWithKF();
17 vHF->SetCascadesOff();
18 vHF->SetFindVertexForCascades(kFALSE);
19 vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
20 vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s);
21
22
23 //set PID
24 vHF->SetUseKaonPIDfor3Prong(kFALSE);
25 vHF->SetUseProtonAndPionPIDforLambdaC();
26 // vHF->SetnSigmaTOFforKaonSel(5., 5.);
27 // vHF->SetnSigmaTPCforKaonSel(5., 5.);
28 vHF->SetnSigmaTOFforProtonSel(40.,40.);
29 vHF->SetnSigmaTPCforProtonSel(5., 5.);
30 vHF->SetnSigmaTPCforPionSel(40., 40.);
31 vHF->SetnSigmaTOFforPionSel(40.,40.);
32 vHF->SetMaxMomForTPCPid(9999999999.);
33 vHF->SetUseTPCPID(kTRUE);
34 vHF->SetUseTOFPID(kFALSE);
35 // vHF->SetUseTPCPIDOnlyIfNoTOF(kTRUE);
36
37
38 //--- set cuts for single-track selection
39 // displaced tracks
40 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
41 esdTrackCuts->SetRequireTPCRefit(kTRUE);
42 esdTrackCuts->SetMinNClustersTPC(50);
43 esdTrackCuts->SetRequireITSRefit(kTRUE);
44 //esdTrackCuts->SetMinNClustersITS(4);
45 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
46 AliESDtrackCuts::kAny);
47 // |d0|>25 micron for pt<2GeV, no cut above 2
48 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0025*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
49 esdTrackCuts->SetMaxDCAToVertexXY(1.);
50 esdTrackCuts->SetMaxDCAToVertexZ(1.);
51 esdTrackCuts->SetPtRange(0.4,1.e10);
52 esdTrackCuts->SetEtaRange(-0.8,+0.8);
53 AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
54 trkFilter->AddCuts(esdTrackCuts);
55 vHF->SetTrackFilter(trkFilter);
56
57 // displaced tracks for 20% mot central events 2 prongs
58 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
59 esdTrackCuts->SetRequireTPCRefit(kTRUE);
60 esdTrackCuts->SetMinNClustersTPC(50);
61 esdTrackCuts->SetRequireITSRefit(kTRUE);
62 //esdTrackCuts->SetMinNClustersITS(4);
63 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
64 AliESDtrackCuts::kAny);
65 // |d0|>75 micron for pt<2GeV, no cut above 2
66 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0050*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
67 esdTrackCuts->SetMaxDCAToVertexXY(1.);
68 esdTrackCuts->SetMaxDCAToVertexZ(1.);
69 esdTrackCuts->SetPtRange(0.5,1.e10);
70 esdTrackCuts->SetEtaRange(-0.8,+0.8);
71 AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
72 trkFilter->AddCuts(esdTrackCuts);
73 vHF->SetTrackFilter2prongPbCentral(20.,trkFilter); // for centrality 0-20%
74
75 // displaced tracks for 20% mot central events 3 prongs
76 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
77 esdTrackCuts->SetRequireTPCRefit(kTRUE);
78 esdTrackCuts->SetMinNClustersTPC(50);
79 esdTrackCuts->SetRequireITSRefit(kTRUE);
80 //esdTrackCuts->SetMinNClustersITS(4);
81 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
82 AliESDtrackCuts::kAny);
83 // |d0|>75 micron for pt<2GeV, no cut above 2
84 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
85 esdTrackCuts->SetMaxDCAToVertexXY(1.);
86 esdTrackCuts->SetMaxDCAToVertexZ(1.);
87 esdTrackCuts->SetPtRange(0.6,1.e10);
88 esdTrackCuts->SetEtaRange(-0.8,+0.8);
89 AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
90 trkFilter->AddCuts(esdTrackCuts);
91 vHF->SetTrackFilter3prongPbCentral(20.,trkFilter); // for centrality 0-20%
92
93 // D* soft pion tracks
94 AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
95 esdTrackCutsSoftPi->SetMinNClustersITS(3);
96 esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
97 esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
98 esdTrackCutsSoftPi->SetPtRange(0.1,1.e10);
99 esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
100 AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
101 trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
102 vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
103 //--- set cuts for candidates selection
104 Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
105 AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
106 cutsD0toKpi->SetStandardCutsPbPb2010();
107 cutsD0toKpi->SetMinPtCandidate(0.);
108 cutsD0toKpi->SetUsePID(kFALSE);
109 cutsD0toKpi->SetUseSpecialCuts(kFALSE);
110 cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
111 cutsD0toKpi->SetMaxCentrality(80.);
112 cutsD0toKpi->SetMaxVtxZ(1.e6);
113 cutsD0toKpi->SetTriggerClass("");
114 Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
115 cutsD0toKpi->SetPtBins(nptbins,ptlimits);
116 cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
117 cutsD0toKpi->AddTrackCuts(esdTrackCuts);
118 vHF->SetCutsD0toKpi(cutsD0toKpi);
119 AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
120 Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
121 cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
122 cutsJpsitoee->AddTrackCuts(esdTrackCuts);
123 vHF->SetCutsJpsitoee(cutsJpsitoee);
124 AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
125 cutsDplustoKpipi->SetStandardCutsPbPb2010();
126 cutsDplustoKpipi->SetUsePID(kFALSE);
127 Float_t cutsArrayDplustoKpipi[14]={0.25,0.3,0.3,0.,0.,0.01,0.05,0.05,0.,0.88,0.,10000000000.,0.,-1.};
128 cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
129 cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
130 cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
131 cutsDplustoKpipi->SetMinPtCandidate(2.);
132 vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
133 AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
134 cutsDstoKKpi->SetStandardCutsPbPb2010();
135 cutsDstoKKpi->SetUsePID(kFALSE);
136 Float_t cutsArrayDstoKKpi[20]={0.35,0.3,0.3,0.,0.,0.005,0.06,0.,0.,0.9,0.,100000.,0.035,0.0001,-1.,1.,0.,0.,0.,-1.};
137 cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
138 cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
139 cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
140 cutsDstoKKpi->SetMinPtCandidate(2.);
141 vHF->SetCutsDstoKKpi(cutsDstoKKpi);
142 AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
143 cutsLctopKpi->SetStandardCutsPbPb2010();
144 cutsLctopKpi->SetUsePID(kFALSE);
145 Float_t cutsArrayLctopKpi[13]={0.13,0.5,0.5,0.,0.,0.,0.06,0.,0.,0.,0.,0.05,0.5};
146 cutsLctopKpi->SetPtBins(nptbins,ptlimits);
147 cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
148 cutsLctopKpi->AddTrackCuts(esdTrackCuts);
149 cutsLctopKpi->SetMinPtCandidate(4.);
150 vHF->SetCutsLctopKpi(cutsLctopKpi);
151 AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
152 Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
153 cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
154 cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
155 vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
156
157
158 // D* pt dependent cuts ------------------------------------------
159
160 AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
161 cutsDStartoKpipi->SetUsePID(kFALSE);
162 const Int_t nvars=16;
163 const Int_t nptbins=2;
164
165 Float_t* ptbins;
166 ptbins=new Float_t[nptbins+1];
167 ptbins[0]=0.;
168 ptbins[1]=5.;
169 ptbins[2]=999.;
170
171 cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
172
173 Float_t** rdcutsvalmine;
174 rdcutsvalmine=new Float_t*[nvars];
175 for(Int_t iv=0;iv<nvars;iv++){
176 rdcutsvalmine[iv]=new Float_t[nptbins];
177 }
178 //0-5
179 rdcutsvalmine[0][0]=0.10; //D0 inv mass window
180 rdcutsvalmine[1][0]=0.06; // dca
181 rdcutsvalmine[2][0]=0.9; // thetastar
182 rdcutsvalmine[3][0]=0.5; // pt Pion
183 rdcutsvalmine[4][0]=0.5; // Pt Kaon
184 rdcutsvalmine[5][0]=0.1; // d0K
185 rdcutsvalmine[6][0]=0.1; // d0Pi
186 rdcutsvalmine[7][0]=0.0001; // d0xd0
187 rdcutsvalmine[8][0]=0.9; // costhetapoint
188 rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
189 rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
190 rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
191 rdcutsvalmine[12][0]=100.; // Pt max of pi soft
192 rdcutsvalmine[13][0]=9999.; // theta
193 rdcutsvalmine[14][0]=0.95; // |cosThetaPointXY|
194 rdcutsvalmine[15][0]=2.; // NormDecayLenghtXY
195 //5-999
196 rdcutsvalmine[0][1]=0.10; //D0 inv mass window
197 rdcutsvalmine[1][1]=0.06; // dca
198 rdcutsvalmine[2][1]=0.9; // thetastar
199 rdcutsvalmine[3][1]=0.5; // pt Pion
200 rdcutsvalmine[4][1]=0.5; // Pt Kaon
201 rdcutsvalmine[5][1]=0.1; // d0K
202 rdcutsvalmine[6][1]=0.1; // d0Pi
203 rdcutsvalmine[7][1]=0.0001; // d0xd0
204 rdcutsvalmine[8][1]=0.7; // costhetapoint
205 rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
206 rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
207 rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
208 rdcutsvalmine[12][1]=100.; // Pt max of pi soft
209 rdcutsvalmine[13][1]=9999.; // theta
210 rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
211 rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
212
213 cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
214
215 cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
216 cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
217 cutsDStartoKpipi->SetMinPtCandidate(1.);
218 vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
219
220 //--------------------------------------------------------
221
222 AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
d3338795 223 Float_t cutsArrayLctoV0[17]={1.0,1.0,0.05,0.05,0.0,0.0,0.0,1000.,1000.,0.99,3.,1000.,0.,0.,0.,0.,0.0};
224 cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
82c9f410 225 cutsLctoV0->AddTrackCuts(esdTrackCuts);
60b29186 226
227 AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
228 esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
229 esdV0daughterTrackCuts->SetMinNClustersTPC(30);
230 esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
231 esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
232 esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
233 esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
234 esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
235 esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
236 cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
82c9f410 237 vHF->SetCutsLctoV0(cutsLctoV0);
238 //
239 //--- set this if you want to reconstruct primary vertex candidate by
240 // candidate using other tracks in the event (for pp, broad
241 // interaction region)
242 //vHF->SetRecoPrimVtxSkippingTrks();
243 //--- OR set this if you want to remove the candidate daughters from
244 // the primary vertex, without recostructing it from scratch
245 //vHF->SetRmTrksFromPrimVtx();
246
247 //--- check the settings
248 vHF->PrintStatus();
249 //--- verbose
250 // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
251
252
253 return vHF;
254}
255
256