fNMatchJets(5),
fNRPBins(3),
fJetTriggerExcludeMask(AliAODJet::kHighTrackPtTriggered),
+ fJetTriggerBestMask(AliAODJet::kHighTrackPtBest),
fFilterMask(0),
fEventSelectionMask(0),
fNTrigger(0),
fh1SumPtTrack[ij] = 0;
fh1PtJetsIn[ij] = 0;
fh1PtJetsInRej[ij] = 0;
+ fh1PtJetsInBest[ij] = 0;
fh1PtTracksIn[ij] = 0;
fh1PtTracksInLow[ij] = 0;
fh2NJetsPt[ij] = 0;
fp2MultRPPhiTrackPt[ij] = 0;
fp2CentRPPhiTrackPt[ij] = 0;
fhnJetPt[ij] = 0;
+ fhnJetPtBest[ij] = 0;
+ fhnJetPtRej[ij] = 0;
fhnJetPtQA[ij] = 0;
fhnTrackPt[ij] = 0;
fhnTrackPtQA[ij] = 0;
fNMatchJets(5),
fNRPBins(3),
fJetTriggerExcludeMask(AliAODJet::kHighTrackPtTriggered),
+ fJetTriggerBestMask(AliAODJet::kHighTrackPtBest),
fFilterMask(0),
fEventSelectionMask(0),
fNTrigger(0),
fh1SumPtTrack[ij] = 0;
fh1PtJetsIn[ij] = 0;
fh1PtJetsInRej[ij] = 0;
+ fh1PtJetsInBest[ij] = 0;
fh1PtTracksIn[ij] = 0;
fh1PtTracksInLow[ij] = 0;
fh2NJetsPt[ij] = 0;
fp2MultRPPhiTrackPt[ij] = 0;
fp2CentRPPhiTrackPt[ij] = 0;
fhnJetPt[ij] = 0;
+ fhnJetPtBest[ij] = 0;
+ fhnJetPtRej[ij] = 0;
fhnJetPtQA[ij] = 0;
fhnTrackPt[ij] = 0;
fhnTrackPtQA[ij] = 0;
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]);
fp2CentRPPhiTrackPt[ij] = new TProfile2D(Form("fp2CentRPPhiTrackPt%s",cAdd.Data()),"RP phi vs cent;# cent;#Delta#phi_{RP}; <p_{T}>",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];
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()};
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 <fNTrigger;it++){
+ if(fInputHandler->IsEventSelected()&fTriggerBit[it]){
+ var1b[2] = it;
+ fhnJetPtBest[iType]->Fill(var1b);
+ }
+ }
+ }
if(jet->Trigger()&fJetTriggerExcludeMask){
fh1PtJetsInRej[iType]->Fill(ptJet);
+ for(int it = 0;it <fNTrigger;it++){
+ if(fInputHandler->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...
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;
for(int it = 0;it <fNTrigger;it++){
if(fInputHandler->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
}
//
- 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
var4[4] = tmpPhi;
- fhnTrackPt[iType]->Fill(var3);
+
+ for(int it = 0;it <fNTrigger;it++){
+ if(fInputHandler->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;
}