X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FAliAnalysisTaskAj.cxx;h=165c6447ef3544b0f9e1e11fb94b7424a32622d9;hb=ea6276b8346955177dca4c6880cf65a7ac2603be;hp=ef91acf51841f08dacffef8a6dcf52e702486f33;hpb=4f9d90a5d15d20bada57b987a63324773e19a131;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/AliAnalysisTaskAj.cxx b/PWGJE/AliAnalysisTaskAj.cxx index ef91acf5184..165c6447ef3 100644 --- a/PWGJE/AliAnalysisTaskAj.cxx +++ b/PWGJE/AliAnalysisTaskAj.cxx @@ -53,12 +53,16 @@ #include "AliAnalysisTaskAj.h" +using std::cout; +using std::endl; + ClassImp(AliAnalysisTaskAj) AliAnalysisTaskAj::AliAnalysisTaskAj() : AliAnalysisTaskSE(), fESD(0x0), -fAOD(0x0), +fAODIn(0x0), +fAODOut(0x0), fAODExtension(0x0), fBackgroundBranch(""), fNonStdFile(""), @@ -132,7 +136,8 @@ fhnDeltaR(0x0) AliAnalysisTaskAj::AliAnalysisTaskAj(const char *name) : AliAnalysisTaskSE(name), fESD(0x0), -fAOD(0x0), +fAODIn(0x0), +fAODOut(0x0), fAODExtension(0x0), fBackgroundBranch(""), fNonStdFile(""), @@ -398,10 +403,16 @@ void AliAnalysisTaskAj::UserExec(Option_t *) fESD=dynamic_cast(InputEvent()); if (!fESD) { AliError("ESD not available"); - fAOD = dynamic_cast(InputEvent()); - } else { - fAOD = dynamic_cast(AODEvent()); - } + fAODIn = dynamic_cast(InputEvent());} + fAODOut = dynamic_cast(AODEvent()); + + static AliAODEvent* aod = 0; + // take all other information from the aod we take the tracks from + if(!aod){ + if(!fESD)aod = fAODIn; + else aod = fAODOut;} + + if(fNonStdFile.Length()!=0){ // case that we have an AOD extension we need can fetch the jets from the extended output @@ -430,12 +441,12 @@ void AliAnalysisTaskAj::UserExec(Option_t *) } // vertex selection - if(!fAOD){ + if(!aod){ if(fDebug) Printf("%s:%d No AOD",(char*)__FILE__,__LINE__); fHistEvtSelection->Fill(3); PostData(1, fOutputList); } - AliAODVertex* primVtx = fAOD->GetPrimaryVertex(); + AliAODVertex* primVtx = aod->GetPrimaryVertex(); if(!primVtx){ if(fDebug) Printf("%s:%d No primVtx",(char*)__FILE__,__LINE__); @@ -468,14 +479,14 @@ void AliAnalysisTaskAj::UserExec(Option_t *) Double_t centValue = 0.; if(fESD) {cent = fESD->GetCentrality(); if(cent) centValue = cent->GetCentralityPercentile("V0M");} - else centValue=fAOD->GetHeader()->GetCentrality(); + else centValue=aod->GetHeader()->GetCentrality(); if(fDebug) printf("centrality: %f\n", centValue); - if (centValue < fCentMin || centValue > fCentMax){ - fHistEvtSelection->Fill(4); - PostData(1, fOutputList); - return; - } + // if (centValue < fCentMin || centValue > fCentMax){ + // fHistEvtSelection->Fill(4); + // PostData(1, fOutputList); + // return; + // } fHistEvtSelection->Fill(0); @@ -484,8 +495,8 @@ void AliAnalysisTaskAj::UserExec(Option_t *) // get background AliAODJetEventBackground* externalBackground = 0; - if(fAOD&&!externalBackground&&fBackgroundBranch.Length()){ - externalBackground = (AliAODJetEventBackground*)(fAOD->FindListObject(fBackgroundBranch.Data())); + if(fAODOut&&!externalBackground&&fBackgroundBranch.Length()){ + externalBackground = (AliAODJetEventBackground*)(fAODOut->FindListObject(fBackgroundBranch.Data())); if(!externalBackground)Printf("%s:%d Background branch not found %s",(char*)__FILE__,__LINE__,fBackgroundBranch.Data());; } if(fAODExtension&&!externalBackground&&fBackgroundBranch.Length()){ @@ -493,19 +504,26 @@ void AliAnalysisTaskAj::UserExec(Option_t *) if(!externalBackground)Printf("%s:%d Background branch not found %s",(char*)__FILE__,__LINE__,fBackgroundBranch.Data());; } - Float_t rho = 0; + if(fAODIn&&!externalBackground&&fBackgroundBranch.Length()){ + externalBackground = (AliAODJetEventBackground*)(fAODIn->FindListObject(fBackgroundBranch.Data())); + if(!externalBackground)Printf("%s:%d Background branch not found %s",(char*)__FILE__,__LINE__,fBackgroundBranch.Data());; + } + Float_t rho = 0; if(externalBackground)rho = externalBackground->GetBackground(0); // fetch jets TClonesArray *aodJets[2]; aodJets[0]=0; - if(fAOD&&!aodJets[0]){ - aodJets[0] = dynamic_cast(fAOD->FindListObject(fJetBranchName[0].Data())); - aodJets[1] = dynamic_cast(fAOD->FindListObject(fJetBranchName[1].Data())); } + if(fAODOut&&!aodJets[0]){ + aodJets[0] = dynamic_cast(fAODOut->FindListObject(fJetBranchName[0].Data())); + aodJets[1] = dynamic_cast(fAODOut->FindListObject(fJetBranchName[1].Data())); } if(fAODExtension && !aodJets[0]){ aodJets[0] = dynamic_cast(fAODExtension->GetAOD()->FindListObject(fJetBranchName[0].Data())); aodJets[1] = dynamic_cast(fAODExtension->GetAOD()->FindListObject(fJetBranchName[1].Data())); } + if(fAODIn&&!aodJets[0]){ + aodJets[0] = dynamic_cast(fAODIn->FindListObject(fJetBranchName[0].Data())); + aodJets[1] = dynamic_cast(fAODIn->FindListObject(fJetBranchName[1].Data())); } //Double_t ptsub[aodJets[0]->GetEntriesFast()]; //Int_t inord[aodJets[0]->GetEntriesFast()]; @@ -551,8 +569,8 @@ void AliAnalysisTaskAj::UserExec(Option_t *) if(ptcorrj>ptmax){ptmax=ptcorrj; selec=i;}} ///hardest jet selected - if(selec<0){PostData(1, fOutputList); - return;} + if(selec<0){PostData(1, fOutputList); + return;} AliAODJet* jet1 = (AliAODJet*)(fListJets[0]->At(selec)); //What is the hardest constituent track? AliAODTrack* leadtrack1; @@ -762,14 +780,13 @@ void AliAnalysisTaskAj::UserExec(Option_t *) Float_t ppjY = pPerp.Dot(ppJ3); TVector2 vr(ppjX, ppjY) ; //and this is the angle between the particle and the TM axis. - // Float_t phistr = evec.DeltaPhi(vr); + Float_t phistr = evec.DeltaPhi(vr); - Double_t phistr=vr.Phi()-evec.Phi(); + //Double_t phistr=vr.Phi()-evec.Phi(); if(centValue<10.) fh3LocalCoordinates->Fill(ppjX,ppjY,ptcorr2); Double_t deltaEta = eta2-track->Eta(); - if(phistr<-0.5*TMath::Pi()) phistr+=2.*TMath::Pi(); - if(phistr>3./2.*TMath::Pi()) phistr-=2.*TMath::Pi(); + if(deltaPhi<-0.5*TMath::Pi()) deltaPhi+=2.*TMath::Pi(); if(deltaPhi>3./2.*TMath::Pi()) deltaPhi-=2.*TMath::Pi(); @@ -835,10 +852,14 @@ void AliAnalysisTaskAj::Terminate(const Option_t *) Int_t AliAnalysisTaskAj::GetListOfTracks(TList *list){ Int_t iCount = 0; - if(!fAOD)return iCount; + + AliAODEvent *aod = 0; + if(!fESD)aod = fAODIn; + else aod = fAODOut; + if(!aod) return iCount; - for(int it = 0;it < fAOD->GetNumberOfTracks();++it){ - AliAODTrack *tr = fAOD->GetTrack(it); + for(int it = 0;it < aod->GetNumberOfTracks();++it){ + AliAODTrack *tr = aod->GetTrack(it); if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue; if(TMath::Abs(tr->Eta())>0.9)continue; if(tr->Pt()<0.15)continue; @@ -853,15 +874,20 @@ Int_t AliAnalysisTaskAj::GetListOfTracks(TList *list){ } Int_t AliAnalysisTaskAj::GetHardestTrackBackToJet(AliAODJet *jetbig){ - + + Int_t index=-1; + AliAODEvent *aod = 0; + if(!fESD)aod = fAODIn; + else aod = fAODOut; + if(!aod) return index; + - Int_t index=-1; Double_t ptmax=-10; Double_t dphi=0; Double_t dif=0; Int_t iCount=0; - for(int it = 0;it < fAOD->GetNumberOfTracks();++it){ - AliAODTrack *tr = fAOD->GetTrack(it); + for(int it = 0;it < aod->GetNumberOfTracks();++it){ + AliAODTrack *tr = aod->GetTrack(it); if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue; if(TMath::Abs(tr->Eta())>0.9)continue; if(tr->Pt()<0.15)continue; @@ -887,10 +913,15 @@ Int_t AliAnalysisTaskAj::GetListOfTracks(TList *list){ Int_t AliAnalysisTaskAj::GetListOfTracksCloseToJet(TList *list,AliAODJet *jetbig){ Int_t iCount = 0; + AliAODEvent *aod = 0; + if(!fESD)aod = fAODIn; + else aod = fAODOut; + if(!aod) return iCount; + - for(int it = 0;it < fAOD->GetNumberOfTracks();++it){ - AliAODTrack *tr = fAOD->GetTrack(it); + for(int it = 0;it < aod->GetNumberOfTracks();++it){ + AliAODTrack *tr = aod->GetTrack(it); if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue; if(TMath::Abs(tr->Eta())>0.9)continue; if(tr->Pt()<0.15)continue; @@ -920,6 +951,11 @@ Int_t AliAnalysisTaskAj::GetNInputTracks() { Int_t nInputTracks = 0; + AliAODEvent *aod = 0; + if(!fESD)aod = fAODIn; + else aod = fAODOut; + if(!aod) return nInputTracks; + TString jbname(fJetBranchName[1]); //needs complete event, use jets without background subtraction @@ -931,7 +967,7 @@ Int_t AliAnalysisTaskAj::GetNInputTracks() if(jbname.Contains("AODextra")) jbname.ReplaceAll("AODextra","AOD"); if(fDebug) Printf("Multiplicity from jet branch %s", jbname.Data()); - TClonesArray *tmpAODjets = dynamic_cast(fAOD->FindListObject(jbname.Data())); + TClonesArray *tmpAODjets = dynamic_cast(aod->FindListObject(jbname.Data())); if(!tmpAODjets){ Printf("Jet branch %s not found", jbname.Data()); Printf("AliAnalysisTaskAj::GetNInputTracks FAILED"); @@ -1070,8 +1106,8 @@ void AliAnalysisTaskAj::GetDimParams(Int_t iEntry, TString &label, Int_t &nbins, case 7: label = "deltaPhiTM"; nbins = 60; - xmin = -0.5*pi; - xmax = 1.5*pi; + xmin = 0.; + xmax = 1.3*pi; break;