]>
Commit | Line | Data |
---|---|---|
d0e92d9a | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | /// /// | |
3 | /// AliFemtoModelWeightGenerator - abstract base class for femtoscopic /// | |
4 | /// weight generator /// | |
5 | /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu /// | |
6 | /// /// | |
7 | //////////////////////////////////////////////////////////////////////////////// | |
ea77036b | 8 | #ifndef ALIFEMTOMODELWEIGHTGENERATOR_H |
9 | #define ALIFEMTOMODELWEIGHTGENERATOR_H | |
d0e92d9a | 10 | |
11 | #include "TRandom2.h" | |
ea77036b | 12 | class AliFemtoPair; |
d0e92d9a | 13 | |
14 | class AliFemtoModelWeightGenerator | |
15 | { | |
16 | public: | |
17 | AliFemtoModelWeightGenerator(); | |
18 | AliFemtoModelWeightGenerator(const AliFemtoModelWeightGenerator &aModel); | |
19 | virtual ~AliFemtoModelWeightGenerator(); | |
20 | virtual Double_t GenerateWeight(AliFemtoPair *aPair) = 0; | |
21 | ||
22 | virtual void SetPairType(Int_t aPairType); | |
23 | virtual void SetPairTypeFromPair(AliFemtoPair *aPair); | |
24 | virtual Int_t GetPairType() const; | |
0b3bd1ac | 25 | virtual Int_t GetPairTypeFromPair(AliFemtoPair *aPair); |
d0e92d9a | 26 | |
27 | virtual Double_t GetKStar() const; | |
28 | virtual Double_t GetKStarOut() const; | |
29 | virtual Double_t GetKStarSide() const; | |
30 | virtual Double_t GetKStarLong() const; | |
31 | virtual Double_t GetRStar() const; | |
32 | virtual Double_t GetRStarOut() const; | |
33 | virtual Double_t GetRStarSide() const; | |
34 | virtual Double_t GetRStarLong() const; | |
35 | ||
36 | virtual AliFemtoModelWeightGenerator* Clone() const; | |
37 | ||
2371ba23 | 38 | static Int_t PionPlusPionPlus(); |
39 | static Int_t PionPlusPionMinus(); | |
40 | static Int_t KaonPlusKaonPlus(); | |
41 | static Int_t KaonPlusKaonMinus(); | |
42 | static Int_t ProtonProton(); | |
43 | static Int_t ProtonAntiproton(); | |
44 | static Int_t PionPlusKaonPlus(); | |
45 | static Int_t PionPlusKaonMinus(); | |
46 | static Int_t PionPlusProton(); | |
47 | static Int_t PionPlusAntiproton(); | |
48 | static Int_t KaonPlusProton(); | |
49 | static Int_t KaonPlusAntiproton(); | |
0b3bd1ac | 50 | static Int_t PairTypeNone(); |
2371ba23 | 51 | |
52 | protected: | |
0b3bd1ac | 53 | static const Int_t fgkPairTypeNone; // no pair type set - read from model |
d0e92d9a | 54 | static const Int_t fgkPionPlusPionPlus; // identical pion pair |
55 | static const Int_t fgkPionPlusPionMinus; // non-identical pion pair | |
56 | static const Int_t fgkKaonPlusKaonPlus; // identical kaon pair | |
57 | static const Int_t fgkKaonPlusKaonMinus; // non-identical kaon pair | |
58 | static const Int_t fgkProtonProton; // identical proton pair | |
59 | static const Int_t fgkProtonAntiproton; // non-identical proton pair | |
60 | static const Int_t fgkPionPlusKaonPlus; // same-charge pion kaon pair | |
61 | static const Int_t fgkPionPlusKaonMinus; // opposite-charge pion kaon pair | |
62 | static const Int_t fgkPionPlusProton; // same-charge pion proton pair | |
63 | static const Int_t fgkPionPlusAntiproton;// opposite-chare pion proton pair | |
64 | static const Int_t fgkKaonPlusProton; // same-charge kaon proton pair | |
65 | static const Int_t fgkKaonPlusAntiproton;// opposite-charge kaon proton pair | |
66 | ||
ea77036b | 67 | Int_t fPairType; // Type of the pair for which the calculation is done |
d0e92d9a | 68 | |
69 | Double_t fKStarOut; // relative momentum out component in PRF | |
70 | Double_t fKStarSide; // relative momentum side component in PRF | |
71 | Double_t fKStarLong; // relative momentum long component in PRF | |
72 | Double_t fKStar; // relative momentum magnitude | |
73 | ||
74 | Double_t fRStarOut; // relative separation out component in PRF | |
75 | Double_t fRStarSide; // relative separation side component in PRF | |
76 | Double_t fRStarLong; // relative separation long component in PRF | |
77 | Double_t fRStar; // relative separation magnitude | |
78 | private: | |
79 | ||
80 | #ifdef __ROOT__ | |
81 | ClassDef(AliFemtoModelWeightGenerator, 1) | |
82 | #endif | |
83 | ||
84 | }; | |
85 | ||
86 | inline Double_t AliFemtoModelWeightGenerator::GetKStar() const { return fKStar; } | |
87 | inline Double_t AliFemtoModelWeightGenerator::GetKStarOut() const { return fKStarOut; } | |
88 | inline Double_t AliFemtoModelWeightGenerator::GetKStarSide() const { return fKStarSide; } | |
89 | inline Double_t AliFemtoModelWeightGenerator::GetKStarLong() const { return fKStarLong; } | |
90 | inline Double_t AliFemtoModelWeightGenerator::GetRStar() const { return fRStar; } | |
91 | inline Double_t AliFemtoModelWeightGenerator::GetRStarOut() const { return fRStarOut; } | |
92 | inline Double_t AliFemtoModelWeightGenerator::GetRStarSide() const { return fRStarSide; } | |
93 | inline Double_t AliFemtoModelWeightGenerator::GetRStarLong() const { return fRStarLong; } | |
94 | ||
0b3bd1ac | 95 | inline Int_t AliFemtoModelWeightGenerator::PairTypeNone() { return fgkPairTypeNone; } |
2371ba23 | 96 | inline Int_t AliFemtoModelWeightGenerator::PionPlusPionPlus() { return fgkPionPlusPionPlus; } |
97 | inline Int_t AliFemtoModelWeightGenerator::PionPlusPionMinus() { return fgkPionPlusPionMinus; } | |
98 | inline Int_t AliFemtoModelWeightGenerator::KaonPlusKaonPlus() { return fgkKaonPlusKaonPlus; } | |
99 | inline Int_t AliFemtoModelWeightGenerator::KaonPlusKaonMinus() { return fgkKaonPlusKaonMinus; } | |
100 | inline Int_t AliFemtoModelWeightGenerator::ProtonProton() { return fgkProtonProton; } | |
101 | inline Int_t AliFemtoModelWeightGenerator::ProtonAntiproton() { return fgkProtonAntiproton; } | |
102 | inline Int_t AliFemtoModelWeightGenerator::PionPlusKaonPlus() { return fgkPionPlusKaonPlus; } | |
103 | inline Int_t AliFemtoModelWeightGenerator::PionPlusKaonMinus() { return fgkPionPlusKaonMinus; } | |
104 | inline Int_t AliFemtoModelWeightGenerator::PionPlusProton() { return fgkPionPlusProton; } | |
105 | inline Int_t AliFemtoModelWeightGenerator::PionPlusAntiproton() { return fgkPionPlusAntiproton; } | |
106 | inline Int_t AliFemtoModelWeightGenerator::KaonPlusProton() { return fgkKaonPlusProton; } | |
107 | inline Int_t AliFemtoModelWeightGenerator::KaonPlusAntiproton() { return fgkKaonPlusAntiproton; } | |
d0e92d9a | 108 | |
109 | #endif | |
110 | ||
111 |