]>
Commit | Line | Data |
---|---|---|
a75aacd6 | 1 | #ifndef AliUEHistograms_H |
2 | #define AliUEHistograms_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: AliUEHistograms.h 20164 2007-08-14 15:31:50Z morsch $ */ | |
8 | ||
9 | // encapsulates several AliUEHist objects for a full UE analysis plus additional control histograms | |
10 | ||
e0331fd9 | 11 | #include "TNamed.h" |
a75aacd6 | 12 | #include "AliUEHist.h" |
13 | ||
14 | class AliVParticle; | |
15 | ||
16 | class TList; | |
bf58cbde | 17 | class TSeqCollection; |
a75aacd6 | 18 | class TH1F; |
19 | class TH2F; | |
20 | class TH3F; | |
21 | ||
e0331fd9 | 22 | class AliUEHistograms : public TNamed |
a75aacd6 | 23 | { |
24 | public: | |
e0331fd9 | 25 | AliUEHistograms(const char* name = "AliUEHistograms", const char* histograms = "123"); |
a75aacd6 | 26 | virtual ~AliUEHistograms(); |
27 | ||
28 | void Fill(Int_t eventType, AliUEHist::CFStep step, AliVParticle* leading, TList* toward, TList* away, TList* min, TList* max); | |
2a910c25 | 29 | void FillCorrelations(Double_t centrality, AliUEHist::CFStep step, TSeqCollection* particles, TSeqCollection* mixed = 0, Float_t weight = 1, Bool_t firstTime = kTRUE); |
a75aacd6 | 30 | void Fill(AliVParticle* leadingMC, AliVParticle* leadingReco); |
31 | void FillEvent(Int_t eventType, Int_t step); | |
2a910c25 | 32 | void FillEvent(Double_t centrality, Int_t step); |
c7245604 | 33 | void FillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, Int_t particleType, Double_t centrality = 0); |
b1831bcb | 34 | |
35 | void CopyReconstructedData(AliUEHistograms* from); | |
a75aacd6 | 36 | |
ada1a03f | 37 | AliUEHist* GetUEHist(Int_t id); |
38 | ||
a75aacd6 | 39 | AliUEHist* GetNumberDensitypT() { return fNumberDensitypT; } |
40 | AliUEHist* GetSumpT() { return fSumpT; } | |
41 | AliUEHist* GetNumberDensityPhi() { return fNumberDensityPhi; } | |
42 | ||
2a910c25 | 43 | void SetNumberDensitypT(AliUEHist* obj) { fNumberDensitypT = obj; } |
44 | void SetSumpT(AliUEHist* obj) { fSumpT = obj; } | |
45 | void SetNumberDensityPhi(AliUEHist* obj) { fNumberDensityPhi = obj; } | |
46 | ||
a75aacd6 | 47 | TH2F* GetCorrelationpT() { return fCorrelationpT; } |
48 | TH2F* GetCorrelationEta() { return fCorrelationEta; } | |
49 | TH2F* GetCorrelationPhi() { return fCorrelationPhi; } | |
50 | TH2F* GetCorrelationR() { return fCorrelationR; } | |
51 | TH2F* GetCorrelationLeading2Phi() { return fCorrelationLeading2Phi; } | |
52 | TH2F* GetCorrelationMultiplicity() { return fCorrelationMultiplicity; } | |
53 | ||
54 | TH2F* GetEventCount() { return fEventCount; } | |
55 | TH3F* GetEventCountDifferential() { return fEventCountDifferential; } | |
56 | TH1F* GetVertexContributors() { return fVertexContributors; } | |
bf58cbde | 57 | TH1F* GetCentralityDistribution() { return fCentralityDistribution; } |
a75aacd6 | 58 | |
59 | void Correct(AliUEHistograms* corrections); | |
60 | ||
61 | void SetEtaRange(Float_t etaMin, Float_t etaMax); | |
62 | void SetPtRange(Float_t ptMin, Float_t ptMax); | |
144bd037 | 63 | void SetContaminationEnhancement(TH1F* hist); |
a75aacd6 | 64 | void SetCombineMinMax(Bool_t flag); |
c7245604 | 65 | void SetSelectCharge(Int_t selectCharge) { fSelectCharge = selectCharge; } |
a75aacd6 | 66 | |
2a910c25 | 67 | void ExtendTrackingEfficiency(Bool_t verbose = kFALSE); |
c7245604 | 68 | void Reset(); |
6f803f6c | 69 | |
d1c75d06 | 70 | AliUEHistograms(const AliUEHistograms &c); |
a75aacd6 | 71 | AliUEHistograms& operator=(const AliUEHistograms& c); |
72 | virtual void Copy(TObject& c) const; | |
73 | ||
74 | virtual Long64_t Merge(TCollection* list); | |
c7245604 | 75 | void Scale(Double_t factor); |
a75aacd6 | 76 | |
77 | protected: | |
78 | void FillRegion(AliUEHist::Region region, AliUEHist::CFStep step, AliVParticle* leading, TList* list, Int_t multiplicity); | |
79 | Int_t CountParticles(TList* list, Float_t ptMin); | |
bf58cbde | 80 | |
81 | static const Int_t fgkUEHists; // number of histograms | |
a75aacd6 | 82 | |
83 | AliUEHist* fNumberDensitypT; // d^2N/dphideta vs pT,lead | |
84 | AliUEHist* fSumpT; // d^2 sum(pT)/dphideta vs pT,lead | |
85 | AliUEHist* fNumberDensityPhi; // d^2N/dphideta vs delta phi,lead (in pT,lead bins) | |
86 | ||
87 | TH2F* fCorrelationpT; // pT,lead: true vs reco | |
88 | TH2F* fCorrelationEta; // #eta,lead; true vs reco | |
89 | TH2F* fCorrelationPhi; // #phi,lead; true vs reco | |
90 | TH2F* fCorrelationR; // R = sqrt(delta eta^2 + delta phi^2) (true vs reco) vs pT,lead,MC | |
91 | TH2F* fCorrelationLeading2Phi;// delta phi (true vs reco) vs pT,lead,MC | |
92 | TH2F* fCorrelationMultiplicity; // number of mc particls vs reco particles (for pT > 0.5 GeV/c) | |
93 | ||
2a910c25 | 94 | TH2F* fEventCount; // event 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) |
a75aacd6 | 95 | TH3F* fEventCountDifferential;// event count as function of leading pT, step, event type |
96 | ||
97 | TH1F* fVertexContributors; // number of contributors to the vertex | |
bf58cbde | 98 | TH1F* fCentralityDistribution; // distribution of the variable used for centrality selection |
a75aacd6 | 99 | |
2a910c25 | 100 | TH3F* fITSClusterMap; // its cluster map vs centrality vs pT |
101 | ||
c7245604 | 102 | Int_t fSelectCharge; // (un)like sign selection when building correlations: 0: no selection; 1: unlike sign; 2: like sign |
103 | ||
2a910c25 | 104 | ClassDef(AliUEHistograms, 6) // underlying event histogram container |
a75aacd6 | 105 | }; |
106 | ||
107 | #endif |