X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWG1%2FPilotTrain%2FrunPilot.C;h=0151ad19df059b2c0452e59c983d2471cffc9078;hb=b06a579c6b4cded46af77960c7d4e932c43a481f;hp=fa8c5cc1555fa0cb72a6305a22c39860788e2af7;hpb=d1e6851d2e408bd0e1389d387977a1fbba349733;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWG1/PilotTrain/runPilot.C b/PWG1/PilotTrain/runPilot.C index fa8c5cc1555..0151ad19df0 100644 --- a/PWG1/PilotTrain/runPilot.C +++ b/PWG1/PilotTrain/runPilot.C @@ -1,65 +1,76 @@ -void runPilot(Int_t run) { +void runPilot() { TStopwatch timer; timer.Start(); - gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS"); + gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT -I$ALICE_ROOT/TRD"); gSystem->Load("libANALYSIS.so"); gSystem->Load("libANALYSISalice.so"); gSystem->Load("libTENDER.so"); + gSystem->Load("libCORRFW.so"); gSystem->Load("libPWG0base.so"); gSystem->Load("libPWG0dep.so"); gSystem->Load("libPWG0selectors.so"); gSystem->Load("libPWG1.so"); gSystem->Load("libPWG2.so"); + gSystem->Load("libPWG3muon.so"); + gSystem->Load("libPWG3muondep.so"); gSystem->Load("libPWG2forward.so"); - + gSystem->Load("libPWG4PartCorrBase.so"); + gSystem->Load("libPWG4PartCorrDep.so"); - - Bool_t doQAsym = 1; - Bool_t doVZERO = 1; - Bool_t doVertex = 1; - Bool_t doSPD = 1; - Bool_t doFMD = 1; - Bool_t doTPC = 1; - Bool_t doEventStat = 1; - Bool_t doSDD = 1; + Bool_t doQAsym = 1; // (data) + Bool_t doVZERO = 1; // (data) + Bool_t doVertex = 1; // (data) + Bool_t doSPD = 1; // (data/RP) + Bool_t doFMD = 1; // (data) + Bool_t doTPC = 1; // AliPerformanceTask (data/MCtruth) + Bool_t doEventStat = 1; // (data) + Bool_t doSDD = 1; // (data/RP) + Bool_t doTRD = 1; // TRD + Bool_t doITS = 1; // ITS + Bool_t doCALO = 1; // Calorimeter + Bool_t doMUONTrig = 1; // MUON trigger + Bool_t doMUONEff = 0; // MUON efficiency NEEDS geometry + Bool_t doV0 = 0; // V0 recosntruction performance NEEDS MCtruth + + // + // + // Tasks that need MC information + // + + + //____________________________________________// // Make the analysis manager AliAnalysisManager *mgr = new AliAnalysisManager("TestManager"); - mgr->SetDebugLevel(2); + mgr->SetDebugLevel(10); - AliVEventHandler* esdH = new AliESDInputHandlerRP; + + AliInputEventHandler* esdH = new AliESDInputHandlerRP(); + esdH->SetActiveBranches("ESDfriend"); mgr->SetInputEventHandler(esdH); // Chain + // TGrid::Connect("alien://"); + TChain* chain = new TChain("esdTree"); - chain->AddFile("~/104321/AliESDs.root"); + //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.10/AliESDs.root"); + //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.20/AliESDs.root"); + chain->AddFile("/home/morsch/AliRoot/trunk/PWG1/PilotTrain/data/AliESDs.root"); + // - // Wagons + // Wagons running on data // // - // Collision Selector (static) - AliPhysicsSelection* colsel = new AliPhysicsSelection(); - AliAnalysisTaskSE::SetCollisionSelector(colsel); - - - // TPC QA (E. Sicking) - // - if (doQAsym) { - gROOT->LoadMacro("AddTaskQAsym.C"); - AliAnalysisTaskSE* task1 = AddTaskQAsym(); - task1->SelectCollisionCandidates(); - } - // // VZERO QA (C. Cheshkov) // if (doVZERO) { gROOT->LoadMacro("AddTaskVZEROQA.C"); AliAnalysisTaskSE* task2 = AddTaskVZEROQA(0); - task2->SelectCollisionCandidates(); +// task2->SelectCollisionCandidates(); } // @@ -70,24 +81,29 @@ void runPilot(Int_t run) { AliAnalysisTaskVertexESD* task3 = AddTaskVertexESD(); task3->SelectCollisionCandidates(); } + + // + // ITS + // + if (doITS) { + gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceITS.C"); + AliAnalysisTaskITSTrackingCheck *itsQA = AddTaskPerformanceITS(kFALSE); + } // // SPD (A. Mastroserio) // if (doSPD) { - gROOT->LoadMacro("AliAnalysisTaskSPD.cxx++g"); gROOT->LoadMacro("AddTaskSPDQA.C"); AliAnalysisTaskSE* task4 = AddTaskSPDQA(); - task4->SelectCollisionCandidates(); } // // SDD (F. Prino) // if (doSDD) { - gROOT->LoadMacro("AliAnalysisTaskSDDRP.cxx++g"); gROOT->LoadMacro("AddSDDPoints.C"); - AliAnalysisTaskSE* task5 = AddSDDPoints(run); + AliAnalysisTaskSE* task5 = AddSDDPoints(); task5->SelectCollisionCandidates(); } @@ -99,32 +115,75 @@ void runPilot(Int_t run) { AliAnalysisTaskSE* task6 = AddTaskFMD(); task6->SelectCollisionCandidates(); } - + + // TPC QA (E. Sicking) + // + if (doQAsym) { + gROOT->LoadMacro("AddTaskQAsym.C"); + AliAnalysisTaskSE* task1 = AddTaskQAsym(); + task1->SelectCollisionCandidates(); + } // // TPC (Jacek Otwinowski) // if (doTPC) { + // + // Optionally MC information can be used by setting the 1st argument to true gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/TPC/macros/AddTaskPerformanceTPCQA.C"); AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(kFALSE, kTRUE); } + + // + // TRD (Alex Bercuci, M. Fasel) + // + if(doTRD) { + gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTrainPerformanceTRD.C"); + AddTrainPerformanceTRD("ALL"); + } // // Event Statistics (Jan Fiete) // - if (doEventStat) { - gROOT->LoadMacro("AddTaskEventStats.C"); - AddTaskEventStats(); + gROOT->LoadMacro("AddTaskPhysicsSelection.C"); + AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(); + AliPhysicsSelection* physSel = physSelTask->GetPhysicsSelection(); + physSel->AddBackgroundIdentification(new AliBackgroundSelection()); } + if(doCALO) { + gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/QA/AddTaskCalorimeterQA.C"); + AliAnalysisTaskParticleCorrelation *taskCaloQA = AddTaskCalorimeterQA("ESD", kTRUE, kFALSE); + taskCaloQA->SetDebugLevel(0); + } + + if(doMUONTrig) { + gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskMTRchamberEfficiency.C"); + AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency(); + } + + if(doMUONEff) { + gROOT->LoadMacro("$ALICE_ROOT/PWG3/muondep/AddTaskMUONTrackingEfficiency.C"); + AliAnalysisTaskMuonTrackingEff *taskMuonTrackEff = AddTaskMUONTrackingEfficiency(); + } + + if (doV0) { + gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskV0QA.C"); + AliAnalysisTaskV0QA *taskv0QA = AddTaskV0QA(kFALSE); + } + + + // + // Wagons that need MC + // // Init if (!mgr->InitAnalysis()) mgr->PrintStatus(); - + mgr->PrintStatus(); // Run on dataset - mgr->StartAnalysis("local", chain, 500); + mgr->StartAnalysis("local", chain); timer.Stop(); timer.Print(); }