3 void ConfigTaskUE(AliAnalysisTaskUE * ueana ); // common config, extend with different cases
\r
4 void SetTrackCuts(AliAnalysisTaskUE * ueana, Char_t *ct); //can be extended
\r
5 void SetAnaTopology(AliAnalysisTaskUE * ueana, Char_t *at); //can be extended
\r
6 void SetRegionType(AliAnalysisTaskUE * ueana, Char_t *rt); //can be extended
\r
7 void SetSorting(AliAnalysisTaskUE * ueana, Char_t *sort);
\r
9 AliAnalysisTaskUE *AddTaskUE(Char_t *jetBranch = "jets",Char_t *cuts = "ALICE", Char_t *anaTopology="LJ", Char_t *regionType="TRANSV", Char_t *sortBy="MSP")
\r
11 // Creates a jet fider task, configures it and adds it to the analysis manager.
\r
13 // Get the pointer to the existing analysis manager via the static access method.
\r
14 //==============================================================================
\r
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
17 ::Error("AddTaskUE", "No analysis manager to connect to.");
\r
21 // Check the analysis type using the event handlers connected to the analysis manager.
\r
22 //==============================================================================
\r
23 if (!mgr->GetInputEventHandler()) {
\r
24 ::Error("AddTaskUE", "This task requires an input event handler");
\r
28 // Create the task and configure it.
\r
29 //===========================================================================
\r
31 TString jb(jetBranch);
\r
33 TString at(anaTopology);
\r
34 TString rt(regionType);
\r
35 TString sort(sortBy);
\r
36 TString name(Form("%s_%s_%s_%s_%s",jb.Data(),ct.Data(),at.Data(),rt.Data(),sort.Data()));
\r
38 AliAnalysisTaskUE* ueana = new AliAnalysisTaskUE(Form("UEAnalysis_%s",name.Data()));
\r
39 ueana->SelectAODBranch(jb.Data());
\r
40 ConfigTaskUE(ueana);
\r
41 SetTrackCuts(ueana,cuts);
\r
42 SetAnaTopology(ueana,anaTopology);
\r
43 SetRegionType(ueana,regionType);
\r
44 SetSorting(ueana,sortBy);
\r
46 if( jb.Contains("ICDF") ) { // Use internal "Charged Particle Jet CDF" instead of jets from AOD
\r
47 ueana->SetUseChPartJet( kTRUE );
\r
48 ueana->SetPtMinChPartJet(0.5);
\r
51 // ***** to be fixed *******
\r
54 ueana->ReadDeltaAOD(kTRUE);
\r
55 ueana->SelectDeltaAODBranch(jb.Data());
\r
59 mgr->AddTask(ueana);
\r
61 // Create ONLY the output containers for the data produced by the task.
\r
62 // Get and connect other common input/output containers via the manager as below
\r
63 //==============================================================================
\r
64 AliAnalysisDataContainer *coutput1_UE = 0;
\r
65 if(jb.Length()==0)coutput1_UE = mgr->CreateContainer("histosUE", TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_UE",AliAnalysisManager::GetCommonFileName()));
\r
66 else coutput1_UE = mgr->CreateContainer(Form("histosUE_%s",name.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_UE_%s",AliAnalysisManager::GetCommonFileName(),name.Data()));
\r
68 mgr->ConnectInput (ueana, 0, mgr->GetCommonInputContainer());
\r
69 mgr->ConnectOutput (ueana, 0, coutput1_UE );
\r
74 void ConfigTaskUE(AliAnalysisTaskUE * ueana){
\r
76 ueana->SetDebugLevel(0);
\r
77 ueana->SetPtRangeInHist(100, 0., 100.);
\r
80 //------------------------------------------------------------------------
\r
81 SetTrackCuts(AliAnalysisTaskUE * ueana, Char_t *ct){
\r
83 ueana->SetFilterBit(16); // ITS refit
\r
87 ueana->SetTrackPtCut(0.1);
\r
88 ueana->SetTrackEtaCut(0.9);
\r
92 ueana->SetTrackPtCut(0.5);
\r
93 ueana->SetTrackEtaCut(0.9); // meaningful only for pure MC
\r
97 Printf("\n >>>>>>> AddTaskUE Error Wrong Set of Track Cuts selected\n");
\r
102 //------------------------------------------------------------------------
\r
103 //------------------------------------------------------------------------
\r
104 SetAnaTopology(AliAnalysisTaskUE * ueana, Char_t *at){
\r
107 case "LJ": // leading jet
\r
108 ueana->SetAnaTopology(1);
\r
109 ueana->SetJet1EtaCut(0.5);
\r
112 case "LJCC": // leading jet with charged cluster
\r
113 ueana->SetAnaTopology(1);
\r
114 ueana->SetJet1EtaCut(0.9); // CDF allow jet radius extend ouside |eta|<1
\r
117 case "BB": // back-to-back
\r
118 ueana->SetAnaTopology(2);
\r
119 ueana->SetJet1EtaCut(0.5);
\r
120 ueana->SetJet2DeltaPhiCut(2.616);
\r
123 case "BE": // back-to-back exclusive
\r
124 ueana->SetAnaTopology(3);
\r
125 ueana->SetJet1EtaCut(0.5);
\r
126 ueana->SetJet2DeltaPhiCut(2.616);
\r
127 ueana->SetJet3PtCut(10.);
\r
131 ueana->SetAnaTopology(4);
\r
132 ueana->SetJet1EtaCut(0.9);
\r
135 case "MP_eta09": // max Pt charged particle
\r
136 ueana->SetAnaTopology(4);
\r
137 ueana->SetJet1EtaCut(0.9);
\r
142 Printf("\n >>>>>>> AddTaskUE Error Wrong Analysis Topology selected\n");
\r
148 //------------------------------------------------------------------------
\r
149 SetRegionType(AliAnalysisTaskUE * ueana, Char_t *rt){
\r
153 ueana->SetRegionType(1);
\r
157 ueana->SetRegionType(2);
\r
158 ueana->SetConeRadius(0.4);
\r
162 Printf("\n >>>>>>> AddTaskUE Error Wrong Region Type selected\n");
\r
167 //------------------------------------------------------------------------
\r
168 SetSorting(AliAnalysisTaskUE * ueana, Char_t *sort){
\r
171 // Minimum zone is selected per quantity type
\r
173 ueana->SetPtSumOrdering(1);
\r
176 // Minimum Zone is selected at the region having lowest pt summation of all tracks
\r
178 ueana->SetPtSumOrdering(2);
\r
181 // Minimum Zone is selected at the region having lowest average pt per track
\r
183 ueana->SetPtSumOrdering(3);
\r
187 Printf("\n >>>>>>> AddTaskUE Error Wrong Sorting selected\n");
\r
188 Printf("\n >>>>>>> AddTaskUE Sort by Set to MSP \n");
\r
189 ueana->SetPtSumOrdering(2);
\r