]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/AliAnalysisTaskJetSpectrum2.cxx
add OCDB for truncated mean (Xianguo)
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetSpectrum2.cxx
index c99f2a69bd535ae88a60866eb9f8f707650d9556..46cc43e4153779d9041f74d8bbc565a85d23edab 100644 (file)
@@ -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;
@@ -189,6 +191,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fNMatchJets(5),
   fNRPBins(3),
   fJetTriggerExcludeMask(AliAODJet::kHighTrackPtTriggered),
+  fJetTriggerBestMask(AliAODJet::kHighTrackPtBest),
   fFilterMask(0),
   fEventSelectionMask(0),
   fNTrigger(0),
@@ -233,6 +236,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;
@@ -457,6 +461,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,17 +486,21 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects()
     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,  25,    fNRPBins, 1,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,5000,fNRPBins-0.5,1.0,fNTrigger-0.5,200.};
     
+    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",nBinsSparse1,nBins1,xmin1,xmax1);
+    fhnJetPt[ij]->SetBinEdges(7,binArrayLeadingTrackPt);
     fHistList->Add(fhnJetPt[ij]);
     
     // Bins:  Jet number: pTJet, cent, eta, phi, Area.   total bins = 9.72 M
@@ -901,7 +912,8 @@ 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
+
   var1[2] = fCentrality; 
   var1[3] = refMult;
 
@@ -912,14 +924,14 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles
     AliAODJet *jet = (AliAODJet*)jetsList.At(ij);
     Float_t ptJet = jet->Pt();
     if(ptJet<0.150)ptJet = jet->GetPtSubtracted(0);
+    if(jet->Trigger()&fJetTriggerBestMask){
+      fh1PtJetsInBest[iType]->Fill(ptJet);
+    }
     if(jet->Trigger()&fJetTriggerExcludeMask){
       fh1PtJetsInRej[iType]->Fill(ptJet);
       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 +970,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;