]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
jt from beomkyu, add more histograms for background study
authorlmilano <lmilano@cern.ch>
Mon, 12 Jan 2015 12:55:27 +0000 (13:55 +0100)
committerlmilano <lmilano@cern.ch>
Mon, 12 Jan 2015 12:56:32 +0000 (13:56 +0100)
PWGCF/Correlations/JCORRAN/AliJJetJtAnalysis.cxx
PWGCF/Correlations/JCORRAN/AliJJetJtAnalysis.h

index 5ccb44760633fe0dce2b8889b38fab8dac596b07..849be0b93c0dcf87a171f2c103d260fc3d5b3b42 100644 (file)
@@ -59,6 +59,7 @@ AliJJetJtAnalysis::AliJJetJtAnalysis():
     , fTrkPtBin()
     , fTrkLimPtBin()
     , fdRBin()
+    , fiHist()
     , fhNumber()
     , fhKNumber()
     , fhJetPt()
@@ -84,6 +85,13 @@ AliJJetJtAnalysis::AliJJetJtAnalysis():
     , fhBgLogJtWeightBin()
     , fhBgJtWithPtCutWeightBinBin()
     , fhBgLogJtWithPtCutWeightBinBin()
+    , fhBgJtWithPtCutWeightBinBinSmallerR()
+    , fhBgLogJtWithPtCutWeightBinBinSmallerR()
+    , fhBgJtWithPtCutWeightBinBinDiffR()
+    , fhBgLogJtWithPtCutWeightBinBinDiffR()
+    , fhBgJtBinLimBin()
+    , fhBgJtWeightBinLimBin()
+    , fhBgLogJtWeightBinLimBin()
     , fhdeltaE()
     , fhdeltaN()
     , fhFullJetEChJetBin()
@@ -121,6 +129,7 @@ AliJJetJtAnalysis::AliJJetJtAnalysis( AliJCard * card ):
     , fTrkPtBin()
     , fTrkLimPtBin()
     , fdRBin()
+    , fiHist()
     , fhNumber()
     , fhKNumber()
     , fhJetPt()
@@ -146,6 +155,13 @@ AliJJetJtAnalysis::AliJJetJtAnalysis( AliJCard * card ):
     , fhBgLogJtWeightBin()
     , fhBgJtWithPtCutWeightBinBin()
     , fhBgLogJtWithPtCutWeightBinBin()
+    , fhBgJtWithPtCutWeightBinBinSmallerR()
+    , fhBgLogJtWithPtCutWeightBinBinSmallerR()
+    , fhBgJtWithPtCutWeightBinBinDiffR()
+    , fhBgLogJtWithPtCutWeightBinBinDiffR()
+    , fhBgJtBinLimBin()
+    , fhBgJtWeightBinLimBin()
+    , fhBgLogJtWeightBinLimBin()
     , fhdeltaE()
     , fhdeltaN()
     , fhFullJetEChJetBin()
@@ -183,6 +199,7 @@ AliJJetJtAnalysis::AliJJetJtAnalysis(const AliJJetJtAnalysis& ap) :
     , fTrkPtBin(ap.fTrkPtBin)
     , fTrkLimPtBin(ap.fTrkLimPtBin)
     , fdRBin(ap.fdRBin)
+    , fiHist(ap.fiHist)
     , fhNumber(ap.fhNumber)
     , fhKNumber(ap.fhKNumber)
     , fhJetPt(ap.fhJetPt)
@@ -208,6 +225,13 @@ AliJJetJtAnalysis::AliJJetJtAnalysis(const AliJJetJtAnalysis& ap) :
     , 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)
@@ -257,8 +281,10 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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]");
@@ -268,9 +294,6 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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));
@@ -291,20 +314,24 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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;
@@ -313,10 +340,12 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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;
@@ -327,83 +356,133 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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";
@@ -412,14 +491,13 @@ void AliJJetJtAnalysis::UserCreateOutputObjects(){
     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();
 
@@ -443,6 +521,25 @@ void AliJJetJtAnalysis::UserExec(){
         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
@@ -458,8 +555,6 @@ void AliJJetJtAnalysis::UserExec(){
         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());
@@ -492,9 +587,9 @@ void AliJJetJtAnalysis::WriteHistograms(){
 
     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();
     }
 
 
@@ -505,10 +600,6 @@ void AliJJetJtAnalysis::WriteHistograms(){
 void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
 {      
 
-
-
-
-
     int iBin, iptaBin=0;
     int jBin=0;
     double pT = 0;
@@ -550,14 +641,13 @@ void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
             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++){
@@ -576,19 +666,22 @@ void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
             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 );
             }
 
         }
@@ -602,7 +695,8 @@ void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
         //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++){
@@ -648,7 +742,7 @@ void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
             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;
@@ -678,14 +772,131 @@ void AliJJetJtAnalysis::FillJtHistogram( TObjArray *Jets , int iContainer)
                 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 );
+            }
+        }
+    }
+
+}
 
index 2f3fe09cb6b5fb7f20cc07f62ef2da163ae294fc..db0f8196d7ecd812c5c655a295dca982526ec4ed 100644 (file)
@@ -66,6 +66,12 @@ class AliJJetJtAnalysis{
 
         void ClearBeforeEvent();
         void FillJtHistogram( TObjArray *Jets, int iContainer );
+
+        void FillBgJtWithSmallerR(const TClonesArray &Jets,int iContainer, 
+            double nR, int iHist);
+
+        void FillBgJtWithDiffAxes (int iao, int ia, int iHist);
+
         void WriteHistograms();
         
         int GetBin(TVector *array, double val){
@@ -126,6 +132,7 @@ class AliJJetJtAnalysis{
         AliJBin fTrkPtBin; 
         AliJBin fTrkLimPtBin; 
         AliJBin fdRBin;
+        AliJBin fiHist;
         AliJTH1D fhNumber;
         AliJTH1D fhKNumber;
         AliJTH1D fhJetPt ;
@@ -153,6 +160,13 @@ class AliJJetJtAnalysis{
         AliJTH1D fhBgLogJtWeightBin;
         AliJTH1D fhBgJtWithPtCutWeightBinBin;
         AliJTH1D fhBgLogJtWithPtCutWeightBinBin;
+        AliJTH1D fhBgJtWithPtCutWeightBinBinSmallerR;
+        AliJTH1D fhBgLogJtWithPtCutWeightBinBinSmallerR;
+        AliJTH1D fhBgJtWithPtCutWeightBinBinDiffR;
+        AliJTH1D fhBgLogJtWithPtCutWeightBinBinDiffR;
+        AliJTH1D fhBgJtBinLimBin;
+        AliJTH1D fhBgJtWeightBinLimBin;
+        AliJTH1D fhBgLogJtWeightBinLimBin;
         
         AliJTH1D fhdeltaE;
         AliJTH1D fhdeltaN;