30 #include "Riostream.h"
43 #include "THnSparse.h"
46 #include "AliAnalysisHelperJetTasks.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()
107 ,fCutK0cosPointAngle(0)
108 ,fCutLacosPointAngle(0)
115 ,fCutDcaV0Daughters(0)
116 ,fCutDcaPosToPrimVertex(0)
117 ,fCutDcaNegToPrimVertex(0)
122 ,fCutFractionPtEmbedded(0)
123 ,fCutDeltaREmbedded(0)
133 ,jetConeALaEmblist(0)
134 ,jetConeK0EmbStlist(0)
135 ,jetConeLaEmbStlist(0)
136 ,jetConeALaEmbStlist(0)
138 ,jetConeK0EmbMClist(0)
139 ,jetConeLaEmbMClist(0)
140 ,jetConeALaEmbMClist(0)
142 ,jetPerpConeK0list(0)
143 ,jetPerpRecCutslist(0)
144 ,jetPerpConeK0Emblist(0)
145 ,jetPerpConeLalist(0)
146 ,jetPerpConeLaEmblist(0)
147 ,jetPerpConeALalist(0)
148 ,jetPerpConeALaEmblist(0)
149 ,jetMedianConeK0list(0)
150 ,jetMedianConeLalist(0)
151 ,jetMedianConeALalist(0)
152 ,jetMedianRecCutslist(0)
163 ,fFFHistosRecCutsK0Evt(0)
180 ,fListFeeddownLaCand(0)
181 ,fListFeeddownALaCand(0)
187 ,fListMCgenK0sCone(0)
189 ,fListMCgenALaCone(0)
190 ,IsArmenterosSelected(0)
193 ,fUseEmbeddedJetPt(0)
214 ,fFFIMLaNBinsJetPt(0)
243 ,fh1IndexEmbeddedMC(0)
244 ,fh1PtEmbBeforeMatch(0)
245 ,fh1PtEmbExtraOnly(0)
247 ,fh2PtEtaEmbReject(0)
248 ,fh1PtEmbAfterMatch(0)
249 ,fh1FractionPtEmbedded(0)
250 ,fh1DeltaREmbedded(0)
251 ,fh1FractionPtEmbeddedMC(0)
252 ,fh2FractionPtVsEmbeddedJetPtMC(0)
253 ,fh1DeltaREmbeddedMC(0)
254 ,fh1JetPtEmbGenAfterMatch(0)
255 ,fh2TracksPerpCone(0)
277 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
278 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
280 ,fh1DcaV0Daughters(0)
281 ,fh1DcaPosToPrimVertex(0)
282 ,fh1DcaNegToPrimVertex(0)
283 ,fh2ArmenterosBeforeCuts(0)
284 ,fh2ArmenterosAfterCuts(0)
287 ,fh1PosDaughterCharge(0)
288 ,fh1NegDaughterCharge(0)
304 ,fh1BckgJetsPtBias(0)
305 ,fhnInvMassEtaTrackPtK0s(0)
306 ,fhnInvMassEtaTrackPtLa(0)
307 ,fhnInvMassEtaTrackPtALa(0)
321 ,fh2MCEtagenK0Cone(0)
322 ,fh2MCEtagenLaCone(0)
330 ,fh1IMALaConeSmear(0)
359 ,fhnK0sEmbConeStandard(0)
364 ,fhnLaEmbConeStandard(0)
369 ,fhnALaEmbConeStandard(0)
394 ,fh1MCMultiplicityPrimary(0)
395 ,fh1MCMultiplicityTracks(0)
398 ,fhnFeedDownLaCone(0)
399 ,fhnFeedDownALaCone(0)
402 ,fh1MCProdRadiusK0s(0)
403 ,fh1MCProdRadiusLambda(0)
404 ,fh1MCProdRadiusAntiLambda(0)
408 ,fh1MCPtAntiLambda(0)
420 ,fh1MCEtaAntiLambda(0)
428 : AliAnalysisTaskFragmentationFunction(name)
444 ,fCutK0cosPointAngle(0)
445 ,fCutLacosPointAngle(0)
452 ,fCutDcaV0Daughters(0)
453 ,fCutDcaPosToPrimVertex(0)
454 ,fCutDcaNegToPrimVertex(0)
459 ,fCutFractionPtEmbedded(0)
460 ,fCutDeltaREmbedded(0)
470 ,jetConeALaEmblist(0)
471 ,jetConeK0EmbStlist(0)
472 ,jetConeLaEmbStlist(0)
473 ,jetConeALaEmbStlist(0)
475 ,jetConeK0EmbMClist(0)
476 ,jetConeLaEmbMClist(0)
477 ,jetConeALaEmbMClist(0)
479 ,jetPerpConeK0list(0)
480 ,jetPerpRecCutslist(0)
481 ,jetPerpConeK0Emblist(0)
482 ,jetPerpConeLalist(0)
483 ,jetPerpConeLaEmblist(0)
484 ,jetPerpConeALalist(0)
485 ,jetPerpConeALaEmblist(0)
486 ,jetMedianConeK0list(0)
487 ,jetMedianConeLalist(0)
488 ,jetMedianConeALalist(0)
489 ,jetMedianRecCutslist(0)
500 ,fFFHistosRecCutsK0Evt(0)
517 ,fListFeeddownLaCand(0)
518 ,fListFeeddownALaCand(0)
524 ,fListMCgenK0sCone(0)
526 ,fListMCgenALaCone(0)
527 ,IsArmenterosSelected(0)
530 ,fUseEmbeddedJetPt(0)
551 ,fFFIMLaNBinsJetPt(0)
580 ,fh1IndexEmbeddedMC(0)
581 ,fh1PtEmbBeforeMatch(0)
582 ,fh1PtEmbExtraOnly(0)
584 ,fh2PtEtaEmbReject(0)
585 ,fh1PtEmbAfterMatch(0)
586 ,fh1FractionPtEmbedded(0)
587 ,fh1DeltaREmbedded(0)
588 ,fh1FractionPtEmbeddedMC(0)
589 ,fh2FractionPtVsEmbeddedJetPtMC(0)
590 ,fh1DeltaREmbeddedMC(0)
591 ,fh1JetPtEmbGenAfterMatch(0)
592 ,fh2TracksPerpCone(0)
614 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
615 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
617 ,fh1DcaV0Daughters(0)
618 ,fh1DcaPosToPrimVertex(0)
619 ,fh1DcaNegToPrimVertex(0)
620 ,fh2ArmenterosBeforeCuts(0)
621 ,fh2ArmenterosAfterCuts(0)
624 ,fh1PosDaughterCharge(0)
625 ,fh1NegDaughterCharge(0)
641 ,fh1BckgJetsPtBias(0)
642 ,fhnInvMassEtaTrackPtK0s(0)
643 ,fhnInvMassEtaTrackPtLa(0)
644 ,fhnInvMassEtaTrackPtALa(0)
658 ,fh2MCEtagenK0Cone(0)
659 ,fh2MCEtagenLaCone(0)
667 ,fh1IMALaConeSmear(0)
696 ,fhnK0sEmbConeStandard(0)
701 ,fhnLaEmbConeStandard(0)
706 ,fhnALaEmbConeStandard(0)
731 ,fh1MCMultiplicityPrimary(0)
732 ,fh1MCMultiplicityTracks(0)
735 ,fhnFeedDownLaCone(0)
736 ,fhnFeedDownALaCone(0)
739 ,fh1MCProdRadiusK0s(0)
740 ,fh1MCProdRadiusLambda(0)
741 ,fh1MCProdRadiusAntiLambda(0)
745 ,fh1MCPtAntiLambda(0)
757 ,fh1MCEtaAntiLambda(0)
763 DefineOutput(1,TList::Class());
768 : AliAnalysisTaskFragmentationFunction()
770 ,fRandom(copy.fRandom)
771 ,fMatchMode(copy.fMatchMode)
772 ,fIsNJEventEmb(copy.fIsNJEventEmb)
773 ,fAnalysisMC(copy.fAnalysisMC)
774 ,fDeltaVertexZ(copy.fDeltaVertexZ)
775 ,fCutjetEta(copy.fCutjetEta)
776 ,fCuttrackNegNcls(copy.fCuttrackNegNcls)
777 ,fCuttrackPosNcls(copy.fCuttrackPosNcls)
778 ,fCutPostrackRap(copy.fCutPostrackRap)
779 ,fCutNegtrackRap(copy.fCutNegtrackRap)
780 ,fCutRap(copy.fCutRap)
781 ,fCutPostrackEta(copy.fCutPostrackEta)
782 ,fCutNegtrackEta(copy.fCutNegtrackEta)
783 ,fCutEta(copy.fCutEta)
784 ,fCutK0cosPointAngle(copy.fCutK0cosPointAngle)
785 ,fCutLacosPointAngle(copy.fCutLacosPointAngle)
786 ,fKinkDaughters(copy.fKinkDaughters)
787 ,fRequireTPCRefit(copy.fRequireTPCRefit)
788 ,fCutArmenteros(copy.fCutArmenteros)
789 ,fCutV0DecayMin(copy.fCutV0DecayMin)
790 ,fCutV0DecayMax(copy.fCutV0DecayMax)
791 ,fCutV0totMom(copy.fCutV0totMom)
792 ,fCutDcaV0Daughters(copy.fCutDcaV0Daughters)
793 ,fCutDcaPosToPrimVertex(copy.fCutDcaPosToPrimVertex)
794 ,fCutDcaNegToPrimVertex(copy.fCutDcaNegToPrimVertex)
795 ,fCutV0RadiusMin(copy.fCutV0RadiusMin)
796 ,fCutV0RadiusMax(copy.fCutV0RadiusMax)
797 ,fCutBetheBloch(copy.fCutBetheBloch)
798 ,fCutRatio(copy.fCutRatio)
799 ,fCutFractionPtEmbedded(copy.fCutFractionPtEmbedded)
800 ,fCutDeltaREmbedded(copy.fCutDeltaREmbedded)
802 ,fK0Type(copy.fK0Type)
803 ,fFilterMaskK0(copy.fFilterMaskK0)
804 ,jettracklist(copy.jettracklist)
805 ,jetConeK0list(copy.jetConeK0list)
806 ,jetConeLalist(copy.jetConeLalist)
807 ,jetConeALalist(copy.jetConeALalist)
808 ,jetConeK0Emblist(copy.jetConeK0Emblist)
809 ,jetConeLaEmblist(copy.jetConeLaEmblist)
810 ,jetConeALaEmblist(copy.jetConeALaEmblist)
811 ,jetConeK0EmbStlist(copy.jetConeK0EmbStlist)
812 ,jetConeLaEmbStlist(copy.jetConeLaEmbStlist)
813 ,jetConeALaEmbStlist(copy.jetConeALaEmbStlist)
815 ,jetConeK0EmbMClist(copy.jetConeK0EmbMClist)
816 ,jetConeLaEmbMClist(copy.jetConeLaEmbMClist)
817 ,jetConeALaEmbMClist(copy.jetConeALaEmbMClist)
819 ,jetPerpConeK0list(copy.jetPerpConeK0list)
820 ,jetPerpRecCutslist(copy.jetPerpRecCutslist)
821 ,jetPerpConeK0Emblist(copy.jetPerpConeK0Emblist)
822 ,jetPerpConeLalist(copy.jetPerpConeLalist)
823 ,jetPerpConeLaEmblist(copy.jetPerpConeLaEmblist)
824 ,jetPerpConeALalist(copy.jetPerpConeALalist)
825 ,jetPerpConeALaEmblist(copy.jetPerpConeALaEmblist)
826 ,jetMedianConeK0list(copy.jetMedianConeK0list)
827 ,jetMedianConeLalist(copy.jetMedianConeLalist)
828 ,jetMedianConeALalist(copy.jetMedianConeALalist)
829 ,jetMedianRecCutslist(copy.jetMedianRecCutslist)
830 ,fListK0sRC(copy.fListK0sRC)
831 ,fListLaRC(copy.fListLaRC)
832 ,fListALaRC(copy.fListALaRC)
833 ,fTracksRecCutsRC(copy.fTracksRecCutsRC)
834 ,fTracksPerpCone(copy.fTracksPerpCone)
835 ,fListK0s(copy.fListK0s)
836 ,fListK0sMC(copy.fListK0sMC)
837 ,fListK0sStandard(copy.fListK0sStandard)
838 ,fPIDResponse(copy.fPIDResponse)
839 ,fV0QAK0(copy.fV0QAK0)
840 ,fFFHistosRecCutsK0Evt(copy.fFFHistosRecCutsK0Evt)
844 ,fLaType(copy.fLaType)
845 ,fFilterMaskLa(copy.fFilterMaskLa)
846 ,fListLa(copy.fListLa)
847 ,fListLaMC(copy.fListLaMC)
848 ,fListLaStandard(copy.fListLaStandard)
852 ,fALaType(copy.fALaType)
853 ,fFilterMaskALa(copy.fFilterMaskALa)
854 ,fListALa(copy.fListALa)
855 ,fListALaMC(copy.fListALaMC)
856 ,fListALaStandard(copy.fListALaStandard)
857 ,fListFeeddownLaCand(copy.fListFeeddownLaCand)
858 ,fListFeeddownALaCand(copy.fListFeeddownALaCand)
859 ,jetConeFDLalist(copy.jetConeFDLalist)
860 ,jetConeFDALalist(copy.jetConeFDALalist)
861 ,fListMCgenK0s(copy.fListMCgenK0s)
862 ,fListMCgenLa(copy.fListMCgenLa)
863 ,fListMCgenALa(copy.fListMCgenALa)
864 ,fListMCgenK0sCone(copy.fListMCgenK0sCone)
865 ,fListMCgenLaCone(copy.fListMCgenLaCone)
866 ,fListMCgenALaCone(copy.fListMCgenALaCone)
867 ,IsArmenterosSelected(copy.IsArmenterosSelected)
868 ,fUseExtraTracks(copy.fUseExtraTracks)
869 ,fUseExtraJetPt(copy.fUseExtraJetPt)
870 ,fUseEmbeddedJetPt(copy.fUseEmbeddedJetPt)
872 ,fUseStandard(copy.fUseStandard)
876 ,fFFIMNBinsJetPt(copy.fFFIMNBinsJetPt)
877 ,fFFIMJetPtMin(copy.fFFIMJetPtMin)
878 ,fFFIMJetPtMax(copy.fFFIMJetPtMax)
879 ,fFFIMNBinsInvM(copy.fFFIMNBinsInvM)
880 ,fFFIMInvMMin(copy.fFFIMInvMMin)
881 ,fFFIMInvMMax(copy.fFFIMInvMMax)
882 ,fFFIMNBinsPt(copy.fFFIMNBinsPt)
883 ,fFFIMPtMin(copy.fFFIMPtMin)
884 ,fFFIMPtMax(copy.fFFIMPtMax)
885 ,fFFIMNBinsXi(copy.fFFIMNBinsXi)
886 ,fFFIMXiMin(copy.fFFIMXiMin)
887 ,fFFIMXiMax(copy.fFFIMXiMax)
888 ,fFFIMNBinsZ(copy.fFFIMNBinsZ)
889 ,fFFIMZMin(copy.fFFIMZMin)
890 ,fFFIMZMax(copy.fFFIMZMax)
891 ,fFFIMLaNBinsJetPt(copy.fFFIMLaNBinsJetPt)
892 ,fFFIMLaJetPtMin(copy.fFFIMLaJetPtMin)
893 ,fFFIMLaJetPtMax(copy.fFFIMLaJetPtMax)
894 ,fFFIMLaNBinsInvM(copy.fFFIMLaNBinsInvM)
895 ,fFFIMLaInvMMin(copy.fFFIMLaInvMMin)
896 ,fFFIMLaInvMMax(copy.fFFIMLaInvMMax)
897 ,fFFIMLaNBinsPt(copy.fFFIMLaNBinsPt)
898 ,fFFIMLaPtMin(copy.fFFIMLaPtMin)
899 ,fFFIMLaPtMax(copy.fFFIMLaPtMax)
900 ,fFFIMLaNBinsXi(copy.fFFIMLaNBinsXi)
901 ,fFFIMLaXiMin(copy.fFFIMLaXiMin)
902 ,fFFIMLaXiMax(copy.fFFIMLaXiMax)
903 ,fFFIMLaNBinsZ(copy.fFFIMLaNBinsZ)
904 ,fFFIMLaZMin(copy.fFFIMLaZMin)
905 ,fFFIMLaZMax(copy.fFFIMLaZMax)
906 ,fh1EvtAllCent(copy.fh1EvtAllCent)
908 ,fh1K0Mult(copy.fh1K0Mult)
909 ,fh1dPhiJetK0(copy.fh1dPhiJetK0)
910 ,fh1LaMult(copy.fh1LaMult)
911 ,fh1dPhiJetLa(copy.fh1dPhiJetLa)
912 ,fh1ALaMult(copy.fh1ALaMult)
913 ,fh1dPhiJetALa(copy.fh1dPhiJetALa)
914 ,fh1JetEta(copy.fh1JetEta)
915 ,fh1JetPhi(copy.fh1JetPhi)
916 ,fh2JetEtaPhi(copy.fh2JetEtaPhi)
917 ,fh1nEmbeddedJets(copy.fh1nEmbeddedJets)
918 ,fh1nGenJets(copy.fh1nGenJets)
919 ,fh1IndexEmbedded(copy.fh1IndexEmbedded)
920 ,fh1IndexEmbeddedMC(copy.fh1IndexEmbeddedMC)
921 ,fh1PtEmbBeforeMatch(copy.fh1PtEmbBeforeMatch)
922 ,fh1PtEmbExtraOnly(copy.fh1PtEmbExtraOnly)
923 ,fh1PtEmbReject(copy.fh1PtEmbReject)
924 ,fh2PtEtaEmbReject(copy.fh2PtEtaEmbReject)
925 ,fh1PtEmbAfterMatch(copy.fh1PtEmbAfterMatch)
926 ,fh1FractionPtEmbedded(copy.fh1FractionPtEmbedded)
927 ,fh1DeltaREmbedded(copy.fh1DeltaREmbedded)
928 ,fh1FractionPtEmbeddedMC(copy.fh1FractionPtEmbeddedMC)
929 ,fh2FractionPtVsEmbeddedJetPtMC(copy.fh2FractionPtVsEmbeddedJetPtMC)
930 ,fh1DeltaREmbeddedMC(copy.fh1DeltaREmbeddedMC)
931 ,fh1JetPtEmbGenAfterMatch(copy.fh1JetPtEmbGenAfterMatch)
932 ,fh2TracksPerpCone(copy.fh2TracksPerpCone)
933 ,fh1PerpCone(copy.fh1PerpCone)
935 ,fh1V0PtCandidate(copy.fh1V0PtCandidate)
936 ,fh1IMK0Cone(copy.fh1IMK0Cone)
937 ,fh1IMLaCone(copy.fh1IMLaCone)
938 ,fh1IMALaCone(copy.fh1IMALaCone)
939 ,fh1IMK0EmbCone(copy.fh1IMK0EmbCone)
940 ,fh1IMLaEmbCone(copy.fh1IMLaEmbCone)
941 ,fh1IMALaEmbCone(copy.fh1IMALaEmbCone)
942 ,fh2FFJetTrackEta(copy.fh2FFJetTrackEta)
945 ,fh1trackPosRap(copy.fh1trackPosRap)
946 ,fh1trackNegRap(copy.fh1trackNegRap)
948 ,fh1trackPosEta(copy.fh1trackPosEta)
949 ,fh1trackNegEta(copy.fh1trackNegEta)
950 ,fh1V0Eta(copy.fh1V0Eta)
952 ,fh1CosPointAngle(copy.fh1CosPointAngle)
953 ,fh1DecayLengthV0(copy.fh1DecayLengthV0)
954 ,fh2ProperLifetimeK0sVsPtBeforeCut(copy.fh2ProperLifetimeK0sVsPtBeforeCut)
955 ,fh2ProperLifetimeK0sVsPtAfterCut(copy.fh2ProperLifetimeK0sVsPtAfterCut)
956 ,fh1V0Radius(copy.fh1V0Radius)
957 ,fh1DcaV0Daughters(copy.fh1DcaV0Daughters)
958 ,fh1DcaPosToPrimVertex(copy.fh1DcaPosToPrimVertex)
959 ,fh1DcaNegToPrimVertex(copy.fh1DcaNegToPrimVertex)
960 ,fh2ArmenterosBeforeCuts(copy.fh2ArmenterosBeforeCuts)
961 ,fh2ArmenterosAfterCuts(copy.fh2ArmenterosAfterCuts)
962 ,fh2BBLaPos(copy.fh2BBLaPos)
963 ,fh2BBLaNeg(copy.fh2BBLaPos)
964 ,fh1PosDaughterCharge(copy.fh1PosDaughterCharge)
965 ,fh1NegDaughterCharge(copy.fh1NegDaughterCharge)
966 ,fh1PtMCK0s(copy.fh1PtMCK0s)
967 ,fh1PtMCLa(copy.fh1PtMCLa)
968 ,fh1PtMCALa(copy.fh1PtMCALa)
969 ,fh1EtaK0s(copy.fh1EtaK0s)
970 ,fh1EtaLa(copy.fh1EtaLa)
971 ,fh1EtaALa(copy.fh1EtaALa)
973 ,fh1RCBiasK0(copy.fh1RCBiasK0)
974 ,fh1RCBiasLa(copy.fh1RCBiasLa)
975 ,fh1RCBiasALa(copy.fh1RCBiasALa)
979 ,fh1NJEmbEvt(copy.fh1NJEmbEvt)
980 ,fh1BckgJets(copy.fh1BckgJets)
981 ,fh1BckgJetsPtBias(copy.fh1BckgJetsPtBias)
982 ,fhnInvMassEtaTrackPtK0s(copy.fhnInvMassEtaTrackPtK0s)
983 ,fhnInvMassEtaTrackPtLa(copy.fhnInvMassEtaTrackPtLa)
984 ,fhnInvMassEtaTrackPtALa(copy.fhnInvMassEtaTrackPtALa)
985 ,fh1TrackMultCone(copy.fh1TrackMultCone)
986 ,fh2TrackMultCone(copy.fh2TrackMultCone)
987 ,fhnNJK0(copy.fhnNJK0)
988 ,fhnNJLa(copy.fhnNJLa)
989 ,fhnNJALa(copy.fhnNJALa)
995 ,fh2MCgenK0Cone(copy.fh2MCgenK0Cone)
996 ,fh2MCgenLaCone(copy.fh2MCgenLaCone)
998 ,fh2MCEtagenK0Cone(copy.fh2MCEtagenK0Cone)
999 ,fh2MCEtagenLaCone(copy.fh2MCEtagenLaCone)
1005 ,fh1IMK0ConeSmear(copy.fh1IMK0ConeSmear)
1006 ,fh1IMLaConeSmear(copy.fh1IMLaConeSmear)
1007 ,fh1IMALaConeSmear(copy.fh1IMALaConeSmear)
1008 ,fh2MC2K0Cone(copy.fh2MC2K0Cone)
1009 ,fh2MC2LaCone(copy.fh2MC2LaCone)
1010 ,fh2MC2ALaCone(copy.fh2MC2ALaCone)
1024 ,fhnMCrecK0Cone(copy.fhnMCrecK0Cone)
1025 ,fhnMCrecLaCone(copy.fhnMCrecLaCone)
1026 ,fhnMCrecALaCone(copy.fhnMCrecALaCone)
1033 ,fhnK0sIncl(copy.fhnK0sIncl)
1034 ,fhnK0sCone(copy.fhnK0sCone)
1035 ,fhnK0sEmbCone(copy.fhnK0sEmbCone)
1036 ,fhnK0sEmbConeRef(copy.fhnK0sEmbConeRef)
1037 ,fhnK0sEmbConeStandard(copy.fhnK0sEmbConeStandard)
1038 ,fhnLaIncl(copy.fhnLaIncl)
1039 ,fhnLaCone(copy.fhnLaCone)
1040 ,fhnLaEmbCone(copy.fhnLaEmbCone)
1041 ,fhnLaEmbConeRef(copy.fhnLaEmbConeRef)
1042 ,fhnLaEmbConeStandard(copy.fhnLaEmbConeStandard)
1043 ,fhnALaIncl(copy.fhnALaIncl)
1044 ,fhnALaCone(copy.fhnALaCone)
1045 ,fhnALaEmbCone(copy.fhnALaEmbCone)
1046 ,fhnALaEmbConeRef(copy.fhnALaEmbConeRef)
1047 ,fhnALaEmbConeStandard(copy.fhnALaEmbConeStandard)
1049 ,fh2MCEmbK0sJetPt(copy.fh2MCEmbK0sJetPt)
1050 ,fh2MCEmbLaJetPt(copy.fh2MCEmbLaJetPt)
1051 ,fh2MCEmbALaJetPt(copy.fh2MCEmbALaJetPt)
1053 ,fhnK0sPC(copy.fhnK0sPC)
1054 ,fhnK0sEmbPC(copy.fhnK0sEmbPC)
1055 ,fhnLaPC(copy.fhnLaPC)
1056 ,fhnLaEmbPC(copy.fhnLaEmbPC)
1057 ,fhnALaPC(copy.fhnALaPC)
1058 ,fhnALaEmbPC(copy.fhnALaEmbPC)
1059 ,fhnK0sMCC(copy.fhnK0sMCC)
1060 ,fhnLaMCC(copy.fhnLaMCC)
1061 ,fhnALaMCC(copy.fhnALaMCC)
1062 ,fhnK0sRC(copy.fhnK0sRC)
1063 ,fhnLaRC(copy.fhnLaRC)
1064 ,fhnALaRC(copy.fhnALaRC)
1065 ,fhnK0sRCBias(copy.fhnK0sRCBias)
1066 ,fhnLaRCBias(copy.fhnLaRCBias)
1067 ,fhnALaRCBias(copy.fhnALaRCBias)
1068 ,fhnK0sOC(copy.fhnK0sOC)
1069 ,fhnLaOC(copy.fhnLaOC)
1070 ,fhnALaOC(copy.fhnALaOC)
1071 ,fh1AreaExcluded(copy.fh1AreaExcluded)
1072 ,fh1MedianEta(copy.fh1MedianEta)
1073 ,fh1JetPtMedian(copy.fh1JetPtMedian)
1074 ,fh1MCMultiplicityPrimary(copy.fh1MCMultiplicityPrimary)
1075 ,fh1MCMultiplicityTracks(copy.fh1MCMultiplicityTracks)
1076 ,fhnFeedDownLa(copy.fhnFeedDownLa)
1077 ,fhnFeedDownALa(copy.fhnFeedDownALa)
1078 ,fhnFeedDownLaCone(copy.fhnFeedDownLaCone)
1079 ,fhnFeedDownALaCone(copy.fhnFeedDownALaCone)
1080 ,fh2FeedDownXiLa(copy.fh2FeedDownXiLa)
1081 ,fh2FeedDownXiALa(copy.fh2FeedDownXiALa)
1082 ,fh1MCProdRadiusK0s(copy.fh1MCProdRadiusK0s)
1083 ,fh1MCProdRadiusLambda(copy.fh1MCProdRadiusLambda)
1084 ,fh1MCProdRadiusAntiLambda(copy.fh1MCProdRadiusAntiLambda)
1085 ,fh1MCPtV0s(copy.fh1MCPtV0s)
1086 ,fh1MCPtK0s(copy.fh1MCPtK0s)
1087 ,fh1MCPtLambda(copy.fh1MCPtLambda)
1088 ,fh1MCPtAntiLambda(copy.fh1MCPtAntiLambda)
1089 ,fh1MCXiPt(copy.fh1MCXiPt)
1090 ,fh1MCXibarPt(copy.fh1MCXibarPt)
1091 ,fh2MCEtaVsPtK0s(copy.fh2MCEtaVsPtK0s)
1092 ,fh2MCEtaVsPtLa(copy.fh2MCEtaVsPtLa)
1093 ,fh2MCEtaVsPtALa(copy.fh2MCEtaVsPtALa)
1097 ,fh1MCEtaAllK0s(copy.fh1MCEtaAllK0s)
1098 ,fh1MCEtaK0s(copy.fh1MCEtaK0s)
1099 ,fh1MCEtaLambda(copy.fh1MCEtaLambda)
1100 ,fh1MCEtaAntiLambda(copy.fh1MCEtaAntiLambda)
1113 AliAnalysisTaskFragmentationFunction::operator=(o);
1499 Int_t nJetPt, Float_t jetPtMin, Float_t jetPtMax,
1500 Int_t nInvMass, Float_t invMassMin, Float_t invMassMax,
1502 Int_t nXi, Float_t xiMin, Float_t xiMax,
1503 Int_t nZ , Float_t zMin , Float_t zMax )
1505 ,fNBinsJetPt(nJetPt)
1506 ,fJetPtMin(jetPtMin)
1507 ,fJetPtMax(jetPtMax)
1508 ,fNBinsInvMass(nInvMass)
1509 ,fInvMassMin(invMassMin)
1510 ,fInvMassMax(invMassMax)
1533 ,fNBinsJetPt(copy.fNBinsJetPt)
1534 ,fJetPtMin(copy.fJetPtMin)
1535 ,fJetPtMax(copy.fJetPtMax)
1536 ,fNBinsInvMass(copy.fNBinsInvMass)
1537 ,fInvMassMin(copy.fInvMassMin)
1538 ,fInvMassMax(copy.fInvMassMax)
1539 ,fNBinsPt(copy.fNBinsPt)
1540 ,fPtMin(copy.fPtMin)
1541 ,fPtMax(copy.fPtMax)
1542 ,fNBinsXi(copy.fNBinsXi)
1543 ,fXiMin(copy.fXiMin)
1544 ,fXiMax(copy.fXiMax)
1545 ,fNBinsZ(copy.fNBinsZ)
1548 ,fh3TrackPt(copy.fh3TrackPt)
1551 ,fh1JetPt(copy.fh1JetPt)
1552 ,fNameFF(copy.fNameFF)
1563 TObject::operator=(o);
1594 if(fh1JetPt)
delete fh1JetPt;
1595 if(fh3TrackPt)
delete fh3TrackPt;
1596 if(fh3Xi)
delete fh3Xi;
1597 if(fh3Z)
delete fh3Z;
1605 fh1JetPt =
new TH1F(Form(
"fh1FFJetPtIM%s", fNameFF.Data()),
"",fNBinsJetPt,fJetPtMin,fJetPtMax);
1606 fh3TrackPt =
new TH3F(Form(
"fh3FFTrackPtIM%s",fNameFF.Data()),
"",fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsPt, fPtMin, fPtMax);
1607 fh3Xi =
new TH3F(Form(
"fh3FFXiIM%s", fNameFF.Data()),
"", fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsXi, fXiMin, fXiMax);
1608 fh3Z =
new TH3F(Form(
"fh3FFZIM%s", fNameFF.Data()),
"", fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsZ, fZMin, fZMax);
1610 AliAnalysisTaskFragmentationFunction::SetProperties(fh1JetPt,
"p_{t} (GeV/c)",
"entries");
1621 if(incrementJetPt) fh1JetPt->Fill(jetPt);
1625 if(jetPt>0) z = trackPt / jetPt;
1638 list->Add(fh1JetPt);
1653 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserCreateOutputObjects()");
1714 fTracksRecCuts =
new TList();
1715 fTracksRecCuts->SetOwner(kFALSE);
1716 fTracksGen =
new TList();
1717 fTracksGen->SetOwner(kFALSE);
1720 fJetsRecCuts =
new TList();
1721 fJetsRecCuts->SetOwner(kFALSE);
1722 fJetsGen =
new TList();
1723 fJetsGen->SetOwner(kFALSE);
1724 fJetsEmbedded =
new TList();
1725 fJetsEmbedded->SetOwner(kFALSE);
1726 fBckgJetsRec =
new TList();
1727 fBckgJetsRec->SetOwner(kFALSE);
1769 fCommonHistList =
new TList();
1770 fCommonHistList->SetOwner();
1772 Bool_t oldStatus = TH1::AddDirectoryStatus();
1773 TH1::AddDirectory(kFALSE);
1777 fh1EvtSelection =
new TH1F(
"fh1EvtSelection",
"Event Selection", 6, -0.5, 5.5);
1778 fh1EvtSelection->GetXaxis()->SetBinLabel(1,
"ACCEPTED");
1779 fh1EvtSelection->GetXaxis()->SetBinLabel(2,
"event trigger selection: rejected");
1780 fh1EvtSelection->GetXaxis()->SetBinLabel(3,
"event class: rejected");
1781 fh1EvtSelection->GetXaxis()->SetBinLabel(4,
"vertex Ncontr: rejected");
1782 fh1EvtSelection->GetXaxis()->SetBinLabel(5,
"vertex z: rejected");
1783 fh1EvtSelection->GetXaxis()->SetBinLabel(6,
"vertex type: rejected");
1786 fh1EvtCent =
new TH1F(
"fh1EvtCent",
"centrality",100,0.,100.);
1787 fh1VertexNContributors =
new TH1F(
"fh1VertexNContributors",
"Vertex N contributors", 11,-.5, 10.5);
1788 fh1VertexZ =
new TH1F(
"fh1VertexZ",
"Vertex z distribution", 30, -15., 15.);
1789 fh1Xsec =
new TProfile(
"fh1Xsec",
"xsec from pyxsec.root",1,0,1);
1790 fh1Xsec->GetXaxis()->SetBinLabel(1,
"<#sigma>");
1791 fh1Trials =
new TH1F(
"fh1Trials",
"trials from pyxsec.root",1,0,1);
1792 fh1Trials->GetXaxis()->SetBinLabel(1,
"#sum{ntrials}");
1793 fh1PtHard =
new TH1F(
"fh1PtHard",
"PYTHIA Pt hard;p_{T,hard}",350,-.5,349.5);
1794 fh1PtHardTrials =
new TH1F(
"fh1PtHardTrials",
"PYTHIA Pt hard weight with trials;p_{T,hard}",350,-.5,349.5);
1795 fh1nRecJetsCuts =
new TH1F(
"fh1nRecJetsCuts",
"reconstructed jets per event",100,-0.5,99.5);
1799 fh1EvtAllCent =
new TH1F(
"fh1EvtAllCent",
"before centrality selection",100,0.,100.);
1800 fh1Evt =
new TH1F(
"fh1Evt",
"All events runned over", 3, 0.,1.);
1801 fh1EvtMult =
new TH1F(
"fh1EvtMult",
"multiplicity",240,0.,240.);
1802 fh1K0Mult =
new TH1F(
"fh1K0Mult",
"K0 multiplicity",100,0.,100.);
1804 fh1LaMult =
new TH1F(
"fh1LaMult",
"La multiplicity",100,0.,100.);
1806 fh1ALaMult =
new TH1F(
"fh1ALaMult",
"ALa multiplicity",100,0.,100.);
1808 fh1JetEta =
new TH1F(
"fh1JetEta",
"#eta distribution of all jets",40,-2.,2.);
1809 fh1JetPhi =
new TH1F(
"fh1JetPhi",
"#phi distribution of all jets",63,0.,6.3);
1810 fh2JetEtaPhi =
new TH2F(
"fh2JetEtaPhi",
"#eta and #phi distribution of all jets",400,-2.,2.,63,0.,6.3);
1812 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets.Length(): "<<fBranchEmbeddedJets.Length()<<std::endl;
1813 if(fDebug>2)std::cout<<
"fBranchGenJets.Length(): "<<fBranchGenJets.Length()<<std::endl;
1817 fh1nEmbeddedJets =
new TH1F(
"fh1nEmbeddedJets",
"Number of embedded jets",10,-0.5,9.5);
1818 fh1nGenJets =
new TH1F(
"fh1nGenJets",
"generated jets per event",10,-0.5,9.5);
1819 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.);
1822 fh1PtEmbBeforeMatch =
new TH1F(
"fh1PtEmbBeforeMatch",
"Pt spectrum of jets before JetMatching",19,5.,100.);
1823 fh1PtEmbExtraOnly =
new TH1F(
"fh1PtEmbExtraOnly",
"Pt spectrum of jets from ExtraOnly tracks (embedded truth)",19,5.,100.);
1825 fh1PtEmbReject =
new TH1F(
"fh1PtEmbReject",
"Pt spectrum of jets rejected by JetMatching cuts",19,5.,100.);
1826 fh2PtEtaEmbReject =
new TH2F(
"fh2PtEtaEmbReject",
"Pt #eta distribution of jets rejected by JetMatching cuts #eta; #it{p}_{T}",19,5.,100.,200,-1.,1.);
1827 fh1PtEmbAfterMatch =
new TH1F(
"fh1PtEmbAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1836 fh1JetPtEmbGenAfterMatch =
new TH1F(
"fh1JetPtEmbGenAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1841 fh1PerpCone =
new TH1F(
"fh1PerpCone",
"Number of perp. cones for charged tracks in event",2.,0.5,1.5);
1842 fh1V0PtCandidate =
new TH1F(
"fh1V0PtCandidate",
"p_{T} distribution of all v0s candidates of PYTHIA",200,0.,200.);
1843 fh1IMK0Cone =
new TH1F(
"fh1IMK0Cone",
"p_{T} distribution of all jets containing K0s candidates",19,5.,100.);
1844 fh1IMLaCone =
new TH1F(
"fh1IMLaCone",
"p_{T} distribution of all jets containing #Lambda candidates",19,5.,100.);
1845 fh1IMALaCone =
new TH1F(
"fh1IMALaCone",
"p_{T} distribution of all jets containing #bar{#Lambda} candidates",19,5.,100.);
1846 fh1IMK0EmbCone =
new TH1F(
"fh1IMK0EmbCone",
"p_{T} distribution of all embedded and selected jets containing K0s candidates",19,5.,100.);
1847 fh1IMLaEmbCone =
new TH1F(
"fh1IMLaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #Lambda candidates",19,5.,100.);
1848 fh1IMALaEmbCone =
new TH1F(
"fh1IMALaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #bar{#Lambda} candidates",19,5.,100.);
1849 fh2FFJetTrackEta =
new TH2F(
"fh2FFJetTrackEta",
"charged track eta distr. in jet cone",200,-1.,1.,40,0.,200.);
1852 fh1trackPosEta =
new TH1F(
"fh1trackPosEta",
"eta positive daughters",100,-2.,2.);
1853 fh1trackNegEta =
new TH1F(
"fh1trackNegEta",
"eta negative daughters",100,-2.,2.);
1854 fh1V0Eta =
new TH1F(
"fh1V0Eta",
"V0 eta",60,-1.5,1.5);
1856 fh1CosPointAngle =
new TH1F(
"fh1CosPointAngle",
"Cosine of V0's pointing angle",50,0.99,1.0);
1857 fh1DecayLengthV0 =
new TH1F(
"fh1DecayLengthV0",
"V0s decay Length;decay length(cm)",1200,0.,120.);
1860 fh1V0Radius =
new TH1F(
"fh1V0Radius",
"V0s Radius;Radius(cm)",200,0.,40.);
1861 fh1DcaV0Daughters =
new TH1F(
"fh1DcaV0Daughters",
"DCA between daughters;dca(cm)",200,0.,2.);
1862 fh1DcaPosToPrimVertex =
new TH1F(
"fh1DcaPosToPrimVertex",
"Positive V0 daughter;dca(cm)",100,0.,10.);
1863 fh1DcaNegToPrimVertex =
new TH1F(
"fh1DcaNegToPrimVertex",
"Negative V0 daughter;dca(cm)",100,0.,10.);
1864 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);
1865 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);
1866 fh2BBLaPos =
new TH2F(
"fh2BBLaPos",
"PID of the positive daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1867 fh2BBLaNeg =
new TH2F(
"fh2BBLaNeg",
"PID of the negative daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1868 fh1PosDaughterCharge =
new TH1F(
"fh1PosDaughterCharge",
"charge of V0 positive daughters; V0 daughters",3,-2.,2.);
1869 fh1NegDaughterCharge =
new TH1F(
"fh1NegDaughterCharge",
"charge of V0 negative daughters; V0 daughters",3,-2.,2.);
1870 fh1PtMCK0s =
new TH1F(
"fh1PtMCK0s",
"Pt of MC rec K0s; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1871 fh1PtMCLa =
new TH1F(
"fh1PtMCLa",
"Pt of MC rec La; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1872 fh1PtMCALa =
new TH1F(
"fh1PtMCALa",
"Pt of MC rec ALa; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1873 fh1EtaK0s =
new TH1F(
"fh1EtaK0s",
"K^{0}_{s} entries ;#eta",200,-1.,1.);
1874 fh1EtaLa =
new TH1F(
"fh1EtaLa",
"#Lambda entries ;#eta",200,-1.,1.);
1875 fh1EtaALa =
new TH1F(
"fh1EtaALa",
"#bar{#Lambda} entries ;#eta",200,-1.,1.);
1879 fh1RC =
new TH1F(
"fh1RC",
" # random cones used",1,0.5,1.5);
1880 fh1RCBiasK0 =
new TH1F(
"fh1RCBiasK0",
" # random cones with K0s trigger particle",1,0.5,1.5);
1881 fh1RCBiasLa =
new TH1F(
"fh1RCBiasLa",
" # random cones with La trigger particle",1,0.5,1.5);
1882 fh1RCBiasALa =
new TH1F(
"fh1RCBiasALa",
" # random cones with ALa trigger particle",1,0.5,1.5);
1883 fh1MCC =
new TH1F(
"fh1MCC",
"# median cluster cones used",1,0.5,1.5);
1884 fh1OC =
new TH1F(
"fh1OC",
"# outside cones used, number of jet events",1,0.5,1.5);
1885 fh1NJ =
new TH1F(
"fh1NJ",
"# non-jet events used",1,0.5,1.5);
1886 fh1NJEmbEvt =
new TH1F(
"fh1NJEmbEvt",
"# Embedding non-jet events used",1,0.5,1.5);
1887 fh1BckgJets =
new TH1F(
"fh1BckgJets",
"Jet pT distribution of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1888 fh1BckgJetsPtBias =
new TH1F(
"fh1BckgJetsPtBias",
"Jet pT distribution after JetPtBias of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1891 Int_t binsInvMassEtaTrackPtK0s[3] = {200, 200, 120};
1892 Double_t xminInvMassEtaTrackPtK0s[3] = {-1.,0.3,0.};
1893 Double_t xmaxInvMassEtaTrackPtK0s[3] = {1.,0.7,12.};
1895 fhnInvMassEtaTrackPtK0s =
new THnSparseF(
"fhnInvMassEtaTrackPtK0s",
"#eta; K0s invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtK0s,xminInvMassEtaTrackPtK0s,xmaxInvMassEtaTrackPtK0s);
1897 Int_t binsInvMassEtaTrackPtLa[3] = {200, 200, 120};
1898 Double_t xminInvMassEtaTrackPtLa[3] = {-1.,1.05,0.};
1899 Double_t xmaxInvMassEtaTrackPtLa[3] = {1.,1.25,12.};
1901 fhnInvMassEtaTrackPtLa =
new THnSparseF(
"fhnInvMassEtaTrackPtLa",
"#eta; #Lambda invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtLa,xminInvMassEtaTrackPtLa,xmaxInvMassEtaTrackPtLa);
1903 Int_t binsInvMassEtaTrackPtALa[3] = {200, 200, 120};
1904 Double_t xminInvMassEtaTrackPtALa[3] = {-1.,1.05,0.};
1905 Double_t xmaxInvMassEtaTrackPtALa[3] = {1.,1.25,12.};
1907 fhnInvMassEtaTrackPtALa =
new THnSparseF(
"fhnInvMassEtaTrackPtALa",
"#eta; #bar{#Lambda} invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtALa,xminInvMassEtaTrackPtALa,xmaxInvMassEtaTrackPtALa);
1909 Int_t binsK0sPC[4] = {19, 200, 120, 200};
1910 Double_t xminK0sPC[4] = {5.,0.3, 0., -1.};
1911 Double_t xmaxK0sPC[4] = {100.,0.7, 12., 1.};
1912 fhnK0sPC =
new THnSparseF(
"fhnK0sPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sPC,xminK0sPC,xmaxK0sPC);
1914 Int_t binsLaPC[4] = {19, 200, 120, 200};
1915 Double_t xminLaPC[4] = {5.,1.05, 0., -1.};
1916 Double_t xmaxLaPC[4] = {100.,1.25, 12., 1.};
1917 fhnLaPC =
new THnSparseF(
"fhnLaPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaPC,xminLaPC,xmaxLaPC);
1919 Int_t binsALaPC[4] = {19, 200, 120, 200};
1920 Double_t xminALaPC[4] = {5.,1.05, 0., -1.};
1921 Double_t xmaxALaPC[4] = {100.,1.25, 12., 1.};
1922 fhnALaPC =
new THnSparseF(
"fhnALaPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaPC,xminALaPC,xmaxALaPC);
1924 Int_t binsK0sEmbPC[4] = {19, 200, 120, 200};
1925 Double_t xminK0sEmbPC[4] = {5.,0.3, 0., -1.};
1926 Double_t xmaxK0sEmbPC[4] = {100.,0.7, 12., 1.};
1927 fhnK0sEmbPC =
new THnSparseF(
"fhnK0sEmbPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sEmbPC,xminK0sEmbPC,xmaxK0sEmbPC);
1929 Int_t binsLaEmbPC[4] = {19, 200, 120, 200};
1930 Double_t xminLaEmbPC[4] = {5.,1.05, 0., -1.};
1931 Double_t xmaxLaEmbPC[4] = {100.,1.25, 12., 1.};
1932 fhnLaEmbPC =
new THnSparseF(
"fhnLaEmbPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaEmbPC,xminLaEmbPC,xmaxLaEmbPC);
1934 Int_t binsALaEmbPC[4] = {19, 200, 120, 200};
1935 Double_t xminALaEmbPC[4] = {5.,1.05, 0., -1.};
1936 Double_t xmaxALaEmbPC[4] = {100.,1.25, 12., 1.};
1937 fhnALaEmbPC =
new THnSparseF(
"fhnALaEmbPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaEmbPC,xminALaEmbPC,xmaxALaEmbPC);
1939 Int_t binsK0sMCC[3] = {200, 120, 200};
1940 Double_t xminK0sMCC[3] = {0.3, 0., -1.};
1941 Double_t xmaxK0sMCC[3] = {0.7, 12., 1.};
1942 fhnK0sMCC =
new THnSparseF(
"fhnK0sMCC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sMCC,xminK0sMCC,xmaxK0sMCC);
1944 Int_t binsLaMCC[3] = {200, 120, 200};
1945 Double_t xminLaMCC[3] = {1.05, 0., -1.};
1946 Double_t xmaxLaMCC[3] = {1.25, 12., 1.};
1947 fhnLaMCC =
new THnSparseF(
"fhnLaMCC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaMCC,xminLaMCC,xmaxLaMCC);
1949 Int_t binsALaMCC[3] = {200, 120, 200};
1950 Double_t xminALaMCC[3] = {1.05, 0., -1.};
1951 Double_t xmaxALaMCC[3] = {1.25, 12., 1.};
1952 fhnALaMCC =
new THnSparseF(
"fhnALaMCC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaMCC,xminALaMCC,xmaxALaMCC);
1954 Int_t binsK0sRC[3] = {200, 120, 200};
1955 Double_t xminK0sRC[3] = {0.3, 0., -1.};
1956 Double_t xmaxK0sRC[3] = {0.7, 12., 1.};
1957 fhnK0sRC =
new THnSparseF(
"fhnK0sRC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRC,xminK0sRC,xmaxK0sRC);
1959 Int_t binsLaRC[3] = {200, 120, 200};
1960 Double_t xminLaRC[3] = {1.05, 0., -1.};
1961 Double_t xmaxLaRC[3] = {1.25, 12., 1.};
1962 fhnLaRC =
new THnSparseF(
"fhnLaRC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRC,xminLaRC,xmaxLaRC);
1964 Int_t binsALaRC[3] = {200, 120, 200};
1965 Double_t xminALaRC[3] = {1.05, 0., -1.};
1966 Double_t xmaxALaRC[3] = {1.25, 12., 1.};
1967 fhnALaRC =
new THnSparseF(
"fhnALaRC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRC,xminALaRC,xmaxALaRC);
1969 Int_t binsK0sRCBias[3] = {200, 120, 200};
1970 Double_t xminK0sRCBias[3] = {0.3, 0., -1.};
1971 Double_t xmaxK0sRCBias[3] = {0.7, 12., 1.};
1972 fhnK0sRCBias =
new THnSparseF(
"fhnK0sRCBias",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRCBias,xminK0sRCBias,xmaxK0sRCBias);
1974 Int_t binsLaRCBias[3] = {200, 120, 200};
1975 Double_t xminLaRCBias[3] = {1.05, 0., -1.};
1976 Double_t xmaxLaRCBias[3] = {1.25, 12., 1.};
1977 fhnLaRCBias =
new THnSparseF(
"fhnLaRCBias",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRCBias,xminLaRCBias,xmaxLaRCBias);
1979 Int_t binsALaRCBias[3] = {200, 120, 200};
1980 Double_t xminALaRCBias[3] = {1.05, 0., -1.};
1981 Double_t xmaxALaRCBias[3] = {1.25, 12., 1.};
1982 fhnALaRCBias =
new THnSparseF(
"fhnALaRCBias",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRCBias,xminALaRCBias,xmaxALaRCBias);
1984 Int_t binsK0sOC[3] = {200, 120, 200};
1985 Double_t xminK0sOC[3] = {0.3, 0., -1.};
1986 Double_t xmaxK0sOC[3] = {0.7, 12., 1.};
1987 fhnK0sOC =
new THnSparseF(
"fhnK0sOC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sOC,xminK0sOC,xmaxK0sOC);
1989 Int_t binsLaOC[3] = {200, 120, 200};
1990 Double_t xminLaOC[3] = {1.05, 0., -1.};
1991 Double_t xmaxLaOC[3] = {1.25, 12., 1.};
1992 fhnLaOC =
new THnSparseF(
"fhnLaOC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaOC,xminLaOC,xmaxLaOC);
1994 Int_t binsALaOC[3] = {200, 120, 200};
1995 Double_t xminALaOC[3] = {1.05, 0., -1.};
1996 Double_t xmaxALaOC[3] = {1.25, 12., 1.};
1998 fhnALaOC =
new THnSparseF(
"fhnALaOC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaOC,xminALaOC,xmaxALaOC);
2000 fh1AreaExcluded =
new TH1F(
"fh1AreaExcluded",
"area excluded for selected jets in event acceptance",50,0.,1.);
2002 fh1MedianEta =
new TH1F(
"fh1MedianEta",
"Median cluster axis ;#eta",200,-1.,1.);
2003 fh1JetPtMedian =
new TH1F(
"fh1JetPtMedian",
" (selected) jet it{p}_{T} distribution for MCC method; #GeV/it{c}",19,5.,100.);
2005 fh1TrackMultCone =
new TH1F(
"fh1TrackMultCone",
"track multiplicity in jet cone; number of tracks",20,0.,50.);
2007 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.);
2009 Int_t binsNJK0[3] = {200, 120, 200};
2010 Double_t xminNJK0[3] = {0.3, 0., -1.};
2011 Double_t xmaxNJK0[3] = {0.7, 12., 1.};
2012 fhnNJK0 =
new THnSparseF(
"fhnNJK0",
"K0s candidates in events wo selected jets;",3,binsNJK0,xminNJK0,xmaxNJK0);
2014 Int_t binsNJLa[3] = {200, 120, 200};
2015 Double_t xminNJLa[3] = {1.05, 0., -1.};
2016 Double_t xmaxNJLa[3] = {1.25, 12., 1.};
2017 fhnNJLa =
new THnSparseF(
"fhnNJLa",
"La candidates in events wo selected jets; ",3,binsNJLa,xminNJLa,xmaxNJLa);
2019 Int_t binsNJALa[3] = {200, 120, 200};
2020 Double_t xminNJALa[3] = {1.05, 0., -1.};
2021 Double_t xmaxNJALa[3] = {1.25, 12., 1.};
2022 fhnNJALa =
new THnSparseF(
"fhnNJALa",
"ALa candidates in events wo selected jets; ",3,binsNJALa,xminNJALa,xmaxNJALa);
2033 fFFHistosRecCuts =
new AliFragFuncHistos(
"RecCuts", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2034 fFFNBinsPt, fFFPtMin, fFFPtMax,
2035 fFFNBinsXi, fFFXiMin, fFFXiMax,
2036 fFFNBinsZ , fFFZMin , fFFZMax);
2038 fV0QAK0 =
new AliFragFuncQATrackHistos(
"V0QAK0",fQATrackNBinsPt, fQATrackPtMin, fQATrackPtMax,
2039 fQATrackNBinsEta, fQATrackEtaMin, fQATrackEtaMax,
2040 fQATrackNBinsPhi, fQATrackPhiMin, fQATrackPhiMax,
2041 fQATrackHighPtThreshold);
2043 fFFHistosRecCutsK0Evt =
new AliFragFuncHistos(
"RecCutsK0Evt", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2044 fFFNBinsPt, fFFPtMin, fFFPtMax,
2045 fFFNBinsXi, fFFXiMin, fFFXiMax,
2046 fFFNBinsZ , fFFZMin , fFFZMax);
2048 fFFHistosGen =
new AliFragFuncHistos(
"Gen", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2049 fFFNBinsPt, fFFPtMin, fFFPtMax,
2050 fFFNBinsXi, fFFXiMin, fFFXiMax,
2051 fFFNBinsZ , fFFZMin , fFFZMax);
2058 fh2MCgenK0Cone =
new TH2F(
"fh2MCgenK0Cone",
"MC gen {K^{0}}^{s} #it{p}_{T} in cone around rec jet axis versus jet #it{p}_{T}; jet #it{p}_{T}",19,5.,100.,200,0.,20.);
2059 fh2MCgenLaCone =
new TH2F(
"fh2MCgenLaCone",
"MC gen #Lambda #it{p}_{T} in cone around rec jet axis versus jet #it{p}_{T} ; jet #it{p}_{T}",19,5.,100.,200,0.,20.);
2062 fh2MCgenK0Cone->GetYaxis()->SetTitle(
"MC gen K^{0}}^{s} #it{p}_{T}");
2063 fh2MCgenLaCone->GetYaxis()->SetTitle(
"MC gen #Lambda #it{p}_{T}");
2066 fh2MCEtagenK0Cone =
new TH2F(
"fh2MCEtagenK0Cone",
"MC gen {K^{0}}^{s} #it{p}_{T} #eta distribution in jet cone;#eta",19,5.,100.,200,-1.,1.);
2067 fh2MCEtagenLaCone =
new TH2F(
"fh2MCEtagenLaCone",
"MC gen #Lambda #it{p}_{T} #eta distribution in jet cone;#eta",19,5.,100.,200,-1.,1.);
2070 fh1IMK0ConeSmear =
new TH1F(
"fh1IMK0ConeSmear",
"Smeared jet pt study for K0s-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2071 fh1IMLaConeSmear =
new TH1F(
"fh1IMLaConeSmear",
"Smeared jet pt study for La-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2072 fh1IMALaConeSmear =
new TH1F(
"fh1IMALaConeSmear",
"Smeared jet pt study for ALa-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2074 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.);
2075 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.);
2076 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.);
2131 Int_t binsMCrecK0Cone[4] = {19, 200, 120, 200};
2132 Double_t xminMCrecK0Cone[4] = {5.,0.3, 0., -1.};
2133 Double_t xmaxMCrecK0Cone[4] = {100.,0.7, 12., 1.};
2134 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);
2136 Int_t binsMCrecLaCone[4] = {19, 200, 120, 200};
2137 Double_t xminMCrecLaCone[4] = {5.,0.3, 0., -1.};
2138 Double_t xmaxMCrecLaCone[4] = {100.,0.7, 12., 1.};
2139 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);
2141 Int_t binsMCrecALaCone[4] = {19, 200, 120, 200};
2142 Double_t xminMCrecALaCone[4] = {5.,0.3, 0., -1.};
2143 Double_t xmaxMCrecALaCone[4] = {100.,0.7, 12., 1.};
2144 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);
2176 Int_t binsK0sIncl[3] = {200, 120, 200};
2177 Double_t xminK0sIncl[3] = {0.3, 0., -1.};
2178 Double_t xmaxK0sIncl[3] = {0.7, 12., 1.};
2179 fhnK0sIncl =
new THnSparseF(
"fhnK0sIncl",
"Inclusive K0s",3,binsK0sIncl,xminK0sIncl,xmaxK0sIncl);
2181 Int_t binsK0sCone[4] = {19, 200, 120, 200};
2182 Double_t xminK0sCone[4] = {5.,0.3, 0., -1.};
2183 Double_t xmaxK0sCone[4] = {100.,0.7, 12., 1.};
2184 fhnK0sCone =
new THnSparseF(
"fhnK0sCone",
"K0s in jet cone",4,binsK0sCone,xminK0sCone,xmaxK0sCone);
2186 Int_t binsK0sEmbCone[4] = {19, 200, 120, 200};
2187 Double_t xminK0sEmbCone[4] = {5.,0.3, 0., -1.};
2188 Double_t xmaxK0sEmbCone[4] = {100.,0.7, 12., 1.};
2189 fhnK0sEmbCone =
new THnSparseF(
"fhnK0sEmbCone",
"Embedded K0s in jet cone",4,binsK0sEmbCone,xminK0sEmbCone,xmaxK0sEmbCone);
2192 Int_t binsK0sEmbConeRef[4] = {19, 200, 120, 200};
2193 Double_t xminK0sEmbConeRef[4] = {5.,0.3, 0., -1.};
2194 Double_t xmaxK0sEmbConeRef[4] = {100.,0.7, 12., 1.};
2195 fhnK0sEmbConeRef =
new THnSparseF(
"fhnK0sEmbConeRef",
"K0s Embedded reference in jet cone",4,binsK0sEmbConeRef,xminK0sEmbConeRef,xmaxK0sEmbConeRef);
2197 Int_t binsK0sEmbConeStandard[4] = {19, 200, 120, 200};
2198 Double_t xminK0sEmbConeStandard[4] = {5.,0.3, 0., -1.};
2199 Double_t xmaxK0sEmbConeStandard[4] = {100.,0.7, 12., 1.};
2200 fhnK0sEmbConeStandard =
new THnSparseF(
"fhnK0sEmbConeStandard",
"Standard K0s in matched jet cone",4,binsK0sEmbConeStandard,xminK0sEmbConeStandard,xmaxK0sEmbConeStandard);
2203 Int_t binsLaIncl[3] = {200, 120, 200};
2204 Double_t xminLaIncl[3] = {1.05, 0., -1.};
2205 Double_t xmaxLaIncl[3] = {1.25, 12., 1.};
2206 fhnLaIncl =
new THnSparseF(
"fhnLaIncl",
"Inclusive #Lambda",3,binsLaIncl,xminLaIncl,xmaxLaIncl);
2208 Int_t binsLaCone[4] = {19, 200, 120, 200};
2209 Double_t xminLaCone[4] = {5.,1.05, 0., -1.};
2210 Double_t xmaxLaCone[4] = {100.,1.25, 12., 1.};
2211 fhnLaCone =
new THnSparseF(
"fhnLaCone",
"#Lambda in jet cone",4,binsLaCone,xminLaCone,xmaxLaCone);
2213 Int_t binsLaEmbCone[4] = {19, 200, 120, 200};
2214 Double_t xminLaEmbCone[4] = {5.,1.05, 0., -1.};
2215 Double_t xmaxLaEmbCone[4] = {100.,1.25, 12., 1.};
2216 fhnLaEmbCone =
new THnSparseF(
"fhnLaEmbCone",
"Embedded #Lambda in jet cone",4,binsLaEmbCone,xminLaEmbCone,xmaxLaEmbCone);
2219 Int_t binsLaEmbConeRef[4] = {19, 200, 120, 200};
2220 Double_t xminLaEmbConeRef[4] = {5.,1.05, 0., -1.};
2221 Double_t xmaxLaEmbConeRef[4] = {100.,1.25, 12., 1.};
2222 fhnLaEmbConeRef =
new THnSparseF(
"fhnLaEmbConeRef",
"#Lambda Embedded reference in jet cone",4,binsLaEmbConeRef,xminLaEmbConeRef,xmaxLaEmbConeRef);
2224 Int_t binsLaEmbConeStandard[4] = {19, 200, 120, 200};
2225 Double_t xminLaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2226 Double_t xmaxLaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2227 fhnLaEmbConeStandard =
new THnSparseF(
"fhnLaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsLaEmbConeStandard,xminLaEmbConeStandard,xmaxLaEmbConeStandard);
2230 Int_t binsALaIncl[3] = {200, 120, 200};
2231 Double_t xminALaIncl[3] = {1.05, 0., -1.};
2232 Double_t xmaxALaIncl[3] = {1.25, 12., 1.};
2233 fhnALaIncl =
new THnSparseF(
"fhnALaIncl",
"Inclusive #bar{#Lambda}",3,binsALaIncl,xminALaIncl,xmaxALaIncl);
2235 Int_t binsALaCone[4] = {19, 200, 120, 200};
2236 Double_t xminALaCone[4] = {5.,1.05, 0., -1.};
2237 Double_t xmaxALaCone[4] = {100.,1.25, 12., 1.};
2238 fhnALaCone =
new THnSparseF(
"fhnALaCone",
"#bar{#Lambda} in jet cone",4,binsALaCone,xminALaCone,xmaxALaCone);
2240 Int_t binsALaEmbCone[4] = {19, 200, 120, 200};
2241 Double_t xminALaEmbCone[4] = {5.,1.05, 0., -1.};
2242 Double_t xmaxALaEmbCone[4] = {100.,1.25, 12., 1.};
2243 fhnALaEmbCone =
new THnSparseF(
"fhnALaEmbCone",
"Embedded #bar{#Lambda} in jet cone",4,binsALaEmbCone,xminALaEmbCone,xmaxALaEmbCone);
2245 Int_t binsALaEmbConeRef[4] = {19, 200, 120, 200};
2246 Double_t xminALaEmbConeRef[4] = {5.,1.05, 0., -1.};
2247 Double_t xmaxALaEmbConeRef[4] = {100.,1.25, 12., 1.};
2248 fhnALaEmbConeRef =
new THnSparseF(
"fhnALaEmbConeRef",
"#bar{#Lambda} Embedded reference in jet cone",4,binsALaEmbConeRef,xminALaEmbConeRef,xmaxALaEmbConeRef);
2250 Int_t binsALaEmbConeStandard[4] = {19, 200, 120, 200};
2251 Double_t xminALaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2252 Double_t xmaxALaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2253 fhnALaEmbConeStandard =
new THnSparseF(
"fhnALaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsALaEmbConeStandard,xminALaEmbConeStandard,xmaxALaEmbConeStandard);
2256 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.);
2257 fh2MCEmbLaJetPt =
new TH2F(
"fh2MCEmbLaJetPt",
" PYTHIA gen. #Lambda ;#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2258 fh2MCEmbALaJetPt =
new TH2F(
"fh2MCEmbALaJetPt",
"PYTHIA gen. #bar{#Lambda};#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2261 fh1MCMultiplicityPrimary =
new TH1F(
"fh1MCMultiplicityPrimary",
"MC Primary Particles;NPrimary;Count", 201, -0.5, 200.5);
2265 Int_t binsFeedDownLa[3] = {19, 200, 120};
2266 Double_t xminFeedDownLa[3] = {5.,1.05, 0.};
2267 Double_t xmaxFeedDownLa[3] = {100.,1.25, 12.};
2268 fhnFeedDownLa =
new THnSparseF(
"fhnFeedDownLa",
"#Lambda stemming from feeddown from Xi(0/-)",3,binsFeedDownLa,xminFeedDownLa,xmaxFeedDownLa);
2270 Int_t binsFeedDownALa[3] = {19, 200, 120};
2271 Double_t xminFeedDownALa[3] = {5.,1.05, 0.};
2272 Double_t xmaxFeedDownALa[3] = {100.,1.25, 12.};
2273 fhnFeedDownALa =
new THnSparseF(
"fhnFeedDownALa",
"#bar#Lambda stemming from feeddown from Xibar(0/+)",3,binsFeedDownALa,xminFeedDownALa,xmaxFeedDownALa);
2275 Int_t binsFeedDownLaCone[3] = {19, 200, 120};
2276 Double_t xminFeedDownLaCone[3] = {5.,1.05, 0.};
2277 Double_t xmaxFeedDownLaCone[3] = {100.,1.25, 12.};
2278 fhnFeedDownLaCone =
new THnSparseF(
"fhnFeedDownLaCone",
"#Lambda stemming from feeddown from Xi(0/-) in jet cone",3,binsFeedDownLaCone,xminFeedDownLaCone,xmaxFeedDownLaCone);
2280 Int_t binsFeedDownALaCone[3] = {19, 200, 120};
2281 Double_t xminFeedDownALaCone[3] = {5.,1.05, 0.};
2282 Double_t xmaxFeedDownALaCone[3] = {100.,1.25, 12.};
2283 fhnFeedDownALaCone =
new THnSparseF(
"fhnFeedDownALaCone",
"#bar#Lambda stemming from feeddown from Xibar(0/+) in jet cone",3,binsFeedDownALaCone,xminFeedDownALaCone,xmaxFeedDownALaCone);
2285 fh2FeedDownXiLa =
new TH2F(
"fh2FeedDownXiLa",
"MC gen. #Xi #it{p}_{T}; MC gen. #Lambda #it{p}_{T}",120,0.,12.,120,0.,12.);
2287 fh2FeedDownXiALa =
new TH2F(
"fh2FeedDownXiALa",
"MC gen. #bar{#Xi} #it{p}_{T}; MC gen.#bar{#Lambda} #it{p}_{T}",120,0.,12.,120,0.,12.);
2289 fh1MCProdRadiusK0s =
new TH1F(
"fh1MCProdRadiusK0s",
"MC gen. MC K0s prod radius",100,0.,100.);
2295 fh1MCPtV0s =
new TH1F(
"fh1MCPtV0s",
"MC gen. V^{0} in rap range;#it{p}_{T} (GeV/#it{c})",120,0,12.);
2296 fh1MCPtK0s =
new TH1F(
"fh1MCPtK0s",
"MC gen. K^{0}_{s} in eta range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2297 fh1MCPtLambda =
new TH1F(
"fh1MCPtLambda",
"MC gen. #Lambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2298 fh1MCPtAntiLambda =
new TH1F(
"fh1MCPtAntiLambda",
"MC gen. #AntiLambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2299 fh1MCXiPt =
new TH1F(
"fh1MCXiPt",
"MC gen. #Xi^{-/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2300 fh1MCXibarPt =
new TH1F(
"fh1MCXibarPt",
"MC gen. #bar{#Xi}^{+/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2301 fh2MCEtaVsPtK0s =
new TH2F(
"fh2MCEtaVsPtK0s",
"MC gen. K^{0}_{s} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2302 fh2MCEtaVsPtLa =
new TH2F(
"fh2MCEtaVsPtLa",
"MC gen. #Lambda #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2303 fh2MCEtaVsPtALa =
new TH2F(
"fh2MCEtaVsPtALa",
"MC gen. #bar{#Lambda} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2309 fh1MCEtaAllK0s =
new TH1F(
"fh1MCEtaAllK0s",
"MC gen. K0s;#eta",200,-1.,1.);
2310 fh1MCEtaK0s =
new TH1F(
"fh1MCEtaK0s",
"MC gen. K0s;#eta with cut",200,-1.,1.);
2311 fh1MCEtaLambda =
new TH1F(
"fh1MCEtaLambda",
"MC gen. #Lambda;#eta",200,-1.,1.);
2312 fh1MCEtaAntiLambda =
new TH1F(
"fh1MCEtaAntiLambda",
"MC gen. #bar{#Lambda};#eta",200,-1.,1.);
2315 fFFHistosRecCuts->DefineHistos();
2317 fFFHistosGen->DefineHistos();
2330 const Int_t saveLevel = 5;
2334 fCommonHistList->Add(
fh1Evt);
2335 fCommonHistList->Add(fh1EvtSelection);
2336 fCommonHistList->Add(fh1EvtCent);
2337 fCommonHistList->Add(fh1VertexNContributors);
2338 fCommonHistList->Add(fh1VertexZ);
2339 fCommonHistList->Add(fh1Xsec);
2340 fCommonHistList->Add(fh1Trials);
2341 fCommonHistList->Add(fh1PtHard);
2342 fCommonHistList->Add(fh1PtHardTrials);
2343 fCommonHistList->Add(fh1nRecJetsCuts);
2344 fCommonHistList->Add(fh1EvtMult);
2355 if(fBranchEmbeddedJets.Length()){
2366 if(fBranchGenJets.Length()&&(
fMatchMode == 2)){
2412 fCommonHistList->Add(
fh1RC);
2416 fCommonHistList->Add(
fh1MCC);
2417 fCommonHistList->Add(
fh1OC);
2418 fCommonHistList->Add(
fh1NJ);
2427 fCommonHistList->Add(
fhnNJK0);
2428 fCommonHistList->Add(
fhnNJLa);
2477 if(fBranchEmbeddedJets.Length()){
2486 if(fBranchEmbeddedJets.Length()){
2495 if(fBranchEmbeddedJets.Length()){
2506 fCommonHistList->Add(
fhnLaPC);
2514 fCommonHistList->Add(
fhnLaRC);
2520 fCommonHistList->Add(
fhnLaOC);
2554 fV0QAK0->AddToOutput(fCommonHistList);
2555 fFFHistosRecCuts->AddToOutput(fCommonHistList);
2558 if(fBranchGenJets.Length() && (
fMatchMode == 2)){
2559 fFFHistosGen->AddToOutput(fCommonHistList);
2576 for (Int_t i=0; i<fCommonHistList->GetEntries(); ++i){
2578 TH1 *h1 =
dynamic_cast<TH1*
>(fCommonHistList->At(i));
2580 if (h1) h1->Sumw2();
2582 THnSparse *hnSparse =
dynamic_cast<THnSparse*
>(fCommonHistList->At(i));
2583 if(hnSparse) hnSparse->Sumw2();
2587 TH1::AddDirectory(oldStatus);
2588 PostData(1, fCommonHistList);
2597 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec()");
2599 if(fDebug > 1) Printf(
"Analysis event #%5d", (Int_t) fEntry);
2602 AliInputEventHandler* inputHandler = (AliInputEventHandler*)
2603 ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
2605 if((fDebug > 1)&&(!inputHandler)){std::cout<<
"AliAnalysisTaskJetChem::AliInputEventHandler does not exist!! "<<std::endl;}
2610 if (!
fPIDResponse){
if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec(): fPIDResponse does not exist!");
return;}
2612 if(fDebug > 1){std::cout<<
"inputHandler->IsEventSelected(): "<<inputHandler->IsEventSelected()<<std::endl;}
2613 if(fDebug > 1){std::cout<<
"fEvtSelectionMask: "<<fEvtSelectionMask<<std::endl;}
2615 if(!(inputHandler->IsEventSelected() & fEvtSelectionMask)){
2617 fh1EvtSelection->Fill(1.);
2618 if (fDebug > 1 ) Printf(
" Trigger Selection: event REJECTED ... ");
2619 PostData(1, fCommonHistList);
2623 fESD =
dynamic_cast<AliESDEvent*
>(InputEvent());
2625 if(fDebug>3) Printf(
"%s:%d ESDEvent not found in the input", (
char*)__FILE__,__LINE__);
2628 fMCEvent = MCEvent();
2630 if(fDebug>3) Printf(
"%s:%d MCEvent not found in the input", (
char*)__FILE__,__LINE__);
2634 TObject* handler = AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
2635 if( handler && handler->InheritsFrom(
"AliAODInputHandler") ) {
2636 fAOD = ((AliAODInputHandler*)handler)->GetEvent();
2637 if(fUseAODInputJets) fAODJets = fAOD;
2638 if (fDebug > 1) Printf(
"%s:%d AOD event from input", (
char*)__FILE__,__LINE__);
2641 handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2642 if( handler && handler->InheritsFrom(
"AliAODHandler") ) {
2643 fAOD = ((AliAODHandler*)handler)->GetAOD();
2645 if (fDebug > 1) Printf(
"%s:%d AOD event from output", (
char*)__FILE__,__LINE__);
2649 if(!fAODJets && !fUseAODInputJets){
2650 TObject* outHandler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2651 if( outHandler && outHandler->InheritsFrom(
"AliAODHandler") ){
2652 fAODJets = ((AliAODHandler*)outHandler)->GetAOD();
2653 if (fDebug > 1) Printf(
"%s:%d jets from output AOD", (
char*)__FILE__,__LINE__);
2657 if(fNonStdFile.Length()!=0){
2660 AliAODHandler *aodH =
dynamic_cast<AliAODHandler*
>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
2661 fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);
2663 if(fDebug>1)Printf(
"AODExtension not found for %s",fNonStdFile.Data());
2668 Printf(
"%s:%d AODEvent not found", (
char*)__FILE__,__LINE__);
2672 Printf(
"%s:%d AODEvent with jet branch not found", (
char*)__FILE__,__LINE__);
2677 AliAODVertex *myPrimaryVertex = NULL;
2678 myPrimaryVertex = (AliAODVertex*)fAOD->GetPrimaryVertex();
2679 if (!myPrimaryVertex)
return;
2685 AliAODVertex* primVtx = fAOD->GetPrimaryVertex();
2686 Int_t nTracksPrim = primVtx->GetNContributors();
2687 fh1VertexNContributors->Fill(nTracksPrim);
2689 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: %d", (
char*)__FILE__,__LINE__,nTracksPrim);
2691 if(nTracksPrim <= 2){
2692 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: event REJECTED...",(
char*)__FILE__,__LINE__);
2693 fh1EvtSelection->Fill(3.);
2694 PostData(1, fCommonHistList);
2698 fh1VertexZ->Fill(primVtx->GetZ());
2700 if(TMath::Abs(primVtx->GetZ())>fMaxVertexZ){
2701 if (fDebug > 1) Printf(
"%s:%d primary vertex z = %f: event REJECTED...",(
char*)__FILE__,__LINE__,primVtx->GetZ());
2702 fh1EvtSelection->Fill(4.);
2703 PostData(1, fCommonHistList);
2711 const AliAODVertex* spdVtx = fAOD->GetPrimaryVertexSPD();
2713 if (TMath::Abs(spdVtx->GetZ() - primVtx->GetZ())>
fDeltaVertexZ) {
if (fDebug > 1) Printf(
"deltaZVertex: event REJECTED...");
return;}
2718 Double_t vtxX = primVtx->GetX();
2719 Double_t vtxY = primVtx->GetY();
2721 if(TMath::Sqrt(vtxX*vtxX + vtxY*vtxY)>=1){
2722 if (fDebug > 1) Printf(
"%s:%d primary vertex r = %f: event REJECTED...",(
char*)__FILE__,__LINE__,TMath::Sqrt(vtxX*vtxX + vtxY*vtxY));
2727 TString primVtxName(primVtx->GetName());
2729 if(primVtxName.CompareTo(
"TPCVertex",TString::kIgnoreCase) == 1){
2730 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: TPC vertex, event REJECTED...",(
char*)__FILE__,__LINE__);
2731 fh1EvtSelection->Fill(5.);
2732 PostData(1, fCommonHistList);
2736 Bool_t selectedHelper = AliAnalysisHelperJetTasks::Selected();
2737 if(!selectedHelper){
2738 fh1EvtSelection->Fill(6.);
2739 PostData(1, fCommonHistList);
2747 Double_t centPercent = -1;
2752 if(handler && handler->InheritsFrom(
"AliAODInputHandler")){
2754 centPercent =
dynamic_cast<AliAODHeader*
>(fAOD->GetHeader())->GetCentrality();
2760 if(fEventClass >= 11){
2762 if(centPercent < 0) cl = -1;
2763 if(centPercent >= 0) cl = 11;
2764 if(centPercent > 5) cl = 12;
2765 if(centPercent > 10) cl = 13;
2766 if(centPercent > 20) cl = 14;
2767 if(centPercent > 40) cl = 15;
2768 if(centPercent > 60) cl = 16;
2769 if(centPercent > 80) cl = 17;
2770 if(centPercent > 90) cl = 18;
2774 if(fEventClass < 11){
2776 if(centPercent < 0) cl = -1;
2777 if(centPercent >= 0) cl = 1;
2778 if(centPercent > 10) cl = 2;
2779 if(centPercent > 30) cl = 3;
2780 if(centPercent > 50) cl = 4;
2781 if(centPercent > 80) cl = 5;
2788 cl = AliAnalysisHelperJetTasks::EventClass();
2790 if(fESD) centPercent = fESD->GetCentrality()->GetCentralityPercentile(
"V0M");
2794 if(fEventClass >= 11){
2796 if(centPercent < 0) cl = -1;
2797 if(centPercent >= 0) cl = 11;
2798 if(centPercent > 5) cl = 12;
2799 if(centPercent > 10) cl = 13;
2800 if(centPercent > 20) cl = 14;
2801 if(centPercent > 40) cl = 15;
2802 if(centPercent > 60) cl = 16;
2803 if(centPercent > 80) cl = 17;
2804 if(centPercent > 90) cl = 18;
2808 if(fEventClass < 11){
2810 if(centPercent < 0) cl = -1;
2811 if(centPercent >= 0) cl = 1;
2812 if(centPercent > 10) cl = 2;
2813 if(centPercent > 30) cl = 3;
2814 if(centPercent > 50) cl = 4;
2815 if(centPercent > 80) cl = 5;
2821 if(cl!=fEventClass){
2823 if (fDebug > 1) Printf(
"%s:%d event not in selected event class: event REJECTED ...",(
char*)__FILE__,__LINE__);
2824 fh1EvtSelection->Fill(2.);
2825 PostData(1, fCommonHistList);
2831 if (fDebug > 1) Printf(
"%s:%d event ACCEPTED ...",(
char*)__FILE__,__LINE__);
2838 fh1EvtSelection->Fill(0.);
2839 fh1EvtCent->Fill(centPercent);
2844 Double_t ptHard = 0.;
2845 Double_t nTrials = 1;
2848 AliGenEventHeader* genHeader = fMCEvent->GenEventHeader();
2849 AliGenPythiaEventHeader* pythiaGenHeader =
dynamic_cast<AliGenPythiaEventHeader*
>(genHeader);
2850 AliGenHijingEventHeader* hijingGenHeader = 0x0;
2852 if(pythiaGenHeader){
2853 if(fDebug>3) Printf(
"%s:%d pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2854 nTrials = pythiaGenHeader->Trials();
2855 ptHard = pythiaGenHeader->GetPtHard();
2857 fh1PtHard->Fill(ptHard);
2858 fh1PtHardTrials->Fill(ptHard,nTrials);
2863 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2865 hijingGenHeader =
dynamic_cast<AliGenHijingEventHeader*
>(genHeader);
2866 if(!hijingGenHeader){
2867 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader or hjingGenHeader found", (
char*)__FILE__,__LINE__);
2869 if(fDebug>3) Printf(
"%s:%d hijingGenHeader found", (
char*)__FILE__,__LINE__);
2873 fh1Trials->Fill(
"#sum{ntrials}",fAvgTrials);
2880 if(fDebug>2)std::cout<<
" nJCuts: "<<nJCuts<<std::endl;
2882 if(fDebug>2)std::cout<<
" fBranchRecJets: "<<fBranchRecJets.Length()<<std::endl;
2884 Int_t nRecJetsCuts = 0;
2885 if(nJCuts>=0) nRecJetsCuts = fJetsRecCuts->GetEntries();
2886 if(fDebug>2)Printf(
"%s:%d Selected Rec jets after cuts: %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2887 if(nRecJetsCuts != nJCuts) Printf(
"%s:%d Mismatch selected Rec jets after cuts: %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2888 fh1nRecJetsCuts->Fill(nRecJetsCuts);
2893 Int_t nEmbeddedJets = 0;
2895 TArrayI iEmbeddedMatchIndex;
2896 TArrayI iRecMatchIndex;
2897 TArrayF fRecMatchPtFraction;
2899 TArrayI iEmbeddedMatchIndexMC;
2900 TArrayI iGenMatchIndex;
2901 TArrayF fGenMatchPtFraction;
2909 if(nJGen>=0) nGenJets = fJetsGen->GetEntries();
2910 if(fDebug>2)Printf(
"%s:%d Selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
2912 if(nJGen != nGenJets) Printf(
"%s:%d Mismatch selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
2917 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets for matching: "<<fBranchEmbeddedJets.Length()<<std::endl;
2920 if(fBranchEmbeddedJets.Length()){
2922 Int_t nJEmbedded = GetListOfJets(fJetsEmbedded,
kJetsEmbedded);
2923 if(nJEmbedded>=0) nEmbeddedJets = fJetsEmbedded->GetEntries();
2924 if(fDebug>2)Printf(
"%s:%d Selected Embedded jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
2925 if(nJEmbedded != nEmbeddedJets) Printf(
"%s:%d Mismatch Selected Embedded Jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
2928 Float_t maxDist = 0.3;
2930 iEmbeddedMatchIndex.Set(nEmbeddedJets);
2931 iRecMatchIndex.Set(nRecJetsCuts);
2932 fRecMatchPtFraction.Set(nRecJetsCuts);
2934 iEmbeddedMatchIndex.Reset(-1);
2935 iRecMatchIndex.Reset(-1);
2936 fRecMatchPtFraction.Reset(0);
2940 if(fDebug>2)std::cout<<
"GetClosestJets(): "<<std::endl;
2941 if(fDebug>2)std::cout<<
"nRecJetsCuts: "<<nRecJetsCuts<<std::endl;
2942 if(fDebug>2)std::cout<<
"nEmbeddedJets: "<<nEmbeddedJets<<std::endl;
2945 AliAnalysisHelperJetTasks::GetClosestJets(fJetsEmbedded, nEmbeddedJets,
2946 fJetsRecCuts, nRecJetsCuts,
2947 iRecMatchIndex,iEmbeddedMatchIndex,
2965 for(Int_t i=0; i<nRecJetsCuts; i++){
2966 AliAODJet* recJet = (AliAODJet*) fJetsRecCuts->At(i);
2967 if(!recJet)
continue;
2969 Int_t indexEmbedded = iRecMatchIndex[i];
2975 if(indexEmbedded>-1){
2976 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
2977 fRecMatchPtFraction[i] = AliAnalysisHelperJetTasks::GetFractionOfJet(recJet, embeddedJet, 1);
2988 iEmbeddedMatchIndexMC.Set(nEmbeddedJets);
2989 iGenMatchIndex.Set(nGenJets);
2990 fGenMatchPtFraction.Set(nGenJets);
2992 iEmbeddedMatchIndexMC.Reset(-1);
2993 iGenMatchIndex.Reset(-1);
2994 fGenMatchPtFraction.Reset(0);
2996 if(fDebug > 2)std::cout<<
" nGenJets "<<nGenJets<<
" nEmbeddedJets "<<nEmbeddedJets<<std::endl;
3000 AliAnalysisHelperJetTasks::GetClosestJets(fJetsEmbedded, nEmbeddedJets,
3002 iGenMatchIndex,iEmbeddedMatchIndexMC,
3006 for(Int_t i=0; i<nGenJets; i++){
3007 AliAODJet* genJet = (AliAODJet*) fJetsGen->At(i);
3008 if(!genJet)
continue;
3009 Int_t indexEmbedded = iGenMatchIndex[i];
3010 if(indexEmbedded>-1){
3011 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
3012 fGenMatchPtFraction[i] = AliAnalysisHelperJetTasks::GetFractionOfJet(genJet, embeddedJet, 2);
3023 if(fBranchRecBckgClusters.Length() != 0){
3027 if(fDebug>2)std::cout<<
" fBranchRecBckgClusters: "<<fBranchRecBckgClusters.Length()<<std::endl;
3029 Int_t nRecBckgJets = 0;
3030 if(nBJ>=0) nRecBckgJets = fBckgJetsRec->GetEntries();
3031 if(fDebug>2)Printf(
"%s:%d Selected Rec background jets: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3032 if(nBJ != nRecBckgJets) Printf(
"%s:%d Mismatch Selected Rec background jets: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3038 Int_t nRemainingBckgJets = nRecBckgJets;
3039 for(Int_t ij=0; ij<nRecBckgJets; ++ij){
3041 AliAODJet* jetBckg = (AliAODJet*) (fBckgJetsRec->At(ij));
3043 Double_t sumBckgPt = 0.;
3044 Bool_t isBadBckgJet = kFALSE;
3046 Double_t jetPt = jetBckg->Pt();
3049 if(GetFFRadius()<=0){
3050 GetJetTracksTrackrefs(
jettracklist, jetBckg, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3052 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jetBckg, GetFFRadius(), sumBckgPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3057 nRemainingBckgJets = nRemainingBckgJets-1;
3077 else nTCuts = GetListOfTracks(fTracksRecCuts,
kTrackAODCuts);
3080 if(fDebug>2)Printf(
"%s:%d selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3081 if(fTracksRecCuts->GetEntries() != nTCuts)
3082 Printf(
"%s:%d Mismatch selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3084 if(nTCuts>=0) fh1EvtMult->Fill(fTracksRecCuts->GetEntries());
3090 fTracksGen->Clear();
3092 if(nTGen>=0) nGenPart = fTracksGen->GetEntries();
3093 if(fDebug>2)Printf(
"%s:%d Selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3094 if(nGenPart != nTGen) Printf(
"%s:%d Mismatch selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3101 Int_t nK0sStandard = 0;
3112 if(fDebug>5){std::cout<<
"fK0Type: "<<
fK0Type<<
" kK0: "<<
kK0<<
" myPrimaryVertex: "<<myPrimaryVertex<<
" fAOD: "<<fAOD<<std::endl;}
3120 if(fDebug>2)Printf(
"%s:%d Selected Rec K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3121 if(nK0s !=
fListK0s->GetEntries()) Printf(
"%s:%d Mismatch selected K0s: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3123 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0sMC,
fListK0sMC->GetEntries());
3130 Int_t nLaStandard = 0;
3140 if(fDebug>2)Printf(
"%s:%d Selected Rec La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3141 if(nLa !=
fListLa->GetEntries()) Printf(
"%s:%d Mismatch selected La: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3144 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLaMC,
fListLaMC->GetEntries());
3148 Int_t nALaStandard = 0;
3157 if(fDebug>2)Printf(
"%s:%d Selected Rec ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3158 if(nALa !=
fListALa->GetEntries()) Printf(
"%s:%d Mismatch selected ALa: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3160 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALaMC,
fListALaMC->GetEntries());
3175 if(nMCgenK0s !=
fListMCgenK0s->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenK0s: %d %d",(
char*)__FILE__,__LINE__,nMCgenK0s,
fListMCgenK0s->GetEntries());
3180 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0s->At(it));
3186 Double_t fEtaCurrentPart = mcp0->Eta();
3187 Double_t fPtCurrentPart = mcp0->Pt();
3198 if(nMCgenLa !=
fListMCgenLa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenLa: %d %d",(
char*)__FILE__,__LINE__,nMCgenLa,
fListMCgenLa->GetEntries());
3200 TList *mclist = fAOD->GetList();
3201 TClonesArray *stackMC = 0x0;
3202 stackMC = (TClonesArray*)mclist->FindObject(AliAODMCParticle::StdBranchName());
3204 Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: stackMC not available!");
3207 AliAODMCHeader *mcHdr=(AliAODMCHeader*)mclist->FindObject(AliAODMCHeader::StdBranchName());
3208 if(!mcHdr)Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: mcHdr not available!");
3212 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenLa->At(it));
3218 Double_t fEtaCurrentPart = mcp0->Eta();
3219 Double_t fPtCurrentPart = mcp0->Pt();
3220 TString generatorName;
3245 if(nMCgenALa !=
fListMCgenALa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenALa: %d %d",(
char*)__FILE__,__LINE__,nMCgenALa,
fListMCgenALa->GetEntries());
3250 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenALa->At(it));
3256 Double_t fEtaCurrentPart = mcp0->Eta();
3257 Double_t fPtCurrentPart = mcp0->Pt();
3258 TString generatorName;
3295 Double_t lPrimaryVtxPosition[3];
3296 Double_t lV0Position[3];
3297 lPrimaryVtxPosition[0] = primVtx->GetX();
3298 lPrimaryVtxPosition[1] = primVtx->GetY();
3299 lPrimaryVtxPosition[2] = primVtx->GetZ();
3300 Double_t dRadiusExcludeCone = 2*GetFFRadius();
3304 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3306 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3314 Double_t fV0Radius = -999;
3315 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3316 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3317 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3318 Int_t negDaughterpdg = 0;
3319 Int_t posDaughterpdg = 0;
3320 Int_t motherType = 0;
3323 Bool_t fPhysicalPrimary = kFALSE;
3324 Int_t MCv0PdgCode = 0;
3326 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3327 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3329 Double_t PosEta = trackPos->AliAODTrack::Eta();
3330 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3342 Double_t fEta = v0->PseudoRapV0();
3343 Bool_t bIsInCone = kFALSE;
3344 Int_t nRemainingJets = nRecJetsCuts;
3346 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3348 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3350 Double_t sumPt = 0.;
3351 Bool_t isBadJet = kFALSE;
3353 if(GetFFRadius()<=0){
3354 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3356 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3362 nRemainingJets = nRemainingJets-1;
3367 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3374 if((bIsInCone==kFALSE)&&(nRemainingJets > 0)){
3375 Double_t vK0sOC[3] = {invMK0s,trackPt,fEta};
3386 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3388 lV0Position[0]= v0->DecayVertexV0X();
3389 lV0Position[1]= v0->DecayVertexV0Y();
3390 lV0Position[2]= v0->DecayVertexV0Z();
3392 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3393 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3396 fV0QAK0->FillTrackQA(v0->Eta(), TVector2::Phi_0_2pi(v0->Phi()), v0->Pt());
3402 Double_t vK0sIncl[3] = {invMK0s,trackPt,fEta};
3407 TString generatorName;
3409 TList *listmc = fAOD->GetList();
3410 Bool_t mclabelcheck =
MCLabelCheck(v0,
kK0, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3415 if(mclabelcheck == kFALSE)
continue;
3417 Double_t vInvMassEtaTrackPtK0s[3] = {fEta,invMK0s,trackPt};
3441 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3443 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3450 Double_t fV0Radius = -999;
3451 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3452 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3453 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3454 Int_t negDaughterpdg = 0;
3455 Int_t posDaughterpdg = 0;
3456 Int_t motherType = 0;
3459 Bool_t fPhysicalPrimary = kFALSE;
3460 Int_t MCv0PdgCode = 0;
3461 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3462 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3467 Double_t PosEta = trackPos->AliAODTrack::Eta();
3468 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3470 Double_t fEta = v0->PseudoRapV0();
3471 Bool_t bIsInCone = kFALSE;
3472 Int_t nRemainingJets = nRecJetsCuts;
3477 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3479 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3481 Double_t sumPt = 0.;
3482 Bool_t isBadJet = kFALSE;
3484 if(GetFFRadius()<=0){
3485 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3487 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3494 nRemainingJets = nRemainingJets-1;
3498 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3509 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3510 Double_t vLaOC[3] = {invMLa, trackPt,fEta};
3516 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3517 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3518 lV0Position[0]= v0->DecayVertexV0X();
3519 lV0Position[1]= v0->DecayVertexV0Y();
3520 lV0Position[2]= v0->DecayVertexV0Z();
3522 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3529 Double_t vLaIncl[3] = {invMLa,trackPt,fEta};
3534 TString generatorName;
3536 TList* listmc = fAOD->GetList();
3537 Bool_t mclabelcheck =
MCLabelCheck(v0,
kLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3538 if(mclabelcheck == kFALSE)
continue;
3557 Double_t vInvMassEtaTrackPtLa[3] = {fEta,invMLa,trackPt};
3580 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3582 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3587 Double_t invMALa =0;
3589 Double_t fV0Radius = -999;
3590 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3591 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3592 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3593 Int_t negDaughterpdg = 0;
3594 Int_t posDaughterpdg = 0;
3595 Int_t motherType = 0;
3598 Bool_t fPhysicalPrimary = kFALSE;
3599 Int_t MCv0PdgCode = 0;
3601 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3602 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3604 Double_t PosEta = trackPos->AliAODTrack::Eta();
3605 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3607 Double_t fEta = v0->PseudoRapV0();
3608 Bool_t bIsInCone = kFALSE;
3609 Int_t nRemainingJets = nRecJetsCuts;
3614 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3616 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3618 Double_t sumPt = 0.;
3619 Bool_t isBadJet = kFALSE;
3622 if(GetFFRadius()<=0){
3623 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3625 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3631 nRemainingJets = nRemainingJets-1;
3645 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3646 Double_t vALaOC[3] = {invMALa, trackPt,fEta};
3652 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3653 lV0Position[0]= v0->DecayVertexV0X();
3654 lV0Position[1]= v0->DecayVertexV0Y();
3655 lV0Position[2]= v0->DecayVertexV0Z();
3656 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3657 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3664 Double_t vALaIncl[3] = {invMALa,trackPt,fEta};
3668 TString generatorName;
3670 TList* listmc = fAOD->GetList();
3671 Bool_t mclabelcheck =
MCLabelCheck(v0,
kAntiLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3672 if(mclabelcheck == kFALSE)
continue;
3694 Double_t vInvMassEtaTrackPtALa[3] = {fEta,invMALa,trackPt};
3713 if(nRecJetsCuts == 0){
3717 if(fDebug>6) { std::cout<<
"################## nRecJetsCuts == 0 ###################"<<std::endl;
3721 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3723 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3726 Double_t invMK0s =0;
3729 Double_t fEta = v0->Eta();
3731 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3736 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3738 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3744 Double_t fEta = v0->Eta();
3746 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3751 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3753 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3756 Double_t invMALa =0;
3760 Double_t fEta = v0->Eta();
3762 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
3776 Int_t nSelJets = nRecJetsCuts;
3777 Bool_t IsOCEvt = kFALSE;
3778 Bool_t IsRCEvt = kFALSE;
3779 Bool_t IsMCCEvt = kFALSE;
3782 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3784 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3786 Double_t jetPt = jet->Pt();
3787 Double_t jetEta = jet->Eta();
3788 Double_t jetPhi = jet->Phi();
3795 Double_t sumPt = 0.;
3796 Bool_t isBadJet = kFALSE;
3797 Int_t njetTracks = 0;
3799 if(GetFFRadius()<=0){
3800 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3802 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3806 if((GetFFMinNTracks()>0) && (
jettracklist->GetSize() <= GetFFMinNTracks())) isBadJet = kTRUE;
3812 nSelJets = nSelJets-1;
3818 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3820 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3823 Double_t invMK0s =0;
3826 Double_t fEta = v0->Eta();
3828 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3833 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3835 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3841 Double_t fEta = v0->Eta();
3843 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3848 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3850 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3853 Double_t invMALa =0;
3857 Double_t fEta = v0->Eta();
3859 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
3885 if(IsOCEvt == kFALSE){IsOCEvt = kTRUE;
fh1OC->Fill(1.);}
3890 Double_t dAreaExcluded = TMath::Pi()*dRadiusExcludeCone*dRadiusExcludeCone;
3913 TList* mclist = fAOD->GetList();
3914 if (!mclist){std::cout<<
"mclist does not exist for Embedding study: "<<std::endl;
continue;}
3916 Double_t ptFractionEmbedded = 0;
3917 Double_t deltaREmbedded = 0;
3918 AliAODJet* embeddedJet = 0;
3920 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets before index embedded: "<<fBranchEmbeddedJets<<std::endl;
3922 if(fBranchEmbeddedJets.Length()){
3924 Int_t indexEmbedded = iRecMatchIndex[ij];
3925 ptFractionEmbedded = fRecMatchPtFraction[ij];
3927 if(fDebug>2)std::cout<<
"index embedded: "<<indexEmbedded<<std::endl;
3928 if(fDebug>2)std::cout<<
"ptFractionEmbedded: "<<ptFractionEmbedded<<std::endl;
3934 if(indexEmbedded>-1){
3936 embeddedJet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(indexEmbedded));
3937 if(!embeddedJet)
continue;
3941 deltaREmbedded = jet->DeltaR((AliVParticle*) (embeddedJet));
3942 if(fDebug>2)std::cout<<
"deltaREmbedded: "<<deltaREmbedded<<std::endl;
3950 if(!embeddedJet)
continue;
3953 Double_t JetPtEmb = embeddedJet->Pt();
3958 Double_t JetPtRej = embeddedJet->Pt();
3959 Double_t JetEtaRej = embeddedJet->Eta();
3994 AliVParticle* trackVP =
dynamic_cast<AliVParticle*
>(
jettracklist->At(it));
3995 if(!trackVP)
continue;
3997 Float_t trackPt = trackVP->Pt();
3998 Float_t trackEta = trackVP->Eta();
4000 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4002 fFFHistosRecCuts->FillFF(trackPt, jetPt, incrementJetPt);
4019 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
4021 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
4026 TVector3 v0MomVect(v0Mom);
4028 Double_t dPhiJetK0 = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
4033 Double_t invMK0s =0;
4040 if(dPhiJetK0<fh1dPhiJetK0->GetXaxis()->GetXmin()) dPhiJetK0 += 2*TMath::Pi();
4055 Double_t sumPtK0 = 0.;
4057 Bool_t isBadJetK0 = kFALSE;
4061 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetConeK0list->GetEntries(),GetFFRadius());
4066 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
jetConeK0list->At(it));
4069 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4070 Double_t invMK0s =0;
4079 Double_t jetPtSmear = -1;
4088 if(incrementJetPt==kTRUE){
4093 Double_t vK0sCone[4] = {jetPt, invMK0s,trackPt,fEta};
4101 Bool_t incrementJetPt = kTRUE;
4103 Double_t vK0sCone[4] = {jetPt, -1, -1, -1};
4106 if(incrementJetPt==kTRUE){
4110 Double_t jetPtSmear = -1;
4119 if(IsRCEvt == kFALSE){
4124 AliAODJet* jetRC = 0;
4132 Double_t sumPtK0sRC = 0;
4133 Double_t sumPtLaRC = 0;
4134 Double_t sumPtALaRC = 0;
4135 Double_t sumPtRecCutsRC = 0;
4136 Bool_t isBadJetK0sRC = kFALSE;
4137 Bool_t isBadJetLaRC = kFALSE;
4138 Bool_t isBadJetALaRC = kFALSE;
4139 Bool_t isBadJetRecCutsRC = kFALSE;
4149 for(Int_t it=0; it<
fListK0sRC->GetSize(); ++it){
4151 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4154 Double_t invMK0s =0;
4161 Double_t vK0sRC[3] = {invMK0s,trackPt,fEta};
4169 for(Int_t it=0; it<
fListLaRC->GetSize(); ++it){
4171 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4181 Double_t vLaRC[3] = {invMLa,trackPt,fEta};
4189 for(Int_t it=0; it<
fListALaRC->GetSize(); ++it){
4191 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4194 Double_t invMALa =0;
4201 Double_t vALaRC[3] = {invMALa,trackPt,fEta};
4206 if(isBadJetK0sRC == kFALSE){
4210 for(Int_t it=0; it<
fListK0sRC->GetSize(); ++it){
4212 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4215 Double_t invMK0s =0;
4228 if(isBadJetLaRC == kFALSE){
4230 for(Int_t it=0; it<
fListLaRC->GetSize(); ++it){
4232 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4249 if(isBadJetALaRC == kFALSE){
4251 for(Int_t it=0; it<
fListALaRC->GetSize(); ++it){
4253 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4256 Double_t invMALa =0;
4303 Double_t sumPerpPtK0 = 0.;
4304 Double_t sumPerpPtRecCuts = 0.;
4321 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetPerpConeK0list->GetEntries(),GetFFRadius());
4328 Double_t invMPerpK0s =0;
4334 Double_t vK0sPC[4] = {jetPt, invMPerpK0s,trackPt,fEta};
4343 Double_t vK0sPC[4] = {jetPt, -1, -1 , -999};
4349 if(IsMCCEvt == kFALSE){
4366 Double_t medianEta = medianCluster->Eta();
4373 Double_t sumMedianPtK0 = 0.;
4374 Double_t sumPtRecCuts = 0.;
4376 Bool_t isBadJetK0Median = kFALSE;
4377 Bool_t isBadJetRecCutsMedian = kFALSE;
4407 Double_t invMMedianK0s =0;
4413 Double_t vK0sMCC[3] = {invMMedianK0s,trackPt,fEta};
4420 Double_t vK0sMCC[3] = {-1, -1, -999};
4428 Double_t sumMedianPtLa = 0.;
4429 Bool_t isBadJetLaMedian = kFALSE;
4442 Double_t invMMedianLa =0;
4449 Double_t vLaMCC[3] = {invMMedianLa,trackPt,fEta};
4455 Double_t vLaMCC[4] = {jetPt, -1, -1, -999};
4464 Double_t sumMedianPtALa = 0.;
4466 Bool_t isBadJetALaMedian = kFALSE;
4480 Double_t invMMedianALa =0;
4487 Double_t vALaMCC[3] = {invMMedianALa,trackPt,fEta};
4494 Double_t vALaMCC[4] = {jetPt, -1, -1, -999};
4511 Double_t sumPerpPtLa = 0.;
4515 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetPerpConeLalist->GetEntries(),GetFFRadius());
4522 Double_t invMPerpLa =0;
4528 Double_t vLaPC[4] = {jetPt, invMPerpLa,trackPt,fEta};
4536 Double_t vLaPC[4] = {jetPt, -1, -1 , -999};
4546 Double_t sumPerpPtALa = 0.;
4550 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetPerpConeALalist->GetEntries(),GetFFRadius());
4557 Double_t invMPerpALa =0;
4563 Double_t vALaPC[4] = {jetPt, invMPerpALa,trackPt,fEta};
4571 Double_t vALaPC[4] = {jetPt, -1, -1, -999};
4587 Double_t sumPtFDLa = 0.;
4588 Bool_t isBadJetFDLa = kFALSE;
4592 Double_t sumPtFDALa = 0.;
4593 Bool_t isBadJetFDALa = kFALSE;
4603 Double_t invMLaFDcand = 0;
4604 Double_t trackPt = 0;
4609 TClonesArray *st = 0x0;
4612 TList *lt = fAOD->GetList();
4615 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4618 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4619 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4621 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4623 Int_t v0lab = mcDaughterPart->GetMother();
4627 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4629 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4631 Int_t motherlab = mcp->GetMother();
4633 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4637 Double_t genLaPt = mcp->Pt();
4641 iMother = mcp->GetMother();
4643 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4649 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4650 Int_t codeMother = -1;
4651 if(!partMother)
continue;
4654 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4659 if((codeMother == 3312)||(codeMother == 3322)){
4661 Double_t XiPt = partMother->Pt();
4663 Double_t vFeedDownLa[3] = {5., invMLaFDcand, genLaPt};
4679 Double_t invMLaFDcand = 0;
4680 Double_t trackPt = mcfd->Pt();
4685 TClonesArray *st = 0x0;
4687 TList *lt = fAOD->GetList();
4690 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4692 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4693 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4695 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4697 Int_t v0lab = mcDaughterPart->GetMother();
4701 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4703 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4705 Double_t genLaPt = mcp->Pt();
4710 Double_t vFeedDownLaCone[3] = {jetPt, invMLaFDcand, genLaPt};
4722 Double_t invMALaFDcand = 0;
4723 Double_t trackPt = 0;
4728 TClonesArray *st = 0x0;
4730 TList *lt = fAOD->GetList();
4733 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4735 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4736 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4738 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4740 Int_t v0lab = mcDaughterPart->GetMother();
4742 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4744 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4746 Int_t motherlab = mcp->GetMother();
4748 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4751 Double_t genALaPt = mcp->Pt();
4755 iMother = mcp->GetMother();
4758 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4762 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4763 Int_t codeMother = -1;
4764 if(!partMother)
continue;
4766 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4771 if((codeMother == -3312)||(codeMother == -3322)){
4773 Double_t XiPt = partMother->Pt();
4775 Double_t vFeedDownALa[3] = {5., invMALaFDcand, genALaPt};
4793 Double_t invMALaFDcand = 0;
4794 Double_t trackPt = 0;
4799 TClonesArray *st = 0x0;
4801 TList *lt = fAOD->GetList();
4804 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4806 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4807 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4809 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4811 Int_t v0lab = mcDaughterPart->GetMother();
4813 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4815 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4817 Double_t genALaPt = mcp->Pt();
4819 Double_t vFeedDownALaCone[3] = {jetPt, invMALaFDcand, genALaPt};
4829 Double_t sumPtMCgenK0s = 0.;
4830 Bool_t isBadJetMCgenK0s = kFALSE;
4839 if(fDebug>2)Printf(
"%s:%d nMCgenK0s in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,
fListMCgenK0sCone->GetEntries(),GetFFRadius());
4844 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0sCone->At(it));
4848 Double_t fEtaMCgenK0s = mcp0->Eta();
4849 Double_t fPtMCgenK0s = mcp0->Pt();
5000 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
5002 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
5007 TVector3 v0MomVect(v0Mom);
5009 Double_t dPhiJetLa = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
5021 if(dPhiJetLa<fh1dPhiJetLa->GetXaxis()->GetXmin()) dPhiJetLa += 2*TMath::Pi();
5035 Double_t sumPtLa = 0.;
5036 Bool_t isBadJetLa = kFALSE;
5040 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetConeLalist->GetEntries(),GetFFRadius());
5044 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
jetConeLalist->At(it));
5051 if(daughtercheck == kFALSE)
continue;
5060 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5068 Double_t jetPtSmear = -1;
5107 if(incrementJetPt==kTRUE){
5111 Double_t vLaCone[4] = {jetPt, invMLa,trackPt,fEta};
5117 Bool_t incrementJetPt = kTRUE;
5119 Double_t vLaCone[4] = {jetPt, -1, -1, -1};
5122 if(incrementJetPt==kTRUE){
5126 Double_t jetPtSmear;
5128 if(incrementJetPt == kTRUE){
5140 Double_t sumPtMCgenLa = 0.;
5141 Bool_t isBadJetMCgenLa = kFALSE;
5148 if(fDebug>2)Printf(
"%s:%d nMCgenLa in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,
fListMCgenLaCone->GetEntries(),GetFFRadius());
5152 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenLaCone->At(it));
5156 Double_t fEtaMCgenLa = mcp0->Eta();
5157 Double_t fPtMCgenLa = mcp0->Pt();
5308 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
5310 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
5315 TVector3 v0MomVect(v0Mom);
5317 Double_t dPhiJetALa = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
5319 Double_t invMALa =0;
5329 if(dPhiJetALa<fh1dPhiJetALa->GetXaxis()->GetXmin()) dPhiJetALa += 2*TMath::Pi();
5343 Double_t sumPtALa = 0.;
5344 Bool_t isBadJetALa = kFALSE;
5348 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetConeALalist->GetEntries(),GetFFRadius());
5360 if(daughtercheck == kFALSE)
continue;
5363 Double_t invMALa =0;
5371 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5384 Double_t jetPtSmear = -1;
5414 if(incrementJetPt==kTRUE){
5418 Double_t vALaCone[4] = {jetPt, invMALa,trackPt,fEta};
5424 Bool_t incrementJetPt = kTRUE;
5426 if(incrementJetPt==kTRUE){
5430 Double_t vALaCone[4] = {jetPt, -1, -1, -1};
5434 Double_t jetPtSmear;
5456 for(Int_t ij=0; ij<nGenJets; ++ij){
5458 AliAODJet* jet =
dynamic_cast<AliAODJet*
>(fJetsGen->At(ij));
5461 TList* mclist = fAOD->GetList();
5462 if (!mclist){std::cout<<
"mclist does not exist for Embedding study: "<<std::endl;
continue;}
5465 Double_t ptFractionEmbeddedMC = 0;
5466 Double_t deltaREmbeddedMC = 0;
5467 Double_t ptFractionEmbedded = 0;
5468 Double_t deltaREmbedded = 0;
5469 AliAODJet* embeddedJet = 0;
5470 AliAODJet* matchedJet = 0;
5472 if(fBranchEmbeddedJets.Length()){
5474 Int_t indexEmbeddedMC = iGenMatchIndex[ij];
5475 ptFractionEmbeddedMC = fGenMatchPtFraction[ij];
5480 if(fDebug > 2)std::cout<<
" ij: "<<ij<<
" indexEmbeddedMC: "<<indexEmbeddedMC<<std::endl;
5484 if(indexEmbeddedMC > -1){
5486 embeddedJet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(indexEmbeddedMC));
5487 if(!embeddedJet)
continue;
5489 deltaREmbeddedMC = jet->DeltaR((AliVParticle*) (embeddedJet));
5491 Int_t indexExtra = iEmbeddedMatchIndex[indexEmbeddedMC];
5493 if(fDebug > 2)std::cout<<
" ij "<<ij<<
" deltaREmbeddedMC "<<deltaREmbeddedMC<<
" indexExtra "<<indexExtra<<std::endl;
5495 if(indexExtra > -1){
5497 matchedJet =
dynamic_cast<AliAODJet*
>(fJetsRecCuts->At(indexExtra));
5499 ptFractionEmbedded = fRecMatchPtFraction[indexExtra];
5500 deltaREmbedded = embeddedJet->DeltaR((AliVParticle*) (matchedJet));
5502 if(fDebug > 2)std::cout<<
"In gen. jet loop - jet matching - ij: "<<ij<<
" indexExtra: "<<indexExtra<<
" ptFractionEmbedded: "<<ptFractionEmbedded<<
" deltaREmbedded: "<<deltaREmbedded<<std::endl;
5509 TList* jettrackList =
new TList();
5510 Double_t sumPt = 0.;
5511 Bool_t isBadJet = kFALSE;
5513 TList* jettrackListMatch =
new TList();
5514 Double_t sumPtMatch = 0.;
5515 Bool_t isBadJetMatch = kFALSE;
5518 if(GetFFRadius()<=0){
5519 GetJetTracksTrackrefs(jettrackList, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
5522 else GetJetTracksPointing(fTracksGen, jettrackList, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
5524 if(GetFFMinNTracks()>0 && jettrackList->GetSize()<=GetFFMinNTracks()){isBadJet = kTRUE;}
5526 if(jettrackList->GetEntries() == 0){
5528 if(fDebug >2)std::cout<<
" Generated jet loop: jettrackList is empty! "<<std::endl;
5530 delete jettrackList;
5535 jettrackListMatch->Clear();
5539 if(GetFFRadius()<=0){
5540 GetJetTracksTrackrefs(jettrackListMatch, matchedJet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJetMatch);
5543 else GetJetTracksPointing(fTracksRecCuts, jettrackListMatch, matchedJet, GetFFRadius(), sumPtMatch, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJetMatch);}
5546 if(GetFFMinNTracks()>0 && jettrackListMatch->GetSize()<=GetFFMinNTracks()){isBadJetMatch = kTRUE;}
5548 if(jettrackListMatch->GetEntries() == 0){
5550 if(fDebug >2)std::cout<<
" Generated jet loop: jettrackListMatch is empty! "<<std::endl;
5552 delete jettrackListMatch;
5558 if(!embeddedJet)std::cout<<
"Gen. jet loop: no embedded jet (in extra branch) existing!! "<<std::endl;
5559 if(!matchedJet)std::cout<<
"Gen. jet loop: no matched jet (in extra branch) existing!! "<<std::endl;
5563 if((fDebug > 2) && embeddedJet && matchedJet) cout<<
" After leading pt cut: gen jet "<<ij<<
" pt "<<jet->Pt()<<
" embedded jet pt "<<embeddedJet->Pt()<<
" matched jet pt "<<matchedJet->Pt()
5564 <<
" ptFractionEmbeddedMC "<<ptFractionEmbeddedMC<<
" dRMC "<<deltaREmbeddedMC
5565 <<
" ptFractionEmbedded "<<ptFractionEmbedded<<
" dR "<<deltaREmbedded<<endl;
5582 Double_t embJetPt = embeddedJet->Pt();
5586 if(fDebug > 2)std::cout<<
" After MatchMode 2 matching cuts - embJetPt: "<<embJetPt<<std::endl;
5589 for(Int_t it=0; it<jettrackList->GetSize(); ++it){
5591 AliVParticle* trackVP =
dynamic_cast<AliVParticle*
>(
jettracklist->At(it));
5592 if(!trackVP)
continue;
5593 TLorentzVector* trackV =
new TLorentzVector(trackVP->Px(),trackVP->Py(),trackVP->Pz(),trackVP->P());
5595 Float_t jetPt = jet->Pt();
5597 if(matchedJet) jetPt = matchedJet->Pt();
5601 if(fDebug > 2)std::cout<<
" After MatchMode 2 matching cuts - jetPt: "<<jetPt<<std::endl;
5603 Float_t trackPt = trackV->Pt();
5605 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5607 if (ij==0) fFFHistosGen->FillFF(trackPt, jetPt, incrementJetPt);
5622 Double_t sumPtK0EmbMC = 0.;
5623 Bool_t isBadJetK0EmbMC = kFALSE;
5630 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetConeK0EmbMClist->GetEntries(),GetFFRadius());
5640 AliAODMCParticle *part =
dynamic_cast<AliAODMCParticle*
>(
jetConeK0EmbMClist->At(it));
5643 Double_t genPt = part->Pt();
5645 Float_t jetPt = jet->Pt();
5647 if(matchedJet) jetPt = matchedJet->Pt();
5651 if(fDebug > 2)std::cout<<
" gen. EmbCone K0s candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5662 Double_t sumPtLaEmbMC = 0.;
5664 Bool_t isBadJetLaEmbMC = kFALSE;
5671 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetConeLaEmbMClist->GetEntries(),GetFFRadius());
5679 AliAODMCParticle *part =
dynamic_cast<AliAODMCParticle*
>(
jetConeLaEmbMClist->At(it));
5682 Double_t genPt = part->Pt();
5684 Float_t jetPt = jet->Pt();
5686 if(matchedJet) jetPt = matchedJet->Pt();
5691 if(fDebug > 2)std::cout<<
" gen. EmbCone Lambda candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5700 Double_t sumPtALaEmbMC = 0.;
5702 Bool_t isBadJetALaEmbMC = kFALSE;
5708 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetConeALaEmbMClist->GetEntries(),GetFFRadius());
5718 Float_t jetPt = jet->Pt();
5720 if(matchedJet) jetPt = matchedJet->Pt();
5724 Double_t genPt = part->Pt();
5725 if(fDebug > 2)std::cout<<
" gen. EmbCone ALambda candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5735 delete jettrackList;
5736 delete jettrackListMatch;
5774 fTracksRecCuts->Clear();
5776 fTracksGen->Clear();
5777 fJetsRecCuts->Clear();
5779 fJetsEmbedded->Clear();
5780 fBckgJetsRec->Clear();
5804 PostData(1, fCommonHistList);
5817 h->GetXaxis()->SetTitleColor(1);
5818 h->GetYaxis()->SetTitleColor(1);
5819 h->GetZaxis()->SetTitleColor(1);
5830 const AliAODTrack *ntracktest=(AliAODTrack *)v0->GetDaughter(nnum);
5831 if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;}
5833 const AliAODTrack *trackNeg=(AliAODTrack *)(v0->GetDaughter(nnum));
5834 const AliAODTrack *trackPos=(AliAODTrack *)(v0->GetDaughter(pnum));
5837 if (!trackPos || !trackNeg) {
5838 Printf(
"strange analysis::UserExec:: Error:Could not retrieve one of the daughter tracks\n");
5843 if ( trackPos->Charge() == trackNeg->Charge() ){
5849 Double_t nsig_p = 0;
5850 Double_t nsig_n = 0;
5852 const AliAODPid *pid_p=trackPos->GetDetPid();
5853 const AliAODPid *pid_n=trackNeg->GetDetPid();
5855 if(!pid_p)
return kFALSE;
5856 if(!pid_n)
return kFALSE;
5860 if(particletype == 1)
5863 nsig_p=PIDResponse->NumberOfSigmasTPC(trackPos,AliPID::kProton);
5864 Double_t protonPt = trackPos->Pt();
5874 if(particletype == 2)
5876 nsig_n=PIDResponse->NumberOfSigmasTPC(trackNeg,AliPID::kProton);
5877 Double_t antiprotonPt = trackNeg->Pt();
5912 if(fDebug>1) Printf(
"%s:%d no input list", (
char*)__FILE__,__LINE__);
5916 if(fDebug>5){std::cout<<
"AliAnalysisTaskJetChem::GetListOfV0s(): type: "<<type<<
" particletype: "<<particletype<<
"aod: "<<aod<<std::endl;
5917 if(type==
kV0TypeUndef){std::cout<<
"AliAnalysisTaskJetChem::GetListOfV0s(): kV0TypeUndef!! "<<std::endl;}
5923 if(!primVertex)
return 0;
5925 Double_t lPrimaryVtxPosition[3];
5926 Double_t lV0Position[3];
5927 lPrimaryVtxPosition[0] = primVertex->GetX();
5928 lPrimaryVtxPosition[1] = primVertex->GetY();
5929 lPrimaryVtxPosition[2] = primVertex->GetZ();
5931 if(fDebug>5){ std::cout<<
"AliAnalysisTaskJetChem::GetListOfV0s(): aod->GetNumberOfV0s: "<<aod->GetNumberOfV0s()<<std::endl;}
5937 TClonesArray *aodExtrav0s = 0x0;
5939 if(particletype ==
kK0){aodExtrav0s =
dynamic_cast<TClonesArray*
>(fAOD->FindListObject(
"aodExtraK0s"));}
5941 if(particletype ==
kLambda){aodExtrav0s =
dynamic_cast<TClonesArray*
>(fAOD->FindListObject(
"aodExtraLa"));}
5943 if(particletype ==
kAntiLambda){aodExtrav0s =
dynamic_cast<TClonesArray*
>(fAOD->FindListObject(
"aodExtraALa"));}
5945 if(!aodExtrav0s){std::cout<<
"AliAnalysisTaskJetChem::GetListOfV0s(): aodExtraV0s list object not found!!!!"<<std::endl;
return iCount;}