21 #include <TClonesArray.h>
27 #include <TLorentzVector.h>
29 #include <TGraphErrors.h>
34 #include "AliCentrality.h"
38 #include "AliVCluster.h"
39 #include "AliAODCaloCluster.h"
40 #include "AliESDCaloCluster.h"
41 #include "AliVTrack.h"
42 #include "AliAnalysisUtils.h"
66 fHistJetsCorrPtVsNonCorr(0),
67 fHistBackgroundDone(0),
76 fHistLogJTPtaNonInv(0),
77 fHistJTPta_allNonInv(0),
79 fHistLogJTBgNonInv(0),
85 fhTrackingEfficiency(0),
98 fTrackArrayName("nonejk"),
108 fHistTracksPt =
new TH1*[fNcentBins];
109 fHistTracksJt =
new TH1*[fNcentBins];
110 fHistTracksEta =
new TH1*[fNcentBins];
111 fHistClustersPt =
new TH1*[fNcentBins];
112 fHistLeadingJetPt =
new TH1*[fNcentBins];
113 fHistJetsPt =
new TH1**[fNcentBins];
114 fHistJetsCorrPt =
new TH1**[fNcentBins];
115 fHistJetsCorrPtVsNonCorr=
new TProfile*[fNcentBins];
116 fHistBackgroundDone =
new TH1**[fNcentBins];
117 fHistJTPta =
new TH1***[fNcentBins];
118 fHistLogJTPta =
new TH1***[fNcentBins];
119 fHistJTPta_all =
new TH1***[fNcentBins];
120 fHistJTBg =
new TH1***[fNcentBins];
121 fHistLogJTBg =
new TH1***[fNcentBins];
122 fHistJTPtaNonInv =
new TH1***[fNcentBins];
123 fHistLogJTPtaNonInv =
new TH1***[fNcentBins];
124 fHistJTPta_allNonInv =
new TH1***[fNcentBins];
125 fHistJTBgNonInv =
new TH1***[fNcentBins];
126 fHistLogJTBgNonInv =
new TH1***[fNcentBins];
127 fHistBgMulti =
new TH1**[fNcentBins];
128 fHistBgPt =
new TH1**[fNcentBins];
129 fHistJetEta =
new TH1**[fNcentBins];
130 fHistJetMulti =
new TH1**[fNcentBins];
131 fHistJetTracksPt =
new TH1**[fNcentBins];
132 fhTrackingEfficiency =
new TProfile*[fNcentBins];
133 fHistPtaVsJt =
new TProfile**[fNcentBins];
134 fHistBgPtaVsJt =
new TProfile**[fNcentBins];
138 for (
Int_t i = 0; i < fNcentBins; i++) {
140 fHistLogJTPta[i] = 0;
141 fHistJTPta_all[i] = 0;
144 fHistJTPtaNonInv[i] = 0;
145 fHistLogJTPtaNonInv[i] = 0;
146 fHistJTPta_allNonInv[i] = 0;
147 fHistJTBgNonInv[i] = 0;
148 fHistLogJTBgNonInv[i] = 0;
149 fHistBackgroundDone[i] = 0;
150 fHistTracksPt[i] = 0;
151 fHistTracksJt[i] = 0;
152 fHistTracksEta[i] = 0;
153 fHistClustersPt[i] = 0;
154 fHistLeadingJetPt[i] = 0;
156 fHistJetsCorrPt[i] = 0;
157 fHistJetsCorrPtVsNonCorr[i] = 0;
161 fHistJetMulti[i] = 0;
162 fHistJetTracksPt[i] = 0;
163 fhTrackingEfficiency[i] = 0;
165 fHistBgPtaVsJt[i] = 0;
171 SetMakeGeneralHistograms(kTRUE);
181 fHistLeadingJetPt(0),
184 fHistJetsCorrPtVsNonCorr(0),
185 fHistBackgroundDone(0),
194 fHistLogJTPtaNonInv(0),
195 fHistJTPta_allNonInv(0),
197 fHistLogJTBgNonInv(0),
203 fhTrackingEfficiency(0),
211 fCaloClustersCont(0),
213 fHistEvtSelection(0),
216 fTrackArrayName(
"nonejk"),
295 cout <<
"AliAnalysisTaskJetJTJT::setCentBinBorders: " << endl;
307 cout <<
"AliAnalysisTaskJetJTJT::setTriggPtBorders: " << endl;
318 cout <<
"AliAnalysisTaskJetJTJT::setAssocPtBorders: " << endl;
334 cout <<
"Creating Histograms" << endl;
357 double LogBinsJt[NBINSJt+1], LimLJt=0.001, LimHJt=10;
358 double logBWJt = (TMath::Log(LimHJt)-TMath::Log(LimLJt))/(NBINSJt-1);
360 for(
int ij=1;ij<=NBINSJt;ij++) LogBinsJt[ij]=LimLJt*exp(ij*logBWJt);
363 double LogBinsPt[NBINSPt+1], LimLPt=0.1, LimHPt=20;
364 double logBWPt = (TMath::Log(LimHPt)-TMath::Log(LimLPt))/(NBINSPt-1);
366 for(
int ib=1;ib<=NBINSPt;ib++) LogBinsPt[ib]=LimLPt*exp(ib*logBWJt);
369 double LimLJtW=TMath::Log(LimLJt), LimHJtW=TMath::Log(LimHJt);
373 cout <<
"AliAnalysisTaskJetJTJT::UserCreateOutputObjects: Creating efficiency" << endl;
379 histname =
"fHistVertexZ";
380 fhVertexZ =
new TH1F(histname.Data(), histname.Data(), 200, -20., 20.);
381 fhVertexZ->GetXaxis()->SetTitle(
"#Delta z(cm)");
382 fhVertexZ->GetYaxis()->SetTitle(
"dN^{Events}/dz");
396 histname =
"fHistTracksPt_";
398 fHistTracksPt[ic] =
new TH1F(histname.Data(), histname.Data(), NBINSPt, LogBinsPt);
399 fHistTracksPt[ic]->GetXaxis()->SetTitle(
"p_{T,track} (GeV/c)");
403 histname =
"fHistTracksJt_";
405 fHistTracksJt[ic] =
new TH1F(histname.Data(), histname.Data(), NBINSJt, LogBinsJt);
406 fHistTracksJt[ic]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
410 histname =
"fHistTracksEta_";
418 histname =
"fhTrackingEfficiency_";
483 histname =
"hJTPtaD00C";
485 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
487 cout << histname << endl;
488 fHistJTPta[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(),NBINSJt, LogBinsJt);
489 fHistJTPta[ic][iptt][ipta]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
490 fHistJTPta[ic][iptt][ipta]->GetYaxis()->SetTitle(
"counts");
493 histname =
"hLogJTPtaD00C";
495 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
497 cout << histname << endl;
498 fHistLogJTPta[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJtW, LimLJtW, LimHJtW);
499 fHistLogJTPta[ic][iptt][ipta]->GetXaxis()->SetTitle(
"ln(J_{T,track}/ (GeV/c))");
500 fHistLogJTPta[ic][iptt][ipta]->GetYaxis()->SetTitle(
"counts");
503 histname =
"hJTPta_allD00C";
505 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
507 cout << histname << endl;
508 fHistJTPta_all[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJt, LogBinsJt);
509 fHistJTPta_all[ic][iptt][ipta]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
515 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
517 cout << histname << endl;
518 fHistJTBg[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJt, LogBinsJt);
519 fHistJTBg[ic][iptt][ipta]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
520 fHistJTBg[ic][iptt][ipta]->GetYaxis()->SetTitle(
"counts");
523 histname =
"hLogJTBg";
525 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
527 cout << histname << endl;
528 fHistLogJTBg[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJtW, LimLJtW, LimHJtW);
529 fHistLogJTBg[ic][iptt][ipta]->GetXaxis()->SetTitle(
"ln(J_{T,track}/ (GeV/c))");
530 fHistLogJTBg[ic][iptt][ipta]->GetYaxis()->SetTitle(
"counts");
533 histname =
"hJTPtaNonInvD00C";
535 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
537 cout << histname << endl;
538 fHistJTPtaNonInv[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(),NBINSJt, LogBinsJt);
539 fHistJTPtaNonInv[ic][iptt][ipta]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
543 histname =
"hLogJTPtaNonInvD00C";
545 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
547 cout << histname << endl;
548 fHistLogJTPtaNonInv[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJtW, LimLJtW, LimHJtW);
553 histname =
"hJTPta_allNonInvD00C";
555 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
557 cout << histname << endl;
558 fHistJTPta_allNonInv[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJt, LogBinsJt);
563 histname =
"hJTBgNonInv";
565 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
567 cout << histname << endl;
568 fHistJTBgNonInv[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJt, LogBinsJt);
569 fHistJTBgNonInv[ic][iptt][ipta]->GetXaxis()->SetTitle(
"J_{T,track} (GeV/c)");
573 histname =
"hLogJTBg";
575 histname += Form(
"C%02dT%02dA%02d", ic, iptt, ipta);
577 cout << histname << endl;
578 fHistLogJTBgNonInv[ic][iptt][ipta] =
new TH1F(histname.Data(), histname.Data(), NBINSJtW, LimLJtW, LimHJtW);
589 histname =
"fHistClustersPt_";
598 histname =
"fHistLeadingJetPt_";
605 histname =
"fHistJetsCorrPtVsNonCorr_";
606 histname += Form(
"C%02d", ic);
614 histname =
"fHistJetsPt_";
615 histname += Form(
"C%02dT%02d", ic, iptt);
617 fHistJetsPt[ic][iptt]->GetXaxis()->SetTitle(
"p_{T}^{raw} (GeV/c)");
618 fHistJetsPt[ic][iptt]->GetYaxis()->SetTitle(
"counts");
621 histname =
"fHistJetsCorrPt_";
622 histname += Form(
"C%02dT%02d", ic, iptt);
624 fHistJetsCorrPt[ic][iptt]->GetXaxis()->SetTitle(
"p_{T}^{raw} (GeV/c)");
628 histname =
"fHistBackgroundDone_";
629 histname += Form(
"C%02dT%02d", ic, iptt);;
635 histname =
"fHistJetEta_";
636 histname += Form(
"C%02dT%02d", ic, iptt);
637 fHistJetEta[ic][iptt] =
new TH1F(histname.Data(), histname.Data(),
fNbins, -2, 2);
638 fHistJetEta[ic][iptt]->GetXaxis()->SetTitle(
"#eta");
639 fHistJetEta[ic][iptt]->GetYaxis()->SetTitle(
"jets");
642 histname =
"fHistJetMulti_";
643 histname += Form(
"C%02dT%02d", ic, iptt);
644 fHistJetMulti[ic][iptt] =
new TH1F(histname.Data(), histname.Data(), 200, 0, 200);
645 fHistJetMulti[ic][iptt]->GetXaxis()->SetTitle(
"Multiplicity");
649 histname =
"fHistBgMulti_";
650 histname += Form(
"C%02dT%02d", ic, iptt);
651 fHistBgMulti[ic][iptt] =
new TH1F(histname.Data(), histname.Data(), 200, 0, 200);
652 fHistBgMulti[ic][iptt]->GetXaxis()->SetTitle(
"Multiplicity");
656 histname =
"fHistBgPt_";
657 histname += Form(
"C%02dT%02d", ic, iptt);
659 fHistBgPt[ic][iptt]->GetXaxis()->SetTitle(
"p_{T}");
660 fHistBgPt[ic][iptt]->GetYaxis()->SetTitle(
"tracks");
663 histname =
"fHistJetTracksPt_";
665 histname += Form(
"C%02dT%02d", ic, iptt);
667 cout << histname << endl;
673 histname =
"fHistPtaVsJt_";
674 histname += Form(
"C%02dT%02d", ic, iptt);
675 fHistPtaVsJt[ic][iptt] =
new TProfile(histname.Data(), histname.Data(),NBINSJt, LogBinsJt);
676 fHistPtaVsJt[ic][iptt]->GetXaxis()->SetTitle(
"j_{T,track} (GeV/c)");
677 fHistPtaVsJt[ic][iptt]->GetYaxis()->SetTitle(
"p_{T,track} (GeV/c)");
680 histname =
"fHistBgPtaVsJt_";
681 histname += Form(
"C%02dT%02d", ic, iptt);
682 fHistBgPtaVsJt[ic][iptt] =
new TProfile(histname.Data(), histname.Data(),NBINSJt, LogBinsJt);
683 fHistBgPtaVsJt[ic][iptt]->GetXaxis()->SetTitle(
"j_{T,track} (GeV/c)");
684 fHistBgPtaVsJt[ic][iptt]->GetYaxis()->SetTitle(
"p_{T,track} (GeV/c)");
710 AliCentrality *aliCent = InputEvent()->GetCentrality();
714 fCent = aliCent->GetCentralityPercentile(
"V0M");
730 AliWarning(Form(
"%s: Could not retrieve centrality information! Assuming 99", GetName()));
733 int fHadronSelectionCut = 5;
738 double ptt = track->Pt();
743 cout <<
"Getting efficiency correction for ptt " << ptt <<
" with centrality " <<
fCent << endl;
747 cout <<
"Filling fhTrackingEfficiency fCentBin: " <<
fCentBin <<
" ptt: " << ptt <<
" with efficiency: " << effCorr << endl;
752 if(ptt > 0 && 1.0/ptt > 0){
766 TLorentzVector nPart;
767 cluster->GetMomentum(nPart,
fVertex);
774 Int_t fPttBin, fPtaBin;
782 cout <<
"Number of Jets: " << Njets << endl;
794 jetPhis[ij] = jet->
Phi();
795 jetEtas[ij] = jet->
Eta();
799 cout <<
"i: " << ij <<
" jetPhi: " << jetPhis[ij] <<
" jetEta: " << jetEtas[ij] << endl;
805 cout <<
"jetPt: " << jet->
Pt() <<
" jetPhi: " << jet->
Phi() <<
" jetEta: " << jet->
Eta() << endl;
817 if(jet->
Eta() < -0.4 || jet->
Eta() > 0.4){
819 cout <<
"Jet outside eta range, Eta: " << jet->
Eta() << endl;
825 for(
int iptt = 0 ; iptt <
fNpttBins; iptt++){
833 if(jet->
Pt() > 0 && 1.0/jet->
Pt() > 0){
840 cout <<
"Number of tracks " << nTrack <<
" Jet Pt: " << jet->
Pt() << endl;
842 for(
Int_t it = 0; it < nTrack; it++ ){
845 cout <<
"No Track found" << endl;
849 for(
int ipta = 0 ; ipta <
fNptaBins; ipta++){
856 cout <<
"Filling fHistJetTracksPt C" <<
fCentBin <<
" T" << fPttBin << endl;
859 if(jt > 0 && 1.0/jt > 0){
868 cout <<
"Filling JT C" <<
fCentBin <<
"T" << fPttBin <<
"A" << fPtaBin <<
" jt:" << jt <<
" with " << effCorr/jt<< endl;
876 Float_t rotatedAngle = jetAngle+TMath::Pi()/2;
877 if(rotatedAngle > TMath::Pi()*2){
878 rotatedAngle = rotatedAngle- TMath::Pi()*2;
883 Float_t testRadius = TMath::Sqrt(jetArea/TMath::Pi());
888 for(
int i_j = 0; i_j < Njets; i_j++){
890 Float_t diffR =
getDiffR(jetPhis[i_j],rotatedAngle,jetEtas[i_j],jetRap);
892 cout <<
"i_j: " << i_j <<
" JetPhi: " << jetPhis[i_j] <<
" jetEta: " << jetEtas[i_j] << endl;
893 cout <<
"DiffR: " << diffR <<
" doBG: " << doBg <<endl;
895 if(diffR < testRadius *2){
910 if(jt > 0 && 1.0/jt > 0){
914 for(
int ipta = 0 ; ipta <
fNptaBins; ipta++){
922 Float_t diffR =
getDiffR(track->Phi(),rotatedAngle,track->Eta(),jetRap);
924 if(diffR < testRadius){
927 jt =
getJt(track,bgCone,0);
928 if(jt > 0 && 1.0/jt > 0){
936 cout <<
"Filling Background C" <<
fCentBin <<
"T" << fPttBin <<
"A" << fPtaBin <<
" jt:" << jt <<
" with " << effCorr/jt<< endl;
957 if(jet->
Pt() > 0 && 1.0/jet->
Pt() > 0){
972 dotproduct = -track->Px()*jet->
Py()+track->Py()*jet->
Px()+track->Pz()*jet->
Pz();
974 dotproduct = track->Px()*jet->
Px()+track->Py()*jet->
Py()+track->Pz()*jet->
Pz();
976 Float_t constp = sqrt(track->Px()*track->Px()+track->Py()*track->Py()+track->Pz()*track->Pz());
977 Float_t normproduct = constp*jetp;
978 Float_t costheta2 = dotproduct/normproduct;
980 Float_t jt = constp*sqrt(1-costheta2*costheta2);
988 dotproduct = -track->Px()*jet->
Py()+track->Py()*jet->
Px()+track->Pz()*jet->
Pz();
990 dotproduct = track->Px()*jet->
Px()+track->Py()*jet->
Py()+track->Pz()*jet->
Pz();
992 Float_t constp = sqrt(track->Px()*track->Px()+track->Py()*track->Py()+track->Pz()*track->Pz());
993 Float_t normproduct = constp*jetp;
994 Float_t costheta2 = dotproduct/normproduct;
996 Float_t jt = constp*sqrt(1-costheta2*costheta2);
1002 Double_t diffPhi = TMath::Abs(phi1-phi2);
1003 if(diffPhi > TMath::Pi()){
1004 diffPhi = 2*TMath::Pi() - diffPhi;
1006 return TMath::Sqrt(TMath::Power(diffPhi,2)+TMath::Power(eta1-eta2,2));
1024 Int_t emc1 = track->GetEMCALcluster();
1039 TLorentzVector nPart;
1040 cluster->GetMomentum(nPart,
fVertex);
1044 AliVTrack *mt = NULL;
1045 AliAODCaloCluster *acl =
dynamic_cast<AliAODCaloCluster*
>(cluster);
1047 if(acl->GetNTracksMatched()>1)
1048 mt = static_cast<AliVTrack*>(acl->GetTrackMatched(0));
1051 AliESDCaloCluster *ecl =
dynamic_cast<AliESDCaloCluster*
>(cluster);
1052 Int_t im = ecl->GetTrackMatchedIndex();
1091 cout <<
"AliAnalysisTaskJetJTJT::ExecOnce(): " << endl;
1098 cout <<
"Efficiency: Set Run Period Name " <<
runPeriod << endl;
1101 cout <<
"Efficiency: Set Run number " << InputEvent()->GetRunNumber() << endl;
1104 cout <<
"Efficiency: Load()" << endl;
1107 cout <<
"fEfficiency loaded" << endl;
1173 fPeriod(obj.fPeriod),
1174 fDataPath(obj.fDataPath),
1176 fPeriodStr(obj.fPeriodStr),
1177 fMCPeriodStr(obj.fMCPeriodStr),
1178 fRunNumber(obj.fRunNumber),
1180 fInputRootName(obj.fInputRootName),
1181 fInputRoot(obj.fInputRoot),
1182 fCentBinAxis(obj.fCentBinAxis)
1200 if( icent < 0 || icent >
fCentBinAxis->GetNbins()-1 ) {
1201 cout<<
"J_WARNING : Centrality "<<cent<<
" is out of CentBinBorder"<<endl;
1207 cout<<
"J_WARNING : No Eff Info "<<pt<<
"\t"<<icut<<
"\t"<<cent<<
"\t"<<icent<<endl;
1212 if( pt > 30 ) pt = 30;
1213 double cor = gr->Eval(pt);
1214 if ( cor < 0.2 ) cor = 0.2;
1275 cout<<
"J_WARNING : Eff Mode is \"NOTUSE\". eff is 1 !!!"<<endl;
1293 cout <<
"J_ERROR : Directory EFF is not exist"<<endl;
1299 cout <<
"J_ERROR : No CentralityBin in directory" << endl;
1306 for(
int ivtx=0;ivtx<nVtx;ivtx++ ){
1307 for(
int icent=0;icent<nCentBin;icent++ ){
1316 cout<<
"J_LOG : Eff Cent Bins are ";
1317 for(
int i=0;i<=nCentBin;i++ ){
TH1 **** fHistJTPta_all
Logarithmic Jet Jt spectrum.
void SetDataPath(TString s)
TObjArray fClusterCollArray
cluster collection array
void setAssocPtBorders(int n, Double_t *c)
virtual AliVParticle * GetNextAcceptParticle()
Double_t GetRhoVal() const
void SetPeriodName(TString s)
AliJetContainer * GetJetContainer(Int_t i=0) const
void Terminate(Option_t *option)
AliClusterContainer * fCaloClustersCont
Tracks.
TH1 ** fHistClustersPt
Track eta spectrum.
Double_t fMinBinPt
min pt in histograms
TH1 **** fHistLogJTBg
Jt background.
JTJTEfficiency & operator=(const JTJTEfficiency &obj)
TProfile ** fhTrackingEfficiency
Track pT in jet.
Int_t fCentBin
!event centrality bin
TH1 *** fHistJetMulti
Jet eta distribution.
Int_t fNpttBins
Tracking efficiency.
TH1 *** fHistJetTracksPt
Multiplicity in jet.
JTJTEfficiency * fEfficiency
TH1 **** fHistJTPtaNonInv
Associated pT vs. Jt in background.
Double_t getJt(AliVTrack *track, AliEmcalJet *jet, int reverse)
TH1 ** fHistTracksJt
Track pt spectrum.
virtual ~AliAnalysisTaskJetJTJT()
UShort_t GetNumberOfTracks() const
TObjArray fParticleCollArray
particle/track collection array
AliParticleContainer * GetParticleContainer(Int_t i=0) const
Double_t getDiffR(double phi1, double phi2, double eta1, double eta2)
AliEmcalJet * GetLeadingJet(const char *opt="")
void UserCreateOutputObjects()
TProfile ** fHistJetsCorrPtVsNonCorr
Rho corrected Jet pt spectrum.
void SetRunNumber(Long64_t runnum)
TH1 *** fHistJetEta
Background pt distribution.
const AliVVertex * fPrimaryVertex
Event selection statistics.
AliParticleContainer * fTracksCont
Jets.
void setCentBinBorders(int n, Double_t *c)
virtual AliVParticle * GetParticle(Int_t i=-1) const
TString fTrackArrayName
tracks array
Int_t fNcentBins
how many centrality bins
AliClusterContainer * GetClusterContainer(Int_t i=0) const
void setTriggPtBorders(int n, Double_t *c)
Double_t AssocPtBorders[10]
Double_t fCent
!event centrality
TH1 *** fHistBgPt
Multiplicity in background cone.
Double_t CentBinBorders[10]
Vertex selection helper.
TH1 **** fHistLogJTPtaNonInv
Jet Jt spectrum.
TH1 *** fHistJetsPt
Leading jet pt spectrum.
TH1 ** fHistLeadingJetPt
Cluster pt spectrum.
void CheckClusTrackMatching()
AliVCluster * GetCluster(Int_t i) const
TH1 **** fHistJTPta_allNonInv
Logarithmic Jet Jt spectrum.
AliEmcalJet * GetNextAcceptJet()
TGraphErrors * fCorrection[20][20][20]
TObjArray fJetCollArray
jet collection array
TClonesArray * fTracks
Vertex found per event.
double GetCorrection(double pt, int icut, double cent) const
TH1 **** fHistJTBg
All particles Jt spectrum.
TH1 *** fHistJetsCorrPt
Jet pt spectrum.
TH1 ** fHistTracksEta
Track jt spectrum.
TH1F * fhVertexZ
Clusters.
TH1 **** fHistLogJTPta
Jet Jt spectrum.
AliEmcalList * fOutput
!output list
Double_t fMaxBinPt
max pt in histograms
Short_t TrackAt(Int_t idx) const
TH1 **** fHistLogJTBgNonInv
Jt background.
Double_t fVertex[3]
!event vertex
TH1 **** fHistJTBgNonInv
All particles Jt spectrum.
AliJetContainer * fJetsCont
TH1 *** fHistBgMulti
Logarithmic Jt background.
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
AliAnalysisUtils * fVertexHelper
AliJ Efficiency.
Int_t GetRunNumber(TString)
void UserCreateOutputObjects()
static void GetEtaPhiDiff(const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
TH1 *** fHistBackgroundDone
Corrected versus raw jet pt.
AliVCluster * GetNextAcceptCluster()
TH1I * fHistEvtSelection
vertexZ inclusive
ClassImp(AliAnalysisTaskJetJTJT) AliAnalysisTaskJetJTJT
TProfile *** fHistPtaVsJt
Logarithmic Jt background.
Int_t fNbins
no. of pt bins
Double_t TriggPtBorders[10]
TH1 **** fHistJTPta
Background test.
TProfile *** fHistBgPtaVsJt
Associated pT vs. Jt in jet.