]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/AddTaskJetSpectrum2.C
updated for mini train, AddTask for new boo keeping task
[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 \r
4 AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 16,Bool_t kUseAODMC = kFALSE){\r
5   AliAnalysisTaskJetSpectrum2 *js = 0;\r
6   if(kUseAODMC){\r
7   js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",filterMask);\r
8     js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",filterMask);\r
9 \r
10     js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",filterMask);\r
11     js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",filterMask);\r
12 \r
13   js = AddTaskJetSpectrum2("jetsAOD_UA107","jetsAODMC_UA107",filterMask);\r
14   }\r
15   js = AddTaskJetSpectrum2("jets","jetsAOD_FASTJET04",filterMask);\r
16   js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",filterMask);\r
17   js = AddTaskJetSpectrum2("jetsAOD_UA107","",filterMask);\r
18   js->SetRecEtaWindow(0.2);\r
19 \r
20   return js;\r
21 }\r
22 \r
23 \r
24 AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(char* bRec,char* bGen ,UInt_t filterMask)\r
25 {\r
26 // Creates a jet fider task, configures it and adds it to the analysis manager.\r
27 \r
28    // Get the pointer to the existing analysis manager via the static access method.\r
29    //==============================================================================\r
30    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
31    if (!mgr) {\r
32       ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");\r
33       return NULL;\r
34    }  \r
35    \r
36    // Check the analysis type using the event handlers connected to the analysis manager.\r
37    //==============================================================================\r
38    if (!mgr->GetInputEventHandler()) {\r
39      ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");\r
40       return NULL;\r
41    }\r
42 \r
43    TString type = mgr->GetInputEventHandler()->GetDataType();\r
44    TString typeMC(bGen);\r
45    typeMC.ToUpper();\r
46    // Create the task and configure it.\r
47    //===========================================================================\r
48    \r
49    AliAnalysisTaskJetSpectrum2* pwg4spec = new  AliAnalysisTaskJetSpectrum2(Form("Jet Spectrum %s %s",bRec,bGen));\r
50       \r
51    // or a config file\r
52    // pwg4spec->SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMC);\r
53    // if(iAODanalysis)pwg4spec->SetAODInput(kTRUE);\r
54    // pwg4spec->SetDebugLevel(11); \r
55    pwg4spec->SetBranchRec(bRec); \r
56    pwg4spec->SetBranchGen(bGen); \r
57    pwg4spec->SetFilterMask(filterMask); \r
58    pwg4spec->SetUseGlobalSelection(kTRUE); \r
59 \r
60    if(type == "AOD"){\r
61      pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODIn);\r
62      pwg4spec->SetAODInput(kTRUE);\r
63    }\r
64    else pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODOut);\r
65 \r
66    if(typeMC.Contains("AODMC2")){\r
67      pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r
68    }\r
69    else if (typeMC.Contains("AODMC2")){\r
70      pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r
71    }\r
72    else if (typeMC.Contains("AOD")) {\r
73      if(type == "AOD"){\r
74        pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODIn);\r
75      }\r
76      else{\r
77        pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODOut);\r
78      }\r
79    }\r
80    mgr->AddTask(pwg4spec);\r
81      \r
82    // Create ONLY the output containers for the data produced by the task.\r
83    // Get and connect other common input/output containers via the manager as below\r
84    //==============================================================================\r
85    AliAnalysisDataContainer *coutput1_Spec = mgr->CreateContainer(Form("pwg4spec2_%s_%s",bRec,bGen), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_spec2_%s_%s",AliAnalysisManager::GetCommonFileName(),bRec,bGen));\r
86 \r
87    mgr->ConnectInput  (pwg4spec, 0, mgr->GetCommonInputContainer());\r
88    mgr->ConnectOutput (pwg4spec, 0, mgr->GetCommonOutputContainer());\r
89    mgr->ConnectOutput (pwg4spec,  1, coutput1_Spec );\r
90    \r
91    return pwg4spec;\r
92 }\r