]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/macros/AddTRDinfoGen.C
move OCDB manipulation from local train (run.C) to the task level
[u/mrichter/AliRoot.git] / PWG1 / TRD / macros / AddTRDinfoGen.C
1 #if ! defined (__CINT__) || defined (__MAKECINT__)
2 #include "AliLog.h"
3 #include "AliAnalysisManager.h"
4 #include "AliAnalysisDataContainer.h"
5 #include "PWG1/TRD/AliTRDinfoGen.h"
6 #include "PWG1/TRD/info/AliTRDeventInfo.h"
7 #include "PWG1/TRD/macros/AliTRDperformanceTrain.h"
8 #endif
9
10 #include "PWG1/TRD/macros/helper.C"
11 void AddTRDinfoGen(AliAnalysisManager *mgr, Char_t *trd, AliAnalysisDataContainer **/*ci*/, AliAnalysisDataContainer **co)
12 {
13   Int_t map = ParseOptions(trd);
14   if(!(TSTBIT(map, kInfoGen))) return;
15   Bool_t mc(mgr->GetMCtruthEventHandler()?kTRUE:kFALSE);
16   //AliLog::SetClassDebugLevel("AliTRDinfoGen", 2);
17   AliTRDinfoGen *info(NULL);
18   mgr->AddTask(info = new AliTRDinfoGen((char*)"TRDinfoGen"));
19   info->SetDebugLevel(0);
20   info->SetMCdata(mc);
21   info->SetLocalTrkSelection();
22   info->SetOCDB("alien://folder=/alice/data/2010/OCDB");
23   // settings for collisions
24   info->SetCollision(/*kFALSE*/);
25   if(info->IsCollision()){
26     if(!mc) info->SetTrigger(
27       "CINT1B-ABCE-NOPF-ALL"
28       " CSCO1-ABCE-NOPF-CENT" // cosmic SPD trigger
29     );
30     info->SetLocalEvSelection();
31   }
32   
33   // Connect IO slots
34   mgr->ConnectInput (info, 0, mgr->GetCommonInputContainer());
35   co[kEventInfo] = mgr->CreateContainer("eventInfo", AliTRDeventInfo::Class(), AliAnalysisManager::kExchangeContainer);
36   co[kTracksBarrel] = mgr->CreateContainer("tracksBarrel", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
37   co[kTracksSA] = mgr->CreateContainer("tracksSA", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
38   co[kTracksKink] = mgr->CreateContainer("tracksKink", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
39   co[kV0List] = mgr->CreateContainer("v0List", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
40   for(Int_t ios(1);ios<kNOutSlots-1;ios++) mgr->ConnectOutput(info, ios, co[ios]);
41   
42   // add last monitor container
43   AliAnalysisDataContainer *mon=mgr->CreateContainer(info->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance",mgr->GetCommonFileName()));
44   mgr->ConnectOutput(info, kNOutSlots-1, mon);
45 }
46