]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/runProtonAnalysisQA.C
Visualization of the edge effect
[u/mrichter/AliRoot.git] / PWG2 / runProtonAnalysisQA.C
CommitLineData
7b59a00b 1void runProtonAnalysisQA() {
2 TStopwatch timer;
3 timer.Start();
4
96f84c25 5 runProof(200000,"/COMMON/COMMON/LHC08c11_10TeV_0.5T"); //use data sets
7b59a00b 6 //runProof(200); //use ascii files
7
8 timer.Stop();
9 timer.Print();
10}
11
12//_________________________________________________//
13void runProof(Int_t stats = 0, const char* dataset = 0x0) {
14 TStopwatch timer;
15 timer.Start();
16
d4733690 17 TString outputFilename1 = "Protons.QA.root";
18 TString outputFilename2 = "Protons.MC.Composition.root";
19 TString outputFilename3 = "Protons.MC.Processes.root";
7b59a00b 20
21 printf("****** Connect to PROOF *******\n");
96f84c25 22 TProof::Open("alicecaf.cern.ch");
7b59a00b 23 gProof->SetParallel();
24
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");
f99662ca 36 gProof->UploadPackage("CORRFW.par");
37 gProof->EnablePackage("CORRFW");
7b59a00b 38 gProof->UploadPackage("PWG2spectra.par");
39 gProof->EnablePackage("PWG2spectra");
40
41 gProof->Load("AliAnalysisTaskProtonsQA.cxx++");
42
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);
50
51 //____________________________________________//
52 // 1st Proton task
53 AliAnalysisTaskProtonsQA *taskProtonsQA = new AliAnalysisTaskProtonsQA("TaskProtonsQA");
54 mgr->AddTask(taskProtonsQA);
55
56 // Create containers for input/output
57 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("dataChain",
f99662ca 58 TChain::Class(),
59 AliAnalysisManager::kInputContainer);
7b59a00b 60 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("outputList1",
f99662ca 61 TList::Class(),
62 AliAnalysisManager::kOutputContainer,
d4733690 63 outputFilename1.Data());
64 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("outputList2",
65 TList::Class(),
66 AliAnalysisManager::kOutputContainer,
67 outputFilename2.Data());
68 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("outputList3",
69 TList::Class(),
70 AliAnalysisManager::kOutputContainer,
71 outputFilename3.Data());
7b59a00b 72
73 //____________________________________________//
74 mgr->ConnectInput(taskProtonsQA,0,cinput1);
75 mgr->ConnectOutput(taskProtonsQA,0,coutput1);
d4733690 76 mgr->ConnectOutput(taskProtonsQA,1,coutput2);
77 mgr->ConnectOutput(taskProtonsQA,2,coutput3);
7b59a00b 78 if (!mgr->InitAnalysis()) return;
79 mgr->PrintStatus();
80
81 if(dataset)
82 mgr->StartAnalysis("proof",dataset,stats);
83 else {
84 // You should get this macro and the txt file from:
85 // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
86 gROOT->LoadMacro("CreateESDChain.C");
87 TChain* chain = 0x0;
88 chain = CreateESDChain("ESD82XX_30K.txt",stats);
89 chain->SetBranchStatus("*Calo*",0);
90
91 mgr->StartAnalysis("proof",chain);
f99662ca 92 //mgr->StartAnalysis("local",chain);
7b59a00b 93 }
94
95 timer.Stop();
96 timer.Print();
97}
98
99//_________________________________________________//
100Int_t setupPar(const char* pararchivename) {
101 ///////////////////
102 // Setup PAR File//
103 ///////////////////
104 if (pararchivename) {
105 char processline[1024];
106 sprintf(processline,".! tar xvzf %s.par",pararchivename);
107 gROOT->ProcessLine(processline);
108 const char* ocwd = gSystem->WorkingDirectory();
109 gSystem->ChangeDirectory(pararchivename);
110
111 // check for BUILD.sh and execute
112 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
113 printf("*******************************\n");
114 printf("*** Building PAR archive ***\n");
115 printf("*******************************\n");
116
117 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
118 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
119 return -1;
120 }
121 }
122 // check for SETUP.C and execute
123 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
124 printf("*******************************\n");
125 printf("*** Setup PAR archive ***\n");
126 printf("*******************************\n");
127 gROOT->Macro("PROOF-INF/SETUP.C");
128 }
129
130 gSystem->ChangeDirectory("../");
131 }
132 return 1;
133}