Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoPairKinematics.h
1/*
2 * FemtoPair.h
3 *
4 * Created on: 30-08-2013
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#ifndef HALFEMTOPAIRKINEMATICS_H_
11#define HALFEMTOPAIRKINEMATICS_H_
12
13#include "FemtoConst.h"
14#include "FemtoPair.h"
15
16#include <TMath.h>
17#include <TString.h>
18
19
23namespace Hal {
24 class FemtoPairPRF : public FemtoPair {
25 public:
26 FemtoPairPRF(Bool_t use_mc = kFALSE) : FemtoPair(use_mc) {};
27 void Compute();
28 void Compute_Rotated();
29 void Compute_Hemisphere();
30 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kPRF; };
31 TString GetTags() const { return "prf"; };
32 virtual FemtoPair* MakeCopy() const { return new FemtoPairPRF(*this); };
33 virtual ~FemtoPairPRF() {};
34 ClassDef(FemtoPairPRF, 1)
35 };
36
40 class FemtoPair_SH : public FemtoPair {
41 protected:
45 void ConvertToSh();
46
47 public:
48 FemtoPair_SH(Bool_t use_mc = kFALSE) : FemtoPair(use_mc) {};
49 // virtual FemtoPair* MakeCopy() const { return new FemtoPair_SH(*this); };
50 virtual ~FemtoPair_SH() {};
51 ClassDef(FemtoPair_SH, 1)
52 };
53
57 class FemtoPairLCMS : public FemtoPair {
58 public:
59 FemtoPairLCMS(Bool_t use_mc = kFALSE) : FemtoPair(use_mc) {}
60 void Compute();
61 void Compute_Rotated();
62 void Compute_Hemisphere();
63 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kLCMS; };
64 TString GetTags() const { return "lcms"; };
65 virtual FemtoPair* MakeCopy() const { return new FemtoPairLCMS(*this); };
66 virtual ~FemtoPairLCMS() {};
67 ClassDef(FemtoPairLCMS, 1)
68 };
69
75 public:
76 FemtoPairPRF_SH(Bool_t use_mc = kFALSE) : FemtoPair_SH(use_mc) {}
77 void Compute();
78 void Compute_Rotated();
79 void Compute_Hemisphere();
80 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kSH_PRF; };
81 TString GetTags() const { return "prf+sh"; };
82 virtual FemtoPair* MakeCopy() const { return new FemtoPairPRF_SH(*this); };
83 virtual ~FemtoPairPRF_SH() {};
84 ClassDef(FemtoPairPRF_SH, 1)
85 };
86
92 public:
93 FemtoPairLCMS_SH(Bool_t use_mc = kFALSE) : FemtoPair_SH(use_mc) {}
94 void Compute();
95 void Compute_Rotated();
96 void Compute_Hemisphere();
97 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kSH_LCMS; };
98 TString GetTags() const { return "lcms+prf"; };
99 virtual FemtoPair* MakeCopy() const { return new FemtoPairLCMS_SH(*this); };
100 virtual ~FemtoPairLCMS_SH() {};
101 ClassDef(FemtoPairLCMS_SH, 1)
102 };
103
108 Double_t fPhiMin, fPhiMax;
109 Double_t fPI2;
110
111 public:
116 FemtoPairDPhiDEta(Bool_t use_mc = kFALSE, Double_t phi_min = -TMath::Pi() * 0.5);
117 void Compute();
118 void Compute_Rotated();
119 void Compute_Hemisphere();
120 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kPHIETA; };
121 TString GetTags() const { return "phieta"; };
122 virtual FemtoPair* MakeCopy() const { return new FemtoPairDPhiDEta(*this); };
124 ClassDef(FemtoPairDPhiDEta, 1)
125 };
126
131 class FemtoPairPRFL : public FemtoPair {
132 public:
133 FemtoPairPRFL(Bool_t use_mc = kFALSE) : FemtoPair(use_mc) {};
134 void Compute();
135 void Compute_Rotated();
136 void Compute_Hemisphere();
137 Femto::EKinematics GetFrame() const { return Femto::EKinematics::kPRFL; };
138 TString GetTags() const { return "prfl"; };
139 virtual FemtoPair* MakeCopy() const { return new FemtoPairPRFL(*this); };
140 virtual ~FemtoPairPRFL() {};
141 ClassDef(FemtoPairPRFL, 1)
142 };
143} // namespace Hal
144#endif /* HALFEMTOKINEMATICS_H_ */
FemtoPairDPhiDEta(Bool_t use_mc=kFALSE, Double_t phi_min=-TMath::Pi() *0.5)
FemtoPair(Bool_t enable_fake=kFALSE)
Definition FemtoPair.cxx:27