AliPhysics  9b6b435 (9b6b435)
ConfigVertexingHF_highmult.C
Go to the documentation of this file.
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->SetLikeSignOn(); // 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  //--- set cuts for single-track selection
23  // displaced tracks
24  AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
25  esdTrackCuts->SetRequireTPCRefit(kTRUE);
26  esdTrackCuts->SetMinNClustersTPC(50);
27  esdTrackCuts->SetRequireITSRefit(kTRUE);
28  //esdTrackCuts->SetMinNClustersITS(4);
29  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
30  AliESDtrackCuts::kAny);
31  // |d0|>75 micron for pt<2GeV, no cut above 2
32  esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
33  esdTrackCuts->SetMaxDCAToVertexXY(1.);
34  esdTrackCuts->SetMaxDCAToVertexZ(1.);
35  esdTrackCuts->SetPtRange(0.7,1.e10);
36  esdTrackCuts->SetEtaRange(-0.8,+0.8);
37  AliAnalysisFilter *trkFilter = new AliAnalysisFilter("trackFilter");
38  trkFilter->AddCuts(esdTrackCuts);
39  vHF->SetTrackFilter(trkFilter);
40  // D* soft pion tracks
41  AliESDtrackCuts *esdTrackCutsSoftPi = new AliESDtrackCuts("AliESDtrackCuts","default");
42  esdTrackCutsSoftPi->SetRequireITSRefit(kTRUE);
43  esdTrackCutsSoftPi->SetMinNClustersITS(4);
44  esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
45  esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
46  esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
47  esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
48  AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
49  trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
50  vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
51  //--- set cuts for candidates selection
52  Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
53  AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
54  cutsD0toKpi->SetStandardCutsPbPb2010();
55  cutsD0toKpi->SetMinPtCandidate(0.);
56  cutsD0toKpi->SetUsePID(kFALSE);
57  cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
58  cutsD0toKpi->SetMaxVtxZ(1.e6);
59  cutsD0toKpi->SetTriggerClass("");
60  Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
61  cutsD0toKpi->SetPtBins(nptbins,ptlimits);
62  cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
63  cutsD0toKpi->AddTrackCuts(esdTrackCuts);
64  vHF->SetCutsD0toKpi(cutsD0toKpi);
65  AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
66  Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
67  cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
68  cutsJpsitoee->AddTrackCuts(esdTrackCuts);
69  vHF->SetCutsJpsitoee(cutsJpsitoee);
70  AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
71  cutsDplustoKpipi->SetStandardCutsPbPb2010();
72  cutsDplustoKpipi->SetUsePID(kFALSE);
73  Float_t cutsArrayDplustoKpipi[14]={0.25,0.3,0.3,0.,0.,0.01,0.06,0.05,1.,0.85,0.,10000000000.,0.,0.};
74  cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
75  cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
76  cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
77  cutsDplustoKpipi->SetMinPtCandidate(3.);
78  vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
79  AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
80  cutsDstoKKpi->SetStandardCutsPbPb2010();
81  cutsDstoKKpi->SetUsePID(kFALSE);
82  Float_t cutsArrayDstoKKpi[20]={0.2,0.4,0.4,0.,0.,0.005,0.045,0.,0.,0.9,0.,100000.,0.035,0.05,-1.,1.,0.,0.,0.,-1.};
83  cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
84  cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
85  cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
86  cutsDstoKKpi->SetMinPtCandidate(3.);
87  vHF->SetCutsDstoKKpi(cutsDstoKKpi);
88  AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
89  cutsLctopKpi->SetStandardCutsPbPb2010();
90  cutsLctopKpi->SetUsePID(kFALSE);
91  Float_t cutsArrayLctopKpi[13]={0.13,0.9,1.,0.,0.,0.01,0.04,0.006,1.,0.5,0.,0.05,0.4};
92  cutsLctopKpi->SetPtBins(nptbins,ptlimits);
93  cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
94  cutsLctopKpi->AddTrackCuts(esdTrackCuts);
95  cutsLctopKpi->SetMinPtCandidate(4.);
96  vHF->SetCutsLctopKpi(cutsLctopKpi);
97  AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
98  Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
99  cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
100  cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
101  vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
102 
103 
104  // D* pt dependent cuts ------------------------------------------
105 
106  AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
107  cutsDStartoKpipi->SetUsePID(kFALSE);
108 
109  const Int_t nvars=16;
110  const Int_t nptbins=2;
111 
112  Float_t* ptbins;
113  ptbins=new Float_t[nptbins+1];
114  ptbins[0]=0.;
115  ptbins[1]=5.;
116  ptbins[2]=999.;
117 
118  cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
119 
120  Float_t** rdcutsvalmine;
121  rdcutsvalmine=new Float_t*[nvars];
122  for(Int_t iv=0;iv<nvars;iv++){
123  rdcutsvalmine[iv]=new Float_t[nptbins];
124  }
125  //0-5
126  rdcutsvalmine[0][0]=0.10; //D0 inv mass window
127  rdcutsvalmine[1][0]=0.06; // dca
128  rdcutsvalmine[2][0]=0.9; // thetastar
129  rdcutsvalmine[3][0]=0.5; // pt Pion
130  rdcutsvalmine[4][0]=0.5; // Pt Kaon
131  rdcutsvalmine[5][0]=0.1; // d0K
132  rdcutsvalmine[6][0]=0.1; // d0Pi
133  rdcutsvalmine[7][0]=0.0001; // d0xd0
134  rdcutsvalmine[8][0]=0.8; // costhetapoint
135  rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
136  rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
137  rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
138  rdcutsvalmine[12][0]=100.; // Pt max of pi soft
139  rdcutsvalmine[13][0]=9999.; // theta
140  rdcutsvalmine[14][0]=0.9; // |cosThetaPointXY|
141  rdcutsvalmine[15][0]=1.; // NormDecayLenghtXY
142  //5-999
143  rdcutsvalmine[0][1]=0.10; //D0 inv mass window
144  rdcutsvalmine[1][1]=0.06; // dca
145  rdcutsvalmine[2][1]=0.9; // thetastar
146  rdcutsvalmine[3][1]=0.5; // pt Pion
147  rdcutsvalmine[4][1]=0.5; // Pt Kaon
148  rdcutsvalmine[5][1]=0.1; // d0K
149  rdcutsvalmine[6][1]=0.1; // d0Pi
150  rdcutsvalmine[7][1]=0.0001; // d0xd0
151  rdcutsvalmine[8][1]=0.7; // costhetapoint
152  rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
153  rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
154  rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
155  rdcutsvalmine[12][1]=100.; // Pt max of pi soft
156  rdcutsvalmine[13][1]=9999.; // theta
157  rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
158  rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
159 
160  cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
161 
162  cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
163  cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
164  cutsDStartoKpipi->SetMinPtCandidate(2.);
165  vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
166 
167  //--------------------------------------------------------
168 
169  AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
170  Float_t cutsArrayLctoV0[21]={1.0,1.0,0.05,0.05,0.0,0.0,0.0,1000.,1000.,0.99,3.,1000.,0.,0.,0.,0.,9999.,-9999.,-9999.,-9999.,0.0};
171  cutsLctoV0->SetCuts(21,cutsArrayLctoV0);
172  cutsLctoV0->AddTrackCuts(esdTrackCuts);
173  AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
174  esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
175  esdV0daughterTrackCuts->SetMinNClustersTPC(30);
176  esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
177  esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
178  esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
179  esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
180  esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
181  esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
182  cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
183  vHF->SetCutsLctoV0(cutsLctoV0);
184  //
185  //--- set this if you want to reconstruct primary vertex candidate by
186  // candidate using other tracks in the event (for pp, broad
187  // interaction region)
188  //vHF->SetRecoPrimVtxSkippingTrks();
189  //--- OR set this if you want to remove the candidate daughters from
190  // the primary vertex, without recostructing it from scratch
191  //vHF->SetRmTrksFromPrimVtx();
192 
193  //--- check the settings
194  vHF->PrintStatus();
195  //--- verbose
196  // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
197 
198 
199  return vHF;
200 }
201 
202 
virtual void SetStandardCutsPbPb2010()
Definition: AliRDHFCuts.h:48
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:62
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:364
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 SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:210
AliAnalysisVertexingHF * ConfigVertexingHF()
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:208
void SetMinPtCandidate(Double_t ptCand=-1.)
Definition: AliRDHFCuts.h:221
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:198
virtual void SetStandardCutsPbPb2010()
Int_t nptbins