2 // Macro for the running of the AliAnalysisTaskMuonTrackingEff
10 #include <TClonesArray.h>
13 #include "AliAnalysisTaskMuonTrackingEff.h"
16 #include "AliAnalysisManager.h"
17 #include "AliAnalysisDataContainer.h"
20 #include "AliESDInputHandler.h"
21 #include "AliCDBManager.h"
24 #include "AliMUONGeometryTransformer.h"
28 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)
31 TChain *chain = new TChain("esdTree");
35 // Name of the output file
36 const Char_t* outputName = "MuonTrackingChamberEffHistos.root";
39 AliCDBManager* man = AliCDBManager::Instance();
43 ocdbPath = "alien://folder=/alice/data/2008/LHC08a/OCDB";
47 ocdbPath = "local://$ALICE_ROOT/OCDB";
50 man->SetDefaultStorage(ocdbPath.Data());
51 man->SetSpecificStorage("MUON/Calib/Mapping",ocdbPath);
55 AliMUONGeometryTransformer* transformer = new AliMUONGeometryTransformer();
56 transformer->LoadGeometryData(geometryFileName);
59 //Make analysis manager:
60 AliAnalysisManager* mgr = new AliAnalysisManager("Manager", "Manager");
61 AliAnalysisTaskMuonTrackingEffComplete* ESDTask = new AliAnalysisTaskMuonTrackingEffComplete("ESDTask", transformer, isCosmicData);
62 AliESDInputHandler* inHandler = new AliESDInputHandler();
64 mgr->SetInputEventHandler (inHandler );
65 // mgr->SetDebugLevel(10);
66 mgr->AddTask(ESDTask);
68 //Create containers for input/output
69 AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
70 AliAnalysisDataContainer *coutput0 =
71 mgr->CreateContainer("TracksDetectedPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
72 AliAnalysisDataContainer *coutput1 =
73 mgr->CreateContainer("TotalTracksPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
74 AliAnalysisDataContainer *coutput2 =
75 mgr->CreateContainer("EfficiencyPerDE", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
76 AliAnalysisDataContainer *coutput3 =
77 mgr->CreateContainer("TracksDetectedPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
78 AliAnalysisDataContainer *coutput4 =
79 mgr->CreateContainer("TotalTracksPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
80 AliAnalysisDataContainer *coutput5 =
81 mgr->CreateContainer("EfficiencyPerChamber", TClonesArray::Class(),AliAnalysisManager::kOutputContainer, outputName);
84 mgr->ConnectInput (ESDTask, 0, cinput0 );
86 mgr->ConnectOutput(ESDTask, 0, coutput0);
87 mgr->ConnectOutput(ESDTask, 1, coutput1);
88 mgr->ConnectOutput(ESDTask, 2, coutput2);
89 mgr->ConnectOutput(ESDTask, 3, coutput3);
90 mgr->ConnectOutput(ESDTask, 4, coutput4);
91 mgr->ConnectOutput(ESDTask, 5, coutput5);
94 if(mgr->InitAnalysis())
97 mgr->StartAnalysis("Local", chain);