]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/macros/Batch/ConfigFemtoAnalysis.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / Batch / ConfigFemtoAnalysis.C
CommitLineData
76ce4b5b 1// ConfigFemtoAnalysis.C - macro to create the splitting/merging
2// test with the pion correlation function.
3// As a default the anti-splitting and anti-merging cuts are open
4// and the two correlation functions:
5// AliFemtoShareQualityCorrFctn and AliFemtoTPCInnerCorrFctn
6// can be used to study the splitting (former) and merging (latter) effect
7// If ones needs to produce a "clean" sample with both effects removed,
8// one needs to change the cut values to the "reasonable" ones, or perform
9// the full systematic analysis with the above-mentioned functions
10
11// Author: Adam Kisiel. Adam.Kisiel@cern.ch
12
13// parameters:
14//
15// returns:
16// a pointer to the created AliFemtoManager
17
18#include "AliFemtoManager.h"
19#include "AliFemtoEventReaderESDChain.h"
20#include "AliFemtoSimpleAnalysis.h"
21#include "AliFemtoBasicEventCut.h"
22#include "AliFemtoESDTrackCut.h"
23#include "AliFemtoCutMonitorParticleYPt.h"
24#include "AliFemtoShareQualityTPCEntranceSepPairCut.h"
25#include "AliFemtoQinvCorrFctn.h"
26#include "AliFemtoShareQualityCorrFctn.h"
27#include "AliFemtoTPCInnerCorrFctn.h"
28#include "AliFemtoVertexMultAnalysis.h"
29
30AliFemtoManager *ConfigFemtoAnalysis()
31{
32 double PionMass = 0.13956995;
33 int chargePi = 1;
34
35 // Set-up the reader for ALICE ESD
36 AliFemtoEventReaderESDChain* Reader=new AliFemtoEventReaderESDChain();
37 // Read only constrained momenta - primordial particles
38 Reader->SetConstrained(true);
39 Reader->SetReadTPCInner(true);
40
41 // Setup the manager
42 AliFemtoManager* Manager=new AliFemtoManager();
43 // Point to the data source - the reader
44 Manager->SetEventReader(Reader);
45
46 // Setup the analysis
47 AliFemtoSimpleAnalysis* an =new AliFemtoSimpleAnalysis();
48 // Number of events to construct the background
49 an->SetNumEventsToMix(3);
50
51 // The event selector
52 AliFemtoBasicEventCut* mec = new AliFemtoBasicEventCut();
53 // Accept events with the given multiplicity
54 mec->SetEventMult(0,100000);
55 // and z-vertex distance to the center of the TPC
56 mec->SetVertZPos(-1000,1000);
57
58 // The track selector
59 AliFemtoESDTrackCut* dtc = new AliFemtoESDTrackCut();
60 // We want positive pions
61 dtc->SetPidProbPion(0.2,1.001);
62 dtc->SetPidProbMuon(0.0,0.8);
63 dtc->SetPidProbKaon(0.0,0.1);
64 dtc->SetPidProbProton(0.0,0.1);
65 dtc->SetMostProbablePion();
66 dtc->SetCharge(chargePi);
67 // so we set the correct mass
68 dtc->SetMass(PionMass);
69 // we select low pt
70 dtc->SetPt(0.1,0.7);
71 dtc->SetStatus(AliESDtrack::kTPCrefit|AliESDtrack::kITSrefit);
72 dtc->SetminTPCncls(95);
73 dtc->SetRemoveKinks(kTRUE);
74 dtc->SetLabel(kFALSE);
75 dtc->SetMaxITSChiNdof(3.0);
76 dtc->SetMaxTPCChiNdof(2.0);
77 dtc->SetMaxSigmaToVertex(3.0);
78
79 AliFemtoCutMonitorParticleYPt *cutPass = new AliFemtoCutMonitorParticleYPt("cutPass", 0.13957);
80 AliFemtoCutMonitorParticleYPt *cutFail = new AliFemtoCutMonitorParticleYPt("cutFail", 0.13957);
81 dtc->AddCutMonitor(cutPass, cutFail);
82
83 // Pair selector
84 AliFemtoShareQualityTPCEntranceSepPairCut *sqpc = new AliFemtoShareQualityTPCEntranceSepPairCut();
85 // remove split track pairs and pairs that share hits
86
87 // Set maximim allowed "quality" for the pair
88 // 1.0 - accept all pairs
89 // -0.5 - reject all pairs
90 // a reasonable value should lie between 0.0 and 0.5
91 sqpc->SetShareQualityMax(1.0);
92
93 // Set maximum allowed shared hits fraction per pair
94 // 1.0 - accept all pairs
95 // 0.0 - reject all pairs
96 // a reasonable value is small but nno-zero (0.05)
97 sqpc->SetShareFractionMax(1.0);
98
99 // Set minimum allowed separation between nominal TPC entrance points
100 // of the two tracks in the pair
101 // 0.0 - accept all pairs
102 // a reasonable value is 3.0 [cm]
103 sqpc->SetTPCEntranceSepMinimum(0.0);
104 sqpc->SetRemoveSameLabel(kFALSE);
105
106 // Add the cuts to the analysis
107 an->SetEventCut(mec);
108 an->SetFirstParticleCut(dtc);
109 an->SetSecondParticleCut(dtc);
110 an->SetPairCut(sqpc);
111
112 // Setup correlation functions
113 // A simple qinv correlation function
114 AliFemtoQinvCorrFctn *cqinv= new AliFemtoQinvCorrFctn("qinvcf",75,0.0,0.4);
115
116 // A correlation function to monitor the splitting and cluster sharing in TPC
117 AliFemtoShareQualityCorrFctn *csqqinv= new AliFemtoShareQualityCorrFctn("sqqinvcf",75,0.0,0.4);
118
119 // A correlation function to monitor the distance at the entrance to the TPC
120 AliFemtoTPCInnerCorrFctn *tpcin = new AliFemtoTPCInnerCorrFctn("tpcin",80, 0.0, 0.4);
121
122 // add the correlation functions to the analysis
123 an->AddCorrFctn(cqinv);
124 an->AddCorrFctn(csqqinv);
125 an->AddCorrFctn(tpcin);
126
127 // Add the analysis to the manager
128 Manager->AddAnalysis(an);
129
130 return Manager;
131}