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