]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelWeightGenerator.cxx
f92119c0896d7e4b67121685e71f8a4db649288f
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoModelWeightGenerator.cxx
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelWeightGenerator - abstract base class for femtoscopic       ///
4 /// weight generator                                                         ///
5 /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
6 ///                                                                          ///
7 ////////////////////////////////////////////////////////////////////////////////
8 #ifdef __ROOT__
9   ClassImp(AliFemtoModelGausLCMSFreezeOutGenerator, 1)
10 #endif
11
12 #include "AliFemtoModelWeightGenerator.h"
13 #include "AliFemtoModelHiddenInfo.h"
14
15 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusPionPlus = 1;
16 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusPionMinus = 2;
17 const Int_t AliFemtoModelWeightGenerator::fgkKaonPlusKaonPlus = 3;
18 const Int_t AliFemtoModelWeightGenerator::fgkKaonPlusKaonMinus = 4;
19 const Int_t AliFemtoModelWeightGenerator::fgkProtonProton = 5;
20 const Int_t AliFemtoModelWeightGenerator::fgkProtonAntiproton = 6;
21 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusKaonPlus = 7;
22 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusKaonMinus = 8;
23 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusProton = 9;
24 const Int_t AliFemtoModelWeightGenerator::fgkPionPlusAntiproton = 10;
25 const Int_t AliFemtoModelWeightGenerator::fgkKaonPlusProton = 11;
26 const Int_t AliFemtoModelWeightGenerator::fgkKaonPlusAntiproton = 12;
27
28 //_____________________________________________
29 AliFemtoModelWeightGenerator::AliFemtoModelWeightGenerator() :
30   fPairType(0), 
31   fKStarOut(0), fKStarSide(0), fKStarLong(0), fKStar(0), 
32   fRStarOut(0), fRStarSide(0), fRStarLong(0), fRStar(0)
33 {}
34 //_____________________________________________
35 AliFemtoModelWeightGenerator::AliFemtoModelWeightGenerator(const AliFemtoModelWeightGenerator &aModel) :
36   fPairType(0), 
37   fKStarOut(0), fKStarSide(0), fKStarLong(0), fKStar(0), 
38   fRStarOut(0), fRStarSide(0), fRStarLong(0), fRStar(0)
39 {
40   fPairType = aModel.fPairType;
41 }
42 //_____________________________________________
43 AliFemtoModelWeightGenerator::~AliFemtoModelWeightGenerator(){/* no-op */}
44 //_____________________________________________
45 void     AliFemtoModelWeightGenerator::SetPairType(Int_t aPairType)
46 {
47   fPairType = aPairType;
48 }
49
50 //_____________________________________________
51 Int_t    AliFemtoModelWeightGenerator::GetPairType() const
52 {
53   return fPairType;
54 }
55
56 //_____________________________________________
57 void     AliFemtoModelWeightGenerator::SetPairTypeFromPair(AliFemtoPair *aPair)
58 {
59   AliFemtoModelHiddenInfo *inf1 = ( AliFemtoModelHiddenInfo *) aPair->Track1()->HiddenInfo();
60   AliFemtoModelHiddenInfo *inf2 = ( AliFemtoModelHiddenInfo *) aPair->Track2()->HiddenInfo();
61
62   const Int_t ktPid1 = inf1->GetPDGPid();
63   const Int_t ktPid2 = inf2->GetPDGPid();
64
65   if      (((ktPid1 ==   211) && (ktPid2 ==   211)) ||
66            ((ktPid1 ==  -211) && (ktPid2 ==  -211)))
67     fPairType = fgkPionPlusPionPlus;
68   else if (((ktPid1 ==  -211) && (ktPid2 ==   211)) ||
69            ((ktPid1 ==   211) && (ktPid2 ==  -211)))
70     fPairType = fgkPionPlusPionMinus;
71   else if (((ktPid1 ==   321) && (ktPid2 ==   321)) ||
72            ((ktPid1 ==  -321) && (ktPid2 ==  -321)))
73     fPairType = fgkKaonPlusKaonPlus;
74   else if (((ktPid1 ==  -321) && (ktPid2 ==   321)) ||
75            ((ktPid1 ==   321) && (ktPid2 ==  -321)))
76     fPairType = fgkKaonPlusKaonMinus;
77   else if (((ktPid1 ==  2212) && (ktPid2 ==  2212)) ||
78            ((ktPid1 == -2212) && (ktPid2 == -2212)))
79     fPairType = fgkProtonProton;
80   else if (((ktPid1 == -2212) && (ktPid2 ==  2212)) ||
81            ((ktPid1 ==  2212) && (ktPid2 == -2212)))
82     fPairType = fgkProtonAntiproton;
83   else if (((ktPid1 ==   211) && (ktPid2 ==   321)) ||
84            ((ktPid1 ==  -211) && (ktPid2 ==  -321)))
85     fPairType = fgkPionPlusKaonPlus;
86   else if (((ktPid1 ==  -211) && (ktPid2 ==   321)) ||
87            ((ktPid1 ==   211) && (ktPid2 ==  -321)))
88     fPairType = fgkPionPlusKaonMinus;
89   else if (((ktPid1 ==   211) && (ktPid2 ==  2212)) ||
90            ((ktPid1 ==  -211) && (ktPid2 == -2212)))
91     fPairType = fgkPionPlusProton;
92   else if (((ktPid1 ==  -211) && (ktPid2 ==  2212)) ||
93            ((ktPid1 ==   211) && (ktPid2 == -2212)))
94     fPairType = fgkPionPlusAntiproton;
95   else if (((ktPid1 ==   321) && (ktPid2 ==  2212)) ||
96            ((ktPid1 ==  -321) && (ktPid2 == -2212)))
97     fPairType = fgkKaonPlusProton;
98   else if (((ktPid1 ==  -321) && (ktPid2 ==  2212)) ||
99            ((ktPid1 ==   321) && (ktPid2 == -2212)))
100     fPairType = fgkKaonPlusAntiproton;
101 }
102
103 //_____________________________________________
104 AliFemtoModelWeightGenerator* AliFemtoModelWeightGenerator::Clone() const
105 {
106   return 0;
107 }