Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoConst.h
1/*
2 * FemtoConst.h
3 *
4 * Created on: 26-11-2013
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#ifndef HALFEMTOCONST_H_
11#define HALFEMTOCONST_H_
12
13#include "Array.h"
14#include "Object.h"
15#include "TString.h"
19class TVector3;
20namespace Hal {
21 namespace Femto {
22
23 inline Double_t FmToGeV() { return 5.06842372; }
24 inline Double_t FmToGeV(Double_t fm) { return fm * FmToGeV(); }
25
26 enum class EKinematics {
27 kPRF,
28 kLCMS,
29 kSH_LCMS,
30 kSH_PRF,
31 kPHIETA,
32 kPRFL
33 };
34 enum class ECFType { kOneDim, kThreeDim, kSpherical, kPhiEta, kUnkown };
35 enum class EPairType {
36 kUnknown = 100,
37 kPionPlusPionPlus = 101,
38 kPionPlusPionMinus = 102,
39 kKaonPlusKaonPlus = 103,
40 kKaonPlusKaonMinus = 4,
41
42 kProtonProton = 105,
43 kProtonAntiproton = 6,
44 kPionPlusKaonPlus = 107,
45 kPionPlusKaonMinus = 108,
46
47 kPionPlusProton = 109,
48 kPionPlusAntiproton = 110,
49 kKaonPlusProton = 111,
50 kKaonPlusAntiproton = 112,
51
52 kProtonLambda = 113,
53 kLambdaLambda = 114,
54 kKaonZeroKaonZero = 15,
55 kKaonZeroKaonZeroBar = 16,
56
57 kNeutronNeutron = 117,
58 kNeutronProton = 118,
59 kPionZeroPionZero = 19,
60 kNeutronLambda = 20,
61
62 // TPI weights only
63 kProtonSigmaPlus = 201,
64 kProtonAntiSigmaPlus = 202,
65 kProtonAntiLambda = 203,
66 kSigmaPlusSigmaPlus = 204,
67
68 kSigmaPlusAntiSigmaPlus = 205,
69 kProtonXiZero = 206,
70 kNeutronXiMinus = 207,
71 kProtonXIMInus = 208,
72
73 kNeutronXiZero = 209,
74 kProtonSigmaZero = 210,
75 kSigmaZeroSigmaZero = 211,
76 kLambdaSigmaZero = 212,
77
78 kLambdaAntiLambda = 213
79
80 };
81
82
83 } // namespace Femto
84
85 class FemtoPair;
86 class DividedHisto1D;
87 class XMLNode;
88 class FemtoWeightGenerator;
89 namespace Femto {
95 Bool_t IsPairIdentical(EPairType pt);
101 std::pair<Int_t, Int_t> PairTypeToPid(EPairType pt);
108 EPairType PidToPairType(Int_t pid1, Int_t pid2);
114 TString PairTypeToString(EPairType type);
120 EKinematics LabelToKinematics(TString label);
126 EKinematics CodeLabelToKinematics(TString label);
134 FemtoPair* MakePair(EKinematics kin, Bool_t use_fake);
140 DividedHisto1D* GetHistoFromXML(XMLNode* nod);
146 FemtoWeightGenerator* GetWeightGeneratorFromXLM(XMLNode* nod);
152 TString KinematicsToLabel(EKinematics kin);
160 TString KinematicsToAxisLabel(EKinematics kin, Int_t ax, Int_t ndim);
169 void FillRandomPair(FemtoPair& p, Int_t pid1, Int_t pid2, Double_t sigmaq = 0.1, Double_t sigmar = 1);
177 void FillRandomKinematics(FemtoPair& p, const TVector3& sum, const TVector3& diff, EKinematics kin);
183 ECFType GetCFType(TObject* obj);
187 class CorrFitGammaCalc : public Object {
188 Double_t fA2 = {0};
189 Double_t fB2 = {0};
190 Double_t fConsA = {0};
191 Double_t fConsB = {0};
192
193 public:
201 CorrFitGammaCalc(Double_t a = 0, Double_t b = 0, Double_t c = 0, Double_t d = 0) { ReInit(a, b, c, d); };
209 void ReInit(Double_t a, Double_t b, Double_t c, Double_t d);
215 Double_t Calculate(Double_t kstar) const;
216 virtual ~CorrFitGammaCalc() {};
217 ClassDef(CorrFitGammaCalc, 0)
218 };
219 } // namespace Femto
220} // namespace Hal
221
222#endif /* HALFEMTOCONST_H_ */
void ReInit(Double_t a, Double_t b, Double_t c, Double_t d)
CorrFitGammaCalc(Double_t a=0, Double_t b=0, Double_t c=0, Double_t d=0)
Definition FemtoConst.h:201
Double_t Calculate(Double_t kstar) const