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