Add Reaction Plane aware analysis
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoModelBPLCMSCorrFctn.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelBPLCMSCorrFctn - the class for correlation function which   ///
4 /// uses the model framework and weight generation and calculated the 3D     ///
5 /// correlation function in the Bertsh-Pratt LCMS system                     ///
6 /// Authors: Adam Kisiel, kisiel@mps.ohio-state.edu                          ///
7 ///                                                                          ///
8 ////////////////////////////////////////////////////////////////////////////////
9 #ifndef ALIFEMTOMODELBPLCMSCORRFCTN_H
10 #define ALIFEMTOMODELBPLCMSCORRFCTN_H
11
12 #include "AliFemtoCorrFctn.h"
13 #include "AliFemtoModelCorrFctn.h"
14 #include "AliFemtoPairCut.h"
15 #include "TH3D.h"
16
17 class AliFemtoModelBPLCMSCorrFctn : public AliFemtoModelCorrFctn {
18  public:
19   AliFemtoModelBPLCMSCorrFctn()  :
20     AliFemtoModelCorrFctn(),
21     fNumerator3DTrue(0),
22     fNumerator3DFake(0),
23     fDenominator3D(0),
24     fQinvHisto(0),
25     fPairCut(0),
26     fUseRPSelection(0){}
27   AliFemtoModelBPLCMSCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi);
28   AliFemtoModelBPLCMSCorrFctn(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn);
29   virtual ~AliFemtoModelBPLCMSCorrFctn();
30
31   AliFemtoModelBPLCMSCorrFctn& operator=(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn);
32
33   virtual AliFemtoString Report();
34   virtual void AddRealPair(AliFemtoPair* pair);
35   virtual void AddMixedPair(AliFemtoPair* pair);
36
37   virtual void Finish();
38
39   virtual void Write();
40   virtual TList* GetOutputList();
41
42   void SetSpecificPairCut(AliFemtoPairCut* aCut);
43   void SetUseRPSelection(unsigned short aRPSel);
44
45   virtual AliFemtoModelCorrFctn* Clone();
46
47 protected:
48   TH3D* fNumerator3DTrue;            // 3D Numerator with pairs from same event only
49   TH3D* fNumerator3DFake;            // 3D Numerator with pairs from mixed events
50   TH3D* fDenominator3D;              // 3D Denominator with the weight of 1.0
51
52   TH3D* fQinvHisto;                  // Averag qinv histogram
53
54   AliFemtoPairCut* fPairCut;    //! this is a PairCut specific to THIS CorrFctn, not the Analysis
55
56   unsigned short fUseRPSelection;  // The pair cut uses RP selection
57 #ifdef __ROOT__
58   ClassDef(AliFemtoModelBPLCMSCorrFctn, 1)
59 #endif
60 };
61
62 #endif
63