]>
Commit | Line | Data |
---|---|---|
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 | 10 | void 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 | 60 | void 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 | void* fit(const char* fileName = "multiplicityMC.root") |
73 | { | |
74 | gSystem->Load("libPWG0base"); | |
75 | ||
76 | AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity"); | |
77 | ||
78 | TFile::Open(fileName); | |
79 | mult->LoadHistograms("Multiplicity"); | |
80 | ||
81 | mult->ApplyMinuitFit(3, kFALSE); | |
9ca6be09 | 82 | mult->ApplyGaussianMethod(3, kFALSE); |
83 | mult->ApplyBayesianMethod(3, kFALSE); | |
84 | ||
85 | return mult; | |
86 | } | |
87 | ||
88 | void* fitOther(const char* fileNameMC = "multiplicityMC.root", const char* fileNameESD = "multiplicityESD.root") | |
89 | { | |
90 | gSystem->Load("libPWG0base"); | |
91 | ||
92 | AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity"); | |
93 | ||
94 | TFile::Open(fileNameMC); | |
95 | mult->LoadHistograms("Multiplicity"); | |
96 | ||
97 | TFile::Open(fileNameESD); | |
98 | TH2F* hist = (TH2F*) gFile->Get("Multiplicity/fMultiplicityESD3"); | |
99 | TH2F* hist2 = (TH2F*) gFile->Get("Multiplicity/fMultiplicityMC3"); | |
100 | ||
101 | mult->SetMultiplicityESD(3, hist); | |
102 | mult->SetMultiplicityMC(3, hist2); | |
103 | ||
104 | mult->ApplyMinuitFit(3, kFALSE); | |
105 | mult->ApplyGaussianMethod(3, kFALSE); | |
106 | mult->ApplyBayesianMethod(3, kFALSE); | |
0a173978 | 107 | |
108 | return mult; | |
109 | } |