]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/AddTaskJetSpectrum2.C
Switch on/set trigger decision
[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    typeMC.ToUpper();\r
23    // Create the task and configure it.\r
24    //===========================================================================\r
25    \r
26    AliAnalysisTaskJetSpectrum2* pwg4spec = new  AliAnalysisTaskJetSpectrum2(Form("Jet Spectrum %s %s",bRec,bGen));\r
27       \r
28    // or a config file\r
29    // pwg4spec->SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMC);\r
30    // if(iAODanalysis)pwg4spec->SetAODInput(kTRUE);\r
31    // pwg4spec->SetDebugLevel(11); \r
32    pwg4spec->SetBranchRec(bRec); \r
33    pwg4spec->SetBranchGen(bGen); \r
34    pwg4spec->SetFilterMask(filterMask); \r
35    pwg4spec->SetUseGlobalSelection(kTRUE); \r
36 \r
37    if(type == "AOD"){\r
38      pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODIn);\r
39      pwg4spec->SetAODInput(kTRUE);\r
40    }\r
41    else pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODOut);\r
42 \r
43    if(typeMC.Contains("AODMC2")){\r
44      pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r
45    }\r
46    else if (typeMC.Contains("AODMC2")){\r
47      pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r
48    }\r
49    else if (typeMC.Contains("AOD")) {\r
50      if(type == "AOD"){\r
51        pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODIn);\r
52      }\r
53      else{\r
54        pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODOut);\r
55      }\r
56    }\r
57    mgr->AddTask(pwg4spec);\r
58      \r
59    // Create ONLY the output containers for the data produced by the task.\r
60    // Get and connect other common input/output containers via the manager as below\r
61    //==============================================================================\r
62    AliAnalysisDataContainer *coutput1_Spec = mgr->CreateContainer("pwg4spec2", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_spec2_%s_%s",AliAnalysisManager::GetCommonFileName(),bRec,bGen));\r
63 \r
64    mgr->ConnectInput  (pwg4spec, 0, mgr->GetCommonInputContainer());\r
65    mgr->ConnectOutput (pwg4spec, 0, mgr->GetCommonOutputContainer());\r
66    mgr->ConnectOutput (pwg4spec,  1, coutput1_Spec );\r
67    \r
68    return pwg4spec;\r
69 }\r