AliPhysics  251aa1e (251aa1e)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ConfigVertexingHF_Pb_AllCent_NoLS_PIDLc_PtDepSel_LooseIP_SemiCentral.C
Go to the documentation of this file.
2 
3  printf("Call to AliAnalysisVertexingHF parameters setting :\n");
4  vHF = new AliAnalysisVertexingHF();
5  //Set Reduce Size dAOD
6  vHF->SetMakeReducedRHF(kTRUE);
7 
8  //--- switch-off candidates finding (default: all on)
9  //vHF->SetD0toKpiOff();
10  vHF->SetJPSItoEleOff();
11  // vHF->Set3ProngOff();
12  vHF->SetLikeSignOff(); // like-sign pairs and triplets
13  vHF->SetLikeSign3prongOff();
14  vHF->Set4ProngOff();
15  // vHF->SetDstarOff();
16  vHF->SetFindVertexForDstar(kFALSE);
17  //--- secondary vertex with KF?
18  //vHF->SetSecVtxWithKF();
19  //vHF->SetCascadesOff();
20  vHF->SetFindVertexForCascades(kFALSE);
21  vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
22  vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kOnlyOfflineV0s);
23 
24  //set PID
25  vHF->SetUseKaonPIDfor3Prong(kFALSE);
26  vHF->SetUseProtonAndPionPIDforLambdaC();
27  vHF->SetUseProtonPIDforLambdaC2V0();
28  // vHF->SetnSigmaTOFforKaonSel(5., 5.);
29  // vHF->SetnSigmaTPCforKaonSel(5., 5.);
30  vHF->SetnSigmaTOFforProtonSel(40.,40.);
31  vHF->SetnSigmaTPCforProtonSel(5., 5.);
32  vHF->SetnSigmaTPCforPionSel(40., 40.);
33  vHF->SetnSigmaTOFforPionSel(40.,40.);
34  vHF->SetMaxMomForTPCPid(9999999999.);
35  vHF->SetUseTPCPID(kTRUE);
36  vHF->SetUseTOFPID(kFALSE);
37  // vHF->SetUseTPCPIDOnlyIfNoTOF(kTRUE);
38 
39 
40  //--- set cuts for single-track selection
41  // displaced tracks
42  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
43  esdTrackCuts->SetRequireTPCRefit(kTRUE);
44  esdTrackCuts->SetMinNClustersTPC(50);
45  esdTrackCuts->SetRequireITSRefit(kTRUE);
46  //esdTrackCuts->SetMinNClustersITS(4);
47  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
48  AliESDtrackCuts::kAny);
49  // |d0|>25 micron for pt<2GeV, no cut above 2
50  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0025*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
51  esdTrackCuts->SetMaxDCAToVertexXY(1.);
52  esdTrackCuts->SetMaxDCAToVertexZ(1.);
53  esdTrackCuts->SetPtRange(0.4,1.e10);
54  esdTrackCuts->SetEtaRange(-0.8,+0.8);
55  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
56  trkFilter->AddCuts(esdTrackCuts);
57  vHF->SetTrackFilter(trkFilter);
58 //
59 // // displaced tracks for 20% most central events 2 prongs
60 // AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
61 // esdTrackCuts->SetRequireTPCRefit(kTRUE);
62 // esdTrackCuts->SetMinNClustersTPC(50);
63 // esdTrackCuts->SetRequireITSRefit(kTRUE);
64 // //esdTrackCuts->SetMinNClustersITS(4);
65 // esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
66 // AliESDtrackCuts::kAny);
67 // // |d0|>25 micron for pt<2GeV, no cut above 2
68 // esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0025*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
69 // esdTrackCuts->SetMaxDCAToVertexXY(1.);
70 // esdTrackCuts->SetMaxDCAToVertexZ(1.);
71 // esdTrackCuts->SetPtRange(0.5,1.e10);
72 // esdTrackCuts->SetEtaRange(-0.8,+0.8);
73 // AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
74 // trkFilter->AddCuts(esdTrackCuts);
75 // vHF->SetTrackFilter2prongPbCentral(20.,trkFilter); // for centrality 0-20%
76 //
77 // // displaced tracks for 20% most central events 3 prongs
78 // AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
79 // esdTrackCuts->SetRequireTPCRefit(kTRUE);
80 // esdTrackCuts->SetMinNClustersTPC(50);
81 // esdTrackCuts->SetRequireITSRefit(kTRUE);
82 // //esdTrackCuts->SetMinNClustersITS(4);
83 // esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
84 // AliESDtrackCuts::kAny);
85 // // |d0|>60 micron for pt<2GeV, no cut above 2
86 // esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0060*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
87 // esdTrackCuts->SetMaxDCAToVertexXY(1.);
88 // esdTrackCuts->SetMaxDCAToVertexZ(1.);
89 // esdTrackCuts->SetPtRange(0.6,1.e10);
90 // esdTrackCuts->SetEtaRange(-0.8,+0.8);
91 // AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
92 // trkFilter->AddCuts(esdTrackCuts);
93 // vHF->SetTrackFilter3prongPbCentral(20.,trkFilter); // for centrality 0-20%
94 //
95  // D* soft pion tracks
96  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
97  esdTrackCutsSoftPi->SetMinNClustersITS(2);
98  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
99  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
100  esdTrackCutsSoftPi->SetPtRange(0.1,1.e10);
101  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
102  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
103  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
104  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
105 
106  // bachelor track cuts
107  AliESDtrackCuts *esdTrackCutsBach = new AliESDtrackCuts("AliESDtrackCuts","default");
108  esdTrackCutsBach->SetRequireTPCRefit(kTRUE);
109  esdTrackCutsBach->SetMinNClustersTPC(50);
110  esdTrackCutsBach->SetRequireITSRefit(kTRUE);
111  esdTrackCutsBach->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
112  AliESDtrackCuts::kAny);
113  esdTrackCutsBach->SetMaxDCAToVertexXY(1.);
114  esdTrackCutsBach->SetMaxDCAToVertexZ(1.);
115  esdTrackCutsBach->SetPtRange(0.5,1.e10);
116  esdTrackCutsBach->SetEtaRange(-0.8,+0.8);
117  AliAnalysisFilter *trkFilterBach = new AliAnalysisFilter("trackFilterBachelor");
118  trkFilterBach->AddCuts(esdTrackCutsBach);
119  vHF->SetTrackFilterBachelor(trkFilterBach);
120 
121 
122  //--- set cuts for candidates selection
123  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
124 
125  const Int_t nptbinsD0=2;
126  Float_t ptlimitsD0[nptbinsD0+1]={0.,5.,1000000.};
127  Float_t** cutsArrayD0toKpi;
128  cutsArrayD0toKpi=new Float_t*[11];
129  for(Int_t iv=0;iv<11;iv++){
130  cutsArrayD0toKpi[iv]=new Float_t[nptbinsD0];
131  }
132  //0-5
133  cutsArrayD0toKpi[0][0]=0.25; //D0 inv mass window
134  cutsArrayD0toKpi[1][0]=999999.;
135  cutsArrayD0toKpi[2][0]=1.1;
136  cutsArrayD0toKpi[3][0]=0.;
137  cutsArrayD0toKpi[4][0]=0.;
138  cutsArrayD0toKpi[5][0]=999999.;
139  cutsArrayD0toKpi[6][0]=999999.;
140  cutsArrayD0toKpi[7][0]=0.; // d0xd0
141  cutsArrayD0toKpi[8][0]=0.5;
142  cutsArrayD0toKpi[9][0]=-1.;
143  cutsArrayD0toKpi[10][0]=0.;
144  //5-inf
145  cutsArrayD0toKpi[0][1]=0.4; //D0 inv mass window
146  cutsArrayD0toKpi[1][1]=999999.;
147  cutsArrayD0toKpi[2][1]=1.1;
148  cutsArrayD0toKpi[3][1]=0.;
149  cutsArrayD0toKpi[4][1]=0.;
150  cutsArrayD0toKpi[5][1]=999999.;
151  cutsArrayD0toKpi[6][1]=999999.;
152  cutsArrayD0toKpi[7][1]=0.0001; // d0xd0
153  cutsArrayD0toKpi[8][1]=0.5;
154  cutsArrayD0toKpi[9][1]=-1.;
155  cutsArrayD0toKpi[10][1]=0.;
156 
157 
158  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
159  cutsD0toKpi->SetStandardCutsPbPb2010();
160  cutsD0toKpi->SetMinPtCandidate(0.);
161  cutsD0toKpi->SetUsePID(kFALSE);
162  cutsD0toKpi->SetUseTrackSelectionWithFilterBits(kFALSE);
163  cutsD0toKpi->SetUseSpecialCuts(kFALSE);
164  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
165  cutsD0toKpi->SetMaxCentrality(101.);//90.);
166  cutsD0toKpi->SetMaxVtxZ(1.e6);
167  cutsD0toKpi->SetTriggerClass("");
168  cutsD0toKpi->SetPtBins(nptbinsD0+1,ptlimitsD0);
169  cutsD0toKpi->SetCuts(11,nptbinsD0,cutsArrayD0toKpi);
170  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
171  vHF->SetCutsD0toKpi(cutsD0toKpi);
172  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
173  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
174  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
175  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
176  vHF->SetCutsJpsitoee(cutsJpsitoee);
177  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
178  cutsDplustoKpipi->SetStandardCutsPbPb2010();
179  cutsDplustoKpipi->SetUseTrackSelectionWithFilterBits(kFALSE);
180  cutsDplustoKpipi->SetUsePID(kFALSE);
181  Float_t cutsArrayDplustoKpipi[14]={0.25,0.3,0.3,0.,0.,0.01,0.05,0.05,0.,0.88,0.,10000000000.,3.,0.};
182  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
183  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
184  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
185  cutsDplustoKpipi->SetMinPtCandidate(2.);
186  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
187  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
188  cutsDstoKKpi->SetStandardCutsPbPb2010();
189  cutsDstoKKpi->SetUseTrackSelectionWithFilterBits(kFALSE);
190  cutsDstoKKpi->SetUsePID(kFALSE);
191  Float_t cutsArrayDstoKKpi[20]={0.3,0.3,0.3,0.,0.,0.,0.06,0.02,0.,0.9,0.,100000.,0.03,0.0001,-1.,1.,0.,0.,0.,-1.};
192  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
193  cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
194  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
195  cutsDstoKKpi->SetMinPtCandidate(2.);
196  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
197  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
198  cutsLctopKpi->SetStandardCutsPbPb2010();
199  cutsLctopKpi->SetUseTrackSelectionWithFilterBits(kFALSE);
200  cutsLctopKpi->SetUsePID(kFALSE);
201  Float_t cutsArrayLctopKpi[13]={0.13,0.5,0.5,0.,0.,0.,0.06,0.,0.,0.,0.,0.05,0.5};
202  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
203  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
204  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
205  cutsLctopKpi->SetMinPtCandidate(4.);
206  vHF->SetCutsLctopKpi(cutsLctopKpi);
207  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
208  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
209  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
210  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
211  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
212 
213 
214  // D* pt dependent cuts ------------------------------------------
215 
216  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
217  cutsDStartoKpipi->SetUseTrackSelectionWithFilterBits(kFALSE);
218  cutsDStartoKpipi->SetUsePID(kFALSE);
219  const Int_t nvars=16;
220  const Int_t nptbinsDst=2;
221 
222  Float_t* ptbins;
223  ptbins=new Float_t[nptbinsDst+1];
224  ptbins[0]=0.;
225  ptbins[1]=5.;
226  ptbins[2]=999.;
227 
228  cutsDStartoKpipi->SetPtBins(nptbinsDst+1,ptbins);
229 
230  Float_t** rdcutsvalmine;
231  rdcutsvalmine=new Float_t*[nvars];
232  for(Int_t iv=0;iv<nvars;iv++){
233  rdcutsvalmine[iv]=new Float_t[nptbinsDst];
234  }
235 
236  //0-5
237  rdcutsvalmine[0][0]=0.095; //D0 inv mass window
238  rdcutsvalmine[1][0]=0.05; // dca
239  rdcutsvalmine[2][0]=0.9; // thetastar
240  rdcutsvalmine[3][0]=0.5; // pt Pion
241  rdcutsvalmine[4][0]=0.5; // Pt Kaon
242  rdcutsvalmine[5][0]=0.1; // d0K
243  rdcutsvalmine[6][0]=0.1; // d0Pi
244  rdcutsvalmine[7][0]=-0.00001; // d0xd0
245  rdcutsvalmine[8][0]=0.9; // costhetapoint
246  rdcutsvalmine[9][0]=0.3; // Dstar inv mass window
247  rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
248  rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
249  rdcutsvalmine[12][0]=100.; // Pt max of pi soft
250  rdcutsvalmine[13][0]=9999.; // theta
251  rdcutsvalmine[14][0]=0.96; // |cosThetaPointXY|
252  rdcutsvalmine[15][0]=2.5; // NormDecayLenghtXY
253  //5-999
254  rdcutsvalmine[0][1]=0.12; //D0 inv mass window
255  rdcutsvalmine[1][1]=0.06; // dca
256  rdcutsvalmine[2][1]=0.9; // thetastar
257  rdcutsvalmine[3][1]=0.5; // pt Pion
258  rdcutsvalmine[4][1]=0.5; // Pt Kaon
259  rdcutsvalmine[5][1]=0.1; // d0K
260  rdcutsvalmine[6][1]=0.1; // d0Pi
261  rdcutsvalmine[7][1]=0.0001; // d0xd0
262  rdcutsvalmine[8][1]=0.7; // costhetapoint
263  rdcutsvalmine[9][1]=0.3; // Dstar inv mass window
264  rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
265  rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
266  rdcutsvalmine[12][1]=100.; // Pt max of pi soft
267  rdcutsvalmine[13][1]=9999.; // theta
268  rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
269  rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
270 
271  cutsDStartoKpipi->SetCuts(nvars,nptbinsDst,rdcutsvalmine);
272 
273  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
274  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
275  cutsDStartoKpipi->SetMinPtCandidate(1.);
276  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
277 
278  //--------------------------------------------------------
279 
280  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
281  Float_t cutsArrayLctoV0[17]={0.2,0.,0.05,0.05,0.5,0.0,0.0,1000.,1000.,0.99,3.,1000.,0.,0.,0.,0.5,1};
282  cutsLctoV0->SetUseTrackSelectionWithFilterBits(kFALSE);
283  cutsLctoV0->SetMinPtCandidate(4.);
284  cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
285  cutsLctoV0->AddTrackCuts(esdTrackCuts);
286 
287  AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
288  esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
289  esdV0daughterTrackCuts->SetMinNClustersTPC(30);
290  esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
291  esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
292  esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
293  esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
294  esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
295  esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
296  cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
297  vHF->SetCutsLctoV0(cutsLctoV0);
298  //
299  //--- set this if you want to reconstruct primary vertex candidate by
300  // candidate using other tracks in the event (for pp, broad
301  // interaction region)
302  //vHF->SetRecoPrimVtxSkippingTrks();
303  //--- OR set this if you want to remove the candidate daughters from
304  // the primary vertex, without recostructing it from scratch
305  //vHF->SetRmTrksFromPrimVtx();
306 
307  //--- check the settings
308  vHF->PrintStatus();
309  //--- verbose
310  // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
311 
312 
313  return vHF;
314 }
315 
316 
virtual void SetStandardCutsPbPb2010()
Definition: AliRDHFCuts.h:47
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:61
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:334
Class for cuts on AOD reconstructed D+->Kpipi.
int Int_t
Definition: External.C:63
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
float Float_t
Definition: External.C:68
void AddTrackCutsV0daughters(AliESDtrackCuts *v0daug)
void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts)
virtual void SetStandardCutsPbPb2010()
void SetUseTrackSelectionWithFilterBits(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:208
void SetMaxCentrality(Float_t maxCentrality=100.)
Definition: AliRDHFCuts.h:52
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:205
void SetUseSpecialCuts(Bool_t useSpecialCuts)
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:203
void SetMinPtCandidate(Double_t ptCand=-1.)
Definition: AliRDHFCuts.h:216
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:193
virtual void SetStandardCutsPbPb2010()
Int_t nptbins