6 #include <TClonesArray.h>
11 #include <THnSparse.h>
14 #include <TLorentzVector.h>
20 #include <AliAnalysisDataSlot.h>
21 #include <AliAnalysisDataContainer.h>
23 #include "TMatrixDSym.h"
24 #include "TMatrixDSymEigen.h"
27 #include "AliVCluster.h"
28 #include "AliVTrack.h"
33 #include "AliMCEvent.h"
34 #include "AliGenPythiaEventHeader.h"
35 #include "AliAODMCHeader.h"
36 #include "AliMCEvent.h"
37 #include "AliAnalysisManager.h"
44 #include "AliAODEvent.h"
50 Double_t XBinsPt[66]={0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.9,0.95,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.90,2.00,2.20,2.40,2.60,2.80,3.00,3.20,3.40,3.60,3.80,4.00,4.50,5.00,5.50,6.00,6.50,7.00,8.00,9.00,10.00,11.00,12.00,13.00,14.00,15.00,16.00,18.00,20.00,22.00,24.00,26.00,28.00,30.00,32.00,34.00,36.00,40.00,45.00,50.00};
52 Double_t XBinsJetPt[35]={0,0.50,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00,12.00,14.00,16.00,18.00,20.00,25.00,30.00,35.00,40.00,45.00,50.00,60.00,70.00,80.00,90.00,100.00,120.00,140.00,160.00,180.00,200.00,250.00,300.00};
54 Double_t XBinsJetMass[28]={0,0.50,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00,12.00,14.00,16.00,18.00,20.00,25.00,30.00,35.00,40.00,45.00,50.00,60.00,70.00,80.00,90.00,100.00};
76 fMinFractionShared(0),
79 fJetSelection(kInclusive),
82 fPtMinTriggerHadron(20.),
83 fPtMaxTriggerHadron(50.),
84 fRecoilAngularWindow(0.6),
96 fSharedFractionPtMin(0.5),
99 fhPtTriggerHadron(0x0),
118 fhNumberOfJetTracks(0x0),
119 fhNumberOfJetTracks_1(0x0),
120 fhNumberOfJetTracks_2(0x0),
128 fhSubJetRadius_1(0x0),
129 fhSubJetRadius_2(0x0),
130 fhSubJetCounter(0x0),
131 fhSubJetCounter_1(0x0),
132 fhSubJetCounter_2(0x0),
133 fhNumberOfSubJetTracks(0x0),
134 fhNumberOfSubJetTracks_1(0x0),
135 fhNumberOfSubJetTracks_2(0x0),
136 fh2PtTriggerHadronJet(0x0),
137 fhPhiTriggerHadronJet(0x0),
140 fhEventCounter_1(0x0),
141 fhEventCounter_2(0x0),
142 fhSubJettiness1CheckRatio_FJ_AKT(0x0),
143 fhSubJettiness1CheckRatio_FJ_KT(0x0),
144 fhSubJettiness1CheckRatio_FJ_CA(0x0),
145 fhSubJettiness1CheckRatio_FJ_WTA_KT(0x0),
146 fhSubJettiness1CheckRatio_FJ_WTA_CA(0x0),
147 fhSubJettiness1CheckRatio_FJ_OP_AKT(0x0),
148 fhSubJettiness1CheckRatio_FJ_OP_KT(0x0),
149 fhSubJettiness1CheckRatio_FJ_OP_CA(0x0),
150 fhSubJettiness1CheckRatio_FJ_OP_WTA_KT(0x0),
151 fhSubJettiness1CheckRatio_FJ_OP_WTA_CA(0x0),
152 fhSubJettiness1CheckRatio_FJ_MIN(0x0),
153 fhSubJettiness2CheckRatio_FJ_AKT(0x0),
154 fhSubJettiness2CheckRatio_FJ_KT(0x0),
155 fhSubJettiness2CheckRatio_FJ_CA(0x0),
156 fhSubJettiness2CheckRatio_FJ_WTA_KT(0x0),
157 fhSubJettiness2CheckRatio_FJ_WTA_CA(0x0),
158 fhSubJettiness2CheckRatio_FJ_OP_AKT(0x0),
159 fhSubJettiness2CheckRatio_FJ_OP_KT(0x0),
160 fhSubJettiness2CheckRatio_FJ_OP_CA(0x0),
161 fhSubJettiness2CheckRatio_FJ_OP_WTA_KT(0x0),
162 fhSubJettiness2CheckRatio_FJ_OP_WTA_CA(0x0),
163 fhSubJettiness2CheckRatio_FJ_MIN(0x0),
164 fhSubJettiness2to1CheckRatio_FJ_AKT(0x0),
165 fhSubJettiness2to1CheckRatio_FJ_KT(0x0),
166 fhSubJettiness2to1CheckRatio_FJ_CA(0x0),
167 fhSubJettiness2to1CheckRatio_FJ_WTA_KT(0x0),
168 fhSubJettiness2to1CheckRatio_FJ_WTA_CA(0x0),
169 fhSubJettiness2to1CheckRatio_FJ_OP_AKT(0x0),
170 fhSubJettiness2to1CheckRatio_FJ_OP_KT(0x0),
171 fhSubJettiness2to1CheckRatio_FJ_OP_CA(0x0),
172 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_KT(0x0),
173 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_CA(0x0),
174 fhSubJettiness2to1CheckRatio_FJ_MIN(0x0),
175 fhSubJettiness1_FJ_AKT(0x0),
176 fhSubJettiness1_FJ_KT(0x0),
177 fhSubJettiness1_FJ_CA(0x0),
178 fhSubJettiness1_FJ_WTA_KT(0x0),
179 fhSubJettiness1_FJ_WTA_CA(0x0),
180 fhSubJettiness1_FJ_OP_AKT(0x0),
181 fhSubJettiness1_FJ_OP_KT(0x0),
182 fhSubJettiness1_FJ_OP_CA(0x0),
183 fhSubJettiness1_FJ_OP_WTA_KT(0x0),
184 fhSubJettiness1_FJ_OP_WTA_CA(0x0),
185 fhSubJettiness1_FJ_MIN(0x0),
186 fhSubJettiness2_FJ_AKT(0x0),
187 fhSubJettiness2_FJ_KT(0x0),
188 fhSubJettiness2_FJ_CA(0x0),
189 fhSubJettiness2_FJ_WTA_KT(0x0),
190 fhSubJettiness2_FJ_WTA_CA(0x0),
191 fhSubJettiness2_FJ_OP_AKT(0x0),
192 fhSubJettiness2_FJ_OP_KT(0x0),
193 fhSubJettiness2_FJ_OP_CA(0x0),
194 fhSubJettiness2_FJ_OP_WTA_KT(0x0),
195 fhSubJettiness2_FJ_OP_WTA_CA(0x0),
196 fhSubJettiness2_FJ_MIN(0x0),
197 fhSubJettiness2to1_FJ_AKT(0x0),
198 fhSubJettiness2to1_FJ_KT(0x0),
199 fhSubJettiness2to1_FJ_CA(0x0),
200 fhSubJettiness2to1_FJ_WTA_KT(0x0),
201 fhSubJettiness2to1_FJ_WTA_CA(0x0),
202 fhSubJettiness2to1_FJ_OP_AKT(0x0),
203 fhSubJettiness2to1_FJ_OP_KT(0x0),
204 fhSubJettiness2to1_FJ_OP_CA(0x0),
205 fhSubJettiness2to1_FJ_OP_WTA_KT(0x0),
206 fhSubJettiness2to1_FJ_OP_WTA_CA(0x0),
207 fhSubJettiness2to1_FJ_MIN(0x0),
208 fTreeResponseMatrixAxis(0)
214 SetMakeGeneralHistograms(kTRUE);
215 DefineOutput(1, TList::Class());
216 DefineOutput(2, TTree::Class());
223 fMinFractionShared(0),
224 fJetShapeType(
kData),
225 fJetShapeSub(kNoSub),
226 fJetSelection(kInclusive),
227 fPtThreshold(-9999.),
229 fPtMinTriggerHadron(20.),
230 fPtMaxTriggerHadron(50.),
231 fRecoilAngularWindow(0.6),
235 fCentSelectOn(kTRUE),
243 fSharedFractionPtMin(0.5),
246 fhPtTriggerHadron(0x0),
265 fhNumberOfJetTracks(0x0),
266 fhNumberOfJetTracks_1(0x0),
267 fhNumberOfJetTracks_2(0x0),
275 fhSubJetRadius_1(0x0),
276 fhSubJetRadius_2(0x0),
277 fhSubJetCounter(0x0),
278 fhSubJetCounter_1(0x0),
279 fhSubJetCounter_2(0x0),
280 fhNumberOfSubJetTracks(0x0),
281 fhNumberOfSubJetTracks_1(0x0),
282 fhNumberOfSubJetTracks_2(0x0),
283 fh2PtTriggerHadronJet(0x0),
284 fhPhiTriggerHadronJet(0x0),
287 fhEventCounter_1(0x0),
288 fhEventCounter_2(0x0),
289 fhSubJettiness1CheckRatio_FJ_AKT(0x0),
290 fhSubJettiness1CheckRatio_FJ_KT(0x0),
291 fhSubJettiness1CheckRatio_FJ_CA(0x0),
292 fhSubJettiness1CheckRatio_FJ_WTA_KT(0x0),
293 fhSubJettiness1CheckRatio_FJ_WTA_CA(0x0),
294 fhSubJettiness1CheckRatio_FJ_OP_AKT(0x0),
295 fhSubJettiness1CheckRatio_FJ_OP_KT(0x0),
296 fhSubJettiness1CheckRatio_FJ_OP_CA(0x0),
297 fhSubJettiness1CheckRatio_FJ_OP_WTA_KT(0x0),
298 fhSubJettiness1CheckRatio_FJ_OP_WTA_CA(0x0),
299 fhSubJettiness1CheckRatio_FJ_MIN(0x0),
300 fhSubJettiness2CheckRatio_FJ_AKT(0x0),
301 fhSubJettiness2CheckRatio_FJ_KT(0x0),
302 fhSubJettiness2CheckRatio_FJ_CA(0x0),
303 fhSubJettiness2CheckRatio_FJ_WTA_KT(0x0),
304 fhSubJettiness2CheckRatio_FJ_WTA_CA(0x0),
305 fhSubJettiness2CheckRatio_FJ_OP_AKT(0x0),
306 fhSubJettiness2CheckRatio_FJ_OP_KT(0x0),
307 fhSubJettiness2CheckRatio_FJ_OP_CA(0x0),
308 fhSubJettiness2CheckRatio_FJ_OP_WTA_KT(0x0),
309 fhSubJettiness2CheckRatio_FJ_OP_WTA_CA(0x0),
310 fhSubJettiness2CheckRatio_FJ_MIN(0x0),
311 fhSubJettiness2to1CheckRatio_FJ_AKT(0x0),
312 fhSubJettiness2to1CheckRatio_FJ_KT(0x0),
313 fhSubJettiness2to1CheckRatio_FJ_CA(0x0),
314 fhSubJettiness2to1CheckRatio_FJ_WTA_KT(0x0),
315 fhSubJettiness2to1CheckRatio_FJ_WTA_CA(0x0),
316 fhSubJettiness2to1CheckRatio_FJ_OP_AKT(0x0),
317 fhSubJettiness2to1CheckRatio_FJ_OP_KT(0x0),
318 fhSubJettiness2to1CheckRatio_FJ_OP_CA(0x0),
319 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_KT(0x0),
320 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_CA(0x0),
321 fhSubJettiness2to1CheckRatio_FJ_MIN(0x0),
322 fhSubJettiness1_FJ_AKT(0x0),
323 fhSubJettiness1_FJ_KT(0x0),
324 fhSubJettiness1_FJ_CA(0x0),
325 fhSubJettiness1_FJ_WTA_KT(0x0),
326 fhSubJettiness1_FJ_WTA_CA(0x0),
327 fhSubJettiness1_FJ_OP_AKT(0x0),
328 fhSubJettiness1_FJ_OP_KT(0x0),
329 fhSubJettiness1_FJ_OP_CA(0x0),
330 fhSubJettiness1_FJ_OP_WTA_KT(0x0),
331 fhSubJettiness1_FJ_OP_WTA_CA(0x0),
332 fhSubJettiness1_FJ_MIN(0x0),
333 fhSubJettiness2_FJ_AKT(0x0),
334 fhSubJettiness2_FJ_KT(0x0),
335 fhSubJettiness2_FJ_CA(0x0),
336 fhSubJettiness2_FJ_WTA_KT(0x0),
337 fhSubJettiness2_FJ_WTA_CA(0x0),
338 fhSubJettiness2_FJ_OP_AKT(0x0),
339 fhSubJettiness2_FJ_OP_KT(0x0),
340 fhSubJettiness2_FJ_OP_CA(0x0),
341 fhSubJettiness2_FJ_OP_WTA_KT(0x0),
342 fhSubJettiness2_FJ_OP_WTA_CA(0x0),
343 fhSubJettiness2_FJ_MIN(0x0),
344 fhSubJettiness2to1_FJ_AKT(0x0),
345 fhSubJettiness2to1_FJ_KT(0x0),
346 fhSubJettiness2to1_FJ_CA(0x0),
347 fhSubJettiness2to1_FJ_WTA_KT(0x0),
348 fhSubJettiness2to1_FJ_WTA_CA(0x0),
349 fhSubJettiness2to1_FJ_OP_AKT(0x0),
350 fhSubJettiness2to1_FJ_OP_KT(0x0),
351 fhSubJettiness2to1_FJ_OP_CA(0x0),
352 fhSubJettiness2to1_FJ_OP_WTA_KT(0x0),
353 fhSubJettiness2to1_FJ_OP_WTA_CA(0x0),
354 fhSubJettiness2to1_FJ_MIN(0x0),
355 fTreeResponseMatrixAxis(0)
363 DefineOutput(1, TList::Class());
364 DefineOutput(2, TTree::Class());
380 Bool_t oldStatus = TH1::AddDirectoryStatus();
381 TH1::AddDirectory(kFALSE);
382 TH1::AddDirectory(oldStatus);
384 const char* nameoutput = GetOutputSlot(2)->GetContainer()->GetName();
389 fShapesVarNames[0] =
"Pt";
390 fShapesVarNames[1] =
"Pt_Truth";
391 fShapesVarNames[2] =
"Tau1";
392 fShapesVarNames[3] =
"Tau1_Truth";
393 fShapesVarNames[4] =
"Tau2";
394 fShapesVarNames[5] =
"Tau2_Truth";
395 fShapesVarNames[6] =
"Tau3";
396 fShapesVarNames[7] =
"Tau3_Truth";
397 fShapesVarNames[8] =
"OpeningAngle";
398 fShapesVarNames[9] =
"OpeningAngle_Truth";
399 fShapesVarNames[10] =
"JetMultiplicity";
400 fShapesVarNames[11] =
"JetMultiplicity_Truth";
401 fShapesVarNames[12] =
"DeltaR";
402 fShapesVarNames[13] =
"DeltaR_Truth";
403 fShapesVarNames[14] =
"Frac1";
404 fShapesVarNames[15] =
"Frac1_Truth";
405 fShapesVarNames[16] =
"Frac2";
406 fShapesVarNames[17] =
"Frac2_Truth";
408 cout<<
"looping over variables"<<endl;
414 const Int_t nVarMin = 12;
417 fShapesVarNames[0] =
"Pt";
418 fShapesVarNames[1] =
"Pt_Truth";
419 fShapesVarNames[2] =
"Tau1";
420 fShapesVarNames[3] =
"Tau1_Truth";
421 fShapesVarNames[4] =
"Tau2";
422 fShapesVarNames[5] =
"Tau2_Truth";
423 fShapesVarNames[6] =
"Tau3";
424 fShapesVarNames[7] =
"Tau3_Truth";
425 fShapesVarNames[8] =
"OpeningAngle";
426 fShapesVarNames[9] =
"OpeningAngle_Truth";
427 fShapesVarNames[10] =
"JetMultiplicity";
428 fShapesVarNames[11] =
"JetMultiplicity_Truth";
429 for(
Int_t ivar=0; ivar < nVarMin; ivar++){
430 cout<<
"looping over variables"<<endl;
436 fhPtTriggerHadron=
new TH1F(
"fhPtTriggerHadron",
"fhPtTriggerHadron",1500,-0.5,149.5);
440 fhPhiTriggerHadronJet=
new TH1F(
"fhPhiTriggerHadronJet",
"fhPhiTriggerHadronJet",360 , -1.5*(TMath::Pi()), 1.5*(TMath::Pi()));
446 fhJetPt=
new TH1F(
"fhJetPt",
"Jet Pt",1500,-0.5,149.5 );
449 fhJetPhi=
new TH1F(
"fhJetPhi",
"Jet Phi",360 , -1.5*(TMath::Pi()), 1.5*(TMath::Pi()));
453 fhJetMass=
new TH1F(
"fhJetMass",
"Jet Mass", 4000,-0.5, 39.5);
455 fhJetRadius=
new TH1F(
"fhJetRadius",
"Jet Radius", 100, -0.05,0.995);
457 fhNumberOfJetTracks=
new TH1F(
"fhNumberOfJetTracks",
"Number of Tracks within a Jet", 300, -0.5,299.5);
459 fhSubJetRadius=
new TH1F(
"fhSubJetRadius",
"SubJet Radius", 100, -0.05,0.995);
461 fhSubJetPt=
new TH1F(
"fhSubJetPt",
"SubJet Pt", 1500, -0.5,149.5);
463 fhSubJetMass=
new TH1F(
"fhSubJetMass",
"Sub Jet Mass", 4000,-0.5, 39.5);
465 fhNumberOfSubJetTracks=
new TH1F(
"fhNumberOfSubJetTracks",
"Number of Tracks within a Sub Jet", 300, -0.5,299.5);
467 fhJetCounter=
new TH1F(
"fhJetCounter",
"Jet Counter", 150, -0.5, 149.5);
469 fhSubJetCounter =
new TH1F(
"fhSubJetCounter",
"SubJet Counter",50, -0.5,49.5);
471 fhEventCounter=
new TH1F(
"fhEventCounter",
"Event Counter", 15,0.5,15.5);
609 fhJetPt_1=
new TH1F(
"fhJetPt_1",
"Jet Pt Detector Level",1500,-0.5,149.5 );
611 fhJetPt_2=
new TH1F(
"fhJetPt_2",
"Jet Pt Particle Level",1500,-0.5,149.5 );
613 fhJetPhi_1=
new TH1F(
"fhJetPhi_1",
"Jet Phi Detector Level",360 , -1.5*(TMath::Pi()), 1.5*(TMath::Pi()));
615 fhJetPhi_2=
new TH1F(
"fhJetPhi_2",
"Jet Phi Particle Level",360 , -1.5*(TMath::Pi()), 1.5*(TMath::Pi()));
621 fhJetMass_1=
new TH1F(
"fhJetMass_1",
"Jet Mass Detector Level", 4000,-0.5, 39.5);
623 fhJetMass_2=
new TH1F(
"fhJetMass_2",
"Jet Mass Particle Level", 4000,-0.5, 39.5);
625 fhJetRadius_1=
new TH1F(
"fhJetRadius_1",
"Jet Radius Detector Level", 100, -0.05,0.995);
627 fhJetRadius_2=
new TH1F(
"fhJetRadius_2",
"Jet Radius Particle Level", 100, -0.05,0.995);
629 fhNumberOfJetTracks_1=
new TH1F(
"fhNumberOfJetTracks_1",
"Number of Tracks within a Jet Detector Level", 300, -0.5,299.5);
631 fhNumberOfJetTracks_2=
new TH1F(
"fhNumberOfJetTracks_2",
"Number of Tracks within a Jet Particle Level", 300, -0.5,299.5);
633 fhSubJetRadius_1=
new TH1F(
"fhSubJetRadius_1",
"SubJet Radius Detector Level", 100, -0.05,0.995);
635 fhSubJetRadius_2=
new TH1F(
"fhSubJetRadius_2",
"SubJet Radius Particle Level", 100, -0.05,0.995);
637 fhSubJetPt_1=
new TH1F(
"fhSubJetPt_1",
"SubJet Pt Detector Level", 1500, -0.5,149.5);
639 fhSubJetPt_2=
new TH1F(
"fhSubJetPt_2",
"SubJet Pt Particle Level", 1500, -0.5,149.5);
641 fhSubJetMass_1=
new TH1F(
"fhSubJetMass_1",
"Sub Jet Mass Detector Level", 4000,-0.5, 39.5);
643 fhSubJetMass_2=
new TH1F(
"fhSubJetMass_2",
"Sub Jet Mass Particle Level", 4000,-0.5, 39.5);
645 fhNumberOfSubJetTracks_1=
new TH1F(
"fhNumberOfSubJetTracks_1",
"Number of Tracks within a Sub Jet Detector Level", 300, -0.5,299.5);
647 fhNumberOfSubJetTracks_2=
new TH1F(
"fhNumberOfSubJetTracks_2",
"Number of Tracks within a Sub Jet Particle Level", 300, -0.5,299.5);
649 fhJetCounter_1=
new TH1F(
"fhJetCounter_1",
"Jet Counter Detector Level", 150, -0.5, 149.5);
651 fhJetCounter_2=
new TH1F(
"fhJetCounter_2",
"Jet Counter Particle Level", 150, -0.5, 149.5);
653 fhSubJetCounter_1 =
new TH1F(
"fhSubJetCounter_1",
"SubJet Counter Detector Level",50, -0.5,49.5);
655 fhSubJetCounter_2 =
new TH1F(
"fhSubJetCounter_2",
"SubJet Counter Particle Level",50, -0.5,49.5);
657 fh2PtRatio=
new TH2F(
"fhPtRatio",
"MC pt for detector level vs particle level jets",1500,-0.5,149.5,1500,-0.5,149.5);
659 fhEventCounter_1=
new TH1F(
"fhEventCounter_1",
"Event Counter Detector Level", 15,0.5,15.5);
661 fhEventCounter_2=
new TH1F(
"fhEventCounter_2",
"Event Counter Particle Level", 15,0.5,15.5);
665 fhEventCounter=
new TH1F(
"fhEventCounter",
"Event Counter", 15,0.5,15.5);
707 AliAODTrack *TriggerHadron = 0x0;
711 if (TriggerHadronLabel==-99999)
return 0;
715 TClonesArray *TrackArray = PartCont->GetArray();
716 TriggerHadron =
static_cast<AliAODTrack*
>(TrackArray->At(TriggerHadronLabel));
717 if (!TriggerHadron)
return 0;
739 Bool_t JetsMatched=kFALSE;
740 Bool_t EventCounter=kFALSE;
746 JetCont1->ResetCurrentID();
750 if ( (!Jet1) || (JetPtThreshold<
fPtThreshold))
continue;
770 Jet2 = JetCont2->
GetJet(i);
775 if(JetNumber==-1)
continue;
776 Jet2=JetCont2->
GetJet(JetNumber);
848 Bool_t JetsMatched=kFALSE;
850 Bool_t EventCounter=kFALSE;
854 JetCont1->ResetCurrentID();
886 if(JetPhi1 < -1*TMath::Pi()) JetPhi1 += (2*TMath::Pi());
887 else if (JetPhi1 > TMath::Pi()) JetPhi1 -= (2*TMath::Pi());
905 if(JetPhi2 < -1*TMath::Pi()) JetPhi2 += (2*TMath::Pi());
906 else if (JetPhi2 > TMath::Pi()) JetPhi2 -= (2*TMath::Pi());
996 Bool_t EventCounter=kFALSE;
1001 JetCont->ResetCurrentID();
1005 else JetPt_ForThreshold = Jet1->
Pt();
1036 if(JetPhi < -1*TMath::Pi()) JetPhi += (2*TMath::Pi());
1037 else if (JetPhi > TMath::Pi()) JetPhi -= (2*TMath::Pi());
1090 Bool_t EventCounter=kFALSE;
1095 JetCont->ResetCurrentID();
1100 else JetPt_ForThreshold = Jet1->
Pt();
1131 if(JetPhi < -1*TMath::Pi()) JetPhi += (2*TMath::Pi());
1132 else if (JetPhi > TMath::Pi()) JetPhi -= (2*TMath::Pi());
1139 Int_t FJ_Algorithm=9;
1141 fhSubJettiness1CheckRatio_FJ_KT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1142 fhSubJettiness1CheckRatio_FJ_CA->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,1,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1143 fhSubJettiness1CheckRatio_FJ_AKT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,2,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1144 fhSubJettiness1CheckRatio_FJ_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,3,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1145 fhSubJettiness1CheckRatio_FJ_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,4,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1146 fhSubJettiness1CheckRatio_FJ_OP_KT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,5,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1147 fhSubJettiness1CheckRatio_FJ_OP_CA->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,6,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1148 fhSubJettiness1CheckRatio_FJ_OP_AKT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,7,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1149 fhSubJettiness1CheckRatio_FJ_OP_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,8,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1150 fhSubJettiness1CheckRatio_FJ_OP_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,9,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1151 fhSubJettiness1CheckRatio_FJ_MIN->Fill(
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,1,10,FJ_Beta,0),
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1152 fhSubJettiness2CheckRatio_FJ_KT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1153 fhSubJettiness2CheckRatio_FJ_CA->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,1,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1154 fhSubJettiness2CheckRatio_FJ_AKT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,2,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1155 fhSubJettiness2CheckRatio_FJ_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,3,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1156 fhSubJettiness2CheckRatio_FJ_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,4,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1157 fhSubJettiness2CheckRatio_FJ_OP_KT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,5,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1158 fhSubJettiness2CheckRatio_FJ_OP_CA->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,6,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1159 fhSubJettiness2CheckRatio_FJ_OP_AKT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,7,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1160 fhSubJettiness2CheckRatio_FJ_OP_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,8,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1161 fhSubJettiness2CheckRatio_FJ_OP_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,9,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1162 fhSubJettiness2CheckRatio_FJ_MIN->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)-
fjNSubJettiness(Jet1,0,2,10,FJ_Beta,0),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0));
1164 fhSubJettiness2to1CheckRatio_FJ_KT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1165 fhSubJettiness2to1CheckRatio_FJ_CA->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,1,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,1,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1166 fhSubJettiness2to1CheckRatio_FJ_AKT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,2,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,2,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1167 fhSubJettiness2to1CheckRatio_FJ_WTA_KT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,3,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,3,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1168 fhSubJettiness2to1CheckRatio_FJ_WTA_CA->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,4,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,4,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1169 fhSubJettiness2to1CheckRatio_FJ_OP_KT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,5,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,5,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1170 fhSubJettiness2to1CheckRatio_FJ_OP_CA->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,6,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,6,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1171 fhSubJettiness2to1CheckRatio_FJ_OP_AKT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,7,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,7,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1172 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_KT->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,8,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,8,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1173 fhSubJettiness2to1CheckRatio_FJ_OP_WTA_CA->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,9,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,9,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1174 fhSubJettiness2to1CheckRatio_FJ_MIN->Fill((
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0))-(
fjNSubJettiness(Jet1,0,2,10,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,10,FJ_Beta,0)),
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1200 fhSubJettiness2to1_FJ_KT->Fill(
fjNSubJettiness(Jet1,0,2,0,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,1,0,FJ_Beta,0));
1201 fhSubJettiness2to1_FJ_CA->Fill(
fjNSubJettiness(Jet1,0,2,1,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,1,FJ_Beta,0));
1202 fhSubJettiness2to1_FJ_AKT->Fill(
fjNSubJettiness(Jet1,0,2,2,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,2,FJ_Beta,0));
1203 fhSubJettiness2to1_FJ_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,2,3,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,3,FJ_Beta,0));
1204 fhSubJettiness2to1_FJ_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,2,4,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,4,FJ_Beta,0));
1205 fhSubJettiness2to1_FJ_OP_KT->Fill(
fjNSubJettiness(Jet1,0,2,5,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,5,FJ_Beta,0));
1206 fhSubJettiness2to1_FJ_OP_CA->Fill(
fjNSubJettiness(Jet1,0,2,6,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,6,FJ_Beta,0));
1207 fhSubJettiness2to1_FJ_OP_AKT->Fill(
fjNSubJettiness(Jet1,0,2,7,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,7,FJ_Beta,0));
1208 fhSubJettiness2to1_FJ_OP_WTA_KT->Fill(
fjNSubJettiness(Jet1,0,2,8,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,8,FJ_Beta,0));
1209 fhSubJettiness2to1_FJ_OP_WTA_CA->Fill(
fjNSubJettiness(Jet1,0,2,9,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,9,FJ_Beta,0));
1210 fhSubJettiness2to1_FJ_MIN->Fill(
fjNSubJettiness(Jet1,0,2,10,FJ_Beta,0)/
fjNSubJettiness(Jet1,0,2,10,FJ_Beta,0));
1258 if(Phi1 < -1*TMath::Pi()) Phi1 += (2*TMath::Pi());
1259 else if (Phi1 > TMath::Pi()) Phi1 -= (2*TMath::Pi());
1260 if(Phi2 < -1*TMath::Pi()) Phi2 += (2*TMath::Pi());
1261 else if (Phi2 > TMath::Pi()) Phi2 -= (2*TMath::Pi());
1263 if(DeltaPhi < -1*TMath::Pi()) DeltaPhi += (2*TMath::Pi());
1264 else if (DeltaPhi > TMath::Pi()) DeltaPhi -= (2*TMath::Pi());
1275 TClonesArray *TracksArray = PartCont->GetArray();
1276 if(!PartCont || !TracksArray)
return -99999;
1277 AliAODTrack *Track = 0x0;
1278 Int_t Trigger_Index[100];
1279 for (
Int_t i=0; i<100; i++) Trigger_Index[i] = 0;
1280 Int_t Trigger_Counter = 0;
1281 for(
Int_t i=0; i < TracksArray->GetEntriesFast(); i++){
1282 if((Track = static_cast<AliAODTrack*>(PartCont->
GetAcceptTrack(i)))){
1283 if (!Track)
continue;
1284 if(TMath::Abs(Track->Eta())>0.9)
continue;
1285 if (Track->Pt()<0.15)
continue;
1286 if ((Track->Pt() >= PtMin) && (Track->Pt()< PtMax)) {
1287 Trigger_Index[Trigger_Counter] = i;
1292 if (Trigger_Counter == 0)
return -99999;
1293 Int_t RandomNumber = 0, Index = 0 ;
1294 TRandom3* Random =
new TRandom3(0);
1295 RandomNumber = Random->Integer(Trigger_Counter);
1296 Index = Trigger_Index[RandomNumber];
1307 AliVParticle *Particle=0x0;
1313 if(!Particle)
continue;
1315 Angularity_Numerator=Angularity_Numerator+(Particle->Pt()*TMath::Sqrt(((Particle->Eta()-Jet->
Eta())*(Particle->Eta()-Jet->
Eta()))+(DeltaPhi*
DeltaPhi)));
1316 Angularity_Denominator= Angularity_Denominator+Particle->Pt();
1318 if(Angularity_Denominator!=0)
return Angularity_Numerator/Angularity_Denominator;
1331 AliVParticle *Particle=0x0;
1335 if(!Particle)
continue;
1336 PTD_Numerator=PTD_Numerator+(Particle->Pt()*Particle->Pt());
1337 PTD_Denominator=PTD_Denominator+Particle->Pt();
1339 if(PTD_Denominator!=0)
return TMath::Sqrt(PTD_Numerator)/PTD_Denominator;
1357 const AliVVertex *vert = InputEvent()->GetPrimaryVertex();
1358 Double_t dVtx[3]={vert->GetX(),vert->GetY(),vert->GetZ()};
1359 if(Reclusterer->AliEmcalJetFinder::Filter(Jet, JetCont, dVtx)){;}
1363 if(Reclusterer->AliEmcalJetFinder::Filter(Jet, JetCont, dVtx)){;}
1375 Int_t ArraySize =N+1;
1378 for (
Int_t i=0; i<ArraySize; i++){
1379 JetSorter->SetAt(0,i);
1381 for (
Int_t i=0; i<ArraySize; i++){
1382 JetIndexSorter->SetAt(0,i);
1386 SubJet=Reclusterer->
GetJet(i);
1387 if (Type==0) SortingVariable=SubJet->
Pt();
1388 else if (Type==1) SortingVariable=SubJet->
E();
1389 else if (Type==2) SortingVariable=SubJet->
M();
1390 for (
Int_t j=0; j<N; j++){
1391 if (SortingVariable>JetSorter->GetAt(j)){
1392 for (
Int_t k=N-1; k>=j; k--){
1393 JetSorter->SetAt(JetSorter->GetAt(k),k+1);
1394 JetIndexSorter->SetAt(JetIndexSorter->GetAt(k),k+1);
1396 JetSorter->SetAt(SortingVariable,j);
1397 JetIndexSorter->SetAt(i,j);
1402 if (!Index)
return JetSorter->GetAt(N-1);
1403 else return JetIndexSorter->GetAt(N-1);
1426 for (
Int_t i=1; i<=N; i++){
1428 if(Observable==-999){
1432 Fraction_Numerator=Fraction_Numerator+Observable;
1436 Fraction_Numerator=
SubJetOrdering(Jet,Reclusterer,N,Type,kFALSE);
1437 if (Fraction_Numerator==-999)
return -2;
1440 if(Loss)
return (Jet->
Pt()-Fraction_Numerator)/Jet->
Pt();
1441 else return Fraction_Numerator/Jet->
Pt();
1444 if(Loss)
return (Jet->
E()-Fraction_Numerator)/Jet->
E();
1445 else return Fraction_Numerator/Jet->
E();
1448 if(Loss)
return (Jet->
M()-Fraction_Numerator)/Jet->
M();
1449 else return Fraction_Numerator/Jet->
M();
1464 AliVParticle *JetParticle=0x0;
1465 Double_t SubJetiness_Numerator = 0;
1466 Double_t SubJetiness_Denominator = 0;
1474 for (
Int_t j=1; j<=N; j++){
1482 DeltaR1=TMath::Power((Reclusterer->
GetJet(Index)->
Pt()),A)*TMath::Power((TMath::Sqrt((((JetParticle->Eta())-(Reclusterer->
GetJet(Index)->
Eta()))*((JetParticle->Eta())- (Reclusterer->
GetJet(Index)->
Eta())))+((
RelativePhi((Reclusterer->
GetJet(Index)->
Phi()),JetParticle->Phi()))*(
RelativePhi((Reclusterer->
GetJet(Index)->
Phi()),JetParticle->Phi()))))),B);
1485 DeltaR2=TMath::Power((Reclusterer->
GetJet(Index)->
Pt()),A)*TMath::Power((TMath::Sqrt((((JetParticle->Eta())-(Reclusterer->
GetJet(Index)->
Eta()))*((JetParticle->Eta())- (Reclusterer->
GetJet(Index)->
Eta())))+((
RelativePhi((Reclusterer->
GetJet(Index)->
Phi()),JetParticle->Phi()))*(
RelativePhi((Reclusterer->
GetJet(Index)->
Phi()),JetParticle->Phi()))))),B);
1486 if (DeltaR2<DeltaR1) DeltaR1=DeltaR2;
1489 SubJetiness_Numerator=SubJetiness_Numerator+(JetParticle->Pt()*DeltaR1);
1490 if (A>=0) SubJetiness_Denominator=SubJetiness_Denominator+(TMath::Power((Reclusterer->
GetJet(
SubJetOrdering(Jet,Reclusterer,1,0,kTRUE))->
Pt()),A)*JetParticle->Pt()*TMath::Power(JetRadius,B));
1491 else SubJetiness_Denominator=SubJetiness_Denominator+(TMath::Power((Reclusterer->
GetJet(
SubJetOrdering(Jet,Reclusterer,N,0,kTRUE))->
Pt()),A)*JetParticle->Pt()*TMath::Power(JetRadius,B));
1493 if (SubJetiness_Denominator!=0 && !Error){
1495 return SubJetiness_Numerator/SubJetiness_Denominator; }
1522 if((
fJetShapeSub==
kDerivSub) && (JetContNb==0) && (N==1) && (Algorithm==0) && (Beta==1.0) && (Option==0)){
1526 else if((
fJetShapeSub==
kDerivSub) && (JetContNb==0) && (N==2) && (Algorithm==0) && (Beta==1.0) && (Option==0)){
1530 else if((
fJetShapeSub==
kDerivSub) && (JetContNb==0) && (N==3) && (Algorithm==0) && (Beta==1.0) && (Option==0)){
1534 else if((
fJetShapeSub==
kDerivSub) && (JetContNb==0) && (N==2) && (Algorithm==0) && (Beta==1.0) && (Option==1)){
1547 const AliVVertex *vert = InputEvent()->GetPrimaryVertex();
1548 Double_t dVtx[3]={vert->GetX(),vert->GetY(),vert->GetZ()};
TH1D * fhSubJettiness1_FJ_OP_CA
TH1D * fhSubJettiness1_FJ_WTA_CA
void SetRadius(Double_t val)
TH2D * fhSubJettiness1CheckRatio_FJ_OP_CA
TH2D * fhSubJettiness2to1CheckRatio_FJ_AKT
Double_t fjNSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Int_t N, Int_t Algorithm, Double_t Beta, Int_t Option=0)
TH2D * fhSubJettiness2CheckRatio_FJ_WTA_CA
TH1F * fhNumberOfJetTracks
Float_t fPtMinTriggerHadron
TH1D * fhSubJettiness2to1_FJ_MIN
TH2D * fhSubJettiness2CheckRatio_FJ_OP_WTA_CA
TH2D * fhSubJettiness1CheckRatio_FJ_OP_KT
void SetJetMinPt(Double_t val)
TH2D * fhSubJettiness2to1CheckRatio_FJ_MIN
TH2D * fhSubJettiness1CheckRatio_FJ_KT
static Double_t DeltaPhi(Double_t phia, Double_t phib, Double_t rMin=-TMath::Pi()/2, Double_t rMax=3 *TMath::Pi()/2)
AliEmcalJet * ClosestJet() const
AliJetContainer * GetJetContainer(Int_t i=0) const
TH1D * fhSubJettiness2_FJ_CA
TH2D * fhSubJettiness1CheckRatio_FJ_AKT
Float_t fRecoilAngularWindow
TH1D * fhSubJettiness2to1_FJ_OP_WTA_KT
Container with name, TClonesArray and cuts for particles.
Double_t PTD(AliEmcalJet *Jet, Int_t JetContNb)
Double_t fSharedFractionPtMin
Bool_t RetrieveEventObjects()
TH1D * fhSubJettiness1_FJ_OP_WTA_CA
TH2D * fhSubJettiness2CheckRatio_FJ_MIN
Double_t GetFirstOrderSubtracted2subjettiness_kt() const
void Terminate(Option_t *option)
TH1D * fhSubJettiness2to1_FJ_CA
TH1D * fhSubJettiness2to1_FJ_AKT
Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B)
Double_t GetFirstOrderSubtractedOpeningAngle_kt() const
Bool_t RetrieveEventObjects()
TH2F * fh2PtTriggerHadronJet
Double_t RelativePhi(Double_t Phi1, Double_t Phi2)
TH1D * fhSubJettiness1_FJ_MIN
TH2D * fhSubJettiness2to1CheckRatio_FJ_OP_WTA_KT
TH1D * fhSubJettiness2to1_FJ_WTA_KT
TH1D * fhSubJettiness2to1_FJ_OP_WTA_CA
TH2D * fhSubJettiness1CheckRatio_FJ_OP_AKT
TH2D * fhSubJettiness2CheckRatio_FJ_OP_CA
TH1F * fhNumberOfJetTracks_2
TH1F * fhNumberOfSubJetTracks_1
TH1D * fhSubJettiness1_FJ_OP_AKT
TH1D * fhSubJettiness2to1_FJ_WTA_CA
Double_t XBinsJetMass[28]
TH2D * fhSubJettiness2to1CheckRatio_FJ_OP_KT
UShort_t GetNumberOfTracks() const
Double_t GetFirstOrderSubtracted3subjettiness_kt() const
TString kData
Declare data MC or deltaAOD.
Double_t GetSecondOrderSubtracted2subjettiness_kt() const
TH2D * fhSubJettiness2to1CheckRatio_FJ_WTA_CA
AliParticleContainer * GetParticleContainer() const
void SetRecombSheme(Int_t val)
void SetJetAlgorithm(Int_t val)
TH1F * fhNumberOfSubJetTracks
ClassImp(AliAnalysisTaskSubJetFraction) AliAnalysisTaskSubJetFraction
TH2D * fhSubJettiness2to1CheckRatio_FJ_KT
TH2D * fhSubJettiness2to1CheckRatio_FJ_OP_WTA_CA
Double_t Nsubjettiness(AliEmcalJet *pJet, AliJetContainer *pContJets, Double_t dVtx[3], Int_t N, Int_t Algorithm, Double_t Radius, Double_t Beta, Int_t Option=0)
virtual ~AliAnalysisTaskSubJetFraction()
TH1D * fhSubJettiness2_FJ_WTA_KT
TH1D * fhSubJettiness2_FJ_OP_WTA_KT
Int_t SelectTriggerHadron(Float_t PtMin, Float_t PtMax)
TH2D * fhSubJettiness2CheckRatio_FJ_KT
TH1D * fhSubJettiness2_FJ_KT
TH2D * fhSubJettiness2to1CheckRatio_FJ_WTA_KT
TH1D * fhSubJettiness1_FJ_KT
Double_t fCent
!event centrality
TH2D * fhSubJettiness1CheckRatio_FJ_OP_WTA_CA
TH2D * fhSubJettiness2CheckRatio_FJ_OP_WTA_KT
Double_t SubJetFraction(AliEmcalJet *Jet, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t Type, Bool_t Add, Bool_t Loss)
JetSelectionType fJetSelection
TH1D * fhSubJettiness2_FJ_OP_WTA_CA
void SetJetMaxEta(Double_t val)
TH1D * fhSubJettiness2to1_FJ_OP_AKT
TH1D * fhSubJettiness1_FJ_OP_WTA_KT
TH1D * fhSubJettiness2_FJ_OP_CA
AliAnalysisTaskSubJetFraction()
AliEmcalJet * GetNextAcceptJet()
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
AliEmcalJetFinder * Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char *Name)
TH2D * fhSubJettiness1CheckRatio_FJ_WTA_KT
TH1D * fhSubJettiness2to1_FJ_OP_KT
TH1F * fhPhiTriggerHadronJet
AliEmcalJet * GetJet(Int_t index)
TTree * fTreeResponseMatrixAxis
TH2D * fhSubJettiness1CheckRatio_FJ_MIN
TH1F * fhNumberOfSubJetTracks_2
TH1D * fhSubJettiness1_FJ_AKT
Double_t GetRhoVal(Int_t i=0) const
TH2D * fhSubJettiness1CheckRatio_FJ_CA
TH1D * fhSubJettiness2_FJ_MIN
TH1D * fhSubJettiness1_FJ_WTA_KT
AliEmcalList * fOutput
!output list
TH2D * fhSubJettiness2to1CheckRatio_FJ_CA
JetShapeType fJetShapeType
TH1D * fhSubJettiness2to1_FJ_OP_CA
Short_t TrackAt(Int_t idx) const
TH2D * fhSubJettiness2to1CheckRatio_FJ_OP_CA
TH1F * fhNumberOfJetTracks_1
TH1D * fhSubJettiness2_FJ_WTA_CA
TH1D * fhSubJettiness2_FJ_OP_AKT
TH2D * fhSubJettiness1CheckRatio_FJ_OP_WTA_KT
TH1D * fhSubJettiness2to1_FJ_KT
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Float_t fPtMaxTriggerHadron
TH2D * fhSubJettiness2to1CheckRatio_FJ_OP_AKT
void SetMakeGeneralHistograms(Bool_t g)
TH2D * fhSubJettiness2CheckRatio_FJ_OP_AKT
virtual AliVTrack * GetAcceptTrack(Int_t i=-1) const
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Double_t GetFirstOrderSubtracted1subjettiness_kt() const
Double_t Angularity(AliEmcalJet *Jet, Int_t JetContNb)
void UserCreateOutputObjects()
void UserCreateOutputObjects()
TH1D * fhSubJettiness2_FJ_AKT
TH1D * fhSubJettiness1_FJ_CA
Double_t SubJetOrdering(AliEmcalJet *Jet, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t Type, Bool_t Index)
AliEmcalJetShapeProperties * GetShapeProperties() const
Double_t GetSecondOrderSubtracted3subjettiness_kt() const
Double_t fShapesVar[nVar]
TH1D * fhSubJettiness1_FJ_OP_KT
TH2D * fhSubJettiness2CheckRatio_FJ_AKT
TH2D * fhSubJettiness2CheckRatio_FJ_CA
TH2D * fhSubJettiness2CheckRatio_FJ_WTA_KT
TH1D * fhSubJettiness2_FJ_OP_KT
Double_t GetSecondOrderSubtracted1subjettiness_kt() const
Container for jet within the EMCAL jet framework.
TH2D * fhSubJettiness1CheckRatio_FJ_WTA_CA
Double_t GetSecondOrderSubtractedOpeningAngle_kt() const
AliEmcalJet * GetJet(Int_t i) const
TH2D * fhSubJettiness2CheckRatio_FJ_OP_KT