From d0bcc11e0791489db5c54b036eae39f16b52795e Mon Sep 17 00:00:00 2001 From: hristov Date: Wed, 25 Jan 2012 15:10:03 +0000 Subject: [PATCH] Additional changes for HF-MUON --- PWG/CMakelibPWGmuon.pkg | 2 - PWG/CMakelibPWGmuondep.pkg | 5 - PWG/PWGmuonLinkDef.h | 2 - PWG/PWGmuondepLinkDef.h | 5 - PWG/muon/TransferMuonQATrain.C | 330 ------------------ PWG/muondep/AliAnalysisTaskPileup.h | 1 + PWG/muondep/AliAnalysisTaskRecoCheck.cxx | 188 ---------- PWG/muondep/AliAnalysisTaskRecoCheck.h | 40 --- PWG/muondep/MuonTrackingEffAnalysis.C | 99 ------ PWG/muondep/RunMuonTrackingEffAnalysis.C | 84 ----- PWG/muondep/RunRecoCheck.C | 90 ----- PWGPP/CMakelibPWGPP.pkg | 10 +- .../MUON/dep}/AddTaskMUONTrackingEfficiency.C | 0 .../MUON/dep}/AddTaskMuonFakes.C | 0 .../MUON/dep}/AddTaskMuonPerformance.C | 0 .../MUON/dep}/AddTaskMuonResolution.C | 0 .../MUON/dep}/AliAnalysisTaskMuonFakes.cxx | 0 .../MUON/dep}/AliAnalysisTaskMuonFakes.h | 0 .../dep}/AliAnalysisTaskMuonPerformance.cxx | 0 .../dep}/AliAnalysisTaskMuonPerformance.h | 0 .../dep}/AliAnalysisTaskMuonResolution.cxx | 0 .../MUON/dep}/AliAnalysisTaskMuonResolution.h | 0 .../dep}/AliAnalysisTaskMuonTrackingEff.cxx | 0 .../dep}/AliAnalysisTaskMuonTrackingEff.h | 0 .../MUON/dep}/MuonResolution.C | 0 .../MUON/dep}/MuonTrackingEfficiency.C | 0 .../MUON/dep}/RunMuonResolution.C | 0 .../MUON/lite}/AliAnalysisTaskMuonQA.cxx | 0 .../MUON/lite}/AliAnalysisTaskMuonQA.h | 0 .../MUON/lite}/AliAnalysisTaskTrigChEff.cxx | 0 .../MUON/lite}/AliAnalysisTaskTrigChEff.h | 0 .../MUON/lite}/AnalysisTrigChEff.C | 0 .../muon => PWGPP/MUON/lite}/PlotEfficiency.C | 0 {PWG/muon => PWGPP/MUON/lite}/PlotMuonQA.C | 0 {PWG/muon => PWGPP/MUON/lite}/RunMuonQA.C | 0 .../muon => PWGPP/MUON/lite}/mergeGridFiles.C | 0 {PWG/muon => PWGPP/MUON/lite}/runQA.sh | 0 {PWG/muon => PWGPP/MUON/lite}/terminateQA.C | 0 {PWG/muon => PWGPP/MUON/lite}/trigEffQA.C | 0 PWGPP/PWGPPLinkDef.h | 9 + .../muon => PWGPP/PilotTrain}/AddTaskMuonQA.C | 0 41 files changed, 18 insertions(+), 847 deletions(-) delete mode 100644 PWG/muon/TransferMuonQATrain.C delete mode 100644 PWG/muondep/AliAnalysisTaskRecoCheck.cxx delete mode 100644 PWG/muondep/AliAnalysisTaskRecoCheck.h delete mode 100644 PWG/muondep/MuonTrackingEffAnalysis.C delete mode 100644 PWG/muondep/RunMuonTrackingEffAnalysis.C delete mode 100644 PWG/muondep/RunRecoCheck.C rename {PWG/muondep => PWGPP/MUON/dep}/AddTaskMUONTrackingEfficiency.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AddTaskMuonFakes.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AddTaskMuonPerformance.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AddTaskMuonResolution.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonFakes.cxx (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonFakes.h (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonPerformance.cxx (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonPerformance.h (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonResolution.cxx (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonResolution.h (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonTrackingEff.cxx (100%) rename {PWG/muondep => PWGPP/MUON/dep}/AliAnalysisTaskMuonTrackingEff.h (100%) rename {PWG/muondep => PWGPP/MUON/dep}/MuonResolution.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/MuonTrackingEfficiency.C (100%) rename {PWG/muondep => PWGPP/MUON/dep}/RunMuonResolution.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/AliAnalysisTaskMuonQA.cxx (100%) rename {PWG/muon => PWGPP/MUON/lite}/AliAnalysisTaskMuonQA.h (100%) rename {PWG/muon => PWGPP/MUON/lite}/AliAnalysisTaskTrigChEff.cxx (100%) rename {PWG/muon => PWGPP/MUON/lite}/AliAnalysisTaskTrigChEff.h (100%) rename {PWG/muon => PWGPP/MUON/lite}/AnalysisTrigChEff.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/PlotEfficiency.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/PlotMuonQA.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/RunMuonQA.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/mergeGridFiles.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/runQA.sh (100%) rename {PWG/muon => PWGPP/MUON/lite}/terminateQA.C (100%) rename {PWG/muon => PWGPP/MUON/lite}/trigEffQA.C (100%) rename {PWG/muon => PWGPP/PilotTrain}/AddTaskMuonQA.C (100%) diff --git a/PWG/CMakelibPWGmuon.pkg b/PWG/CMakelibPWGmuon.pkg index 5c8d94958b0..c9f50b74b97 100644 --- a/PWG/CMakelibPWGmuon.pkg +++ b/PWG/CMakelibPWGmuon.pkg @@ -36,7 +36,6 @@ set ( SRCS muon/AliAnalysisTaskFromStandardToMuonAOD.cxx muon/AliAnalysisTaskSingleMu.cxx muon/AliAnalysisTaskLUT.cxx - muon/AliAnalysisTaskTrigChEff.cxx muon/AliAnalysisTaskLinkToMC.cxx muon/AliAODEventInfo.cxx muon/AliESDMuonTrackCuts.cxx @@ -55,7 +54,6 @@ set ( SRCS muon/AliAnalysisTaskSEMuonsHF.cxx muon/AliAnalysisTaskDimuonCFContainerBuilder.cxx muon/AliAnalysisTaskMuonTreeBuilder.cxx - muon/AliAnalysisTaskMuonQA.cxx muon/AliAODMuonReplicator.cxx muon/AliAnalysisTaskMuonCollisionMultiplicity.cxx muon/AliCFMuonResUpsilon.cxx diff --git a/PWG/CMakelibPWGmuondep.pkg b/PWG/CMakelibPWGmuondep.pkg index 87170dcd253..686559087ed 100644 --- a/PWG/CMakelibPWGmuondep.pkg +++ b/PWG/CMakelibPWGmuondep.pkg @@ -27,14 +27,9 @@ #--------------------------------------------------------------------------------# set ( SRCS - muondep/AliAnalysisTaskMuonTrackingEff.cxx - muondep/AliAnalysisTaskRecoCheck.cxx muondep/AliAnalysisTaskESDMCLabelAddition.cxx - muondep/AliAnalysisTaskMuonResolution.cxx muondep/AliAnalysisTaskPileup.cxx - muondep/AliAnalysisTaskMuonFakes.cxx muondep/AliAnalysisTaskMuonRefit.cxx - muondep/AliAnalysisTaskMuonPerformance.cxx ) string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" ) diff --git a/PWG/PWGmuonLinkDef.h b/PWG/PWGmuonLinkDef.h index 02a832ecfe4..628c3d457d5 100644 --- a/PWG/PWGmuonLinkDef.h +++ b/PWG/PWGmuonLinkDef.h @@ -13,7 +13,6 @@ #pragma link C++ class AliAODMuonReplicator+; #pragma link C++ class AliAnalysisNonMuonTrackCuts+; #pragma link C++ class AliAnalysisNonPrimaryVertices+; -#pragma link C++ class AliAnalysisTaskTrigChEff+; #pragma link C++ class AliESDMuonTrackCuts+; #pragma link C++ class AliAnalysisTaskSingleMuESD+; #pragma link C++ class AliAnalysisTaskLinkToMC+; @@ -31,7 +30,6 @@ #pragma link C++ class AliAnalysisTaskSEMuonsHF+; #pragma link C++ class AliAnalysisTaskDimuonCFContainerBuilder+; #pragma link C++ class AliAnalysisTaskMuonTreeBuilder+; -#pragma link C++ class AliAnalysisTaskMuonQA+; #pragma link C++ class AliHistogramCollection+; #pragma link C++ class AliHistogramCollectionIterator+; #pragma link C++ class AliAnalysisTaskMuonCollisionMultiplicity+; diff --git a/PWG/PWGmuondepLinkDef.h b/PWG/PWGmuondepLinkDef.h index d3a40a3c0de..405379f9cb4 100644 --- a/PWG/PWGmuondepLinkDef.h +++ b/PWG/PWGmuondepLinkDef.h @@ -4,14 +4,9 @@ #pragma link off all classes; #pragma link off all functions; -#pragma link C++ class AliAnalysisTaskMuonTrackingEff+; -#pragma link C++ class AliAnalysisTaskRecoCheck+; #pragma link C++ class AliAnalysisTaskESDMCLabelAddition+; -#pragma link C++ class AliAnalysisTaskMuonResolution+; #pragma link C++ class AliAnalysisTaskPileup+; -#pragma link C++ class AliAnalysisTaskMuonFakes+; #pragma link C++ class AliAnalysisTaskMuonRefit+; -#pragma link C++ class AliAnalysisTaskMuonPerformance+; #endif diff --git a/PWG/muon/TransferMuonQATrain.C b/PWG/muon/TransferMuonQATrain.C deleted file mode 100644 index 90e72484edf..00000000000 --- a/PWG/muon/TransferMuonQATrain.C +++ /dev/null @@ -1,330 +0,0 @@ -//-------------------------------------------------------------------------- -// Macro for QA monitoring. -// -// In case it is not run with full aliroot, it needs the following libraries to compile: -// - libSTEERBase.so -// - libESD.so -// - libAOD.so -// - libANALYSIS.so -// - libANALYSISalice.so -// - libCORRFW.so -// - libPWGmuon.so -// -// TString includePath = "-I${ALICE_ROOT}/PWG3/base/ "; gSystem->SetIncludePath(includePath.Data()); - - -// The macro reads the PWGPP QA train output, produces a merged root files for the full period -// for event and track counters as well as separate root files run per run with all MUON_TRK related histograms. -// The results is stored under the directory "results". Then use PlotMUONQA.C, to draw QA histograms. -// -// Author: Cynthia Hadjidakis - IPN Orsay -//-------------------------------------------------------------------------- - -#if !defined(__CINT__) || defined(__MAKECINT__) - -#include - -// ROOT includes -#include "TROOT.h" -#include "TMath.h" -#include "TGrid.h" -#include "TGridCollection.h" -#include "TGridResult.h" -#include "TFile.h" -#include "TH1.h" -#include "TSystem.h" -#include "TStyle.h" -#include "TCanvas.h" -#include "TPad.h" - -// ALIROOT includes -#include "AliCounterCollection.h" - -#endif - -TObjArray * GetListOfFiles(const char* baseDir, const char * trainName, const char* inFile); -TObjArray * GetListOfRuns(const char* runList, TObjArray *&listoffiles); - -// .x TransferMuonQATrain.C("alien:///alice/data/2010/LHC10e","QA50","/Users/cynthia/Documents/alice/data/MuonQA/LHC10e/pass2/runlist_period3_test3.txt") -// .x TransferMuonQATrain.C("alien:///alice/cern.ch/user/s/suire/LHC10hV2116/output","","mylist.txt","AnalysisResults.root") -//-------------------------------------------------------------------------- -Bool_t TransferMuonQATrain_v4(const char* baseDir, const char * trainName, const char* runList,char* inputFile = "QAresults.root") -{ -#if defined(__CINT__) && !defined(__MAKECINT__) - gSystem->Load("libTree"); - gSystem->Load("libGeom"); - gSystem->Load("libVMC"); - gSystem->Load("libPhysics"); - gSystem->Load("libSTEERBase"); - gSystem->Load("libESD"); - gSystem->Load("libAOD"); - gSystem->Load("libANALYSIS"); - gSystem->Load("libANALYSISalice"); - gSystem->Load("libCORRFW"); - gSystem->Load("libPWGHFbase"); - gSystem->Load("libPWGmuon"); -#endif - - TString sbaseDir = baseDir; - if (sbaseDir.Contains("alien:") && !TGrid::Connect("alien://")) { - Error("MuonQATrain","cannot connect to grid"); - return 0; - } - - //----------------------------------------------------------- // - // Build the list of files, the list of runs // - // to be processed - //----------------------------------------------------------- // - - TObjArray *listoffiles = (TObjArray*) GetListOfFiles(baseDir,trainName,inputFile); - if(!listoffiles) return kFALSE; - TObjArray *runs = (TObjArray*) GetListOfRuns(runList,listoffiles); - if(!runs||!listoffiles){ - Error("TransferMuonQATrain","cannot get a list of selected runs or files"); - return kFALSE; - } - printf("TransferMuonQATrain: Files found to be processed = %d\n",runs->GetEntriesFast()); - if(runs->GetEntriesFast()==0) return kFALSE; - - //-------------------------------------// - // Loop over the files on grid // - //-------------------------------------// - - TFile *file = 0; - TIter next0(listoffiles); - TObject *nextfile; - TString snextfile; - Int_t nFiles = -1; - AliCounterCollection *trackCounters = 0; - AliCounterCollection *eventCounters = 0; - AliCounterCollection *mergedTrackCounters = 0; - AliCounterCollection *mergedEventCounters = 0; - TObjArray* outputList; - TObjArray* outputListExpert; - TObjArray* outputListNorm; - TFile outputHistoFile; - TString fileName; - - TString command = "mkdir results"; - cout<<"Shell command = "<Exec(command.Data()); - - while ((nextfile=next0())) { - - nFiles++; - snextfile = nextfile->GetName(); - //Open the file - file = TFile::Open(snextfile.Data()); - if(!file) continue; - - outputList = (TObjArray *)file->Get("MUON_QA/general1"); - outputListExpert = (TObjArray *)file->Get("MUON_QA/expert"); - outputListNorm = (TObjArray *)file->Get("MUON_QA/general2"); - - trackCounters = (AliCounterCollection *) file->Get("MUON_QA/trackCounters"); - eventCounters = (AliCounterCollection *) file->Get("MUON_QA/eventCounters"); - - if(!trackCounters || !eventCounters){ - Error("TransferMuonQATrain","Objects not found for that file"); - continue; - } - - //-------------------------------------// - // Merge the AliCounterCollection - //-------------------------------------// - if(nFiles==0){ - mergedTrackCounters = (AliCounterCollection*) trackCounters->Clone(); - mergedEventCounters = (AliCounterCollection*) eventCounters->Clone(); - } - else{ - mergedTrackCounters->Add(trackCounters); - mergedEventCounters->Add(eventCounters); - } - - - //-------------------------------------// - // Save the MUONQA histos in AnalysisResults.root for each run number - //-------------------------------------// - fileName = "AnalysisResults.root"; - outputHistoFile.Open(fileName,"recreate"); - new TDirectoryFile("MUON_QA","MUON_QA"); - outputHistoFile.Cd("MUON_QA"); - - TDirectory *dir0 = (TDirectory*) file->GetDirectory("MUON_QA"); - TObjArray* general1 = static_cast(dir0->FindObjectAny("general1")); - TObjArray* expert = static_cast(dir0->FindObjectAny("expert")); - TObjArray* general2 = static_cast(dir0->FindObjectAny("general2")); - - if(general1) general1->Write("general1",TObject::kSingleKey); - if(general2) general2->Write("general2",TObject::kSingleKey); - if(expert) expert->Write("expert",TObject::kSingleKey); - outputHistoFile.Close(); - - command = "mkdir -p results/"; - command+=((TObjString*)runs->UncheckedAt(nFiles))->GetString(); - cout<<"Shell command = "<Exec(command.Data()); - command=" mv AnalysisResults.root results/"; - command+=((TObjString*)runs->UncheckedAt(nFiles))->GetString(); - command+= "/."; - cout<<"Shell command = "<Exec(command.Data()); - } //end of loop over files - - //-------------------------------------// - // Save the AliCounterCollection in MergedAnalysisResults.root - //-------------------------------------// - - TFile outputFile("MergedAnalysisResults.root","recreate"); - new TDirectoryFile("MUON_QA","MUON_QA"); - outputFile.Cd("MUON_QA"); - - mergedTrackCounters->Write(); - mergedEventCounters->Write(); - outputFile.Close(); - - command = "mv MergedAnalysisResults.root results/."; - cout<<"Shell command = "<Exec(command.Data()); - - return kTRUE; -} - -TObjArray * GetListOfRuns(const char* runList, TObjArray *&listoffiles) -{ - - TObjArray * runs = new TObjArray(); - runs->SetOwner(); - - if(!runList){ - Error("GetListOfruns","runList is not defined... exit"); - return 0; - } - else { - // only the ones in the runList - ifstream inFile(runList); - if (!inFile.is_open()) { - Error("GetListOfRuns",Form("unable to open file %s", runList)); - return 0; - } - - TString currRun; - while (!inFile.eof()) { - currRun.ReadLine(inFile, kTRUE); - if (currRun.IsNull()) continue; - if (!currRun.IsDigit()) { - Error("GetListOfRuns","invalid run number: %s", currRun.Data()); - return 0; - } - runs->AddLast(new TObjString(Form("%09d", currRun.Atoi()))); - } - - inFile.close(); - } - - printf("GetListOfRuns: Nr of runs in the runlist = %d and in the list of files = %d\n",runs->GetEntriesFast(),listoffiles->GetEntriesFast()); - - if(runList && listoffiles){ - //Filter the selected runs and modify listoffiles - TObjArray* runsFound = new TObjArray(); - runsFound->SetOwner(); - - //filter the selected runs - TIter next0(listoffiles); - TObject *nextfile; - TString snextfile; - Int_t isFound = 0; - - TObjArray *listoffilestmp = new TObjArray(); - listoffilestmp->SetOwner(); - while ((nextfile=next0())) {//loop over files found on alien - snextfile = nextfile->GetName(); - isFound = 0; - for ( Int_t irun=0; irunGetEntriesFast(); irun++ ) { //loop over selected runs - TString run = ((TObjString*)runs->UncheckedAt(irun))->GetString(); - if(snextfile.Contains(run)){ - listoffilestmp->Add(nextfile); - runsFound->AddLast(new TObjString(Form("%09d", run.Atoi()))); - isFound=1; - } - } - if(isFound==0) printf("GetListOfRuns: run = %s not found in the list of files.... continue....\n",snextfile.Data()); - - } - runs = runsFound; - listoffiles->Clear(); - listoffiles = (TObjArray*) listoffilestmp->Clone(); - - printf("GetListOfRuns Nr of selected runs corresponding to the list of files = %d \n",runs->GetEntriesFast()); - } - - return runs; - -} - -TObjArray* GetListOfFiles(const char* baseDir, const char * trainName, const char* inFile) -{ - - TString sbaseDir = baseDir; - TString strainName = trainName; - TString inputFile = inFile; - TString command; - - if(!sbaseDir.Contains("alien://")){ - Error("GetListOfFiles","Not implemented for files not on alien-->exit"); - return 0; - } - - sbaseDir.ReplaceAll("alien://", ""); - - TObjArray *listoffiles = new TObjArray(); - - if (sbaseDir.Contains(".xml")) { - // Read files pointed by the xml - TGridCollection *coll = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\");", sbaseDir.Data())); - if (!coll) { - ::Error("GetListOfFiles", "Input XML collection empty."); - return 0; - } - // Iterate grid collection - while (coll->Next()) { - TString fname = gSystem->DirName(coll->GetTURL()); - fname += "/"; - fname += inputFile; - listoffiles->Add(new TNamed(fname.Data(),"")); - } - } - else { - command = Form("find %s/ *%s/%s", sbaseDir.Data(), strainName.Data(), inputFile.Data()); - printf("command: %s\n", command.Data()); - TGridResult *res = gGrid->Command(command); - if (!res) { - ::Error("GetListOfFiles","No result for the find command\n"); - cout << sbaseDir.Data() << " " << strainName.Data() << endl ; - delete listoffiles; - return 0; - } - TIter nextmap(res); - TMap *map = 0; - while ((map=(TMap*)nextmap())) { - TObjString *objs = dynamic_cast(map->GetValue("turl")); - if (!objs || !objs->GetString().Length()) { - // Nothing found - skip this output - delete res; - delete listoffiles; - return 0; - } - listoffiles->Add(new TNamed(objs->GetName(),"")); - } - delete res; - } - if (!listoffiles->GetEntries()) { - ::Error("GetListOfFiles","No files from the find command=%s\n",command.Data()); - delete listoffiles; - return 0; - } - else printf("GetListOfFiles: Number of files found %d\n",listoffiles->GetEntries()); - - return listoffiles; - -} diff --git a/PWG/muondep/AliAnalysisTaskPileup.h b/PWG/muondep/AliAnalysisTaskPileup.h index 71738b675db..5e73ce271f2 100644 --- a/PWG/muondep/AliAnalysisTaskPileup.h +++ b/PWG/muondep/AliAnalysisTaskPileup.h @@ -19,6 +19,7 @@ class TObjArray; class TString; class TArrayI; class AliCounterCollection; +class TAxis; #ifdef READOCDB class AliTriggerRunScalers; diff --git a/PWG/muondep/AliAnalysisTaskRecoCheck.cxx b/PWG/muondep/AliAnalysisTaskRecoCheck.cxx deleted file mode 100644 index d06a78fee68..00000000000 --- a/PWG/muondep/AliAnalysisTaskRecoCheck.cxx +++ /dev/null @@ -1,188 +0,0 @@ - -/* $Id$ */ - -#include "TChain.h" -#include "TClonesArray.h" -#include "TLorentzVector.h" -#include "TIterator.h" - -#include "AliStack.h" - -#include "AliAnalysisTask.h" -#include "AliAnalysisManager.h" - -#include "AliESDEvent.h" -#include "AliESDInputHandler.h" -#include "AliESDMuonTrack.h" - -#include "AliMCEventHandler.h" -#include "AliMCEvent.h" - -#include "AliAnalysisTaskRecoCheck.h" - -#include "AliMUONTrackLight.h" -#include "AliMUONPairLight.h" -#include "AliMUONVTrackStore.h" -#include "AliMUONTrack.h" -#include "AliMUONESDInterface.h" -#include "AliMUONRecoCheck.h" - -// analysis task for decoding reconstructed tracks and kinematics (AliMUONRecoCheck) -// Authors: Bogdan Vulpescu - -ClassImp(AliAnalysisTaskRecoCheck) - -//________________________________________________________________________ -AliAnalysisTaskRecoCheck::AliAnalysisTaskRecoCheck(const char *name) - : AliAnalysisTask(name, ""), fESDEvent(0), fTree(0), fArray1Mu(0), fArray2Mu(0), fL3Current(30000.0) -{ - // Constructor - - // Define input and output slots here - // Input slot #0 works with a TChain - DefineInput(0, TChain::Class()); - // Output slot #0 writes into a TTree container - DefineOutput(0, TTree::Class()); - -} - -//________________________________________________________________________ -void AliAnalysisTaskRecoCheck::ConnectInputData(Option_t *) -{ - // Connect ESD or AOD here - // Called once - - TTree* tree = dynamic_cast (GetInputData(0)); - if (!tree) { - Printf("ERROR: Could not read chain from input slot 0"); - } else { - tree->SetBranchStatus("*", kFALSE); - tree->SetBranchStatus("MuonTracks.*", kTRUE); - tree->SetBranchStatus("AliESDHeader.*", kTRUE); - - AliESDInputHandler *esdH = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()); - - if (!esdH) { - Printf("ERROR: Could not get ESDInputHandler"); - } else - fESDEvent = esdH->GetEvent(); - } - -} - -//________________________________________________________________________ -void AliAnalysisTaskRecoCheck::CreateOutputObjects() -{ - // Create output tree with branches of arrays - // Called once - - fArray1Mu = new TClonesArray("AliMUONTrackLight",0); - fArray2Mu = new TClonesArray("AliMUONPairLight",0); - fTree = new TTree("tree","tree",0); - fTree->Branch("muons", &fArray1Mu); - fTree->Branch("dimuons",&fArray2Mu); - fTree->SetDirectory(0); - -} - -//________________________________________________________________________ -void AliAnalysisTaskRecoCheck::Exec(Option_t *) -{ - // Main loop - // Called for each event - - // Process MC truth, therefore we receive the AliAnalysisManager and ask it for the AliMCEventHandler - // This handler can return the current MC event - - Int_t nTracks = fESDEvent->GetNumberOfMuonTracks(); - if (nTracks == 0) return; - - AliMCEventHandler* eventHandler = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); - if (!eventHandler) { - Printf("ERROR: Could not retrieve MC event handler"); - return; - } - - AliMCEvent* mcEvent = eventHandler->MCEvent(); - if (!mcEvent) { - Printf("ERROR: Could not retrieve MC event"); - return; - } - - fArray1Mu->Clear(); - fArray2Mu->Clear(); - - TLorentzVector v; - - AliMUONRecoCheck *rc = new AliMUONRecoCheck(fESDEvent, eventHandler); - - AliMUONVTrackStore* trackRefs = rc->TrackRefs(-1); - AliStack* pstack = mcEvent->Stack(); - - // loop over ESD tracks - Int_t nreftracks = 0; - for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) { - - AliESDMuonTrack* esdTrack = fESDEvent->GetMuonTrack(iTrack); - - // skip ghosts - if (!esdTrack->ContainTrackerData()) continue; - - // convert ESD track to MUON track (without recomputing track parameters at each clusters) - AliMUONTrack muonTrack; - AliMUONESDInterface::ESDToMUON(*esdTrack, muonTrack, kFALSE); - - // try to match the reconstructed track with a simulated one - Int_t nMatchClusters = 0; - AliMUONTrack* matchedTrackRef = rc->FindCompatibleTrack(muonTrack, *trackRefs, nMatchClusters, kFALSE, 10.); - - if (matchedTrackRef) { - - //store new referenced track in the muonArray with parameters from the reconstructed tracks - AliMUONTrackLight* muLight = new ((*fArray1Mu)[nreftracks++]) AliMUONTrackLight(esdTrack); - - // store further information related to the simulated track - muLight->SetTrackPythiaLine(matchedTrackRef->GetUniqueID()); - TParticle *part = pstack->Particle(matchedTrackRef->GetUniqueID()); - muLight->SetTrackPDGCode(part->GetPdgCode()); - v.SetPxPyPzE(part->Px(), part->Py(), part->Pz(), part->Energy()); - muLight->SetPGen(v); - muLight->FillMuonHistory(pstack, part); - - } - - } // end esd track - - // now loop over muon pairs to build dimuons - Int_t nmuons = fArray1Mu->GetEntriesFast(); - Int_t ndimuons = 0; - for(Int_t itrRec1 = 0; itrRec1 < nmuons-1; itrRec1++) { - AliMUONTrackLight* mu1 = (AliMUONTrackLight*) fArray1Mu->At(itrRec1); - for(Int_t itrRec2 = itrRec1+1; itrRec2 < nmuons; itrRec2++){ - AliMUONTrackLight* mu2 = (AliMUONTrackLight*) fArray1Mu->At(itrRec2); - AliMUONPairLight dimuLight; - dimuLight.SetMuons(*mu1, *mu2); - //dimuLight.PrintInfo("A"); - TClonesArray &dimuons = *fArray2Mu; - new (dimuons[ndimuons++]) AliMUONPairLight(dimuLight); - } - } - - delete rc; - - // Post output data. - if (nreftracks != 0) { - fTree->Fill(); - } - - PostData(0, fTree); - - -} - -//________________________________________________________________________ -void AliAnalysisTaskRecoCheck::Terminate(Option_t *) -{ - // the end - -} diff --git a/PWG/muondep/AliAnalysisTaskRecoCheck.h b/PWG/muondep/AliAnalysisTaskRecoCheck.h deleted file mode 100644 index 39e1d7c65d1..00000000000 --- a/PWG/muondep/AliAnalysisTaskRecoCheck.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef AliAnalysisTaskRecoCheck_cxx -#define AliAnalysisTaskRecoCheck_cxx - -/* $Id$ */ - -// analysis task for decoding reconstructed tracks and kinematics (AliMUONRecoCheck) -// Authors: Bogdan Vulpescu - -class TTree; -class TClonesArray; -class AliESDEvent; - -#include "AliAnalysisTask.h" - -class AliAnalysisTaskRecoCheck : public AliAnalysisTask { - public: - AliAnalysisTaskRecoCheck(const char *name = "AliAnalysisTaskRecoCheck"); - virtual ~AliAnalysisTaskRecoCheck() {} - - virtual void ConnectInputData(Option_t *); - virtual void CreateOutputObjects(); - virtual void Exec(Option_t *option); - virtual void Terminate(Option_t *); - - void SetL3Current(Float_t val) { fL3Current = val; } - - private: - AliESDEvent *fESDEvent; // ESD object - TTree *fTree; // output tree - TClonesArray *fArray1Mu; // per event array of single muons - TClonesArray *fArray2Mu; // per event array of muon pairs - Float_t fL3Current; // current in the L3 magnet for field calculation - - AliAnalysisTaskRecoCheck(const AliAnalysisTaskRecoCheck&); // not implemented - AliAnalysisTaskRecoCheck& operator=(const AliAnalysisTaskRecoCheck&); // not implemented - - ClassDef(AliAnalysisTaskRecoCheck, 1); // ESD and Kine analysis with RecoCheck -}; - -#endif diff --git a/PWG/muondep/MuonTrackingEffAnalysis.C b/PWG/muondep/MuonTrackingEffAnalysis.C deleted file mode 100644 index 11a5f0077b5..00000000000 --- a/PWG/muondep/MuonTrackingEffAnalysis.C +++ /dev/null @@ -1,99 +0,0 @@ -// 2008 -// Macro for the running of the AliAnalysisTaskMuonTrackingEff -// - -// ROOT includes -#include -#include -#include -#include -#include - -// PWG3 includes -#include "AliAnalysisTaskMuonTrackingEff.h" - -// ANALYSIS includes -#include "AliAnalysisManager.h" -#include "AliAnalysisDataContainer.h" - -// STEER includes -#include "AliESDInputHandler.h" -#include "AliCDBManager.h" - -// MUON includes -#include "AliMUONGeometryTransformer.h" - - - -void MuonTrackingEffAnalysis(const Bool_t alien = false, const Int_t run = 100, const char * fileName = "AliESDs.root", const char * geometryFileName = "geometry.root", Bool_t isCosmicData = kFALSE) -{ -//Chain construction - TChain *chain = new TChain("esdTree"); - chain->Add(fileName); - - - // Name of the output file - const Char_t* outputName = "MuonTrackingChamberEffHistos.root"; - -//Load OCD - AliCDBManager* man = AliCDBManager::Instance(); - TString ocdbPath; - if(alien) - { - ocdbPath = "alien://folder=/alice/data/2008/LHC08a/OCDB"; - } - else - { - ocdbPath = "local://$ALICE_ROOT/OCDB"; - } - - man->SetDefaultStorage(ocdbPath.Data()); - man->SetSpecificStorage("MUON/Calib/Mapping",ocdbPath); - man->SetRun(run); - -//Load Geometry - AliMUONGeometryTransformer* transformer = new AliMUONGeometryTransformer(); - transformer->LoadGeometryData(geometryFileName); - - -//Make analysis manager: - AliAnalysisManager* mgr = new AliAnalysisManager("Manager", "Manager"); - AliAnalysisTaskMuonTrackingEffComplete* ESDTask = new AliAnalysisTaskMuonTrackingEffComplete("ESDTask", transformer, isCosmicData); - AliESDInputHandler* inHandler = new AliESDInputHandler(); - - mgr->SetInputEventHandler (inHandler ); -// mgr->SetDebugLevel(10); - mgr->AddTask(ESDTask); - -//Create containers for input/output - AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer(); - AliAnalysisDataContainer *coutput0 = - mgr->CreateContainer("TracksDetectedPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - AliAnalysisDataContainer *coutput1 = - mgr->CreateContainer("TotalTracksPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - AliAnalysisDataContainer *coutput2 = - mgr->CreateContainer("EfficiencyPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - AliAnalysisDataContainer *coutput3 = - mgr->CreateContainer("TracksDetectedPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - AliAnalysisDataContainer *coutput4 = - mgr->CreateContainer("TotalTracksPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - AliAnalysisDataContainer *coutput5 = - mgr->CreateContainer("EfficiencyPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName); - -//Connection - mgr->ConnectInput (ESDTask, 0, cinput0 ); - - mgr->ConnectOutput(ESDTask, 0, coutput0); - mgr->ConnectOutput(ESDTask, 1, coutput1); - mgr->ConnectOutput(ESDTask, 2, coutput2); - mgr->ConnectOutput(ESDTask, 3, coutput3); - mgr->ConnectOutput(ESDTask, 4, coutput4); - mgr->ConnectOutput(ESDTask, 5, coutput5); - -//Run analysis - if(mgr->InitAnalysis()) - { - //mgr->PrintStatus(); - mgr->StartAnalysis("Local", chain); - } -} diff --git a/PWG/muondep/RunMuonTrackingEffAnalysis.C b/PWG/muondep/RunMuonTrackingEffAnalysis.C deleted file mode 100644 index 9957799f6b1..00000000000 --- a/PWG/muondep/RunMuonTrackingEffAnalysis.C +++ /dev/null @@ -1,84 +0,0 @@ -// 2008 -// Macro for the running of the AliAnalysisTaskMuonTrackingEff -// - -void RunMuonTrackingEffAnalysis (Bool_t alien = false, - const char * macroFileName = "$ALICE_ROOT/PWG3/muon/MuonTrackingEffAnalysis.C", - const char * esdfileName = "AliESDs.root", - const char * geometryFileName = "geometry.root", - const char * analysisParFile = "ANALYSIS", - const char * pwg3ParFile = "PWG3", - const Int_t run = 100 - const Bool_t isCosmicData = kFALSE) -{ - if(alien) - { - //Grid connection - printf("*** Connect to AliEn ***\n"); - TGrid::Connect("alien://"); - gSystem->Load("libProofPlayer.so"); - } - -// //Load relevant libraries: -// gSystem->Load("libTree.so"); -// gSystem->Load("libGeom.so"); -// gSystem->Load("libSTEERBase.so"); - -// // setupPar("MUON"); -// gSystem->Load("libMUONbase.so"); -// gSystem->Load("libMUONgeometry.so"); -// gSystem->Load("libMUONmapping.so"); - -// // setupPar("ESD"); -// gSystem->Load("libESD.so"); - -// setupPar(analysisParFile); - gSystem->Load("libANALYSIS.so"); - gSystem->Load("libANALYSISalice.so"); - -// setupPar(pwg3ParFile); - gSystem->Load("libPWGmuon.so"); - - char macro[1024]; - sprintf(macro,"%s++",macroFileName); - gROOT->LoadMacro(macro); -// gROOT->LoadMacro("./BatchMuonTrackingEffAnalysis.C++"); - - MuonTrackingEffAnalysis(alien,run,esdfileName,geometryFileName, isCosmicData); -} - - - -Int_t setupPar(const char* pararchivename) -{ - //Setup PAR File - if (pararchivename) { - char processline[1024]; - sprintf(processline,".! tar xvzf %s.par",pararchivename); - gROOT->ProcessLine(processline); - const char* ocwd = gSystem->WorkingDirectory(); - gSystem->ChangeDirectory(pararchivename); - - // check for BUILD.sh and execute - if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) { - printf("*******************************\n"); - printf("*** Building PAR archive ***\n"); - printf("*******************************\n"); - - if (gSystem->Exec("PROOF-INF/BUILD.sh")) { - Error("runAnalysis","Cannot Build the PAR Archive! - Abort!"); - return -1; - } - } - // check for SETUP.C and execute - if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) { - printf("*******************************\n"); - printf("*** Setup PAR archive ***\n"); - printf("*******************************\n"); - gROOT->Macro("PROOF-INF/SETUP.C"); - } - - gSystem->ChangeDirectory("../"); - } - return 1; -} diff --git a/PWG/muondep/RunRecoCheck.C b/PWG/muondep/RunRecoCheck.C deleted file mode 100644 index 8df1320365d..00000000000 --- a/PWG/muondep/RunRecoCheck.C +++ /dev/null @@ -1,90 +0,0 @@ -//-------------------------------------------------------------------------- -// Base macro for submitting AliMUONRecoCheck analysis. -// -// The macro reads ESDs, Kinematics and TrackRefs and outputs file: -// - RecoCheck.root -//-------------------------------------------------------------------------- - -void RunRecoCheck(Bool_t local = kFALSE) { - - TStopwatch timer; - timer.Start(); - - gSystem->Load("libANALYSIS"); - gSystem->Load("libANALYSISalice"); - - gSystem->Load("libPWGmuondep.so"); - - TChain* chain = new TChain("esdTree"); - - if (!local) { - - printf("*** Connect to AliEn ***\n"); - TGrid::Connect("alien://"); - gSystem->Load("libProofPlayer.so"); - - TAlienCollection* coll = TAlienCollection::Open("wn.xml"); - TGridResult* result = coll->GetGridResult("",0,0); - for(Int_t i = 0; i < result->GetEntries(); i++) { - printf("TURL = %s \n",result->GetKey(i,"turl")); - chain->Add(result->GetKey(i,"turl")); - } - } else { - chain->Add("/path_1_to/AliESDs.root"); - chain->Add("/path_2_to/AliESDs.root"); - chain->Add("/path_3_to/AliESDs.root"); - } - - // set the magnetic field for track extrapolations - // look in the OCDB for the value of the magnet current - AliCDBManager* cdb = AliCDBManager::Instance(); - cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); - //cdb->SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-10-Release/Ideal/"); - cdb->SetRun(0); - - AliCDBEntry *entry; - entry = cdb->Get("GRP/GRP/Data"); - AliGRPObject *obj = (AliGRPObject*)entry->GetObject(); - Float_t currentL3 = obj->GetL3Current(0); - printf("Loading field map for L3 current = %f A ...\n",currentL3); - - AliLog::SetGlobalLogLevel(AliLog::kError); - - //____________________________________________// - // Make the analysis manager - AliAnalysisManager *mgr = new AliAnalysisManager("TestManager"); - AliVEventHandler* esdH = new AliESDInputHandler; - mgr->SetInputEventHandler(esdH); - AliMCEventHandler *mc = new AliMCEventHandler(); - mgr->SetMCtruthEventHandler(mc); - - //____________________________________________// - // ntuple task - AliAnalysisTaskRecoCheck *task = new AliAnalysisTaskRecoCheck("TaskRecoCheck"); - task->SetL3Current(currentL3); - mgr->AddTask(task); - - // Create containers for input/output - - // input - AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); - - // output - AliAnalysisDataContainer *coutput = mgr->CreateContainer("ctree", TTree::Class(),AliAnalysisManager::kOutputContainer,"RecoCheck.root"); - - //____________________________________________// - mgr->ConnectInput(task,0,cinput); - mgr->ConnectOutput(task,0,coutput); - - if (mgr->InitAnalysis()) { - mgr->PrintStatus(); - - mgr->StartAnalysis("local",chain); - - } - - timer.Stop(); - timer.Print(); - -} - diff --git a/PWGPP/CMakelibPWGPP.pkg b/PWGPP/CMakelibPWGPP.pkg index 8782d00f1e8..3c5adf7b895 100644 --- a/PWGPP/CMakelibPWGPP.pkg +++ b/PWGPP/CMakelibPWGPP.pkg @@ -42,6 +42,8 @@ file ( GLOB SRCS12 "Centrality/*.cxx" ) file ( GLOB SRCS13 "ZDC/*.cxx" ) file ( GLOB SRCS14 "T0/*.cxx" ) file ( GLOB SRCS15 "VZERO/*PbPb.cxx" ) +file ( GLOB SRCS16 "MUON/dep/*.cxx" ) +file ( GLOB SRCS17 "MUON/lite/*.cxx" ) list ( APPEND SRCS ${SRCS1} @@ -59,13 +61,17 @@ list ( APPEND SRCS ${SRCS13} ${SRCS14} ${SRCS15} + ${SRCS16} + ${SRCS17} ) string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" ) set ( DHDR PWGPPLinkDef.h) -set ( EINCLUDE +set ( EINCLUDE + MUON + MUON/mapping TPC ITS TRD @@ -88,7 +94,7 @@ set ( EINCLUDE PWGPP/ZDC PWGPP/T0 PWGPP/VZERO - PWG4/PartCorrBase + PWGPP/MUON/dep STEER/STEER STEER/AOD STEER/CDB diff --git a/PWG/muondep/AddTaskMUONTrackingEfficiency.C b/PWGPP/MUON/dep/AddTaskMUONTrackingEfficiency.C similarity index 100% rename from PWG/muondep/AddTaskMUONTrackingEfficiency.C rename to PWGPP/MUON/dep/AddTaskMUONTrackingEfficiency.C diff --git a/PWG/muondep/AddTaskMuonFakes.C b/PWGPP/MUON/dep/AddTaskMuonFakes.C similarity index 100% rename from PWG/muondep/AddTaskMuonFakes.C rename to PWGPP/MUON/dep/AddTaskMuonFakes.C diff --git a/PWG/muondep/AddTaskMuonPerformance.C b/PWGPP/MUON/dep/AddTaskMuonPerformance.C similarity index 100% rename from PWG/muondep/AddTaskMuonPerformance.C rename to PWGPP/MUON/dep/AddTaskMuonPerformance.C diff --git a/PWG/muondep/AddTaskMuonResolution.C b/PWGPP/MUON/dep/AddTaskMuonResolution.C similarity index 100% rename from PWG/muondep/AddTaskMuonResolution.C rename to PWGPP/MUON/dep/AddTaskMuonResolution.C diff --git a/PWG/muondep/AliAnalysisTaskMuonFakes.cxx b/PWGPP/MUON/dep/AliAnalysisTaskMuonFakes.cxx similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonFakes.cxx rename to PWGPP/MUON/dep/AliAnalysisTaskMuonFakes.cxx diff --git a/PWG/muondep/AliAnalysisTaskMuonFakes.h b/PWGPP/MUON/dep/AliAnalysisTaskMuonFakes.h similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonFakes.h rename to PWGPP/MUON/dep/AliAnalysisTaskMuonFakes.h diff --git a/PWG/muondep/AliAnalysisTaskMuonPerformance.cxx b/PWGPP/MUON/dep/AliAnalysisTaskMuonPerformance.cxx similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonPerformance.cxx rename to PWGPP/MUON/dep/AliAnalysisTaskMuonPerformance.cxx diff --git a/PWG/muondep/AliAnalysisTaskMuonPerformance.h b/PWGPP/MUON/dep/AliAnalysisTaskMuonPerformance.h similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonPerformance.h rename to PWGPP/MUON/dep/AliAnalysisTaskMuonPerformance.h diff --git a/PWG/muondep/AliAnalysisTaskMuonResolution.cxx b/PWGPP/MUON/dep/AliAnalysisTaskMuonResolution.cxx similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonResolution.cxx rename to PWGPP/MUON/dep/AliAnalysisTaskMuonResolution.cxx diff --git a/PWG/muondep/AliAnalysisTaskMuonResolution.h b/PWGPP/MUON/dep/AliAnalysisTaskMuonResolution.h similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonResolution.h rename to PWGPP/MUON/dep/AliAnalysisTaskMuonResolution.h diff --git a/PWG/muondep/AliAnalysisTaskMuonTrackingEff.cxx b/PWGPP/MUON/dep/AliAnalysisTaskMuonTrackingEff.cxx similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonTrackingEff.cxx rename to PWGPP/MUON/dep/AliAnalysisTaskMuonTrackingEff.cxx diff --git a/PWG/muondep/AliAnalysisTaskMuonTrackingEff.h b/PWGPP/MUON/dep/AliAnalysisTaskMuonTrackingEff.h similarity index 100% rename from PWG/muondep/AliAnalysisTaskMuonTrackingEff.h rename to PWGPP/MUON/dep/AliAnalysisTaskMuonTrackingEff.h diff --git a/PWG/muondep/MuonResolution.C b/PWGPP/MUON/dep/MuonResolution.C similarity index 100% rename from PWG/muondep/MuonResolution.C rename to PWGPP/MUON/dep/MuonResolution.C diff --git a/PWG/muondep/MuonTrackingEfficiency.C b/PWGPP/MUON/dep/MuonTrackingEfficiency.C similarity index 100% rename from PWG/muondep/MuonTrackingEfficiency.C rename to PWGPP/MUON/dep/MuonTrackingEfficiency.C diff --git a/PWG/muondep/RunMuonResolution.C b/PWGPP/MUON/dep/RunMuonResolution.C similarity index 100% rename from PWG/muondep/RunMuonResolution.C rename to PWGPP/MUON/dep/RunMuonResolution.C diff --git a/PWG/muon/AliAnalysisTaskMuonQA.cxx b/PWGPP/MUON/lite/AliAnalysisTaskMuonQA.cxx similarity index 100% rename from PWG/muon/AliAnalysisTaskMuonQA.cxx rename to PWGPP/MUON/lite/AliAnalysisTaskMuonQA.cxx diff --git a/PWG/muon/AliAnalysisTaskMuonQA.h b/PWGPP/MUON/lite/AliAnalysisTaskMuonQA.h similarity index 100% rename from PWG/muon/AliAnalysisTaskMuonQA.h rename to PWGPP/MUON/lite/AliAnalysisTaskMuonQA.h diff --git a/PWG/muon/AliAnalysisTaskTrigChEff.cxx b/PWGPP/MUON/lite/AliAnalysisTaskTrigChEff.cxx similarity index 100% rename from PWG/muon/AliAnalysisTaskTrigChEff.cxx rename to PWGPP/MUON/lite/AliAnalysisTaskTrigChEff.cxx diff --git a/PWG/muon/AliAnalysisTaskTrigChEff.h b/PWGPP/MUON/lite/AliAnalysisTaskTrigChEff.h similarity index 100% rename from PWG/muon/AliAnalysisTaskTrigChEff.h rename to PWGPP/MUON/lite/AliAnalysisTaskTrigChEff.h diff --git a/PWG/muon/AnalysisTrigChEff.C b/PWGPP/MUON/lite/AnalysisTrigChEff.C similarity index 100% rename from PWG/muon/AnalysisTrigChEff.C rename to PWGPP/MUON/lite/AnalysisTrigChEff.C diff --git a/PWG/muon/PlotEfficiency.C b/PWGPP/MUON/lite/PlotEfficiency.C similarity index 100% rename from PWG/muon/PlotEfficiency.C rename to PWGPP/MUON/lite/PlotEfficiency.C diff --git a/PWG/muon/PlotMuonQA.C b/PWGPP/MUON/lite/PlotMuonQA.C similarity index 100% rename from PWG/muon/PlotMuonQA.C rename to PWGPP/MUON/lite/PlotMuonQA.C diff --git a/PWG/muon/RunMuonQA.C b/PWGPP/MUON/lite/RunMuonQA.C similarity index 100% rename from PWG/muon/RunMuonQA.C rename to PWGPP/MUON/lite/RunMuonQA.C diff --git a/PWG/muon/mergeGridFiles.C b/PWGPP/MUON/lite/mergeGridFiles.C similarity index 100% rename from PWG/muon/mergeGridFiles.C rename to PWGPP/MUON/lite/mergeGridFiles.C diff --git a/PWG/muon/runQA.sh b/PWGPP/MUON/lite/runQA.sh similarity index 100% rename from PWG/muon/runQA.sh rename to PWGPP/MUON/lite/runQA.sh diff --git a/PWG/muon/terminateQA.C b/PWGPP/MUON/lite/terminateQA.C similarity index 100% rename from PWG/muon/terminateQA.C rename to PWGPP/MUON/lite/terminateQA.C diff --git a/PWG/muon/trigEffQA.C b/PWGPP/MUON/lite/trigEffQA.C similarity index 100% rename from PWG/muon/trigEffQA.C rename to PWGPP/MUON/lite/trigEffQA.C diff --git a/PWGPP/PWGPPLinkDef.h b/PWGPP/PWGPPLinkDef.h index 0847bfca29f..ea8abfc754b 100644 --- a/PWGPP/PWGPPLinkDef.h +++ b/PWGPP/PWGPPLinkDef.h @@ -140,5 +140,14 @@ #pragma link C++ class AliAnalysisTaskGlobalQA+; #pragma link C++ class AliGlobalFBFqa+; +// MUON/dep +#pragma link C++ class AliAnalysisTaskMuonTrackingEff+; +#pragma link C++ class AliAnalysisTaskMuonResolution+; +#pragma link C++ class AliAnalysisTaskMuonFakes+; +#pragma link C++ class AliAnalysisTaskMuonPerformance+; + +// MUON/lite +#pragma link C++ class AliAnalysisTaskTrigChEff+; +#pragma link C++ class AliAnalysisTaskMuonQA+; #endif diff --git a/PWG/muon/AddTaskMuonQA.C b/PWGPP/PilotTrain/AddTaskMuonQA.C similarity index 100% rename from PWG/muon/AddTaskMuonQA.C rename to PWGPP/PilotTrain/AddTaskMuonQA.C -- 2.43.0