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 outputFilename1 = "Protons.QA.root";
18 TString outputFilename2 = "Protons.MC.QA.root";
19 TString outputFilename3 = "Protons.QA.Histograms.root";
21 printf("****** Connect to PROOF *******\n");
22 TProof::Open("alicecaf.cern.ch");
23 gProof->SetParallel();
25 // Enable the Analysis Package
26 gProof->UploadPackage("STEERBase.par");
27 gProof->EnablePackage("STEERBase");
28 gProof->UploadPackage("ESD.par");
29 gProof->EnablePackage("ESD");
30 gProof->UploadPackage("AOD.par");
31 gProof->EnablePackage("AOD");
32 gProof->UploadPackage("ANALYSIS.par");
33 gProof->EnablePackage("ANALYSIS");
34 gProof->UploadPackage("ANALYSISalice.par");
35 gProof->EnablePackage("ANALYSISalice");
36 gProof->UploadPackage("CORRFW.par");
37 gProof->EnablePackage("CORRFW");
38 gProof->UploadPackage("PWG2spectra.par");
39 gProof->EnablePackage("PWG2spectra");
41 gProof->Load("AliAnalysisTaskProtonsQA.cxx++");
43 //____________________________________________//
44 // Make the analysis manager
45 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
46 AliVEventHandler* esdH = new AliESDInputHandler;
47 mgr->SetInputEventHandler(esdH);
48 AliMCEventHandler *mc = new AliMCEventHandler();
49 mgr->SetMCtruthEventHandler(mc);
51 //____________________________________________//
53 AliAnalysisTaskProtonsQA *taskProtonsQA = new AliAnalysisTaskProtonsQA("TaskProtonsQA");
54 mgr->AddTask(taskProtonsQA);
56 // Create containers for input/output
57 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("dataChain",
59 AliAnalysisManager::kInputContainer);
60 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("globalQAList",
62 AliAnalysisManager::kOutputContainer,
63 outputFilename1.Data());
64 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("pdgCodeList",
66 AliAnalysisManager::kOutputContainer,
67 outputFilename2.Data());
68 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("mcProcessList",
70 AliAnalysisManager::kOutputContainer,
71 outputFilename2.Data());
72 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("acceptedCutList",
74 AliAnalysisManager::kOutputContainer,
75 outputFilename3.Data());
76 AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("acceptedDCAList",
78 AliAnalysisManager::kOutputContainer,
79 outputFilename3.Data());
81 //____________________________________________//
82 mgr->ConnectInput(taskProtonsQA,0,cinput1);
83 mgr->ConnectOutput(taskProtonsQA,0,coutput1);
84 mgr->ConnectOutput(taskProtonsQA,1,coutput2);
85 mgr->ConnectOutput(taskProtonsQA,2,coutput3);
86 mgr->ConnectOutput(taskProtonsQA,3,coutput4);
87 mgr->ConnectOutput(taskProtonsQA,4,coutput5);
88 if (!mgr->InitAnalysis()) return;
92 mgr->StartAnalysis("proof",dataset,stats);
94 // You should get this macro and the txt file from:
95 // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
96 gROOT->LoadMacro("CreateESDChain.C");
98 chain = CreateESDChain("ESD82XX_30K.txt",stats);
99 chain->SetBranchStatus("*Calo*",0);
101 mgr->StartAnalysis("proof",chain);
102 //mgr->StartAnalysis("local",chain);
109 //_________________________________________________//
110 Int_t setupPar(const char* pararchivename) {
114 if (pararchivename) {
115 char processline[1024];
116 sprintf(processline,".! tar xvzf %s.par",pararchivename);
117 gROOT->ProcessLine(processline);
118 const char* ocwd = gSystem->WorkingDirectory();
119 gSystem->ChangeDirectory(pararchivename);
121 // check for BUILD.sh and execute
122 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
123 printf("*******************************\n");
124 printf("*** Building PAR archive ***\n");
125 printf("*******************************\n");
127 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
128 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
132 // check for SETUP.C and execute
133 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
134 printf("*******************************\n");
135 printf("*** Setup PAR archive ***\n");
136 printf("*******************************\n");
137 gROOT->Macro("PROOF-INF/SETUP.C");
140 gSystem->ChangeDirectory("../");