updates in the PWGPP/TRD
[u/mrichter/AliRoot.git] / PWGPP / TRD / macros / AddTRDinfoGen.C
1 #if ! defined (__CINT__) || defined (__MAKECINT__)
2 #include "AliLog.h"
3 #include "AliAnalysisManager.h"
4 #include "AliAnalysisDataContainer.h"
5 #include "PWGPP/TRD/AliTRDinfoGen.h"
6 #include "PWGPP/TRD/AliTRDpwgppHelper.h"
7 #include "PWGPP/TRD/info/AliTRDeventInfo.h"
8 #include "PWGPP/TRD/info/AliTRDeventCuts.h"
9 #endif
10
11 void AddTRDinfoGen(AliAnalysisManager *mgr, Int_t /*map*/, AliAnalysisDataContainer **/*ci*/, AliAnalysisDataContainer **co)
12 {
13   //AliLog::SetClassDebugLevel("AliTRDinfoGen", 2);
14   AliTRDinfoGen *info(NULL);
15   mgr->AddTask(info = new AliTRDinfoGen((char*)"TRDinfoGen"));
16   info->SetDebugLevel(0);
17   info->SetMCdata((Bool_t)mgr->GetMCtruthEventHandler());
18   info->SetLocalTrkSelection();
19   info->UseTrackPoints(kFALSE); // set it to true if track points for alignment are to be saved in trackInfo object
20   info->SetOCDB("alien://folder=/alice/data/2010/OCDB");
21   // settings for collisions
22   info->SetCollision(/*kFALSE*/);
23   if(info->IsCollision()){
24     AliTRDeventCuts ec;
25     if(mc){
26       ec.SetEventType(0);
27 //      ec.AddTrigger("MB1");
28     } else {
29 /*      Int_t bunches[] = ;
30       ec.SetBunchSelection();*/
31 /*      ec.AddTrigger("CINT1B-ABCE-NOPF-ALL");
32       ec.AddTrigger("CINT5-B-NOPF-ALL");
33       ec.AddTrigger("CINT1WU-B-NOPF-ALL");
34       ec.AddTrigger("CINT5WU-B-NOPF-ALL");
35       ec.AddTrigger("CINT7WU-I-NOPF-ALL");
36       ec.AddTrigger("CSCO1-ABCE-NOPF-CENT"); // cosmic SPD trigger
37 */
38     }
39     info->SetLocalEvSelection(ec);
40   }
41   
42   // Connect IO slots
43   mgr->ConnectInput (info, 0, mgr->GetCommonInputContainer());
44   co[AliTRDpwgppHelper::kEventInfo] = mgr->CreateContainer("eventInfo", AliTRDeventInfo::Class(), AliAnalysisManager::kExchangeContainer);
45   co[AliTRDpwgppHelper::kTracksBarrel] = mgr->CreateContainer("tracksBarrel", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
46   co[AliTRDpwgppHelper::kTracksSA] = mgr->CreateContainer("tracksSA", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
47   co[AliTRDpwgppHelper::kTracksKink] = mgr->CreateContainer("tracksKink", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
48   co[AliTRDpwgppHelper::kV0List] = mgr->CreateContainer("v0List", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
49   co[AliTRDpwgppHelper::kClusters] = mgr->CreateContainer("clusters", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
50   for(Int_t ios(1);ios<AliTRDpwgppHelper::kNOutSlots-1;ios++) mgr->ConnectOutput(info, ios, co[ios]);
51   
52   // add last monitor container
53   AliAnalysisDataContainer *mon=mgr->CreateContainer(info->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance",mgr->GetCommonFileName()));
54   mgr->ConnectOutput(info, AliTRDpwgppHelper::kNOutSlots-1, mon);
55 }
56