#include "AliJBaseTrack.h"
#include "AliJPhoton.h"
#include "AliJTrack.h"
+#include <TGrid.h>
+#include <TPRegexp.h>
//______________________________________________________________________________
AliJHistos::AliJHistos(AliJCard* cardP) :
fhBgAssocXeR(),
fhBgAssocPta(),
fhBgAssocPtaR(),
+ fhInvariantMassXe(),
+ fhInvariantMassKlong(),
+ fhInvariantMassPta(),
+ fhInvariantMassXeLikeSign(),
+ fhInvariantMassKlongLikeSign(),
+ fhInvariantMassPtaLikeSign(),
+ fhInvariantMassXeUnlikeSign(),
+ fhInvariantMassKlongUnlikeSign(),
+ fhInvariantMassPtaUnlikeSign(),
fhDphiAssocIsolTrigg(),
fhMeanPtAssoc(),
fhMeanZtAssoc(),
fhJT(),
fhJTBg(),
fhJTBgR(),
+ fhJTLikeSign(),
+ fhJTBgLikeSign(),
+ fhJTBgRLikeSign(),
+ fhJTUnlikeSign(),
+ fhJTBgUnlikeSign(),
+ fhJTBgRUnlikeSign(),
fhJTKlong(),
fhJTKlongBg(),
fhJTKlongBgR(),
+ fhJTKlongLikeSign(),
+ fhJTKlongBgLikeSign(),
+ fhJTKlongBgRLikeSign(),
+ fhJTKlongUnlikeSign(),
+ fhJTKlongBgUnlikeSign(),
+ fhJTKlongBgRUnlikeSign(),
fhJTPta(),
fhJTPtaBg(),
fhJTPtaBgR(),
+ fhJTPtaLikeSign(),
+ fhJTPtaBgLikeSign(),
+ fhJTPtaBgRLikeSign(),
+ fhJTPtaUnlikeSign(),
+ fhJTPtaBgUnlikeSign(),
+ fhJTPtaBgRUnlikeSign(),
+ fHmgInclusive(NULL),
+ fhIetaTriggFromFile(),
+ fhIetaAssocFromFile(),
+ fhIphiTriggFromFile(),
+ fhIphiAssocFromFile(),
+ fhDphiAssocMixFromFile(),
fhLPpt(),
fhLPpairPt(),
fhChargedPt(),
ftriggFiducCut = fCard->Get("TriggerFiducialEtaCut"); //FK// Fiduc cut
fmaxTriggEtaRange = fmaxEtaRange - ftriggFiducCut; //FK// Trigger range
- fHMG = AliJHistManager::GlobalManager();
+ fHMG = new AliJHistManager( "HistManager");
//for (int hiklong = 0; hiklong < fCard->GetNoOfBins(kLongType); hiklong++)
//kRGapType kEtaGapType
- fCentBin .Set("Cent", "C", "C %2.0f-%2.0f%%" ).SetBin( fCard->GetVector("CentBinBorders"));
- fVtxBin .Set("Vtx", "V", "" ).SetBin(fCard->GetVector("zVertBins"));
- fPTtBin .Set("PTt", "T", "").SetBin(fCard->GetVector("TriggPtBorders"));
- fPTaBin .Set("PTa", "A", "").SetBin(fCard->GetVector("AssocPtBorders"));
- fXEBin .Set("XE", "X", "x_{E}: %2.1f-%2.1f" ).SetBin(fCard->GetVector("xEBorders"));
- fKLongBin .Set("KLong", "L", "k_{#parallel}: %2.1f-%2.1f").SetBin(fCard->GetVector("KlongBorders"));
- fRGapBin .Set("RGap", "R", "").SetBin(fCard->GetVector("RGapThresholds"));
- fEtaGapBin .Set("EtaGap", "E", "").SetBin(fCard->GetVector("EtaGapThresholds"));
- fPhiGapBin .Set("PhiGap", "P", "" ).SetBin(fCard->GetVector("EtaGapThresholds"));
- fMassBin .Set("Mass", "M", "Mass").SetBin(fCard->GetVector("PairInvariantMassBins"));
+ fCentBin .Set("Cent", "C", "Cend:%2.0f-%2.0f%%" ).SetBin( fCard->GetVector("CentBinBorders"));
+ fVtxBin .Set("Vtx", "V", "Vtx:%2.0f-%2.0f" ).SetBin(fCard->GetVector("zVertBins"));
+ fPTtBin .Set("PTt", "T", "%.2f<p_{Tt}<%.2f").SetBin(fCard->GetVector("TriggPtBorders"));
+ fPTaBin .Set("PTa", "A", "%.2f<p_{Ta}<%.2f").SetBin(fCard->GetVector("AssocPtBorders"));
+ fXEBin .Set("XE", "X", "%.1f<x_{E}<%.1f" ).SetBin(fCard->GetVector("xEBorders"));
+ fKLongBin .Set("KLong", "L", "%.1f<k_{#parallel}<%.1f").SetBin(fCard->GetVector("KlongBorders"));
+ fRGapBin .Set("RGap", "R", "%.1f<R_{gap}<%.1f").SetBin(fCard->GetVector("RGapThresholds"));
+ fEtaGapBin .Set("EtaGap", "E", "%.1f<#eta_{gap}<%.1f").SetBin(fCard->GetVector("EtaGapThresholds"));
+ fPhiGapBin .Set("PhiGap", "P", "%.1f<#phi_{gap}<%.1f" ).SetBin(fCard->GetVector("EtaGapThresholds"));
+ fMassBin .Set("Mass", "M", "%.1f<M_{jj}<%.1f").SetBin(fCard->GetVector("PairInvariantMassBins"));
fTypBin .Set("Type", "D", "", AliJBin::kSingle ).SetBin( "0 1" );
fTypBin3 .Set("Type3", "D", "", AliJBin::kSingle ).SetBin( "0 1 2 3" );
//card->IsLessThanUpperPairPtCut(-ipairpt)
fhBgAssocXeR(obj.fhBgAssocXeR),
fhBgAssocPta(obj.fhBgAssocPta),
fhBgAssocPtaR(obj.fhBgAssocPtaR),
+ fhInvariantMassXe(obj.fhInvariantMassXe),
+ fhInvariantMassKlong(obj.fhInvariantMassKlong),
+ fhInvariantMassPta(obj.fhInvariantMassPta),
+ fhInvariantMassXeLikeSign(obj.fhInvariantMassXeLikeSign),
+ fhInvariantMassKlongLikeSign(obj.fhInvariantMassKlongLikeSign),
+ fhInvariantMassPtaLikeSign(obj.fhInvariantMassPtaLikeSign),
+ fhInvariantMassXeUnlikeSign(obj.fhInvariantMassXeUnlikeSign),
+ fhInvariantMassKlongUnlikeSign(obj.fhInvariantMassKlongUnlikeSign),
+ fhInvariantMassPtaUnlikeSign(obj.fhInvariantMassPtaUnlikeSign),
fhDphiAssocIsolTrigg(obj.fhDphiAssocIsolTrigg),
fhMeanPtAssoc(obj.fhMeanPtAssoc),
fhMeanZtAssoc(obj.fhMeanZtAssoc),
fhJT(obj.fhJT),
fhJTBg(obj.fhJTBg),
fhJTBgR(obj.fhJTBgR),
+ fhJTLikeSign(obj.fhJTLikeSign),
+ fhJTBgLikeSign(obj.fhJTBgLikeSign),
+ fhJTBgRLikeSign(obj.fhJTBgRLikeSign),
+ fhJTUnlikeSign(obj.fhJTUnlikeSign),
+ fhJTBgUnlikeSign(obj.fhJTBgUnlikeSign),
+ fhJTBgRUnlikeSign(obj.fhJTBgRUnlikeSign),
fhJTKlong(obj.fhJTKlong),
fhJTKlongBg(obj.fhJTKlongBg),
fhJTKlongBgR(obj.fhJTKlongBgR),
+ fhJTKlongLikeSign(obj.fhJTKlongLikeSign),
+ fhJTKlongBgLikeSign(obj.fhJTKlongBgLikeSign),
+ fhJTKlongBgRLikeSign(obj.fhJTKlongBgRLikeSign),
+ fhJTKlongUnlikeSign(obj.fhJTKlongUnlikeSign),
+ fhJTKlongBgUnlikeSign(obj.fhJTKlongBgUnlikeSign),
+ fhJTKlongBgRUnlikeSign(obj.fhJTKlongBgRUnlikeSign),
fhJTPta(obj.fhJTPta),
fhJTPtaBg(obj.fhJTPtaBg),
fhJTPtaBgR(obj.fhJTPtaBgR),
+ fhJTPtaLikeSign(obj.fhJTPtaLikeSign),
+ fhJTPtaBgLikeSign(obj.fhJTPtaBgLikeSign),
+ fhJTPtaBgRLikeSign(obj.fhJTPtaBgRLikeSign),
+ fhJTPtaUnlikeSign(obj.fhJTPtaUnlikeSign),
+ fhJTPtaBgUnlikeSign(obj.fhJTPtaBgUnlikeSign),
+ fhJTPtaBgRUnlikeSign(obj.fhJTPtaBgRUnlikeSign),
+ fHmgInclusive(obj.fHmgInclusive),
+ fhIetaTriggFromFile(),
+ fhIetaAssocFromFile(),
+ fhIphiTriggFromFile(),
+ fhIphiAssocFromFile(),
+ fhDphiAssocMixFromFile(),
fhLPpt(obj.fhLPpt),
fhLPpairPt(obj.fhLPpairPt),
fhChargedPt(obj.fhChargedPt),
return *this;
}
+AliJHistos::~AliJHistos() {
+ delete fHMG;
+ delete fHmgInclusive;
+}
+
//______________________________________________________________________________
void AliJHistos::CreateAzimuthCorrHistos()
{
// Comment needed here!
+ fHMG->cd();
int bins = 240; // 240 is divisible by 2,3,4,612*24=280 -1/3 and 0.5 and 5/3 are bin edges
//double fLowRange = -1.0/3, fHighRange= 5.0/3;
<< TH1D( "hPtAssocF", "", fnUE, fUEBinsx)
<< fPTtBin << "END";
+ //======================
+ // invariant mass histograms
+ //======================
+
+ fhInvariantMassXe
+ << TH1D("hInvariantMassXe","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ fhInvariantMassKlong
+ << TH1D("hInvariantMassKlong","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhInvariantMassPta
+ << TH1D("hInvariantMassPta","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
+ // Like sign pairs for invariant mass histograms
+
+ fhInvariantMassXeLikeSign
+ << TH1D("hInvariantMassXeLikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ fhInvariantMassKlongLikeSign
+ << TH1D("hInvariantMassKlongLikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhInvariantMassPtaLikeSign
+ << TH1D("hInvariantMassPtaLikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
+ // Unlike sign pairs for invariant mass histograms
+
+ fhInvariantMassXeUnlikeSign
+ << TH1D("hInvariantMassXeUnlikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ fhInvariantMassKlongUnlikeSign
+ << TH1D("hInvariantMassKlongUnlikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhInvariantMassPtaUnlikeSign
+ << TH1D("hInvariantMassPtaUnlikeSign","",1500,0,3)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
//=======================
//jT fhistos
//=======================
fhPoutF
<< TH1D( "hPoutF", "", 300, 0, 15)
<< fTypBin << fCentBin << fPTtBin << fPTaBin << "END";//FK//
- //let's not compute mixed frandom background - takes a lot of time.
- fhJTKlongBg
- << TH1D( "hJTKlongBg", "", nJT, logBinsJt)
- << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
- fhDphiDetaKlong
- << TH2D( "hDphiDetaKlong", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
- << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
- fhBgAssocKlong
- << TH1D( "hBgAssocKlong", "", fnUE, fUEBinsx)
- << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
- //let's not compute mixed frandom background - takes a lot of time.
- fhJTKlongBgR
- << TH1D( "hJTKlongBgR", "", nJT, logBinsJt)
- << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
- fhDphiDetaKlongR
- << TH2D( "hDphiDetaKlongR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
- << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
- fhBgAssocKlongR
- << TH1D( "hBgAssocKlongR", "", fnUE, fUEBinsx)
- << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
- fhJTKlong
- << TH1D( "hJTKlong", "", nJT, logBinsJt)
- << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
- // xe bins
+
+ // Histograms in xlong bins
+
+ fhJT
+ << TH1D( "hJT", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
fhJTBg
<< TH1D( "hJTBg", "", nJT, logBinsJt)
<< fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
- fhDphiDetaXe
- << TH2D( "hDphiDetaXe", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+
+ fhJTBgR
+ << TH1D( "hJTBgR", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
+
+ fhJTLikeSign
+ << TH1D( "hJTLikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ fhJTBgLikeSign
+ << TH1D( "hJTBgLikeSign", "", nJT, logBinsJt)
<< fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
+
+ fhJTBgRLikeSign
+ << TH1D( "hJTBgRLikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
+
+ fhJTUnlikeSign
+ << TH1D( "hJTUnlikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ fhJTBgUnlikeSign
+ << TH1D( "hJTBgUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
+
+ fhJTBgRUnlikeSign
+ << TH1D( "hJTBgRUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
+
fhBgAssocXe
<< TH1D( "hBgAssocXe", "", fnUE, fUEBinsx)
<< fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
- fhJTBgR
- << TH1D( "hJTBgR", "", nJT, logBinsJt)
+
+ fhBgAssocXeR
+ << TH1D( "hBgAssocXeR", "", fnUE, fUEBinsx)
<< fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
+
+ fhDphiDetaXe
+ << TH2D( "hDphiDetaXe", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+ << fCentBin << fEtaGapBin << fPTtBin << fXEBin << "END";
+
fhDphiDetaXeR
<< TH2D( "hDphiDetaXeR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
<< fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
- fhBgAssocXeR
- << TH1D( "hBgAssocXeR", "", fnUE, fUEBinsx)
- << fCentBin << fRGapBin << fPTtBin << fXEBin << "END";
- fhJT
- << TH1D( "hJT", "", nJT, logBinsJt)
- << fTypBin << fCentBin << fPTtBin << fXEBin << "END";
+
+ // Histograms in klong bins
+
+ fhJTKlong
+ << TH1D( "hJTKlong", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBg
+ << TH1D( "hJTKlongBg", "", nJT, logBinsJt)
+ << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBgR
+ << TH1D( "hJTKlongBgR", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongLikeSign
+ << TH1D( "hJTKlongLikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBgLikeSign
+ << TH1D( "hJTKlongBgLikeSign", "", nJT, logBinsJt)
+ << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBgRLikeSign
+ << TH1D( "hJTKlongBgRLikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongUnlikeSign
+ << TH1D( "hJTKlongUnlikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBgUnlikeSign
+ << TH1D( "hJTKlongBgUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
+
+ fhJTKlongBgRUnlikeSign
+ << TH1D( "hJTKlongBgRUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
+
+ fhBgAssocKlong
+ << TH1D( "hBgAssocKlong", "", fnUE, fUEBinsx)
+ << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
+
+ fhBgAssocKlongR
+ << TH1D( "hBgAssocKlongR", "", fnUE, fUEBinsx)
+ << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
+
+ fhDphiDetaKlong
+ << TH2D( "hDphiDetaKlong", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+ << fCentBin << fEtaGapBin << fPTtBin << fKLongBin << "END";
+
+ fhDphiDetaKlongR
+ << TH2D( "hDphiDetaKlongR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+ << fCentBin << fRGapBin << fPTtBin << fKLongBin << "END";
+
+ // Histograms in pta bins
+
+ fhJTPta
+ << TH1D( "hJTPta", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
fhJTPtaBg
<< TH1D( "hJTPtaBg", "", nJT, logBinsJt)
<< fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
- fhDphiDetaPta
- << TH2D( "hDphiDetaPta", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+
+ fhJTPtaBgR
+ << TH1D( "hJTPtaBgR", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaLikeSign
+ << TH1D( "hJTPtaLikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaBgLikeSign
+ << TH1D( "hJTPtaBgLikeSign", "", nJT, logBinsJt)
<< fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaBgRLikeSign
+ << TH1D( "hJTPtaBgRLikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaUnlikeSign
+ << TH1D( "hJTPtaUnlikeSign", "", nJT, logBinsJt)
+ << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaBgUnlikeSign
+ << TH1D( "hJTPtaBgUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
+
+ fhJTPtaBgRUnlikeSign
+ << TH1D( "hJTPtaBgRUnlikeSign", "", nJT, logBinsJt)
+ << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
+
fhBgAssocPta
<< TH1D( "hBgAssocPta", "", fnUE, fUEBinsx)
<< fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
- fhJTPtaBgR
- << TH1D( "hJTPtaBgR", "", nJT, logBinsJt)
+
+ fhBgAssocPtaR
+ << TH1D( "hBgAssocPtaR", "", fnUE, fUEBinsx)
<< fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
+
+ fhDphiDetaPta
+ << TH2D( "hDphiDetaPta", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
+ << fCentBin << fEtaGapBin << fPTtBin << fPTaBin << "END";
+
fhDphiDetaPtaR
<< TH2D( "hDphiDetaPtaR", "", 100, -2*fmaxEtaRange, 2*fmaxEtaRange, 100, -kJPi/2, kJPi/2)
<< fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
- fhBgAssocPtaR
- << TH1D( "hBgAssocPtaR", "", fnUE, fUEBinsx)
- << fCentBin << fRGapBin << fPTtBin << fPTaBin << "END";
- fhJTPta
- << TH1D( "hJTPta", "", nJT, logBinsJt)
- << fTypBin << fCentBin << fPTtBin << fPTaBin << "END";
}
void AliJHistos::CreateIAAMoons()
{
+ fHMG->cd();
//--- IAA signal ---
fhDRNearPt
<< TH1D( "hDRNearPt", "", fnUE, fUEBinsx)
//==================================
// xe slopes
//==================================
+ fHMG->cd();
double xel=0.0, xeh=1.2;
int nbxE = int((xeh-xel)/0.04);
void AliJHistos::CreatePairPtCosThetaStar(){
// pairs
+ fHMG->cd();
int bins = 288; // 12*24 -1/3 and 0.5 and 5/3 are bin edges
double lowRange = -1./3, highRange= 5./3;
//=================
//______________________________________________________________________________
void AliJHistos::CreatePtCorrHistos(){
// pt corr histos
+ fHMG->cd();
int ptbins=30;
double lpt=0,upt=8;
fhPtNear
//______________________________________________________________________________
void AliJHistos::CreateRunByRunHistos(int runID, int runcounter) const {
// Todo
+ fHMG->cd();
JUNUSED(runID);
JUNUSED(runcounter);
} //TODO
//______________________________________________________________________________
void AliJHistos::CreateEventTrackHistos(){
// comment needed
+ fHMG->cd();
int nBINS=150;
double logBinsX[nBINS+1], limL=0.1, limH=100;
double logBW = (log(limH)-log(limL))/nBINS;
}
void AliJHistos::CreateJetHistos(){
+ fHMG->cd();
// jet histos
int nBINS=200;
double logBinsX[nBINS+1], limL=0.1, limH=200;
//______________________________________________________________________________
void AliJHistos::CreateXtHistos() {
-
- // TODO MakeDirectory("xT");
+ // TODO comment
+ //
+ fHMG->cd();
// Esko
TH1::SetDefaultSumw2(kTRUE);
cout << "GetDefaultSumw2() = " << TH1::GetDefaultSumw2() << endl;
//______________________________________________________________________________
//void AliJHistos::ReadInclusiveHistos(TFile *inFile){
void AliJHistos::ReadInclusiveHistos(const char *inclusFileName){
- // read inclusive histos
- TFile *inclusFile = new TFile(inclusFileName, "READ");
-
- //inFile->ls();
- //cout<<((TH1D*) inclusFile->Get(Form("hIetaTrigg%02d%02d", 0, 0)))->GetEntries() <<endl;
- //abort();
-
- for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
- for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){
- fhIetaTriggFromFile[hic][hit] = (TH1D*) inclusFile->Get(Form("hIetaTrigg%02d%02d", hic, hit));//FK//mix2
- //fhistoList->Add(fhIetaTriggFromFile[hic][hit]);
- fhIphiTriggFromFile[hic][hit] = (TH1D*) inclusFile->Get(Form("hIphiTrigg%02d%02d", hic, hit));//FK//mix2
- //fhistoList->Add(fhIphiTriggFromFile[hic][hit]);
- cout<<"c=" << hic <<" tr="<< hit <<" "<<fhIetaTriggFromFile[hic][hit]<<flush;
- cout<<" entries="<<fhIetaTriggFromFile[hic][hit]->GetEntries() << endl;
- }
- }
+ // read inclusive histos
+ fHMG->cd();
- for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
- for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){
- fhIetaAssocFromFile[hic][hia] = (TH1D*) inclusFile->Get(Form("hIetaAssoc%02d%02d", hic, hia));//FK//mix2
- //fhistoList->Add(fhIetaAssocFromFile[hic][hia]);
- fhIphiAssocFromFile[hic][hia] = (TH1D*) inclusFile->Get(Form("hIphiAssoc%02d%02d", hic, hia));//FK//mix2
- //fhistoList->Add(fhIphiAssocFromFile[hic][hia]);
- cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhIetaAssocFromFile[hic][hia]->GetEntries() <<endl;
- }
- }
+ TPMERegexp sep("::");
+ int ncol = sep.Split( inclusFileName );
+ TString filename = sep[0];
- int numCent = fCard->GetNoOfBins(kCentrType);
- int numPtt = fCard->GetNoOfBins(kTriggType);
- int numPta = fCard->GetNoOfBins(kAssocType);
- int numEtaGaps = fCard->GetNoOfBins(kEtaGapType);
- int numZvtx = fCard->GetNoOfBins(kZVertType);
-
- //------------ R e a d mixed D a t a ------------
- const int zFirstBin = 0 ;
- const int etaGapFirstBin = 0 ;
- for (int hic = 0;hic < numCent; hic++) {
- for (int hit = 0; hit < numPtt;hit++){
- for (int hia = 0; hia < numPta; hia++){
- fhDEtaNearMixFromFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("hDEtaNear/hDEtaNear%02d%02d%02d%02d%02d%02d", 1, hic, zFirstBin, etaGapFirstBin, hit, hia));
- for (int iEtaGap=0; iEtaGap < numEtaGaps; iEtaGap++){//fdphi slices
- for (int hiz = 0; hiz < numZvtx; hiz++) {
- if( iEtaGap==etaGapFirstBin && hiz==zFirstBin ) continue;
- TH1D *hid = (TH1D*) inclusFile->Get(Form("hDEtaNear/hDEtaNear%02d%02d%02d%02d%02d%02d", 1, hic, hiz, iEtaGap, hit, hia));
- fhDEtaNearMixFromFile[hic][hit][hia]->Add(hid);
- }
- }
- //normalize to traingle
- double counts = fhDEtaNearMixFromFile[hic][hit][hia]->Integral();
- double bw = fhDEtaNearMixFromFile[hic][hit][hia]->GetBinWidth(1);
- int rebin = 4;
- if(counts<5000) rebin=8;
- if(counts<3000) rebin=10;
- if(counts<1000) rebin=16;
- fhDEtaNearMixFromFile[hic][hit][hia]->Rebin(rebin);
- if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw/rebin);//triangle f(0)=1, f(1.6)=0
- //if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw);
- //cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhDEtaNearMixFromFile[hic][hit][hia]->GetEntries() <<endl;
-
- }
- }
- }
-
-
- //for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
- // for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){
- // for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){
- // hDphiAssocMixSpectraFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("xhDphiAssoc%02dC%02dE00T%02dA%02d",1, hic, hit, hia));//FK//mix2
- // }
- // }
- //}
+ if (TString(inclusFileName).BeginsWith("alien:")) TGrid::Connect("alien:");
+ TFile *inclusFile = TFile::Open(filename);
+ TDirectory * dir = (TDirectory*) inclusFile;
+ if( ncol > 1 ) dir = (TDirectory*)( inclusFile->Get(sep[1]));
+ if( !dir ) {
+ cout << " ReadInclusiveHistos wrong file name or dirname !!!!" << endl;
+ }
+
+ cout<<inclusFileName<<"\t"<<filename<<"\t";
+ if( ncol > 1 ) cout<<sep[1];
+ cout<<endl;
+ dir->Print();
+
+ dir->cd();
+
+ fHmgInclusive = new AliJHistManager("hst");
+ fHmgInclusive->LoadConfig();
+
+ fhIetaTriggFromFile = fHmgInclusive->GetTH1D("hIetaTrigg");
+ fhIetaTriggFromFile.Print();
+ fhIetaTriggFromFile[0][0]->Print();
+
+ fhIphiTriggFromFile = fHmgInclusive->GetTH1D("fhIphiTrigg"); // TODO
+ fhIphiTriggFromFile.Print();
+ fhIetaAssocFromFile = fHmgInclusive->GetTH1D("hIetaAssoc");
+ fhIetaAssocFromFile.Print();
+ fhIphiAssocFromFile = fHmgInclusive->GetTH1D("fhIphiAssoc");
+ fhIphiAssocFromFile.Print();
+
+ int numCent = fCard->GetNoOfBins(kCentrType);
+ int numPtt = fCard->GetNoOfBins(kTriggType);
+ int numPta = fCard->GetNoOfBins(kAssocType);
+ int numEtaGaps = fCard->GetNoOfBins(kEtaGapType);
+ int numZvtx = fCard->GetNoOfBins(kZVertType);
+
+ //------------ R e a d mixed D a t a ------------
+ const int zFirstBin = 0 ;
+ const int etaGapFirstBin = 0 ;
+ AliJTH1D hDEtaNearTmp = fHmgInclusive->GetTH1D("hDEtaNear");
+ for (int hic = 0;hic < numCent; hic++) {
+ for (int hit = 0; hit < numPtt;hit++){
+ for (int hia = 0; hia < numPta; hia++){
+ fhDEtaNearMixFromFile[hic][hit][hia]= hDEtaNearTmp[hic][zFirstBin][etaGapFirstBin][hit][hia];
+ for (int iEtaGap=0; iEtaGap < numEtaGaps; iEtaGap++){//fdphi slices
+ for (int hiz = 0; hiz < numZvtx; hiz++) {
+ if( iEtaGap==etaGapFirstBin && hiz==zFirstBin ) continue;
+ TH1D *hid = hDEtaNearTmp[hic][hiz][iEtaGap][hit][hia];
+ fhDEtaNearMixFromFile[hic][hit][hia]->Add(hid);
+ }
+ }
+ //normalize to traingle
+ double counts = fhDEtaNearMixFromFile[hic][hit][hia]->Integral();
+ double bw = fhDEtaNearMixFromFile[hic][hit][hia]->GetBinWidth(1);
+ int rebin = 4;
+ if(counts<5000) rebin=8;
+ if(counts<3000) rebin=10;
+ if(counts<1000) rebin=16;
+ fhDEtaNearMixFromFile[hic][hit][hia]->Rebin(rebin);
+ if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw/rebin);//triangle f(0)=1, f(1.6)=0
+ //if(counts>0) fhDEtaNearMixFromFile[hic][hit][hia]->Scale(2.*fmaxEtaRange/counts/bw);
+ //cout<<"c=" << hic <<" as="<< hia <<" entries="<< fhDEtaNearMixFromFile[hic][hit][hia]->GetEntries() <<endl;
+
+ }
+ }
+ }
+
+
+ //for (int hic = 0;hic < fCard->GetNoOfBins(kCentrType);hic++) {
+ // for (int hit = 0; hit < fCard->GetNoOfBins(kTriggType);hit++){
+ // for (int hia = 0; hia < fCard->GetNoOfBins(kAssocType); hia++){
+ // hDphiAssocMixSpectraFile[hic][hit][hia]= (TH1D*) inclusFile->Get(Form("xhDphiAssoc%02dC%02dE00T%02dA%02d",1, hic, hit, hia));//FK//mix2
+ // }
+ // }
+ //}
}