]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/ConfigVertexingHF_highmult.C
consolidate zero-length arrays (aka struct hack)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / ConfigVertexingHF_highmult.C
CommitLineData
289fa632 1AliAnalysisVertexingHF* ConfigVertexingHF() {
2f1e74b9 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();
484e74f5 8 vHF->SetJPSItoEleOff();
9 //vHF->Set3ProngOff();
a0f51fc6 10 vHF->SetLikeSignOn(); // like-sign pairs and triplets
6f32471f 11 // vHF->SetLikeSign3prongOff();
2f1e74b9 12 vHF->Set4ProngOff();
61313538 13 //vHF->SetDstarOff();
2f1e74b9 14 vHF->SetFindVertexForDstar(kFALSE);
15 //--- secondary vertex with KF?
16 //vHF->SetSecVtxWithKF();
484e74f5 17 vHF->SetCascadesOff();
a07ad8e0 18 vHF->SetFindVertexForCascades(kFALSE);
e0732246 19 vHF->SetMassCutBeforeVertexing(kTRUE); // PbPb
34595b3c 20 vHF->SetV0TypeForCascadeVertex(AliRDHFCuts::kAllV0s);
2f1e74b9 21
22 //--- set cuts for single-track selection
23 // displaced tracks
24 AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts","default");
25 esdTrackCuts->SetRequireTPCRefit(kTRUE);
f493fe7b 26 esdTrackCuts->SetMinNClustersTPC(50);
2f1e74b9 27 esdTrackCuts->SetRequireITSRefit(kTRUE);
484e74f5 28 //esdTrackCuts->SetMinNClustersITS(4);
2f1e74b9 29 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
a9b75906 30 AliESDtrackCuts::kAny);
1616ff38 31 // |d0|>75 micron for pt<2GeV, no cut above 2
6965b459 32 esdTrackCuts->SetMinDCAToVertexXYPtDep("0.0075*TMath::Max(0.,(1-TMath::Floor(TMath::Abs(pt)/2.)))");
e0732246 33 esdTrackCuts->SetMaxDCAToVertexXY(1.);
34 esdTrackCuts->SetMaxDCAToVertexZ(1.);
1616ff38 35 esdTrackCuts->SetPtRange(0.7,1.e10);
e06be5c8 36 esdTrackCuts->SetEtaRange(-0.8,+0.8);
2f1e74b9 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");
aaa9b040 42 esdTrackCutsSoftPi->SetMinNClustersITS(4);
e0732246 43 esdTrackCutsSoftPi->SetMaxDCAToVertexXY(1.);
44 esdTrackCutsSoftPi->SetMaxDCAToVertexZ(1.);
85a93b90 45 esdTrackCutsSoftPi->SetPtRange(0.2,1.e10);
e06be5c8 46 esdTrackCutsSoftPi->SetEtaRange(-0.8,+0.8);
2f1e74b9 47 AliAnalysisFilter *trkFilterSoftPi = new AliAnalysisFilter("trackFilterSoftPi");
48 trkFilterSoftPi->AddCuts(esdTrackCutsSoftPi);
49 vHF->SetTrackFilterSoftPi(trkFilterSoftPi);
50 //--- set cuts for candidates selection
8de02e31 51 Int_t nptbins=2; Float_t ptlimits[2]={0.,1000000.};
a9b75906 52 AliRDHFCutsD0toKpi *cutsD0toKpi = new AliRDHFCutsD0toKpi("CutsD0toKpi");
939850df 53 cutsD0toKpi->SetStandardCutsPbPb2010();
1616ff38 54 cutsD0toKpi->SetMinPtCandidate(0.);
939850df 55 cutsD0toKpi->SetUsePID(kFALSE);
0395d6cb 56 cutsD0toKpi->SetUsePhysicsSelection(kFALSE);
ed7ec7f7 57 cutsD0toKpi->SetMaxVtxZ(1.e6);
777c8d86 58 cutsD0toKpi->SetTriggerClass("");
3cae9332 59 Float_t cutsArrayD0toKpi[11]={0.4,999999.,1.1,0.,0.,999999.,999999.,0.,0.5,-1,0.};
8de02e31 60 cutsD0toKpi->SetPtBins(nptbins,ptlimits);
29068278 61 cutsD0toKpi->SetCuts(11,cutsArrayD0toKpi);
e3d40058 62 cutsD0toKpi->AddTrackCuts(esdTrackCuts);
63 vHF->SetCutsD0toKpi(cutsD0toKpi);
a9b75906 64 AliRDHFCutsJpsitoee *cutsJpsitoee = new AliRDHFCutsJpsitoee("CutsJpsitoee");
65 Float_t cutsArrayJpsitoee[9]={0.350,100000.,1.1,0.,0.,100000.,100000.,100000000.,-1.1};
e3d40058 66 cutsJpsitoee->SetCuts(9,cutsArrayJpsitoee);
67 cutsJpsitoee->AddTrackCuts(esdTrackCuts);
68 vHF->SetCutsJpsitoee(cutsJpsitoee);
a9b75906 69 AliRDHFCutsDplustoKpipi *cutsDplustoKpipi = new AliRDHFCutsDplustoKpipi("CutsDplustoKpipi");
939850df 70 cutsDplustoKpipi->SetStandardCutsPbPb2010();
71 cutsDplustoKpipi->SetUsePID(kFALSE);
3cae9332 72 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.};
8de02e31 73 cutsDplustoKpipi->SetPtBins(nptbins,ptlimits);
5754362c 74 cutsDplustoKpipi->SetCuts(14,cutsArrayDplustoKpipi);
e3d40058 75 cutsDplustoKpipi->AddTrackCuts(esdTrackCuts);
6965b459 76 cutsDplustoKpipi->SetMinPtCandidate(3.);
e3d40058 77 vHF->SetCutsDplustoKpipi(cutsDplustoKpipi);
a9b75906 78 AliRDHFCutsDstoKKpi *cutsDstoKKpi = new AliRDHFCutsDstoKKpi("CutsDstoKKpi");
939850df 79 cutsDstoKKpi->SetStandardCutsPbPb2010();
80 cutsDstoKKpi->SetUsePID(kFALSE);
ac8cab2d 81 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.};
8de02e31 82 cutsDstoKKpi->SetPtBins(nptbins,ptlimits);
ac8cab2d 83 cutsDstoKKpi->SetCuts(20,cutsArrayDstoKKpi);
e3d40058 84 cutsDstoKKpi->AddTrackCuts(esdTrackCuts);
ac8cab2d 85 cutsDstoKKpi->SetMinPtCandidate(3.);
e3d40058 86 vHF->SetCutsDstoKKpi(cutsDstoKKpi);
a9b75906 87 AliRDHFCutsLctopKpi *cutsLctopKpi = new AliRDHFCutsLctopKpi("CutsLctopKpi");
939850df 88 cutsLctopKpi->SetStandardCutsPbPb2010();
89 cutsLctopKpi->SetUsePID(kFALSE);
d6055c25 90 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};
8de02e31 91 cutsLctopKpi->SetPtBins(nptbins,ptlimits);
d6055c25 92 cutsLctopKpi->SetCuts(13,cutsArrayLctopKpi);
e3d40058 93 cutsLctopKpi->AddTrackCuts(esdTrackCuts);
6965b459 94 cutsLctopKpi->SetMinPtCandidate(4.);
e3d40058 95 vHF->SetCutsLctopKpi(cutsLctopKpi);
a9b75906 96 AliRDHFCutsD0toKpipipi *cutsD0toKpipipi = new AliRDHFCutsD0toKpipipi("CutsD0toKpipipi");
e3d40058 97 Float_t cutsArrayD0toKpipipi[9]={0.2,0.04,0.00,0.01,0.02,0.8,0.,0.1,0.};
98 cutsD0toKpipipi->SetCuts(9,cutsArrayD0toKpipipi);
99 cutsD0toKpipipi->AddTrackCuts(esdTrackCuts);
100 vHF->SetCutsD0toKpipipi(cutsD0toKpipipi);
abe53e01 101
102
103 // D* pt dependent cuts ------------------------------------------
104
105 AliRDHFCutsDStartoKpipi *cutsDStartoKpipi = new AliRDHFCutsDStartoKpipi("CutsDStartoKpipi");
8003523d 106 cutsDStartoKpipi->SetUsePID(kFALSE);
abe53e01 107
c8cd526d 108 const Int_t nvars=16;
abe53e01 109 const Int_t nptbins=2;
110
111 Float_t* ptbins;
112 ptbins=new Float_t[nptbins+1];
113 ptbins[0]=0.;
8003523d 114 ptbins[1]=5.;
abe53e01 115 ptbins[2]=999.;
116
117 cutsDStartoKpipi->SetPtBins(nptbins+1,ptbins);
118
119 Float_t** rdcutsvalmine;
120 rdcutsvalmine=new Float_t*[nvars];
121 for(Int_t iv=0;iv<nvars;iv++){
122 rdcutsvalmine[iv]=new Float_t[nptbins];
123 }
8003523d 124 //0-5
125 rdcutsvalmine[0][0]=0.10; //D0 inv mass window
126 rdcutsvalmine[1][0]=0.06; // dca
127 rdcutsvalmine[2][0]=0.9; // thetastar
128 rdcutsvalmine[3][0]=0.5; // pt Pion
129 rdcutsvalmine[4][0]=0.5; // Pt Kaon
130 rdcutsvalmine[5][0]=0.1; // d0K
131 rdcutsvalmine[6][0]=0.1; // d0Pi
132 rdcutsvalmine[7][0]=0.0001; // d0xd0
133 rdcutsvalmine[8][0]=0.8; // costhetapoint
134 rdcutsvalmine[9][0]=0.15; // Dstar inv mass window
135 rdcutsvalmine[10][0]=0.03; // half width of (M_Kpipi-M_D0)
136 rdcutsvalmine[11][0]=0.1; // Pt min of Pi soft
137 rdcutsvalmine[12][0]=100.; // Pt max of pi soft
138 rdcutsvalmine[13][0]=9999.; // theta
139 rdcutsvalmine[14][0]=0.9; // |cosThetaPointXY|
140 rdcutsvalmine[15][0]=1.; // NormDecayLenghtXY
141 //5-999
142 rdcutsvalmine[0][1]=0.10; //D0 inv mass window
143 rdcutsvalmine[1][1]=0.06; // dca
144 rdcutsvalmine[2][1]=0.9; // thetastar
145 rdcutsvalmine[3][1]=0.5; // pt Pion
146 rdcutsvalmine[4][1]=0.5; // Pt Kaon
147 rdcutsvalmine[5][1]=0.1; // d0K
148 rdcutsvalmine[6][1]=0.1; // d0Pi
149 rdcutsvalmine[7][1]=0.0001; // d0xd0
150 rdcutsvalmine[8][1]=0.7; // costhetapoint
151 rdcutsvalmine[9][1]=0.15; // Dstar inv mass window
152 rdcutsvalmine[10][1]=0.03; // half width of (M_Kpipi-M_D0)
153 rdcutsvalmine[11][1]=0.1; // Pt min of Pi soft
154 rdcutsvalmine[12][1]=100.; // Pt max of pi soft
155 rdcutsvalmine[13][1]=9999.; // theta
156 rdcutsvalmine[14][1]=0.8; // |cosThetaPointXY|
157 rdcutsvalmine[15][1]=0.; // NormDecayLenghtXY
abe53e01 158
159 cutsDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
160
484e74f5 161 cutsDStartoKpipi->AddTrackCuts(esdTrackCuts);
162 cutsDStartoKpipi->AddTrackCutsSoftPi(esdTrackCutsSoftPi);
8003523d 163 cutsDStartoKpipi->SetMinPtCandidate(2.);
484e74f5 164 vHF->SetCutsDStartoKpipi(cutsDStartoKpipi);
abe53e01 165
166 //--------------------------------------------------------
167
a07ad8e0 168 AliRDHFCutsLctoV0 *cutsLctoV0 = new AliRDHFCutsLctoV0("CutsLctoV0");
a578b2da 169 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};
170 cutsLctoV0->SetCuts(17,cutsArrayLctoV0);
a07ad8e0 171 cutsLctoV0->AddTrackCuts(esdTrackCuts);
60b29186 172 AliESDtrackCuts *esdV0daughterTrackCuts = new AliESDtrackCuts("AliESDtrackCutsForV0D","default cuts for V0 daughters");
173 esdV0daughterTrackCuts->SetRequireTPCRefit(kTRUE);
174 esdV0daughterTrackCuts->SetMinNClustersTPC(30);
175 esdV0daughterTrackCuts->SetRequireITSRefit(kFALSE);
176 esdV0daughterTrackCuts->SetMinDCAToVertexXY(0.);
177 esdV0daughterTrackCuts->SetPtRange(0.05,1.e10);
178 esdV0daughterTrackCuts->SetEtaRange(-1.1,+1.1);
179 esdV0daughterTrackCuts->SetAcceptKinkDaughters(kTRUE);
180 esdV0daughterTrackCuts->SetRequireSigmaToVertex(kFALSE);
181 cutsLctoV0->AddTrackCutsV0daughters(esdV0daughterTrackCuts);
a07ad8e0 182 vHF->SetCutsLctoV0(cutsLctoV0);
e3d40058 183 //
2f1e74b9 184 //--- set this if you want to reconstruct primary vertex candidate by
185 // candidate using other tracks in the event (for pp, broad
186 // interaction region)
187 //vHF->SetRecoPrimVtxSkippingTrks();
188 //--- OR set this if you want to remove the candidate daughters from
189 // the primary vertex, without recostructing it from scratch
190 //vHF->SetRmTrksFromPrimVtx();
191
192 //--- check the settings
193 vHF->PrintStatus();
194 //--- verbose
a07ad8e0 195 // AliLog::SetClassDebugLevel("AliAnalysisVertexingHF",2);
2f1e74b9 196
197
198 return vHF;
199}
200
201