First version of the PS QA macros (K.McDermont,A.Kalweit,S.Bjelogrlic)
[u/mrichter/AliRoot.git] / ANALYSIS / macros / PhysSelQA / PSQA.C
1 #include "AliPSQA.h"\r
2 \r
3 void PSQA() {\r
4   //\r
5   // Produce QA  output of physics selection.\r
6   // Opens selected files for QA, then processes the historgrams necessary, \r
7   // prints results to a root file and/or text files specified by user.\r
8   //\r
9   //  Please read the README in case the documentation provided in this macro, .h, and .cxx files is not enough!\r
10   //\r
11   //gROOT->LoadMacro("AliPSQA.cxx++g");\r
12   AliPSQA * QAobject = new AliPSQA;  // Initialize relevant object\r
13   //\r
14   // configure relevant parameters\r
15   //\r
16   Bool_t runFromLocalInputFiles = kTRUE; // if kTRUE, run over either cache or test, otherwise use alien files\r
17   Bool_t saveTxtFiles           = kTRUE; \r
18   Bool_t saveRootFile           = kTRUE;\r
19   Bool_t drawGraphs             = kTRUE;\r
20   //\r
21   // settings\r
22   //\r
23   QAobject->InitializeRuns("../QAoutputPerPeriod/12d_Pass1/GoodRunList.list"); \r
24   QAobject->SetLocalPath("../InputFilesFromGridPerPeriod/12d_Pass1/"); // Location of files to be processed locally (whether test or cache)\r
25   QAobject->SetTxtOutDirectory("../QAoutputPerPeriod/12d_Pass1/"); // Path for macro output text files\r
26   QAobject->SetRootOutDirectory("../QAoutputPerPeriod/12d_Pass1/"); // Path for macro output root files\r
27   QAobject->SetOutRootName("LHC12d_PSQA.root");\r
28   //\r
29   QAobject->SetPSInput(""); // Subdirectory for files to be processed, which pass to use\r
30   QAobject->SetROOTInput("event_stat.root"); //root file to be processed\r
31   QAobject->InitializeTriggers("triggerNames.list","triggerMaskChannels.list"); // trig names to be used, plus trig channels (fast vs regular)\r
32   QAobject->InitializePlots("plots.list");     //Initialize macro with QA plots to be used\r
33   QAobject->SetTxtFileName("PSQA_"); // This is appended with the run name and .txt\r
34   //\r
35   // enable settings\r
36   //\r
37   QAobject->SetLocalMode(runFromLocalInputFiles); \r
38   QAobject->SetSaveQAValToTxtFile(saveTxtFiles);\r
39   QAobject->SetSaveQAToROOTFile(saveRootFile);\r
40   //\r
41   // run and extract    \r
42   //\r
43   Bool_t goodQACheck = QAobject->ComputeQAPerRun();\r
44   //\r
45   // Print a list of the runs that failed, with some hint as to why they failed. Implementation file has comments.\r
46   //\r
47   QAobject->GetBadFiles()->Print();\r
48   //\r
49   if (goodQACheck == kFALSE){return;} // No plots saved at all, skip altogether the option to plot all canvases.\r
50   //\r
51   QAobject->SetDrawAllTGraphs(drawGraphs); // If kTRUE, will draw all TGraphErrors saved in the ROOT file.\r
52   if (QAobject->GetDrawAllTGraphs()){\r
53     QAobject->DrawAllTGraphs();\r
54   }\r
55 \r
56 };\r
57 \r