ROOT logo
AliRoot » PWGCF » CORRELATIONS » BASE » AliUEHistograms

class AliUEHistograms: public TNamed

Function Members (Methods)

public:
AliUEHistograms(const AliUEHistograms& c)
AliUEHistograms(const char* name = "AliUEHistograms", const char* histograms = "", const char* binning = 0)
virtual~AliUEHistograms()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidCopy(TObject& c) const
voidCopyReconstructedData(AliUEHistograms* from)
voidCorrect(AliUEHistograms* corrections)
voidDeepCopy(AliUEHistograms* from)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
voidExtendTrackingEfficiency(Bool_t verbose = kFALSE)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFill(AliVParticle* leadingMC, AliVParticle* leadingReco)
voidFill(Int_t eventType, Float_t zVtx, AliUEHist::CFStep step, AliVParticle* leading, TList* toward, TList* away, TList* min, TList* max)
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillCorrelations(Double_t centrality, Float_t zVtx, AliUEHist::CFStep step, TObjArray* particles, TObjArray* mixed = 0, Float_t weight = 1, Bool_t firstTime = kTRUE, Bool_t twoTrackEfficiencyCut = kFALSE, Float_t bSign = 0, Float_t twoTrackEfficiencyCutValue = 0.02, Bool_t applyEfficiency = kFALSE)
voidFillEvent(Int_t eventType, Int_t step)
voidFillEvent(Double_t centrality, Int_t step)
voidFillFakePt(TObjArray* fake, Double_t centrality)
voidFillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, TObjArray* recoPrimPID, TObjArray* recoAllPID, TObjArray* fake, Int_t particleType, Double_t centrality = 0, Double_t zVtx = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TH2F*GetCentralityCorrelation()
TH1F*GetCentralityDistribution()
TH2F*GetCorrelationEta()
TH2F*GetCorrelationLeading2Phi()
TH2F*GetCorrelationMultiplicity()
TH2F*GetCorrelationPhi()
TH2F*GetCorrelationpT()
TH2F*GetCorrelationR()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TH2F*GetEventCount()
TH3F*GetEventCountDifferential()
virtual const char*TObject::GetIconName() const
TH2F*GetInvYield()
Int_tGetMergeCount()
virtual const char*TNamed::GetName() const
AliUEHist*GetNumberDensityPhi()
AliUEHist*GetNumberDensitypT()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Long64_tGetRunNumber()
AliUEHist*GetSumpT()
virtual const char*TNamed::GetTitle() const
TH3F*GetTwoTrackDistance(Int_t i)
AliUEHist*GetUEHist(Int_t id)
virtual UInt_tTObject::GetUniqueID() const
TH1F*GetVertexContributors()
Bool_tGetWeightPerEvent()
TH3F*GetYield()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* list)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliUEHistograms&operator=(const AliUEHistograms& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidScale(Double_t factor)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCombineMinMax(Bool_t flag)
voidSetContaminationEnhancement(TH1F* hist)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEfficiencyCorrectionAssociated(THnF* hist)
voidSetEfficiencyCorrectionTriggers(THnF* hist)
voidSetEtaOrdering(Bool_t flag)
voidSetEtaRange(Float_t etaMin, Float_t etaMax)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNumberDensityPhi(AliUEHist* obj)
voidSetNumberDensitypT(AliUEHist* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOnlyOneEtaSide(Int_t flag)
voidSetPairCuts(Bool_t conversions, Bool_t resonances)
voidSetPartSpecies(Int_t species)
voidSetPtOrder(Bool_t flag)
voidSetPtRange(Float_t ptMin, Float_t ptMax)
voidSetRejectResonanceDaughters(Int_t value)
voidSetRunNumber(Long64_t runNumber)
voidSetSelectAssociatedCharge(Int_t selectCharge)
voidSetSelectCharge(Int_t selectCharge)
voidSetSelectTriggerCharge(Int_t selectCharge)
voidSetSumpT(AliUEHist* obj)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackEtaCut(Float_t value)
voidSetTriggerRestrictEta(Float_t eta)
voidSetTwoTrackCutMinRadius(Float_t min)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWeightPerEvent(Bool_t flag)
voidSetZVtxRange(Float_t min, Float_t max)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Int_tCountParticles(TList* list, Float_t ptMin)
voidDeleteContainers()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidFillRegion(AliUEHist::Region region, Float_t zVtx, AliUEHist::CFStep step, AliVParticle* leading, TList* list, Int_t multiplicity)
Float_tGetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1, Float_t phi2, Float_t pt2, Float_t charge2, Float_t radius, Float_t bSign)
Float_tGetInvMassSquared(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
Float_tGetInvMassSquaredCheap(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
voidTObject::MakeZombie()

Data Members

protected:
Int_tfAssociatedSelectChargeselect charge of associated particle
TH2F*fCentralityCorrelationcentrality vs multiplicity
TH1F*fCentralityDistributiondistribution of the variable used for centrality selection
TH2F*fControlConvResoncancescontrol histograms for cuts on conversions and resonances
TH2F*fCorrelationEta#eta,lead; true vs reco
TH2F*fCorrelationLeading2Phidelta phi (true vs reco) vs pT,lead,MC
TH2F*fCorrelationMultiplicitynumber of mc particls vs reco particles (for pT > 0.5 GeV/c)
TH2F*fCorrelationPhi#phi,lead; true vs reco
TH2F*fCorrelationRR = sqrt(delta eta^2 + delta phi^2) (true vs reco) vs pT,lead,MC
TH2F*fCorrelationpTpT,lead: true vs reco
Bool_tfCutConversionscut on conversions (inv mass)
Bool_tfCutResonancescut on resonances (inv mass)
THnF*fEfficiencyCorrectionAssociatedif non-0 this efficiency correction is applied on the fly to the filling for associated particles. The factor is multiplicative, i.e. should contain 1/efficiency
THnF*fEfficiencyCorrectionTriggersif non-0 this efficiency correction is applied on the fly to the filling for trigger particles. The factor is multiplicative, i.e. should contain 1/efficiency
Bool_tfEtaOrderingactivate eta ordering to prevent shape distortions. see FillCorrelation for the details
TH2F*fEventCountevent count as function of step, (for pp: event type (plus additional step -1 for all events without vertex range even in MC)) (for PbPb: centrality)
TH3F*fEventCountDifferentialevent count as function of leading pT, step, event type
TH3F*fITSClusterMapits cluster map vs centrality vs pT
TH2F*fInvYield2invariant yield as cross check of tracking
Int_tfMergeCountcounts how many objects have been merged together
TStringTNamed::fNameobject identifier
AliUEHist*fNumberDensityPhid^2N/dphideta vs delta phi,lead (in pT,lead bins)
AliUEHist*fNumberDensitypTd^2N/dphideta vs pT,lead
Int_tfOnlyOneEtaSidedecides that only trigger particle from one eta side are considered (0 = all; -1 = negative, 1 = positive)
Bool_tfPtOrderapply pT,a < pT,t condition
Int_tfRejectResonanceDaughtersreject all daughters of all resonance candidates (1: test method (cut at m_inv=0.9); 2: k0; 3: lambda)
Long64_tfRunNumberrun number that has been processed
Int_tfSelectCharge(un)like sign selection when building correlations: 0: no selection; 1: unlike sign; 2: like sign
AliUEHist*fSumpTd^2 sum(pT)/dphideta vs pT,lead
TStringTNamed::fTitleobject title
Float_tfTriggerRestrictEtarestrict eta range for trigger particle (default: -1 [off])
Int_tfTriggerSelectChargeselect charge of trigger particle
Float_tfTwoTrackCutMinRadiusmin radius for TTR cut
TH3F*fTwoTrackDistancePt[2]control histograms for two-track efficiency study: dphi*_min vs deta (0 = before cut, 1 = after cut)
TH1F*fVertexContributorsnumber of contributors to the vertex
Bool_tfWeightPerEventweight with the number of trigger particles per event
TH3F*fYieldscentrality vs pT vs eta
static const Int_tfgkUEHistsnumber of histograms

Class Charts

Inheritance Chart:
TNamed
AliUEHistograms

Function documentation

AliUEHistograms(const char* name = "AliUEHistograms", const char* histograms = "", const char* binning = 0)
 Constructor

 the string histograms defines which histograms are created:
    1 = NumberDensitypT
    2 = SumpT
    3 = NumberDensityPhi
    4 = NumberDensityPhiCentrality (other multiplicity for Pb)
AliUEHistograms(const AliUEHistograms& c)
 AliUEHistograms copy constructor

~AliUEHistograms()
 Destructor
void DeleteContainers()
AliUEHist* GetUEHist(Int_t id)
 returns AliUEHist object, useful for loops
Int_t CountParticles(TList* list, Float_t ptMin)
 counts the number of particles in the list with a pT above ptMin
 TODO eta cut needed here?
void Fill(Int_t eventType, Float_t zVtx, AliUEHist::CFStep step, AliVParticle* leading, TList* toward, TList* away, TList* min, TList* max)
 fills the UE event histograms

 this function needs the leading (track or jet or ...) and four lists of AliVParticles which contain the particles/tracks to be filled in the four regions
void FillRegion(AliUEHist::Region region, Float_t zVtx, AliUEHist::CFStep step, AliVParticle* leading, TList* list, Int_t multiplicity)
 loops over AliVParticles in list and fills the given region at the given step

 See also Fill(...)
void Fill(AliVParticle* leadingMC, AliVParticle* leadingReco)
 fills the correlation histograms
void FillCorrelations(Double_t centrality, Float_t zVtx, AliUEHist::CFStep step, TObjArray* particles, TObjArray* mixed = 0, Float_t weight = 1, Bool_t firstTime = kTRUE, Bool_t twoTrackEfficiencyCut = kFALSE, Float_t bSign = 0, Float_t twoTrackEfficiencyCutValue = 0.02, Bool_t applyEfficiency = kFALSE)
 fills the fNumberDensityPhi histogram

 this function need a list of AliVParticles which contain the particles/tracks to be filled

 if mixed is non-0, mixed events are filled, the trigger particle is from particles, the associated from mixed
 if weight < 0, then the pt of the associated particle is filled as weight
void FillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, TObjArray* recoPrimPID, TObjArray* recoAllPID, TObjArray* fake, Int_t particleType, Double_t centrality = 0, Double_t zVtx = 0)
 fills the tracking efficiency objects

 mc: all primary MC particles
 recoPrim: reconstructed primaries (again MC particles)
 recoAll: reconstructed (again MC particles)
 recoPrim: reconstructed primaries with checks on PID (again MC particles)
 recoAll: reconstructed with checks on PID (again MC particles)
 particleType is: 0 for pion, 1 for kaon, 2 for proton, 3 for others
void FillFakePt(TObjArray* fake, Double_t centrality)
void FillEvent(Int_t eventType, Int_t step)
 fills the number of events at the given step and the given enty type

 WARNING: This function is called from Fill, so only call it for steps where Fill is not called
void FillEvent(Double_t centrality, Int_t step)
 fills the number of events at the given step and the given centrality

 WARNING: This function is called from Fill, so only call it for steps where Fill is not called
void SetEtaRange(Float_t etaMin, Float_t etaMax)
 sets eta min and max for all contained AliUEHist classes
void SetPtRange(Float_t ptMin, Float_t ptMax)
 sets pT min and max for all contained AliUEHist classes
void SetPartSpecies(Int_t species)
 sets PartSpecie for all contained AliUEHist classes
void SetZVtxRange(Float_t min, Float_t max)
 sets pT min and max for all contained AliUEHist classes
void SetContaminationEnhancement(TH1F* hist)
 sets the contamination enhancement histogram in all contained AliUEHist classes
void SetCombineMinMax(Bool_t flag)
 sets pT min and max for all contained AliUEHist classes
void SetTrackEtaCut(Float_t value)
 sets track eta cut for all contained AliUEHist classes
void SetWeightPerEvent(Bool_t flag)
 sets fWeightPerEvent for all contained AliUEHist classes
void Correct(AliUEHistograms* corrections)
 corrects the contained histograms by calling AliUEHist::Correct
AliUEHistograms & operator=(const AliUEHistograms& c)
 assigment operator
void Copy(TObject& c) const
 copy function
Long64_t Merge(TCollection* list)
 Merge a list of AliUEHistograms objects with this (needed for
 PROOF).
 Returns the number of merged objects (including this).
void CopyReconstructedData(AliUEHistograms* from)
 copies those histograms extracted from ESD to this object
void DeepCopy(AliUEHistograms* from)
 copies the entries of this object's members from the object <from> to this object
void ExtendTrackingEfficiency(Bool_t verbose = kFALSE)
 delegates to AliUEHists
void Scale(Double_t factor)
 scales all contained histograms by the given factor
void Reset()
 delegates to AliUEHists
Float_t GetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1, Float_t phi2, Float_t pt2, Float_t charge2, Float_t radius, Float_t bSign)
 calculates dphistar

Float_t GetInvMassSquared(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
 calculate inv mass squared
 same can be achieved, but with more computing time with
TLorentzVector photon, p1, p2;
  p1.SetPtEtaPhiM(triggerParticle->Pt(), triggerEta, triggerParticle->Phi(), 0.510e-3);
  p2.SetPtEtaPhiM(particle->Pt(), eta[j], particle->Phi(), 0.510e-3);
  photon = p1+p2;
photon.M()
Float_t GetInvMassSquaredCheap(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
 calculate inv mass squared approximately
AliUEHist* GetNumberDensitypT()
{ return fNumberDensitypT; }
AliUEHist* GetSumpT()
{ return fSumpT; }
AliUEHist* GetNumberDensityPhi()
{ return fNumberDensityPhi; }
void SetNumberDensitypT(AliUEHist* obj)
{ fNumberDensitypT = obj; }
void SetSumpT(AliUEHist* obj)
{ fSumpT = obj; }
void SetNumberDensityPhi(AliUEHist* obj)
void SetRunNumber(Long64_t runNumber)
{ fRunNumber = runNumber; }
void SetEfficiencyCorrectionTriggers(THnF* hist)
void SetEfficiencyCorrectionAssociated(THnF* hist)
TH2F* GetCorrelationpT()
{ return fCorrelationpT; }
TH2F* GetCorrelationEta()
{ return fCorrelationEta; }
TH2F* GetCorrelationPhi()
{ return fCorrelationPhi; }
TH2F* GetCorrelationR()
{ return fCorrelationR; }
TH2F* GetCorrelationLeading2Phi()
TH2F* GetCorrelationMultiplicity()
TH3F* GetYield()
{ return fYields; }
TH2F* GetInvYield()
{ return fInvYield2; }
TH2F* GetEventCount()
{ return fEventCount; }
TH3F* GetEventCountDifferential()
TH1F* GetVertexContributors()
TH1F* GetCentralityDistribution()
TH2F* GetCentralityCorrelation()
Long64_t GetRunNumber()
{ return fRunNumber; }
Int_t GetMergeCount()
{ return fMergeCount; }
TH3F* GetTwoTrackDistance(Int_t i)
{ return fTwoTrackDistancePt[i]; }
Bool_t GetWeightPerEvent()
{ return fWeightPerEvent; }
void SetSelectCharge(Int_t selectCharge)
{ fSelectCharge = selectCharge; }
void SetSelectTriggerCharge(Int_t selectCharge)
{ fTriggerSelectCharge = selectCharge; }
void SetSelectAssociatedCharge(Int_t selectCharge)
{ fAssociatedSelectCharge = selectCharge; }
void SetTriggerRestrictEta(Float_t eta)
void SetEtaOrdering(Bool_t flag)
{ fEtaOrdering = flag; }
void SetPairCuts(Bool_t conversions, Bool_t resonances)
{ fCutConversions = conversions; fCutResonances = resonances; }
void SetRejectResonanceDaughters(Int_t value)
void SetOnlyOneEtaSide(Int_t flag)
{ fOnlyOneEtaSide = flag; }
void SetPtOrder(Bool_t flag)
{ fPtOrder = flag; }
void SetTwoTrackCutMinRadius(Float_t min)