1 AliJetReader *CreateJetReader(Char_t *jr); // Common config
\r
2 AliJetFinder *CreateJetFinder(Char_t *jf,Float_t radius = -1);
\r
4 AliAnalysisTaskJets *AddTaskJets(Char_t *jr, Char_t *jf,Float_t radius = -1); // for the new AF
\r
6 AliAnalysisTaskJets *AddTaskJets(Char_t *jr, Char_t *jf, Float_t radius)
\r
8 // Creates a jet finder task, configures it and adds it to the analysis manager.
\r
10 // Get the pointer to the existing analysis manager via the static access method.
\r
11 //==============================================================================
\r
12 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
14 ::Error("AddTaskJets", "No analysis manager to connect to.");
\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
25 // Create the task and configure it.
\r
26 //===========================================================================
\r
27 AliAnalysisTaskJets *jetana;
\r
28 AliJetReader *er = CreateJetReader(jr);
\r
29 // Define jet header and jet finder
\r
30 AliJetFinder *jetFinder = CreateJetFinder(jf,radius);
\r
33 if (er) jetFinder->SetJetReader(er);
\r
37 if(radius>0)cRadius = Form("%02d",(int)(radius*10));
\r
39 jetana = new AliAnalysisTaskJets(Form("JetAnalysis%s%s%s",jr,jf,cRadius));
\r
40 TString type = mgr->GetInputEventHandler()->GetDataType();
\r
41 if (type == "AOD") jetana->SetNonStdBranch(Form("jets%s",jf));
\r
44 AliAnalysisDataContainer *cout_jet = mgr->CreateContainer(Form("jethist%s%s%s",jr,jf,cRadius), TList::Class(),
\r
45 AliAnalysisManager::kOutputContainer, Form("jethist%s_%s%s.root",jr,jf,cRadius));
\r
46 // Connect jet finder to task.
\r
47 jetana->SetJetFinder(jetFinder);
\r
48 jetana->SetConfigFile("");
\r
49 jetana->SetDebugLevel(10);
\r
50 mgr->AddTask(jetana);
\r
52 // Create ONLY the output containers for the data produced by the task.
\r
53 // Get and connect other common input/output containers via the manager as below
\r
54 //==============================================================================
\r
55 mgr->ConnectInput (jetana, 0, mgr->GetCommonInputContainer());
\r
56 // AOD output slot will be used in a different way in future
\r
57 mgr->ConnectOutput (jetana, 0, mgr->GetCommonOutputContainer());
\r
58 mgr->ConnectOutput (jetana, 1, cout_jet);
\r
63 AliJetFinder *CreateJetFinder(Char_t *jf,Float_t radius){
\r
64 AliJetFinder *jetFinder = 0;
\r
68 AliCdfJetHeader *jh = new AliCdfJetHeader();
\r
71 jetFinder = new AliCdfJetFinder();
\r
72 jetFinder->SetOutputFile("jets.root");
\r
73 if (jh) jetFinder->SetJetHeader(jh);
\r
77 AliDAJetHeader *jh=new AliDAJetHeader();
\r
78 jh->SetComment("DA jet code with default parameters");
\r
79 jh->SelectJets(kTRUE);
\r
82 jetFinder = new AliDAJetFinder();
\r
83 if (jh) jetFinder->SetJetHeader(jh);
\r
88 AliFastJetHeaderV1 *jh = new AliFastJetHeaderV1();
\r
89 jh->SetRparam(0.4); // setup parameters
\r
90 if(radius>0)jh->SetRparam(radius);
\r
91 jh->SetAlgorithm(2); // antikt from fastjet/JetDefinition.hh
\r
92 jetFinder = new AliFastJetFinder();
\r
93 if (jh) jetFinder->SetJetHeader(jh);
\r
97 AliUA1JetHeaderV1 *jh=new AliUA1JetHeaderV1();
\r
98 jh->SetComment("UA1 jet code with default parameters");
\r
100 jh->SetRadius(0.4);
\r
101 if(radius>0)jh->SetRadius(radius);
\r
103 jh->SetLegoNbinPhi(432);
\r
104 jh->SetLegoNbinEta(274);
\r
105 jh->SetLegoEtaMin(-2);
\r
106 jh->SetLegoEtaMax(+2);
\r
107 jh->SetMinJetEt(10.);
\r
108 jh->SetJetEtaMax(1.5);
\r
109 jh->SetJetEtaMin(-1.5);
\r
111 jetFinder = new AliUA1JetFinderV1();
\r
112 if (jh) jetFinder->SetJetHeader(jh);
\r
116 AliUA1JetHeaderV1 *jh=new AliUA1JetHeaderV1();
\r
117 jh->SetComment("UA1 jet code with default MC parameters");
\r
119 jh->SetRadius(1.0);
\r
120 if(radius>0)jh->SetRadius(radius);
\r
122 jh->SetLegoNbinPhi(432);
\r
123 jh->SetLegoNbinEta(274);
\r
124 jh->SetLegoEtaMin(-2);
\r
125 jh->SetLegoEtaMax(+2);
\r
126 jh->SetMinJetEt(10.);
\r
127 jh->SetJetEtaMax(1.5);
\r
128 jh->SetJetEtaMin(-1.5);
\r
129 jetFinder = new AliUA1JetFinderV1();
\r
130 if (jh) jetFinder->SetJetHeader(jh);
\r
133 Printf("\n >>>>>>> AddTaskJets Error Wrong jet finder selected\n");
\r
141 AliJetReader *CreateJetReader(Char_t *jr){
\r
142 AliJetReader *er = 0;
\r
146 AliJetKineReaderHeader *jrh = new AliJetKineReaderHeader();
\r
147 jrh->SetComment("MC full Kinematics");
\r
148 jrh->SetFastSimTPC(kFALSE);
\r
149 jrh->SetFastSimEMCAL(kFALSE);
\r
151 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0 .9
\r
152 // Define reader and set its header
\r
153 er = new AliJetKineReader();
\r
154 er->SetReaderHeader(jrh);
\r
157 AliJetKineReaderHeader *jrh = new AliJetKineReaderHeader();
\r
158 jrh->SetComment("MC full Kinematics spearate config charged only");
\r
159 jrh->SetFastSimTPC(kFALSE);
\r
160 jrh->SetFastSimEMCAL(kFALSE);
\r
161 jrh->SetChargedOnly(kTRUE);
\r
163 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0 .9
\r
164 // Define reader and set its header
\r
165 er = new AliJetKineReader();
\r
166 er->SetReaderHeader(jrh);
\r
169 AliJetESDReaderHeader *jrh = new AliJetESDReaderHeader();
\r
170 jrh->SetComment("Testing");
\r
171 jrh->SetFirstEvent(0);
\r
172 jrh->SetLastEvent(1000);
\r
174 jrh->SetReadSignalOnly(kFALSE);
\r
175 // Define reader and set its header
\r
176 er = new AliJetESDReader();
\r
177 er->SetReaderHeader(jrh);
\r
181 AliJetAODReaderHeader *jrh = new AliJetAODReaderHeader();
\r
182 jrh->SetComment("AOD Reader");
\r
184 jrh->SetTestFilterMask(1<<0);
\r
185 // Define reader and set its header
\r
186 er = new AliJetAODReader();
\r
187 er->SetReaderHeader(jrh);
\r
190 AliJetAODReaderHeader *jrh = new AliJetAODReaderHeader();
\r
191 jrh->SetComment("AOD MC Reader");
\r
193 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0.9
\r
194 jrh->SetReadAODMC(1);// 1 all primary MC , 2 all primary charged
\r
195 // Define reader and set its header
\r
196 er = new AliJetAODReader();
\r
197 er->SetReaderHeader(jrh);
\r
200 AliJetAODReaderHeader *jrh = new AliJetAODReaderHeader();
\r
201 jrh->SetComment("AOD MC Reader");
\r
203 jrh->SetFiducialEta(-2.1,2.1); // to take all MC particles default is 0.9
\r
204 jrh->SetReadAODMC(2);// 1 all primary MC , 2 all primary charged
\r
205 // Define reader and set its header
\r
206 er = new AliJetAODReader();
\r
207 er->SetReaderHeader(jrh);
\r
211 ::Error("AddTaskJets", "Wrong jet reader selected\n");
\r