1 /*********************************************************************
3 * Configfemtoanalysis.C - configuration macro for the femtoscopic *
4 * analysis, meant as a QA process for two-particle effects *
6 * Author: Adam Kisiel (Adam.Kisiel@cern.ch) *
8 *********************************************************************/
10 #if !defined(__CINT__) || defined(__MAKECINT_)
11 #include "AliFemtoManager.h"
12 #include "AliFemtoEventReaderESDChain.h"
13 #include "AliFemtoEventReaderESDChainKine.h"
14 #include "AliFemtoEventReaderAODChain.h"
15 #include "AliFemtoSimpleAnalysis.h"
16 #include "AliFemtoBasicEventCut.h"
17 #include "AliFemtoESDTrackCut.h"
18 #include "AliFemtoCorrFctn.h"
19 //#include "AliFemtoCutMonitorParticleYPt.h"
20 //#include "AliFemtoCutMonitorParticleVertPos.h"
21 //#include "AliFemtoCutMonitorParticleMomRes.h"
22 //#include "AliFemtoCutMonitorParticlePID.h"
23 //#include "AliFemtoCutMonitorEventMult.h"
24 //#include "AliFemtoCutMonitorEventVertex.h"
25 #include "AliFemtoShareQualityTPCEntranceSepPairCut.h"
26 #include "AliFemtoPairCutAntiGamma.h"
27 #include "AliFemtoPairCutRadialDistance.h"
28 #include "AliFemtoQinvCorrFctn.h"
29 //#include "AliFemtoCorrFctnNonIdDR.h"
30 //#include "AliFemtoShareQualityCorrFctn.h"
31 //#include "AliFemtoTPCInnerCorrFctn.h"
32 #include "AliFemtoVertexMultAnalysis.h"
33 //#include "AliFemtoCorrFctn3DSpherical.h"
34 //#include "AliFemtoChi2CorrFctn.h"
35 //#include "AliFemtoCorrFctnTPCNcls.h"
36 //#include "AliFemtoBPLCMS3DCorrFctn.h"
37 //#include "AliFemtoCorrFctn3DLCMSSym.h"
38 //#include "AliFemtoModelBPLCMSCorrFctn.h"
39 //#include "AliFemtoModelCorrFctn3DSpherical.h"
40 //#include "AliFemtoModelGausLCMSFreezeOutGenerator.h"
41 //#include "AliFemtoModelGausRinvFreezeOutGenerator.h"
42 //#include "AliFemtoModelManager.h"
43 //#include "AliFemtoModelWeightGeneratorBasic.h"
44 //#include "AliFemtoModelWeightGeneratorLednicky.h"
45 //#include "AliFemtoCorrFctnDirectYlm.h"
46 //#include "AliFemtoModelCorrFctnDirectYlm.h"
47 //#include "AliFemtoModelCorrFctnSource.h"
48 //#include "AliFemtoCutMonitorParticlePtPDG.h"
49 //#include "AliFemtoKTPairCut.h"
50 #include "AliFemtoPairCutPt.h"
51 //#include "AliFemtoCorrFctnMassInvMonitor.h"
54 //________________________________________________________________________
55 AliFemtoManager* ConfigFemtoAnalysis() {
57 double PionMass = 0.13956995;
58 double KaonMass = 0.493677;
59 double ProtonMass = 0.938272013;
61 const int numOfMultBins = 5;
62 const int numOfChTypes = 13;
63 const int numOfkTbins = 2;
65 int runmults[numOfMultBins] = {1, 1, 1, 0, 1};
66 int multbins[numOfMultBins+1] = {0, 20, 50, 150, 2, 150};
68 int runch[numOfChTypes] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
69 const char *chrgs[numOfChTypes] = { "PP", "aPaP", "PaP", "KpKp", "KmKm", "KpKm", "PIpPIp", "PImPIm", "PIpPIm", "all", "plus", "minus", "mixed" };
72 double ktrng[numOfkTbins+1] = {0.0, 0.7, 100.0};
74 int runtype = 0; // Types 0 - global, 1 - ITS only, 2 - TPC Inner //global tracks ->mfit ITS+TPC
76 int gammacut = 0; // cut na ee z gamma
79 //AliFemtoEventReaderESDChainKine* Reader=new AliFemtoEventReaderESDChainKine();
80 //Reader->SetUseMultiplicity(AliFemtoEventReaderESDChainKine::kReferenceITSTPC);
81 //Reader->SetMagneticFieldSign(1.0);
82 //AliFemtoEventReaderESDChain *Reader = new AliFemtoEventReaderESDChain();
83 //Reader->SetUseMultiplicity(AliFemtoEventReaderESDChain::kReferenceITSTPC);
85 AliFemtoEventReaderAODChain *Reader = new AliFemtoEventReaderAODChain();
86 Reader->SetFilterBit(0);
87 Reader->SetUseMultiplicity(AliFemtoEventReaderAOD::kReference);
89 // //Reader->SetCentralityPreSelection(0.001, 910);
91 AliFemtoManager* Manager = new AliFemtoManager();
92 Manager->SetEventReader(Reader);
94 AliFemtoVertexMultAnalysis *anetaphitpc[numOfMultBins*numOfChTypes];
95 AliFemtoBasicEventCut *mecetaphitpc[numOfMultBins*numOfChTypes];
96 /* AliFemtoCutMonitorEventMult *cutPassEvMetaphitpc[numOfMultBins*numOfChTypes];
97 AliFemtoCutMonitorEventMult *cutFailEvMetaphitpc[numOfMultBins*numOfChTypes];
98 AliFemtoCutMonitorEventVertex *cutPassEvVetaphitpc[numOfMultBins*numOfChTypes];
99 AliFemtoCutMonitorEventVertex *cutFailEvVetaphitpc[numOfMultBins*numOfChTypes];
100 */ AliFemtoESDTrackCut *dtc1etaphitpc[numOfMultBins*numOfChTypes];
101 AliFemtoESDTrackCut *dtc2etaphitpc[numOfMultBins*numOfChTypes];
102 AliFemtoESDTrackCut *dtc3etaphitpc[numOfMultBins*numOfChTypes];
103 /* AliFemtoCutMonitorParticleYPt *cutPass1YPtetaphitpc[numOfMultBins*numOfChTypes];
104 AliFemtoCutMonitorParticleYPt *cutFail1YPtetaphitpc[numOfMultBins*numOfChTypes];
105 AliFemtoCutMonitorParticlePID *cutPass1PIDetaphitpc[numOfMultBins*numOfChTypes];
106 AliFemtoCutMonitorParticlePID *cutFail1PIDetaphitpc[numOfMultBins*numOfChTypes];
107 AliFemtoCutMonitorParticleYPt *cutPass2YPtetaphitpc[numOfMultBins*numOfChTypes];
108 AliFemtoCutMonitorParticleYPt *cutFail2YPtetaphitpc[numOfMultBins*numOfChTypes];
109 AliFemtoCutMonitorParticlePID *cutPass2PIDetaphitpc[numOfMultBins*numOfChTypes];
110 AliFemtoCutMonitorParticlePID *cutFail2PIDetaphitpc[numOfMultBins*numOfChTypes];
111 AliFemtoCutMonitorParticleYPt *cutPass3YPtetaphitpc[numOfMultBins*numOfChTypes];
112 AliFemtoCutMonitorParticleYPt *cutFail3YPtetaphitpc[numOfMultBins*numOfChTypes];
113 AliFemtoCutMonitorParticlePID *cutPass3PIDetaphitpc[numOfMultBins*numOfChTypes];
114 AliFemtoCutMonitorParticlePID *cutFail3PIDetaphitpc[numOfMultBins*numOfChTypes];
115 AliFemtoCutMonitorParticleYPt *cutPass4YPtetaphitpc[numOfMultBins*numOfChTypes];
116 AliFemtoCutMonitorParticleYPt *cutFail4YPtetaphitpc[numOfMultBins*numOfChTypes];
117 AliFemtoCutMonitorParticlePID *cutPass4PIDetaphitpc[numOfMultBins*numOfChTypes];
118 AliFemtoCutMonitorParticlePID *cutFail4PIDetaphitpc[numOfMultBins*numOfChTypes];
119 AliFemtoCutMonitorParticleYPt *cutPass5YPtetaphitpc[numOfMultBins*numOfChTypes];
120 AliFemtoCutMonitorParticleYPt *cutFail5YPtetaphitpc[numOfMultBins*numOfChTypes];
121 AliFemtoCutMonitorParticlePID *cutPass5PIDetaphitpc[numOfMultBins*numOfChTypes];
122 AliFemtoCutMonitorParticlePID *cutFail5PIDetaphitpc[numOfMultBins*numOfChTypes];
123 AliFemtoCutMonitorParticleYPt *cutPass6YPtetaphitpc[numOfMultBins*numOfChTypes];
124 AliFemtoCutMonitorParticleYPt *cutFail6YPtetaphitpc[numOfMultBins*numOfChTypes];
125 AliFemtoCutMonitorParticlePID *cutPass6PIDetaphitpc[numOfMultBins*numOfChTypes];
126 AliFemtoCutMonitorParticlePID *cutFail6PIDetaphitpc[numOfMultBins*numOfChTypes];
127 */ //AliFemtoCutMonitorParticlePtPDG *cutPassPtPDGetaphitpc[numOfMultBins*numOfChTypes];
128 //AliFemtoCutMonitorParticlePtPDG *cutFailPtPDGetaphitpc[numOfMultBins*numOfChTypes];
130 // AliFemtoPairCutAntiGamma *sqpcetaphitpcdiff[numOfMultBins*numOfChTypes];
131 // AliFemtoShareQualityTPCEntranceSepPairCut *sqpcetaphitpcsame[numOfMultBins*numOfChTypes];
132 AliFemtoPairCutAntiGamma *sqpcetaphitpc[numOfMultBins*numOfChTypes];
133 // AliFemtoPairCutRadialDistance *sqpcetaphitpc[numOfMultBins*numOfChTypes];
134 // AliFemtoChi2CorrFctn *cchiqinvetaphitpc[numOfMultBins*numOfChTypes];
135 AliFemtoPairCutPt *ktpcuts[numOfMultBins*numOfChTypes];
136 AliFemtoQinvCorrFctn *cqinvkttpc[numOfMultBins*numOfChTypes];
137 AliFemtoQinvCorrFctn *cqinvtpc[numOfMultBins*numOfChTypes];
138 AliFemtoCorrFctnDEtaDPhi *cdedpetaphi[numOfMultBins*numOfChTypes];
139 //AliFemtoCorrFctnMassInvMonitor *cMinvMonitor[numOfMultBins*numOfChTypes];
142 // *** Third QA task - HBT analysis with all pair cuts off, TPC only ***
143 // *** Begin pion-pion (positive) analysis ***
146 for (int imult = 0; imult < numOfMultBins; imult++)
150 for (int ichg = 0; ichg < numOfChTypes; ichg++)
155 aniter = ichg * numOfMultBins + imult;
156 anetaphitpc[aniter] = new AliFemtoVertexMultAnalysis(8, -8.0, 8.0, 6, multbins[imult], multbins[imult+1]);
157 anetaphitpc[aniter]->SetNumEventsToMix(10);
158 anetaphitpc[aniter]->SetMinSizePartCollection(1);
160 mecetaphitpc[aniter] = new AliFemtoBasicEventCut();
161 mecetaphitpc[aniter]->SetEventMult(0.001,100000);
162 mecetaphitpc[aniter]->SetVertZPos(-8,8);//cm
164 /* cutPassEvMetaphitpc[aniter] = new AliFemtoCutMonitorEventMult(Form("cutPass%stpcM%i", chrgs[ichg], imult));
165 cutFailEvMetaphitpc[aniter] = new AliFemtoCutMonitorEventMult(Form("cutFail%stpcM%i", chrgs[ichg], imult));
166 mecetaphitpc[aniter]->AddCutMonitor(cutPassEvMetaphitpc[aniter], cutFailEvMetaphitpc[aniter]);
168 cutPassEvVetaphitpc[aniter] = new AliFemtoCutMonitorEventVertex(Form("cutPass%stpcM%i", chrgs[ichg], imult));
169 cutFailEvVetaphitpc[aniter] = new AliFemtoCutMonitorEventVertex(Form("cutFail%stpcM%i", chrgs[ichg], imult));
170 mecetaphitpc[aniter]->AddCutMonitor(cutPassEvVetaphitpc[aniter], cutFailEvVetaphitpc[aniter]);
172 dtc1etaphitpc[aniter] = new AliFemtoESDTrackCut();
173 dtc2etaphitpc[aniter] = new AliFemtoESDTrackCut();
174 dtc3etaphitpc[aniter] = new AliFemtoESDTrackCut();
176 dtc1etaphitpc[aniter]->SetCharge(1.0);
177 dtc2etaphitpc[aniter]->SetCharge(-1.0);
178 dtc1etaphitpc[aniter]->SetEta(-1.0,1.0);
179 dtc2etaphitpc[aniter]->SetEta(-1.0,1.0);
181 if (ichg == 0 ||ichg == 1 ||ichg == 2)
183 dtc1etaphitpc[aniter]->SetPt(0.5,20);
184 dtc1etaphitpc[aniter]->SetMass(ProtonMass);
185 dtc1etaphitpc[aniter]->SetMostProbableProton();
186 dtc2etaphitpc[aniter]->SetPt(0.5,20);
187 dtc2etaphitpc[aniter]->SetMass(ProtonMass);
188 dtc2etaphitpc[aniter]->SetMostProbableProton();
190 if (ichg == 3 ||ichg == 4 ||ichg == 5)
192 dtc1etaphitpc[aniter]->SetPt(0.3,20);
193 dtc1etaphitpc[aniter]->SetMass(KaonMass);
194 dtc1etaphitpc[aniter]->SetMostProbableKaon();
195 dtc2etaphitpc[aniter]->SetPt(0.3,20);
196 dtc2etaphitpc[aniter]->SetMass(KaonMass);
197 dtc2etaphitpc[aniter]->SetMostProbableKaon();
199 if (ichg == 6 ||ichg == 7 ||ichg == 8)
201 dtc1etaphitpc[aniter]->SetPt(0.2,20);
202 dtc1etaphitpc[aniter]->SetMass(PionMass);
203 dtc1etaphitpc[aniter]->SetMostProbablePion();
204 dtc2etaphitpc[aniter]->SetPt(0.2,20);
205 dtc2etaphitpc[aniter]->SetMass(PionMass);
206 dtc2etaphitpc[aniter]->SetMostProbablePion();
210 dtc3etaphitpc[aniter]->SetPt(0.2,20);
212 if (ichg == 10 ||ichg == 11 ||ichg == 12)
214 dtc1etaphitpc[aniter]->SetPt(0.2,20);
215 dtc2etaphitpc[aniter]->SetPt(0.2,20);
218 // Track quality cuts
222 dtc1etaphitpc[aniter]->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit);
223 dtc1etaphitpc[aniter]->SetminTPCncls(70);
224 dtc1etaphitpc[aniter]->SetRemoveKinks(kTRUE);
225 dtc1etaphitpc[aniter]->SetLabel(kFALSE);
226 // dtc1etaphitpc[aniter]->SetMaxITSChiNdof(6.0);
227 dtc1etaphitpc[aniter]->SetMaxTPCChiNdof(4.0);
228 dtc1etaphitpc[aniter]->SetMaxImpactXYPtDep(0.018, 0.035, -1.01); // DCA xy
229 dtc1etaphitpc[aniter]->SetMaxImpactZ(2); //DCA Z
230 // dtc1etaphitpc[aniter]->SetMaxSigmaToVertex(6.0);
231 dtc2etaphitpc[aniter]->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit);
232 dtc2etaphitpc[aniter]->SetminTPCncls(70);
233 dtc2etaphitpc[aniter]->SetRemoveKinks(kTRUE);
234 dtc2etaphitpc[aniter]->SetLabel(kFALSE);
235 // dtc2etaphitpc[aniter]->SetMaxITSChiNdof(6.0);
236 dtc2etaphitpc[aniter]->SetMaxTPCChiNdof(4.0);
237 dtc2etaphitpc[aniter]->SetMaxImpactXYPtDep(0.018, 0.035, -1.01) ;
238 dtc2etaphitpc[aniter]->SetMaxImpactZ(2);
239 // dtc2etaphitpc[aniter]->SetMaxSigmaToVertex(6.0);
242 dtc3etaphitpc[aniter]->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit);
243 dtc3etaphitpc[aniter]->SetminTPCncls(70);
244 dtc3etaphitpc[aniter]->SetRemoveKinks(kTRUE);
245 dtc3etaphitpc[aniter]->SetLabel(kFALSE);
246 // dtc3etaphitpc[aniter]->SetMaxITSChiNdof(6.0);
247 dtc3etaphitpc[aniter]->SetMaxTPCChiNdof(4.0);
248 dtc3etaphitpc[aniter]->SetMaxImpactXYPtDep(0.018, 0.035, -1.01) ;
249 dtc3etaphitpc[aniter]->SetMaxImpactZ(2);
250 // dtc3etaphitpc[aniter]->SetMaxSigmaToVertex(6.0);
253 else if (runtype == 1)
257 else if (runtype == 2)
262 cutPassPtPDGetaphitpc[aniter] = new AliFemtoCutMonitorParticlePtPDG(Form("cutPass%stpcM%i", chrgs[ichg], imult),PionMass);
263 cutFailPtPDGetaphitpc[aniter] = new AliFemtoCutMonitorParticlePtPDG(Form("cutFail%stpcM%i", chrgs[ichg], imult),PionMass);
264 //if(ichg==0 || ichg==2)
266 dtc1etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
267 cutPass1YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass1%stpcM%i", chrgs[ichg], imult),ProtonMass);
268 cutFail1YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail1%stpcM%i", chrgs[ichg], imult),ProtonMass);
269 dtc1etaphitpc[aniter]->AddCutMonitor(cutPass1YPtetaphitpc[aniter], cutFail1YPtetaphitpc[aniter]);
270 cutPass1PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass1%stpcM%i", chrgs[ichg], imult),2);//0-pion,1-kaon,2-proton
271 cutFail1PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail1%stpcM%i", chrgs[ichg], imult),2);
272 dtc1etaphitpc[aniter]->AddCutMonitor(cutPass1PIDetaphitpc[aniter], cutFail1PIDetaphitpc[aniter]);
276 dtc2etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
277 cutPass2YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass2%stpcM%i", chrgs[ichg], imult),ProtonMass);
278 cutFail2YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail2%stpcM%i", chrgs[ichg], imult),ProtonMass);
279 dtc2etaphitpc[aniter]->AddCutMonitor(cutPass2YPtetaphitpc[aniter], cutFail2YPtetaphitpc[aniter]);
281 cutPass2PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass2%stpcM%i", chrgs[ichg], imult),2);//0-pion,1-kaon,2-proton
282 cutFail2PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail2%stpcM%i", chrgs[ichg], imult),2);
283 dtc2etaphitpc[aniter]->AddCutMonitor(cutPass2PIDetaphitpc[aniter], cutFail2PIDetaphitpc[aniter]);
286 else if(ichg==3 || ichg==5)
288 dtc3etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
289 cutPass3YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass3%stpcM%i", chrgs[ichg], imult),KaonMass);
290 cutFail3YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail3%stpcM%i", chrgs[ichg], imult),KaonMass);
291 dtc3etaphitpc[aniter]->AddCutMonitor(cutPass3YPtetaphitpc[aniter], cutFail3YPtetaphitpc[aniter]);
292 cutPass3PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass3%stpcM%i", chrgs[ichg], imult),1);//0-pion,1-kaon,2-proton
293 cutFail3PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail3%stpcM%i", chrgs[ichg], imult),1);
294 dtc3etaphitpc[aniter]->AddCutMonitor(cutPass3PIDetaphitpc[aniter], cutFail3PIDetaphitpc[aniter]);
298 dtc4etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
299 cutPass4YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass4%stpcM%i", chrgs[ichg], imult),KaonMass);
300 cutFail4YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail4%stpcM%i", chrgs[ichg], imult),KaonMass);
301 dtc4etaphitpc[aniter]->AddCutMonitor(cutPass4YPtetaphitpc[aniter], cutFail4YPtetaphitpc[aniter]);
303 cutPass4PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass4%stpcM%i", chrgs[ichg], imult),1);//0-pion,1-kaon,2-proton
304 cutFail4PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail4%stpcM%i", chrgs[ichg], imult),1);
305 dtc4etaphitpc[aniter]->AddCutMonitor(cutPass4PIDetaphitpc[aniter], cutFail4PIDetaphitpc[aniter]);
308 else if(ichg==6 || ichg==8)
310 dtc5etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
311 cutPass5YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass5%stpcM%i", chrgs[ichg], imult),PionMass);
312 cutFail5YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail5%stpcM%i", chrgs[ichg], imult),PionMass);
313 dtc5etaphitpc[aniter]->AddCutMonitor(cutPass5YPtetaphitpc[aniter], cutFail5YPtetaphitpc[aniter]);
314 cutPass5PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass5%stpcM%i", chrgs[ichg], imult),0);//0-pion,1-kaon,2-proton
315 cutFail5PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail5%stpcM%i", chrgs[ichg], imult),0);
316 dtc5etaphitpc[aniter]->AddCutMonitor(cutPass5PIDetaphitpc[aniter], cutFail5PIDetaphitpc[aniter]);
320 dtc6etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
321 cutPass6YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass6%stpcM%i", chrgs[ichg], imult),PionMass);
322 cutFail6YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail6%stpcM%i", chrgs[ichg], imult),PionMass);
323 dtc6etaphitpc[aniter]->AddCutMonitor(cutPass6YPtetaphitpc[aniter], cutFail6YPtetaphitpc[aniter]);
325 cutPass6PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass6%stpcM%i", chrgs[ichg], imult),0);//0-pion,1-kaon,2-proton
326 cutFail6PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail6%stpcM%i", chrgs[ichg], imult),0);
327 dtc6etaphitpc[aniter]->AddCutMonitor(cutPass6PIDetaphitpc[aniter], cutFail6PIDetaphitpc[aniter]);
331 if(ichg==9) dtc7etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
332 if(ichg==10) dtc8etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
333 if(ichg==11) dtc9etaphitpc[aniter]->AddCutMonitor(cutPassPtPDGetaphitpc[aniter],cutFailPtPDGetaphitpc[aniter]);
334 cutPass6YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutPass%stpcM%i", chrgs[ichg], imult),PionMass);
335 cutFail6YPtetaphitpc[aniter] = new AliFemtoCutMonitorParticleYPt(Form("cutFail%stpcM%i", chrgs[ichg], imult),PionMass);
336 if(ichg==9) dtc7etaphitpc[aniter]->AddCutMonitor(cutPass6YPtetaphitpc[aniter], cutFail6YPtetaphitpc[aniter]);
337 if(ichg==10) dtc8etaphitpc[aniter]->AddCutMonitor(cutPass6YPtetaphitpc[aniter], cutFail6YPtetaphitpc[aniter]);
338 if(ichg==11) dtc9etaphitpc[aniter]->AddCutMonitor(cutPass6YPtetaphitpc[aniter], cutFail6YPtetaphitpc[aniter]);
340 cutPass6PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutPass%stpcM%i", chrgs[ichg], imult),0);//0-pion,1-kaon,2-proton
341 cutFail6PIDetaphitpc[aniter] = new AliFemtoCutMonitorParticlePID(Form("cutFail%stpcM%i", chrgs[ichg], imult),0);
342 if(ichg==9) dtc7etaphitpc[aniter]->AddCutMonitor(cutPass6PIDetaphitpc[aniter], cutFail6PIDetaphitpc[aniter]);
343 if(ichg==10) dtc8etaphitpc[aniter]->AddCutMonitor(cutPass6PIDetaphitpc[aniter], cutFail6PIDetaphitpc[aniter]);
344 if(ichg==11) dtc9etaphitpc[aniter]->AddCutMonitor(cutPass6PIDetaphitpc[aniter], cutFail6PIDetaphitpc[aniter]);
347 sqpcetaphitpc[aniter] = new AliFemtoPairCutAntiGamma();
351 sqpcetaphitpc[aniter]->SetShareQualityMax(1.0); // two track cuts on splitting and merging
352 sqpcetaphitpc[aniter]->SetShareFractionMax(0.05); // ile moga miec wspolnych klastrow
353 sqpcetaphitpc[aniter]->SetRemoveSameLabel(kFALSE);
354 // sqpcetaphitpc[aniter]->SetMaxEEMinv(0.0);
355 // sqpcetaphitpc[aniter]->SetMaxThetaDiff(0.0);
356 // sqpcetaphitpc[aniter]->SetTPCEntranceSepMinimum(1.5);
357 // sqpcetaphitpc[aniter]->SetRadialDistanceMinimum(0.12, 0.03);
358 // sqpcetaphitpc[aniter]->SetEtaDifferenceMinimum(0.02);
360 else if (runtype == 1)
364 else if (runtype == 2)
369 anetaphitpc[aniter]->SetEventCut(mecetaphitpc[aniter]);
373 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
374 anetaphitpc[aniter]->SetSecondParticleCut(dtc1etaphitpc[aniter]);
375 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,ProtonMass);
376 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
380 anetaphitpc[aniter]->SetFirstParticleCut(dtc2etaphitpc[aniter]);
381 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
382 // cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,ProtonMass);
383 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
387 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
388 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
389 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,ProtonMass);
390 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
394 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
395 anetaphitpc[aniter]->SetSecondParticleCut(dtc1etaphitpc[aniter]);
396 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,KaonMass);
397 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
401 anetaphitpc[aniter]->SetFirstParticleCut(dtc2etaphitpc[aniter]);
402 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
403 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,KaonMass);
404 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
409 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
410 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
411 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,KaonMass);
412 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
416 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
417 anetaphitpc[aniter]->SetSecondParticleCut(dtc1etaphitpc[aniter]);
418 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,PionMass);
419 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
423 anetaphitpc[aniter]->SetFirstParticleCut(dtc2etaphitpc[aniter]);
424 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
425 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,PionMass);
426 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
431 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
432 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
433 //cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,PionMass);
434 //anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
439 anetaphitpc[aniter]->SetFirstParticleCut(dtc3etaphitpc[aniter]);
440 anetaphitpc[aniter]->SetSecondParticleCut(dtc3etaphitpc[aniter]);
445 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
446 anetaphitpc[aniter]->SetSecondParticleCut(dtc1etaphitpc[aniter]);
451 anetaphitpc[aniter]->SetFirstParticleCut(dtc2etaphitpc[aniter]);
452 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
456 anetaphitpc[aniter]->SetFirstParticleCut(dtc1etaphitpc[aniter]);
457 anetaphitpc[aniter]->SetSecondParticleCut(dtc2etaphitpc[aniter]);
458 // cMinvMonitor[aniter] = new AliFemtoCorrFctnMassInvMonitor(Form("%sM%i",chrgs[ichg], imult),500,PionMass);
459 // anetaphitpc[aniter]->AddCorrFctn(cMinvMonitor[aniter]);
462 anetaphitpc[aniter]->SetPairCut(sqpcetaphitpc[aniter]);
463 cdedpetaphi[aniter] = new AliFemtoCorrFctnDEtaDPhi(Form("cdedp%stpcM%i", chrgs[ichg], imult),35, 35);
464 anetaphitpc[aniter]->AddCorrFctn(cdedpetaphi[aniter]);
469 for (int ikt=0; ikt<numOfkTbins; ikt++)
471 ktm = aniter * numOfkTbins + ikt;
472 ktpcuts[ktm] = new AliFemtoPairCutPt(ktrng[ikt], ktrng[ikt+1]);
474 //cqinvkttpc[ktm] = new AliFemtoQinvCorrFctn(Form("cqinv%stpcM%ikT%i", chrgs[ichg], imult, ikt),nbinssh,0.0,(imult>6)?shqmax*2.5:shqmax);
475 //cqinvkttpc[ktm]->SetPairSelectionCut(ktpcuts[ktm]);
476 //anetaphitpc[aniter]->AddCorrFctn(cqinvkttpc[ktm]);
478 cdedpetaphi[ktm] = new AliFemtoCorrFctnDEtaDPhi(Form("cdedp%stpcM%ipT%i", chrgs[ichg], imult,ikt),35, 35);
479 cdedpetaphi[ktm]->SetPairSelectionCut(ktpcuts[ktm]);
480 anetaphitpc[aniter]->AddCorrFctn(cdedpetaphi[ktm]);
483 Manager->AddAnalysis(anetaphitpc[aniter]);