]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaAnalysis/runTRDqaAnalysis.C
Removed obsolete function used for old comparisons (Marian Ivanov)
[u/mrichter/AliRoot.git] / TRD / qaAnalysis / runTRDqaAnalysis.C
CommitLineData
917559ee 1
2void runTRDqaAnalysis(const char *chainName, int limit = 0) {
3 //
4 // runs the analysis train
5 // parameters:
6 // chainName -- a name of a file with a list of ESDs
7 // limit -- number of files to be processed
8 //
9 //
10
11 gSystem->Load("libANALYSIS.so");
12 gSystem->Load("libTRDqaAnalysis.so");
13
14 // Setup chain
15 TChain *chain = new TChain("esdTree");
16 //chain->SetBranchStatus("*",0);
17 //chain->SetBranchStatus("*fTracks*",1);
18 //esdTree->SetBranchStatus("ESDfriend*",1);
19
20 int nfiles = 0;
21 fstream coll(chainName, ios_base::in);
22 TString line;
23 while (line.ReadLine(coll)) {
24 cout << line.Data() << endl;
25 chain->Add(line.Data());
26 nfiles++;
27 if (limit && nfiles > limit) break;
28 }
29
30 // Create an analysis manager
31 AliAnalysisManager *mgr = new AliAnalysisManager("qaTasks", "No safety");
32 AliAnalysisTask *tasks[3];
33 AliAnalysisDataContainer *out[3];
34
35 tasks[0] = new AliTRDqaElectronSpectra("trdElectronSpectra");
36 tasks[1] = new AliTRDqaESDFriends("trdESDFriends");
37 tasks[2] = new AliTRDqaEnergyDeposit("trdEnergyDeposit");
38
39 AliAnalysisDataContainer *cinput =
40 mgr->CreateContainer("inputESD", TTree::Class(), AliAnalysisManager::kInputContainer);
41
42 out[0] = mgr->CreateContainer("oES", TObjArray::Class(), AliAnalysisManager::kOutputContainer);
43 out[1] = mgr->CreateContainer("oEF", TObjArray::Class(), AliAnalysisManager::kOutputContainer);
44 out[2] = mgr->CreateContainer("oED", TObjArray::Class(), AliAnalysisManager::kOutputContainer);
45
46 // register
47 for(int i=0; i<3; i++) {
48 mgr->AddTask(tasks[i]);
49 mgr->ConnectInput(tasks[i],0,cinput);
50 mgr->ConnectOutput(tasks[i],0,out[i]);
51 }
52
53 // Connect input data
54 cout << "connect to data" << endl;
55 cinput->SetData(chain);
56 Long_t t0 = gSystem->Now();
57
58 TStopwatch sw;
59 sw.Start();
60
61 cout << "Initializing" << endl;
62 if (mgr->InitAnalysis()) {
63 mgr->PrintStatus();
64 mgr->StartAnalysis("local", chain);
65 }
66
67 sw.Stop();
68 sw.Print();
69
70 Long_t t1 = gSystem->Now();
71 double time = 1e-3 * (t1-t0);
72
73 //cout << "Size = " << mgr->GetNBytes()*1e-6 << " MB" << endl;
74 //cout << "Time = " << time << " s" << endl;
75 //cout << "Speed = " << 1e-6*mgr->GetNBytes()/time << " MB/s" << endl;
76 //cout << "Events = " << mgr->GetNEvents()/time << " Events/s" << endl;
77
78 //gSystem->Exit(0);
79
80
81}