Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Model / AliFemtoModelCorrFctn.h
CommitLineData
75c432a7 1////////////////////////////////////////////////////////////////////////////////
2/// ///
3/// AliFemtoModelCorrFctn - the base class for correlation function which ///
4/// uses the model framework and weight generation ///
5/// ///
6////////////////////////////////////////////////////////////////////////////////
7#ifndef AliFemtoModelCorrFctn_hh
8#define AliFemtoModelCorrFctn_hh
9
10#include "Base/AliFemtoCorrFctn.h"
11#include "Infrastructure/AliFemtoPair.h"
12#include "AliFemtoModelManager.h"
13
14class AliFemtoModelCorrFctn: public AliFemtoCorrFctn {
15
16public:
17 AliFemtoModelCorrFctn();
18 AliFemtoModelCorrFctn(const char *title, Int_t aNbins, Double_t aQinvLo, Double_t aQinvHi);
19 AliFemtoModelCorrFctn(const AliFemtoModelCorrFctn& aCorrFctn);
20 virtual ~AliFemtoModelCorrFctn();
21
22 AliFemtoModelCorrFctn& operator=(const AliFemtoModelCorrFctn& aCorrFctn);
23
24 virtual void ConnectToManager(AliFemtoModelManager *aManager);
25
26 virtual AliFemtoString Report();
27
28 virtual void AddRealPair(AliFemtoPair* aPair);
29 virtual void AddMixedPair(AliFemtoPair* aPir);
30
31 virtual void EventBegin(const AliFemtoEvent* aEvent);
32 virtual void EventEnd(const AliFemtoEvent* aEvent);
33 virtual void Finish();
34
35 virtual void Write();
36
37 virtual AliFemtoModelCorrFctn* Clone();
38
39 AliFemtoBaseAnalysis* HbtAnalysis(){return fyAnalysis;};
40 void SetAnalysis(AliFemtoBaseAnalysis* aAnalysis);
41
42protected:
43 AliFemtoModelManager *fManager; // Link back to the managet to get the weights
44
45 TH1D *fNumeratorTrue; // Numerator made with pairs from the same event
46 TH1D *fNumeratorFake; // Numerator made with pairs from different events (mixed pairs)
47 TH1D *fDenominator; // Denominator made with mixed pairs
48
49private:
50
51#ifdef __ROOT__
52 ClassDef(AliFemtoModelCorrFctn, 1)
53#endif
54};
55
56#endif