KaliVeda
1.14/2
Toolkit for HIC analysis
KVReactionPlaneEstimator.h
1
#ifndef __KVREACTIONPLANEESTIMATOR_H
2
#define __KVREACTIONPLANEESTIMATOR_H
3
4
#include "KVVGVectorSum.h"
5
54
59
class
KVReactionPlaneEstimator
:
public
KVVGVectorSum
{
60
double
fProjCMRapidity
{0};
// rapidity of projectile in CM
61
62
void
init
();
63
Double_t
getvalue_int
(Int_t)
const
;
64
std::function<double(
const
KVNucleus
*)>
weight_function
= [&](
const
KVNucleus
* n)
65
{
69
auto
rapidity = n->Rapidity() /
fProjCMRapidity
;
70
if
(rapidity > 0.3)
return
1.0;
71
else
if
(rapidity < -0.3)
return
-1.0;
72
return
0.0;
73
};
74
void
fill
(
const
KVNucleus
* n)
75
{
76
Add
(
weight_function
(n) * n->
GetTransverseMomentum
());
77
}
78
public
:
79
KVReactionPlaneEstimator
() :
KVVGVectorSum
()
80
{
81
init
();
82
}
83
KVReactionPlaneEstimator
(
const
Char_t* name) :
KVVGVectorSum
(name)
84
{
85
init
();
86
}
87
88
virtual
~KVReactionPlaneEstimator
() {}
89
90
void
SetNormalization
(Double_t r)
91
{
93
fProjCMRapidity
= r;
94
}
95
TVector3
GetQ
()
const
96
{
98
return
KVVGVectorSum::GetSumObject
();
99
}
100
TVector3
GetQForParticle
(
const
KVNucleus
* n);
101
static
TF1*
GetDeltaPhiRFitFunction
();
102
103
void
Init
()
104
{
106
107
if
(
fProjCMRapidity
== 0)
108
Error(
"Init"
,
"Projectile CM rapidity not set for this variable: %s. Use method SetNormalization() before calculating."
,
109
GetName());
110
}
111
112
ClassDef(
KVReactionPlaneEstimator
, 1)
//Calculates the transverse momentum Q vector of Danielewicz & Odyniec
113
};
114
115
#endif
KVNucleus
Description of properties and kinematics of atomic nuclei.
Definition:
KVNucleus.h:126
KVParticle::GetTransverseMomentum
TVector3 GetTransverseMomentum() const
Definition:
KVParticle.h:608
KVReactionPlaneEstimator
Estimate of reaction plane orientation using transverse momentum method of Danielewicz & Odyniec.
Definition:
KVReactionPlaneEstimator.h:59
KVReactionPlaneEstimator::GetDeltaPhiRFitFunction
static TF1 * GetDeltaPhiRFitFunction()
Definition:
KVReactionPlaneEstimator.cpp:163
KVReactionPlaneEstimator::fill
void fill(const KVNucleus *n)
Definition:
KVReactionPlaneEstimator.h:74
KVReactionPlaneEstimator::SetNormalization
void SetNormalization(Double_t r)
Definition:
KVReactionPlaneEstimator.h:90
KVReactionPlaneEstimator::KVReactionPlaneEstimator
KVReactionPlaneEstimator()
Definition:
KVReactionPlaneEstimator.h:79
KVReactionPlaneEstimator::Init
void Init()
Definition:
KVReactionPlaneEstimator.h:103
KVReactionPlaneEstimator::fProjCMRapidity
double fProjCMRapidity
Definition:
KVReactionPlaneEstimator.h:60
KVReactionPlaneEstimator::GetQ
TVector3 GetQ() const
Definition:
KVReactionPlaneEstimator.h:95
KVReactionPlaneEstimator::GetQForParticle
TVector3 GetQForParticle(const KVNucleus *n)
Definition:
KVReactionPlaneEstimator.cpp:87
KVReactionPlaneEstimator::KVReactionPlaneEstimator
KVReactionPlaneEstimator(const Char_t *name)
Definition:
KVReactionPlaneEstimator.h:83
KVReactionPlaneEstimator::getvalue_int
Double_t getvalue_int(Int_t) const
Definition:
KVReactionPlaneEstimator.cpp:53
KVReactionPlaneEstimator::weight_function
std::function< double(const KVNucleus *)> weight_function
Definition:
KVReactionPlaneEstimator.h:64
KVReactionPlaneEstimator::init
void init()
Definition:
KVReactionPlaneEstimator.cpp:18
KVReactionPlaneEstimator::~KVReactionPlaneEstimator
virtual ~KVReactionPlaneEstimator()
Definition:
KVReactionPlaneEstimator.h:88
KVVGObjectSum< TVector3 >::Add
void Add(const TVector3 &obj)
Definition:
KVVGObjectSum.h:29
KVVGObjectSum< TVector3 >::GetSumObject
const TVector3 & GetSumObject() const
Definition:
KVVGObjectSum.h:57
KVVGVectorSum
Global variable calculating sum of 3-dimensional vectors.
Definition:
KVVGVectorSum.h:26
kaliveda.doxygen
KVMultiDet
globvars
KVReactionPlaneEstimator.h
Generated on Tue Apr 1 2025 15:24:32 for KaliVeda by
1.9.1