X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FAliAnalysisTaskJetSpectrum2.cxx;h=4b987a038753f9d5fa58175498516196b753a8d1;hb=d8813183699e5646504b4ce08c98f87d18821d1e;hp=c99f2a69bd535ae88a60866eb9f8f707650d9556;hpb=441afcb96e84fce4bd3498d32a7167a5c999f65e;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/AliAnalysisTaskJetSpectrum2.cxx b/PWGJE/AliAnalysisTaskJetSpectrum2.cxx index c99f2a69bd5..4b987a03875 100644 --- a/PWGJE/AliAnalysisTaskJetSpectrum2.cxx +++ b/PWGJE/AliAnalysisTaskJetSpectrum2.cxx @@ -94,6 +94,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(): fNMatchJets(5), fNRPBins(3), fJetTriggerExcludeMask(AliAODJet::kHighTrackPtTriggered), + fJetTriggerBestMask(AliAODJet::kHighTrackPtBest), fFilterMask(0), fEventSelectionMask(0), fNTrigger(0), @@ -138,6 +139,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(): fh1SumPtTrack[ij] = 0; fh1PtJetsIn[ij] = 0; fh1PtJetsInRej[ij] = 0; + fh1PtJetsInBest[ij] = 0; fh1PtTracksIn[ij] = 0; fh1PtTracksInLow[ij] = 0; fh2NJetsPt[ij] = 0; @@ -145,6 +147,8 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(): fp2MultRPPhiTrackPt[ij] = 0; fp2CentRPPhiTrackPt[ij] = 0; fhnJetPt[ij] = 0; + fhnJetPtBest[ij] = 0; + fhnJetPtRej[ij] = 0; fhnJetPtQA[ij] = 0; fhnTrackPt[ij] = 0; fhnTrackPtQA[ij] = 0; @@ -189,6 +193,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name): fNMatchJets(5), fNRPBins(3), fJetTriggerExcludeMask(AliAODJet::kHighTrackPtTriggered), + fJetTriggerBestMask(AliAODJet::kHighTrackPtBest), fFilterMask(0), fEventSelectionMask(0), fNTrigger(0), @@ -233,6 +238,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name): fh1SumPtTrack[ij] = 0; fh1PtJetsIn[ij] = 0; fh1PtJetsInRej[ij] = 0; + fh1PtJetsInBest[ij] = 0; fh1PtTracksIn[ij] = 0; fh1PtTracksInLow[ij] = 0; fh2NJetsPt[ij] = 0; @@ -240,6 +246,8 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name): fp2MultRPPhiTrackPt[ij] = 0; fp2CentRPPhiTrackPt[ij] = 0; fhnJetPt[ij] = 0; + fhnJetPtBest[ij] = 0; + fhnJetPtRej[ij] = 0; fhnJetPtQA[ij] = 0; fhnTrackPt[ij] = 0; fhnTrackPtQA[ij] = 0; @@ -457,6 +465,9 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects() fh1PtJetsInRej[ij] = new TH1F(Form("fh1PtJets%sInRej",cAdd.Data()),Form("%s jets p_T;p_{T} (GeV/c)",cAdd.Data()),nBinPt,binLimitsPt); fHistList->Add(fh1PtJetsInRej[ij]); + + fh1PtJetsInBest[ij] = new TH1F(Form("fh1PtJets%sInBest",cAdd.Data()),Form("%s jets p_T;p_{T} (GeV/c)",cAdd.Data()),nBinPt,binLimitsPt); + fHistList->Add(fh1PtJetsInBest[ij]); fh1PtTracksIn[ij] = new TH1F(Form("fh1PtTracks%sIn",cAdd.Data()),Form("%s track p_T;p_{T} (GeV/c)",cAdd.Data()),nBinPt,binLimitsPt); fHistList->Add(fh1PtTracksIn[ij]); @@ -479,35 +490,52 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects() fp2CentRPPhiTrackPt[ij] = new TProfile2D(Form("fp2CentRPPhiTrackPt%s",cAdd.Data()),"RP phi vs cent;# cent;#Delta#phi_{RP}; ",10,0,100,181,-1./180.*TMath::Pi(),TMath::Pi(),"S"); fHistList->Add(fp2CentRPPhiTrackPt[ij]); - // Bins: Jet number: pTJet, cent, mult, RP, Area, trigger total bins = 4.5M - const Int_t nBinsSparse1 = 7; - Int_t nBins1[nBinsSparse1] = { kMaxJets+1,120, 10, 25, fNRPBins, 10,fNTrigger}; + // Bins: Jet number: pTJet, cent, mult, RP, Area, trigger, leading track pT total bins = 4.5M + const Int_t nBinsSparse1 = 8; + const Int_t nBinsLeadingTrackPt = 10; + Int_t nBins1[nBinsSparse1] = { kMaxJets+1,120, 10, 20, fNRPBins, 5,fNTrigger,nBinsLeadingTrackPt}; if(cJetBranch.Contains("RandomCone")){ nBins1[1] = 600; nBins1[5] = 1; } - const Double_t xmin1[nBinsSparse1] = { -0.5,-50, 0, 0, -0.5, 0.,-0.5}; - const Double_t xmax1[nBinsSparse1] = {kMaxJets+0.5,250,100,5000,fNRPBins-0.5,1.0,fNTrigger-0.5}; + const Double_t xmin1[nBinsSparse1] = { -0.5,-50, 0, 0, -0.5, 0.,-0.5,0.}; + const Double_t xmax1[nBinsSparse1] = {kMaxJets+0.5,250,100,4000,fNRPBins-0.5,1.0,fNTrigger-0.5,200.}; - fhnJetPt[ij] = new THnSparseF(Form("fhnJetPt%s",cAdd.Data()),";jet number;p_{T,jet};cent;# tracks;RP;area;trigger",nBinsSparse1,nBins1,xmin1,xmax1); + const Double_t binArrayLeadingTrackPt[nBinsLeadingTrackPt+1] = {xmin1[7],1.,2.,3.,4.,5.,6.,8.,10.,12.,xmax1[7]}; //store pT of leading track in jet + + fhnJetPt[ij] = new THnSparseF(Form("fhnJetPt%s",cAdd.Data()),";jet number;p_{T,jet};cent;# tracks;RP;area;trigger;leading track p_{T}",nBinsSparse1,nBins1,xmin1,xmax1); + fhnJetPt[ij]->SetBinEdges(7,binArrayLeadingTrackPt); fHistList->Add(fhnJetPt[ij]); + + + // Bins: pTJet, cent, trigger, + const Int_t nBinsSparse1b = 3; + Int_t nBins1b[nBinsSparse1b] = {120, 10,fNTrigger}; + const Double_t xmin1b[nBinsSparse1b] = {-50, 0,-0.5}; + const Double_t xmax1b[nBinsSparse1b] = {250,100,fNTrigger-0.5}; + + fhnJetPtBest[ij] = new THnSparseF(Form("fhnJetPtBest%s",cAdd.Data()),";p_{T,jet};cent;trigger",nBinsSparse1b,nBins1b,xmin1b,xmax1b); + fHistList->Add(fhnJetPtBest[ij]); + + fhnJetPtRej[ij] = new THnSparseF(Form("fhnJetPtRej%s",cAdd.Data()),";p_{T,jet};cent;trigger",nBinsSparse1b,nBins1b,xmin1b,xmax1b); + fHistList->Add(fhnJetPtRej[ij]); // Bins: Jet number: pTJet, cent, eta, phi, Area. total bins = 9.72 M - const Int_t nBinsSparse2 = 6; - Int_t nBins2[nBinsSparse2] = { kMaxJets+1, 25, 5, 18, 360, 10}; + const Int_t nBinsSparse2 = 7; + Int_t nBins2[nBinsSparse2] = { kMaxJets+1, 25, 8, 18, 180, 10,fNTrigger}; if(cJetBranch.Contains("RandomCone")){ nBins2[5] = 1; } - const Double_t xmin2[nBinsSparse2] = { -0.5, 0, 0,-0.9, 0, 0.}; - const Double_t xmax2[nBinsSparse2] = {kMaxJets+0.5,250, 100, 0.9, 2.*TMath::Pi(),1.0}; - fhnJetPtQA[ij] = new THnSparseF(Form("fhnJetPtQA%s",cAdd.Data()),";jet number;p_{T,jet};cent;#eta;#phi;area",nBinsSparse2,nBins2,xmin2,xmax2); + const Double_t xmin2[nBinsSparse2] = { -0.5, 0, 0,-0.9, 0, 0.,-0.5}; + const Double_t xmax2[nBinsSparse2] = {kMaxJets+0.5,250, 80, 0.9, 2.*TMath::Pi(),1.0,fNTrigger-0.5}; + fhnJetPtQA[ij] = new THnSparseF(Form("fhnJetPtQA%s",cAdd.Data()),";jet number;p_{T,jet};cent;#eta;#phi;area;trigger",nBinsSparse2,nBins2,xmin2,xmax2); fHistList->Add(fhnJetPtQA[ij]); // Bins:track number pTtrack, cent, mult, RP. total bins = 224 k - const Int_t nBinsSparse3 = 5; - const Int_t nBins3[nBinsSparse3] = { 2, 100, 10, 20, fNRPBins}; - const Double_t xmin3[nBinsSparse3] = { -0.5, 0, 0, 0, -0.5}; - const Double_t xmax3[nBinsSparse3] = { 1.5, 200, 100, 4000,fNRPBins-0.5}; + const Int_t nBinsSparse3 = 6; + const Int_t nBins3[nBinsSparse3] = { 2, 100, 10, 1, fNRPBins,fNTrigger}; + const Double_t xmin3[nBinsSparse3] = { -0.5, 0, 0, 0, -0.5,-0.5}; + const Double_t xmax3[nBinsSparse3] = { 1.5, 200, 100, 4000,fNRPBins-0.5,fNTrigger-0.5}; // change the binning ot the pT axis: Double_t *xPt3 = new Double_t[nBins3[1]+1]; @@ -516,19 +544,20 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects() if(xPt3[i-1]<2)xPt3[i] = xPt3[i-1] + 0.05; // 1 - 40 else if(xPt3[i-1]<4)xPt3[i] = xPt3[i-1] + 0.2; // 41 - 50 else if(xPt3[i-1]<10)xPt3[i] = xPt3[i-1] + 0.5; // 50 - 62 - else if(xPt3[i-1]<20)xPt3[i] = xPt3[i-1] + 1.; // 62 - 72 - else if(xPt3[i-1]<30)xPt3[i] = xPt3[i-1] + 2.5; // 74 - 78 - else xPt3[i] = xPt3[i-1] + 5.; // 78 - 100 = 140 + else if(xPt3[i-1]<15)xPt3[i] = xPt3[i-1] + 1.; // 62 - 67 + else if(xPt3[i-1]<20)xPt3[i] = xPt3[i-1] + 2.; // 67 - 72 + else if(xPt3[i-1]<60)xPt3[i] = xPt3[i-1] + 5; // 72 - 76 + else xPt3[i] = xPt3[i-1] + 10; // 76 - 100 = 140 } - fhnTrackPt[ij] = new THnSparseF(Form("fhnTrackPt%s",cAdd.Data()),";track number;p_{T};cent;#tracks;RP",nBinsSparse3,nBins3,xmin3,xmax3); + fhnTrackPt[ij] = new THnSparseF(Form("fhnTrackPt%s",cAdd.Data()),";track number;p_{T};cent;#tracks;RP;trigger",nBinsSparse3,nBins3,xmin3,xmax3); fhnTrackPt[ij]->SetBinEdges(1,xPt3); fHistList->Add(fhnTrackPt[ij]); delete [] xPt3; // Track QA bins track nr, pTrack, cent, eta, phi bins 5.4 M const Int_t nBinsSparse4 = 5; - const Int_t nBins4[nBinsSparse4] = { 2, 50, 10, 20, 360}; + const Int_t nBins4[nBinsSparse4] = { 2, 50, 10, 20, 180}; const Double_t xmin4[nBinsSparse4] = { -0.5, 0, 0, -1.0, 0.}; const Double_t xmax4[nBinsSparse4] = { 1.5,150, 100, 1.0,2.*TMath::Pi()}; @@ -901,25 +930,46 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles Int_t ij0 = -1; Int_t ij1 = -1; - Double_t var1[7] = {0,}; // jet number;p_{T,jet};cent;# tracks;RP;area + Double_t var1[8] = {0,}; // jet number;p_{T,jet};cent;# tracks;RP;area;trigger;leadingTrackPt + Double_t var1b[3] = {0,}; // p_{T,jet};cent;trigger; + var1[2] = fCentrality; + var1b[1] = fCentrality; var1[3] = refMult; - Double_t var2[6] = {0,}; // jet number;p_{T,jet};cent;#eta;#phi;area + + + Double_t var2[7] = {0,}; // jet number;p_{T,jet};cent;#eta;#phi;area;trigger var2[2] = fCentrality; for(int ij = 0;ij < nJets;ij++){ AliAODJet *jet = (AliAODJet*)jetsList.At(ij); Float_t ptJet = jet->Pt(); + + if(ptJet<0.150)ptJet = jet->GetPtSubtracted(0); + + var1b[0] = ptJet; + if(jet->Trigger()&fJetTriggerBestMask){ + fh1PtJetsInBest[iType]->Fill(ptJet); + for(int it = 0;it IsEventSelected()&fTriggerBit[it]){ + var1b[2] = it; + fhnJetPtBest[iType]->Fill(var1b); + } + } + } if(jet->Trigger()&fJetTriggerExcludeMask){ fh1PtJetsInRej[iType]->Fill(ptJet); + for(int it = 0;it IsEventSelected()&fTriggerBit[it]){ + var1b[2] = it; + fhnJetPtRej[iType]->Fill(var1b); + } + } continue; } fh1PtJetsIn[iType]->Fill(ptJet); - if(ptJet>ptOld){ - Printf("%s:%d Jets Type %d Not Sorted !! %d:%.3E %d:%.3E",(char*)__FILE__,__LINE__,iType,ij,ptJet,ij-1,ptOld); - } ptOld = ptJet; // find the dijets assume sorting and acceptance cut... @@ -958,6 +1008,7 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles var1[1] = ptJet; var1[4] = phiBin; var1[5] = jet->EffectiveAreaCharged(); + var1[7] = (leadTrack?leadTrack->Pt():0);//pT of leading jet var2[1] = ptJet; var2[3] = etaJet; @@ -970,10 +1021,11 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles for(int it = 0;it IsEventSelected()&fTriggerBit[it]){ var1[6] = it; + var2[6] = it; fhnJetPt[iType]->Fill(var1); + fhnJetPtQA[iType]->Fill(var2); } } - fhnJetPtQA[iType]->Fill(var2); } var1[0] = kMaxJets;// fill for all jets var2[0] = kMaxJets;// fill for all jets @@ -1067,7 +1119,7 @@ void AliAnalysisTaskJetSpectrum2::FillTrackHistos(TList &particlesList,int iType } // - Double_t var3[5]; // track number;p_{T};cent;#tracks;RP + Double_t var3[6]; // track number;p_{T};cent;#tracks;RP var3[2] = fCentrality; var3[3] = refMult; Double_t var4[5]; // track number;p_{T};cent;#eta;#phi @@ -1130,13 +1182,27 @@ void AliAnalysisTaskJetSpectrum2::FillTrackHistos(TList &particlesList,int iType var4[4] = tmpPhi; - fhnTrackPt[iType]->Fill(var3); + + for(int it = 0;it IsEventSelected()&fTriggerBit[it]){ + var3[0] = 1; + var3[5] = it; + fhnTrackPt[iType]->Fill(var3); + if(tmpTrack==leading){ + var3[0] = 0; + fhnTrackPt[iType]->Fill(var3); + } + } + } + + + + + fhnTrackPtQA[iType]->Fill(var4); if(tmpTrack==leading){ - var3[0] = 0; var4[0] = 0; - fhnTrackPt[iType]->Fill(var3); fhnTrackPtQA[iType]->Fill(var4); continue; }