fInputList(NULL)
, fJetList(NULL)
, fJetListOfList()
- , fJetBgList(NULL)
+ //, fJetBgList(NULL)
, fJetBgListOfList()
, fJetTriggPtBorders(NULL)
, fJetConstPtLowLimits(NULL)
, fTrkPtBin()
, fTrkLimPtBin()
, fdRBin()
+ , fhNumber()
+ , fhKNumber()
, fhJetPt()
, fhJetPtBin()
, fhZ()
, fhdeltaN()
, fhFullJetEChJetBin()
, fhFullChdRChJetBin()
+ , fh2DFullEvsChEdN0()
+ , fh2DFullEvsChEdNnot0()
{
}
fInputList(NULL)
, fJetList(NULL)
, fJetListOfList()
- , fJetBgList(NULL)
+ //, fJetBgList(NULL)
, fJetBgListOfList()
, fJetTriggPtBorders(NULL)
, fJetConstPtLowLimits(NULL)
, fTrkPtBin()
, fTrkLimPtBin()
, fdRBin()
+ , fhNumber()
+ , fhKNumber()
, fhJetPt()
, fhJetPtBin()
, fhZ()
, fhdeltaN()
, fhFullJetEChJetBin()
, fhFullChdRChJetBin()
+ , fh2DFullEvsChEdN0()
+ , fh2DFullEvsChEdNnot0()
{
}
fInputList(ap.fInputList)
, fJetList(ap.fJetList)
, fJetListOfList(ap.fJetListOfList)
- , fJetBgList(ap.fJetBgList)
+ //, fJetBgList(ap.fJetBgList)
, fJetBgListOfList(ap.fJetBgListOfList)
, fJetTriggPtBorders(ap.fJetTriggPtBorders)
, fJetConstPtLowLimits(ap.fJetConstPtLowLimits)
, fTrkPtBin(ap.fTrkPtBin)
, fTrkLimPtBin(ap.fTrkLimPtBin)
, fdRBin(ap.fdRBin)
+ , fhNumber(ap.fhNumber)
+ , fhKNumber(ap.fhKNumber)
, fhJetPt(ap.fhJetPt)
, fhJetPtBin(ap.fhJetPtBin)
, fhZ(ap.fhZ)
, fhdeltaN(ap.fhdeltaN)
, fhFullJetEChJetBin(ap.fhFullJetEChJetBin)
, fhFullChdRChJetBin(ap.fhFullChdRChJetBin)
+ , fh2DFullEvsChEdN0(ap.fh2DFullEvsChEdN0)
+ , fh2DFullEvsChEdNnot0(ap.fh2DFullEvsChEdNnot0)
{
}
//container name has information of cone size like **R040**
//this cone size information will be pulled to a numerical variable
nJetContainer = fJetFinderName.size();
+ fJetBgListOfList.resize(nJetContainer, TClonesArray("AliJJet",100));
for (int i=0; i<nJetContainer; i++){
//AliJJetJtHistos *histo = new AliJJetJtHistos(fCard);
//histo->CreateJetJtHistos();
fTrkLimPtBin .Set("TrkLimitPtBin","TrkLimitPt","p_{T,Limit}<%.1f", AliJBin::kSingle).SetBin(fJetConstPtLowLimits->GetNoElements());
fdRBin.Set("dRBin","dR","dR : %.1f - %.1f ").SetBin(fCard->GetVector("DeltaRBorders"));
+ fhNumber
+ << TH1D("hNumber","Number",6,0,6) << fJetFinderBin
+ <<"END";
+
+ fhKNumber
+ << TH1D("hKNumber","KNumber",17,0,17) << fJetFinderBin
+ <<"END";
fhJetPt
<< TH1D("JetPt","",NBINS, LogBinsX ) << fJetFinderBin
<< TH1D("JtWithPtCutWeightBinBin","",NBINSJt, LogBinsJt ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
<<"END";
fhLogJtWithPtCutWeightBinBin
- << TH1D("LogJtWeightBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
+ << TH1D("LogJtWeightBinBin","",NBINSJtW, LimLJtW, LimHJtW ) << fJetFinderBin << fJetTriggerBin << fTrkPtBin
<<"END";
fhJtBinLimBin
<< 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();
}
- int iS1 = 0;
- int iS2 = 3;
+ int iS1 = 0; //full 0.4
+ int iS2 = 3; //Ch 0.4
TObjArray * jetfinder1 = (TObjArray*) fJetListOfList[iS1];
TObjArray * jetfinder2 = (TObjArray*) fJetListOfList[iS2];
AliJJet *jet1 = NULL;
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->Pt());
+ chEbin = GetBin(fJetTriggPtBorders,jet2->E());
deltaeta = TMath::Abs(jet1->Eta()-jet2->Eta());
rbin = GetBin(fDeltaRBorders,deltaeta);
fJJetAnalysis->CompareTwoJets(jet1, jet2, dE, dN);
if (chEbin < 0 || rbin < 0 ) continue;
fhdeltaE[chEbin][rbin]->Fill(dE);
fhdeltaN[chEbin][rbin]->Fill(dN);
- if (dN ==0) fhFullJetEChJetBin[chEbin]->Fill(jet1->E());
- if (dN ==0) fhFullChdRChJetBin[chEbin]->Fill(jet1->DeltaR(*jet2));
+ if (dN ==0) {
+ fhFullJetEChJetBin[chEbin]->Fill(jet1->E());
+ fhFullChdRChJetBin[chEbin]->Fill(jet1->DeltaR(*jet2));
+ fh2DFullEvsChEdN0->Fill(jet1->E(), jet2->E());
+ } else {
+ fh2DFullEvsChEdNnot0->Fill(jet1->E(), jet2->E());
+ }
}
}
//cout<<"histogram filling number of jets : "<<Jets->GetEntriesFast()<<endl;
TLorentzVector vOrtho;
+ fJetBgListOfList[iContainer].Clear();
+ TClonesArray & bgjets = fJetBgListOfList[iContainer];
double deltaPhi = -999;
double effCorrection = -1;
double thisConeSize = fConeSizes[iContainer] ;
+ int iBgJet = 0;
// iJet loop for an event
for (int i = 0; i<Jets->GetEntries(); i++){
//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 (Jets->GetEntries()>1){
+ fhNumber[iContainer]->Fill(3.5);
for (int j = 0; j<Jets->GetEntries(); j++){
if (i == j) continue;
AliJJet *jet2 = dynamic_cast<AliJJet*>( Jets->At(j) );
if (k>15) {
+ fhNumber[iContainer]->Fill(5.5);
break;
}
vOrtho.Rotate(TMath::Pi()/8, jet->Vect());
j=0;
k++;
+ fhNumber[iContainer]->Fill(4.5);
}
}
+ fhKNumber[iContainer]->Fill(k);
}
// Filling iBgJet, Bgjt and Bgz
// "k<16" means that we will select a iBgJet which hasn't moved
// more than 16 times by the process above
+ double maxconpt = 0;
if ( k<16 ){
+ new (bgjets[iBgJet]) AliJJet(vOrtho.Px(),vOrtho.Py(), vOrtho.Pz(), vOrtho.E(), i ,0,0);
+ AliJJet * jbg = (AliJJet*) fJetBgListOfList[iContainer][iBgJet];
+ iBgJet++;
+
pT = vOrtho.Pt();
if (pT<(*fJetTriggPtBorders)[1]) continue;
deltaPhi = vOrtho.Phi() - track->Phi();
deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
if ( deltaR > thisConeSize) continue;
+
+ jbg->AddConstituent(track);
pta = track->Pt();
+ if (pta > maxconpt) maxconpt = pta;
track->SetTrackEff( fEfficiency->GetCorrection( pta, 5, fcent) );
effCorrection = 1.0/track->GetTrackEff();
iptaBin = GetBin(fJetAssocPtBorders, pta);
if (iptaBin < 0) continue;
fhBgJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( jt, 1.0/jt * effCorrection );
- fhBgLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( TMath::Log(jt), 2.0/jt * effCorrection );
-
+ fhBgLogJtWithPtCutWeightBinBin[iContainer][iBin][iptaBin]->Fill( TMath::Log(jt), 1.0/jt * effCorrection );
}
}