1 SteerAnalysisTaskTOFSpectraPbPb(const Char_t *inputfilename, Bool_t mcFlag = kFALSE, Bool_t mcTuneFlag = kFALSE, Bool_t pbpbFlag = kTRUE, Int_t maxFiles = kMaxInt, Int_t maxEv = kMaxInt)
4 /* include path for ACLic */
5 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
6 gSystem->AddIncludePath("-I$ALICE_ROOT/TOF");
8 gSystem->Load("libANALYSIS");
9 gSystem->Load("libANALYSISalice");
10 gSystem->Load("libTender");
11 gSystem->Load("libTenderSupplies");
12 /* build analysis task class */
13 gROOT->LoadMacro("AliAnalysisParticle.cxx+g");
14 gROOT->LoadMacro("AliAnalysisEvent.cxx+g");
15 gROOT->LoadMacro("AliAnalysisTrack.cxx+g");
16 gROOT->LoadMacro("AliAnalysisTaskTOFSpectraPbPb.cxx+g");
18 /* Setup input chain */
19 TString str = inputfilename;
20 const Char_t *filename;
21 TChain *chain = new TChain("esdTree");
22 if (str.EndsWith(".xml")) {
23 TGrid::Connect("alien://");
24 Info("SteerTaskTOFSpectraPbPb", "reading data list from collection:");
25 TAlienCollection coll(inputfilename, maxFiles);
28 filename = coll.GetTURL();
29 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
33 else if (str.EndsWith(".txt")) {
34 Info("SteerTaskTOFSpectraPbPb", "reading data list from text file:");
35 ifstream is(inputfilename);
38 is.getline(buf, 4096);
41 Info("SteerTaskTOFSpectraPbPb", Form("%s", buf));
46 Info("SteerTaskTOFSpectraPbPb", "single file:");
47 filename = inputfilename;
48 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
51 Info("SteerTaskTOFSpectraPbPb", Form("chain is ready: %d events", chain->GetEntries()));
53 /* create analysis manager */
54 AliAnalysisManager *mgr = new AliAnalysisManager("TOFSpectraPbPb");
56 /* define input event handler */
57 AliESDInputHandler *esdh = new AliESDInputHandler();
58 esdh->SetReadFriends(kFALSE);
59 mgr->SetInputEventHandler(esdh);
61 /* define MC truth event handler */
63 AliMCEventHandler *mch = new AliMCEventHandler();
64 mgr->SetMCtruthEventHandler(mch);
67 /* define output handler */
68 AliAODHandler *outputh = new AliAODHandler();
69 mgr->SetOutputEventHandler(outputh);
74 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
77 gROOT->LoadMacro("$ALICE_ROOT/TENDER/TenderSupplies/AddTaskTender.C");
89 /* create tender, setup and add to manager */
90 AliTender *tender = new AliTender("Tender");
91 tender->SetCheckEventSelection(kFALSE); /* was kFALSE */
92 tender->SetDefaultCDBStorage("raw://");
94 mgr->ConnectInput(tender, 0, inputc);
95 mgr->ConnectOutput(tender, 1, outputc);
96 AliTOFTenderSupply *TOFtender = new AliTOFTenderSupply("TOF-Tender");
97 tender->AddSupply(TOFtender);
99 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
100 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(mcFlag);
103 // gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/PhysicsSelectionOADB_CINT5_pA.C");
104 // AliOADBPhysicsSelection *oadb = OADBSelection_CINT5_V0AND();
105 // physSelTask->GetPhysicsSelection()->SetCustomOADBObjects(oadb,0);
108 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
109 AliCentralitySelectionTask *centralityTask = AddTaskCentrality();
110 // centralityTask->SetPass(2);
111 if (mcFlag) centralityTask->SetMCInput();
113 gROOT->LoadMacro("AddAnalysisTaskTOFSpectraPbPb.C");
114 AliAnalysisTaskTOFSpectraPbPb *thisTask = AddAnalysisTaskTOFSpectraPbPb(mcFlag, mcTuneFlag, pbpbFlag);
117 mgr->SetDebugLevel(0);
118 if (!mgr->InitAnalysis()) return;
120 mgr->StartAnalysis("local", chain, maxEv);
122 /* create dummy file to tell we are done */
123 gSystem->Exec("touch done");