cover case for AOD analysis
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskJetSpectrum2.C
1 AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(char* bRec = "jets",char* bGen = "jetsAODMC_UA104",UInt_t filterMask = 16)\r
2 {\r
3 // Creates a jet fider task, configures it and adds it to the analysis manager.\r
4 \r
5    // Get the pointer to the existing analysis manager via the static access method.\r
6    //==============================================================================\r
7    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
8    if (!mgr) {\r
9       ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");\r
10       return NULL;\r
11    }  \r
12    \r
13    // Check the analysis type using the event handlers connected to the analysis manager.\r
14    //==============================================================================\r
15    if (!mgr->GetInputEventHandler()) {\r
16      ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");\r
17       return NULL;\r
18    }\r
19 \r
20    TString type = mgr->GetInputEventHandler()->GetDataType();\r
21    TString typeMC(bGen);\r
22    // Create the task and configure it.\r
23    //===========================================================================\r
24    \r
25    AliAnalysisTaskJetSpectrum2* pwg4spec = new  AliAnalysisTaskJetSpectrum2(Form("Jet Spectrum %s %s",bRec,bGen));\r
26       \r
27    // or a config file\r
28    pwg4spec->SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMC);\r
29    // if(iAODanalysis)pwg4spec->SetAODInput(kTRUE);\r
30    // pwg4spec->SetDebugLevel(11); \r
31    pwg4spec->SetBranchRec(bRec); \r
32    pwg4spec->SetBranchGen(bGen); \r
33    pwg4spec->SetFilterMask(filterMask); \r
34 \r
35    if(type == "AOD"){\r
36      pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODIn);\r
37      pwg4spec->SetAODInput(kTRUE);\r
38    }\r
39    else pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODOut);\r
40 \r
41    if(typeMC.Contains("AODMC2"))pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r
42    else pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r
43    \r
44    mgr->AddTask(pwg4spec);\r
45      \r
46    // Create ONLY the output containers for the data produced by the task.\r
47    // Get and connect other common input/output containers via the manager as below\r
48    //==============================================================================\r
49    AliAnalysisDataContainer *coutput1_Spec = mgr->CreateContainer("pwg4spec2", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_spec2_%s_%s",AliAnalysisManager::GetCommonFileName(),bRec,bGen));\r
50 \r
51    mgr->ConnectInput  (pwg4spec, 0, mgr->GetCommonInputContainer());\r
52    mgr->ConnectOutput (pwg4spec, 0, mgr->GetCommonOutputContainer());\r
53    mgr->ConnectOutput (pwg4spec,  1, coutput1_Spec );\r
54    \r
55    return pwg4spec;\r
56 }\r