3 #include "AliSysInfo.h"
4 #include "TObjString.h"
8 #include "TDirectory.h"
11 const Int_t NMODS = 14;
13 const char *module_name[NMODS] = {"SPD_Performance",
23 "MUON.TriggerEfficiencyMap",
25 "ImpParRes_Performance",
29 void SetFolder(const char *task_name)
31 if (!strcmp(task_name, "SPD_Performance")) folder = "coutput1";
32 if (!strcmp(task_name, "CaloQA")) folder = "CaloQA";
33 if (!strcmp(task_name, "Vertex_Performance")) folder = "cOutputVtxESD";
34 if (!strcmp(task_name, "PWG1_QAsymHists")) folder = "QAsymHists_Global QAsymHists_ITS QAsymHists_ITS_SA QAsymHists_TPC";
35 if (!strcmp(task_name, "VZERO_Performance")) folder = "QAVZEROHists";
36 if (!strcmp(task_name, "TPC_PerformanceQA")) folder = "TPCQA";
37 if (!strcmp(task_name, "SDD_Performance")) folder = "coutputRP";
38 if (!strcmp(task_name, "PWG1dEdxSSDQA")) folder = "SSDdEdxQA";
39 if (!strcmp(task_name, "ITS_Performance")) folder = "cOutputITS";
40 if (!strcmp(task_name, "TRD_Performance")) folder = "checkESD infoGen checkDET TRDefficiency TRDresolution checkPID";
41 if (!strcmp(task_name, "MUON.TriggerEfficiencyMap")) folder = "triggerChamberEff";
42 if (!strcmp(task_name, "PWG2forwardDnDeta")) folder = "BackgroundCorrected";
43 if (!strcmp(task_name, "ImpParRes_Performance")) folder = "coutputd0ITSpureSARec coutputd0ITSpureSASkip coutputd0allPointRec coutputd0allPointSkip coutputd0partPointRec coutputd0partPointSkip coutputd0onepointSPDRec coutputd0onepointSPDSkip coutputd0postvTracRec coutputd0postvTracSkip coutputd0negtvTracRec coutputd0negtvTracSkip coutputd0pullAllpointRec coutputd0pullAllpointSkip coutputd0onlyRefitRec coutputd0onlyRefitSkip coutputd0sinThetaRec coutputd0sinThetaSkip coutputd0allPointTrue coutputd0postvTracTrue coutputd0negtvTracTrue coutputd0pullAllpointTrue coutputd0phiAllpointSkip coutputd0phiPostvtracSkip coutputd0phiNegtvtracSkip coutputd0clusterTypeSPD01Skip coutputd0clusterTypeSPD02Skip coutputd0clusterTypeSPD03Skip coutputd0clusterTypeSPD11Skip coutputd0clusterTypeSPD12Skip coutputd0clusterTypeSPD13Skip coutputd0PID coutputd0Pt coutputNentries coutputEstimVtx";
44 if (!strcmp(task_name, "MUON_QA")) folder = "general1 expert general2";
48 void testOutputSize(const char *filename="QA/QAresults.root")
50 gSystem->Load("libANALYSIS");
51 gSystem->Load("libANALYSISalice");
52 gSystem->Load("libCORRFW");
53 // Add aditional AliRoot libraries
54 gSystem->Load("libTENDER.so");
55 gSystem->Load("libPWG0base.so");
56 gSystem->Load("libPWG0dep.so");
57 gSystem->Load("libPWG0selectors.so");
58 gSystem->Load("libPWG1.so");
59 gSystem->Load("libPWG2.so");
60 gSystem->Load("libPWG2forward.so");
61 gSystem->Load("libEMCALUtils.so");
62 gSystem->Load("libPWG4PartCorrBase.so");
63 gSystem->Load("libPWG4PartCorrDep.so");
64 gSystem->Load("libPWG3base.so");
65 gSystem->Load("libPWG3muon.so");
66 gSystem->Load("libPWG3muondep.so");
67 gSystem->Unlink("syswatch.log");
68 AliSysInfo::AddStamp("Start", 0, 0);
72 if (!TFile::Open(filename)) return;
73 TDirectory *cdir = gDirectory;
75 for (Int_t imod=0; imod<NMODS; imod++) {
76 SetFolder(module_name[imod]);
77 TObjArray *arr = folder.Tokenize(" ");
80 if (!gDirectory->cd(module_name[imod])) continue;
81 printf("Module: %s folder: %s\n", module_name[imod], gDirectory->GetName());
83 while ((os=(TObjString*)next())) {
84 TSeqCollection *list = (TSeqCollection*)gDirectory->Get(os->GetString());
85 if (list) list->SetOwner();
88 AliSysInfo::AddStamp(module_name[imod], imod+1,1);
92 TTree *tree = AliSysInfo::MakeTree("syswatch.log");
93 tree->SetName("syswatch");
94 tree->SetAlias("event", "id0");
95 tree->SetAlias("task", "id1");
96 tree->SetAlias("stage", "id2");
97 // Already defined aliases
98 // tree->SetAlias("deltaT","stampSec-stampOldSec");
99 // tree->SetAlias("T","stampSec-first");
100 // tree->SetAlias("deltaVM","(pI.fMemVirtual-pIOld.fMemVirtual)");
101 // tree->SetAlias("VM","pI.fMemVirtual");
102 TCanvas *c = new TCanvas("SysInfo","PWG1 QA train, run #127719 (2.84 M events)" ,10,10,1200,800);
103 tree->SetMarkerStyle(kFullSquare);
104 tree->SetMarkerColor(kRed);
105 tree->SetMarkerSize(1.5);
106 tree->Draw("deltaVM:sname","id1==1","", 1234567890, 0);
107 TH1* hist = (TH1*)gPad->GetListOfPrimitives()->FindObject("htemp");
109 hist->SetTitle("dVM[MB] output list");
110 hist->GetXaxis()->SetTitle("Module");
111 hist->GetYaxis()->SetTitle("deltaVM [MB]");
115 // tree->SetMarkerStyle(kOpenSquare);
116 // tree->SetMarkerColor(kRed);
117 // tree->SetMarkerSize(1);
118 // tree->Draw("VM:event","id1==2","SAME", 1234567890, 0);
123 m.AddFile("QAresults1.root");
124 m.AddFile("QAresults2.root");
125 m.OutputFile("QAresults.root");