]>
Commit | Line | Data |
---|---|---|
ad7be237 | 1 | **************************************************************** |
2 | * Instructions for running multiplicity distribution analysis * | |
3 | * ------------ * | |
4 | * Casper Nygaard, nygaard.casper@gmail.com, July 21st, 2012 * | |
5 | **************************************************************** | |
6 | ||
7 | In these instructions the abbrevation $FMD corresponds to the | |
8 | $ALICE_ROOT/PWGLF/FORWARD/analysis2/ directory. | |
9 | ||
10 | For running the multiplicity distribution analysis the following files | |
11 | are used (in addition to some general AliRoot FORWARD code): | |
12 | ||
13 | $FMD/MakeMultAOD.C | |
14 | $FMD/MakeMultiplicityDistribution.C | |
15 | $FMD/CreateResponseMatrices.C | |
16 | $FMD/AliForwardMultiplicityDistribution.cxx/.h | |
17 | $FMD/AliForwardCreateResponseMatrices.cxx/.h | |
18 | $FMD/AddTaskMultiplicity.C | |
19 | $FMD/AddTaskCreateResponseMatrices.C | |
20 | ||
21 | $FMD/scripts/doUnfolding.C | |
22 | $FMD/scripts/unfoldBase.C | |
23 | $FMD/scripts/unfoldChi2Method.C | |
24 | ||
25 | Additionally the unfolding ROOT framework RooUnfold should be | |
26 | installed (http://hepunx.rl.ac.uk/~adye/software/unfold/RooUnfold.html). | |
27 | ||
28 | ||
29 | 1) CREATE AODs | |
30 | ------------------------------------------------------------ | |
31 | Create AODs on the GRID, similarly to the standard | |
32 | FORWARD/analysis2 method. | |
33 | ||
34 | One can use $FMD/MakeMultAOD.C macro to create the AODs, specifying | |
35 | which runs/ESD pass/etc. to use. | |
36 | ||
37 | ||
38 | 2) CREATE BASIC MULTIPLICITY FILES | |
39 | ------------------------------------------------------------ | |
40 | Run over the (local) AODs to create basic multiplicity distribution | |
41 | analysis files, and response matrices. | |
42 | ||
43 | The basic idea is to run over data AODs to create raw multiplicity | |
44 | distrbutions in a number of eta bins, and run over MC AODs to create | |
45 | response matrices over the same eta bins. | |
46 | ||
47 | The output file is a .root file with a folder for each eta-bin, | |
48 | containing 'raw' multiplicity distributions or response matrices. | |
49 | ||
50 | ||
51 | Multiplicity distributions: | |
52 | aliroot -l | |
53 | .L MakeMultiplicityDistribution.C | |
54 | MakeMultiplicityDistributions(const char* aoddir, Int_t nEvents, | |
55 | const char* trig, | |
56 | Double_t vzMin , Double_t vzMax, | |
57 | Int_t lowCent, Int_t highCent, | |
58 | char* output, Int_t nBins) | |
59 | ||
60 | aoddir = directory of the local AOD files | |
61 | nEvents = number of events to run over, -1 for all | |
62 | trig = trigger word to analyse, "NSD" for Non-Single-Diffractive | |
63 | or "INEL" for inelastic | |
64 | vzMin = lower bound for z-vertex | |
65 | vzMax = upper bound for z-vertex. To have full continuous | |
66 | eta-coverage between the SPD and FMD: -4<vz<4 | |
67 | lowCent = lower bound for centrality | |
68 | highCent = upper bound for centrality. Only relevant for PbPb. In pp | |
69 | set both to zero. | |
70 | output = output filename | |
71 | nBins = max multiplicity. The multiplicity axis runs from | |
72 | [-0.5 ; nBins-0.5] in nBins bins. For pp 500 suffices, for PbPb the most | |
73 | central collisions need nBins=30000. | |
74 | ||
75 | response matrices: | |
76 | ||
77 | aliroot -l | |
78 | .L CreateResponseMatrices.C | |
79 | CreateResponseMatrices(const char* aoddir, Int_t nEvents, | |
80 | const char* trig, | |
81 | Double_t vzMin, Double_t vzMax, | |
82 | char* output") | |
83 | ||
84 | Parameters are the same as for | |
85 | MakeMultiplicityDistribution(). lowCent, highCent, nBins are not | |
86 | included since at the moment unfolding is not attempted for PbPb. | |
87 | ||
88 | ||
89 | 3) UNFOLDING | |
90 | ------------------------------------------------------------- | |
91 | The 'raw' distributions must be unfolded to correct for detector | |
92 | effects. For pp the unfolding can be done in a number of ways. I | |
93 | haveused two methods; a Single Value Decomposition (SVD) method and a | |
94 | Bayesen Iterative method. | |
95 | ||
96 | The SVD method is implemented in AliRoot by Jan Fiete, and the | |
97 | Bayesian method uses the ROOT framework RooUnfold. | |
98 | ||
99 | doUnfolding.C is a small steering routine, which calls unfoldBase.C, | |
100 | which handles the unfolding itself. | |
101 | ||
102 | aliroot -l | |
103 | .L unfoldBase.C | |
104 | unfoldBase(const Char_t* outputFile, Method method, | |
105 | const Char_t* responseFileName, const Char_t* dataFileName) | |
106 | ||
107 | outputFile = name of unfolded distributions file | |
108 | method = unfolding method, possible values are kBayes or kSvd | |
109 | responseFilenName = response matrix filename | |
110 | dataFileName = uncorrected multiplicity filename | |
111 | ||
112 |