1 SteerAnalysisTaskTOFSpectraPbPb(const Char_t *inputfilename, Bool_t mcFlag = kFALSE, Bool_t mcTuneFlag = kFALSE, Bool_t pbpbFlag = kFALSE, 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 /* build analysis task class */
11 gROOT->LoadMacro("AliAnalysisParticle.cxx+g");
12 gROOT->LoadMacro("AliAnalysisEvent.cxx+g");
13 gROOT->LoadMacro("AliAnalysisTrack.cxx+g");
14 gROOT->LoadMacro("AliAnalysisTaskTOFSpectraPbPb.cxx+g");
16 /* setup input chain */
17 TString str = inputfilename;
18 const Char_t *filename;
19 TChain *chain = new TChain("esdTree");
20 if (str.EndsWith(".xml")) {
21 TGrid::Connect("alien://");
22 Info("SteerTaskTOFSpectraPbPb", "reading data list from collection:");
23 TAlienCollection coll(inputfilename, maxFiles);
26 filename = coll.GetTURL();
27 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
31 else if (str.EndsWith(".txt")) {
32 Info("SteerTaskTOFSpectraPbPb", "reading data list from text file:");
33 ifstream is(inputfilename);
36 is.getline(buf, 4096);
39 Info("SteerTaskTOFSpectraPbPb", Form("%s", buf));
44 Info("SteerTaskTOFSpectraPbPb", "single file:");
45 filename = inputfilename;
46 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
49 Info("SteerTaskTOFSpectraPbPb", Form("chain is ready: %d events", chain->GetEntries()));
51 /* create analysis manager */
52 AliAnalysisManager *mgr = new AliAnalysisManager("TOFSpectraPbPb");
54 /* define input event handler */
55 AliESDInputHandler *esdh = new AliESDInputHandler();
56 esdh->SetReadFriends(kFALSE);
57 mgr->SetInputEventHandler(esdh);
59 /* define MC truth event handler */
61 AliMCEventHandler *mch = new AliMCEventHandler();
62 mgr->SetMCtruthEventHandler(mch);
65 /* define output handler */
66 AliAODHandler *outputh = new AliAODHandler();
67 mgr->SetOutputEventHandler(outputh);
70 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
71 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(mcFlag);
73 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
74 AliCentralitySelectionTask *centralityTask = AddTaskCentrality();
75 // centralityTask->SetPass(2);
76 if (mcFlag) centralityTask->SetMCInput();
78 gROOT->LoadMacro("AddAnalysisTaskTOFSpectraPbPb.C");
79 AliAnalysisTaskTOFSpectraPbPb *thisTask = AddAnalysisTaskTOFSpectraPbPb(mcFlag, mcTuneFlag, pbpbFlag);
82 mgr->SetDebugLevel(0);
83 if (!mgr->InitAnalysis()) return;
85 mgr->StartAnalysis("local", chain, maxEv);
87 /* create dummy file to tell we are done */
88 gSystem->Exec("touch done");