]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TOF/PbPb276/task/SteerAnalysisTaskTOFSpectraPbPb.C
Split: fix refs to AddTaskPhysicsSelection.C
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TOF / PbPb276 / task / SteerAnalysisTaskTOFSpectraPbPb.C
CommitLineData
48a73d39 1SteerAnalysisTaskTOFSpectraPbPb(const Char_t *inputfilename, Bool_t mcFlag = kFALSE, Bool_t mcTuneFlag = kFALSE, Bool_t pbpbFlag = kFALSE, Int_t maxFiles = kMaxInt, Int_t maxEv = kMaxInt)
2{
3
4 /* include path for ACLic */
5 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
6 gSystem->AddIncludePath("-I$ALICE_ROOT/TOF");
7 /* load libraries */
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");
15
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);
24 coll.Reset();
25 while (coll.Next()) {
26 filename = coll.GetTURL();
27 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
28 chain->Add(filename);
29 }
30 }
31 else if (str.EndsWith(".txt")) {
32 Info("SteerTaskTOFSpectraPbPb", "reading data list from text file:");
33 ifstream is(inputfilename);
34 Char_t buf[4096];
35 while(!is.eof()) {
36 is.getline(buf, 4096);
37 if (is.eof()) break;
38 chain->Add(buf);
39 Info("SteerTaskTOFSpectraPbPb", Form("%s", buf));
40 }
41 is.close();
42 }
43 else {
44 Info("SteerTaskTOFSpectraPbPb", "single file:");
45 filename = inputfilename;
46 Info("SteerTaskTOFSpectraPbPb", Form("%s", filename));
47 chain->Add(filename);
48 }
49 Info("SteerTaskTOFSpectraPbPb", Form("chain is ready: %d events", chain->GetEntries()));
50
51 /* create analysis manager */
52 AliAnalysisManager *mgr = new AliAnalysisManager("TOFSpectraPbPb");
53
54 /* define input event handler */
55 AliESDInputHandler *esdh = new AliESDInputHandler();
56 esdh->SetReadFriends(kFALSE);
57 mgr->SetInputEventHandler(esdh);
58
59 /* define MC truth event handler */
60 if (mcFlag) {
61 AliMCEventHandler *mch = new AliMCEventHandler();
62 mgr->SetMCtruthEventHandler(mch);
63 }
64
65 /* define output handler */
66 AliAODHandler *outputh = new AliAODHandler();
67 mgr->SetOutputEventHandler(outputh);
68
69 /* add tasks */
63b6cbd0 70 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskPhysicsSelection.C");
48a73d39 71 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(mcFlag);
72 if (pbpbFlag) {
1c06a186 73 gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
48a73d39 74 AliCentralitySelectionTask *centralityTask = AddTaskCentrality();
75 // centralityTask->SetPass(2);
76 if (mcFlag) centralityTask->SetMCInput();
77 }
78 gROOT->LoadMacro("AddAnalysisTaskTOFSpectraPbPb.C");
79 AliAnalysisTaskTOFSpectraPbPb *thisTask = AddAnalysisTaskTOFSpectraPbPb(mcFlag, mcTuneFlag, pbpbFlag);
80
81 /* start analysis */
82 mgr->SetDebugLevel(0);
83 if (!mgr->InitAnalysis()) return;
84 mgr->PrintStatus();
85 mgr->StartAnalysis("local", chain, maxEv);
86
87 /* create dummy file to tell we are done */
88 gSystem->Exec("touch done");
89
90}