30 #include "Riostream.h" 43 #include "THnSparse.h" 47 #include "TDatabasePDG.h" 49 #include "AliAnalysisManager.h" 50 #include "AliAODHandler.h" 51 #include "AliAODHeader.h" 52 #include "AliAODInputHandler.h" 53 #include "AliESDEvent.h" 54 #include "AliGenPythiaEventHeader.h" 55 #include "AliGenHijingEventHeader.h" 56 #include "AliGenEventHeader.h" 57 #include "TLorentzVector.h" 58 #include "AliAODEvent.h" 59 #include "AliAODJet.h" 61 #include "AliAODTrack.h" 62 #include "AliCentrality.h" 63 #include "AliAnalysisTaskSE.h" 64 #include "AliESDtrack.h" 65 #include "AliESDtrackCuts.h" 66 #include "AliESDEvent.h" 67 #include "AliESDInputHandler.h" 69 #include "AliPIDResponse.h" 70 #include "AliAODPid.h" 71 #include "AliExternalTrackParam.h" 73 #include "AliPhysicsSelection.h" 74 #include "AliBackgroundSelection.h" 75 #include "AliInputEventHandler.h" 76 #include "AliAODMCHeader.h" 77 #include "AliAODPid.h" 78 #include "AliVEvent.h" 79 #include "AliAODMCParticle.h" 91 : AliAnalysisTaskFragmentationFunction()
112 ,fCutK0cosPointAngle(0)
113 ,fCutLacosPointAngle(0)
120 ,fCutDcaV0Daughters(0)
121 ,fCutDcaPosToPrimVertex(0)
122 ,fCutDcaNegToPrimVertex(0)
127 ,fCutFractionPtEmbedded(0)
128 ,fCutDeltaREmbedded(0)
138 ,jetConeALaEmblist(0)
139 ,jetConeK0EmbStlist(0)
140 ,jetConeLaEmbStlist(0)
141 ,jetConeALaEmbStlist(0)
143 ,jetConeK0EmbMClist(0)
144 ,jetConeLaEmbMClist(0)
145 ,jetConeALaEmbMClist(0)
147 ,jetPerpConeK0list(0)
148 ,jetPerpRecCutslist(0)
149 ,jetPerpConeK0Emblist(0)
150 ,jetPerpConeLalist(0)
151 ,jetPerpConeLaEmblist(0)
152 ,jetPerpConeALalist(0)
153 ,jetPerpConeALaEmblist(0)
154 ,jetMedianConeK0list(0)
155 ,jetMedianConeLalist(0)
156 ,jetMedianConeALalist(0)
157 ,jetMedianRecCutslist(0)
162 ,fTracksRecBckgCuts(0)
169 ,fFFHistosRecCutsK0Evt(0)
186 ,fListFeeddownLaCand(0)
187 ,fListFeeddownALaCand(0)
193 ,fListMCgenK0sCone(0)
195 ,fListMCgenALaCone(0)
196 ,IsArmenterosSelected(0)
200 ,fUseEmbeddedJetPt(0)
221 ,fFFIMLaNBinsJetPt(0)
252 ,fh1IndexEmbeddedMC(0)
253 ,fh1EmbeddedJetPhiDelta(0)
254 ,fh1PtEmbBeforeMatch(0)
255 ,fh1PtEmbExtraOnly(0)
257 ,fh2PtEtaEmbReject(0)
258 ,fh1PtEmbAfterMatch(0)
259 ,fh1FractionPtEmbedded(0)
260 ,fh1DeltaREmbedded(0)
261 ,fh1FractionPtEmbeddedMC(0)
262 ,fh2FractionPtVsEmbeddedJetPtMC(0)
263 ,fh1DeltaREmbeddedMC(0)
264 ,fh1JetPtEmbGenAfterMatch(0)
265 ,fh2TracksPerpCone(0)
287 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
288 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
290 ,fh1DcaV0Daughters(0)
291 ,fh1DcaPosToPrimVertex(0)
292 ,fh1DcaNegToPrimVertex(0)
293 ,fh2ArmenterosBeforeCuts(0)
294 ,fh2ArmenterosAfterCuts(0)
297 ,fh1PosDaughterCharge(0)
298 ,fh1NegDaughterCharge(0)
314 ,fh1BckgJetsPtBias(0)
315 ,fhnInvMassEtaTrackPtK0s(0)
316 ,fhnInvMassEtaTrackPtLa(0)
317 ,fhnInvMassEtaTrackPtALa(0)
340 ,fh1IMALaConeSmear(0)
369 ,fhnK0sEmbConeStandard(0)
374 ,fhnLaEmbConeStandard(0)
379 ,fhnALaEmbConeStandard(0)
404 ,fh1MCMultiplicityPrimary(0)
405 ,fh1MCMultiplicityTracks(0)
408 ,fhnFeedDownLaCone(0)
409 ,fhnFeedDownALaCone(0)
412 ,fh1MCProdRadiusK0s(0)
413 ,fh1MCProdRadiusLambda(0)
414 ,fh1MCProdRadiusAntiLambda(0)
418 ,fh1MCPtAntiLambda(0)
430 ,fh1MCEtaAntiLambda(0)
438 : AliAnalysisTaskFragmentationFunction(name)
459 ,fCutK0cosPointAngle(0)
460 ,fCutLacosPointAngle(0)
467 ,fCutDcaV0Daughters(0)
468 ,fCutDcaPosToPrimVertex(0)
469 ,fCutDcaNegToPrimVertex(0)
474 ,fCutFractionPtEmbedded(0)
475 ,fCutDeltaREmbedded(0)
485 ,jetConeALaEmblist(0)
486 ,jetConeK0EmbStlist(0)
487 ,jetConeLaEmbStlist(0)
488 ,jetConeALaEmbStlist(0)
490 ,jetConeK0EmbMClist(0)
491 ,jetConeLaEmbMClist(0)
492 ,jetConeALaEmbMClist(0)
494 ,jetPerpConeK0list(0)
495 ,jetPerpRecCutslist(0)
496 ,jetPerpConeK0Emblist(0)
497 ,jetPerpConeLalist(0)
498 ,jetPerpConeLaEmblist(0)
499 ,jetPerpConeALalist(0)
500 ,jetPerpConeALaEmblist(0)
501 ,jetMedianConeK0list(0)
502 ,jetMedianConeLalist(0)
503 ,jetMedianConeALalist(0)
504 ,jetMedianRecCutslist(0)
509 ,fTracksRecBckgCuts(0)
516 ,fFFHistosRecCutsK0Evt(0)
533 ,fListFeeddownLaCand(0)
534 ,fListFeeddownALaCand(0)
540 ,fListMCgenK0sCone(0)
542 ,fListMCgenALaCone(0)
543 ,IsArmenterosSelected(0)
547 ,fUseEmbeddedJetPt(0)
568 ,fFFIMLaNBinsJetPt(0)
599 ,fh1IndexEmbeddedMC(0)
600 ,fh1EmbeddedJetPhiDelta(0)
601 ,fh1PtEmbBeforeMatch(0)
602 ,fh1PtEmbExtraOnly(0)
604 ,fh2PtEtaEmbReject(0)
605 ,fh1PtEmbAfterMatch(0)
606 ,fh1FractionPtEmbedded(0)
607 ,fh1DeltaREmbedded(0)
608 ,fh1FractionPtEmbeddedMC(0)
609 ,fh2FractionPtVsEmbeddedJetPtMC(0)
610 ,fh1DeltaREmbeddedMC(0)
611 ,fh1JetPtEmbGenAfterMatch(0)
612 ,fh2TracksPerpCone(0)
634 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
635 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
637 ,fh1DcaV0Daughters(0)
638 ,fh1DcaPosToPrimVertex(0)
639 ,fh1DcaNegToPrimVertex(0)
640 ,fh2ArmenterosBeforeCuts(0)
641 ,fh2ArmenterosAfterCuts(0)
644 ,fh1PosDaughterCharge(0)
645 ,fh1NegDaughterCharge(0)
661 ,fh1BckgJetsPtBias(0)
662 ,fhnInvMassEtaTrackPtK0s(0)
663 ,fhnInvMassEtaTrackPtLa(0)
664 ,fhnInvMassEtaTrackPtALa(0)
687 ,fh1IMALaConeSmear(0)
716 ,fhnK0sEmbConeStandard(0)
721 ,fhnLaEmbConeStandard(0)
726 ,fhnALaEmbConeStandard(0)
751 ,fh1MCMultiplicityPrimary(0)
752 ,fh1MCMultiplicityTracks(0)
755 ,fhnFeedDownLaCone(0)
756 ,fhnFeedDownALaCone(0)
759 ,fh1MCProdRadiusK0s(0)
760 ,fh1MCProdRadiusLambda(0)
761 ,fh1MCProdRadiusAntiLambda(0)
765 ,fh1MCPtAntiLambda(0)
777 ,fh1MCEtaAntiLambda(0)
783 DefineOutput(1,TList::Class());
788 : AliAnalysisTaskFragmentationFunction()
1143 AliAnalysisTaskFragmentationFunction::operator=(o);
1546 ,fNBinsJetPt(nJetPt)
1547 ,fJetPtMin(jetPtMin)
1548 ,fJetPtMax(jetPtMax)
1549 ,fNBinsInvMass(nInvMass)
1550 ,fInvMassMin(invMassMin)
1551 ,fInvMassMax(invMassMax)
1604 TObject::operator=(o);
1647 fh3TrackPt =
new TH3F(Form(
"fh3FFTrackPtIM%s",
fNameFF.Data()),
"",
fNBinsJetPt,
fJetPtMin,
fJetPtMax,
fNBinsInvMass,
fInvMassMin,
fInvMassMax,
fNBinsPt,
fPtMin,
fPtMax);
1648 fh3Xi =
new TH3F(Form(
"fh3FFXiIM%s",
fNameFF.Data()),
"",
fNBinsJetPt,
fJetPtMin,
fJetPtMax,
fNBinsInvMass,
fInvMassMin,
fInvMassMax,
fNBinsXi,
fXiMin,
fXiMax);
1649 fh3Z =
new TH3F(Form(
"fh3FFZIM%s",
fNameFF.Data()),
"",
fNBinsJetPt,
fJetPtMin,
fJetPtMax,
fNBinsInvMass,
fInvMassMin,
fInvMassMax,
fNBinsZ,
fZMin,
fZMax);
1651 AliAnalysisTaskFragmentationFunction::SetProperties(
fh1JetPt,
"p_{t} (GeV/c)",
"entries");
1662 if(incrementJetPt)
fh1JetPt->Fill(jetPt);
1666 if(jetPt>0) z = trackPt / jetPt;
1694 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserCreateOutputObjects()");
1757 fTracksRecCuts =
new TList();
1758 fTracksRecCuts->SetOwner(kFALSE);
1759 fTracksGen =
new TList();
1760 fTracksGen->SetOwner(kFALSE);
1763 fJetsRecCuts =
new TList();
1764 fJetsRecCuts->SetOwner(kFALSE);
1765 fJetsGen =
new TList();
1766 fJetsGen->SetOwner(kFALSE);
1767 fJetsEmbedded =
new TList();
1768 fJetsEmbedded->SetOwner(kFALSE);
1769 fBckgJetsRec =
new TList();
1770 fBckgJetsRec->SetOwner(kFALSE);
1812 fCommonHistList =
new TList();
1813 fCommonHistList->SetOwner();
1815 Bool_t oldStatus = TH1::AddDirectoryStatus();
1816 TH1::AddDirectory(kFALSE);
1820 fh1EvtSelection =
new TH1F(
"fh1EvtSelection",
"Event Selection", 6, -0.5, 5.5);
1821 fh1EvtSelection->GetXaxis()->SetBinLabel(1,
"ACCEPTED");
1822 fh1EvtSelection->GetXaxis()->SetBinLabel(2,
"event trigger selection: rejected");
1823 fh1EvtSelection->GetXaxis()->SetBinLabel(3,
"event class: rejected");
1824 fh1EvtSelection->GetXaxis()->SetBinLabel(4,
"vertex Ncontr: rejected");
1825 fh1EvtSelection->GetXaxis()->SetBinLabel(5,
"vertex z: rejected");
1826 fh1EvtSelection->GetXaxis()->SetBinLabel(6,
"vertex type: rejected");
1829 fh1EvtCent =
new TH1F(
"fh1EvtCent",
"centrality",100,0.,100.);
1830 fh1VertexNContributors =
new TH1F(
"fh1VertexNContributors",
"Vertex N contributors", 11,-.5, 10.5);
1831 fh1VertexZ =
new TH1F(
"fh1VertexZ",
"Vertex z distribution", 30, -15., 15.);
1832 fh1Xsec =
new TProfile(
"fh1Xsec",
"xsec from pyxsec.root",1,0,1);
1833 fh1Xsec->GetXaxis()->SetBinLabel(1,
"<#sigma>");
1834 fh1Trials =
new TH1F(
"fh1Trials",
"trials from pyxsec.root",1,0,1);
1835 fh1Trials->GetXaxis()->SetBinLabel(1,
"#sum{ntrials}");
1836 fh1PtHard =
new TH1F(
"fh1PtHard",
"PYTHIA Pt hard;p_{T,hard}",350,-.5,349.5);
1837 fh1PtHardTrials =
new TH1F(
"fh1PtHardTrials",
"PYTHIA Pt hard weight with trials;p_{T,hard}",350,-.5,349.5);
1838 fh1nRecJetsCuts =
new TH1F(
"fh1nRecJetsCuts",
"reconstructed jets per event",100,-0.5,99.5);
1842 fh1EvtAllCent =
new TH1F(
"fh1EvtAllCent",
"before centrality selection",100,0.,100.);
1843 fh1Evt =
new TH1F(
"fh1Evt",
"All events runned over", 3, 0.,1.);
1844 fh1EP2 =
new TH1F(
"fh1EP2",
"2nd order harmonic event plane distribution ESD events",200,-2.,2.);
1845 fh1EP3 =
new TH1F(
"fh1EP3",
"3rd order harmonic event plane distribution ESD events",200,-2.,2.);
1846 fh1EvtMult =
new TH1F(
"fh1EvtMult",
"multiplicity",240,0.,240.);
1847 fh1K0Mult =
new TH1F(
"fh1K0Mult",
"K0 multiplicity",100,0.,100.);
1849 fh1LaMult =
new TH1F(
"fh1LaMult",
"La multiplicity",100,0.,100.);
1851 fh1ALaMult =
new TH1F(
"fh1ALaMult",
"ALa multiplicity",100,0.,100.);
1853 fh1JetEta =
new TH1F(
"fh1JetEta",
"#eta distribution of all jets",40,-2.,2.);
1854 fh1JetPhi =
new TH1F(
"fh1JetPhi",
"#phi distribution of all jets",63,0.,6.3);
1855 fh2JetEtaPhi =
new TH2F(
"fh2JetEtaPhi",
"#eta and #phi distribution of all jets",400,-2.,2.,63,0.,6.3);
1857 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets.Length(): "<<fBranchEmbeddedJets.Length()<<std::endl;
1858 if(fDebug>2)std::cout<<
"fBranchGenJets.Length(): "<<fBranchGenJets.Length()<<std::endl;
1862 fh1nEmbeddedJets =
new TH1F(
"fh1nEmbeddedJets",
"Number of embedded jets",10,-0.5,9.5);
1863 fh1nGenJets =
new TH1F(
"fh1nGenJets",
"generated jets per event",10,-0.5,9.5);
1864 fh2TracksPerpCone =
new TH2F(
"fh2TracksPerpCone",
"Charged tracks in 2 perp. cones;#it{p^{ch,jet}}_{T} (GeV/#it{c});#it{p^{ch}}_{T} (GeV/#it{c})",19,5.,100.,120,0.,12.);
1866 fh1EmbeddedJetPhiDelta =
new TH1F(
"fh1EmbeddedJetPhiDelta",
"Delta: 2nd order harmonic Eventplane - jetphi",120,-6.,6.);
1868 fh1PtEmbBeforeMatch =
new TH1F(
"fh1PtEmbBeforeMatch",
"Pt spectrum of jets before JetMatching",19,5.,100.);
1869 fh1PtEmbExtraOnly =
new TH1F(
"fh1PtEmbExtraOnly",
"Pt spectrum of jets from ExtraOnly tracks (embedded truth)",19,5.,100.);
1871 fh1PtEmbReject =
new TH1F(
"fh1PtEmbReject",
"Pt spectrum of jets rejected by JetMatching cuts",19,5.,100.);
1872 fh2PtEtaEmbReject =
new TH2F(
"fh2PtEtaEmbReject",
"Pt #eta distribution of jets rejected by JetMatching cuts #eta; #it{p}_{T}",19,5.,100.,200,-1.,1.);
1873 fh1PtEmbAfterMatch =
new TH1F(
"fh1PtEmbAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1882 fh1JetPtEmbGenAfterMatch =
new TH1F(
"fh1JetPtEmbGenAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1887 fh1PerpCone =
new TH1F(
"fh1PerpCone",
"Number of perp. cones for charged tracks in event",2.,0.5,1.5);
1888 fh1V0PtCandidate =
new TH1F(
"fh1V0PtCandidate",
"p_{T} distribution of all v0s candidates of PYTHIA",200,0.,200.);
1889 fh1IMK0Cone =
new TH1F(
"fh1IMK0Cone",
"p_{T} distribution of all jets containing K0s candidates",19,5.,100.);
1890 fh1IMLaCone =
new TH1F(
"fh1IMLaCone",
"p_{T} distribution of all jets containing #Lambda candidates",19,5.,100.);
1891 fh1IMALaCone =
new TH1F(
"fh1IMALaCone",
"p_{T} distribution of all jets containing #bar{#Lambda} candidates",19,5.,100.);
1892 fh1IMK0EmbCone =
new TH1F(
"fh1IMK0EmbCone",
"p_{T} distribution of all embedded and selected jets containing K0s candidates",19,5.,100.);
1893 fh1IMLaEmbCone =
new TH1F(
"fh1IMLaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #Lambda candidates",19,5.,100.);
1894 fh1IMALaEmbCone =
new TH1F(
"fh1IMALaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #bar{#Lambda} candidates",19,5.,100.);
1895 fh2FFJetTrackEta =
new TH2F(
"fh2FFJetTrackEta",
"charged track eta distr. in jet cone",200,-1.,1.,40,0.,200.);
1898 fh1trackPosEta =
new TH1F(
"fh1trackPosEta",
"eta positive daughters",100,-2.,2.);
1899 fh1trackNegEta =
new TH1F(
"fh1trackNegEta",
"eta negative daughters",100,-2.,2.);
1900 fh1V0Eta =
new TH1F(
"fh1V0Eta",
"V0 eta",60,-1.5,1.5);
1902 fh1CosPointAngle =
new TH1F(
"fh1CosPointAngle",
"Cosine of V0's pointing angle",50,0.99,1.0);
1903 fh1DecayLengthV0 =
new TH1F(
"fh1DecayLengthV0",
"V0s decay Length;decay length(cm)",1200,0.,120.);
1906 fh1V0Radius =
new TH1F(
"fh1V0Radius",
"V0s Radius;Radius(cm)",200,0.,40.);
1907 fh1DcaV0Daughters =
new TH1F(
"fh1DcaV0Daughters",
"DCA between daughters;dca(cm)",200,0.,2.);
1908 fh1DcaPosToPrimVertex =
new TH1F(
"fh1DcaPosToPrimVertex",
"Positive V0 daughter;dca(cm)",100,0.,10.);
1909 fh1DcaNegToPrimVertex =
new TH1F(
"fh1DcaNegToPrimVertex",
"Negative V0 daughter;dca(cm)",100,0.,10.);
1910 fh2ArmenterosBeforeCuts =
new TH2F(
"fh2ArmenterosBeforeCuts",
"Armenteros Podolanski Plot for K0s Candidates;#alpha;(p^{arm})_{T}/(GeV/#it{c})",200,-1.2,1.2,350,0.,0.35);
1911 fh2ArmenterosAfterCuts =
new TH2F(
"fh2ArmenterosAfterCuts",
"Armenteros Podolanski Plot for K0s Candidates;#alpha;(p^{arm})_{T}/(GeV/#it{c});",200,-1.2,1.2,350,0.,0.35);
1912 fh2BBLaPos =
new TH2F(
"fh2BBLaPos",
"PID of the positive daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1913 fh2BBLaNeg =
new TH2F(
"fh2BBLaNeg",
"PID of the negative daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1914 fh1PosDaughterCharge =
new TH1F(
"fh1PosDaughterCharge",
"charge of V0 positive daughters; V0 daughters",3,-2.,2.);
1915 fh1NegDaughterCharge =
new TH1F(
"fh1NegDaughterCharge",
"charge of V0 negative daughters; V0 daughters",3,-2.,2.);
1916 fh1PtMCK0s =
new TH1F(
"fh1PtMCK0s",
"Pt of MC rec K0s; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1917 fh1PtMCLa =
new TH1F(
"fh1PtMCLa",
"Pt of MC rec La; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1918 fh1PtMCALa =
new TH1F(
"fh1PtMCALa",
"Pt of MC rec ALa; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1919 fh1EtaK0s =
new TH1F(
"fh1EtaK0s",
"K^{0}_{s} entries ;#eta",200,-1.,1.);
1920 fh1EtaLa =
new TH1F(
"fh1EtaLa",
"#Lambda entries ;#eta",200,-1.,1.);
1921 fh1EtaALa =
new TH1F(
"fh1EtaALa",
"#bar{#Lambda} entries ;#eta",200,-1.,1.);
1925 fh1RC =
new TH1F(
"fh1RC",
" # random cones used",1,0.5,1.5);
1926 fh1RCBiasK0 =
new TH1F(
"fh1RCBiasK0",
" # random cones with K0s trigger particle",1,0.5,1.5);
1927 fh1RCBiasLa =
new TH1F(
"fh1RCBiasLa",
" # random cones with La trigger particle",1,0.5,1.5);
1928 fh1RCBiasALa =
new TH1F(
"fh1RCBiasALa",
" # random cones with ALa trigger particle",1,0.5,1.5);
1929 fh1MCC =
new TH1F(
"fh1MCC",
"# median cluster cones used",1,0.5,1.5);
1930 fh1OC =
new TH1F(
"fh1OC",
"# outside cones used, number of jet events",1,0.5,1.5);
1931 fh1NJ =
new TH1F(
"fh1NJ",
"# non-jet events used",1,0.5,1.5);
1932 fh1NJEmbEvt =
new TH1F(
"fh1NJEmbEvt",
"# Embedding non-jet events used",1,0.5,1.5);
1933 fh1BckgJets =
new TH1F(
"fh1BckgJets",
"Jet pT distribution of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1934 fh1BckgJetsPtBias =
new TH1F(
"fh1BckgJetsPtBias",
"Jet pT distribution after JetPtBias of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1937 Int_t binsInvMassEtaTrackPtK0s[3] = {200, 200, 120};
1938 Double_t xminInvMassEtaTrackPtK0s[3] = {-1.,0.3,0.};
1939 Double_t xmaxInvMassEtaTrackPtK0s[3] = {1.,0.7,12.};
1941 fhnInvMassEtaTrackPtK0s =
new THnSparseF(
"fhnInvMassEtaTrackPtK0s",
"#eta; K0s invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtK0s,xminInvMassEtaTrackPtK0s,xmaxInvMassEtaTrackPtK0s);
1943 Int_t binsInvMassEtaTrackPtLa[3] = {200, 200, 120};
1944 Double_t xminInvMassEtaTrackPtLa[3] = {-1.,1.05,0.};
1945 Double_t xmaxInvMassEtaTrackPtLa[3] = {1.,1.25,12.};
1947 fhnInvMassEtaTrackPtLa =
new THnSparseF(
"fhnInvMassEtaTrackPtLa",
"#eta; #Lambda invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtLa,xminInvMassEtaTrackPtLa,xmaxInvMassEtaTrackPtLa);
1949 Int_t binsInvMassEtaTrackPtALa[3] = {200, 200, 120};
1950 Double_t xminInvMassEtaTrackPtALa[3] = {-1.,1.05,0.};
1951 Double_t xmaxInvMassEtaTrackPtALa[3] = {1.,1.25,12.};
1953 fhnInvMassEtaTrackPtALa =
new THnSparseF(
"fhnInvMassEtaTrackPtALa",
"#eta; #bar{#Lambda} invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtALa,xminInvMassEtaTrackPtALa,xmaxInvMassEtaTrackPtALa);
1955 Int_t binsK0sPC[4] = {19, 200, 120, 200};
1956 Double_t xminK0sPC[4] = {5.,0.3, 0., -1.};
1957 Double_t xmaxK0sPC[4] = {100.,0.7, 12., 1.};
1958 fhnK0sPC =
new THnSparseF(
"fhnK0sPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sPC,xminK0sPC,xmaxK0sPC);
1960 Int_t binsLaPC[4] = {19, 200, 120, 200};
1961 Double_t xminLaPC[4] = {5.,1.05, 0., -1.};
1962 Double_t xmaxLaPC[4] = {100.,1.25, 12., 1.};
1963 fhnLaPC =
new THnSparseF(
"fhnLaPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaPC,xminLaPC,xmaxLaPC);
1965 Int_t binsALaPC[4] = {19, 200, 120, 200};
1966 Double_t xminALaPC[4] = {5.,1.05, 0., -1.};
1967 Double_t xmaxALaPC[4] = {100.,1.25, 12., 1.};
1968 fhnALaPC =
new THnSparseF(
"fhnALaPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaPC,xminALaPC,xmaxALaPC);
1970 Int_t binsK0sEmbPC[4] = {19, 200, 120, 200};
1971 Double_t xminK0sEmbPC[4] = {5.,0.3, 0., -1.};
1972 Double_t xmaxK0sEmbPC[4] = {100.,0.7, 12., 1.};
1973 fhnK0sEmbPC =
new THnSparseF(
"fhnK0sEmbPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sEmbPC,xminK0sEmbPC,xmaxK0sEmbPC);
1975 Int_t binsLaEmbPC[4] = {19, 200, 120, 200};
1976 Double_t xminLaEmbPC[4] = {5.,1.05, 0., -1.};
1977 Double_t xmaxLaEmbPC[4] = {100.,1.25, 12., 1.};
1978 fhnLaEmbPC =
new THnSparseF(
"fhnLaEmbPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaEmbPC,xminLaEmbPC,xmaxLaEmbPC);
1980 Int_t binsALaEmbPC[4] = {19, 200, 120, 200};
1981 Double_t xminALaEmbPC[4] = {5.,1.05, 0., -1.};
1982 Double_t xmaxALaEmbPC[4] = {100.,1.25, 12., 1.};
1983 fhnALaEmbPC =
new THnSparseF(
"fhnALaEmbPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaEmbPC,xminALaEmbPC,xmaxALaEmbPC);
1985 Int_t binsK0sMCC[3] = {200, 120, 200};
1986 Double_t xminK0sMCC[3] = {0.3, 0., -1.};
1987 Double_t xmaxK0sMCC[3] = {0.7, 12., 1.};
1988 fhnK0sMCC =
new THnSparseF(
"fhnK0sMCC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sMCC,xminK0sMCC,xmaxK0sMCC);
1990 Int_t binsLaMCC[3] = {200, 120, 200};
1991 Double_t xminLaMCC[3] = {1.05, 0., -1.};
1992 Double_t xmaxLaMCC[3] = {1.25, 12., 1.};
1993 fhnLaMCC =
new THnSparseF(
"fhnLaMCC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaMCC,xminLaMCC,xmaxLaMCC);
1995 Int_t binsALaMCC[3] = {200, 120, 200};
1996 Double_t xminALaMCC[3] = {1.05, 0., -1.};
1997 Double_t xmaxALaMCC[3] = {1.25, 12., 1.};
1998 fhnALaMCC =
new THnSparseF(
"fhnALaMCC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaMCC,xminALaMCC,xmaxALaMCC);
2000 Int_t binsK0sRC[3] = {200, 120, 200};
2001 Double_t xminK0sRC[3] = {0.3, 0., -1.};
2002 Double_t xmaxK0sRC[3] = {0.7, 12., 1.};
2003 fhnK0sRC =
new THnSparseF(
"fhnK0sRC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRC,xminK0sRC,xmaxK0sRC);
2005 Int_t binsLaRC[3] = {200, 120, 200};
2006 Double_t xminLaRC[3] = {1.05, 0., -1.};
2007 Double_t xmaxLaRC[3] = {1.25, 12., 1.};
2008 fhnLaRC =
new THnSparseF(
"fhnLaRC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRC,xminLaRC,xmaxLaRC);
2010 Int_t binsALaRC[3] = {200, 120, 200};
2011 Double_t xminALaRC[3] = {1.05, 0., -1.};
2012 Double_t xmaxALaRC[3] = {1.25, 12., 1.};
2013 fhnALaRC =
new THnSparseF(
"fhnALaRC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRC,xminALaRC,xmaxALaRC);
2015 Int_t binsK0sRCBias[3] = {200, 120, 200};
2016 Double_t xminK0sRCBias[3] = {0.3, 0., -1.};
2017 Double_t xmaxK0sRCBias[3] = {0.7, 12., 1.};
2018 fhnK0sRCBias =
new THnSparseF(
"fhnK0sRCBias",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRCBias,xminK0sRCBias,xmaxK0sRCBias);
2020 Int_t binsLaRCBias[3] = {200, 120, 200};
2021 Double_t xminLaRCBias[3] = {1.05, 0., -1.};
2022 Double_t xmaxLaRCBias[3] = {1.25, 12., 1.};
2023 fhnLaRCBias =
new THnSparseF(
"fhnLaRCBias",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRCBias,xminLaRCBias,xmaxLaRCBias);
2025 Int_t binsALaRCBias[3] = {200, 120, 200};
2026 Double_t xminALaRCBias[3] = {1.05, 0., -1.};
2027 Double_t xmaxALaRCBias[3] = {1.25, 12., 1.};
2028 fhnALaRCBias =
new THnSparseF(
"fhnALaRCBias",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRCBias,xminALaRCBias,xmaxALaRCBias);
2030 Int_t binsK0sOC[3] = {200, 120, 200};
2031 Double_t xminK0sOC[3] = {0.3, 0., -1.};
2032 Double_t xmaxK0sOC[3] = {0.7, 12., 1.};
2033 fhnK0sOC =
new THnSparseF(
"fhnK0sOC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sOC,xminK0sOC,xmaxK0sOC);
2035 Int_t binsLaOC[3] = {200, 120, 200};
2036 Double_t xminLaOC[3] = {1.05, 0., -1.};
2037 Double_t xmaxLaOC[3] = {1.25, 12., 1.};
2038 fhnLaOC =
new THnSparseF(
"fhnLaOC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaOC,xminLaOC,xmaxLaOC);
2040 Int_t binsALaOC[3] = {200, 120, 200};
2041 Double_t xminALaOC[3] = {1.05, 0., -1.};
2042 Double_t xmaxALaOC[3] = {1.25, 12., 1.};
2044 fhnALaOC =
new THnSparseF(
"fhnALaOC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaOC,xminALaOC,xmaxALaOC);
2046 fh1AreaExcluded =
new TH1F(
"fh1AreaExcluded",
"area excluded for selected jets in event acceptance",50,0.,1.);
2048 fh1MedianEta =
new TH1F(
"fh1MedianEta",
"Median cluster axis ;#eta",200,-1.,1.);
2049 fh1JetPtMedian =
new TH1F(
"fh1JetPtMedian",
" (selected) jet it{p}_{T} distribution for MCC method; #GeV/it{c}",19,5.,100.);
2051 fh1TrackMultCone =
new TH1F(
"fh1TrackMultCone",
"track multiplicity in jet cone; number of tracks",20,0.,50.);
2053 fh2TrackMultCone =
new TH2F(
"fh2TrackMultCone",
"track multiplicity in jet cone vs. jet momentum; number of tracks; jet it{p}_{T} (GeV/it{c})",50,0.,50.,19,5.,100.);
2055 Int_t binsNJK0[3] = {200, 120, 200};
2056 Double_t xminNJK0[3] = {0.3, 0., -1.};
2057 Double_t xmaxNJK0[3] = {0.7, 12., 1.};
2058 fhnNJK0 =
new THnSparseF(
"fhnNJK0",
"K0s candidates in events wo selected jets;",3,binsNJK0,xminNJK0,xmaxNJK0);
2060 Int_t binsNJLa[3] = {200, 120, 200};
2061 Double_t xminNJLa[3] = {1.05, 0., -1.};
2062 Double_t xmaxNJLa[3] = {1.25, 12., 1.};
2063 fhnNJLa =
new THnSparseF(
"fhnNJLa",
"La candidates in events wo selected jets; ",3,binsNJLa,xminNJLa,xmaxNJLa);
2065 Int_t binsNJALa[3] = {200, 120, 200};
2066 Double_t xminNJALa[3] = {1.05, 0., -1.};
2067 Double_t xmaxNJALa[3] = {1.25, 12., 1.};
2068 fhnNJALa =
new THnSparseF(
"fhnNJALa",
"ALa candidates in events wo selected jets; ",3,binsNJALa,xminNJALa,xmaxNJALa);
2079 fFFHistosRecCuts =
new AliFragFuncHistos(
"RecCuts", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2080 fFFNBinsPt, fFFPtMin, fFFPtMax,
2081 fFFNBinsXi, fFFXiMin, fFFXiMax,
2082 fFFNBinsZ , fFFZMin , fFFZMax);
2084 fV0QAK0 =
new AliFragFuncQATrackHistos(
"V0QAK0",fQATrackNBinsPt, fQATrackPtMin, fQATrackPtMax,
2085 fQATrackNBinsEta, fQATrackEtaMin, fQATrackEtaMax,
2086 fQATrackNBinsPhi, fQATrackPhiMin, fQATrackPhiMax,
2087 fQATrackHighPtThreshold);
2089 fFFHistosRecCutsK0Evt =
new AliFragFuncHistos(
"RecCutsK0Evt", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2090 fFFNBinsPt, fFFPtMin, fFFPtMax,
2091 fFFNBinsXi, fFFXiMin, fFFXiMax,
2092 fFFNBinsZ , fFFZMin , fFFZMax);
2094 fFFHistosGen =
new AliFragFuncHistos(
"Gen", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2095 fFFNBinsPt, fFFPtMin, fFFPtMax,
2096 fFFNBinsXi, fFFXiMin, fFFXiMax,
2097 fFFNBinsZ , fFFZMin , fFFZMax);
2107 Int_t binsMCgenK0Cone[4] = {19, 120, 200};
2108 Double_t xminMCgenK0Cone[4] = {5., 0., -1.};
2109 Double_t xmaxMCgenK0Cone[4] = {100., 12., 1.};
2110 fhnMCgenK0Cone =
new THnSparseF(
"fhnMCgenK0Cone",
"MC gen {K^{0}}^{s} #it{p}_{T} in cone around jet axis",3,binsMCgenK0Cone,xminMCgenK0Cone,xmaxMCgenK0Cone);
2113 Int_t binsMCgenLaCone[4] = {19, 120, 200};
2114 Double_t xminMCgenLaCone[4] = {5., 0., -1.};
2115 Double_t xmaxMCgenLaCone[4] = {100., 12., 1.};
2116 fhnMCgenLaCone =
new THnSparseF(
"fhnMCgenLaCone",
"MC gen #Lambda #it{p}_{T} in cone around jet axis",3,binsMCgenLaCone,xminMCgenLaCone,xmaxMCgenLaCone);
2127 fh1IMK0ConeSmear =
new TH1F(
"fh1IMK0ConeSmear",
"Smeared jet pt study for K0s-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2128 fh1IMLaConeSmear =
new TH1F(
"fh1IMLaConeSmear",
"Smeared jet pt study for La-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2129 fh1IMALaConeSmear =
new TH1F(
"fh1IMALaConeSmear",
"Smeared jet pt study for ALa-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2131 fh2MC2K0Cone =
new TH2F(
"fh2MC2K0Cone",
"MC true {K^{0}}^{s} #it{p}_{T} in cone around jet axis versus jet #it{p}_{T}; jet #it{p}_{T}",19,5.,100.,120,0.,12.);
2132 fh2MC2LaCone =
new TH2F(
"fh2MC2LaCone",
"MC true {#Lambda #it{p}_{T} in cone around jet axis versus jet #it{p}_{T}; jet #it{p}_{T}",19,5.,100.,120,0.,12.);
2133 fh2MC2ALaCone =
new TH2F(
"fh2MC2ALaCone",
"MC true {#bar{#Lambda} #it{p}_{T} in cone around jet axis versus jet #it{p}_{T}; jet #it{p}_{T}",19,5.,100.,120,0.,12.);
2188 Int_t binsMCrecK0Cone[4] = {19, 200, 120, 200};
2189 Double_t xminMCrecK0Cone[4] = {5.,0.3, 0., -1.};
2190 Double_t xmaxMCrecK0Cone[4] = {100.,0.7, 12., 1.};
2191 fhnMCrecK0Cone =
new THnSparseF(
"fhnMCrecK0Cone",
"MC rec {K^{0}}^{s} #it{p}_{T} in cone around jet axis matching MC gen particle; jet #it{p}_{T}; inv mass (GeV/#it{c}^{2};#it{p}_{T}",4,binsMCrecK0Cone,xminMCrecK0Cone,xmaxMCrecK0Cone);
2193 Int_t binsMCrecLaCone[4] = {19, 200, 120, 200};
2194 Double_t xminMCrecLaCone[4] = {5.,0.3, 0., -1.};
2195 Double_t xmaxMCrecLaCone[4] = {100.,0.7, 12., 1.};
2196 fhnMCrecLaCone =
new THnSparseF(
"fhnMCrecLaCone",
"MC rec {#Lambda #it{p}_{T} in cone around jet axis matching MC gen particle; jet #it{p}_{T}; inv mass (GeV/#it{c}^{2};#it{p}_{T}",4,binsMCrecLaCone,xminMCrecLaCone,xmaxMCrecLaCone);
2198 Int_t binsMCrecALaCone[4] = {19, 200, 120, 200};
2199 Double_t xminMCrecALaCone[4] = {5.,0.3, 0., -1.};
2200 Double_t xmaxMCrecALaCone[4] = {100.,0.7, 12., 1.};
2201 fhnMCrecALaCone =
new THnSparseF(
"fhnMCrecALaCone",
"MC rec {#bar{#Lambda} #it{p}_{T} in cone around jet axis matching MC gen particle; jet #it{p}_{T}; inv mass (GeV/#it{c}^{2};#it{p}_{T}",4,binsMCrecALaCone,xminMCrecALaCone,xmaxMCrecALaCone);
2233 Int_t binsK0sIncl[3] = {200, 120, 200};
2234 Double_t xminK0sIncl[3] = {0.3, 0., -1.};
2235 Double_t xmaxK0sIncl[3] = {0.7, 12., 1.};
2236 fhnK0sIncl =
new THnSparseF(
"fhnK0sIncl",
"Inclusive K0s",3,binsK0sIncl,xminK0sIncl,xmaxK0sIncl);
2238 Int_t binsK0sCone[4] = {19, 200, 120, 200};
2239 Double_t xminK0sCone[4] = {5.,0.3, 0., -1.};
2240 Double_t xmaxK0sCone[4] = {100.,0.7, 12., 1.};
2241 fhnK0sCone =
new THnSparseF(
"fhnK0sCone",
"K0s in jet cone",4,binsK0sCone,xminK0sCone,xmaxK0sCone);
2243 Int_t binsK0sEmbCone[4] = {19, 200, 120, 200};
2244 Double_t xminK0sEmbCone[4] = {5.,0.3, 0., -1.};
2245 Double_t xmaxK0sEmbCone[4] = {100.,0.7, 12., 1.};
2246 fhnK0sEmbCone =
new THnSparseF(
"fhnK0sEmbCone",
"Embedded K0s in jet cone",4,binsK0sEmbCone,xminK0sEmbCone,xmaxK0sEmbCone);
2249 Int_t binsK0sEmbConeRef[4] = {19, 200, 120, 200};
2250 Double_t xminK0sEmbConeRef[4] = {5.,0.3, 0., -1.};
2251 Double_t xmaxK0sEmbConeRef[4] = {100.,0.7, 12., 1.};
2252 fhnK0sEmbConeRef =
new THnSparseF(
"fhnK0sEmbConeRef",
"K0s Embedded reference in jet cone",4,binsK0sEmbConeRef,xminK0sEmbConeRef,xmaxK0sEmbConeRef);
2254 Int_t binsK0sEmbConeStandard[4] = {19, 200, 120, 200};
2255 Double_t xminK0sEmbConeStandard[4] = {5.,0.3, 0., -1.};
2256 Double_t xmaxK0sEmbConeStandard[4] = {100.,0.7, 12., 1.};
2257 fhnK0sEmbConeStandard =
new THnSparseF(
"fhnK0sEmbConeStandard",
"Standard K0s in matched jet cone",4,binsK0sEmbConeStandard,xminK0sEmbConeStandard,xmaxK0sEmbConeStandard);
2260 Int_t binsLaIncl[3] = {200, 120, 200};
2261 Double_t xminLaIncl[3] = {1.05, 0., -1.};
2262 Double_t xmaxLaIncl[3] = {1.25, 12., 1.};
2263 fhnLaIncl =
new THnSparseF(
"fhnLaIncl",
"Inclusive #Lambda",3,binsLaIncl,xminLaIncl,xmaxLaIncl);
2265 Int_t binsLaCone[4] = {19, 200, 120, 200};
2266 Double_t xminLaCone[4] = {5.,1.05, 0., -1.};
2267 Double_t xmaxLaCone[4] = {100.,1.25, 12., 1.};
2268 fhnLaCone =
new THnSparseF(
"fhnLaCone",
"#Lambda in jet cone",4,binsLaCone,xminLaCone,xmaxLaCone);
2270 Int_t binsLaEmbCone[4] = {19, 200, 120, 200};
2271 Double_t xminLaEmbCone[4] = {5.,1.05, 0., -1.};
2272 Double_t xmaxLaEmbCone[4] = {100.,1.25, 12., 1.};
2273 fhnLaEmbCone =
new THnSparseF(
"fhnLaEmbCone",
"Embedded #Lambda in jet cone",4,binsLaEmbCone,xminLaEmbCone,xmaxLaEmbCone);
2276 Int_t binsLaEmbConeRef[4] = {19, 200, 120, 200};
2277 Double_t xminLaEmbConeRef[4] = {5.,1.05, 0., -1.};
2278 Double_t xmaxLaEmbConeRef[4] = {100.,1.25, 12., 1.};
2279 fhnLaEmbConeRef =
new THnSparseF(
"fhnLaEmbConeRef",
"#Lambda Embedded reference in jet cone",4,binsLaEmbConeRef,xminLaEmbConeRef,xmaxLaEmbConeRef);
2281 Int_t binsLaEmbConeStandard[4] = {19, 200, 120, 200};
2282 Double_t xminLaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2283 Double_t xmaxLaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2284 fhnLaEmbConeStandard =
new THnSparseF(
"fhnLaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsLaEmbConeStandard,xminLaEmbConeStandard,xmaxLaEmbConeStandard);
2287 Int_t binsALaIncl[3] = {200, 120, 200};
2288 Double_t xminALaIncl[3] = {1.05, 0., -1.};
2289 Double_t xmaxALaIncl[3] = {1.25, 12., 1.};
2290 fhnALaIncl =
new THnSparseF(
"fhnALaIncl",
"Inclusive #bar{#Lambda}",3,binsALaIncl,xminALaIncl,xmaxALaIncl);
2292 Int_t binsALaCone[4] = {19, 200, 120, 200};
2293 Double_t xminALaCone[4] = {5.,1.05, 0., -1.};
2294 Double_t xmaxALaCone[4] = {100.,1.25, 12., 1.};
2295 fhnALaCone =
new THnSparseF(
"fhnALaCone",
"#bar{#Lambda} in jet cone",4,binsALaCone,xminALaCone,xmaxALaCone);
2297 Int_t binsALaEmbCone[4] = {19, 200, 120, 200};
2298 Double_t xminALaEmbCone[4] = {5.,1.05, 0., -1.};
2299 Double_t xmaxALaEmbCone[4] = {100.,1.25, 12., 1.};
2300 fhnALaEmbCone =
new THnSparseF(
"fhnALaEmbCone",
"Embedded #bar{#Lambda} in jet cone",4,binsALaEmbCone,xminALaEmbCone,xmaxALaEmbCone);
2302 Int_t binsALaEmbConeRef[4] = {19, 200, 120, 200};
2303 Double_t xminALaEmbConeRef[4] = {5.,1.05, 0., -1.};
2304 Double_t xmaxALaEmbConeRef[4] = {100.,1.25, 12., 1.};
2305 fhnALaEmbConeRef =
new THnSparseF(
"fhnALaEmbConeRef",
"#bar{#Lambda} Embedded reference in jet cone",4,binsALaEmbConeRef,xminALaEmbConeRef,xmaxALaEmbConeRef);
2307 Int_t binsALaEmbConeStandard[4] = {19, 200, 120, 200};
2308 Double_t xminALaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2309 Double_t xmaxALaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2310 fhnALaEmbConeStandard =
new THnSparseF(
"fhnALaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsALaEmbConeStandard,xminALaEmbConeStandard,xmaxALaEmbConeStandard);
2313 fh2MCEmbK0sJetPt =
new TH2F(
"fh2MCEmbK0sJetPt",
"PYTHIA gen. K^{0}_{s} ;#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2314 fh2MCEmbLaJetPt =
new TH2F(
"fh2MCEmbLaJetPt",
" PYTHIA gen. #Lambda ;#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2315 fh2MCEmbALaJetPt =
new TH2F(
"fh2MCEmbALaJetPt",
"PYTHIA gen. #bar{#Lambda};#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2318 fh1MCMultiplicityPrimary =
new TH1F(
"fh1MCMultiplicityPrimary",
"MC Primary Particles;NPrimary;Count", 201, -0.5, 200.5);
2322 Int_t binsFeedDownLa[3] = {19, 200, 120};
2323 Double_t xminFeedDownLa[3] = {5.,1.05, 0.};
2324 Double_t xmaxFeedDownLa[3] = {100.,1.25, 12.};
2325 fhnFeedDownLa =
new THnSparseF(
"fhnFeedDownLa",
"#Lambda stemming from feeddown from Xi(0/-)",3,binsFeedDownLa,xminFeedDownLa,xmaxFeedDownLa);
2327 Int_t binsFeedDownALa[3] = {19, 200, 120};
2328 Double_t xminFeedDownALa[3] = {5.,1.05, 0.};
2329 Double_t xmaxFeedDownALa[3] = {100.,1.25, 12.};
2330 fhnFeedDownALa =
new THnSparseF(
"fhnFeedDownALa",
"#bar#Lambda stemming from feeddown from Xibar(0/+)",3,binsFeedDownALa,xminFeedDownALa,xmaxFeedDownALa);
2332 Int_t binsFeedDownLaCone[3] = {19, 200, 120};
2333 Double_t xminFeedDownLaCone[3] = {5.,1.05, 0.};
2334 Double_t xmaxFeedDownLaCone[3] = {100.,1.25, 12.};
2335 fhnFeedDownLaCone =
new THnSparseF(
"fhnFeedDownLaCone",
"#Lambda stemming from feeddown from Xi(0/-) in jet cone",3,binsFeedDownLaCone,xminFeedDownLaCone,xmaxFeedDownLaCone);
2337 Int_t binsFeedDownALaCone[3] = {19, 200, 120};
2338 Double_t xminFeedDownALaCone[3] = {5.,1.05, 0.};
2339 Double_t xmaxFeedDownALaCone[3] = {100.,1.25, 12.};
2340 fhnFeedDownALaCone =
new THnSparseF(
"fhnFeedDownALaCone",
"#bar#Lambda stemming from feeddown from Xibar(0/+) in jet cone",3,binsFeedDownALaCone,xminFeedDownALaCone,xmaxFeedDownALaCone);
2342 fh2FeedDownXiLa =
new TH2F(
"fh2FeedDownXiLa",
"MC gen. #Xi #it{p}_{T}; MC gen. #Lambda #it{p}_{T}",120,0.,12.,120,0.,12.);
2344 fh2FeedDownXiALa =
new TH2F(
"fh2FeedDownXiALa",
"MC gen. #bar{#Xi} #it{p}_{T}; MC gen.#bar{#Lambda} #it{p}_{T}",120,0.,12.,120,0.,12.);
2346 fh1MCProdRadiusK0s =
new TH1F(
"fh1MCProdRadiusK0s",
"MC gen. MC K0s prod radius",100,0.,100.);
2352 fh1MCPtV0s =
new TH1F(
"fh1MCPtV0s",
"MC gen. V^{0} in rap range;#it{p}_{T} (GeV/#it{c})",120,0,12.);
2353 fh1MCPtK0s =
new TH1F(
"fh1MCPtK0s",
"MC gen. K^{0}_{s} in eta range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2354 fh1MCPtLambda =
new TH1F(
"fh1MCPtLambda",
"MC gen. #Lambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2355 fh1MCPtAntiLambda =
new TH1F(
"fh1MCPtAntiLambda",
"MC gen. #AntiLambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2356 fh1MCXiPt =
new TH1F(
"fh1MCXiPt",
"MC gen. #Xi^{-/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2357 fh1MCXibarPt =
new TH1F(
"fh1MCXibarPt",
"MC gen. #bar{#Xi}^{+/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2358 fh2MCEtaVsPtK0s =
new TH2F(
"fh2MCEtaVsPtK0s",
"MC gen. K^{0}_{s} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2359 fh2MCEtaVsPtLa =
new TH2F(
"fh2MCEtaVsPtLa",
"MC gen. #Lambda #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2360 fh2MCEtaVsPtALa =
new TH2F(
"fh2MCEtaVsPtALa",
"MC gen. #bar{#Lambda} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2366 fh1MCEtaAllK0s =
new TH1F(
"fh1MCEtaAllK0s",
"MC gen. K0s;#eta",200,-1.,1.);
2367 fh1MCEtaK0s =
new TH1F(
"fh1MCEtaK0s",
"MC gen. K0s;#eta with cut",200,-1.,1.);
2368 fh1MCEtaLambda =
new TH1F(
"fh1MCEtaLambda",
"MC gen. #Lambda;#eta",200,-1.,1.);
2369 fh1MCEtaAntiLambda =
new TH1F(
"fh1MCEtaAntiLambda",
"MC gen. #bar{#Lambda};#eta",200,-1.,1.);
2372 fFFHistosRecCuts->DefineHistos();
2374 fFFHistosGen->DefineHistos();
2387 const Int_t saveLevel = 5;
2391 fCommonHistList->Add(
fh1Evt);
2393 fCommonHistList->Add(
fh1EP2);
2394 fCommonHistList->Add(
fh1EP3);
2396 fCommonHistList->Add(fh1EvtSelection);
2397 fCommonHistList->Add(fh1EvtCent);
2398 fCommonHistList->Add(fh1VertexNContributors);
2399 fCommonHistList->Add(fh1VertexZ);
2400 fCommonHistList->Add(fh1Xsec);
2401 fCommonHistList->Add(fh1Trials);
2402 fCommonHistList->Add(fh1PtHard);
2403 fCommonHistList->Add(fh1PtHardTrials);
2404 fCommonHistList->Add(fh1nRecJetsCuts);
2405 fCommonHistList->Add(fh1EvtMult);
2416 if(fBranchEmbeddedJets.Length()){
2430 if(fBranchGenJets.Length()&&(
fMatchMode == 2)){
2476 fCommonHistList->Add(
fh1RC);
2480 fCommonHistList->Add(
fh1MCC);
2481 fCommonHistList->Add(
fh1OC);
2482 fCommonHistList->Add(
fh1NJ);
2491 fCommonHistList->Add(
fhnNJK0);
2492 fCommonHistList->Add(
fhnNJLa);
2541 if(fBranchEmbeddedJets.Length()){
2550 if(fBranchEmbeddedJets.Length()){
2559 if(fBranchEmbeddedJets.Length()){
2570 fCommonHistList->Add(
fhnLaPC);
2578 fCommonHistList->Add(
fhnLaRC);
2584 fCommonHistList->Add(
fhnLaOC);
2618 fV0QAK0->AddToOutput(fCommonHistList);
2619 fFFHistosRecCuts->AddToOutput(fCommonHistList);
2622 if(fBranchGenJets.Length() && (
fMatchMode == 2)){
2623 fFFHistosGen->AddToOutput(fCommonHistList);
2640 for (
Int_t i=0; i<fCommonHistList->GetEntries(); ++i){
2642 TH1 *h1 =
dynamic_cast<TH1*
>(fCommonHistList->At(i));
2644 if (h1) h1->Sumw2();
2646 THnSparse *hnSparse =
dynamic_cast<THnSparse*
>(fCommonHistList->At(i));
2647 if(hnSparse) hnSparse->Sumw2();
2651 TH1::AddDirectory(oldStatus);
2652 PostData(1, fCommonHistList);
2661 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec()");
2663 if(fDebug > 1) Printf(
"Analysis event #%5d", (
Int_t) fEntry);
2666 AliInputEventHandler* inputHandler = (AliInputEventHandler*)
2667 ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
2669 if((fDebug > 1)&&(!inputHandler)){std::cout<<
"AliAnalysisTaskJetChem::AliInputEventHandler does not exist!! "<<std::endl;}
2674 if (!
fPIDResponse){
if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec(): fPIDResponse does not exist!");
return;}
2676 if(fDebug > 1){std::cout<<
"inputHandler->IsEventSelected(): "<<inputHandler->IsEventSelected()<<std::endl;}
2677 if(fDebug > 1){std::cout<<
"fEvtSelectionMask: "<<fEvtSelectionMask<<std::endl;}
2679 if(!(inputHandler->IsEventSelected() & fEvtSelectionMask)){
2681 fh1EvtSelection->Fill(1.);
2682 if (fDebug > 1 ) Printf(
" Trigger Selection: event REJECTED ... ");
2683 PostData(1, fCommonHistList);
2689 if(fDebug>3) Printf(
"%s:%d ESDEvent not found in the input", (
char*)__FILE__,__LINE__);
2692 fMCEvent = MCEvent();
2694 if(fDebug>3) Printf(
"%s:%d MCEvent not found in the input", (
char*)__FILE__,__LINE__);
2698 TObject* handler = AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
2699 if( handler && handler->InheritsFrom(
"AliAODInputHandler") ) {
2700 fAOD = ((AliAODInputHandler*)handler)->GetEvent();
2701 if(fUseAODInputJets) fAODJets = fAOD;
2702 if (fDebug > 1) Printf(
"%s:%d AOD event from input", (
char*)__FILE__,__LINE__);
2705 handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2706 if( handler && handler->InheritsFrom(
"AliAODHandler") ) {
2707 fAOD = ((AliAODHandler*)handler)->GetAOD();
2709 if (fDebug > 1) Printf(
"%s:%d AOD event from output", (
char*)__FILE__,__LINE__);
2713 if(!fAODJets && !fUseAODInputJets){
2714 TObject* outHandler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2715 if( outHandler && outHandler->InheritsFrom(
"AliAODHandler") ){
2716 fAODJets = ((AliAODHandler*)outHandler)->GetAOD();
2717 if (fDebug > 1) Printf(
"%s:%d jets from output AOD", (
char*)__FILE__,__LINE__);
2721 if(fNonStdFile.Length()!=0){
2724 AliAODHandler *aodH =
dynamic_cast<AliAODHandler*
>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
2725 fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);
2727 if(fDebug>1)Printf(
"AODExtension not found for %s",fNonStdFile.Data());
2732 Printf(
"%s:%d AODEvent not found", (
char*)__FILE__,__LINE__);
2736 Printf(
"%s:%d AODEvent with jet branch not found", (
char*)__FILE__,__LINE__);
2741 AliAODVertex *myPrimaryVertex = NULL;
2742 myPrimaryVertex = (AliAODVertex*)fAOD->GetPrimaryVertex();
2743 if (!myPrimaryVertex)
return;
2749 AliAODVertex* primVtx = fAOD->GetPrimaryVertex();
2750 Int_t nTracksPrim = primVtx->GetNContributors();
2751 fh1VertexNContributors->Fill(nTracksPrim);
2753 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: %d", (
char*)__FILE__,__LINE__,nTracksPrim);
2755 if(nTracksPrim <= 2){
2756 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: event REJECTED...",(
char*)__FILE__,__LINE__);
2757 fh1EvtSelection->Fill(3.);
2758 PostData(1, fCommonHistList);
2762 fh1VertexZ->Fill(primVtx->GetZ());
2764 if(TMath::Abs(primVtx->GetZ())>fMaxVertexZ){
2765 if (fDebug > 1) Printf(
"%s:%d primary vertex z = %f: event REJECTED...",(
char*)__FILE__,__LINE__,primVtx->GetZ());
2766 fh1EvtSelection->Fill(4.);
2767 PostData(1, fCommonHistList);
2775 const AliAODVertex* spdVtx = fAOD->GetPrimaryVertexSPD();
2777 if (TMath::Abs(spdVtx->GetZ() - primVtx->GetZ())>
fDeltaVertexZ) {
if (fDebug > 1) Printf(
"deltaZVertex: event REJECTED...");
return;}
2785 if(TMath::Sqrt(vtxX*vtxX + vtxY*vtxY)>=1){
2786 if (fDebug > 1) Printf(
"%s:%d primary vertex r = %f: event REJECTED...",(
char*)__FILE__,__LINE__,TMath::Sqrt(vtxX*vtxX + vtxY*vtxY));
2791 TString primVtxName(primVtx->GetName());
2793 if(primVtxName.CompareTo(
"TPCVertex",TString::kIgnoreCase) == 1){
2794 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: TPC vertex, event REJECTED...",(
char*)__FILE__,__LINE__);
2795 fh1EvtSelection->Fill(5.);
2796 PostData(1, fCommonHistList);
2801 if(!selectedHelper){
2802 fh1EvtSelection->Fill(6.);
2803 PostData(1, fCommonHistList);
2816 if(handler && handler->InheritsFrom(
"AliAODInputHandler")){
2818 centPercent =
dynamic_cast<AliAODHeader*
>(fAOD->GetHeader())->GetCentrality();
2824 if(fEventClass >= 11){
2826 if(centPercent < 0) cl = -1;
2827 if(centPercent >= 0) cl = 11;
2828 if(centPercent > 5) cl = 12;
2829 if(centPercent > 10) cl = 13;
2830 if(centPercent > 20) cl = 14;
2831 if(centPercent > 40) cl = 15;
2832 if(centPercent > 60) cl = 16;
2833 if(centPercent > 80) cl = 17;
2834 if(centPercent > 90) cl = 18;
2838 if(fEventClass < 11){
2840 if(centPercent < 0) cl = -1;
2841 if(centPercent >= 0) cl = 1;
2842 if(centPercent > 10) cl = 2;
2843 if(centPercent > 30) cl = 3;
2844 if(centPercent > 50) cl = 4;
2845 if(centPercent > 80) cl = 5;
2854 if(fESD) centPercent = fESD->GetCentrality()->GetCentralityPercentile(
"V0M");
2858 if(fEventClass >= 11){
2860 if(centPercent < 0) cl = -1;
2861 if(centPercent >= 0) cl = 11;
2862 if(centPercent > 5) cl = 12;
2863 if(centPercent > 10) cl = 13;
2864 if(centPercent > 20) cl = 14;
2865 if(centPercent > 40) cl = 15;
2866 if(centPercent > 60) cl = 16;
2867 if(centPercent > 80) cl = 17;
2868 if(centPercent > 90) cl = 18;
2872 if(fEventClass < 11){
2874 if(centPercent < 0) cl = -1;
2875 if(centPercent >= 0) cl = 1;
2876 if(centPercent > 10) cl = 2;
2877 if(centPercent > 30) cl = 3;
2878 if(centPercent > 50) cl = 4;
2879 if(centPercent > 80) cl = 5;
2885 if(cl!=fEventClass){
2887 if (fDebug > 1) Printf(
"%s:%d event not in selected event class: event REJECTED ...",(
char*)__FILE__,__LINE__);
2888 fh1EvtSelection->Fill(2.);
2889 PostData(1, fCommonHistList);
2895 if (fDebug > 1) Printf(
"%s:%d event ACCEPTED ...",(
char*)__FILE__,__LINE__);
2902 fh1EvtSelection->Fill(0.);
2903 fh1EvtCent->Fill(centPercent);
2911 Double_t qx2(0), qy2(0), qx3(0), qy3(0);
2916 event_plane_2 = fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD, 10, 2, qx2, qy2);
2917 event_plane_3 = fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD, 10, 3, qx3, qy3);
2919 if(fDebug>3) std::cout<<
"2nd order harmonic EP - qx2: "<<qx2<<
" , qy2: "<<qy2<<std::endl;
2920 if(fDebug>3) std::cout<<
"3rd order harmonic EP - qx3: "<<qx3<<
" , qy3: "<<qy3<<std::endl;
2921 if(fDebug>3) std::cout<<
"event_plane_2: "<<event_plane_2<<
" , event_plane_3: "<<event_plane_3<<std::endl;
2925 event_plane_2 = fESD->GetEventplane()->CalculateVZEROEventPlane(fESD, 10, 2, qx2, qy2);
2926 event_plane_3 = fESD->GetEventplane()->CalculateVZEROEventPlane(fESD, 10, 3, qx3, qy3);
2928 if(fDebug>3) std::cout<<
"2nd order harmonic EP - qx2: "<<qx2<<
" , qy2: "<<qy2<<std::endl;
2929 if(fDebug>3) std::cout<<
"3rd order harmonic EP - qx3: "<<qx3<<
" , qy3: "<<qy3<<std::endl;
2930 if(fDebug>3) std::cout<<
"event_plane_2: "<<event_plane_2<<
" , event_plane_3: "<<event_plane_3<<std::endl;
2935 fh1EP2->Fill(event_plane_2);
2936 fh1EP3->Fill(event_plane_3);
2946 AliGenEventHeader* genHeader = fMCEvent->GenEventHeader();
2947 AliGenPythiaEventHeader* pythiaGenHeader =
dynamic_cast<AliGenPythiaEventHeader*
>(genHeader);
2948 AliGenHijingEventHeader* hijingGenHeader = 0x0;
2950 if(pythiaGenHeader){
2951 if(fDebug>3) Printf(
"%s:%d pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2952 nTrials = pythiaGenHeader->Trials();
2953 ptHard = pythiaGenHeader->GetPtHard();
2955 fh1PtHard->Fill(ptHard);
2956 fh1PtHardTrials->Fill(ptHard,nTrials);
2961 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2963 hijingGenHeader =
dynamic_cast<AliGenHijingEventHeader*
>(genHeader);
2964 if(!hijingGenHeader){
2965 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader or hjingGenHeader found", (
char*)__FILE__,__LINE__);
2967 if(fDebug>3) Printf(
"%s:%d hijingGenHeader found", (
char*)__FILE__,__LINE__);
2971 fh1Trials->Fill(
"#sum{ntrials}",fAvgTrials);
2978 if(fDebug>2)std::cout<<
" nJCuts: "<<nJCuts<<std::endl;
2980 if(fDebug>2)std::cout<<
" fBranchRecJets: "<<fBranchRecJets<<std::endl;
2982 Int_t nRecJetsCuts = 0;
2983 if(nJCuts>=0) nRecJetsCuts = fJetsRecCuts->GetEntries();
2984 if(fDebug>2)Printf(
"%s:%d Selected Rec jets after cuts (noJetPtBias): %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2985 if(nRecJetsCuts != nJCuts) Printf(
"%s:%d Mismatch selected Rec jets after cuts: %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2986 fh1nRecJetsCuts->Fill(nRecJetsCuts);
2991 Int_t nEmbeddedJets = 0;
2995 TArrayF fRecMatchPtFraction;
2997 TArrayI iEmbeddedMatchIndexMC;
2999 TArrayF fGenMatchPtFraction;
3007 if(nJGen>=0) nGenJets = fJetsGen->GetEntries();
3008 if(fDebug>2)Printf(
"%s:%d Selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
3010 if(nJGen != nGenJets) Printf(
"%s:%d Mismatch selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
3015 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets for matching: "<<fBranchEmbeddedJets<<std::endl;
3018 if(fBranchEmbeddedJets.Length()){
3021 if(nJEmbedded>=0) nEmbeddedJets = fJetsEmbedded->GetEntries();
3022 if(fDebug>2)Printf(
"%s:%d Selected Embedded jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
3023 if(nJEmbedded != nEmbeddedJets) Printf(
"%s:%d Mismatch Selected Embedded Jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
3028 if(nEmbeddedJets > 0){
3029 for(
Int_t ij=0; ij<nEmbeddedJets; ++ij){
3030 AliAODJet *jet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(ij));
3033 Double_t phiEP = TMath::Pi()*0.5 - event_plane_2;
3035 Double_t jetPhiDelta = TMath::Abs(jetPhi-phiEP);
3036 if(fDebug>3)std::cout<<
"JetPhiDelta: "<<jetPhiDelta<<std::endl;
3045 iEmbeddedMatchIndex.Set(nEmbeddedJets);
3046 iRecMatchIndex.Set(nRecJetsCuts);
3047 fRecMatchPtFraction.Set(nRecJetsCuts);
3049 iEmbeddedMatchIndex.Reset(-1);
3050 iRecMatchIndex.Reset(-1);
3051 fRecMatchPtFraction.Reset(0);
3055 if(fDebug>2)std::cout<<
"GetClosestJets(): "<<std::endl;
3056 if(fDebug>2)std::cout<<
"nRecJetsCuts: "<<nRecJetsCuts<<std::endl;
3057 if(fDebug>2)std::cout<<
"nEmbeddedJets: "<<nEmbeddedJets<<std::endl;
3064 fJetsRecCuts, nRecJetsCuts,
3065 iRecMatchIndex,iEmbeddedMatchIndex,
3073 for(
Int_t i=0; i<nRecJetsCuts; i++){
3074 AliAODJet* recJet = (AliAODJet*) fJetsRecCuts->At(i);
3075 if(!recJet)
continue;
3077 Int_t indexEmbedded = iRecMatchIndex[i];
3079 if(indexEmbedded>-1){
3080 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
3092 iEmbeddedMatchIndexMC.Set(nEmbeddedJets);
3093 iGenMatchIndex.Set(nGenJets);
3094 fGenMatchPtFraction.Set(nGenJets);
3096 iEmbeddedMatchIndexMC.Reset(-1);
3097 iGenMatchIndex.Reset(-1);
3098 fGenMatchPtFraction.Reset(0);
3100 if(fDebug > 2)std::cout<<
" nGenJets "<<nGenJets<<
" nEmbeddedJets "<<nEmbeddedJets<<std::endl;
3106 iGenMatchIndex,iEmbeddedMatchIndexMC,
3110 for(
Int_t i=0; i<nGenJets; i++){
3111 AliAODJet* genJet = (AliAODJet*) fJetsGen->At(i);
3112 if(!genJet)
continue;
3113 Int_t indexEmbedded = iGenMatchIndex[i];
3114 if(indexEmbedded>-1){
3115 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
3127 if(fBranchRecBckgClusters.Length() != 0){
3131 if(fDebug>2)std::cout<<
" fBranchRecBckgClusters: "<<fBranchRecBckgClusters<<std::endl;
3133 Int_t nRecBckgJets = 0;
3134 if(nBJ>=0) nRecBckgJets = fBckgJetsRec->GetEntries();
3135 if(fDebug>2)Printf(
"%s:%d Selected Rec background jets: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3136 if(nBJ != nRecBckgJets) Printf(
"%s:%d Mismatch Selected Rec background jets before cuts: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3148 if(fDebug>2)Printf(
"%s:%d selected reconstructed standard Bckg tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTBckgCuts,
fTracksRecBckgCuts->GetEntries());
3156 Int_t nRemainingBckgJets = nRecBckgJets;
3158 for(
Int_t ij=0; ij<nRecBckgJets; ++ij){
3160 AliAODJet* jetBckg = (AliAODJet*) (fBckgJetsRec->At(ij));
3161 if(!jetBckg)
continue;
3166 Bool_t isBadBckgJet = kFALSE;
3167 Bool_t isBadJet = kFALSE;
3170 if( jetBckg->Pt() < fJetPtCut ) {isBadJet=kTRUE;}
3171 if( jetBckg->EffectiveAreaCharged() < fJetMinArea ) {isBadJet=kTRUE;}
3173 Double_t jetBckgPt = jetBckg->Pt();
3174 if(isBadJet == kFALSE)
fh1BckgJets->Fill(jetBckgPt);
3177 if((GetFFRadius()<=0)&&(isBadJet == kFALSE)){
3178 GetJetTracksTrackrefs(
jettracklist, jetBckg, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3179 if(isBadBckgJet == kTRUE)isBadJet = kTRUE;
3181 if(isBadJet == kFALSE){GetJetTracksPointing(
fTracksRecBckgCuts,
jettracklist, jetBckg, GetFFRadius(), sumBckgPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3182 if(isBadBckgJet == kTRUE)isBadJet = kTRUE;
3187 if(isBadJet == kTRUE){
3188 nRemainingBckgJets = nRemainingBckgJets-1;
3190 if(nRemainingBckgJets == 0){fIsNJEventEmb = kTRUE;
fh1NJEmbEvt->Fill(1.);}
3193 if((fDebug>3)&&(isBadJet==kFALSE)){std::cout<<
"Embedding BckgJet - jetPt:"<<jetBckg->Pt()<<
"- jetEta: "<<jetBckg->Eta()<<
" - jetAreaCharged: "<<jetBckg->EffectiveAreaCharged()<<std::endl;
3194 std::cout<<
"nRecBckgJets: "<<nRecBckgJets<<std::endl;
3195 std::cout<<
" "<<std::endl;}
3217 else nTCuts = GetListOfTracks(fTracksRecCuts,
kTrackAODCuts);
3220 if(fDebug>2)Printf(
"%s:%d selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3221 if(fTracksRecCuts->GetEntries() != nTCuts)
3222 Printf(
"%s:%d Mismatch selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3224 if(nTCuts>=0) fh1EvtMult->Fill(fTracksRecCuts->GetEntries());
3230 fTracksGen->Clear();
3232 if(nTGen>=0) nGenPart = fTracksGen->GetEntries();
3233 if(fDebug>2)Printf(
"%s:%d Selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3234 if(nGenPart != nTGen) Printf(
"%s:%d Mismatch selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3241 Int_t nK0sStandard = 0;
3252 if(fDebug>5){std::cout<<
"fK0Type: "<<
fK0Type<<
" kK0: "<<
kK0<<
" myPrimaryVertex: "<<myPrimaryVertex<<
" fAOD: "<<fAOD<<std::endl;}
3260 if(fDebug>2)Printf(
"%s:%d Selected Rec K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3261 if(nK0s !=
fListK0s->GetEntries()) Printf(
"%s:%d Mismatch selected K0s: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3263 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0sMC,
fListK0sMC->GetEntries());
3270 Int_t nLaStandard = 0;
3280 if(fDebug>2)Printf(
"%s:%d Selected Rec La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3281 if(nLa !=
fListLa->GetEntries()) Printf(
"%s:%d Mismatch selected La: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3284 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLaMC,
fListLaMC->GetEntries());
3288 Int_t nALaStandard = 0;
3297 if(fDebug>2)Printf(
"%s:%d Selected Rec ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3298 if(nALa !=
fListALa->GetEntries()) Printf(
"%s:%d Mismatch selected ALa: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3300 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALaMC,
fListALaMC->GetEntries());
3315 if(nMCgenK0s !=
fListMCgenK0s->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenK0s: %d %d",(
char*)__FILE__,__LINE__,nMCgenK0s,
fListMCgenK0s->GetEntries());
3320 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0s->At(it));
3326 Double_t fEtaCurrentPart = mcp0->Eta();
3327 Double_t fPtCurrentPart = mcp0->Pt();
3338 if(nMCgenLa !=
fListMCgenLa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenLa: %d %d",(
char*)__FILE__,__LINE__,nMCgenLa,
fListMCgenLa->GetEntries());
3340 TList *mclist = fAOD->GetList();
3341 TClonesArray *stackMC = 0x0;
3342 stackMC = (TClonesArray*)mclist->FindObject(AliAODMCParticle::StdBranchName());
3344 Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: stackMC not available!");
3347 AliAODMCHeader *mcHdr=(AliAODMCHeader*)mclist->FindObject(AliAODMCHeader::StdBranchName());
3348 if(!mcHdr)Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: mcHdr not available!");
3352 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenLa->At(it));
3358 Double_t fEtaCurrentPart = mcp0->Eta();
3359 Double_t fPtCurrentPart = mcp0->Pt();
3385 if(nMCgenALa !=
fListMCgenALa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenALa: %d %d",(
char*)__FILE__,__LINE__,nMCgenALa,
fListMCgenALa->GetEntries());
3390 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenALa->At(it));
3396 Double_t fEtaCurrentPart = mcp0->Eta();
3397 Double_t fPtCurrentPart = mcp0->Pt();
3437 lPrimaryVtxPosition[0] = primVtx->GetX();
3438 lPrimaryVtxPosition[1] = primVtx->GetY();
3439 lPrimaryVtxPosition[2] = primVtx->GetZ();
3440 Double_t dRadiusExcludeCone = 2*GetFFRadius();
3446 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3455 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3456 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3457 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3458 Int_t negDaughterpdg = 0;
3459 Int_t posDaughterpdg = 0;
3460 Int_t motherType = 0;
3463 Bool_t fPhysicalPrimary = kFALSE;
3464 Int_t MCv0PdgCode = 0;
3466 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3467 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3469 Double_t PosEta = trackPos->AliAODTrack::Eta();
3470 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3483 Bool_t bIsInCone = kFALSE;
3484 Int_t nRemainingJets = nRecJetsCuts;
3486 for(
Int_t ij=0; ij<nRecJetsCuts; ++ij){
3488 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3492 Bool_t isBadJet = kFALSE;
3494 if(GetFFRadius()<=0){
3495 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3497 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3503 nRemainingJets = nRemainingJets-1;
3508 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3515 if((bIsInCone==kFALSE)&&(nRemainingJets > 0)){
3516 Double_t vK0sOC[3] = {invMK0s,trackPt,fEta};
3527 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3529 lV0Position[0]= v0->DecayVertexV0X();
3530 lV0Position[1]= v0->DecayVertexV0Y();
3531 lV0Position[2]= v0->DecayVertexV0Z();
3533 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3534 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3537 fV0QAK0->FillTrackQA(v0->Eta(), TVector2::Phi_0_2pi(v0->Phi()), v0->Pt());
3543 Double_t vK0sIncl[3] = {invMK0s,trackPt,fEta};
3550 TList *listmc = fAOD->GetList();
3551 Bool_t mclabelcheck =
MCLabelCheck(v0,
kK0, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3556 if(mclabelcheck == kFALSE)
continue;
3558 Double_t vInvMassEtaTrackPtK0s[3] = {fEta,invMK0s,trackPt};
3584 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3592 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3593 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3594 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3595 Int_t negDaughterpdg = 0;
3596 Int_t posDaughterpdg = 0;
3597 Int_t motherType = 0;
3600 Bool_t fPhysicalPrimary = kFALSE;
3601 Int_t MCv0PdgCode = 0;
3602 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3603 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3608 Double_t PosEta = trackPos->AliAODTrack::Eta();
3609 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3612 Bool_t bIsInCone = kFALSE;
3613 Int_t nRemainingJets = nRecJetsCuts;
3618 for(
Int_t ij=0; ij<nRecJetsCuts; ++ij){
3620 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3623 Bool_t isBadJet = kFALSE;
3625 if(GetFFRadius()<=0){
3626 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3628 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3635 nRemainingJets = nRemainingJets-1;
3639 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3650 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3651 Double_t vLaOC[3] = {invMLa, trackPt,fEta};
3657 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3658 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3659 lV0Position[0]= v0->DecayVertexV0X();
3660 lV0Position[1]= v0->DecayVertexV0Y();
3661 lV0Position[2]= v0->DecayVertexV0Z();
3663 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3670 Double_t vLaIncl[3] = {invMLa,trackPt,fEta};
3677 TList* listmc = fAOD->GetList();
3678 Bool_t mclabelcheck =
MCLabelCheck(v0,
kLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3679 if(mclabelcheck == kFALSE)
continue;
3698 Double_t vInvMassEtaTrackPtLa[3] = {fEta,invMLa,trackPt};
3723 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3731 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3732 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3733 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3734 Int_t negDaughterpdg = 0;
3735 Int_t posDaughterpdg = 0;
3736 Int_t motherType = 0;
3739 Bool_t fPhysicalPrimary = kFALSE;
3740 Int_t MCv0PdgCode = 0;
3742 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3743 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3745 Double_t PosEta = trackPos->AliAODTrack::Eta();
3746 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3749 Bool_t bIsInCone = kFALSE;
3750 Int_t nRemainingJets = nRecJetsCuts;
3755 for(
Int_t ij=0; ij<nRecJetsCuts; ++ij){
3757 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3760 Bool_t isBadJet = kFALSE;
3763 if(GetFFRadius()<=0){
3764 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3766 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3772 nRemainingJets = nRemainingJets-1;
3786 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3787 Double_t vALaOC[3] = {invMALa, trackPt,fEta};
3793 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3794 lV0Position[0]= v0->DecayVertexV0X();
3795 lV0Position[1]= v0->DecayVertexV0Y();
3796 lV0Position[2]= v0->DecayVertexV0Z();
3797 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3798 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3805 Double_t vALaIncl[3] = {invMALa,trackPt,fEta};
3811 TList* listmc = fAOD->GetList();
3812 Bool_t mclabelcheck =
MCLabelCheck(v0,
kAntiLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3813 if(mclabelcheck == kFALSE)
continue;
3835 Double_t vInvMassEtaTrackPtALa[3] = {fEta,invMALa,trackPt};
3854 if(nRecJetsCuts == 0){
3858 if(fDebug>6) { std::cout<<
"################## nRecJetsCuts == 0 ###################"<<std::endl;
3864 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3872 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3879 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3887 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3894 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3903 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
3917 Int_t nSelJets = nRecJetsCuts;
3920 Bool_t IsMCCEvt = kFALSE;
3923 for(
Int_t ij=0; ij<nRecJetsCuts; ++ij){
3925 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3937 Bool_t isBadJet = kFALSE;
3938 Int_t njetTracks = 0;
3940 if(GetFFRadius()<=0){
3941 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3943 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3947 if((GetFFMinNTracks()>0) && (
jettracklist->GetSize() <= GetFFMinNTracks())) isBadJet = kTRUE;
3950 if((!isBadJet)&&(fDebug > 3)) {
3951 std::cout<<
"Reconstructed Jet - jetPt:"<<jet->Pt()<<
"- jetEta: "<<jet->Eta()<<
" - jetAreaCharged: "<<jet->EffectiveAreaCharged()<<std::endl;
3952 std::cout<<
"nRecJetsCuts: "<<nRecJetsCuts<<std::endl;
3953 std::cout<<
" "<<std::endl;
3958 nSelJets = nSelJets-1;
3966 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3974 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3981 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3989 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3996 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
4005 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
4031 if(IsOCEvt == kFALSE){IsOCEvt = kTRUE;
fh1OC->Fill(1.);}
4036 Double_t dAreaExcluded = TMath::Pi()*dRadiusExcludeCone*dRadiusExcludeCone;
4060 TList* mclist = fAOD->GetList();
4061 if (!mclist){std::cout<<
"mclist does not exist for Embedding study: "<<std::endl;
continue;}
4065 AliAODJet* embeddedJet = 0;
4067 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets before index embedded: "<<fBranchEmbeddedJets<<std::endl;
4069 if(fBranchEmbeddedJets.Length()){
4071 Int_t indexEmbedded = iRecMatchIndex[ij];
4072 ptFractionEmbedded = fRecMatchPtFraction[ij];
4074 if(fDebug>2)std::cout<<
"index embedded: "<<indexEmbedded<<std::endl;
4075 if(fDebug>2)std::cout<<
"ptFractionEmbedded: "<<ptFractionEmbedded<<std::endl;
4081 if(indexEmbedded>-1){
4083 embeddedJet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(indexEmbedded));
4084 if(!embeddedJet)
continue;
4088 deltaREmbedded = jet->DeltaR((AliVParticle*) (embeddedJet));
4089 if(fDebug>2)std::cout<<
"deltaREmbedded: "<<deltaREmbedded<<std::endl;
4097 if(!embeddedJet)
continue;
4100 Double_t JetPtEmb = embeddedJet->Pt();
4105 Double_t JetPtRej = embeddedJet->Pt();
4106 Double_t JetEtaRej = embeddedJet->Eta();
4141 AliVParticle* trackVP =
dynamic_cast<AliVParticle*
>(
jettracklist->At(it));
4142 if(!trackVP)
continue;
4144 Float_t trackPt = trackVP->Pt();
4145 Float_t trackEta = trackVP->Eta();
4147 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4149 fFFHistosRecCuts->FillFF(trackPt, jetPt, incrementJetPt);
4168 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
4173 TVector3 v0MomVect(v0Mom);
4175 Double_t dPhiJetK0 = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
4187 if(dPhiJetK0<fh1dPhiJetK0->GetXaxis()->GetXmin()) dPhiJetK0 += 2*TMath::Pi();
4204 Bool_t isBadJetK0 = kFALSE;
4208 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetConeK0list->GetEntries(),GetFFRadius());
4213 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
jetConeK0list->At(it));
4216 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4235 if(incrementJetPt==kTRUE){
4240 Double_t vK0sCone[4] = {jetPt, invMK0s,trackPt,fEta};
4248 Bool_t incrementJetPt = kTRUE;
4250 Double_t vK0sCone[4] = {jetPt, -1, -1, -1};
4253 if(incrementJetPt==kTRUE){
4266 if(IsRCEvt == kFALSE){
4271 AliAODJet* jetRC = 0;
4284 Bool_t isBadJetK0sRC = kFALSE;
4285 Bool_t isBadJetLaRC = kFALSE;
4286 Bool_t isBadJetALaRC = kFALSE;
4287 Bool_t isBadJetRecCutsRC = kFALSE;
4299 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4309 Double_t vK0sRC[3] = {invMK0s,trackPt,fEta};
4319 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4329 Double_t vLaRC[3] = {invMLa,trackPt,fEta};
4339 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4349 Double_t vALaRC[3] = {invMALa,trackPt,fEta};
4354 if(isBadJetK0sRC == kFALSE){
4360 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4376 if(isBadJetLaRC == kFALSE){
4380 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4397 if(isBadJetALaRC == kFALSE){
4401 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4470 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetPerpConeK0list->GetEntries(),GetFFRadius());
4483 Double_t vK0sPC[4] = {jetPt, invMPerpK0s,trackPt,fEta};
4492 Double_t vK0sPC[4] = {jetPt, -1, -1 , -999};
4498 if(IsMCCEvt == kFALSE){
4515 Double_t medianEta = medianCluster->Eta();
4525 Bool_t isBadJetK0Median = kFALSE;
4526 Bool_t isBadJetRecCutsMedian = kFALSE;
4562 Double_t vK0sMCC[3] = {invMMedianK0s,trackPt,fEta};
4569 Double_t vK0sMCC[3] = {-1, -1, -999};
4578 Bool_t isBadJetLaMedian = kFALSE;
4598 Double_t vLaMCC[3] = {invMMedianLa,trackPt,fEta};
4604 Double_t vLaMCC[4] = {jetPt, -1, -1, -999};
4615 Bool_t isBadJetALaMedian = kFALSE;
4636 Double_t vALaMCC[3] = {invMMedianALa,trackPt,fEta};
4643 Double_t vALaMCC[4] = {jetPt, -1, -1, -999};
4664 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetPerpConeLalist->GetEntries(),GetFFRadius());
4677 Double_t vLaPC[4] = {jetPt, invMPerpLa,trackPt,fEta};
4685 Double_t vLaPC[4] = {jetPt, -1, -1 , -999};
4699 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetPerpConeALalist->GetEntries(),GetFFRadius());
4712 Double_t vALaPC[4] = {jetPt, invMPerpALa,trackPt,fEta};
4720 Double_t vALaPC[4] = {jetPt, -1, -1, -999};
4737 Bool_t isBadJetFDLa = kFALSE;
4742 Bool_t isBadJetFDALa = kFALSE;
4758 TClonesArray *st = 0x0;
4761 TList *lt = fAOD->GetList();
4764 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4767 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4768 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4770 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4772 Int_t v0lab = mcDaughterPart->GetMother();
4776 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4778 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4780 Int_t motherlab = mcp->GetMother();
4782 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4790 iMother = mcp->GetMother();
4792 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4798 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4799 Int_t codeMother = -1;
4800 if(!partMother)
continue;
4803 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4808 if((codeMother == 3312)||(codeMother == 3322)){
4812 Double_t vFeedDownLa[3] = {5., invMLaFDcand, genLaPt};
4834 TClonesArray *st = 0x0;
4836 TList *lt = fAOD->GetList();
4839 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4841 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4842 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4844 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4846 Int_t v0lab = mcDaughterPart->GetMother();
4850 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4852 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4859 Double_t vFeedDownLaCone[3] = {jetPt, invMLaFDcand, genLaPt};
4877 TClonesArray *st = 0x0;
4879 TList *lt = fAOD->GetList();
4882 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4884 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4885 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4887 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4889 Int_t v0lab = mcDaughterPart->GetMother();
4891 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4893 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4895 Int_t motherlab = mcp->GetMother();
4897 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4904 iMother = mcp->GetMother();
4907 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4911 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4912 Int_t codeMother = -1;
4913 if(!partMother)
continue;
4915 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4920 if((codeMother == -3312)||(codeMother == -3322)){
4924 Double_t vFeedDownALa[3] = {5., invMALaFDcand, genALaPt};
4948 TClonesArray *st = 0x0;
4950 TList *lt = fAOD->GetList();
4953 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4955 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4956 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4958 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4960 Int_t v0lab = mcDaughterPart->GetMother();
4962 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4964 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4968 Double_t vFeedDownALaCone[3] = {jetPt, invMALaFDcand, genALaPt};
4979 Bool_t isBadJetMCgenK0s = kFALSE;
4988 if(fDebug>2)Printf(
"%s:%d nMCgenK0s in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,
fListMCgenK0sCone->GetEntries(),GetFFRadius());
4993 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0sCone->At(it));
4997 Double_t fEtaMCgenK0s = mcp0->Eta();
5000 Double_t vMCgenK0Cone[3] = {jetPt,fPtMCgenK0s,fEtaMCgenK0s};
5153 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
5158 TVector3 v0MomVect(v0Mom);
5160 Double_t dPhiJetLa = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
5172 if(dPhiJetLa<fh1dPhiJetLa->GetXaxis()->GetXmin()) dPhiJetLa += 2*TMath::Pi();
5187 Bool_t isBadJetLa = kFALSE;
5191 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetConeLalist-&