1 void runProtonAnalysisQA() {
5 runProof(200000,"/PWG0/COMMON/run30000X_10TeV_0.5T"); //use data sets
6 //runProof(200); //use ascii files
12 //_________________________________________________//
13 void runProof(Int_t stats = 0, const char* dataset = 0x0) {
17 TString outputFilename = "Protons.QA.root";
19 printf("****** Connect to PROOF *******\n");
20 TProof::Open("proof://lxb6046.cern.ch");
21 gProof->SetParallel();
23 // Enable the Analysis Package
24 gProof->UploadPackage("STEERBase.par");
25 gProof->EnablePackage("STEERBase");
26 gProof->UploadPackage("ESD.par");
27 gProof->EnablePackage("ESD");
28 gProof->UploadPackage("AOD.par");
29 gProof->EnablePackage("AOD");
30 gProof->UploadPackage("ANALYSIS.par");
31 gProof->EnablePackage("ANALYSIS");
32 gProof->UploadPackage("ANALYSISalice.par");
33 gProof->EnablePackage("ANALYSISalice");
34 gProof->UploadPackage("PWG2spectra.par");
35 gProof->EnablePackage("PWG2spectra");
37 gProof->Load("AliAnalysisTaskProtonsQA.cxx++");
39 //____________________________________________//
40 // Make the analysis manager
41 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
42 AliVEventHandler* esdH = new AliESDInputHandler;
43 mgr->SetInputEventHandler(esdH);
44 AliMCEventHandler *mc = new AliMCEventHandler();
45 mgr->SetMCtruthEventHandler(mc);
47 //____________________________________________//
49 AliAnalysisTaskProtonsQA *taskProtonsQA = new AliAnalysisTaskProtonsQA("TaskProtonsQA");
50 mgr->AddTask(taskProtonsQA);
52 // Create containers for input/output
53 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("dataChain",
54 TChain::Class(),AliAnalysisManager::kInputContainer);
55 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList1",
56 TList::Class(),AliAnalysisManager::kOutputContainer,
57 outputFilename.Data());
59 //____________________________________________//
60 mgr->ConnectInput(taskProtonsQA,0,cinput1);
61 mgr->ConnectOutput(taskProtonsQA,0,coutput1);
62 if (!mgr->InitAnalysis()) return;
66 mgr->StartAnalysis("proof",dataset,stats);
68 // You should get this macro and the txt file from:
69 // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
70 gROOT->LoadMacro("CreateESDChain.C");
72 chain = CreateESDChain("ESD82XX_30K.txt",stats);
73 chain->SetBranchStatus("*Calo*",0);
75 mgr->StartAnalysis("proof",chain);
82 //_________________________________________________//
83 Int_t setupPar(const char* pararchivename) {
88 char processline[1024];
89 sprintf(processline,".! tar xvzf %s.par",pararchivename);
90 gROOT->ProcessLine(processline);
91 const char* ocwd = gSystem->WorkingDirectory();
92 gSystem->ChangeDirectory(pararchivename);
94 // check for BUILD.sh and execute
95 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
96 printf("*******************************\n");
97 printf("*** Building PAR archive ***\n");
98 printf("*******************************\n");
100 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
101 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
105 // check for SETUP.C and execute
106 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
107 printf("*******************************\n");
108 printf("*** Setup PAR archive ***\n");
109 printf("*******************************\n");
110 gROOT->Macro("PROOF-INF/SETUP.C");
113 gSystem->ChangeDirectory("../");