30 #include "Riostream.h"
43 #include "THnSparse.h"
47 #include "TDatabasePDG.h"
49 #include "AliAnalysisManager.h"
50 #include "AliAODHandler.h"
51 #include "AliAODHeader.h"
52 #include "AliAODInputHandler.h"
53 #include "AliESDEvent.h"
54 #include "AliGenPythiaEventHeader.h"
55 #include "AliGenHijingEventHeader.h"
56 #include "AliGenEventHeader.h"
57 #include "TLorentzVector.h"
58 #include "AliAODEvent.h"
59 #include "AliAODJet.h"
61 #include "AliAODTrack.h"
62 #include "AliCentrality.h"
63 #include "AliAnalysisTaskSE.h"
64 #include "AliESDtrack.h"
65 #include "AliESDtrackCuts.h"
66 #include "AliESDEvent.h"
67 #include "AliESDInputHandler.h"
69 #include "AliPIDResponse.h"
70 #include "AliAODPid.h"
71 #include "AliExternalTrackParam.h"
73 #include "AliPhysicsSelection.h"
74 #include "AliBackgroundSelection.h"
75 #include "AliInputEventHandler.h"
76 #include "AliAODMCHeader.h"
77 #include "AliAODPid.h"
78 #include "AliVEvent.h"
79 #include "AliAODMCParticle.h"
91 : AliAnalysisTaskFragmentationFunction()
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)
157 ,fTracksRecBckgCuts(0)
164 ,fFFHistosRecCutsK0Evt(0)
181 ,fListFeeddownLaCand(0)
182 ,fListFeeddownALaCand(0)
188 ,fListMCgenK0sCone(0)
190 ,fListMCgenALaCone(0)
191 ,IsArmenterosSelected(0)
195 ,fUseEmbeddedJetPt(0)
216 ,fFFIMLaNBinsJetPt(0)
245 ,fh1IndexEmbeddedMC(0)
246 ,fh1PtEmbBeforeMatch(0)
247 ,fh1PtEmbExtraOnly(0)
249 ,fh2PtEtaEmbReject(0)
250 ,fh1PtEmbAfterMatch(0)
251 ,fh1FractionPtEmbedded(0)
252 ,fh1DeltaREmbedded(0)
253 ,fh1FractionPtEmbeddedMC(0)
254 ,fh2FractionPtVsEmbeddedJetPtMC(0)
255 ,fh1DeltaREmbeddedMC(0)
256 ,fh1JetPtEmbGenAfterMatch(0)
257 ,fh2TracksPerpCone(0)
279 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
280 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
282 ,fh1DcaV0Daughters(0)
283 ,fh1DcaPosToPrimVertex(0)
284 ,fh1DcaNegToPrimVertex(0)
285 ,fh2ArmenterosBeforeCuts(0)
286 ,fh2ArmenterosAfterCuts(0)
289 ,fh1PosDaughterCharge(0)
290 ,fh1NegDaughterCharge(0)
306 ,fh1BckgJetsPtBias(0)
307 ,fhnInvMassEtaTrackPtK0s(0)
308 ,fhnInvMassEtaTrackPtLa(0)
309 ,fhnInvMassEtaTrackPtALa(0)
332 ,fh1IMALaConeSmear(0)
361 ,fhnK0sEmbConeStandard(0)
366 ,fhnLaEmbConeStandard(0)
371 ,fhnALaEmbConeStandard(0)
396 ,fh1MCMultiplicityPrimary(0)
397 ,fh1MCMultiplicityTracks(0)
400 ,fhnFeedDownLaCone(0)
401 ,fhnFeedDownALaCone(0)
404 ,fh1MCProdRadiusK0s(0)
405 ,fh1MCProdRadiusLambda(0)
406 ,fh1MCProdRadiusAntiLambda(0)
410 ,fh1MCPtAntiLambda(0)
422 ,fh1MCEtaAntiLambda(0)
430 : AliAnalysisTaskFragmentationFunction(name)
446 ,fCutK0cosPointAngle(0)
447 ,fCutLacosPointAngle(0)
454 ,fCutDcaV0Daughters(0)
455 ,fCutDcaPosToPrimVertex(0)
456 ,fCutDcaNegToPrimVertex(0)
461 ,fCutFractionPtEmbedded(0)
462 ,fCutDeltaREmbedded(0)
472 ,jetConeALaEmblist(0)
473 ,jetConeK0EmbStlist(0)
474 ,jetConeLaEmbStlist(0)
475 ,jetConeALaEmbStlist(0)
477 ,jetConeK0EmbMClist(0)
478 ,jetConeLaEmbMClist(0)
479 ,jetConeALaEmbMClist(0)
481 ,jetPerpConeK0list(0)
482 ,jetPerpRecCutslist(0)
483 ,jetPerpConeK0Emblist(0)
484 ,jetPerpConeLalist(0)
485 ,jetPerpConeLaEmblist(0)
486 ,jetPerpConeALalist(0)
487 ,jetPerpConeALaEmblist(0)
488 ,jetMedianConeK0list(0)
489 ,jetMedianConeLalist(0)
490 ,jetMedianConeALalist(0)
491 ,jetMedianRecCutslist(0)
496 ,fTracksRecBckgCuts(0)
503 ,fFFHistosRecCutsK0Evt(0)
520 ,fListFeeddownLaCand(0)
521 ,fListFeeddownALaCand(0)
527 ,fListMCgenK0sCone(0)
529 ,fListMCgenALaCone(0)
530 ,IsArmenterosSelected(0)
534 ,fUseEmbeddedJetPt(0)
555 ,fFFIMLaNBinsJetPt(0)
584 ,fh1IndexEmbeddedMC(0)
585 ,fh1PtEmbBeforeMatch(0)
586 ,fh1PtEmbExtraOnly(0)
588 ,fh2PtEtaEmbReject(0)
589 ,fh1PtEmbAfterMatch(0)
590 ,fh1FractionPtEmbedded(0)
591 ,fh1DeltaREmbedded(0)
592 ,fh1FractionPtEmbeddedMC(0)
593 ,fh2FractionPtVsEmbeddedJetPtMC(0)
594 ,fh1DeltaREmbeddedMC(0)
595 ,fh1JetPtEmbGenAfterMatch(0)
596 ,fh2TracksPerpCone(0)
618 ,fh2ProperLifetimeK0sVsPtBeforeCut(0)
619 ,fh2ProperLifetimeK0sVsPtAfterCut(0)
621 ,fh1DcaV0Daughters(0)
622 ,fh1DcaPosToPrimVertex(0)
623 ,fh1DcaNegToPrimVertex(0)
624 ,fh2ArmenterosBeforeCuts(0)
625 ,fh2ArmenterosAfterCuts(0)
628 ,fh1PosDaughterCharge(0)
629 ,fh1NegDaughterCharge(0)
645 ,fh1BckgJetsPtBias(0)
646 ,fhnInvMassEtaTrackPtK0s(0)
647 ,fhnInvMassEtaTrackPtLa(0)
648 ,fhnInvMassEtaTrackPtALa(0)
671 ,fh1IMALaConeSmear(0)
700 ,fhnK0sEmbConeStandard(0)
705 ,fhnLaEmbConeStandard(0)
710 ,fhnALaEmbConeStandard(0)
735 ,fh1MCMultiplicityPrimary(0)
736 ,fh1MCMultiplicityTracks(0)
739 ,fhnFeedDownLaCone(0)
740 ,fhnFeedDownALaCone(0)
743 ,fh1MCProdRadiusK0s(0)
744 ,fh1MCProdRadiusLambda(0)
745 ,fh1MCProdRadiusAntiLambda(0)
749 ,fh1MCPtAntiLambda(0)
761 ,fh1MCEtaAntiLambda(0)
767 DefineOutput(1,TList::Class());
772 : AliAnalysisTaskFragmentationFunction()
774 ,fRandom(copy.fRandom)
775 ,fMatchMode(copy.fMatchMode)
776 ,fIsNJEventEmb(copy.fIsNJEventEmb)
777 ,fAnalysisMC(copy.fAnalysisMC)
778 ,fDeltaVertexZ(copy.fDeltaVertexZ)
779 ,fCutjetEta(copy.fCutjetEta)
780 ,fCuttrackNegNcls(copy.fCuttrackNegNcls)
781 ,fCuttrackPosNcls(copy.fCuttrackPosNcls)
782 ,fCutPostrackRap(copy.fCutPostrackRap)
783 ,fCutNegtrackRap(copy.fCutNegtrackRap)
784 ,fCutRap(copy.fCutRap)
785 ,fCutPostrackEta(copy.fCutPostrackEta)
786 ,fCutNegtrackEta(copy.fCutNegtrackEta)
787 ,fCutEta(copy.fCutEta)
788 ,fCutK0cosPointAngle(copy.fCutK0cosPointAngle)
789 ,fCutLacosPointAngle(copy.fCutLacosPointAngle)
790 ,fKinkDaughters(copy.fKinkDaughters)
791 ,fRequireTPCRefit(copy.fRequireTPCRefit)
792 ,fCutArmenteros(copy.fCutArmenteros)
793 ,fCutV0DecayMin(copy.fCutV0DecayMin)
794 ,fCutV0DecayMax(copy.fCutV0DecayMax)
795 ,fCutV0totMom(copy.fCutV0totMom)
796 ,fCutDcaV0Daughters(copy.fCutDcaV0Daughters)
797 ,fCutDcaPosToPrimVertex(copy.fCutDcaPosToPrimVertex)
798 ,fCutDcaNegToPrimVertex(copy.fCutDcaNegToPrimVertex)
799 ,fCutV0RadiusMin(copy.fCutV0RadiusMin)
800 ,fCutV0RadiusMax(copy.fCutV0RadiusMax)
801 ,fCutBetheBloch(copy.fCutBetheBloch)
802 ,fCutRatio(copy.fCutRatio)
803 ,fCutFractionPtEmbedded(copy.fCutFractionPtEmbedded)
804 ,fCutDeltaREmbedded(copy.fCutDeltaREmbedded)
806 ,fK0Type(copy.fK0Type)
807 ,fFilterMaskK0(copy.fFilterMaskK0)
808 ,jettracklist(copy.jettracklist)
809 ,jetConeK0list(copy.jetConeK0list)
810 ,jetConeLalist(copy.jetConeLalist)
811 ,jetConeALalist(copy.jetConeALalist)
812 ,jetConeK0Emblist(copy.jetConeK0Emblist)
813 ,jetConeLaEmblist(copy.jetConeLaEmblist)
814 ,jetConeALaEmblist(copy.jetConeALaEmblist)
815 ,jetConeK0EmbStlist(copy.jetConeK0EmbStlist)
816 ,jetConeLaEmbStlist(copy.jetConeLaEmbStlist)
817 ,jetConeALaEmbStlist(copy.jetConeALaEmbStlist)
819 ,jetConeK0EmbMClist(copy.jetConeK0EmbMClist)
820 ,jetConeLaEmbMClist(copy.jetConeLaEmbMClist)
821 ,jetConeALaEmbMClist(copy.jetConeALaEmbMClist)
823 ,jetPerpConeK0list(copy.jetPerpConeK0list)
824 ,jetPerpRecCutslist(copy.jetPerpRecCutslist)
825 ,jetPerpConeK0Emblist(copy.jetPerpConeK0Emblist)
826 ,jetPerpConeLalist(copy.jetPerpConeLalist)
827 ,jetPerpConeLaEmblist(copy.jetPerpConeLaEmblist)
828 ,jetPerpConeALalist(copy.jetPerpConeALalist)
829 ,jetPerpConeALaEmblist(copy.jetPerpConeALaEmblist)
830 ,jetMedianConeK0list(copy.jetMedianConeK0list)
831 ,jetMedianConeLalist(copy.jetMedianConeLalist)
832 ,jetMedianConeALalist(copy.jetMedianConeALalist)
833 ,jetMedianRecCutslist(copy.jetMedianRecCutslist)
834 ,fListK0sRC(copy.fListK0sRC)
835 ,fListLaRC(copy.fListLaRC)
836 ,fListALaRC(copy.fListALaRC)
837 ,fTracksRecCutsRC(copy.fTracksRecCutsRC)
838 ,fTracksRecBckgCuts(copy.fTracksRecBckgCuts)
839 ,fTracksPerpCone(copy.fTracksPerpCone)
840 ,fListK0s(copy.fListK0s)
841 ,fListK0sMC(copy.fListK0sMC)
842 ,fListK0sStandard(copy.fListK0sStandard)
843 ,fPIDResponse(copy.fPIDResponse)
844 ,fV0QAK0(copy.fV0QAK0)
845 ,fFFHistosRecCutsK0Evt(copy.fFFHistosRecCutsK0Evt)
849 ,fLaType(copy.fLaType)
850 ,fFilterMaskLa(copy.fFilterMaskLa)
851 ,fListLa(copy.fListLa)
852 ,fListLaMC(copy.fListLaMC)
853 ,fListLaStandard(copy.fListLaStandard)
857 ,fALaType(copy.fALaType)
858 ,fFilterMaskALa(copy.fFilterMaskALa)
859 ,fListALa(copy.fListALa)
860 ,fListALaMC(copy.fListALaMC)
861 ,fListALaStandard(copy.fListALaStandard)
862 ,fListFeeddownLaCand(copy.fListFeeddownLaCand)
863 ,fListFeeddownALaCand(copy.fListFeeddownALaCand)
864 ,jetConeFDLalist(copy.jetConeFDLalist)
865 ,jetConeFDALalist(copy.jetConeFDALalist)
866 ,fListMCgenK0s(copy.fListMCgenK0s)
867 ,fListMCgenLa(copy.fListMCgenLa)
868 ,fListMCgenALa(copy.fListMCgenALa)
869 ,fListMCgenK0sCone(copy.fListMCgenK0sCone)
870 ,fListMCgenLaCone(copy.fListMCgenLaCone)
871 ,fListMCgenALaCone(copy.fListMCgenALaCone)
872 ,IsArmenterosSelected(copy.IsArmenterosSelected)
873 ,fUseNJEvents(copy.fUseNJEvents)
874 ,fUseExtraTracks(copy.fUseExtraTracks)
875 ,fUseExtraJetPt(copy.fUseExtraJetPt)
876 ,fUseEmbeddedJetPt(copy.fUseEmbeddedJetPt)
878 ,fUseStandard(copy.fUseStandard)
882 ,fFFIMNBinsJetPt(copy.fFFIMNBinsJetPt)
883 ,fFFIMJetPtMin(copy.fFFIMJetPtMin)
884 ,fFFIMJetPtMax(copy.fFFIMJetPtMax)
885 ,fFFIMNBinsInvM(copy.fFFIMNBinsInvM)
886 ,fFFIMInvMMin(copy.fFFIMInvMMin)
887 ,fFFIMInvMMax(copy.fFFIMInvMMax)
888 ,fFFIMNBinsPt(copy.fFFIMNBinsPt)
889 ,fFFIMPtMin(copy.fFFIMPtMin)
890 ,fFFIMPtMax(copy.fFFIMPtMax)
891 ,fFFIMNBinsXi(copy.fFFIMNBinsXi)
892 ,fFFIMXiMin(copy.fFFIMXiMin)
893 ,fFFIMXiMax(copy.fFFIMXiMax)
894 ,fFFIMNBinsZ(copy.fFFIMNBinsZ)
895 ,fFFIMZMin(copy.fFFIMZMin)
896 ,fFFIMZMax(copy.fFFIMZMax)
897 ,fFFIMLaNBinsJetPt(copy.fFFIMLaNBinsJetPt)
898 ,fFFIMLaJetPtMin(copy.fFFIMLaJetPtMin)
899 ,fFFIMLaJetPtMax(copy.fFFIMLaJetPtMax)
900 ,fFFIMLaNBinsInvM(copy.fFFIMLaNBinsInvM)
901 ,fFFIMLaInvMMin(copy.fFFIMLaInvMMin)
902 ,fFFIMLaInvMMax(copy.fFFIMLaInvMMax)
903 ,fFFIMLaNBinsPt(copy.fFFIMLaNBinsPt)
904 ,fFFIMLaPtMin(copy.fFFIMLaPtMin)
905 ,fFFIMLaPtMax(copy.fFFIMLaPtMax)
906 ,fFFIMLaNBinsXi(copy.fFFIMLaNBinsXi)
907 ,fFFIMLaXiMin(copy.fFFIMLaXiMin)
908 ,fFFIMLaXiMax(copy.fFFIMLaXiMax)
909 ,fFFIMLaNBinsZ(copy.fFFIMLaNBinsZ)
910 ,fFFIMLaZMin(copy.fFFIMLaZMin)
911 ,fFFIMLaZMax(copy.fFFIMLaZMax)
912 ,fh1EvtAllCent(copy.fh1EvtAllCent)
914 ,fh1K0Mult(copy.fh1K0Mult)
915 ,fh1dPhiJetK0(copy.fh1dPhiJetK0)
916 ,fh1LaMult(copy.fh1LaMult)
917 ,fh1dPhiJetLa(copy.fh1dPhiJetLa)
918 ,fh1ALaMult(copy.fh1ALaMult)
919 ,fh1dPhiJetALa(copy.fh1dPhiJetALa)
920 ,fh1JetEta(copy.fh1JetEta)
921 ,fh1JetPhi(copy.fh1JetPhi)
922 ,fh2JetEtaPhi(copy.fh2JetEtaPhi)
923 ,fh1nEmbeddedJets(copy.fh1nEmbeddedJets)
924 ,fh1nGenJets(copy.fh1nGenJets)
925 ,fh1IndexEmbedded(copy.fh1IndexEmbedded)
926 ,fh1IndexEmbeddedMC(copy.fh1IndexEmbeddedMC)
927 ,fh1PtEmbBeforeMatch(copy.fh1PtEmbBeforeMatch)
928 ,fh1PtEmbExtraOnly(copy.fh1PtEmbExtraOnly)
929 ,fh1PtEmbReject(copy.fh1PtEmbReject)
930 ,fh2PtEtaEmbReject(copy.fh2PtEtaEmbReject)
931 ,fh1PtEmbAfterMatch(copy.fh1PtEmbAfterMatch)
932 ,fh1FractionPtEmbedded(copy.fh1FractionPtEmbedded)
933 ,fh1DeltaREmbedded(copy.fh1DeltaREmbedded)
934 ,fh1FractionPtEmbeddedMC(copy.fh1FractionPtEmbeddedMC)
935 ,fh2FractionPtVsEmbeddedJetPtMC(copy.fh2FractionPtVsEmbeddedJetPtMC)
936 ,fh1DeltaREmbeddedMC(copy.fh1DeltaREmbeddedMC)
937 ,fh1JetPtEmbGenAfterMatch(copy.fh1JetPtEmbGenAfterMatch)
938 ,fh2TracksPerpCone(copy.fh2TracksPerpCone)
939 ,fh1PerpCone(copy.fh1PerpCone)
941 ,fh1V0PtCandidate(copy.fh1V0PtCandidate)
942 ,fh1IMK0Cone(copy.fh1IMK0Cone)
943 ,fh1IMLaCone(copy.fh1IMLaCone)
944 ,fh1IMALaCone(copy.fh1IMALaCone)
945 ,fh1IMK0EmbCone(copy.fh1IMK0EmbCone)
946 ,fh1IMLaEmbCone(copy.fh1IMLaEmbCone)
947 ,fh1IMALaEmbCone(copy.fh1IMALaEmbCone)
948 ,fh2FFJetTrackEta(copy.fh2FFJetTrackEta)
951 ,fh1trackPosRap(copy.fh1trackPosRap)
952 ,fh1trackNegRap(copy.fh1trackNegRap)
954 ,fh1trackPosEta(copy.fh1trackPosEta)
955 ,fh1trackNegEta(copy.fh1trackNegEta)
956 ,fh1V0Eta(copy.fh1V0Eta)
958 ,fh1CosPointAngle(copy.fh1CosPointAngle)
959 ,fh1DecayLengthV0(copy.fh1DecayLengthV0)
960 ,fh2ProperLifetimeK0sVsPtBeforeCut(copy.fh2ProperLifetimeK0sVsPtBeforeCut)
961 ,fh2ProperLifetimeK0sVsPtAfterCut(copy.fh2ProperLifetimeK0sVsPtAfterCut)
962 ,fh1V0Radius(copy.fh1V0Radius)
963 ,fh1DcaV0Daughters(copy.fh1DcaV0Daughters)
964 ,fh1DcaPosToPrimVertex(copy.fh1DcaPosToPrimVertex)
965 ,fh1DcaNegToPrimVertex(copy.fh1DcaNegToPrimVertex)
966 ,fh2ArmenterosBeforeCuts(copy.fh2ArmenterosBeforeCuts)
967 ,fh2ArmenterosAfterCuts(copy.fh2ArmenterosAfterCuts)
968 ,fh2BBLaPos(copy.fh2BBLaPos)
969 ,fh2BBLaNeg(copy.fh2BBLaPos)
970 ,fh1PosDaughterCharge(copy.fh1PosDaughterCharge)
971 ,fh1NegDaughterCharge(copy.fh1NegDaughterCharge)
972 ,fh1PtMCK0s(copy.fh1PtMCK0s)
973 ,fh1PtMCLa(copy.fh1PtMCLa)
974 ,fh1PtMCALa(copy.fh1PtMCALa)
975 ,fh1EtaK0s(copy.fh1EtaK0s)
976 ,fh1EtaLa(copy.fh1EtaLa)
977 ,fh1EtaALa(copy.fh1EtaALa)
979 ,fh1RCBiasK0(copy.fh1RCBiasK0)
980 ,fh1RCBiasLa(copy.fh1RCBiasLa)
981 ,fh1RCBiasALa(copy.fh1RCBiasALa)
985 ,fh1NJEmbEvt(copy.fh1NJEmbEvt)
986 ,fh1BckgJets(copy.fh1BckgJets)
987 ,fh1BckgJetsPtBias(copy.fh1BckgJetsPtBias)
988 ,fhnInvMassEtaTrackPtK0s(copy.fhnInvMassEtaTrackPtK0s)
989 ,fhnInvMassEtaTrackPtLa(copy.fhnInvMassEtaTrackPtLa)
990 ,fhnInvMassEtaTrackPtALa(copy.fhnInvMassEtaTrackPtALa)
991 ,fh1TrackMultCone(copy.fh1TrackMultCone)
992 ,fh2TrackMultCone(copy.fh2TrackMultCone)
993 ,fhnNJK0(copy.fhnNJK0)
994 ,fhnNJLa(copy.fhnNJLa)
995 ,fhnNJALa(copy.fhnNJALa)
1001 ,fhnMCgenK0Cone(copy.fhnMCgenK0Cone)
1002 ,fhnMCgenLaCone(copy.fhnMCgenLaCone)
1011 ,fh1IMK0ConeSmear(copy.fh1IMK0ConeSmear)
1012 ,fh1IMLaConeSmear(copy.fh1IMLaConeSmear)
1013 ,fh1IMALaConeSmear(copy.fh1IMALaConeSmear)
1014 ,fh2MC2K0Cone(copy.fh2MC2K0Cone)
1015 ,fh2MC2LaCone(copy.fh2MC2LaCone)
1016 ,fh2MC2ALaCone(copy.fh2MC2ALaCone)
1030 ,fhnMCrecK0Cone(copy.fhnMCrecK0Cone)
1031 ,fhnMCrecLaCone(copy.fhnMCrecLaCone)
1032 ,fhnMCrecALaCone(copy.fhnMCrecALaCone)
1039 ,fhnK0sIncl(copy.fhnK0sIncl)
1040 ,fhnK0sCone(copy.fhnK0sCone)
1041 ,fhnK0sEmbCone(copy.fhnK0sEmbCone)
1042 ,fhnK0sEmbConeRef(copy.fhnK0sEmbConeRef)
1043 ,fhnK0sEmbConeStandard(copy.fhnK0sEmbConeStandard)
1044 ,fhnLaIncl(copy.fhnLaIncl)
1045 ,fhnLaCone(copy.fhnLaCone)
1046 ,fhnLaEmbCone(copy.fhnLaEmbCone)
1047 ,fhnLaEmbConeRef(copy.fhnLaEmbConeRef)
1048 ,fhnLaEmbConeStandard(copy.fhnLaEmbConeStandard)
1049 ,fhnALaIncl(copy.fhnALaIncl)
1050 ,fhnALaCone(copy.fhnALaCone)
1051 ,fhnALaEmbCone(copy.fhnALaEmbCone)
1052 ,fhnALaEmbConeRef(copy.fhnALaEmbConeRef)
1053 ,fhnALaEmbConeStandard(copy.fhnALaEmbConeStandard)
1055 ,fh2MCEmbK0sJetPt(copy.fh2MCEmbK0sJetPt)
1056 ,fh2MCEmbLaJetPt(copy.fh2MCEmbLaJetPt)
1057 ,fh2MCEmbALaJetPt(copy.fh2MCEmbALaJetPt)
1059 ,fhnK0sPC(copy.fhnK0sPC)
1060 ,fhnK0sEmbPC(copy.fhnK0sEmbPC)
1061 ,fhnLaPC(copy.fhnLaPC)
1062 ,fhnLaEmbPC(copy.fhnLaEmbPC)
1063 ,fhnALaPC(copy.fhnALaPC)
1064 ,fhnALaEmbPC(copy.fhnALaEmbPC)
1065 ,fhnK0sMCC(copy.fhnK0sMCC)
1066 ,fhnLaMCC(copy.fhnLaMCC)
1067 ,fhnALaMCC(copy.fhnALaMCC)
1068 ,fhnK0sRC(copy.fhnK0sRC)
1069 ,fhnLaRC(copy.fhnLaRC)
1070 ,fhnALaRC(copy.fhnALaRC)
1071 ,fhnK0sRCBias(copy.fhnK0sRCBias)
1072 ,fhnLaRCBias(copy.fhnLaRCBias)
1073 ,fhnALaRCBias(copy.fhnALaRCBias)
1074 ,fhnK0sOC(copy.fhnK0sOC)
1075 ,fhnLaOC(copy.fhnLaOC)
1076 ,fhnALaOC(copy.fhnALaOC)
1077 ,fh1AreaExcluded(copy.fh1AreaExcluded)
1078 ,fh1MedianEta(copy.fh1MedianEta)
1079 ,fh1JetPtMedian(copy.fh1JetPtMedian)
1080 ,fh1MCMultiplicityPrimary(copy.fh1MCMultiplicityPrimary)
1081 ,fh1MCMultiplicityTracks(copy.fh1MCMultiplicityTracks)
1082 ,fhnFeedDownLa(copy.fhnFeedDownLa)
1083 ,fhnFeedDownALa(copy.fhnFeedDownALa)
1084 ,fhnFeedDownLaCone(copy.fhnFeedDownLaCone)
1085 ,fhnFeedDownALaCone(copy.fhnFeedDownALaCone)
1086 ,fh2FeedDownXiLa(copy.fh2FeedDownXiLa)
1087 ,fh2FeedDownXiALa(copy.fh2FeedDownXiALa)
1088 ,fh1MCProdRadiusK0s(copy.fh1MCProdRadiusK0s)
1089 ,fh1MCProdRadiusLambda(copy.fh1MCProdRadiusLambda)
1090 ,fh1MCProdRadiusAntiLambda(copy.fh1MCProdRadiusAntiLambda)
1091 ,fh1MCPtV0s(copy.fh1MCPtV0s)
1092 ,fh1MCPtK0s(copy.fh1MCPtK0s)
1093 ,fh1MCPtLambda(copy.fh1MCPtLambda)
1094 ,fh1MCPtAntiLambda(copy.fh1MCPtAntiLambda)
1095 ,fh1MCXiPt(copy.fh1MCXiPt)
1096 ,fh1MCXibarPt(copy.fh1MCXibarPt)
1097 ,fh2MCEtaVsPtK0s(copy.fh2MCEtaVsPtK0s)
1098 ,fh2MCEtaVsPtLa(copy.fh2MCEtaVsPtLa)
1099 ,fh2MCEtaVsPtALa(copy.fh2MCEtaVsPtALa)
1103 ,fh1MCEtaAllK0s(copy.fh1MCEtaAllK0s)
1104 ,fh1MCEtaK0s(copy.fh1MCEtaK0s)
1105 ,fh1MCEtaLambda(copy.fh1MCEtaLambda)
1106 ,fh1MCEtaAntiLambda(copy.fh1MCEtaAntiLambda)
1119 AliAnalysisTaskFragmentationFunction::operator=(o);
1508 Int_t nJetPt, Float_t jetPtMin, Float_t jetPtMax,
1509 Int_t nInvMass, Float_t invMassMin, Float_t invMassMax,
1511 Int_t nXi, Float_t xiMin, Float_t xiMax,
1512 Int_t nZ , Float_t zMin , Float_t zMax )
1514 ,fNBinsJetPt(nJetPt)
1515 ,fJetPtMin(jetPtMin)
1516 ,fJetPtMax(jetPtMax)
1517 ,fNBinsInvMass(nInvMass)
1518 ,fInvMassMin(invMassMin)
1519 ,fInvMassMax(invMassMax)
1542 ,fNBinsJetPt(copy.fNBinsJetPt)
1543 ,fJetPtMin(copy.fJetPtMin)
1544 ,fJetPtMax(copy.fJetPtMax)
1545 ,fNBinsInvMass(copy.fNBinsInvMass)
1546 ,fInvMassMin(copy.fInvMassMin)
1547 ,fInvMassMax(copy.fInvMassMax)
1548 ,fNBinsPt(copy.fNBinsPt)
1549 ,fPtMin(copy.fPtMin)
1550 ,fPtMax(copy.fPtMax)
1551 ,fNBinsXi(copy.fNBinsXi)
1552 ,fXiMin(copy.fXiMin)
1553 ,fXiMax(copy.fXiMax)
1554 ,fNBinsZ(copy.fNBinsZ)
1557 ,fh3TrackPt(copy.fh3TrackPt)
1560 ,fh1JetPt(copy.fh1JetPt)
1561 ,fNameFF(copy.fNameFF)
1572 TObject::operator=(o);
1603 if(fh1JetPt)
delete fh1JetPt;
1604 if(fh3TrackPt)
delete fh3TrackPt;
1605 if(fh3Xi)
delete fh3Xi;
1606 if(fh3Z)
delete fh3Z;
1614 fh1JetPt =
new TH1F(Form(
"fh1FFJetPtIM%s", fNameFF.Data()),
"",fNBinsJetPt,fJetPtMin,fJetPtMax);
1615 fh3TrackPt =
new TH3F(Form(
"fh3FFTrackPtIM%s",fNameFF.Data()),
"",fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsPt, fPtMin, fPtMax);
1616 fh3Xi =
new TH3F(Form(
"fh3FFXiIM%s", fNameFF.Data()),
"", fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsXi, fXiMin, fXiMax);
1617 fh3Z =
new TH3F(Form(
"fh3FFZIM%s", fNameFF.Data()),
"", fNBinsJetPt, fJetPtMin, fJetPtMax, fNBinsInvMass, fInvMassMin, fInvMassMax, fNBinsZ, fZMin, fZMax);
1619 AliAnalysisTaskFragmentationFunction::SetProperties(fh1JetPt,
"p_{t} (GeV/c)",
"entries");
1630 if(incrementJetPt) fh1JetPt->Fill(jetPt);
1634 if(jetPt>0) z = trackPt / jetPt;
1647 list->Add(fh1JetPt);
1662 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserCreateOutputObjects()");
1725 fTracksRecCuts =
new TList();
1726 fTracksRecCuts->SetOwner(kFALSE);
1727 fTracksGen =
new TList();
1728 fTracksGen->SetOwner(kFALSE);
1731 fJetsRecCuts =
new TList();
1732 fJetsRecCuts->SetOwner(kFALSE);
1733 fJetsGen =
new TList();
1734 fJetsGen->SetOwner(kFALSE);
1735 fJetsEmbedded =
new TList();
1736 fJetsEmbedded->SetOwner(kFALSE);
1737 fBckgJetsRec =
new TList();
1738 fBckgJetsRec->SetOwner(kFALSE);
1780 fCommonHistList =
new TList();
1781 fCommonHistList->SetOwner();
1783 Bool_t oldStatus = TH1::AddDirectoryStatus();
1784 TH1::AddDirectory(kFALSE);
1788 fh1EvtSelection =
new TH1F(
"fh1EvtSelection",
"Event Selection", 6, -0.5, 5.5);
1789 fh1EvtSelection->GetXaxis()->SetBinLabel(1,
"ACCEPTED");
1790 fh1EvtSelection->GetXaxis()->SetBinLabel(2,
"event trigger selection: rejected");
1791 fh1EvtSelection->GetXaxis()->SetBinLabel(3,
"event class: rejected");
1792 fh1EvtSelection->GetXaxis()->SetBinLabel(4,
"vertex Ncontr: rejected");
1793 fh1EvtSelection->GetXaxis()->SetBinLabel(5,
"vertex z: rejected");
1794 fh1EvtSelection->GetXaxis()->SetBinLabel(6,
"vertex type: rejected");
1797 fh1EvtCent =
new TH1F(
"fh1EvtCent",
"centrality",100,0.,100.);
1798 fh1VertexNContributors =
new TH1F(
"fh1VertexNContributors",
"Vertex N contributors", 11,-.5, 10.5);
1799 fh1VertexZ =
new TH1F(
"fh1VertexZ",
"Vertex z distribution", 30, -15., 15.);
1800 fh1Xsec =
new TProfile(
"fh1Xsec",
"xsec from pyxsec.root",1,0,1);
1801 fh1Xsec->GetXaxis()->SetBinLabel(1,
"<#sigma>");
1802 fh1Trials =
new TH1F(
"fh1Trials",
"trials from pyxsec.root",1,0,1);
1803 fh1Trials->GetXaxis()->SetBinLabel(1,
"#sum{ntrials}");
1804 fh1PtHard =
new TH1F(
"fh1PtHard",
"PYTHIA Pt hard;p_{T,hard}",350,-.5,349.5);
1805 fh1PtHardTrials =
new TH1F(
"fh1PtHardTrials",
"PYTHIA Pt hard weight with trials;p_{T,hard}",350,-.5,349.5);
1806 fh1nRecJetsCuts =
new TH1F(
"fh1nRecJetsCuts",
"reconstructed jets per event",100,-0.5,99.5);
1810 fh1EvtAllCent =
new TH1F(
"fh1EvtAllCent",
"before centrality selection",100,0.,100.);
1811 fh1Evt =
new TH1F(
"fh1Evt",
"All events runned over", 3, 0.,1.);
1812 fh1EvtMult =
new TH1F(
"fh1EvtMult",
"multiplicity",240,0.,240.);
1813 fh1K0Mult =
new TH1F(
"fh1K0Mult",
"K0 multiplicity",100,0.,100.);
1815 fh1LaMult =
new TH1F(
"fh1LaMult",
"La multiplicity",100,0.,100.);
1817 fh1ALaMult =
new TH1F(
"fh1ALaMult",
"ALa multiplicity",100,0.,100.);
1819 fh1JetEta =
new TH1F(
"fh1JetEta",
"#eta distribution of all jets",40,-2.,2.);
1820 fh1JetPhi =
new TH1F(
"fh1JetPhi",
"#phi distribution of all jets",63,0.,6.3);
1821 fh2JetEtaPhi =
new TH2F(
"fh2JetEtaPhi",
"#eta and #phi distribution of all jets",400,-2.,2.,63,0.,6.3);
1823 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets.Length(): "<<fBranchEmbeddedJets.Length()<<std::endl;
1824 if(fDebug>2)std::cout<<
"fBranchGenJets.Length(): "<<fBranchGenJets.Length()<<std::endl;
1828 fh1nEmbeddedJets =
new TH1F(
"fh1nEmbeddedJets",
"Number of embedded jets",10,-0.5,9.5);
1829 fh1nGenJets =
new TH1F(
"fh1nGenJets",
"generated jets per event",10,-0.5,9.5);
1830 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.);
1833 fh1PtEmbBeforeMatch =
new TH1F(
"fh1PtEmbBeforeMatch",
"Pt spectrum of jets before JetMatching",19,5.,100.);
1834 fh1PtEmbExtraOnly =
new TH1F(
"fh1PtEmbExtraOnly",
"Pt spectrum of jets from ExtraOnly tracks (embedded truth)",19,5.,100.);
1836 fh1PtEmbReject =
new TH1F(
"fh1PtEmbReject",
"Pt spectrum of jets rejected by JetMatching cuts",19,5.,100.);
1837 fh2PtEtaEmbReject =
new TH2F(
"fh2PtEtaEmbReject",
"Pt #eta distribution of jets rejected by JetMatching cuts #eta; #it{p}_{T}",19,5.,100.,200,-1.,1.);
1838 fh1PtEmbAfterMatch =
new TH1F(
"fh1PtEmbAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1847 fh1JetPtEmbGenAfterMatch =
new TH1F(
"fh1JetPtEmbGenAfterMatch",
"Pt spectrum of jets after JetMatching cuts and with leading constituent cut",19,5.,100.);
1852 fh1PerpCone =
new TH1F(
"fh1PerpCone",
"Number of perp. cones for charged tracks in event",2.,0.5,1.5);
1853 fh1V0PtCandidate =
new TH1F(
"fh1V0PtCandidate",
"p_{T} distribution of all v0s candidates of PYTHIA",200,0.,200.);
1854 fh1IMK0Cone =
new TH1F(
"fh1IMK0Cone",
"p_{T} distribution of all jets containing K0s candidates",19,5.,100.);
1855 fh1IMLaCone =
new TH1F(
"fh1IMLaCone",
"p_{T} distribution of all jets containing #Lambda candidates",19,5.,100.);
1856 fh1IMALaCone =
new TH1F(
"fh1IMALaCone",
"p_{T} distribution of all jets containing #bar{#Lambda} candidates",19,5.,100.);
1857 fh1IMK0EmbCone =
new TH1F(
"fh1IMK0EmbCone",
"p_{T} distribution of all embedded and selected jets containing K0s candidates",19,5.,100.);
1858 fh1IMLaEmbCone =
new TH1F(
"fh1IMLaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #Lambda candidates",19,5.,100.);
1859 fh1IMALaEmbCone =
new TH1F(
"fh1IMALaEmbCone",
"p_{T} distribution of all embedded and selected jets containing #bar{#Lambda} candidates",19,5.,100.);
1860 fh2FFJetTrackEta =
new TH2F(
"fh2FFJetTrackEta",
"charged track eta distr. in jet cone",200,-1.,1.,40,0.,200.);
1863 fh1trackPosEta =
new TH1F(
"fh1trackPosEta",
"eta positive daughters",100,-2.,2.);
1864 fh1trackNegEta =
new TH1F(
"fh1trackNegEta",
"eta negative daughters",100,-2.,2.);
1865 fh1V0Eta =
new TH1F(
"fh1V0Eta",
"V0 eta",60,-1.5,1.5);
1867 fh1CosPointAngle =
new TH1F(
"fh1CosPointAngle",
"Cosine of V0's pointing angle",50,0.99,1.0);
1868 fh1DecayLengthV0 =
new TH1F(
"fh1DecayLengthV0",
"V0s decay Length;decay length(cm)",1200,0.,120.);
1871 fh1V0Radius =
new TH1F(
"fh1V0Radius",
"V0s Radius;Radius(cm)",200,0.,40.);
1872 fh1DcaV0Daughters =
new TH1F(
"fh1DcaV0Daughters",
"DCA between daughters;dca(cm)",200,0.,2.);
1873 fh1DcaPosToPrimVertex =
new TH1F(
"fh1DcaPosToPrimVertex",
"Positive V0 daughter;dca(cm)",100,0.,10.);
1874 fh1DcaNegToPrimVertex =
new TH1F(
"fh1DcaNegToPrimVertex",
"Negative V0 daughter;dca(cm)",100,0.,10.);
1875 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);
1876 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);
1877 fh2BBLaPos =
new TH2F(
"fh2BBLaPos",
"PID of the positive daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1878 fh2BBLaNeg =
new TH2F(
"fh2BBLaNeg",
"PID of the negative daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",100,0,10,200,0,200);
1879 fh1PosDaughterCharge =
new TH1F(
"fh1PosDaughterCharge",
"charge of V0 positive daughters; V0 daughters",3,-2.,2.);
1880 fh1NegDaughterCharge =
new TH1F(
"fh1NegDaughterCharge",
"charge of V0 negative daughters; V0 daughters",3,-2.,2.);
1881 fh1PtMCK0s =
new TH1F(
"fh1PtMCK0s",
"Pt of MC rec K0s; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1882 fh1PtMCLa =
new TH1F(
"fh1PtMCLa",
"Pt of MC rec La; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1883 fh1PtMCALa =
new TH1F(
"fh1PtMCALa",
"Pt of MC rec ALa; #it{p}_{T} (GeV/#it{c})",200,0.,20.);
1884 fh1EtaK0s =
new TH1F(
"fh1EtaK0s",
"K^{0}_{s} entries ;#eta",200,-1.,1.);
1885 fh1EtaLa =
new TH1F(
"fh1EtaLa",
"#Lambda entries ;#eta",200,-1.,1.);
1886 fh1EtaALa =
new TH1F(
"fh1EtaALa",
"#bar{#Lambda} entries ;#eta",200,-1.,1.);
1890 fh1RC =
new TH1F(
"fh1RC",
" # random cones used",1,0.5,1.5);
1891 fh1RCBiasK0 =
new TH1F(
"fh1RCBiasK0",
" # random cones with K0s trigger particle",1,0.5,1.5);
1892 fh1RCBiasLa =
new TH1F(
"fh1RCBiasLa",
" # random cones with La trigger particle",1,0.5,1.5);
1893 fh1RCBiasALa =
new TH1F(
"fh1RCBiasALa",
" # random cones with ALa trigger particle",1,0.5,1.5);
1894 fh1MCC =
new TH1F(
"fh1MCC",
"# median cluster cones used",1,0.5,1.5);
1895 fh1OC =
new TH1F(
"fh1OC",
"# outside cones used, number of jet events",1,0.5,1.5);
1896 fh1NJ =
new TH1F(
"fh1NJ",
"# non-jet events used",1,0.5,1.5);
1897 fh1NJEmbEvt =
new TH1F(
"fh1NJEmbEvt",
"# Embedding non-jet events used",1,0.5,1.5);
1898 fh1BckgJets =
new TH1F(
"fh1BckgJets",
"Jet pT distribution of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1899 fh1BckgJetsPtBias =
new TH1F(
"fh1BckgJetsPtBias",
"Jet pT distribution after JetPtBias of bckg jets (anti-kt data jets) used in Embedding study",19,5.,100.);
1902 Int_t binsInvMassEtaTrackPtK0s[3] = {200, 200, 120};
1903 Double_t xminInvMassEtaTrackPtK0s[3] = {-1.,0.3,0.};
1904 Double_t xmaxInvMassEtaTrackPtK0s[3] = {1.,0.7,12.};
1906 fhnInvMassEtaTrackPtK0s =
new THnSparseF(
"fhnInvMassEtaTrackPtK0s",
"#eta; K0s invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtK0s,xminInvMassEtaTrackPtK0s,xmaxInvMassEtaTrackPtK0s);
1908 Int_t binsInvMassEtaTrackPtLa[3] = {200, 200, 120};
1909 Double_t xminInvMassEtaTrackPtLa[3] = {-1.,1.05,0.};
1910 Double_t xmaxInvMassEtaTrackPtLa[3] = {1.,1.25,12.};
1912 fhnInvMassEtaTrackPtLa =
new THnSparseF(
"fhnInvMassEtaTrackPtLa",
"#eta; #Lambda invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtLa,xminInvMassEtaTrackPtLa,xmaxInvMassEtaTrackPtLa);
1914 Int_t binsInvMassEtaTrackPtALa[3] = {200, 200, 120};
1915 Double_t xminInvMassEtaTrackPtALa[3] = {-1.,1.05,0.};
1916 Double_t xmaxInvMassEtaTrackPtALa[3] = {1.,1.25,12.};
1918 fhnInvMassEtaTrackPtALa =
new THnSparseF(
"fhnInvMassEtaTrackPtALa",
"#eta; #bar{#Lambda} invM (GeV/{#it{c}}^{2}); #it{p}_{T} (GeV/#it{c})",3,binsInvMassEtaTrackPtALa,xminInvMassEtaTrackPtALa,xmaxInvMassEtaTrackPtALa);
1920 Int_t binsK0sPC[4] = {19, 200, 120, 200};
1921 Double_t xminK0sPC[4] = {5.,0.3, 0., -1.};
1922 Double_t xmaxK0sPC[4] = {100.,0.7, 12., 1.};
1923 fhnK0sPC =
new THnSparseF(
"fhnK0sPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sPC,xminK0sPC,xmaxK0sPC);
1925 Int_t binsLaPC[4] = {19, 200, 120, 200};
1926 Double_t xminLaPC[4] = {5.,1.05, 0., -1.};
1927 Double_t xmaxLaPC[4] = {100.,1.25, 12., 1.};
1928 fhnLaPC =
new THnSparseF(
"fhnLaPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaPC,xminLaPC,xmaxLaPC);
1930 Int_t binsALaPC[4] = {19, 200, 120, 200};
1931 Double_t xminALaPC[4] = {5.,1.05, 0., -1.};
1932 Double_t xmaxALaPC[4] = {100.,1.25, 12., 1.};
1933 fhnALaPC =
new THnSparseF(
"fhnALaPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaPC,xminALaPC,xmaxALaPC);
1935 Int_t binsK0sEmbPC[4] = {19, 200, 120, 200};
1936 Double_t xminK0sEmbPC[4] = {5.,0.3, 0., -1.};
1937 Double_t xmaxK0sEmbPC[4] = {100.,0.7, 12., 1.};
1938 fhnK0sEmbPC =
new THnSparseF(
"fhnK0sEmbPC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",4,binsK0sEmbPC,xminK0sEmbPC,xmaxK0sEmbPC);
1940 Int_t binsLaEmbPC[4] = {19, 200, 120, 200};
1941 Double_t xminLaEmbPC[4] = {5.,1.05, 0., -1.};
1942 Double_t xmaxLaEmbPC[4] = {100.,1.25, 12., 1.};
1943 fhnLaEmbPC =
new THnSparseF(
"fhnLaEmbPC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",4,binsLaEmbPC,xminLaEmbPC,xmaxLaEmbPC);
1945 Int_t binsALaEmbPC[4] = {19, 200, 120, 200};
1946 Double_t xminALaEmbPC[4] = {5.,1.05, 0., -1.};
1947 Double_t xmaxALaEmbPC[4] = {100.,1.25, 12., 1.};
1948 fhnALaEmbPC =
new THnSparseF(
"fhnALaEmbPC",
"two perp cones;jet pT; #bar#Lambda invM; particle pT; particle #eta",4,binsALaEmbPC,xminALaEmbPC,xmaxALaEmbPC);
1950 Int_t binsK0sMCC[3] = {200, 120, 200};
1951 Double_t xminK0sMCC[3] = {0.3, 0., -1.};
1952 Double_t xmaxK0sMCC[3] = {0.7, 12., 1.};
1953 fhnK0sMCC =
new THnSparseF(
"fhnK0sMCC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sMCC,xminK0sMCC,xmaxK0sMCC);
1955 Int_t binsLaMCC[3] = {200, 120, 200};
1956 Double_t xminLaMCC[3] = {1.05, 0., -1.};
1957 Double_t xmaxLaMCC[3] = {1.25, 12., 1.};
1958 fhnLaMCC =
new THnSparseF(
"fhnLaMCC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaMCC,xminLaMCC,xmaxLaMCC);
1960 Int_t binsALaMCC[3] = {200, 120, 200};
1961 Double_t xminALaMCC[3] = {1.05, 0., -1.};
1962 Double_t xmaxALaMCC[3] = {1.25, 12., 1.};
1963 fhnALaMCC =
new THnSparseF(
"fhnALaMCC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaMCC,xminALaMCC,xmaxALaMCC);
1965 Int_t binsK0sRC[3] = {200, 120, 200};
1966 Double_t xminK0sRC[3] = {0.3, 0., -1.};
1967 Double_t xmaxK0sRC[3] = {0.7, 12., 1.};
1968 fhnK0sRC =
new THnSparseF(
"fhnK0sRC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRC,xminK0sRC,xmaxK0sRC);
1970 Int_t binsLaRC[3] = {200, 120, 200};
1971 Double_t xminLaRC[3] = {1.05, 0., -1.};
1972 Double_t xmaxLaRC[3] = {1.25, 12., 1.};
1973 fhnLaRC =
new THnSparseF(
"fhnLaRC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRC,xminLaRC,xmaxLaRC);
1975 Int_t binsALaRC[3] = {200, 120, 200};
1976 Double_t xminALaRC[3] = {1.05, 0., -1.};
1977 Double_t xmaxALaRC[3] = {1.25, 12., 1.};
1978 fhnALaRC =
new THnSparseF(
"fhnALaRC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRC,xminALaRC,xmaxALaRC);
1980 Int_t binsK0sRCBias[3] = {200, 120, 200};
1981 Double_t xminK0sRCBias[3] = {0.3, 0., -1.};
1982 Double_t xmaxK0sRCBias[3] = {0.7, 12., 1.};
1983 fhnK0sRCBias =
new THnSparseF(
"fhnK0sRCBias",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sRCBias,xminK0sRCBias,xmaxK0sRCBias);
1985 Int_t binsLaRCBias[3] = {200, 120, 200};
1986 Double_t xminLaRCBias[3] = {1.05, 0., -1.};
1987 Double_t xmaxLaRCBias[3] = {1.25, 12., 1.};
1988 fhnLaRCBias =
new THnSparseF(
"fhnLaRCBias",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaRCBias,xminLaRCBias,xmaxLaRCBias);
1990 Int_t binsALaRCBias[3] = {200, 120, 200};
1991 Double_t xminALaRCBias[3] = {1.05, 0., -1.};
1992 Double_t xmaxALaRCBias[3] = {1.25, 12., 1.};
1993 fhnALaRCBias =
new THnSparseF(
"fhnALaRCBias",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaRCBias,xminALaRCBias,xmaxALaRCBias);
1995 Int_t binsK0sOC[3] = {200, 120, 200};
1996 Double_t xminK0sOC[3] = {0.3, 0., -1.};
1997 Double_t xmaxK0sOC[3] = {0.7, 12., 1.};
1998 fhnK0sOC =
new THnSparseF(
"fhnK0sOC",
"two perp cones;jet pT; K0s invM; particle pT; particle #eta",3,binsK0sOC,xminK0sOC,xmaxK0sOC);
2000 Int_t binsLaOC[3] = {200, 120, 200};
2001 Double_t xminLaOC[3] = {1.05, 0., -1.};
2002 Double_t xmaxLaOC[3] = {1.25, 12., 1.};
2003 fhnLaOC =
new THnSparseF(
"fhnLaOC",
"two perp cones;jet pT; #Lambda invM; particle pT; particle #eta",3,binsLaOC,xminLaOC,xmaxLaOC);
2005 Int_t binsALaOC[3] = {200, 120, 200};
2006 Double_t xminALaOC[3] = {1.05, 0., -1.};
2007 Double_t xmaxALaOC[3] = {1.25, 12., 1.};
2009 fhnALaOC =
new THnSparseF(
"fhnALaOC",
"two perp cones;jet pT; #bara#Lambda invM; particle pT; particle #eta",3,binsALaOC,xminALaOC,xmaxALaOC);
2011 fh1AreaExcluded =
new TH1F(
"fh1AreaExcluded",
"area excluded for selected jets in event acceptance",50,0.,1.);
2013 fh1MedianEta =
new TH1F(
"fh1MedianEta",
"Median cluster axis ;#eta",200,-1.,1.);
2014 fh1JetPtMedian =
new TH1F(
"fh1JetPtMedian",
" (selected) jet it{p}_{T} distribution for MCC method; #GeV/it{c}",19,5.,100.);
2016 fh1TrackMultCone =
new TH1F(
"fh1TrackMultCone",
"track multiplicity in jet cone; number of tracks",20,0.,50.);
2018 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.);
2020 Int_t binsNJK0[3] = {200, 120, 200};
2021 Double_t xminNJK0[3] = {0.3, 0., -1.};
2022 Double_t xmaxNJK0[3] = {0.7, 12., 1.};
2023 fhnNJK0 =
new THnSparseF(
"fhnNJK0",
"K0s candidates in events wo selected jets;",3,binsNJK0,xminNJK0,xmaxNJK0);
2025 Int_t binsNJLa[3] = {200, 120, 200};
2026 Double_t xminNJLa[3] = {1.05, 0., -1.};
2027 Double_t xmaxNJLa[3] = {1.25, 12., 1.};
2028 fhnNJLa =
new THnSparseF(
"fhnNJLa",
"La candidates in events wo selected jets; ",3,binsNJLa,xminNJLa,xmaxNJLa);
2030 Int_t binsNJALa[3] = {200, 120, 200};
2031 Double_t xminNJALa[3] = {1.05, 0., -1.};
2032 Double_t xmaxNJALa[3] = {1.25, 12., 1.};
2033 fhnNJALa =
new THnSparseF(
"fhnNJALa",
"ALa candidates in events wo selected jets; ",3,binsNJALa,xminNJALa,xmaxNJALa);
2044 fFFHistosRecCuts =
new AliFragFuncHistos(
"RecCuts", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2045 fFFNBinsPt, fFFPtMin, fFFPtMax,
2046 fFFNBinsXi, fFFXiMin, fFFXiMax,
2047 fFFNBinsZ , fFFZMin , fFFZMax);
2049 fV0QAK0 =
new AliFragFuncQATrackHistos(
"V0QAK0",fQATrackNBinsPt, fQATrackPtMin, fQATrackPtMax,
2050 fQATrackNBinsEta, fQATrackEtaMin, fQATrackEtaMax,
2051 fQATrackNBinsPhi, fQATrackPhiMin, fQATrackPhiMax,
2052 fQATrackHighPtThreshold);
2054 fFFHistosRecCutsK0Evt =
new AliFragFuncHistos(
"RecCutsK0Evt", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2055 fFFNBinsPt, fFFPtMin, fFFPtMax,
2056 fFFNBinsXi, fFFXiMin, fFFXiMax,
2057 fFFNBinsZ , fFFZMin , fFFZMax);
2059 fFFHistosGen =
new AliFragFuncHistos(
"Gen", fFFNBinsJetPt, fFFJetPtMin, fFFJetPtMax,
2060 fFFNBinsPt, fFFPtMin, fFFPtMax,
2061 fFFNBinsXi, fFFXiMin, fFFXiMax,
2062 fFFNBinsZ , fFFZMin , fFFZMax);
2072 Int_t binsMCgenK0Cone[4] = {19, 120, 200};
2073 Double_t xminMCgenK0Cone[4] = {5., 0., -1.};
2074 Double_t xmaxMCgenK0Cone[4] = {100., 12., 1.};
2075 fhnMCgenK0Cone =
new THnSparseF(
"fhnMCgenK0Cone",
"MC gen {K^{0}}^{s} #it{p}_{T} in cone around jet axis",3,binsMCgenK0Cone,xminMCgenK0Cone,xmaxMCgenK0Cone);
2078 Int_t binsMCgenLaCone[4] = {19, 120, 200};
2079 Double_t xminMCgenLaCone[4] = {5., 0., -1.};
2080 Double_t xmaxMCgenLaCone[4] = {100., 12., 1.};
2081 fhnMCgenLaCone =
new THnSparseF(
"fhnMCgenLaCone",
"MC gen #Lambda #it{p}_{T} in cone around jet axis",3,binsMCgenLaCone,xminMCgenLaCone,xmaxMCgenLaCone);
2092 fh1IMK0ConeSmear =
new TH1F(
"fh1IMK0ConeSmear",
"Smeared jet pt study for K0s-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2093 fh1IMLaConeSmear =
new TH1F(
"fh1IMLaConeSmear",
"Smeared jet pt study for La-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2094 fh1IMALaConeSmear =
new TH1F(
"fh1IMALaConeSmear",
"Smeared jet pt study for ALa-in-cone-jets; smeared jet #it{p}_{T}", 19,5.,100.);
2096 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.);
2097 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.);
2098 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.);
2153 Int_t binsMCrecK0Cone[4] = {19, 200, 120, 200};
2154 Double_t xminMCrecK0Cone[4] = {5.,0.3, 0., -1.};
2155 Double_t xmaxMCrecK0Cone[4] = {100.,0.7, 12., 1.};
2156 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);
2158 Int_t binsMCrecLaCone[4] = {19, 200, 120, 200};
2159 Double_t xminMCrecLaCone[4] = {5.,0.3, 0., -1.};
2160 Double_t xmaxMCrecLaCone[4] = {100.,0.7, 12., 1.};
2161 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);
2163 Int_t binsMCrecALaCone[4] = {19, 200, 120, 200};
2164 Double_t xminMCrecALaCone[4] = {5.,0.3, 0., -1.};
2165 Double_t xmaxMCrecALaCone[4] = {100.,0.7, 12., 1.};
2166 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);
2198 Int_t binsK0sIncl[3] = {200, 120, 200};
2199 Double_t xminK0sIncl[3] = {0.3, 0., -1.};
2200 Double_t xmaxK0sIncl[3] = {0.7, 12., 1.};
2201 fhnK0sIncl =
new THnSparseF(
"fhnK0sIncl",
"Inclusive K0s",3,binsK0sIncl,xminK0sIncl,xmaxK0sIncl);
2203 Int_t binsK0sCone[4] = {19, 200, 120, 200};
2204 Double_t xminK0sCone[4] = {5.,0.3, 0., -1.};
2205 Double_t xmaxK0sCone[4] = {100.,0.7, 12., 1.};
2206 fhnK0sCone =
new THnSparseF(
"fhnK0sCone",
"K0s in jet cone",4,binsK0sCone,xminK0sCone,xmaxK0sCone);
2208 Int_t binsK0sEmbCone[4] = {19, 200, 120, 200};
2209 Double_t xminK0sEmbCone[4] = {5.,0.3, 0., -1.};
2210 Double_t xmaxK0sEmbCone[4] = {100.,0.7, 12., 1.};
2211 fhnK0sEmbCone =
new THnSparseF(
"fhnK0sEmbCone",
"Embedded K0s in jet cone",4,binsK0sEmbCone,xminK0sEmbCone,xmaxK0sEmbCone);
2214 Int_t binsK0sEmbConeRef[4] = {19, 200, 120, 200};
2215 Double_t xminK0sEmbConeRef[4] = {5.,0.3, 0., -1.};
2216 Double_t xmaxK0sEmbConeRef[4] = {100.,0.7, 12., 1.};
2217 fhnK0sEmbConeRef =
new THnSparseF(
"fhnK0sEmbConeRef",
"K0s Embedded reference in jet cone",4,binsK0sEmbConeRef,xminK0sEmbConeRef,xmaxK0sEmbConeRef);
2219 Int_t binsK0sEmbConeStandard[4] = {19, 200, 120, 200};
2220 Double_t xminK0sEmbConeStandard[4] = {5.,0.3, 0., -1.};
2221 Double_t xmaxK0sEmbConeStandard[4] = {100.,0.7, 12., 1.};
2222 fhnK0sEmbConeStandard =
new THnSparseF(
"fhnK0sEmbConeStandard",
"Standard K0s in matched jet cone",4,binsK0sEmbConeStandard,xminK0sEmbConeStandard,xmaxK0sEmbConeStandard);
2225 Int_t binsLaIncl[3] = {200, 120, 200};
2226 Double_t xminLaIncl[3] = {1.05, 0., -1.};
2227 Double_t xmaxLaIncl[3] = {1.25, 12., 1.};
2228 fhnLaIncl =
new THnSparseF(
"fhnLaIncl",
"Inclusive #Lambda",3,binsLaIncl,xminLaIncl,xmaxLaIncl);
2230 Int_t binsLaCone[4] = {19, 200, 120, 200};
2231 Double_t xminLaCone[4] = {5.,1.05, 0., -1.};
2232 Double_t xmaxLaCone[4] = {100.,1.25, 12., 1.};
2233 fhnLaCone =
new THnSparseF(
"fhnLaCone",
"#Lambda in jet cone",4,binsLaCone,xminLaCone,xmaxLaCone);
2235 Int_t binsLaEmbCone[4] = {19, 200, 120, 200};
2236 Double_t xminLaEmbCone[4] = {5.,1.05, 0., -1.};
2237 Double_t xmaxLaEmbCone[4] = {100.,1.25, 12., 1.};
2238 fhnLaEmbCone =
new THnSparseF(
"fhnLaEmbCone",
"Embedded #Lambda in jet cone",4,binsLaEmbCone,xminLaEmbCone,xmaxLaEmbCone);
2241 Int_t binsLaEmbConeRef[4] = {19, 200, 120, 200};
2242 Double_t xminLaEmbConeRef[4] = {5.,1.05, 0., -1.};
2243 Double_t xmaxLaEmbConeRef[4] = {100.,1.25, 12., 1.};
2244 fhnLaEmbConeRef =
new THnSparseF(
"fhnLaEmbConeRef",
"#Lambda Embedded reference in jet cone",4,binsLaEmbConeRef,xminLaEmbConeRef,xmaxLaEmbConeRef);
2246 Int_t binsLaEmbConeStandard[4] = {19, 200, 120, 200};
2247 Double_t xminLaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2248 Double_t xmaxLaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2249 fhnLaEmbConeStandard =
new THnSparseF(
"fhnLaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsLaEmbConeStandard,xminLaEmbConeStandard,xmaxLaEmbConeStandard);
2252 Int_t binsALaIncl[3] = {200, 120, 200};
2253 Double_t xminALaIncl[3] = {1.05, 0., -1.};
2254 Double_t xmaxALaIncl[3] = {1.25, 12., 1.};
2255 fhnALaIncl =
new THnSparseF(
"fhnALaIncl",
"Inclusive #bar{#Lambda}",3,binsALaIncl,xminALaIncl,xmaxALaIncl);
2257 Int_t binsALaCone[4] = {19, 200, 120, 200};
2258 Double_t xminALaCone[4] = {5.,1.05, 0., -1.};
2259 Double_t xmaxALaCone[4] = {100.,1.25, 12., 1.};
2260 fhnALaCone =
new THnSparseF(
"fhnALaCone",
"#bar{#Lambda} in jet cone",4,binsALaCone,xminALaCone,xmaxALaCone);
2262 Int_t binsALaEmbCone[4] = {19, 200, 120, 200};
2263 Double_t xminALaEmbCone[4] = {5.,1.05, 0., -1.};
2264 Double_t xmaxALaEmbCone[4] = {100.,1.25, 12., 1.};
2265 fhnALaEmbCone =
new THnSparseF(
"fhnALaEmbCone",
"Embedded #bar{#Lambda} in jet cone",4,binsALaEmbCone,xminALaEmbCone,xmaxALaEmbCone);
2267 Int_t binsALaEmbConeRef[4] = {19, 200, 120, 200};
2268 Double_t xminALaEmbConeRef[4] = {5.,1.05, 0., -1.};
2269 Double_t xmaxALaEmbConeRef[4] = {100.,1.25, 12., 1.};
2270 fhnALaEmbConeRef =
new THnSparseF(
"fhnALaEmbConeRef",
"#bar{#Lambda} Embedded reference in jet cone",4,binsALaEmbConeRef,xminALaEmbConeRef,xmaxALaEmbConeRef);
2272 Int_t binsALaEmbConeStandard[4] = {19, 200, 120, 200};
2273 Double_t xminALaEmbConeStandard[4] = {5.,1.05, 0., -1.};
2274 Double_t xmaxALaEmbConeStandard[4] = {100.,1.25, 12., 1.};
2275 fhnALaEmbConeStandard =
new THnSparseF(
"fhnALaEmbConeStandard",
"Standard #Lambda in matched jet cone",4,binsALaEmbConeStandard,xminALaEmbConeStandard,xmaxALaEmbConeStandard);
2278 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.);
2279 fh2MCEmbLaJetPt =
new TH2F(
"fh2MCEmbLaJetPt",
" PYTHIA gen. #Lambda ;#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2280 fh2MCEmbALaJetPt =
new TH2F(
"fh2MCEmbALaJetPt",
"PYTHIA gen. #bar{#Lambda};#it{p^{ch,jet}}_{T}; MC gen.#it{p}_{T}",19,5.,100.,120,0.,12.);
2283 fh1MCMultiplicityPrimary =
new TH1F(
"fh1MCMultiplicityPrimary",
"MC Primary Particles;NPrimary;Count", 201, -0.5, 200.5);
2287 Int_t binsFeedDownLa[3] = {19, 200, 120};
2288 Double_t xminFeedDownLa[3] = {5.,1.05, 0.};
2289 Double_t xmaxFeedDownLa[3] = {100.,1.25, 12.};
2290 fhnFeedDownLa =
new THnSparseF(
"fhnFeedDownLa",
"#Lambda stemming from feeddown from Xi(0/-)",3,binsFeedDownLa,xminFeedDownLa,xmaxFeedDownLa);
2292 Int_t binsFeedDownALa[3] = {19, 200, 120};
2293 Double_t xminFeedDownALa[3] = {5.,1.05, 0.};
2294 Double_t xmaxFeedDownALa[3] = {100.,1.25, 12.};
2295 fhnFeedDownALa =
new THnSparseF(
"fhnFeedDownALa",
"#bar#Lambda stemming from feeddown from Xibar(0/+)",3,binsFeedDownALa,xminFeedDownALa,xmaxFeedDownALa);
2297 Int_t binsFeedDownLaCone[3] = {19, 200, 120};
2298 Double_t xminFeedDownLaCone[3] = {5.,1.05, 0.};
2299 Double_t xmaxFeedDownLaCone[3] = {100.,1.25, 12.};
2300 fhnFeedDownLaCone =
new THnSparseF(
"fhnFeedDownLaCone",
"#Lambda stemming from feeddown from Xi(0/-) in jet cone",3,binsFeedDownLaCone,xminFeedDownLaCone,xmaxFeedDownLaCone);
2302 Int_t binsFeedDownALaCone[3] = {19, 200, 120};
2303 Double_t xminFeedDownALaCone[3] = {5.,1.05, 0.};
2304 Double_t xmaxFeedDownALaCone[3] = {100.,1.25, 12.};
2305 fhnFeedDownALaCone =
new THnSparseF(
"fhnFeedDownALaCone",
"#bar#Lambda stemming from feeddown from Xibar(0/+) in jet cone",3,binsFeedDownALaCone,xminFeedDownALaCone,xmaxFeedDownALaCone);
2307 fh2FeedDownXiLa =
new TH2F(
"fh2FeedDownXiLa",
"MC gen. #Xi #it{p}_{T}; MC gen. #Lambda #it{p}_{T}",120,0.,12.,120,0.,12.);
2309 fh2FeedDownXiALa =
new TH2F(
"fh2FeedDownXiALa",
"MC gen. #bar{#Xi} #it{p}_{T}; MC gen.#bar{#Lambda} #it{p}_{T}",120,0.,12.,120,0.,12.);
2311 fh1MCProdRadiusK0s =
new TH1F(
"fh1MCProdRadiusK0s",
"MC gen. MC K0s prod radius",100,0.,100.);
2317 fh1MCPtV0s =
new TH1F(
"fh1MCPtV0s",
"MC gen. V^{0} in rap range;#it{p}_{T} (GeV/#it{c})",120,0,12.);
2318 fh1MCPtK0s =
new TH1F(
"fh1MCPtK0s",
"MC gen. K^{0}_{s} in eta range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2319 fh1MCPtLambda =
new TH1F(
"fh1MCPtLambda",
"MC gen. #Lambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2320 fh1MCPtAntiLambda =
new TH1F(
"fh1MCPtAntiLambda",
"MC gen. #AntiLambda in rap range;#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2321 fh1MCXiPt =
new TH1F(
"fh1MCXiPt",
"MC gen. #Xi^{-/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2322 fh1MCXibarPt =
new TH1F(
"fh1MCXibarPt",
"MC gen. #bar{#Xi}^{+/o};#it{p}_{T} (GeV/#it{c})",120,0.,12.);
2323 fh2MCEtaVsPtK0s =
new TH2F(
"fh2MCEtaVsPtK0s",
"MC gen. K^{0}_{s} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2324 fh2MCEtaVsPtLa =
new TH2F(
"fh2MCEtaVsPtLa",
"MC gen. #Lambda #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2325 fh2MCEtaVsPtALa =
new TH2F(
"fh2MCEtaVsPtALa",
"MC gen. #bar{#Lambda} #eta; #it{p}_{T}",120,0.,12.,200,-1.,1.);
2331 fh1MCEtaAllK0s =
new TH1F(
"fh1MCEtaAllK0s",
"MC gen. K0s;#eta",200,-1.,1.);
2332 fh1MCEtaK0s =
new TH1F(
"fh1MCEtaK0s",
"MC gen. K0s;#eta with cut",200,-1.,1.);
2333 fh1MCEtaLambda =
new TH1F(
"fh1MCEtaLambda",
"MC gen. #Lambda;#eta",200,-1.,1.);
2334 fh1MCEtaAntiLambda =
new TH1F(
"fh1MCEtaAntiLambda",
"MC gen. #bar{#Lambda};#eta",200,-1.,1.);
2337 fFFHistosRecCuts->DefineHistos();
2339 fFFHistosGen->DefineHistos();
2352 const Int_t saveLevel = 5;
2356 fCommonHistList->Add(
fh1Evt);
2357 fCommonHistList->Add(fh1EvtSelection);
2358 fCommonHistList->Add(fh1EvtCent);
2359 fCommonHistList->Add(fh1VertexNContributors);
2360 fCommonHistList->Add(fh1VertexZ);
2361 fCommonHistList->Add(fh1Xsec);
2362 fCommonHistList->Add(fh1Trials);
2363 fCommonHistList->Add(fh1PtHard);
2364 fCommonHistList->Add(fh1PtHardTrials);
2365 fCommonHistList->Add(fh1nRecJetsCuts);
2366 fCommonHistList->Add(fh1EvtMult);
2377 if(fBranchEmbeddedJets.Length()){
2388 if(fBranchGenJets.Length()&&(
fMatchMode == 2)){
2434 fCommonHistList->Add(
fh1RC);
2438 fCommonHistList->Add(
fh1MCC);
2439 fCommonHistList->Add(
fh1OC);
2440 fCommonHistList->Add(
fh1NJ);
2449 fCommonHistList->Add(
fhnNJK0);
2450 fCommonHistList->Add(
fhnNJLa);
2499 if(fBranchEmbeddedJets.Length()){
2508 if(fBranchEmbeddedJets.Length()){
2517 if(fBranchEmbeddedJets.Length()){
2528 fCommonHistList->Add(
fhnLaPC);
2536 fCommonHistList->Add(
fhnLaRC);
2542 fCommonHistList->Add(
fhnLaOC);
2576 fV0QAK0->AddToOutput(fCommonHistList);
2577 fFFHistosRecCuts->AddToOutput(fCommonHistList);
2580 if(fBranchGenJets.Length() && (
fMatchMode == 2)){
2581 fFFHistosGen->AddToOutput(fCommonHistList);
2598 for (Int_t i=0; i<fCommonHistList->GetEntries(); ++i){
2600 TH1 *h1 =
dynamic_cast<TH1*
>(fCommonHistList->At(i));
2602 if (h1) h1->Sumw2();
2604 THnSparse *hnSparse =
dynamic_cast<THnSparse*
>(fCommonHistList->At(i));
2605 if(hnSparse) hnSparse->Sumw2();
2609 TH1::AddDirectory(oldStatus);
2610 PostData(1, fCommonHistList);
2619 if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec()");
2621 if(fDebug > 1) Printf(
"Analysis event #%5d", (Int_t) fEntry);
2624 AliInputEventHandler* inputHandler = (AliInputEventHandler*)
2625 ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
2627 if((fDebug > 1)&&(!inputHandler)){std::cout<<
"AliAnalysisTaskJetChem::AliInputEventHandler does not exist!! "<<std::endl;}
2632 if (!
fPIDResponse){
if(fDebug > 1) Printf(
"AliAnalysisTaskJetChem::UserExec(): fPIDResponse does not exist!");
return;}
2634 if(fDebug > 1){std::cout<<
"inputHandler->IsEventSelected(): "<<inputHandler->IsEventSelected()<<std::endl;}
2635 if(fDebug > 1){std::cout<<
"fEvtSelectionMask: "<<fEvtSelectionMask<<std::endl;}
2637 if(!(inputHandler->IsEventSelected() & fEvtSelectionMask)){
2639 fh1EvtSelection->Fill(1.);
2640 if (fDebug > 1 ) Printf(
" Trigger Selection: event REJECTED ... ");
2641 PostData(1, fCommonHistList);
2645 fESD =
dynamic_cast<AliESDEvent*
>(InputEvent());
2647 if(fDebug>3) Printf(
"%s:%d ESDEvent not found in the input", (
char*)__FILE__,__LINE__);
2650 fMCEvent = MCEvent();
2652 if(fDebug>3) Printf(
"%s:%d MCEvent not found in the input", (
char*)__FILE__,__LINE__);
2656 TObject* handler = AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
2657 if( handler && handler->InheritsFrom(
"AliAODInputHandler") ) {
2658 fAOD = ((AliAODInputHandler*)handler)->GetEvent();
2659 if(fUseAODInputJets) fAODJets = fAOD;
2660 if (fDebug > 1) Printf(
"%s:%d AOD event from input", (
char*)__FILE__,__LINE__);
2663 handler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2664 if( handler && handler->InheritsFrom(
"AliAODHandler") ) {
2665 fAOD = ((AliAODHandler*)handler)->GetAOD();
2667 if (fDebug > 1) Printf(
"%s:%d AOD event from output", (
char*)__FILE__,__LINE__);
2671 if(!fAODJets && !fUseAODInputJets){
2672 TObject* outHandler = AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler();
2673 if( outHandler && outHandler->InheritsFrom(
"AliAODHandler") ){
2674 fAODJets = ((AliAODHandler*)outHandler)->GetAOD();
2675 if (fDebug > 1) Printf(
"%s:%d jets from output AOD", (
char*)__FILE__,__LINE__);
2679 if(fNonStdFile.Length()!=0){
2682 AliAODHandler *aodH =
dynamic_cast<AliAODHandler*
>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
2683 fAODExtension = (aodH?aodH->GetExtension(fNonStdFile.Data()):0);
2685 if(fDebug>1)Printf(
"AODExtension not found for %s",fNonStdFile.Data());
2690 Printf(
"%s:%d AODEvent not found", (
char*)__FILE__,__LINE__);
2694 Printf(
"%s:%d AODEvent with jet branch not found", (
char*)__FILE__,__LINE__);
2699 AliAODVertex *myPrimaryVertex = NULL;
2700 myPrimaryVertex = (AliAODVertex*)fAOD->GetPrimaryVertex();
2701 if (!myPrimaryVertex)
return;
2707 AliAODVertex* primVtx = fAOD->GetPrimaryVertex();
2708 Int_t nTracksPrim = primVtx->GetNContributors();
2709 fh1VertexNContributors->Fill(nTracksPrim);
2711 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: %d", (
char*)__FILE__,__LINE__,nTracksPrim);
2713 if(nTracksPrim <= 2){
2714 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: event REJECTED...",(
char*)__FILE__,__LINE__);
2715 fh1EvtSelection->Fill(3.);
2716 PostData(1, fCommonHistList);
2720 fh1VertexZ->Fill(primVtx->GetZ());
2722 if(TMath::Abs(primVtx->GetZ())>fMaxVertexZ){
2723 if (fDebug > 1) Printf(
"%s:%d primary vertex z = %f: event REJECTED...",(
char*)__FILE__,__LINE__,primVtx->GetZ());
2724 fh1EvtSelection->Fill(4.);
2725 PostData(1, fCommonHistList);
2733 const AliAODVertex* spdVtx = fAOD->GetPrimaryVertexSPD();
2735 if (TMath::Abs(spdVtx->GetZ() - primVtx->GetZ())>
fDeltaVertexZ) {
if (fDebug > 1) Printf(
"deltaZVertex: event REJECTED...");
return;}
2740 Double_t vtxX = primVtx->GetX();
2741 Double_t vtxY = primVtx->GetY();
2743 if(TMath::Sqrt(vtxX*vtxX + vtxY*vtxY)>=1){
2744 if (fDebug > 1) Printf(
"%s:%d primary vertex r = %f: event REJECTED...",(
char*)__FILE__,__LINE__,TMath::Sqrt(vtxX*vtxX + vtxY*vtxY));
2749 TString primVtxName(primVtx->GetName());
2751 if(primVtxName.CompareTo(
"TPCVertex",TString::kIgnoreCase) == 1){
2752 if (fDebug > 1) Printf(
"%s:%d primary vertex selection: TPC vertex, event REJECTED...",(
char*)__FILE__,__LINE__);
2753 fh1EvtSelection->Fill(5.);
2754 PostData(1, fCommonHistList);
2759 if(!selectedHelper){
2760 fh1EvtSelection->Fill(6.);
2761 PostData(1, fCommonHistList);
2769 Double_t centPercent = -1;
2774 if(handler && handler->InheritsFrom(
"AliAODInputHandler")){
2776 centPercent =
dynamic_cast<AliAODHeader*
>(fAOD->GetHeader())->GetCentrality();
2782 if(fEventClass >= 11){
2784 if(centPercent < 0) cl = -1;
2785 if(centPercent >= 0) cl = 11;
2786 if(centPercent > 5) cl = 12;
2787 if(centPercent > 10) cl = 13;
2788 if(centPercent > 20) cl = 14;
2789 if(centPercent > 40) cl = 15;
2790 if(centPercent > 60) cl = 16;
2791 if(centPercent > 80) cl = 17;
2792 if(centPercent > 90) cl = 18;
2796 if(fEventClass < 11){
2798 if(centPercent < 0) cl = -1;
2799 if(centPercent >= 0) cl = 1;
2800 if(centPercent > 10) cl = 2;
2801 if(centPercent > 30) cl = 3;
2802 if(centPercent > 50) cl = 4;
2803 if(centPercent > 80) cl = 5;
2812 if(fESD) centPercent = fESD->GetCentrality()->GetCentralityPercentile(
"V0M");
2816 if(fEventClass >= 11){
2818 if(centPercent < 0) cl = -1;
2819 if(centPercent >= 0) cl = 11;
2820 if(centPercent > 5) cl = 12;
2821 if(centPercent > 10) cl = 13;
2822 if(centPercent > 20) cl = 14;
2823 if(centPercent > 40) cl = 15;
2824 if(centPercent > 60) cl = 16;
2825 if(centPercent > 80) cl = 17;
2826 if(centPercent > 90) cl = 18;
2830 if(fEventClass < 11){
2832 if(centPercent < 0) cl = -1;
2833 if(centPercent >= 0) cl = 1;
2834 if(centPercent > 10) cl = 2;
2835 if(centPercent > 30) cl = 3;
2836 if(centPercent > 50) cl = 4;
2837 if(centPercent > 80) cl = 5;
2843 if(cl!=fEventClass){
2845 if (fDebug > 1) Printf(
"%s:%d event not in selected event class: event REJECTED ...",(
char*)__FILE__,__LINE__);
2846 fh1EvtSelection->Fill(2.);
2847 PostData(1, fCommonHistList);
2853 if (fDebug > 1) Printf(
"%s:%d event ACCEPTED ...",(
char*)__FILE__,__LINE__);
2860 fh1EvtSelection->Fill(0.);
2861 fh1EvtCent->Fill(centPercent);
2866 Double_t ptHard = 0.;
2867 Double_t nTrials = 1;
2870 AliGenEventHeader* genHeader = fMCEvent->GenEventHeader();
2871 AliGenPythiaEventHeader* pythiaGenHeader =
dynamic_cast<AliGenPythiaEventHeader*
>(genHeader);
2872 AliGenHijingEventHeader* hijingGenHeader = 0x0;
2874 if(pythiaGenHeader){
2875 if(fDebug>3) Printf(
"%s:%d pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2876 nTrials = pythiaGenHeader->Trials();
2877 ptHard = pythiaGenHeader->GetPtHard();
2879 fh1PtHard->Fill(ptHard);
2880 fh1PtHardTrials->Fill(ptHard,nTrials);
2885 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader found", (
char*)__FILE__,__LINE__);
2887 hijingGenHeader =
dynamic_cast<AliGenHijingEventHeader*
>(genHeader);
2888 if(!hijingGenHeader){
2889 if(fDebug>3) Printf(
"%s:%d no pythiaGenHeader or hjingGenHeader found", (
char*)__FILE__,__LINE__);
2891 if(fDebug>3) Printf(
"%s:%d hijingGenHeader found", (
char*)__FILE__,__LINE__);
2895 fh1Trials->Fill(
"#sum{ntrials}",fAvgTrials);
2902 if(fDebug>2)std::cout<<
" nJCuts: "<<nJCuts<<std::endl;
2904 if(fDebug>2)std::cout<<
" fBranchRecJets: "<<fBranchRecJets<<std::endl;
2906 Int_t nRecJetsCuts = 0;
2907 if(nJCuts>=0) nRecJetsCuts = fJetsRecCuts->GetEntries();
2908 if(fDebug>2)Printf(
"%s:%d Selected Rec jets after cuts (noJetPtBias): %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2909 if(nRecJetsCuts != nJCuts) Printf(
"%s:%d Mismatch selected Rec jets after cuts: %d %d",(
char*)__FILE__,__LINE__,nJCuts,nRecJetsCuts);
2910 fh1nRecJetsCuts->Fill(nRecJetsCuts);
2915 Int_t nEmbeddedJets = 0;
2917 TArrayI iEmbeddedMatchIndex;
2918 TArrayI iRecMatchIndex;
2919 TArrayF fRecMatchPtFraction;
2921 TArrayI iEmbeddedMatchIndexMC;
2922 TArrayI iGenMatchIndex;
2923 TArrayF fGenMatchPtFraction;
2931 if(nJGen>=0) nGenJets = fJetsGen->GetEntries();
2932 if(fDebug>2)Printf(
"%s:%d Selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
2934 if(nJGen != nGenJets) Printf(
"%s:%d Mismatch selected Gen jets: %d %d",(
char*)__FILE__,__LINE__,nJGen,nGenJets);
2939 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets for matching: "<<fBranchEmbeddedJets<<std::endl;
2942 if(fBranchEmbeddedJets.Length()){
2944 Int_t nJEmbedded = GetListOfJets(fJetsEmbedded,
kJetsEmbedded);
2945 if(nJEmbedded>=0) nEmbeddedJets = fJetsEmbedded->GetEntries();
2946 if(fDebug>2)Printf(
"%s:%d Selected Embedded jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
2947 if(nJEmbedded != nEmbeddedJets) Printf(
"%s:%d Mismatch Selected Embedded Jets: %d %d",(
char*)__FILE__,__LINE__,nJEmbedded,nEmbeddedJets);
2950 Float_t maxDist = 0.3;
2952 iEmbeddedMatchIndex.Set(nEmbeddedJets);
2953 iRecMatchIndex.Set(nRecJetsCuts);
2954 fRecMatchPtFraction.Set(nRecJetsCuts);
2956 iEmbeddedMatchIndex.Reset(-1);
2957 iRecMatchIndex.Reset(-1);
2958 fRecMatchPtFraction.Reset(0);
2962 if(fDebug>2)std::cout<<
"GetClosestJets(): "<<std::endl;
2963 if(fDebug>2)std::cout<<
"nRecJetsCuts: "<<nRecJetsCuts<<std::endl;
2964 if(fDebug>2)std::cout<<
"nEmbeddedJets: "<<nEmbeddedJets<<std::endl;
2968 fJetsRecCuts, nRecJetsCuts,
2969 iRecMatchIndex,iEmbeddedMatchIndex,
2977 for(Int_t i=0; i<nRecJetsCuts; i++){
2978 AliAODJet* recJet = (AliAODJet*) fJetsRecCuts->At(i);
2979 if(!recJet)
continue;
2981 Int_t indexEmbedded = iRecMatchIndex[i];
2983 if(indexEmbedded>-1){
2984 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
2996 iEmbeddedMatchIndexMC.Set(nEmbeddedJets);
2997 iGenMatchIndex.Set(nGenJets);
2998 fGenMatchPtFraction.Set(nGenJets);
3000 iEmbeddedMatchIndexMC.Reset(-1);
3001 iGenMatchIndex.Reset(-1);
3002 fGenMatchPtFraction.Reset(0);
3004 if(fDebug > 2)std::cout<<
" nGenJets "<<nGenJets<<
" nEmbeddedJets "<<nEmbeddedJets<<std::endl;
3010 iGenMatchIndex,iEmbeddedMatchIndexMC,
3014 for(Int_t i=0; i<nGenJets; i++){
3015 AliAODJet* genJet = (AliAODJet*) fJetsGen->At(i);
3016 if(!genJet)
continue;
3017 Int_t indexEmbedded = iGenMatchIndex[i];
3018 if(indexEmbedded>-1){
3019 AliAODJet* embeddedJet = (AliAODJet*) fJetsEmbedded->At(indexEmbedded);
3031 if(fBranchRecBckgClusters.Length() != 0){
3035 if(fDebug>2)std::cout<<
" fBranchRecBckgClusters: "<<fBranchRecBckgClusters<<std::endl;
3037 Int_t nRecBckgJets = 0;
3038 if(nBJ>=0) nRecBckgJets = fBckgJetsRec->GetEntries();
3039 if(fDebug>2)Printf(
"%s:%d Selected Rec background jets: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3040 if(nBJ != nRecBckgJets) Printf(
"%s:%d Mismatch Selected Rec background jets before cuts: %d %d",(
char*)__FILE__,__LINE__,nBJ,nRecBckgJets);
3052 if(fDebug>2)Printf(
"%s:%d selected reconstructed standard Bckg tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTBckgCuts,
fTracksRecBckgCuts->GetEntries());
3060 Int_t nRemainingBckgJets = nRecBckgJets;
3062 for(Int_t ij=0; ij<nRecBckgJets; ++ij){
3064 AliAODJet* jetBckg = (AliAODJet*) (fBckgJetsRec->At(ij));
3065 if(!jetBckg)
continue;
3069 Double_t sumBckgPt = 0.;
3070 Bool_t isBadBckgJet = kFALSE;
3071 Bool_t isBadJet = kFALSE;
3074 if( jetBckg->Pt() < fJetPtCut ) {isBadJet=kTRUE;}
3075 if( jetBckg->EffectiveAreaCharged() < fJetMinArea ) {isBadJet=kTRUE;}
3077 Double_t jetBckgPt = jetBckg->Pt();
3078 if(isBadJet == kFALSE)
fh1BckgJets->Fill(jetBckgPt);
3081 if((GetFFRadius()<=0)&&(isBadJet == kFALSE)){
3082 GetJetTracksTrackrefs(
jettracklist, jetBckg, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3083 if(isBadBckgJet == kTRUE)isBadJet = kTRUE;
3085 if(isBadJet == kFALSE){GetJetTracksPointing(
fTracksRecBckgCuts,
jettracklist, jetBckg, GetFFRadius(), sumBckgPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadBckgJet);
3086 if(isBadBckgJet == kTRUE)isBadJet = kTRUE;
3091 if(isBadJet == kTRUE){
3092 nRemainingBckgJets = nRemainingBckgJets-1;
3094 if(nRemainingBckgJets == 0){fIsNJEventEmb = kTRUE;
fh1NJEmbEvt->Fill(1.);}
3097 if((fDebug>3)&&(isBadJet==kFALSE)){std::cout<<
"Embedding BckgJet - jetPt:"<<jetBckg->Pt()<<
"- jetEta: "<<jetBckg->Eta()<<
" - jetAreaCharged: "<<jetBckg->EffectiveAreaCharged()<<std::endl;
3098 std::cout<<
"nRecBckgJets: "<<nRecBckgJets<<std::endl;
3099 std::cout<<
" "<<std::endl;}
3121 else nTCuts = GetListOfTracks(fTracksRecCuts,
kTrackAODCuts);
3124 if(fDebug>2)Printf(
"%s:%d selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3125 if(fTracksRecCuts->GetEntries() != nTCuts)
3126 Printf(
"%s:%d Mismatch selected reconstructed tracks after cuts: %d %d",(
char*)__FILE__,__LINE__,nTCuts,fTracksRecCuts->GetEntries());
3128 if(nTCuts>=0) fh1EvtMult->Fill(fTracksRecCuts->GetEntries());
3134 fTracksGen->Clear();
3136 if(nTGen>=0) nGenPart = fTracksGen->GetEntries();
3137 if(fDebug>2)Printf(
"%s:%d Selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3138 if(nGenPart != nTGen) Printf(
"%s:%d Mismatch selected Gen tracks: %d %d",(
char*)__FILE__,__LINE__,nTGen,nGenPart);
3145 Int_t nK0sStandard = 0;
3156 if(fDebug>5){std::cout<<
"fK0Type: "<<
fK0Type<<
" kK0: "<<
kK0<<
" myPrimaryVertex: "<<myPrimaryVertex<<
" fAOD: "<<fAOD<<std::endl;}
3164 if(fDebug>2)Printf(
"%s:%d Selected Rec K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3165 if(nK0s !=
fListK0s->GetEntries()) Printf(
"%s:%d Mismatch selected K0s: %d %d",(
char*)__FILE__,__LINE__,nK0s,
fListK0s->GetEntries());
3167 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen K0s candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nK0sMC,
fListK0sMC->GetEntries());
3174 Int_t nLaStandard = 0;
3184 if(fDebug>2)Printf(
"%s:%d Selected Rec La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3185 if(nLa !=
fListLa->GetEntries()) Printf(
"%s:%d Mismatch selected La: %d %d",(
char*)__FILE__,__LINE__,nLa,
fListLa->GetEntries());
3188 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen La candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nLaMC,
fListLaMC->GetEntries());
3192 Int_t nALaStandard = 0;
3201 if(fDebug>2)Printf(
"%s:%d Selected Rec ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3202 if(nALa !=
fListALa->GetEntries()) Printf(
"%s:%d Mismatch selected ALa: %d %d",(
char*)__FILE__,__LINE__,nALa,
fListALa->GetEntries());
3204 if(fDebug>2)Printf(
"%s:%d Selected PYTHIA MC gen ALa candidates after cuts: %d %d",(
char*)__FILE__,__LINE__,nALaMC,
fListALaMC->GetEntries());
3219 if(nMCgenK0s !=
fListMCgenK0s->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenK0s: %d %d",(
char*)__FILE__,__LINE__,nMCgenK0s,
fListMCgenK0s->GetEntries());
3224 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0s->At(it));
3230 Double_t fEtaCurrentPart = mcp0->Eta();
3231 Double_t fPtCurrentPart = mcp0->Pt();
3242 if(nMCgenLa !=
fListMCgenLa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenLa: %d %d",(
char*)__FILE__,__LINE__,nMCgenLa,
fListMCgenLa->GetEntries());
3244 TList *mclist = fAOD->GetList();
3245 TClonesArray *stackMC = 0x0;
3246 stackMC = (TClonesArray*)mclist->FindObject(AliAODMCParticle::StdBranchName());
3248 Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: stackMC not available!");
3251 AliAODMCHeader *mcHdr=(AliAODMCHeader*)mclist->FindObject(AliAODMCHeader::StdBranchName());
3252 if(!mcHdr)Printf(
"ERROR: AliAnalysisTaskJetChem.cxx: loop over MC gen. particles: mcHdr not available!");
3256 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenLa->At(it));
3262 Double_t fEtaCurrentPart = mcp0->Eta();
3263 Double_t fPtCurrentPart = mcp0->Pt();
3264 TString generatorName;
3289 if(nMCgenALa !=
fListMCgenALa->GetEntries()) Printf(
"%s:%d Mismatch selected MCgenALa: %d %d",(
char*)__FILE__,__LINE__,nMCgenALa,
fListMCgenALa->GetEntries());
3294 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenALa->At(it));
3300 Double_t fEtaCurrentPart = mcp0->Eta();
3301 Double_t fPtCurrentPart = mcp0->Pt();
3302 TString generatorName;
3339 Double_t lPrimaryVtxPosition[3];
3340 Double_t lV0Position[3];
3341 lPrimaryVtxPosition[0] = primVtx->GetX();
3342 lPrimaryVtxPosition[1] = primVtx->GetY();
3343 lPrimaryVtxPosition[2] = primVtx->GetZ();
3344 Double_t dRadiusExcludeCone = 2*GetFFRadius();
3348 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3350 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3358 Double_t fV0Radius = -999;
3359 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3360 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3361 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3362 Int_t negDaughterpdg = 0;
3363 Int_t posDaughterpdg = 0;
3364 Int_t motherType = 0;
3367 Bool_t fPhysicalPrimary = kFALSE;
3368 Int_t MCv0PdgCode = 0;
3370 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3371 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3373 Double_t PosEta = trackPos->AliAODTrack::Eta();
3374 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3386 Double_t fEta = v0->PseudoRapV0();
3387 Bool_t bIsInCone = kFALSE;
3388 Int_t nRemainingJets = nRecJetsCuts;
3390 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3392 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3395 Double_t sumPt = 0.;
3396 Bool_t isBadJet = kFALSE;
3398 if(GetFFRadius()<=0){
3399 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3401 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3407 nRemainingJets = nRemainingJets-1;
3412 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3419 if((bIsInCone==kFALSE)&&(nRemainingJets > 0)){
3420 Double_t vK0sOC[3] = {invMK0s,trackPt,fEta};
3431 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3433 lV0Position[0]= v0->DecayVertexV0X();
3434 lV0Position[1]= v0->DecayVertexV0Y();
3435 lV0Position[2]= v0->DecayVertexV0Z();
3437 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3438 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3441 fV0QAK0->FillTrackQA(v0->Eta(), TVector2::Phi_0_2pi(v0->Phi()), v0->Pt());
3447 Double_t vK0sIncl[3] = {invMK0s,trackPt,fEta};
3452 TString generatorName;
3454 TList *listmc = fAOD->GetList();
3455 Bool_t mclabelcheck =
MCLabelCheck(v0,
kK0, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3460 if(mclabelcheck == kFALSE)
continue;
3462 Double_t vInvMassEtaTrackPtK0s[3] = {fEta,invMK0s,trackPt};
3486 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3488 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3495 Double_t fV0Radius = -999;
3496 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3497 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3498 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3499 Int_t negDaughterpdg = 0;
3500 Int_t posDaughterpdg = 0;
3501 Int_t motherType = 0;
3504 Bool_t fPhysicalPrimary = kFALSE;
3505 Int_t MCv0PdgCode = 0;
3506 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3507 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3512 Double_t PosEta = trackPos->AliAODTrack::Eta();
3513 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3515 Double_t fEta = v0->PseudoRapV0();
3516 Bool_t bIsInCone = kFALSE;
3517 Int_t nRemainingJets = nRecJetsCuts;
3522 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3524 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3526 Double_t sumPt = 0.;
3527 Bool_t isBadJet = kFALSE;
3529 if(GetFFRadius()<=0){
3530 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3532 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3539 nRemainingJets = nRemainingJets-1;
3543 if(
IsParticleInCone(jet, v0, dRadiusExcludeCone) == kTRUE) {bIsInCone = kTRUE;}
3554 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3555 Double_t vLaOC[3] = {invMLa, trackPt,fEta};
3561 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3562 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3563 lV0Position[0]= v0->DecayVertexV0X();
3564 lV0Position[1]= v0->DecayVertexV0Y();
3565 lV0Position[2]= v0->DecayVertexV0Z();
3567 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3574 Double_t vLaIncl[3] = {invMLa,trackPt,fEta};
3579 TString generatorName;
3581 TList* listmc = fAOD->GetList();
3582 Bool_t mclabelcheck =
MCLabelCheck(v0,
kLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3583 if(mclabelcheck == kFALSE)
continue;
3602 Double_t vInvMassEtaTrackPtLa[3] = {fEta,invMLa,trackPt};
3625 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3627 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3632 Double_t invMALa =0;
3634 Double_t fV0Radius = -999;
3635 Double_t fDcaV0Daughters = v0->DcaV0Daughters();
3636 Double_t fDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3637 Double_t fDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3638 Int_t negDaughterpdg = 0;
3639 Int_t posDaughterpdg = 0;
3640 Int_t motherType = 0;
3643 Bool_t fPhysicalPrimary = kFALSE;
3644 Int_t MCv0PdgCode = 0;
3646 AliAODTrack *trackPos = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(0));
3647 AliAODTrack *trackNeg = (AliAODTrack *) (v0->GetSecondaryVtx()->GetDaughter(1));
3649 Double_t PosEta = trackPos->AliAODTrack::Eta();
3650 Double_t NegEta = trackNeg->AliAODTrack::Eta();
3652 Double_t fEta = v0->PseudoRapV0();
3653 Bool_t bIsInCone = kFALSE;
3654 Int_t nRemainingJets = nRecJetsCuts;
3659 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3661 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3663 Double_t sumPt = 0.;
3664 Bool_t isBadJet = kFALSE;
3667 if(GetFFRadius()<=0){
3668 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3670 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3676 nRemainingJets = nRemainingJets-1;
3690 if((bIsInCone == kFALSE)&&(nRemainingJets > 0)){
3691 Double_t vALaOC[3] = {invMALa, trackPt,fEta};
3697 Double_t fV0cosPointAngle = v0->CosPointingAngle(lPrimaryVtxPosition);
3698 lV0Position[0]= v0->DecayVertexV0X();
3699 lV0Position[1]= v0->DecayVertexV0Y();
3700 lV0Position[2]= v0->DecayVertexV0Z();
3701 Double_t fV0DecayLength = v0->DecayLengthV0(lPrimaryVtxPosition);
3702 fV0Radius = TMath::Sqrt(lV0Position[0]*lV0Position[0]+lV0Position[1]*lV0Position[1]);
3709 Double_t vALaIncl[3] = {invMALa,trackPt,fEta};
3713 TString generatorName;
3715 TList* listmc = fAOD->GetList();
3716 Bool_t mclabelcheck =
MCLabelCheck(v0,
kAntiLambda, trackNeg, trackPos, listmc, negDaughterpdg, posDaughterpdg, motherType, v0Label, MCPt, fPhysicalPrimary, MCv0PdgCode, generatorName, isinjected);
3717 if(mclabelcheck == kFALSE)
continue;
3739 Double_t vInvMassEtaTrackPtALa[3] = {fEta,invMALa,trackPt};
3758 if(nRecJetsCuts == 0){
3762 if(fDebug>6) { std::cout<<
"################## nRecJetsCuts == 0 ###################"<<std::endl;
3766 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3768 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3771 Double_t invMK0s =0;
3774 Double_t fEta = v0->Eta();
3776 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3781 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3783 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3789 Double_t fEta = v0->Eta();
3791 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3796 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3798 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3801 Double_t invMALa =0;
3805 Double_t fEta = v0->Eta();
3807 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
3821 Int_t nSelJets = nRecJetsCuts;
3822 Bool_t IsOCEvt = kFALSE;
3823 Bool_t IsRCEvt = kFALSE;
3824 Bool_t IsMCCEvt = kFALSE;
3827 for(Int_t ij=0; ij<nRecJetsCuts; ++ij){
3829 AliAODJet* jet = (AliAODJet*) (fJetsRecCuts->At(ij));
3831 Double_t jetPt = jet->Pt();
3832 Double_t jetEta = jet->Eta();
3833 Double_t jetPhi = jet->Phi();
3840 Double_t sumPt = 0.;
3841 Bool_t isBadJet = kFALSE;
3842 Int_t njetTracks = 0;
3844 if(GetFFRadius()<=0){
3845 GetJetTracksTrackrefs(
jettracklist, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3847 GetJetTracksPointing(fTracksRecCuts,
jettracklist, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
3851 if((GetFFMinNTracks()>0) && (
jettracklist->GetSize() <= GetFFMinNTracks())) isBadJet = kTRUE;
3855 std::cout<<
"Reconstructed Jet - jetPt:"<<jet->Pt()<<
"- jetEta: "<<jet->Eta()<<
" - jetAreaCharged: "<<jet->EffectiveAreaCharged()<<std::endl;
3856 std::cout<<
"nRecJetsCuts: "<<nRecJetsCuts<<std::endl;
3857 std::cout<<
" "<<std::endl;
3862 nSelJets = nSelJets-1;
3868 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
3870 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
3873 Double_t invMK0s =0;
3876 Double_t fEta = v0->Eta();
3878 Double_t vNJK0[3] = {invMK0s,trackPt,fEta};
3883 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
3885 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
3891 Double_t fEta = v0->Eta();
3893 Double_t vNJLa[3] = {invMLa,trackPt,fEta};
3898 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
3900 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
3903 Double_t invMALa =0;
3907 Double_t fEta = v0->Eta();
3909 Double_t vNJALa[3] = {invMALa,trackPt,fEta};
3935 if(IsOCEvt == kFALSE){IsOCEvt = kTRUE;
fh1OC->Fill(1.);}
3940 Double_t dAreaExcluded = TMath::Pi()*dRadiusExcludeCone*dRadiusExcludeCone;
3964 TList* mclist = fAOD->GetList();
3965 if (!mclist){std::cout<<
"mclist does not exist for Embedding study: "<<std::endl;
continue;}
3967 Double_t ptFractionEmbedded = 0;
3968 Double_t deltaREmbedded = 0;
3969 AliAODJet* embeddedJet = 0;
3971 if(fDebug>2)std::cout<<
"fBranchEmbeddedJets before index embedded: "<<fBranchEmbeddedJets<<std::endl;
3973 if(fBranchEmbeddedJets.Length()){
3975 Int_t indexEmbedded = iRecMatchIndex[ij];
3976 ptFractionEmbedded = fRecMatchPtFraction[ij];
3978 if(fDebug>2)std::cout<<
"index embedded: "<<indexEmbedded<<std::endl;
3979 if(fDebug>2)std::cout<<
"ptFractionEmbedded: "<<ptFractionEmbedded<<std::endl;
3985 if(indexEmbedded>-1){
3987 embeddedJet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(indexEmbedded));
3988 if(!embeddedJet)
continue;
3992 deltaREmbedded = jet->DeltaR((AliVParticle*) (embeddedJet));
3993 if(fDebug>2)std::cout<<
"deltaREmbedded: "<<deltaREmbedded<<std::endl;
4001 if(!embeddedJet)
continue;
4004 Double_t JetPtEmb = embeddedJet->Pt();
4009 Double_t JetPtRej = embeddedJet->Pt();
4010 Double_t JetEtaRej = embeddedJet->Eta();
4045 AliVParticle* trackVP =
dynamic_cast<AliVParticle*
>(
jettracklist->At(it));
4046 if(!trackVP)
continue;
4048 Float_t trackPt = trackVP->Pt();
4049 Float_t trackEta = trackVP->Eta();
4051 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4053 fFFHistosRecCuts->FillFF(trackPt, jetPt, incrementJetPt);
4070 for(Int_t it=0; it<
fListK0s->GetSize(); ++it){
4072 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0s->At(it));
4077 TVector3 v0MomVect(v0Mom);
4079 Double_t dPhiJetK0 = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
4084 Double_t invMK0s =0;
4091 if(dPhiJetK0<fh1dPhiJetK0->GetXaxis()->GetXmin()) dPhiJetK0 += 2*TMath::Pi();
4106 Double_t sumPtK0 = 0.;
4108 Bool_t isBadJetK0 = kFALSE;
4112 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetConeK0list->GetEntries(),GetFFRadius());
4117 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
jetConeK0list->At(it));
4120 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
4121 Double_t invMK0s =0;
4130 Double_t jetPtSmear = -1;
4139 if(incrementJetPt==kTRUE){
4144 Double_t vK0sCone[4] = {jetPt, invMK0s,trackPt,fEta};
4152 Bool_t incrementJetPt = kTRUE;
4154 Double_t vK0sCone[4] = {jetPt, -1, -1, -1};
4157 if(incrementJetPt==kTRUE){
4161 Double_t jetPtSmear = -1;
4170 if(IsRCEvt == kFALSE){
4175 AliAODJet* jetRC = 0;
4184 Double_t sumPtK0sRC = 0;
4185 Double_t sumPtLaRC = 0;
4186 Double_t sumPtALaRC = 0;
4187 Double_t sumPtRecCutsRC = 0;
4188 Bool_t isBadJetK0sRC = kFALSE;
4189 Bool_t isBadJetLaRC = kFALSE;
4190 Bool_t isBadJetALaRC = kFALSE;
4191 Bool_t isBadJetRecCutsRC = kFALSE;
4201 for(Int_t it=0; it<
fListK0sRC->GetSize(); ++it){
4203 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4206 Double_t invMK0s =0;
4213 Double_t vK0sRC[3] = {invMK0s,trackPt,fEta};
4221 for(Int_t it=0; it<
fListLaRC->GetSize(); ++it){
4223 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4233 Double_t vLaRC[3] = {invMLa,trackPt,fEta};
4241 for(Int_t it=0; it<
fListALaRC->GetSize(); ++it){
4243 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4246 Double_t invMALa =0;
4253 Double_t vALaRC[3] = {invMALa,trackPt,fEta};
4258 if(isBadJetK0sRC == kFALSE){
4262 for(Int_t it=0; it<
fListK0sRC->GetSize(); ++it){
4264 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListK0sRC->At(it));
4267 Double_t invMK0s =0;
4280 if(isBadJetLaRC == kFALSE){
4282 for(Int_t it=0; it<
fListLaRC->GetSize(); ++it){
4284 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLaRC->At(it));
4301 if(isBadJetALaRC == kFALSE){
4303 for(Int_t it=0; it<
fListALaRC->GetSize(); ++it){
4305 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALaRC->At(it));
4308 Double_t invMALa =0;
4356 Double_t sumPerpPtK0 = 0.;
4357 Double_t sumPerpPtRecCuts = 0.;
4374 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetPerpConeK0list->GetEntries(),GetFFRadius());
4381 Double_t invMPerpK0s =0;
4387 Double_t vK0sPC[4] = {jetPt, invMPerpK0s,trackPt,fEta};
4396 Double_t vK0sPC[4] = {jetPt, -1, -1 , -999};
4402 if(IsMCCEvt == kFALSE){
4419 Double_t medianEta = medianCluster->Eta();
4426 Double_t sumMedianPtK0 = 0.;
4427 Double_t sumPtRecCuts = 0.;
4429 Bool_t isBadJetK0Median = kFALSE;
4430 Bool_t isBadJetRecCutsMedian = kFALSE;
4460 Double_t invMMedianK0s =0;
4466 Double_t vK0sMCC[3] = {invMMedianK0s,trackPt,fEta};
4473 Double_t vK0sMCC[3] = {-1, -1, -999};
4481 Double_t sumMedianPtLa = 0.;
4482 Bool_t isBadJetLaMedian = kFALSE;
4495 Double_t invMMedianLa =0;
4502 Double_t vLaMCC[3] = {invMMedianLa,trackPt,fEta};
4508 Double_t vLaMCC[4] = {jetPt, -1, -1, -999};
4517 Double_t sumMedianPtALa = 0.;
4519 Bool_t isBadJetALaMedian = kFALSE;
4533 Double_t invMMedianALa =0;
4540 Double_t vALaMCC[3] = {invMMedianALa,trackPt,fEta};
4547 Double_t vALaMCC[4] = {jetPt, -1, -1, -999};
4564 Double_t sumPerpPtLa = 0.;
4568 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetPerpConeLalist->GetEntries(),GetFFRadius());
4575 Double_t invMPerpLa =0;
4581 Double_t vLaPC[4] = {jetPt, invMPerpLa,trackPt,fEta};
4589 Double_t vLaPC[4] = {jetPt, -1, -1 , -999};
4599 Double_t sumPerpPtALa = 0.;
4603 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in perp jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetPerpConeALalist->GetEntries(),GetFFRadius());
4610 Double_t invMPerpALa =0;
4616 Double_t vALaPC[4] = {jetPt, invMPerpALa,trackPt,fEta};
4624 Double_t vALaPC[4] = {jetPt, -1, -1, -999};
4640 Double_t sumPtFDLa = 0.;
4641 Bool_t isBadJetFDLa = kFALSE;
4645 Double_t sumPtFDALa = 0.;
4646 Bool_t isBadJetFDALa = kFALSE;
4656 Double_t invMLaFDcand = 0;
4657 Double_t trackPt = 0;
4662 TClonesArray *st = 0x0;
4665 TList *lt = fAOD->GetList();
4668 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4671 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4672 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4674 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4676 Int_t v0lab = mcDaughterPart->GetMother();
4680 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4682 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4684 Int_t motherlab = mcp->GetMother();
4686 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4690 Double_t genLaPt = mcp->Pt();
4694 iMother = mcp->GetMother();
4696 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4702 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4703 Int_t codeMother = -1;
4704 if(!partMother)
continue;
4707 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4712 if((codeMother == 3312)||(codeMother == 3322)){
4714 Double_t XiPt = partMother->Pt();
4716 Double_t vFeedDownLa[3] = {5., invMLaFDcand, genLaPt};
4732 Double_t invMLaFDcand = 0;
4733 Double_t trackPt = mcfd->Pt();
4738 TClonesArray *st = 0x0;
4740 TList *lt = fAOD->GetList();
4743 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4745 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4746 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4748 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4750 Int_t v0lab = mcDaughterPart->GetMother();
4754 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4756 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4758 Double_t genLaPt = mcp->Pt();
4763 Double_t vFeedDownLaCone[3] = {jetPt, invMLaFDcand, genLaPt};
4775 Double_t invMALaFDcand = 0;
4776 Double_t trackPt = 0;
4781 TClonesArray *st = 0x0;
4783 TList *lt = fAOD->GetList();
4786 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4788 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4789 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4791 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4793 Int_t v0lab = mcDaughterPart->GetMother();
4795 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4797 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4799 Int_t motherlab = mcp->GetMother();
4801 if(motherlab >= 0 && v0lab < st->GetEntriesFast()){
4804 Double_t genALaPt = mcp->Pt();
4808 iMother = mcp->GetMother();
4811 if((!iMother) || (iMother<0) || (iMother > st->GetEntriesFast()))
continue;
4815 AliAODMCParticle *partMother = (AliAODMCParticle*)st->UncheckedAt(iMother);
4816 Int_t codeMother = -1;
4817 if(!partMother)
continue;
4819 if(partMother) codeMother = TMath::Abs(partMother->GetPdgCode());
4824 if((codeMother == -3312)||(codeMother == -3322)){
4826 Double_t XiPt = partMother->Pt();
4828 Double_t vFeedDownALa[3] = {5., invMALaFDcand, genALaPt};
4846 Double_t invMALaFDcand = 0;
4847 Double_t trackPt = 0;
4852 TClonesArray *st = 0x0;
4854 TList *lt = fAOD->GetList();
4857 st = (TClonesArray*)lt->FindObject(AliAODMCParticle::StdBranchName());
4859 AliAODTrack *daughtertrack = (AliAODTrack *) (mcfd->GetSecondaryVtx()->GetDaughter(0));
4860 Int_t AssLabel = TMath::Abs(daughtertrack->GetLabel());
4862 AliAODMCParticle *mcDaughterPart =(AliAODMCParticle*)st->UncheckedAt(AssLabel);
4864 Int_t v0lab = mcDaughterPart->GetMother();
4866 if((!v0lab) || (v0lab<0) || (v0lab > st->GetEntriesFast()))
continue;
4868 AliAODMCParticle *mcp=(AliAODMCParticle*)st->UncheckedAt(v0lab);
4870 Double_t genALaPt = mcp->Pt();
4872 Double_t vFeedDownALaCone[3] = {jetPt, invMALaFDcand, genALaPt};
4882 Double_t sumPtMCgenK0s = 0.;
4883 Bool_t isBadJetMCgenK0s = kFALSE;
4892 if(fDebug>2)Printf(
"%s:%d nMCgenK0s in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,
fListMCgenK0sCone->GetEntries(),GetFFRadius());
4897 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenK0sCone->At(it));
4901 Double_t fEtaMCgenK0s = mcp0->Eta();
4902 Double_t fPtMCgenK0s = mcp0->Pt();
4904 Double_t vMCgenK0Cone[3] = {jetPt,fPtMCgenK0s,fEtaMCgenK0s};
5055 for(Int_t it=0; it<
fListLa->GetSize(); ++it){
5057 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListLa->At(it));
5062 TVector3 v0MomVect(v0Mom);
5064 Double_t dPhiJetLa = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
5076 if(dPhiJetLa<fh1dPhiJetLa->GetXaxis()->GetXmin()) dPhiJetLa += 2*TMath::Pi();
5090 Double_t sumPtLa = 0.;
5091 Bool_t isBadJetLa = kFALSE;
5095 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetConeLalist->GetEntries(),GetFFRadius());
5099 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
jetConeLalist->At(it));
5106 if(daughtercheck == kFALSE)
continue;
5115 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5123 Double_t jetPtSmear = -1;
5162 if(incrementJetPt==kTRUE){
5166 Double_t vLaCone[4] = {jetPt, invMLa,trackPt,fEta};
5172 Bool_t incrementJetPt = kTRUE;
5174 Double_t vLaCone[4] = {jetPt, -1, -1, -1};
5177 if(incrementJetPt==kTRUE){
5181 Double_t jetPtSmear;
5183 if(incrementJetPt == kTRUE){
5195 Double_t sumPtMCgenLa = 0.;
5196 Bool_t isBadJetMCgenLa = kFALSE;
5203 if(fDebug>2)Printf(
"%s:%d nMCgenLa in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,
fListMCgenLaCone->GetEntries(),GetFFRadius());
5207 AliAODMCParticle* mcp0 =
dynamic_cast<AliAODMCParticle*
>(
fListMCgenLaCone->At(it));
5211 Double_t fEtaMCgenLa = mcp0->Eta();
5212 Double_t fPtMCgenLa = mcp0->Pt();
5214 Double_t vMCgenLaCone[3] = {jetPt,fPtMCgenLa,fEtaMCgenLa};
5367 for(Int_t it=0; it<
fListALa->GetSize(); ++it){
5369 AliAODv0* v0 =
dynamic_cast<AliAODv0*
>(
fListALa->At(it));
5374 TVector3 v0MomVect(v0Mom);
5376 Double_t dPhiJetALa = (jet->MomentumVector()->Vect()).DeltaPhi(v0MomVect);
5378 Double_t invMALa =0;
5388 if(dPhiJetALa<fh1dPhiJetALa->GetXaxis()->GetXmin()) dPhiJetALa += 2*TMath::Pi();
5402 Double_t sumPtALa = 0.;
5403 Bool_t isBadJetALa = kFALSE;
5407 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetConeALalist->GetEntries(),GetFFRadius());
5419 if(daughtercheck == kFALSE)
continue;
5422 Double_t invMALa =0;
5430 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5443 Double_t jetPtSmear = -1;
5473 if(incrementJetPt==kTRUE){
5477 Double_t vALaCone[4] = {jetPt, invMALa,trackPt,fEta};
5483 Bool_t incrementJetPt = kTRUE;
5485 if(incrementJetPt==kTRUE){
5489 Double_t vALaCone[4] = {jetPt, -1, -1, -1};
5493 Double_t jetPtSmear;
5517 for(Int_t ij=0; ij<nGenJets; ++ij){
5519 AliAODJet* jet =
dynamic_cast<AliAODJet*
>(fJetsGen->At(ij));
5522 TList* mclist = fAOD->GetList();
5523 if (!mclist){std::cout<<
"mclist does not exist for Embedding study: "<<std::endl;
continue;}
5526 Double_t ptFractionEmbeddedMC = 0;
5527 Double_t deltaREmbeddedMC = 0;
5528 Double_t ptFractionEmbedded = 0;
5529 Double_t deltaREmbedded = 0;
5530 AliAODJet* embeddedJet = 0;
5531 AliAODJet* matchedJet = 0;
5533 if(fBranchEmbeddedJets.Length()){
5535 Int_t indexEmbeddedMC = iGenMatchIndex[ij];
5536 ptFractionEmbeddedMC = fGenMatchPtFraction[ij];
5541 if(fDebug > 2)std::cout<<
" ij: "<<ij<<
" indexEmbeddedMC: "<<indexEmbeddedMC<<std::endl;
5545 if(indexEmbeddedMC > -1){
5547 embeddedJet =
dynamic_cast<AliAODJet*
>(fJetsEmbedded->At(indexEmbeddedMC));
5548 if(!embeddedJet)
continue;
5550 deltaREmbeddedMC = jet->DeltaR((AliVParticle*) (embeddedJet));
5552 Int_t indexExtra = iEmbeddedMatchIndex[indexEmbeddedMC];
5554 if(fDebug > 2)std::cout<<
" ij "<<ij<<
" deltaREmbeddedMC "<<deltaREmbeddedMC<<
" indexExtra "<<indexExtra<<std::endl;
5556 if(indexExtra > -1){
5558 matchedJet =
dynamic_cast<AliAODJet*
>(fJetsRecCuts->At(indexExtra));
5560 ptFractionEmbedded = fRecMatchPtFraction[indexExtra];
5561 deltaREmbedded = embeddedJet->DeltaR((AliVParticle*) (matchedJet));
5563 if(fDebug > 2)std::cout<<
"In gen. jet loop - jet matching - ij: "<<ij<<
" indexExtra: "<<indexExtra<<
" ptFractionEmbedded: "<<ptFractionEmbedded<<
" deltaREmbedded: "<<deltaREmbedded<<std::endl;
5570 TList* jettrackList =
new TList();
5571 Double_t sumPt = 0.;
5572 Bool_t isBadJet = kFALSE;
5574 TList* jettrackListMatch =
new TList();
5575 Double_t sumPtMatch = 0.;
5576 Bool_t isBadJetMatch = kFALSE;
5579 if(GetFFRadius()<=0){
5580 GetJetTracksTrackrefs(jettrackList, jet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
5583 else GetJetTracksPointing(fTracksGen, jettrackList, jet, GetFFRadius(), sumPt, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJet);
5585 if(GetFFMinNTracks()>0 && jettrackList->GetSize()<=GetFFMinNTracks()){isBadJet = kTRUE;}
5587 if(jettrackList->GetEntries() == 0){
5589 if(fDebug >2)std::cout<<
" Generated jet loop: jettrackList is empty! "<<std::endl;
5591 delete jettrackList;
5596 jettrackListMatch->Clear();
5600 if(GetFFRadius()<=0){
5601 GetJetTracksTrackrefs(jettrackListMatch, matchedJet, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJetMatch);
5604 else GetJetTracksPointing(fTracksRecCuts, jettrackListMatch, matchedJet, GetFFRadius(), sumPtMatch, GetFFMinLTrackPt(), GetFFMaxTrackPt(), isBadJetMatch);}
5607 if(GetFFMinNTracks()>0 && jettrackListMatch->GetSize()<=GetFFMinNTracks()){isBadJetMatch = kTRUE;}
5609 if(jettrackListMatch->GetEntries() == 0){
5611 if(fDebug >2)std::cout<<
" Generated jet loop: jettrackListMatch is empty! "<<std::endl;
5613 delete jettrackListMatch;
5619 if(!embeddedJet)std::cout<<
"Gen. jet loop: no embedded jet (in extra branch) existing!! "<<std::endl;
5620 if(!matchedJet)std::cout<<
"Gen. jet loop: no matched jet (in extra branch) existing!! "<<std::endl;
5624 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()
5625 <<
" ptFractionEmbeddedMC "<<ptFractionEmbeddedMC<<
" dRMC "<<deltaREmbeddedMC
5626 <<
" ptFractionEmbedded "<<ptFractionEmbedded<<
" dR "<<deltaREmbedded<<endl;
5643 Double_t embJetPt = embeddedJet->Pt();
5647 if(fDebug > 2)std::cout<<
" After MatchMode 2 matching cuts - embJetPt: "<<embJetPt<<std::endl;
5650 for(Int_t it=0; it<jettrackList->GetSize(); ++it){
5652 AliVParticle* trackVP =
dynamic_cast<AliVParticle*
>(
jettracklist->At(it));
5653 if(!trackVP)
continue;
5654 TLorentzVector* trackV =
new TLorentzVector(trackVP->Px(),trackVP->Py(),trackVP->Pz(),trackVP->P());
5656 Float_t jetPt = jet->Pt();
5658 if(matchedJet) jetPt = matchedJet->Pt();
5662 if(fDebug > 2)std::cout<<
" After MatchMode 2 matching cuts - jetPt: "<<jetPt<<std::endl;
5664 Float_t trackPt = trackV->Pt();
5666 Bool_t incrementJetPt = (it==0) ? kTRUE : kFALSE;
5668 if (ij==0) fFFHistosGen->FillFF(trackPt, jetPt, incrementJetPt);
5683 Double_t sumPtK0EmbMC = 0.;
5684 Bool_t isBadJetK0EmbMC = kFALSE;
5691 if(fDebug>2)Printf(
"%s:%d nK0s total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nK0s,
jetConeK0EmbMClist->GetEntries(),GetFFRadius());
5701 AliAODMCParticle *part =
dynamic_cast<AliAODMCParticle*
>(
jetConeK0EmbMClist->At(it));
5704 Double_t genPt = part->Pt();
5706 Float_t jetPt = jet->Pt();
5708 if(matchedJet) jetPt = matchedJet->Pt();
5712 if(fDebug > 2)std::cout<<
" gen. EmbCone K0s candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5723 Double_t sumPtLaEmbMC = 0.;
5725 Bool_t isBadJetLaEmbMC = kFALSE;
5732 if(fDebug>2)Printf(
"%s:%d nLa total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nLa,
jetConeLaEmbMClist->GetEntries(),GetFFRadius());
5740 AliAODMCParticle *part =
dynamic_cast<AliAODMCParticle*
>(
jetConeLaEmbMClist->At(it));
5743 Double_t genPt = part->Pt();
5745 Float_t jetPt = jet->Pt();
5747 if(matchedJet) jetPt = matchedJet->Pt();
5752 if(fDebug > 2)std::cout<<
" gen. EmbCone Lambda candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5761 Double_t sumPtALaEmbMC = 0.;
5763 Bool_t isBadJetALaEmbMC = kFALSE;
5769 if(fDebug>2)Printf(
"%s:%d nALa total: %d, in gen. jet cone: %d,FFRadius %f ",(
char*)__FILE__,__LINE__,nALa,
jetConeALaEmbMClist->GetEntries(),GetFFRadius());
5779 Float_t jetPt = jet->Pt();
5781 if(matchedJet) jetPt = matchedJet->Pt();
5785 Double_t genPt = part->Pt();
5786 if(fDebug > 2)std::cout<<
" gen. EmbCone ALambda candidate - partPt: "<<genPt<<
" jet Pt: "<<jetPt<<std::endl;
5796 delete jettrackList;
5797 delete jettrackListMatch;
5835 fTracksRecCuts->Clear();
5837 fTracksGen->Clear();
5838 fJetsRecCuts->Clear();
5840 fJetsEmbedded->Clear();
5841 fBckgJetsRec->Clear();
5865 PostData(1, fCommonHistList);
5878 h->GetXaxis()->SetTitleColor(1);
5879 h->GetYaxis()->SetTitleColor(1);
5880 h->GetZaxis()->SetTitleColor(1);
5891 const AliAODTrack *ntracktest=(AliAODTrack *)v0->GetDaughter(nnum);
5892 if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;}
5894 const AliAODTrack *trackNeg=(AliAODTrack *)(v0->GetDaughter(nnum));
5895 const AliAODTrack *trackPos=(AliAODTrack *)(v0->GetDaughter(pnum));
5898 if (!trackPos || !trackNeg) {
5899 Printf(
"strange analysis::UserExec:: Error:Could not retrieve one of the daughter tracks\n");
5904 if ( trackPos->Charge() == trackNeg->Charge() ){
5910 Double_t nsig_p = 0;
5911 Double_t nsig_n = 0;
5913 const AliAODPid *pid_p=trackPos->GetDetPid();
5914 const AliAODPid *pid_n=trackNeg->GetDetPid();
5916 if(!pid_p)
return kFALSE;
5917 if(!pid_n)
return kFALSE;
5921 if(particletype == 1)
5924 nsig_p=PIDResponse->NumberOfSigmasTPC(trackPos,AliPID::kProton);
5925 Double_t protonPt = trackPos->Pt();
5935 if(particletype == 2)
5937 nsig_n=PIDResponse->NumberOfSigmasTPC(trackNeg,AliPID::kProton);
5938 Double_t antiprotonPt = trackNeg->Pt();