]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdEta/runMultiplicitySelector.C
Minor fixes (Andrei)
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / runMultiplicitySelector.C
CommitLineData
0ab29cfa 1/* $Id$ */
2
3//
4// script to run the AliMultiplicityESDSelector
5//
6
7#include "../CreateESDChain.C"
0bd1f8a0 8#include "../PWG0Helper.C"
0ab29cfa 9
8ca1a6d9 10void runMultiplicitySelector(Char_t* data, Int_t nRuns=20, Int_t offset=0, Bool_t aMC = kFALSE, Bool_t aDebug = kFALSE, Bool_t aProof = kFALSE)
0ab29cfa 11{
0bd1f8a0 12 if (aProof)
13 connectProof("proof01@lxb6046");
14
15 TString libraries("libEG;libGeom;libESD;libPWG0base");
16 TString packages("PWG0base");
10ebe68d 17
0ab29cfa 18 if (aMC != kFALSE)
0bd1f8a0 19 {
20 libraries += ";libVMC;libMinuit;libSTEER;libPWG0dep;libEVGEN;libFASTSIM;libmicrocern;libpdf;libpythia6;libEGPythia6;libAliPythia6";
21 packages += ";PWG0dep";
22 }
23
24 if (!prepareQuery(libraries, packages, kTRUE))
25 return;
0ab29cfa 26
0ab29cfa 27 gROOT->ProcessLine(".L CreateCuts.C");
28 gROOT->ProcessLine(".L drawPlots.C");
29
0ab29cfa 30 // selection of esd tracks
31 AliESDtrackCuts* esdTrackCuts = CreateTrackCuts();
32 if (!esdTrackCuts)
33 {
34 printf("ERROR: esdTrackCuts could not be created\n");
35 return;
36 }
37
0bd1f8a0 38 TList inputList;
39 inputList.Add(esdTrackCuts);
40
41 TChain* chain = CreateESDChain(data, nRuns, offset);
0ab29cfa 42
43 TString selectorName = ((aMC == kFALSE) ? "AliMultiplicityESDSelector" : "AliMultiplicityMCSelector");
44 AliLog::SetClassDebugLevel(selectorName, AliLog::kInfo);
45
0bd1f8a0 46 selectorName += ".cxx+";
0ab29cfa 47
48 if (aDebug != kFALSE)
49 selectorName += "g";
50
0bd1f8a0 51 Int_t result = executeQuery(chain, &inputList, selectorName);
0ab29cfa 52
53 if (result != 0)
54 {
55 printf("ERROR: Executing process failed with %d.\n", result);
56 return;
57 }
0a173978 58}
0ab29cfa 59
0a173978 60void draw(const char* fileName = "multiplicityMC.root")
61{
62 gSystem->Load("libPWG0base");
63
64 AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity");
65
66 TFile::Open(fileName);
67 mult->LoadHistograms("Multiplicity");
68
69 mult->DrawHistograms();
0ab29cfa 70}
71
0a173978 72
73void* fit(const char* fileName = "multiplicityMC.root")
74{
75 gSystem->Load("libPWG0base");
76
77 AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity");
78
79 TFile::Open(fileName);
80 mult->LoadHistograms("Multiplicity");
81
82 mult->ApplyMinuitFit(3, kFALSE);
83
84 return mult;
85}