]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/macros/mini/AddTaskTender.C
Merge remote-tracking branch 'origin/master' into TPCdev
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / mini / AddTaskTender.C
1 AliAnalysisTask *AddTaskTender(Bool_t useV0 = kTRUE)
2 {
3   // get the current analysis manager
4   Bool_t checkEvtSelection = useV0;
5   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6   if (!mgr) {
7     Error("AddTask_tender_Tender", "No analysis manager found.");
8     return 0;
9   }
10   // currently don't accept AOD input
11   //if (!mgr->GetInputEventHandler()->InheritsFrom(AliESDInputHandler::Class())) {
12   //  Error("AddTask_tender_Tender","The analysis tender only works with ESD input!");
13   //  return 0;
14   // }
15
16   
17   //========= Add tender to the ANALYSIS manager and set default storage =====
18   AliTender *tender=new AliTender("AnalysisTender");
19   tender->SetCheckEventSelection(checkEvtSelection);
20   tender->SetDefaultCDBStorage("raw://");
21   mgr->AddTask(tender);
22   if (checkEvtSelection) {
23      if (mgr->GetTasks()->First() != (TObject*)tender) {
24         ::Error("When setting the tender to check the event selection, it has to be the first wagon ! Aborting.");
25         return NULL;
26      }
27   }   
28   
29   //========= Attach VZERO supply ======
30   if (useV0) {
31      AliVZEROTenderSupply *vzeroSupply=new AliVZEROTenderSupply("VZEROtender");
32      vzeroSupply->SetDebug(kFALSE);
33      tender->AddSupply(vzeroSupply);
34   }   
35   //========= Attach TPC supply ======
36   AliTPCTenderSupply *tpcSupply=new AliTPCTenderSupply("TPCtender");
37   tpcSupply->SetDebugLevel(2);
38   //tpcSupply->SetMip(50.);
39   tender->AddSupply(tpcSupply);
40
41   //========= Attach TOF supply ======
42   AliTOFTenderSupply *tofTender = new AliTOFTenderSupply("TOFtender");
43   tender->AddSupply(tofTender);
44   
45   //========= Attach TRD supply ======
46   AliTRDTenderSupply *trdSupply=new AliTRDTenderSupply("TRDtender");
47   tender->AddSupply(trdSupply);
48
49   //========= Attach PID supply ======
50   tender->AddSupply(new AliPIDTenderSupply("PIDtender"));
51
52   //========= Attach Primary Vertex supply ======
53   tender->AddSupply(new AliVtxTenderSupply("PriVtxtender"));
54   
55   //================================================
56   //              data containers
57   //================================================
58
59     //            define output containers, please use 'username'_'somename'
60   AliAnalysisDataContainer *coutput1 =
61       mgr->CreateContainer("tender_event", AliESDEvent::Class(),
62                            AliAnalysisManager::kExchangeContainer,"default_tender");
63  
64   //           connect containers
65   mgr->ConnectInput  (tender,  0, mgr->GetCommonInputContainer() );
66   mgr->ConnectOutput (tender,  1, coutput1);
67  
68   return tender;
69 }