, fTrkPtBin()
, fTrkLimPtBin()
, fdRBin()
+ , fiHist()
, fhNumber()
, fhKNumber()
, fhJetPt()
, fhBgLogJtWeightBin()
, fhBgJtWithPtCutWeightBinBin()
, fhBgLogJtWithPtCutWeightBinBin()
+ , fhBgJtWithPtCutWeightBinBinSmallerR()
+ , fhBgLogJtWithPtCutWeightBinBinSmallerR()
+ , fhBgJtWithPtCutWeightBinBinDiffR()
+ , fhBgLogJtWithPtCutWeightBinBinDiffR()
+ , fhBgJtBinLimBin()
+ , fhBgJtWeightBinLimBin()
+ , fhBgLogJtWeightBinLimBin()
, fhdeltaE()
, fhdeltaN()
, fhFullJetEChJetBin()
, fTrkPtBin()
, fTrkLimPtBin()
, fdRBin()
+ , fiHist()
, fhNumber()
, fhKNumber()
, fhJetPt()
, fhBgLogJtWeightBin()
, fhBgJtWithPtCutWeightBinBin()
, fhBgLogJtWithPtCutWeightBinBin()
+ , fhBgJtWithPtCutWeightBinBinSmallerR()
+ , fhBgLogJtWithPtCutWeightBinBinSmallerR()
+ , fhBgJtWithPtCutWeightBinBinDiffR()
+ , fhBgLogJtWithPtCutWeightBinBinDiffR()
+ , fhBgJtBinLimBin()
+ , fhBgJtWeightBinLimBin()
+ , fhBgLogJtWeightBinLimBin()
, fhdeltaE()
, fhdeltaN()
, fhFullJetEChJetBin()
, fTrkPtBin(ap.fTrkPtBin)
, fTrkLimPtBin(ap.fTrkLimPtBin)
, fdRBin(ap.fdRBin)
+ , fiHist(ap.fiHist)
, fhNumber(ap.fhNumber)
, fhKNumber(ap.fhKNumber)
, fhJetPt(ap.fhJetPt)
, fhBgLogJtWeightBin(ap.fhBgLogJtWeightBin)
, fhBgJtWithPtCutWeightBinBin(ap.fhBgJtWithPtCutWeightBinBin)
, fhBgLogJtWithPtCutWeightBinBin(ap.fhBgLogJtWithPtCutWeightBinBin)
+ , fhBgJtWithPtCutWeightBinBinSmallerR(ap.fhBgJtWithPtCutWeightBinBinSmallerR)
+ , fhBgLogJtWithPtCutWeightBinBinSmallerR(ap.fhBgLogJtWithPtCutWeightBinBinSmallerR)
+ , fhBgJtWithPtCutWeightBinBinDiffR(ap.fhBgJtWithPtCutWeightBinBinDiffR)
+ , fhBgLogJtWithPtCutWeightBinBinDiffR(ap.fhBgLogJtWithPtCutWeightBinBinDiffR)
+ , fhBgJtBinLimBin(ap.fhBgJtBinLimBin)
+ , fhBgJtWeightBinLimBin(ap.fhBgJtWeightBinLimBin)
+ , fhBgLogJtWeightBinLimBin(ap.fhBgLogJtWeightBinLimBin)
, fhdeltaE(ap.fhdeltaE)
, fhdeltaN(ap.fhdeltaN)
, fhFullJetEChJetBin(ap.fhFullJetEChJetBin)
fDeltaRBorders = fCard->GetVector("DeltaRBorders");
fEfficiency = new AliJEfficiency();
- fEfficiency->SetMode( fCard->Get("EfficiencyMode") ); // 0:NoEff, 1:Period 2:RunNum 3:Auto
- fEfficiency->SetDataPath("alien:///alice/cern.ch/user/d/djkim/legotrain/efficieny/data"); // Efficiency root file location local or alien
+ // 0:NoEff, 1:Period 2:RunNum 3:Auto
+ fEfficiency->SetMode( fCard->Get("EfficiencyMode") );
+ // Efficiency root file location local or alien
+ fEfficiency->SetDataPath("alien:///alice/cern.ch/user/d/djkim/legotrain/efficieny/data");
TRegexp reg("R[0-9][0-9][0-9]");
TRegexp reg2("[0-9][0-9][0-9]");
nJetContainer = fJetFinderName.size();
fJetBgListOfList.resize(nJetContainer, TClonesArray("AliJJet",100));
for (int i=0; i<nJetContainer; i++){
- //AliJJetJtHistos *histo = new AliJJetJtHistos(fCard);
- //histo->CreateJetJtHistos();
- // fHistos.push_back( histo );
TString fullNameOfiJetContainer(fJetFinderName[i]);
TString coneSizeName (fullNameOfiJetContainer(reg));
TString coneSizeValue (coneSizeName(reg2));
fTrkPtBin .Set("TrkPtBin","TrkPt","p_{T,constituent}:%.1f-%.1f").SetBin(fCard->GetVector("JetAssocPtBorders"));
fTrkLimPtBin .Set("TrkLimitPtBin","TrkLimitPt","p_{T,Limit}<%.1f", AliJBin::kSingle).SetBin(fJetConstPtLowLimits->GetNoElements());
fdRBin.Set("dRBin","dR","dR : %.1f - %.1f ").SetBin(fCard->GetVector("DeltaRBorders"));
+ fiHist.Set("iHist","iHist","iHist : %d ", AliJBin::kSingle).SetBin(10);
fhNumber
- << TH1D("hNumber","Number",6,0,6) << fJetFinderBin
+ << TH1D("hNumber","Number",6,0,6)
+ << fJetFinderBin
<<"END";
-
fhKNumber
- << TH1D("hKNumber","KNumber",17,0,17) << fJetFinderBin
+ << TH1D("hKNumber","KNumber",17,0,17)
+ << fJetFinderBin
<<"END";
fhJetPt
- << TH1D("JetPt","",NBINS, LogBinsX ) << fJetFinderBin
+ << TH1D("JetPt","",NBINS, LogBinsX )
+ << fJetFinderBin
<<"END";
fhJetPtBin
- << TH1D("JetPtBin","",NBINS, LogBinsX ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("JetPtBin","",NBINS, LogBinsX )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
int NBINSZ=150;
for(int ij=0;ij<=NBINSZ;ij++) LogBinsZ[ij]=LimLZ*exp(ij*logBWZ);//
fhZ
- << TH1D("Z","",NBINSZ, LogBinsZ ) << fJetFinderBin
+ << TH1D("Z","",NBINSZ, LogBinsZ )
+ << fJetFinderBin
<<"END";
fhZBin
- << TH1D("ZBin","",NBINSZ, LogBinsZ ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("ZBin","",NBINSZ, LogBinsZ )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
int NBINSJt=150;
double LimLJtW=TMath::Log(0.01), LimHJtW=TMath::Log(10);
fhJt
- << TH1D("Jt","",NBINSJt, LogBinsJt ) << fJetFinderBin
+ << TH1D("Jt","",NBINSJt, LogBinsJt )
+ << fJetFinderBin
<<"END";
fhJtBin
- << TH1D("JtBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("JtBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhJtWeightBin
- << TH1D("JtWeightBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("JtWeightBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhLogJtWeightBin
- << TH1D("LogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("LogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhJtWithPtCutWeightBinBin
- << TH1D("JtWithPtCutWeightBinBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ << TH1D("JtWithPtCutWeightBinBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin << fTrkPtBin
<<"END";
fhLogJtWithPtCutWeightBinBin
- << TH1D("LogJtWeightBinBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ << TH1D("LogJtWeightBinBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin << fTrkPtBin
<<"END";
fhJtBinLimBin
- << TH1D("JtBinLimBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
+ << TH1D("JtBinLimBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
<<"END";
fhJtWeightBinLimBin
- << TH1D("JtWeightBinLimBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
+ << TH1D("JtWeightBinLimBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
<<"END";
fhLogJtWeightBinLimBin
- << TH1D("LogJtWeightBinLimBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
+ << TH1D("LogJtWeightBinLimBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
<<"END";
fhJetBgPt
- << TH1D("JetBgPt","",NBINS, LogBinsX ) << fJetFinderBin
+ << TH1D("JetBgPt","",NBINS, LogBinsX )
+ << fJetFinderBin
<<"END";
fhJetBgPtBin
- << TH1D("JetBgPtBin","",NBINS, LogBinsX ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("JetBgPtBin","",NBINS, LogBinsX )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhBgZ
- << TH1D("BgZ","",NBINSZ, LogBinsZ ) << fJetFinderBin
+ << TH1D("BgZ","",NBINSZ, LogBinsZ )
+ << fJetFinderBin
<<"END";
fhBgZBin
- << TH1D("BgZBin","",NBINSZ, LogBinsZ ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("BgZBin","",NBINSZ, LogBinsZ )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhBgJt
- << TH1D("BgJt","",NBINSJt, LogBinsJt ) << fJetFinderBin
+ << TH1D("BgJt","",NBINSJt, LogBinsJt )
+ << fJetFinderBin
<<"END";
fhBgJtBin
- << TH1D("BgJtBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("BgJtBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhBgJtWeightBin
- << TH1D("BgJtWeightBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("BgJtWeightBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhBgLogJtWeightBin
- << TH1D("BgLogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin
+ << TH1D("BgLogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin
<<"END";
fhBgJtWithPtCutWeightBinBin
- << TH1D("BgJtWithPtCutWeightBinBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ << TH1D("BgJtWithPtCutWeightBinBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin << fTrkPtBin
<<"END";
fhBgLogJtWithPtCutWeightBinBin
- << TH1D("BgLogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ << TH1D("BgLogJtWeightBinBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ <<"END";
+
+ fhBgJtWithPtCutWeightBinBinSmallerR
+ << TH1D("BgJtWithPtCutWeightBinBinSmallerR","",NBINSJt, LogBinsJt )
+ << fiHist << fJetTriggerBin << fTrkPtBin
+ <<"END";
+ fhBgLogJtWithPtCutWeightBinBinSmallerR
+ << TH1D("BgLogJtWeightBinBinBinSmallerR","",NBINSJtW, LimLJtW, LimHJtW )
+ << fiHist << fJetTriggerBin << fTrkPtBin
+ <<"END";
+
+ fhBgJtWithPtCutWeightBinBinDiffR
+ << TH1D("BgJtWithPtCutWeightBinBinDiffR","",NBINSJt, LogBinsJt )
+ << fiHist << fJetTriggerBin << fTrkPtBin
+ <<"END";
+ fhBgLogJtWithPtCutWeightBinBinDiffR
+ << TH1D("BgLogJtWeightBinBinBinDiffR","",NBINSJtW, LimLJtW, LimHJtW )
+ << fiHist << fJetTriggerBin << fTrkPtBin
+ <<"END";
+
+ fhBgJtBinLimBin
+ << TH1D("BgJtBinLimBin","",NBINSJt, LogBinsJt ) << fJetFinderBin
+ << fJetTriggerBin << fTrkLimPtBin
+ <<"END";
+ fhBgJtWeightBinLimBin
+ << TH1D("BgJtWeightBinLimBin","",NBINSJt, LogBinsJt )
+ << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
+ <<"END";
+ fhBgLogJtWeightBinLimBin
+ << TH1D("BgLogJtWeightBinLimBin","",NBINSJtW, LimLJtW, LimHJtW )
+ << fJetFinderBin << fJetTriggerBin << fTrkLimPtBin
<<"END";
int NBINSdeltaN=40;
double LimLdeltaN=-19.5, LimHdeltaN=19.5;
+
fhdeltaN
<< TH1D("hdeltaN","",NBINSdeltaN,LimLdeltaN,LimHdeltaN )
<< fJetTriggerBin << fdRBin <<"END";
int NBINSdeltaE=400;
double LimLdeltaE=-20, LimHdeltaE=20;
+
fhdeltaE
<< TH1D("hdeltaE","",NBINSdeltaE,LimLdeltaE,LimHdeltaE )
<< fJetTriggerBin << fdRBin <<"END";
-
-
fhFullJetEChJetBin
<< TH1D("hFullJetEChJetBin","",NBINS, LogBinsX ) << fJetTriggerBin
<<"END";
fhFullChdRChJetBin
<< TH1D("hFullChdRChJetBin","",nDR,xDR0,xDR1) << fJetTriggerBin
<<"END";
-
fh2DFullEvsChEdN0
<< TH2D("h2DFullEvsChEdN0","",NBINS, LogBinsX, NBINS, LogBinsX )
<<"END";
-
fh2DFullEvsChEdNnot0
<< TH2D("h2DFullEvsChEdNnot0","",NBINS, LogBinsX, NBINS, LogBinsX )
<<"END";
+
fHMG->Print();
fHMG->WriteConfig();
this->FillJtHistogram(Jets,i);
}
+ //The Function should be called after calling "FillJtHistogram"
+ //FillBgJtWithSmallerR(Bg jet finder array, old R, new R )
+ //fJetBgListOfList[i] where {i=0-5;full0.4,full0.5,full0.6,Ch0.4,Ch0.5,Ch0.6}
+ //Caution!! these array number should be changed WHEN jet finders change
+ this->FillBgJtWithSmallerR(fJetBgListOfList[1], 1, 0.4,0);
+ this->FillBgJtWithSmallerR(fJetBgListOfList[2], 2, 0.4,1);
+ this->FillBgJtWithSmallerR(fJetBgListOfList[2], 2, 0.5,2);
+ this->FillBgJtWithSmallerR(fJetBgListOfList[4], 4, 0.4,3);
+ this->FillBgJtWithSmallerR(fJetBgListOfList[5], 5, 0.4,4);
+ this->FillBgJtWithSmallerR(fJetBgListOfList[5], 5, 0.5,5);
+
+ //Fill jt with diff cone axes (old axis iContainer, new axis, iHist)
+ this->FillBgJtWithDiffAxes(1, 0,0);
+ this->FillBgJtWithDiffAxes(2, 0,1);
+ this->FillBgJtWithDiffAxes(2, 1,2);
+ this->FillBgJtWithDiffAxes(4, 3,0);
+ this->FillBgJtWithDiffAxes(5, 3,1);
+ this->FillBgJtWithDiffAxes(5, 4,2);
+ //End.
int iS1 = 0; //full 0.4
int iS2 = 3; //Ch 0.4
jet1 = dynamic_cast<AliJJet*>( jetfinder1->At(ijet) );
if (!jet1) continue;
for (int jjet = 0; jjet<jetfinder2->GetEntriesFast(); jjet++){
- cout<<"Check new system is working"<<endl;
- cout<<"Check new system is working2"<<endl;
jet2 = dynamic_cast<AliJJet*>( jetfinder2->At(jjet) );
if (!jet2) continue;
chEbin = GetBin(fJetTriggPtBorders,jet2->E());
for (int i=0; i<nJetContainer; i++){
TDirectory *nwd = gDirectory->mkdir(fJetFinderName[i]);
- nwd->cd();
- //fHistos[i]->WriteHistograms();
- cwd->cd();
+ //Under the folder name, save objects
+ //nwd->cd();
+ //cwd->cd();
}
void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
{
-
-
-
-
int iBin, iptaBin=0;
int jBin=0;
double pT = 0;
if (con->Pt()>conPtMax) conPtMax = con->Pt();
}
- for (int ii = fJetConstPtLowLimits->GetNoElements(); ii >= 1 ; ii--) { // could also be done using GetBin( ... )
- if (conPtMax > (*fJetConstPtLowLimits)[ii]) { // if JetConstPtLowLimits={a,...,b} -> ConPtBinBorders={a,...,b,c}
- jBin = ii-1; // where c(>>b) is ''sufficiently'' high
+ for (int ii = fJetConstPtLowLimits->GetNoElements(); ii >= 1 ; ii--){
+ if (conPtMax > (*fJetConstPtLowLimits)[ii]) {
+ jBin = ii-1;
break;
}
}
-
//iConstituent loop for the iJet
//jt, z are calcualted and filled
for (int icon = 0; icon<jet->GetConstituents()->GetEntries(); icon++){
fhJt[iContainer]->Fill( jt , effCorrection);
fhJtBin[iContainer][iBin]->Fill( jt , effCorrection);
fhJtWeightBin[iContainer][iBin]->Fill( jt, 1.0/jt * effCorrection );
- fhLogJtWeightBin[iContainer][iBin]->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
+ fhLogJtWeightBin[iContainer][iBin]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
- if (iptaBin < 0) continue;
- fhJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( jt, 1.0/jt * effCorrection );
- fhLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( TMath::Log(jt), 1.0/jt * effCorrection);
+ fhJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection);
for (int jj = 0; jj <= jBin ; jj++) {
fhJtBinLimBin[iContainer][iBin][jj]->Fill( jt, effCorrection );
- fhJtWeightBinLimBin[iContainer][iBin][jj]->Fill( jt, 1.0/jt * effCorrection );
- fhLogJtWeightBinLimBin[iContainer][iBin][jj]->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
- //histos->fHistosJT[0][0][iBin][jj]->Fill( TMath::Log(jt), 1.0/jt );
+ fhJtWeightBinLimBin[iContainer][iBin][jj]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhLogJtWeightBinLimBin[iContainer][iBin][jj]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
}
}
//if (Log )cout<<"Rs[order] = "<<Rs[order]<<" R = "<<R<<" Bg R area : "<<R_area<<endl;
//Background jet (iBgJet) will be produced. This background jet is orthogonal to the iJet.
- //If there is another jJet, then iBgJet will be consecutevely moved not to have jJet in the cone size.
+ //If there is another jJet, then iBgJet will be consecutevely moved not to
+ //have jJet in the cone size.
if (Jets->GetEntries()>1){
fhNumber[iContainer]->Fill(3.5);
for (int j = 0; j<Jets->GetEntries(); j++){
if( iBin < 0 ) continue;
fhJetBgPtBin[iContainer][iBin]->Fill( pT );
-
+
for (int icon = 0; icon<fTracks->GetEntries(); icon++){
AliJBaseTrack *track = dynamic_cast<AliJBaseTrack*>(fTracks->At(icon));
if (!track) continue;
fhBgLogJtWeightBin[iContainer][iBin]->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
if (iptaBin < 0) continue;
- fhBgJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( jt, 1.0/jt * effCorrection );
- fhBgLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
- }
+ fhBgJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhBgLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
+ }
+
+ for (int ii = fJetConstPtLowLimits->GetNoElements(); ii >= 1 ; ii--) {
+ if (maxconpt > (*fJetConstPtLowLimits)[ii]) {
+ jBin = ii-1;
+ break;
+ }
+ }
+ for (int icon =0; icon<jbg->GetConstituents()->GetEntries();icon++){
+ AliJBaseTrack *con = jbg->GetConstituent(icon);
+ z = (con->Vect()*jbg->Vect().Unit())/jbg->P();
+ pta = con->Pt();
+ iptaBin = GetBin(fJetAssocPtBorders, pta);
+ jt = (con->Vect()-z*jbg->Vect()).Mag();
+ if( iptaBin < 0 ) continue;
+ for (int jj = 0; jj <= jBin ; jj++) {
+ fhBgJtBinLimBin[iContainer][iBin][jj]
+ ->Fill( jt, effCorrection );
+ fhBgJtWeightBinLimBin[iContainer][iBin][jj]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhBgLogJtWeightBinLimBin[iContainer][iBin][jj]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
+ }
+ }
+ cout<<"check : trackN, contbgN = "<<
+ fTracks->GetEntries() <<" "<<
+ jbg->GetConstituents()->GetEntries()<<endl;
}
}
}
+void AliJJetJtAnalysis::FillBgJtWithSmallerR(const TClonesArray &Jets,int iContainer, double nR, int iHist){
+ double iBin = -1, iptaBin = -1;
+ double pT=-1, z=-1,jt=-1, pta=-1;
+ double effCorrection = -1;
+ for (int i = 0; i<Jets.GetEntries(); i++){
+ AliJJet *jet = dynamic_cast<AliJJet*>( Jets.At(i) );
+ pT = jet->Pt();
+ if (pT<(*fJetTriggPtBorders)[1]) continue;
+ iBin = GetBin(fJetTriggPtBorders,pT); // fill jetPt histos
+ if( iBin < 0 ) continue;
+
+ for (int icon = 0; icon<jet->GetConstituents()->GetEntries(); icon++){
+ AliJBaseTrack *con = jet->GetConstituent(icon);
+ z = (con->Vect()*jet->Vect().Unit())/jet->P();
+ pta = con->Pt();
+ con->SetTrackEff( fEfficiency->GetCorrection( pta, 5, fcent) );
+ effCorrection = 1.0/con->GetTrackEff();
+ iptaBin = GetBin(fJetAssocPtBorders, pta);
+ if( iptaBin < 0 ) continue;
+ if (jet->DeltaR(*con)>nR){
+ cout<<" old Bg R : "<<fConeSizes[iContainer]
+ <<" jet con R : "<<jet->DeltaR(*con)
+ <<endl;
+ continue;
+ }
+ jt = (con->Vect()-z*jet->Vect()).Mag();
+ fhBgJtWithPtCutWeightBinBinSmallerR[iHist][iBin][iptaBin]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhBgLogJtWithPtCutWeightBinBinSmallerR[iHist][iBin][iptaBin]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
+ }
+
+
+ }
+
+
+}
+
+
+void AliJJetJtAnalysis::FillBgJtWithDiffAxes (
+ int iao
+ , int ian
+ , int iHist
+){
+
+ const TClonesArray &ao = fJetBgListOfList[iao];
+ const TClonesArray &an = fJetBgListOfList[ian];
+
+ double iBin = -1, iptaBin = -1;
+ double pT=-1, z=-1,jt=-1, pta=-1;
+ double effCorrection = -1;
+
+ for (int io = 0; io<ao.GetEntries(); io++){
+ AliJJet *jo = dynamic_cast<AliJJet*>( ao.At(io) );
+ for (int in = 0; in<an.GetEntries(); in++){
+ AliJJet *jn = dynamic_cast<AliJJet*>( an.At(in) );
+ if (jo->DeltaR(*jn) > fConeSizes[ian]) {
+ continue;
+ } else{
+ cout << "iao ian new axis delta R "
+ << iao <<" "
+ << ian <<" "
+ << jo->DeltaR(*jn)
+ <<endl;
+ }
+ pT = jn->Pt();
+ if (pT<(*fJetTriggPtBorders)[1]) continue;
+ iBin = GetBin(fJetTriggPtBorders,pT); // fill jetPt histos
+ if( iBin < 0 ) continue;
+
+ for (int ic = 0; ic<jo->GetConstituents()->GetEntries(); ic++){
+ AliJBaseTrack *con = jo->GetConstituent(ic);
+ if (jn->DeltaR(*con) > fConeSizes[ian]) continue;
+ z = (con->Vect()*jn->Vect().Unit())/jn->P();
+ pta = con->Pt();
+ con->SetTrackEff( fEfficiency->GetCorrection( pta, 5, fcent) );
+ effCorrection = 1.0/con->GetTrackEff();
+ iptaBin = GetBin(fJetAssocPtBorders, pta);
+ if( iptaBin < 0 ) continue;
+ jt = (con->Vect()-z*jn->Vect()).Mag();
+ fhBgJtWithPtCutWeightBinBinDiffR[iHist][iBin][iptaBin]
+ ->Fill( jt, 1.0/jt * effCorrection );
+ fhBgLogJtWithPtCutWeightBinBinDiffR[iHist][iBin][iptaBin]
+ ->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
+ }
+ }
+ }
+
+}