1 #if !defined(__CINT__) || defined(__MAKECINT__)
7 #include "TObjString.h"
12 #include "AliAnalysisManager.h"
13 #include "AliAnalysisAlien.h"
14 #include "AliESDInputHandler.h"
24 TObjArray* array = filePath.Tokenize(
"/");
28 for (
Int_t ientry=0; ientry<array->GetEntries(); ientry++ ) {
29 auxString = array->At(ientry)->GetName();
30 if ( auxString.Length() == 9 && auxString.IsDigit() ) {
31 runNum = auxString.Atoi();
38 array = auxString.Tokenize(
"_");
40 auxString = array->Last()->GetName();
41 auxString.ReplaceAll(
".root",
"");
42 if ( auxString.IsDigit() )
43 runNum = auxString.Atoi();
53 if ( inFilename.Contains(
"alien://") && ! gGrid )
54 TGrid::Connect(
"alien://");
56 TObjArray* array = inFilename.Tokenize(
"/");
58 TString outFilename = changeFilename.IsNull() ? array->Last()->GetName() : changeFilename.Data();
63 if ( runNumber >= 0 ) {
64 baseOutDir = Form(
"%s/%i", baseOutDir.Data(), runNumber);
65 if (
gSystem->AccessPathName(baseOutDir.Data()) )
66 gSystem->mkdir(baseOutDir.Data());
68 else printf(
"Warning: run number not found!\n");
71 outFilename.Prepend(Form(
"%s/", baseOutDir.Data()));
72 Bool_t showProgressBar = ! gROOT->IsBatch();
73 TFile::Cp(inFilename.Data(), outFilename.Data(), showProgressBar);
74 printf(
"outDir: %s\n", baseOutDir.Data());
75 printf(
"outFile: %s\n", outFilename.Data());
86 plugin->SetRunMode(
"terminate");
89 plugin->SetAdditionalLibs(
"libCORRFW.so libPWGHFbase.so libPWGmuon.so libPWGPPMUONlite.so");
91 plugin->SetAdditionalRootLibs(
"libXMLParser.so libGui.so libProofPlayer.so");
93 plugin->AddIncludePath(
"-I.");
94 plugin->AddIncludePath(
"-I$ALICE_PHYSICS/PWGPP/MUON/lite");
112 TString libsList =
"libANALYSIS libOADB libANALYSISalice libCORRFW libPWGHFbase libPWGmuon libPWGPPMUONlite";
114 TObjArray* libsArray = libsList.Tokenize(
" ");
115 libsArray->SetOwner();
117 for (
Int_t ilib=0; ilib<libsArray->GetEntries(); ilib++ ) {
118 currLib = libsArray->At(ilib)->GetName();
125 mgr->SetCommonFileName(outfilename.Data());
126 mgr->SetGridHandler(alienHandler);
129 AliESDInputHandler* esdH =
new AliESDInputHandler();
130 esdH->SetReadFriends(kFALSE);
131 mgr->SetInputEventHandler(esdH);
135 TString physSelPattern =
"PhysSelPass";
136 if ( ! usePhysicsSelection ) physSelPattern.Append(
",PhysSelReject");
139 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/macros/AddTaskMTRchamberEfficiency.C");
141 trigChEffTask->SetTerminateOptions(physSelPattern.Data(),
"ANY",
"-5_105",Form(
"FORCEBATCH trigChEff_ANY_Apt_allTrig.root?%s?ANY?-5_105?NoSelMatchAptFromTrg",physSelPattern.Data()));
144 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/PilotTrain/AddTaskMuonQA.C");
152 TObject* paramContainer = mgr->GetParamOutputs()->At(0);
153 if ( paramContainer ) {
154 TFile*
file = TFile::Open(outfilename);
155 if ( file->FindObjectAny(paramContainer->GetName() ) ) {
156 printf(
"\nTerminate was already executed!\n");
157 printf(
"Nothing to be done\n");
166 if ( ! mgr->InitAnalysis()) {
167 printf(
"Fatal: Cannot initialize analysis\n");
171 mgr->StartAnalysis(
"grid terminate");
Quality assurance of MUON ESDs.
Int_t GetRunNumber(TString filePath)
void CopyFile(TString inFilename, TString baseOutDir=".", Bool_t makeRunDir=kTRUE, TString changeFilename="")
AliAnalysisAlien * CreateAlienHandler()
TFile * file
TList with histograms for a given trigger.
void terminateQA(TString outfilename="QAresults.root", Bool_t force=kFALSE, Bool_t runTrig=kFALSE, Bool_t usePhysicsSelection=kTRUE)