X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisTaskPhiCorr.cxx;h=db9f510e14f72ca3c0ca8634c96b075dad413942;hb=1dfcda1aa2d06c2d0aa714a1d5d4c47f0a15d201;hp=082b698dc7214955c3712f7b5e2fdb9e4dcaafe7;hpb=cb6876bb9056a2e5b87e0818a9904043a47d9102;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisTaskPhiCorr.cxx b/ANALYSIS/AliAnalysisTaskPhiCorr.cxx index 082b698dc72..db9f510e14f 100644 --- a/ANALYSIS/AliAnalysisTaskPhiCorr.cxx +++ b/ANALYSIS/AliAnalysisTaskPhiCorr.cxx @@ -5,7 +5,7 @@ #include "AliAODEvent.h" #include "AliAODTrack.h" #include "AliAnalysisTaskPhiCorr.h" -#include "AliMultiAODInputHandler.h" +#include "AliMultiEventInputHandler.h" ClassImp(AliAnalysisTaskPhiCorr) @@ -48,51 +48,34 @@ void AliAnalysisTaskPhiCorr::UserExec(Option_t *) // Uncorrelated tracks Int_t nev = fInputHandler->GetBufferSize(); Float_t wgt = 1./(nev*(nev-1)); + fMixedEvent.Reset(); for (Int_t iev = 0; iev < nev; iev++) { - for (Int_t jev = (iev + 1); jev < nev; jev++) { - AliAODEvent* aod1 = GetEvent(iev); - AliAODEvent* aod2 = GetEvent(jev); - - Int_t ntracks1 = aod1->GetNumberOfTracks(); - Int_t ntracks2 = aod2->GetNumberOfTracks(); - - printf("Number of tracks %5d:%5d %5d:%5d\n", iev, ntracks1, jev, ntracks2); - - for (Int_t iTracks = 0; iTracks < ntracks1; iTracks++) { - for (Int_t jTracks = 0; jTracks < ntracks2; jTracks++) { - - - AliAODTrack* track1 = aod1->GetTrack(iTracks); - AliAODTrack* track2 = aod2->GetTrack(jTracks); - - Float_t phi1 = track1->Phi(); - Float_t phi2 = track2->Phi(); - Float_t dphi = TMath::Abs(phi1 - phi2); - if (dphi > TMath::Pi()) dphi = 2. * TMath::Pi() - dphi; - fHistDphiUC->Fill(dphi, wgt); - } // tracks - } // tracks - } // event loop - } // event loop - -// Correlated - AliAODEvent* aod = fInputHandler->GetLatestEvent(); - - Int_t ntracks = aod->GetNumberOfTracks(); - for (Int_t iTracks = 0; iTracks < ntracks; iTracks++) { - for (Int_t jTracks = (iTracks+1); jTracks < ntracks; jTracks++) { - AliAODTrack* track1 = aod->GetTrack(iTracks); - AliAODTrack* track2 = aod->GetTrack(jTracks); - Float_t phi1 = track1->Phi(); - Float_t phi2 = track2->Phi(); - Float_t dphi = TMath::Abs(phi1 - phi2); - if (dphi > TMath::Pi()) dphi = 2. * TMath::Pi() - dphi; - fHistDphiCO->Fill(dphi); - } // tracks + AliAODEvent* aod = (AliAODEvent*) GetEvent(iev); + fMixedEvent.AddEvent(aod); } - - // Post output data. + fMixedEvent.Init(); + Int_t ntrack = fMixedEvent.GetNumberOfTracks(); + if (ntrack > 1) { + for (Int_t itr = 0; itr < ntrack -1; itr++) { + for (Int_t jtr = itr+1; jtr < ntrack; jtr++) { + AliVParticle* track1 = fMixedEvent.GetTrack(itr); + AliVParticle* track2 = fMixedEvent.GetTrack(jtr); + Int_t iev1 = fMixedEvent.EventIndex(itr); + Int_t iev2 = fMixedEvent.EventIndex(jtr); + + Float_t phi1 = track1->Phi(); + Float_t phi2 = track2->Phi(); + Float_t dphi = TMath::Abs(phi1 - phi2); + if (dphi > TMath::Pi()) dphi = 2. * TMath::Pi() - dphi; + if (iev1 != iev2) { + fHistDphiUC->Fill(dphi, wgt); + } else { + fHistDphiCO->Fill(dphi, 0.5); + } + } // tarcks + } // tracks + } // more than 1 PostData(1, fHists); } @@ -104,6 +87,6 @@ void AliAnalysisTaskPhiCorr::Terminate(Option_t *) TCanvas *c1 = new TCanvas("AliAnalysisTaskPt","Pt",10,10,510,510); c1->cd(1)->SetLogy(); - fHistDphiUC->DrawCopy("E"); - fHistDphiCO->DrawCopy("Esame"); + fHistDphiCO->DrawCopy("E"); + fHistDphiUC->DrawCopy("Esame"); }