]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/UserTasks/EmcalTasks/macros/AddEmcalPhysicsSelection.C
Add Psel macro
[u/mrichter/AliRoot.git] / PWG4 / UserTasks / EmcalTasks / macros / AddEmcalPhysicsSelection.C
1 // $Id$
2
3 void AddEmcalPhysicsSelelection(Bool_t exFOnly, Bool_t rejectBG=kTRUE, Bool_t computeBG=kTRUE)
4 {
5   // Add EMCAL physics selection task.
6
7   //get the current analysis manager  
8   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9   if (!mgr) {
10     ::Error("AddTask1PhysSel", "No analysis manager found.");
11     return 0;
12   }
13   isMC = (mgr->GetMCtruthEventHandler()) ? kTRUE:kFALSE; 
14
15   AliEmcalPhysicsSelectionTask *pseltask = new AliEmcalPhysicsSelectionTask("PhysSel");
16   //pseltask->SetDoWriteHistos(kFALSE);
17   AliEmcalPhysicsSelection *physSel = pseltask->GetPhysicsSelection();
18   physSel->SetExcludeFastOnly(exFOnly);
19   if (rejectBG) 
20     physSel->AddBackgroundIdentification(new AliBackgroundSelection());
21   if (computeBG)
22     physSel->SetComputeBG(computeBG);
23   if (isMC)      
24     physSel->SetAnalyzeMC();
25   mgr->AddTask(pseltask);
26
27   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
28   mgr->ConnectInput(pseltask, 0, cinput);
29   TString oname("EventStat.root");
30   AliAnalysisDataContainer *co1 = 
31     mgr->CreateContainer("PhysSel",
32                          TList::Class(),
33                          AliAnalysisManager::kOutputContainer,
34                          oname);
35   mgr->ConnectOutput(pseltask,1,co1);
36   cout << " *** AliEmcalPhysicsTask configured *** " << endl;
37 }