1 #ifndef AliTwoPlusOneContainer_H
2 #define AliTwoPlusOneContainer_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // data container for 2+1 particle analysis
10 #include "AliUEHist.h"
11 // #include "THn.h" // in cxx file causes .../THn.h:257: error: conflicting declaration ‘typedef class THnT<float> THnF’
22 class AliTwoPlusOneContainer : public TNamed
25 AliTwoPlusOneContainer(const char* name = "AliTwoPlusOneContainer", const char* binning = 0, Double_t alpha = 0.2);
27 virtual ~AliTwoPlusOneContainer();
29 enum PlotKind {kSameNS = 0, kSameAS, kMixedNS, kMixedAS, kMixedCombNS, kMixedCombAS, k1plus1, kBackgroundSameNS, kBackgroundSameAS, kMixed1plus1};
31 void FillCorrelations(Double_t centrality, Float_t zVtx, AliTwoPlusOneContainer::PlotKind step, TObjArray* triggerNear, TObjArray* triggerAway, TObjArray* assocNear, TObjArray* assocAway, Double_t weight, Bool_t is1plus1, Bool_t isBackgroundSame);
33 AliUEHist* GetData() {return fTwoPlusOne;}
34 TH1F* GetAsymmetry() {return fAsymmetry;}
35 TH1F* GetAsymmetryMixed() {return fAsymmetryMixed;}
36 TH2F* GetTriggerPt() {return fTriggerPt;}
37 Double_t getTriggerPt1Min() {return fTriggerPt1Min;}
38 Double_t getTriggerPt1Max() {return fTriggerPt1Max;}
39 Double_t getTriggerPt2Min() {return fTriggerPt2Min;}
40 Double_t getTriggerPt2Max() {return fTriggerPt2Max;}
41 Double_t getPtAssocMin() {return fPtAssocMin;}
42 Double_t getPtAssocMax() {return fPtAssocMax;}
44 void SetData(AliUEHist* obj) {fTwoPlusOne = obj; }
45 void SetAlpha(Double_t value) {fAlpha = value;}
46 void SetUseLeadingPt(Bool_t flag) { fUseLeadingPt = flag; }
48 AliTwoPlusOneContainer(const AliTwoPlusOneContainer &c);
49 AliTwoPlusOneContainer& operator=(const AliTwoPlusOneContainer& c);
50 virtual void Copy(TObject& c) const;
51 virtual Long64_t Merge(TCollection* list);
54 void DeleteContainers();
56 AliUEHist* fTwoPlusOne; //a 7 dim histogram which actually contains all the data
58 TH1F* fAsymmetry; //asymmetry of the same event
59 TH1F* fAsymmetryMixed; //asymmetry of the mixed event
61 TH2F* fTriggerPt; //2 dim histogramm with fine binning to describe the pT distribution of the trigger particles
63 Double_t fTriggerPt1Min; //minimum energy for the first trigger particle
64 Double_t fTriggerPt1Max; //maximum energy for the first trigger particle
65 Double_t fTriggerPt2Min; //minimum energy for the second trigger particle
66 Double_t fTriggerPt2Max; //maximum energy for the second trigger particle
67 Double_t fPtAssocMin; //minimum energy for the associated particles
68 Double_t fPtAssocMax; //maximum energy for the associated particle
69 Double_t fAlpha; //minimum energy for the first trigger particle
70 Bool_t fUseLeadingPt; //decides if all particles of a cone are used as trigger particles or only the leading particles within alpha (apply this on near and away side)
71 Int_t fMergeCount; // counts how many objects have been merged together
73 ClassDef(AliTwoPlusOneContainer, 5) // underlying event histogram container