1 void runProtonAnalysisQA() {
5 runProof(200000,"/COMMON/COMMON/LHC08c11_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("alicecaf.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("CORRFW.par");
35 gProof->EnablePackage("CORRFW");
36 gProof->UploadPackage("PWG2spectra.par");
37 gProof->EnablePackage("PWG2spectra");
39 gProof->Load("AliAnalysisTaskProtonsQA.cxx++");
41 //____________________________________________//
42 // Make the analysis manager
43 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
44 AliVEventHandler* esdH = new AliESDInputHandler;
45 mgr->SetInputEventHandler(esdH);
46 AliMCEventHandler *mc = new AliMCEventHandler();
47 mgr->SetMCtruthEventHandler(mc);
49 //____________________________________________//
51 AliAnalysisTaskProtonsQA *taskProtonsQA = new AliAnalysisTaskProtonsQA("TaskProtonsQA");
52 mgr->AddTask(taskProtonsQA);
54 // Create containers for input/output
55 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("dataChain",
57 AliAnalysisManager::kInputContainer);
58 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList1",
60 AliAnalysisManager::kOutputContainer,
61 outputFilename.Data());
63 //____________________________________________//
64 mgr->ConnectInput(taskProtonsQA,0,cinput1);
65 mgr->ConnectOutput(taskProtonsQA,0,coutput1);
66 if (!mgr->InitAnalysis()) return;
70 mgr->StartAnalysis("proof",dataset,stats);
72 // You should get this macro and the txt file from:
73 // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
74 gROOT->LoadMacro("CreateESDChain.C");
76 chain = CreateESDChain("ESD82XX_30K.txt",stats);
77 chain->SetBranchStatus("*Calo*",0);
79 mgr->StartAnalysis("proof",chain);
80 //mgr->StartAnalysis("local",chain);
87 //_________________________________________________//
88 Int_t setupPar(const char* pararchivename) {
93 char processline[1024];
94 sprintf(processline,".! tar xvzf %s.par",pararchivename);
95 gROOT->ProcessLine(processline);
96 const char* ocwd = gSystem->WorkingDirectory();
97 gSystem->ChangeDirectory(pararchivename);
99 // check for BUILD.sh and execute
100 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
101 printf("*******************************\n");
102 printf("*** Building PAR archive ***\n");
103 printf("*******************************\n");
105 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
106 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
110 // check for SETUP.C and execute
111 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
112 printf("*******************************\n");
113 printf("*** Setup PAR archive ***\n");
114 printf("*******************************\n");
115 gROOT->Macro("PROOF-INF/SETUP.C");
118 gSystem->ChangeDirectory("../");