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