]>
Commit | Line | Data |
---|---|---|
ecb13b5b | 1 | #include "AliFemtoManager.h" |
2 | #include "AliFemtoEventReaderESDChain.h" | |
3 | #include "AliFemtoEventReaderESDChainKine.h" | |
4 | #include "AliFemtoSimpleAnalysis.h" | |
5 | #include "AliFemtoBasicEventCut.h" | |
6 | #include "AliFemtoESDTrackCut.h" | |
7 | #include "AliFemtoCutMonitorParticleYPt.h" | |
8 | #include "AliFemtoCutMonitorParticleVertPos.h" | |
9 | #include "AliFemtoCutMonitorParticleMomRes.h" | |
10 | #include "AliFemtoCutMonitorEventMult.h" | |
11 | #include "AliFemtoCutMonitorEventVertex.h" | |
12 | #include "AliFemtoShareQualityTPCEntranceSepPairCut.h" | |
13 | #include "AliFemtoQinvCorrFctn.h" | |
14 | #include "AliFemtoShareQualityCorrFctn.h" | |
15 | #include "AliFemtoTPCInnerCorrFctn.h" | |
16 | #include "AliFemtoVertexMultAnalysis.h" | |
17 | #include "AliFemtoCorrFctn3DSpherical.h" | |
18 | #include "AliFemtoChi2CorrFctn.h" | |
19 | #include "AliFemtoCorrFctnTPCNcls.h" | |
20 | #include "AliFemtoModelBPLCMSCorrFctn.h" | |
21 | #include "AliFemtoModelCorrFctn3DSpherical.h" | |
22 | #include "AliFemtoModelGausLCMSFreezeOutGenerator.h" | |
23 | #include "AliFemtoModelGausRinvFreezeOutGenerator.h" | |
24 | #include "AliFemtoModelManager.h" | |
25 | #include "AliFemtoModelWeightGeneratorBasic.h" | |
26 | #include "AliFemtoModelWeightGeneratorLednicky.h" | |
27 | #include "AliFemtoCorrFctnDirectYlm.h" | |
28 | #include "AliFemtoModelCorrFctnDirectYlm.h" | |
29 | #include "AliFemtoModelCorrFctnSource.h" | |
30 | #include "AliFemtoCutMonitorParticlePtPDG.h" | |
31 | ||
32 | //________________________________________________________________________ | |
33 | AliFemtoManager* ConfigFemtoAnalysis() { | |
34 | ||
35 | double PionMass = 0.13956995; | |
36 | double KaonMass = 0.493677; | |
37 | ||
38 | // AliFemtoEventReaderESDChain* Reader=new AliFemtoEventReaderESDChain(); | |
39 | // Reader->SetConstrained(true); | |
40 | // Reader->SetReadTPCInner(true); | |
41 | AliFemtoEventReaderESDChainKine* Reader=new AliFemtoEventReaderESDChainKine(); | |
42 | Reader->SetConstrained(true); | |
43 | // Reader->SetReadTPCInner(true); | |
44 | Reader->SetUseTPCOnly(false); | |
45 | ||
46 | AliFemtoManager* Manager=new AliFemtoManager(); | |
47 | Manager->SetEventReader(Reader); | |
48 | ||
49 | // *** Begin pion-pion (positive) analysis *** | |
50 | ||
51 | AliFemtoVertexMultAnalysis *anpip = new AliFemtoVertexMultAnalysis(3, -15.6, 15.6, 5, 2, 200); | |
52 | anpip->SetNumEventsToMix(10); | |
53 | anpip->SetMinSizePartCollection(2); | |
54 | ||
55 | AliFemtoBasicEventCut* mecpip = new AliFemtoBasicEventCut(); | |
56 | mecpip->SetEventMult(2,100000); | |
57 | mecpip->SetVertZPos(-1000,1000); | |
58 | ||
59 | AliFemtoESDTrackCut* dtcpip = new AliFemtoESDTrackCut(); | |
60 | dtcpip->SetPidProbPion(0.2,1.001); | |
61 | dtcpip->SetPidProbMuon(0.0,1.0); | |
62 | dtcpip->SetPidProbKaon(0.0,1.0); | |
63 | dtcpip->SetPidProbProton(0.0,1.0); | |
64 | dtcpip->SetCharge(1.0); | |
65 | dtcpip->SetPt(0.15,0.5); | |
66 | dtcpip->SetMass(PionMass); | |
67 | // Track quality cuts | |
68 | // dtcpip->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit); | |
69 | dtcpip->SetStatus(AliESDtrack::kTPCrefit); | |
70 | dtcpip->SetminTPCncls(50); | |
71 | dtcpip->SetRemoveKinks(kTRUE); | |
72 | dtcpip->SetLabel(kFALSE); | |
73 | dtcpip->SetMaxITSChiNdof(2.5); | |
74 | dtcpip->SetMaxTPCChiNdof(3.0); | |
75 | dtcpip->SetMaxImpactXY(3.0); | |
76 | dtcpip->SetMaxImpactZ(3.0); | |
77 | ||
78 | AliFemtoCutMonitorParticleYPt *cutPassYPtpip = new AliFemtoCutMonitorParticleYPt("cutPasspip", 0.13957); | |
79 | AliFemtoCutMonitorParticleYPt *cutFailYPtpip = new AliFemtoCutMonitorParticleYPt("cutFailpip", 0.13957); | |
80 | dtcpip->AddCutMonitor(cutPassYPtpip, cutFailYPtpip); | |
81 | ||
82 | // AliFemtoCutMonitorParticleMomRes *cutPassMR = new AliFemtoCutMonitorParticleMomRes("cutPass"); | |
83 | // AliFemtoCutMonitorParticleMomRes *cutFailMR = new AliFemtoCutMonitorParticleMomRes("cutFail"); | |
84 | // dtcpip->AddCutMonitor(cutPassMR, cutFailMR); | |
85 | ||
86 | // AliFemtoCutMonitorParticleVertPos *cutPassVP = new AliFemtoCutMonitorParticleVertPos("VPcutPass"); | |
87 | // AliFemtoCutMonitorParticleVertPos *cutFailVP = new AliFemtoCutMonitorParticleVertPos("VPcutFail"); | |
88 | // dtcpip->AddCutMonitor(cutPassVP, cutFailVP); | |
89 | ||
90 | AliFemtoCutMonitorEventMult *cutPassEvMpip = new AliFemtoCutMonitorEventMult("cutPasspip"); | |
91 | AliFemtoCutMonitorEventMult *cutFailEvMpip = new AliFemtoCutMonitorEventMult("cutFailpip"); | |
92 | mecpip->AddCutMonitor(cutPassEvMpip, cutFailEvMpip); | |
93 | ||
94 | AliFemtoCutMonitorEventVertex *cutPassEvVpip = new AliFemtoCutMonitorEventVertex("cutPasspip"); | |
95 | AliFemtoCutMonitorEventVertex *cutFailEvVpip = new AliFemtoCutMonitorEventVertex("cutFailpip"); | |
96 | mecpip->AddCutMonitor(cutPassEvVpip, cutFailEvVpip); | |
97 | ||
98 | AliFemtoShareQualityTPCEntranceSepPairCut *sqpcpip = new AliFemtoShareQualityTPCEntranceSepPairCut(); | |
99 | sqpcpip->SetShareQualityMax(0.0); | |
100 | sqpcpip->SetShareFractionMax(0.02); | |
101 | sqpcpip->SetRemoveSameLabel(kFALSE); | |
102 | sqpcpip->SetTPCEntranceSepMinimum(2.0); | |
103 | ||
104 | anpip->SetEventCut(mecpip); | |
105 | anpip->SetFirstParticleCut(dtcpip); | |
106 | anpip->SetSecondParticleCut(dtcpip); | |
107 | anpip->SetPairCut(sqpcpip); | |
108 | ||
109 | AliFemtoQinvCorrFctn *cqinvpip= new AliFemtoQinvCorrFctn("qinvcfpip", 100,0.0,1.0); | |
110 | AliFemtoCorrFctn3DSpherical *cqsphpip = new AliFemtoCorrFctn3DSpherical("cqsphpip",60,0.0,0.3, 12, 12); | |
111 | ||
112 | AliFemtoShareQualityCorrFctn *csqqinvpip= new AliFemtoShareQualityCorrFctn("sqqinvcfpip",40,0.0,0.4); | |
113 | AliFemtoCorrFctnDirectYlm *cylmpip = new AliFemtoCorrFctnDirectYlm("cylmpip",2,60,0.0,0.3); | |
114 | ||
115 | AliFemtoChi2CorrFctn *cchiqinvpip= new AliFemtoChi2CorrFctn("chicfpip",40,0.0,0.4); | |
116 | AliFemtoCorrFctnTPCNcls *cqtpcnclspip = new AliFemtoCorrFctnTPCNcls("cqtpcnclspip",40,0.0,0.4); | |
117 | ||
118 | AliFemtoModelBPLCMSCorrFctn *c3dsmallpip; | |
119 | AliFemtoModelCorrFctn *c1dpipip; | |
120 | AliFemtoModelCorrFctn3DSpherical *c3dmsphpip; | |
121 | ||
122 | // Setting up the model calculation | |
123 | // First create the freeze-out generator | |
124 | AliFemtoModelGausLCMSFreezeOutGenerator *tFreezepip = new AliFemtoModelGausLCMSFreezeOutGenerator(); | |
125 | tFreezepip->SetSizeOut(1.8*TMath::Sqrt(2.0)); | |
126 | tFreezepip->SetSizeSide(1.3*TMath::Sqrt(2.0)); | |
127 | tFreezepip->SetSizeLong(1.6*TMath::Sqrt(2.0)); | |
128 | ||
129 | // And the weight generator | |
130 | AliFemtoModelWeightGeneratorBasic *tWeightpip = new AliFemtoModelWeightGeneratorBasic(); | |
131 | tWeightpip->SetPairType(AliFemtoModelWeightGenerator::PionPlusPionPlus()); | |
132 | ||
133 | // Create a manager that will connect it | |
134 | AliFemtoModelManager *tModelManagerpip = new AliFemtoModelManager(); | |
135 | tModelManagerpip->AcceptFreezeOutGenerator(tFreezepip); | |
136 | tModelManagerpip->AcceptWeightGenerator(tWeightpip); | |
137 | tModelManagerpip->CreateCopyHiddenInfo(kFALSE); | |
138 | ||
139 | c3dsmallpip = new AliFemtoModelBPLCMSCorrFctn("c3dsmallpip",30, 0.0, 0.3); | |
140 | c3dsmallpip->ConnectToManager(tModelManagerpip); | |
141 | ||
142 | c1dpipip = new AliFemtoModelCorrFctn("c1dpipip",100,0.0,1.0); | |
143 | c1dpipip->ConnectToManager(tModelManagerpip); | |
144 | ||
145 | c3dmsphpip = new AliFemtoModelCorrFctn3DSpherical("c3dmsphpip",60, 0.0, 0.3, 12,12); | |
146 | c3dmsphpip->ConnectToManager(tModelManagerpip); | |
147 | ||
148 | AliFemtoModelCorrFctnDirectYlm *cmylmpip = new AliFemtoModelCorrFctnDirectYlm("mcylmpip",2,60,0.0,0.3); | |
149 | cmylmpip->ConnectToManager(tModelManagerpip); | |
150 | ||
151 | //### | |
152 | anpip->AddCorrFctn(cqinvpip); | |
153 | anpip->AddCorrFctn(cqsphpip); | |
154 | anpip->AddCorrFctn(cylmpip); | |
155 | ||
156 | anpip->AddCorrFctn(csqqinvpip); | |
157 | anpip->AddCorrFctn(cchiqinvpip); | |
158 | anpip->AddCorrFctn(cqtpcnclspip); | |
159 | anpip->AddCorrFctn(c3dsmallpip); | |
160 | anpip->AddCorrFctn(c1dpipip); | |
161 | anpip->AddCorrFctn(c3dmsphpip); | |
162 | anpip->AddCorrFctn(cmylmpip); | |
163 | ||
164 | Manager->AddAnalysis(anpip); | |
165 | ||
166 | // *** End pion-pion (positive) analysis | |
167 | ||
168 | // *** Begin pion-pion (negative) analysis *** | |
169 | ||
170 | AliFemtoVertexMultAnalysis *anpim = new AliFemtoVertexMultAnalysis(3, -15.6, 15.6, 5, 2, 200); | |
171 | anpim->SetNumEventsToMix(10); | |
172 | anpim->SetMinSizePartCollection(2); | |
173 | ||
174 | AliFemtoBasicEventCut* mecpim = new AliFemtoBasicEventCut(); | |
175 | mecpim->SetEventMult(2,100000); | |
176 | mecpim->SetVertZPos(-1000,1000); | |
177 | ||
178 | AliFemtoESDTrackCut* dtcpim = new AliFemtoESDTrackCut(); | |
179 | dtcpim->SetPidProbPion(0.2,1.001); | |
180 | dtcpim->SetPidProbMuon(0.0,1.0); | |
181 | dtcpim->SetPidProbKaon(0.0,1.0); | |
182 | dtcpim->SetPidProbProton(0.0,1.0); | |
183 | dtcpim->SetCharge(-1.0); | |
184 | dtcpim->SetPt(0.15,0.5); | |
185 | dtcpim->SetMass(PionMass); | |
186 | // Track quality cuts | |
187 | // dtcpim->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit); | |
188 | dtcpim->SetStatus(AliESDtrack::kTPCrefit); | |
189 | dtcpim->SetminTPCncls(50); | |
190 | dtcpim->SetRemoveKinks(kTRUE); | |
191 | dtcpim->SetLabel(kFALSE); | |
192 | dtcpim->SetMaxITSChiNdof(2.5); | |
193 | dtcpim->SetMaxTPCChiNdof(3.0); | |
194 | dtcpim->SetMaxImpactXY(3.0); | |
195 | dtcpim->SetMaxImpactZ(3.0); | |
196 | ||
197 | AliFemtoCutMonitorParticleYPt *cutPassYPtpim = new AliFemtoCutMonitorParticleYPt("cutPasspim", 0.13957); | |
198 | AliFemtoCutMonitorParticleYPt *cutFailYPtpim = new AliFemtoCutMonitorParticleYPt("cutFailpim", 0.13957); | |
199 | dtcpim->AddCutMonitor(cutPassYPtpim, cutFailYPtpim); | |
200 | ||
201 | // AliFemtoCutMonitorParticleMomRes *cutPassMR = new AliFemtoCutMonitorParticleMomRes("cutPass"); | |
202 | // AliFemtoCutMonitorParticleMomRes *cutFailMR = new AliFemtoCutMonitorParticleMomRes("cutFail"); | |
203 | // dtcpim->AddCutMonitor(cutPassMR, cutFailMR); | |
204 | ||
205 | // AliFemtoCutMonitorParticleVertPos *cutPassVP = new AliFemtoCutMonitorParticleVertPos("VPcutPass"); | |
206 | // AliFemtoCutMonitorParticleVertPos *cutFailVP = new AliFemtoCutMonitorParticleVertPos("VPcutFail"); | |
207 | // dtcpim->AddCutMonitor(cutPassVP, cutFailVP); | |
208 | ||
209 | AliFemtoCutMonitorEventMult *cutPassEvMpim = new AliFemtoCutMonitorEventMult("cutPasspim"); | |
210 | AliFemtoCutMonitorEventMult *cutFailEvMpim = new AliFemtoCutMonitorEventMult("cutFailpim"); | |
211 | mecpim->AddCutMonitor(cutPassEvMpim, cutFailEvMpim); | |
212 | ||
213 | AliFemtoCutMonitorEventVertex *cutPassEvVpim = new AliFemtoCutMonitorEventVertex("cutPasspim"); | |
214 | AliFemtoCutMonitorEventVertex *cutFailEvVpim = new AliFemtoCutMonitorEventVertex("cutFailpim"); | |
215 | mecpim->AddCutMonitor(cutPassEvVpim, cutFailEvVpim); | |
216 | ||
217 | AliFemtoShareQualityTPCEntranceSepPairCut *sqpcpim = new AliFemtoShareQualityTPCEntranceSepPairCut(); | |
218 | sqpcpim->SetShareQualityMax(0.0); | |
219 | sqpcpim->SetShareFractionMax(0.02); | |
220 | sqpcpim->SetRemoveSameLabel(kFALSE); | |
221 | sqpcpim->SetTPCEntranceSepMinimum(2.0); | |
222 | ||
223 | anpim->SetEventCut(mecpim); | |
224 | anpim->SetFirstParticleCut(dtcpim); | |
225 | anpim->SetSecondParticleCut(dtcpim); | |
226 | anpim->SetPairCut(sqpcpim); | |
227 | ||
228 | AliFemtoQinvCorrFctn *cqinvpim= new AliFemtoQinvCorrFctn("qinvcfpim", 100,0.0,1.0); | |
229 | AliFemtoCorrFctn3DSpherical *cqsphpim = new AliFemtoCorrFctn3DSpherical("cqsphpim",60,0.0,0.3, 12, 12); | |
230 | ||
231 | AliFemtoShareQualityCorrFctn *csqqinvpim= new AliFemtoShareQualityCorrFctn("sqqinvcfpim",40,0.0,0.4); | |
232 | AliFemtoCorrFctnDirectYlm *cylmpim = new AliFemtoCorrFctnDirectYlm("cylmpim",2,60,0.0,0.3); | |
233 | ||
234 | AliFemtoChi2CorrFctn *cchiqinvpim= new AliFemtoChi2CorrFctn("chicfpim",40,0.0,0.4); | |
235 | AliFemtoCorrFctnTPCNcls *cqtpcnclspim = new AliFemtoCorrFctnTPCNcls("cqtpcnclspim",40,0.0,0.4); | |
236 | ||
237 | AliFemtoModelBPLCMSCorrFctn *c3dsmallpim; | |
238 | AliFemtoModelCorrFctn *c1dpipim; | |
239 | AliFemtoModelCorrFctn3DSpherical *c3dmsphpim; | |
240 | ||
241 | // Setting up the model calculation | |
242 | // First create the freeze-out generator | |
243 | AliFemtoModelGausLCMSFreezeOutGenerator *tFreezepim = new AliFemtoModelGausLCMSFreezeOutGenerator(); | |
244 | tFreezepim->SetSizeOut(1.8*TMath::Sqrt(2.0)); | |
245 | tFreezepim->SetSizeSide(1.3*TMath::Sqrt(2.0)); | |
246 | tFreezepim->SetSizeLong(1.6*TMath::Sqrt(2.0)); | |
247 | ||
248 | // And the weight generator | |
249 | AliFemtoModelWeightGeneratorBasic *tWeightpim = new AliFemtoModelWeightGeneratorBasic(); | |
250 | tWeightpim->SetPairType(AliFemtoModelWeightGenerator::PionPlusPionPlus()); | |
251 | ||
252 | // Create a manager that will connect it | |
253 | AliFemtoModelManager *tModelManagerpim = new AliFemtoModelManager(); | |
254 | tModelManagerpim->AcceptFreezeOutGenerator(tFreezepim); | |
255 | tModelManagerpim->AcceptWeightGenerator(tWeightpim); | |
256 | tModelManagerpim->CreateCopyHiddenInfo(kFALSE); | |
257 | ||
258 | c3dsmallpim = new AliFemtoModelBPLCMSCorrFctn("c3dsmallpim",30, 0.0, 0.3); | |
259 | c3dsmallpim->ConnectToManager(tModelManagerpim); | |
260 | ||
261 | c1dpipim = new AliFemtoModelCorrFctn("c1dpipim",100,0.0,1.0); | |
262 | c1dpipim->ConnectToManager(tModelManagerpim); | |
263 | ||
264 | c3dmsphpim = new AliFemtoModelCorrFctn3DSpherical("c3dmsphpim",60, 0.0, 0.3, 12,12); | |
265 | c3dmsphpim->ConnectToManager(tModelManagerpim); | |
266 | ||
267 | AliFemtoModelCorrFctnDirectYlm *cmylmpim = new AliFemtoModelCorrFctnDirectYlm("mcylmpim",2,60,0.0,0.3); | |
268 | cmylmpim->ConnectToManager(tModelManagerpim); | |
269 | ||
270 | //### | |
271 | anpim->AddCorrFctn(cqinvpim); | |
272 | anpim->AddCorrFctn(cqsphpim); | |
273 | anpim->AddCorrFctn(cylmpim); | |
274 | ||
275 | anpim->AddCorrFctn(csqqinvpim); | |
276 | anpim->AddCorrFctn(cchiqinvpim); | |
277 | anpim->AddCorrFctn(cqtpcnclspim); | |
278 | anpim->AddCorrFctn(c3dsmallpim); | |
279 | anpim->AddCorrFctn(c1dpipim); | |
280 | anpim->AddCorrFctn(c3dmsphpim); | |
281 | anpim->AddCorrFctn(cmylmpim); | |
282 | ||
283 | Manager->AddAnalysis(anpim); | |
284 | ||
285 | // *** End pion-pion (negative) analysis | |
286 | ||
287 | // *** Begin Kaon-Kaon (positive) analysis | |
288 | AliFemtoVertexMultAnalysis *ankp = new AliFemtoVertexMultAnalysis(18, -15.6, 15.6, 1, 2, 20000); | |
289 | ankp->SetNumEventsToMix(5); | |
290 | ankp->SetMinSizePartCollection(2); | |
291 | ||
292 | AliFemtoBasicEventCut* meckp = new AliFemtoBasicEventCut(); | |
293 | meckp->SetEventMult(1,100000); | |
294 | meckp->SetVertZPos(-1000,1000); | |
295 | ||
296 | AliFemtoESDTrackCut* dtckp = new AliFemtoESDTrackCut(); | |
297 | dtckp->SetPidProbKaon(0.7,1.001); | |
298 | dtckp->SetPidProbMuon(0.0,0.5); | |
299 | dtckp->SetPidProbPion(0.0,0.5); | |
300 | dtckp->SetPidProbProton(0.0,0.5); | |
301 | dtckp->SetCharge(1.0); | |
302 | dtckp->SetMostProbableKaon(); | |
303 | dtckp->SetPt(0.15,2.0); | |
304 | dtckp->SetMass(KaonMass); | |
305 | // Track quality cuts | |
306 | // dtckp->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit); | |
307 | dtckp->SetStatus(AliESDtrack::kTPCrefit); | |
308 | // dtckp->SetminTPCclsF(95); | |
309 | dtckp->SetminTPCncls(50); | |
310 | dtckp->SetRemoveKinks(kTRUE); | |
311 | dtckp->SetLabel(kFALSE); | |
312 | dtckp->SetMaxITSChiNdof(2.5); | |
313 | dtckp->SetMaxTPCChiNdof(3.0); | |
314 | dtckp->SetMaxSigmaToVertex(3.0); | |
315 | ||
316 | AliFemtoCutMonitorParticleYPt *cutPassYPtkp = new AliFemtoCutMonitorParticleYPt("cutPasskp", 0.493677); | |
317 | AliFemtoCutMonitorParticleYPt *cutFailYPtkp = new AliFemtoCutMonitorParticleYPt("cutFailkp", 0.493677); | |
318 | dtckp->AddCutMonitor(cutPassYPtkp, cutFailYPtkp); | |
319 | ||
320 | AliFemtoCutMonitorParticlePtPDG *cutPassPidkp = new AliFemtoCutMonitorParticlePtPDG("cutPasskp", 0.493677); | |
321 | AliFemtoCutMonitorParticlePtPDG *cutFailPidkp = new AliFemtoCutMonitorParticlePtPDG("cutFailkp", 0.493677); | |
322 | dtckp->AddCutMonitor(cutPassPidkp, cutFailPidkp); | |
323 | ||
324 | AliFemtoCutMonitorParticleMomRes *cutPassMRkp = new AliFemtoCutMonitorParticleMomRes("cutPasskp"); | |
325 | AliFemtoCutMonitorParticleMomRes *cutFailMRkp = new AliFemtoCutMonitorParticleMomRes("cutFailkp"); | |
326 | dtckp->AddCutMonitor(cutPassMRkp, cutFailMRkp); | |
327 | ||
328 | AliFemtoCutMonitorParticleVertPos *cutPassVPkp = new AliFemtoCutMonitorParticleVertPos("cutPasskp"); | |
329 | AliFemtoCutMonitorParticleVertPos *cutFailVPkp = new AliFemtoCutMonitorParticleVertPos("cutFailkp"); | |
330 | dtckp->AddCutMonitor(cutPassVPkp, cutFailVPkp); | |
331 | ||
332 | AliFemtoCutMonitorEventMult *cutPassEvMkp = new AliFemtoCutMonitorEventMult("cutPasskp"); | |
333 | AliFemtoCutMonitorEventMult *cutFailEvMkp = new AliFemtoCutMonitorEventMult("cutFailkp"); | |
334 | meckp->AddCutMonitor(cutPassEvMkp, cutFailEvMkp); | |
335 | ||
336 | AliFemtoCutMonitorEventVertex *cutPassEvVkp = new AliFemtoCutMonitorEventVertex("cutPasskp"); | |
337 | AliFemtoCutMonitorEventVertex *cutFailEvVkp = new AliFemtoCutMonitorEventVertex("cutFailkp"); | |
338 | meckp->AddCutMonitor(cutPassEvVkp, cutFailEvVkp); | |
339 | ||
340 | AliFemtoShareQualityTPCEntranceSepPairCut *sqpckp = new AliFemtoShareQualityTPCEntranceSepPairCut(); | |
341 | sqpckp->SetShareQualityMax(0.0); | |
342 | sqpckp->SetShareFractionMax(0.02); | |
343 | sqpckp->SetRemoveSameLabel(kFALSE); | |
344 | sqpckp->SetTPCEntranceSepMinimum(3.0); | |
345 | ||
346 | ankp->SetEventCut(meckp); | |
347 | ankp->SetFirstParticleCut(dtckp); | |
348 | ankp->SetSecondParticleCut(dtckp); | |
349 | ankp->SetPairCut(sqpckp); | |
350 | ||
351 | AliFemtoQinvCorrFctn *cqinvkp= new AliFemtoQinvCorrFctn("qinvcf",100,0.0,1.0); | |
352 | ||
353 | AliFemtoModelBPLCMSCorrFctn *c3dsmallkp; | |
354 | AliFemtoModelCorrFctn *c1dpikp; | |
355 | ||
356 | // Setting up the model calculation | |
357 | // First create the freeze-out generator | |
358 | AliFemtoModelGausRinvFreezeOutGenerator *tFreezekp = new AliFemtoModelGausRinvFreezeOutGenerator(); | |
359 | tFreezekp->SetSizeInv(1.8*TMath::Sqrt(2.0)); | |
360 | tFreezekp->SetSelectPrimaryFromHidden(false); | |
361 | ||
362 | // And the weight generator | |
363 | AliFemtoModelWeightGeneratorBasic *tWeightkp = new AliFemtoModelWeightGeneratorBasic(); | |
364 | tWeightkp->SetPairType(AliFemtoModelWeightGenerator::KaonPlusKaonPlus()); | |
365 | ||
366 | // Create a manager that will connect it | |
367 | AliFemtoModelManager *tModelManagerkp = new AliFemtoModelManager(); | |
368 | tModelManagerkp->AcceptFreezeOutGenerator(tFreezekp); | |
369 | tModelManagerkp->AcceptWeightGenerator(tWeightkp); | |
370 | tModelManagerkp->CreateCopyHiddenInfo(kFALSE); | |
371 | ||
372 | c3dsmallkp = new AliFemtoModelBPLCMSCorrFctn("c3dsmallkp",30, 0.0, 0.6); | |
373 | c3dsmallkp->ConnectToManager(tModelManagerkp); | |
374 | ||
375 | c1dpikp = new AliFemtoModelCorrFctn("c1dpikp",100,0.0,1.0); | |
376 | c1dpikp->ConnectToManager(tModelManagerkp); | |
377 | ||
378 | //### | |
379 | ankp->AddCorrFctn(cqinvkp); | |
380 | ||
381 | ankp->AddCorrFctn(c3dsmallkp); | |
382 | ankp->AddCorrFctn(c1dpikp); | |
383 | ||
384 | Manager->AddAnalysis(ankp); | |
385 | ||
386 | // *** End Kaon-Kaon (positive) analysis | |
387 | ||
388 | ||
389 | return Manager; | |
390 | } | |
391 |