removed startTime selection
[u/mrichter/AliRoot.git] / ANALYSIS / macros / runTaskNormalization.C
1
2 void runTaskNormalization(const char * incollection,const char * filename = "LHC09b12_7TeV_0.5T_norm.root", Bool_t isMC = 1,Int_t nev =123456789) {
3
4   
5   // Load libraries
6   gSystem->Load("libANALYSIS") ;
7   gSystem->Load("libANALYSISalice") ;
8   gSystem->Load("libCORRFW") ;
9   //  gSystem->Load("libITSbase") ;
10   gSystem->Load("libPWG0base") ;
11
12
13   // chain
14   TChain* analysisChain = 0;
15   analysisChain = new TChain("esdTree");
16   if (TString(incollection).Contains(".root")){
17     analysisChain->Add(incollection);
18   }
19   else if (TString(incollection).Contains("xml")){
20     TGrid::Connect("alien://");
21     TAlienCollection * coll = TAlienCollection::Open (incollection);
22     while(coll->Next()){
23       analysisChain->Add(TString("alien://")+coll->GetLFN());
24     }
25   } else {
26     ifstream file_collect(incollection);
27     TString line;
28     while (line.ReadLine(file_collect) ) {
29       analysisChain->Add(line.Data());
30     }
31   }
32   analysisChain->GetListOfFiles()->Print();
33
34
35   // Make the analysis manager
36   AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
37   //  mgr->SetDebugLevel(3);
38   // Add ESD handler
39   AliESDInputHandler* esdH = new AliESDInputHandler; 
40
41   mgr->SetInputEventHandler(esdH);
42         
43   if(isMC) {
44     AliMCEventHandler *mc = new AliMCEventHandler();
45     mc->SetReadTR(kFALSE);
46     mgr->SetMCtruthEventHandler(mc);
47   }
48   // assign simple task
49 //   gROOT->LoadMacro("AliCollisionNormalization.cxx++g");   
50 //   gROOT->LoadMacro("AliCollisionNormalizationTask.cxx++g");   
51   //____________________________________________//
52   // Physics selection
53   gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskPhysicsSelection.C");
54   AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(isMC,1,!isMC); // Use Physics Selection. Enable computation of BG if is not MC
55   //  task->SelectCollisionCandidates(); /// This should be disabled, at least for MC: we need all the events
56   physSelTask->GetPhysicsSelection()->SetBin0Callback("TaskNormalization");
57
58   // assign simple task
59   // AliCollisionNormalizationTask * task = new AliCollisionNormalizationTask("TaskNormalization");
60   // //  task->SetMC();
61   // task->SetMC(isMC);
62   // mgr->AddTask(task);
63
64
65
66   // AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();        
67   // mgr->ConnectInput(task,0,cinput1);
68
69
70   
71   // // Attach output
72   // cOutput = mgr->CreateContainer("Norm", TList::Class(), AliAnalysisManager::kOutputContainer,filename);
73   // mgr->ConnectOutput(task, 1, cOutput);      
74
75   gROOT->LoadMacro("$(ALICE_ROOT)/ANALYSIS/macros/AddTaskNormalization.C");
76   AliCollisionNormalizationTask * task = AddTaskNormalization(isMC);
77         
78   if (!mgr->InitAnalysis()) return;
79         
80   mgr->PrintStatus();
81   mgr->StartAnalysis("local",analysisChain,nev);
82
83 }