]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/Base/AliTwoPlusOneContainer.h
Merge branch 'master' into TRDdev
[u/mrichter/AliRoot.git] / PWGCF / Correlations / Base / AliTwoPlusOneContainer.h
1 #ifndef AliTwoPlusOneContainer_H
2 #define AliTwoPlusOneContainer_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 // data container for 2+1 particle analysis
8
9 #include "TNamed.h"
10 #include "AliUEHist.h"
11 // #include "THn.h" // in cxx file causes .../THn.h:257: error: conflicting declaration ‘typedef class THnT<float> THnF’
12
13 class AliVParticle;
14
15 class TList;
16 class TSeqCollection;
17 class TObjArray;
18 class TH1F;
19 class TH2F;
20 class TH3F;
21
22 class AliTwoPlusOneContainer : public TNamed
23 {
24  public:
25   AliTwoPlusOneContainer(const char* name = "AliTwoPlusOneContainer", const char* binning = 0, Double_t alpha = 0.2);
26
27   virtual ~AliTwoPlusOneContainer();
28   
29   enum PlotKind {kSameNS = 0, kSameAS, kMixedNS, kMixedAS, kMixedCombNS, kMixedCombAS};
30
31   void FillCorrelations(Double_t centrality, Float_t zVtx, AliTwoPlusOneContainer::PlotKind step, TObjArray* triggerNear, TObjArray* triggerAway, TObjArray* assocNear, TObjArray* assocAway, Double_t weight);
32   
33   AliUEHist* GetData() {return fTwoPlusOne;}
34   Double_t getTriggerPt1Min() {return fTriggerPt1Min;}
35   Double_t getTriggerPt1Max() {return fTriggerPt1Max;}
36   Double_t getTriggerPt2Min() {return fTriggerPt2Min;}
37   Double_t getTriggerPt2Max() {return fTriggerPt2Max;}
38   Double_t getPtAssocMin() {return fPtAssocMin;}
39   Double_t getPtAssocMax() {return fPtAssocMax;}
40   
41   void SetData(AliUEHist* obj) {fTwoPlusOne = obj; }
42   void SetAlpha(Double_t value) {fAlpha = value;}
43
44   AliTwoPlusOneContainer(const AliTwoPlusOneContainer &c);
45   AliTwoPlusOneContainer& operator=(const AliTwoPlusOneContainer& c);
46   virtual void Copy(TObject& c) const;
47   virtual Long64_t Merge(TCollection* list);
48  
49 protected:
50   void DeleteContainers();
51   
52   AliUEHist* fTwoPlusOne;            //a 6 dim histogram which actually contains all the data
53   
54   Double_t fTriggerPt1Min;           //minimum energy for the first trigger particle
55   Double_t fTriggerPt1Max;           //maximum energy for the first trigger particle
56   Double_t fTriggerPt2Min;           //minimum energy for the second trigger particle
57   Double_t fTriggerPt2Max;           //maximum energy for the second trigger particle
58   Double_t fPtAssocMin;              //minimum energy for the associated particles
59   Double_t fPtAssocMax;              //maximum energy for the associated particle
60   Double_t fAlpha;                   //minimum energy for the first trigger particle
61   Int_t fMergeCount;                 // counts how many objects have been merged together
62   
63   ClassDef(AliTwoPlusOneContainer, 2)  // underlying event histogram container
64 };
65
66
67 #endif