X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FUserTasks%2FAliAnalysisTaskJetAntenna.cxx;h=7cfd131e1e5123d878f670a306c0998430963726;hb=9a0db301a761270182333b28e625520243e0830e;hp=21f94052ae8a6daf4e79d58a4011a5936a55b02b;hpb=c55ab78646727694c2c8e3dc5b6f0baebb717400;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/UserTasks/AliAnalysisTaskJetAntenna.cxx b/PWGJE/UserTasks/AliAnalysisTaskJetAntenna.cxx index 21f94052ae8..7cfd131e1e5 100644 --- a/PWGJE/UserTasks/AliAnalysisTaskJetAntenna.cxx +++ b/PWGJE/UserTasks/AliAnalysisTaskJetAntenna.cxx @@ -106,8 +106,9 @@ fkNbranches(2), fkEvtClasses(12), fOutputList(0x0), fHistEvtSelection(0x0), -fh1JetEntries(0x0), +fh2JetEntries(0x0), fh2Circularity(0x0), +fh2JetAxisPhi(0x0), fhnJetTM(0x0) { // default Constructor @@ -165,8 +166,9 @@ fkNbranches(2), fkEvtClasses(12), fOutputList(0x0), fHistEvtSelection(0x0), -fh1JetEntries(0x0), +fh2JetEntries(0x0), fh2Circularity(0x0), +fh2JetAxisPhi(0x0), fhnJetTM(0x0) { // Constructor @@ -222,15 +224,20 @@ void AliAnalysisTaskJetAntenna::UserCreateOutputObjects() fHistEvtSelection->GetXaxis()->SetBinLabel(5,"centrality (rejected)"); fHistEvtSelection->GetXaxis()->SetBinLabel(6,"multiplicity (rejected)"); fOutputList->Add(fHistEvtSelection); - fh1JetEntries=new TH1F("JetEntries","",150,0,150); - fOutputList->Add(fh1JetEntries); + fh2JetEntries=new TH2F("JetEntries","",150,0,150,10,-0.5,9.5); + fOutputList->Add(fh2JetEntries); fh2Circularity=new TH2F("Circcularity","",10,0,1,150,0,150); fOutputList->Add(fh2Circularity); - Int_t nbinsJet[8]={10,9,7,9,36,10,2,10}; - Double_t binlowJet[8]= {0,0, 0, 0,-0.5*TMath::Pi(),0,0,-0.5}; - Double_t binupJet[8]= {100,0.9, 150,150,1.5*TMath::Pi(),1,200,9.5}; - fhnJetTM = new THnSparseF("fhnJetTM", "fhnJetTM; cent;dr;pt_jet;pt_track;phi;circ;nc;pthard",8,nbinsJet,binlowJet,binupJet); - Double_t *xPt3=new Double_t[10]; + fh2JetAxisPhi=new TH2F("JetAxisSmearPhi","",9,0,TMath::Pi(),10,-0.5,9.5); + fOutputList->Add(fh2JetAxisPhi); + + + Int_t nbinsJet[10]={3,9,7,9,36,10,2,10,20,2}; + Double_t binlowJet[10]= {0,0, 0, 0,-0.5*TMath::Pi(),0,0,-0.5,0,0}; + Double_t binupJet[10]= {100,0.9, 150,150,1.5*TMath::Pi(),1,200,9.5,200,2}; + fhnJetTM = new THnSparseF("fhnJetTM", "fhnJetTM; cent;dr;pt_jet;pt_track;phi;circ;nc;pthard",10,nbinsJet,binlowJet,binupJet); + + Double_t *xPt3=new Double_t[10]; xPt3[0] = 0.; for(Int_t i = 1;i<=9;i++){ if(xPt3[i-1]<2)xPt3[i] = xPt3[i-1] + 0.4; // 1 - 5 @@ -250,9 +257,22 @@ void AliAnalysisTaskJetAntenna::UserCreateOutputObjects() xPt2[7]=150; fhnJetTM->SetBinEdges(2,xPt2); - fOutputList->Add(fhnJetTM); + + + Double_t *xPt4=new Double_t[4]; + xPt4[0] = 0.; + xPt4[1]=10; + xPt4[2]=30; + xPt4[3]=50; + + + fhnJetTM->SetBinEdges(0,xPt4); + + + fOutputList->Add(fhnJetTM); delete [] xPt3; delete [] xPt2; + delete [] xPt4; // =========== Switch on Sumw2 for all histos =========== for (Int_t i=0; iGetEntries(); ++i) { TH1 *h1 = dynamic_cast(fOutputList->At(i)); @@ -475,11 +495,15 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) Double_t areabig=0; Double_t phibig=0.; Double_t pxbig,pybig,pzbig; - + Double_t phitrue=0; + Double_t etatrue=0; + Double_t smearphi=0; AliAODJet* jetbig = (AliAODJet*)(fListJets[0]->At(i)); etabig = jetbig->Eta(); phibig = jetbig->Phi(); + phitrue=phibig; + etatrue=etabig; ptbig = jetbig->Pt(); if(ptbig==0) continue; areabig = jetbig->EffectiveAreaCharged(); @@ -508,10 +532,22 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) } if(!jetAccepted) continue; + etabig=jetmatched->Eta(); + phibig=jetmatched->Phi(); pxbig=jetmatched->Px(); pybig=jetmatched->Py(); pzbig=jetmatched->Pz(); - ptbig=jetmatched->Pt()-rho*jetmatched->EffectiveAreaCharged();} + ptbig=jetmatched->Pt()-rho*jetmatched->EffectiveAreaCharged(); + + + + + + smearphi=RelativePhi(phitrue,jetmatched->Phi()); + smearphi=TMath::Abs(smearphi); + + +} @@ -530,7 +566,7 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) Float_t mxy = 0.; Int_t nc = 0; Float_t sump2 = 0.; - + Float_t ptmax=-10; for(int it = 0;itPx(), track->Py(), track->Pz()); @@ -541,9 +577,11 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) Float_t dphi = RelativePhi(phi,phibig); if(TMath::Abs(dphi)>=0.5*TMath::Pi()) continue; Float_t r = TMath::Sqrt(dphi * dphi + deta * deta); - if (r < 0.4 && pt>fCutTM) { + + if (r < 0.4 && pt>fCutTM) { //longitudinal and perpendicular component of the track pT in the //local frame + if(pt>ptmax) ptmax=pt; TVector3 pLong = pp.Dot(ppJ1) / ppJ1.Mag2() * ppJ1; TVector3 pPerp = pp - pLong; //projection onto the two perpendicular vectors defined above @@ -556,7 +594,7 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) mxy += (ppjX * ppjY / ppjT); nc++; sump2 += ppjT;} - // max pt + if(nc<2) continue; } // 1st Track Loop @@ -581,14 +619,22 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) if(jev==1) circ=2*eval[0]; if(jev==0) circ=2*eval[1]; fh2Circularity->Fill(circ,ptbig); - fh1JetEntries->Fill(ptbig); + fh2JetEntries->Fill(ptbig,pthardbin); + + + if(fDoMatching) fh2JetAxisPhi->Fill(smearphi,pthardbin); + + + for (Int_t ip = 0; ip < ParticleList.GetEntries(); ip++) { AliVParticle *track = (AliVParticle*)ParticleList.At(ip); + Float_t isembed=0.5; + if(fDoMatching) if(ipPx(), track->Py(), track->Pz()); Float_t phi = track->Phi(); Float_t eta = track->Eta(); Float_t pt = track->Pt(); - + Float_t deta = eta - etabig; Float_t dphi = RelativePhi(phi,phibig); if(TMath::Abs(dphi)>=0.5*TMath::Pi()) continue; @@ -606,7 +652,7 @@ void AliAnalysisTaskJetAntenna::UserExec(Option_t *) if(phistr<-0.5*TMath::Pi()) phistr += 2*TMath::Pi(); if(phistr>1.5*TMath::Pi()) phistr -= 2*TMath::Pi(); - double jetEntries[8] = {centValue,dRR,ptbig,pt,phistr,circ,static_cast(nc),pthardbin}; + double jetEntries[10] = {centValue,dRR,ptbig,pt,phistr,circ,static_cast(nc),pthardbin,ptmax,isembed}; fhnJetTM->Fill(jetEntries); } // 2nd Track loop @@ -662,36 +708,15 @@ Int_t AliAnalysisTaskJetAntenna::GetListOfTracks(TList *list){ Int_t AliAnalysisTaskJetAntenna::GetListOfTracksExtra(TList *list){ Int_t iCount = 0; + Int_t nEmbed=0; AliAODEvent *aod = 0; if(!fESD)aod = fAODIn; else aod = fAODOut; if(!aod)return 0; - for(int it = 0;it < aod->GetNumberOfTracks();++it){ - AliAODTrack *tr = aod->GetTrack(it); - Bool_t bGood = false; - if(fFilterType == 0)bGood = true; - else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal(); - else if(fFilterType == 2)bGood = tr->IsHybridGlobalConstrainedGlobal(); - if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue; - if(fRequireITSRefit==1){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} - if(bGood==false) continue; - if (fApplySharedClusterCut) { - Double_t frac = Double_t(tr->GetTPCnclsS()) /Double_t(tr->GetTPCncls()); - if (frac > 0.4) continue; - } - if(TMath::Abs(tr->Eta())>0.9)continue; - if(tr->Pt()<0.15)continue; - list->Add(tr); - iCount++; - } - - - - - TClonesArray *aodExtraTracks = dynamic_cast(aod->FindListObject("aodExtraTracks")); + TClonesArray *aodExtraTracks = dynamic_cast(aod->FindListObject("aodExtraTracks")); if(!aodExtraTracks)return iCount; for(int it =0; itGetEntries(); it++) { AliVParticle *track = dynamic_cast ((*aodExtraTracks)[it]); @@ -709,15 +734,38 @@ Int_t AliAnalysisTaskJetAntenna::GetListOfTracksExtra(TList *list){ if (frac > 0.4) continue; } - if(TMath::Abs(trackAOD->Eta())>0.9) continue; if(trackAOD->Pt()<0.15) continue; if(fDebug) printf("pt extra track %.2f \n", trackAOD->Pt()); list->Add(trackAOD); iCount++; - } - - return iCount; + } + + nEmbed=iCount-1; + + + + + for(int it = 0;it < aod->GetNumberOfTracks();++it){ + AliAODTrack *tr = aod->GetTrack(it); + Bool_t bGood = false; + if(fFilterType == 0)bGood = true; + else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal(); + else if(fFilterType == 2)bGood = tr->IsHybridGlobalConstrainedGlobal(); + if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue; + if(fRequireITSRefit==1){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} + if(bGood==false) continue; + if (fApplySharedClusterCut) { + Double_t frac = Double_t(tr->GetTPCnclsS()) /Double_t(tr->GetTPCncls()); + if (frac > 0.4) continue; + } + if(TMath::Abs(tr->Eta())>0.9)continue; + if(tr->Pt()<0.15)continue; + list->Add(tr); + iCount++; + } + + return nEmbed; } Double_t AliAnalysisTaskJetAntenna::RelativePhi(Double_t mphi,Double_t vphi){