]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/AddTaskJets.C
Removed methods with manager and container as argument, obsolotewith new AF version...
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskJets.C
CommitLineData
0651dd18 1AliJetReader *CreateJetReader(Char_t *jr); // Common config\r
76f9015f 2AliJetFinder *CreateJetFinder(Char_t *jf,Float_t radius = -1);\r
0651dd18 3\r
76f9015f 4AliAnalysisTaskJets *AddTaskJets(Char_t *jr, Char_t *jf,Float_t radius = -1); // for the new AF\r
0651dd18 5\r
76f9015f 6AliAnalysisTaskJets *AddTaskJets(Char_t *jr, Char_t *jf, Float_t radius)\r
672f1183 7{\r
0651dd18 8 // Creates a jet finder task, configures it and adds it to the analysis manager.\r
672f1183 9\r
10 // Get the pointer to the existing analysis manager via the static access method.\r
11 //==============================================================================\r
12 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
13 if (!mgr) {\r
14 ::Error("AddTaskJets", "No analysis manager to connect to.");\r
15 return NULL;\r
16 } \r
17 \r
18 // Check the analysis type using the event handlers connected to the analysis manager.\r
19 //==============================================================================\r
20 if (!mgr->GetInputEventHandler()) {\r
21 ::Error("AddTaskJets", "This task requires an input event handler");\r
22 return NULL;\r
23 }\r
24\r
25 // Create the task and configure it.\r
26 //===========================================================================\r
27 AliAnalysisTaskJets *jetana;\r
0651dd18 28 AliJetReader *er = CreateJetReader(jr);\r
672f1183 29 // Define jet header and jet finder\r
76f9015f 30 AliJetFinder *jetFinder = CreateJetFinder(jf,radius);\r
0651dd18 31\r
672f1183 32 if (jetFinder){\r
672f1183 33 if (er) jetFinder->SetJetReader(er);\r
34 }\r
35\r
76f9015f 36 char *cRadius = "";\r
37 if(radius>0)cRadius = Form("%02d",(int)(radius*10));\r
38\r
39 jetana = new AliAnalysisTaskJets(Form("JetAnalysis%s%s%s",jr,jf,cRadius));\r
40 AliAnalysisDataContainer *cout_jet = mgr->CreateContainer(Form("jethist%s%s%s",jr,jf,cRadius), TList::Class(),\r
41 AliAnalysisManager::kOutputContainer, Form("jethist%s_%s%s.root",jr,jf,cRadius));\r
672f1183 42 // Connect jet finder to task.\r
43 jetana->SetJetFinder(jetFinder);\r
44 jetana->SetConfigFile("");\r
45 jetana->SetDebugLevel(10);\r
46 mgr->AddTask(jetana);\r
47\r
48 // Create ONLY the output containers for the data produced by the task.\r
49 // Get and connect other common input/output containers via the manager as below\r
50 //==============================================================================\r
51 mgr->ConnectInput (jetana, 0, mgr->GetCommonInputContainer());\r
52// AOD output slot will be used in a different way in future\r
53 mgr->ConnectOutput (jetana, 0, mgr->GetCommonOutputContainer());\r
54 mgr->ConnectOutput (jetana, 1, cout_jet);\r
55 \r
56 return jetana;\r
57}\r
0651dd18 58\r
76f9015f 59AliJetFinder *CreateJetFinder(Char_t *jf,Float_t radius){\r
0651dd18 60\r
61 switch (jf) {\r
62 case "CDF":\r
63 AliCdfJetHeader *jh = new AliCdfJetHeader();\r
64 jh->SetRadius(0.7);\r
65 \r
66 jetFinder = new AliCdfJetFinder();\r
67 jetFinder->SetOutputFile("jets.root");\r
68 if (jh) jetFinder->SetJetHeader(jh);\r
69 break;\r
70\r
71 case "DA":\r
72 AliDAJetHeader *jh=new AliDAJetHeader();\r
73 jh->SetComment("DA jet code with default parameters");\r
74 jh->SelectJets(kTRUE);\r
75 jh->SetNclust(10);\r
76 \r
77 jetFinder = new AliDAJetFinder();\r
78 if (jh) jetFinder->SetJetHeader(jh);\r
79 break;\r
80\r
81\r
82 case "Fastjet":\r
83 AliFastJetHeader *jh = new AliFastJetHeader();\r
84 jh->SetRparam(0.7); // setup parameters \r
85\r
86 jetFinder = new AliFastJetFinder();\r
87 jetFinder->SetOutputFile("jets.root");\r
88 if (jh) jetFinder->SetJetHeader(jh);\r
89 break;\r
90\r
91 case "UA1":\r
92 AliUA1JetHeaderV1 *jh=new AliUA1JetHeaderV1();\r
93 jh->SetComment("UA1 jet code with default parameters");\r
ba146e16 94 jh->BackgMode(0);\r
95 jh->SetRadius(0.4);\r
76f9015f 96 if(radius>0)jh->SetRadius(radius);\r
0651dd18 97 jh->SetEtSeed(4.);\r
98 jh->SetLegoNbinPhi(432);\r
99 jh->SetLegoNbinEta(274);\r
100 jh->SetLegoEtaMin(-2);\r
101 jh->SetLegoEtaMax(+2);\r
0651dd18 102 jh->SetMinJetEt(10.);\r
ba146e16 103 jh->SetJetEtaMax(1.5);\r
104 jh->SetJetEtaMin(-1.5);\r
0651dd18 105\r
106 jetFinder = new AliUA1JetFinderV1();\r
107 if (jh) jetFinder->SetJetHeader(jh);\r
108 break;\r
109\r
ba146e16 110 case "UA1MC":\r
111 AliUA1JetHeaderV1 *jh=new AliUA1JetHeaderV1();\r
112 jh->SetComment("UA1 jet code with default MC parameters");\r
113 jh->BackgMode(0);\r
114 jh->SetRadius(1.0);\r
76f9015f 115 if(radius>0)jh->SetRadius(radius);\r
ba146e16 116 jh->SetEtSeed(4.);\r
117 jh->SetLegoNbinPhi(432);\r
118 jh->SetLegoNbinEta(274);\r
119 jh->SetLegoEtaMin(-2);\r
120 jh->SetLegoEtaMax(+2);\r
121 jh->SetMinJetEt(10.);\r
122 jh->SetJetEtaMax(1.5);\r
123 jh->SetJetEtaMin(-1.5);\r
124\r
125 jetFinder = new AliUA1JetFinderV1();\r
126 if (jh) jetFinder->SetJetHeader(jh);\r
127 break;\r
0651dd18 128 case default:\r
129 ::Error("AddTaskJets", "Wrong jet finder selected\n");\r
130 return 0;\r
131 }\r
132\r
133 return jetFinder;\r
134\r
135}\r
136\r
137AliJetReader *CreateJetReader(Char_t *jr){\r
138 AliJetReader *er = 0;\r
139\r
140 switch (jr) {\r
141 case "MC":\r
142 AliJetKineReaderHeader *jrh = new AliJetKineReaderHeader();\r
143 jrh->SetComment("MC full Kinematics");\r
144 jrh->SetFastSimTPC(kFALSE);\r
145 jrh->SetFastSimEMCAL(kFALSE);\r
146 jrh->SetPtCut(0.);\r
147 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0 .9 \r
148 // Define reader and set its header \r
149 er = new AliJetKineReader();\r
150 er->SetReaderHeader(jrh);\r
151 break;\r
ba146e16 152 case "MC2":\r
153 AliJetKineReaderHeader *jrh = new AliJetKineReaderHeader();\r
154 jrh->SetComment("MC full Kinematics spearate config");\r
155 jrh->SetFastSimTPC(kFALSE);\r
156 jrh->SetFastSimEMCAL(kFALSE);\r
157 jrh->SetPtCut(0.);\r
158 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0 .9 \r
159 // Define reader and set its header \r
160 er = new AliJetKineReader();\r
161 er->SetReaderHeader(jrh);\r
162 break;\r
0651dd18 163 case "ESD":\r
164 AliJetESDReaderHeader *jrh = new AliJetESDReaderHeader();\r
165 jrh->SetComment("Testing");\r
166 jrh->SetFirstEvent(0);\r
167 jrh->SetLastEvent(1000);\r
168 jrh->SetPtCut(0.);\r
169 jrh->SetReadSignalOnly(kFALSE);\r
170 // Define reader and set its header \r
171 er = new AliJetESDReader();\r
172 er->SetReaderHeader(jrh);\r
173 break;\r
174\r
175 case "AOD":\r
176 AliJetAODReaderHeader *jrh = new AliJetAODReaderHeader();\r
177 jrh->SetComment("AOD Reader");\r
178 jrh->SetPtCut(0.);\r
179 jrh->SetTestFilterMask(1<<0);\r
180 // Define reader and set its header\r
181 er = new AliJetAODReader();\r
182 er->SetReaderHeader(jrh);\r
183 break;\r
184\r
185 default:\r
186 ::Error("AddTaskJets", "Wrong jet reader selected\n");\r
187 return 0;\r
188 }\r
189\r
190 return er;\r
191\r
192}\r