4 // script to run the AliMultiplicityESDSelector
7 #include "../CreateESDChain.C"
8 #include "../PWG0Helper.C"
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, const char* option = "")
13 connectProof("proof01@lxb6046");
15 TString libraries("libEG;libGeom;libESD;libPWG0base");
16 TString packages("PWG0base");
20 libraries += ";libVMC;libMinuit;libSTEER;libPWG0dep;libEVGEN;libFASTSIM;libmicrocern;libpdf;libpythia6;libEGPythia6;libAliPythia6";
21 packages += ";PWG0dep";
24 if (!prepareQuery(libraries, packages, kTRUE))
27 gROOT->ProcessLine(".L CreateCuts.C");
28 gROOT->ProcessLine(".L drawPlots.C");
30 // selection of esd tracks
31 AliESDtrackCuts* esdTrackCuts = CreateTrackCuts();
34 printf("ERROR: esdTrackCuts could not be created\n");
39 inputList.Add(esdTrackCuts);
41 TChain* chain = CreateESDChain(data, nRuns, offset, kFALSE, kFALSE, "check");
43 TString selectorName = ((aMC == kFALSE) ? "AliMultiplicityESDSelector" : "AliMultiplicityMCSelector");
44 AliLog::SetClassDebugLevel(selectorName, AliLog::kInfo);
46 selectorName += ".cxx+";
51 Int_t result = executeQuery(chain, &inputList, selectorName, option);
55 printf("ERROR: Executing process failed with %d.\n", result);
60 void draw(const char* fileName = "multiplicityMC.root")
62 gSystem->Load("libPWG0base");
64 AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity");
66 TFile::Open(fileName);
67 mult->LoadHistograms("Multiplicity");
69 mult->DrawHistograms();
72 void* fit(const char* fileName = "multiplicityMC.root")
74 gSystem->Load("libPWG0base");
76 AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity");
78 TFile::Open(fileName);
79 mult->LoadHistograms("Multiplicity");
81 mult->ApplyMinuitFit(3, kFALSE);
82 mult->ApplyGaussianMethod(3, kFALSE);
83 mult->ApplyBayesianMethod(3, kFALSE);
88 void* fitOther(const char* fileNameMC = "multiplicityMC.root", const char* fileNameESD = "multiplicityESD.root")
90 gSystem->Load("libPWG0base");
92 AliMultiplicityCorrection* mult = new AliMultiplicityCorrection("Multiplicity", "Multiplicity");
94 TFile::Open(fileNameMC);
95 mult->LoadHistograms("Multiplicity");
97 TFile::Open(fileNameESD);
98 TH2F* hist = (TH2F*) gFile->Get("Multiplicity/fMultiplicityESD3");
99 TH2F* hist2 = (TH2F*) gFile->Get("Multiplicity/fMultiplicityMC3");
101 mult->SetMultiplicityESD(3, hist);
102 mult->SetMultiplicityMC(3, hist2);
104 mult->ApplyMinuitFit(3, kFALSE);
105 mult->ApplyGaussianMethod(3, kFALSE);
106 mult->ApplyBayesianMethod(3, kFALSE);