KaliVeda
Toolkit for HIC analysis
KVReactionPlaneEstimator.h
1 #ifndef __KVREACTIONPLANEESTIMATOR_H
2 #define __KVREACTIONPLANEESTIMATOR_H
3 
4 #include "KVVGVectorSum.h"
5 
54 
60  double fProjCMRapidity{0};// rapidity of projectile in CM
61 
62  void init();
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:
80  {
81  init();
82  }
84  {
85  init();
86  }
87 
89 
91  {
94  }
95  TVector3 GetQ() const
96  {
99  }
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
int Int_t
ROOT::R::TRInterface & r
char Char_t
double Double_t
#define ClassDef(name, id)
char name[80]
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Estimate of reaction plane orientation using transverse momentum method of Danielewicz & Odyniec.
void fill(const KVNucleus *n)
TVector3 GetQForParticle(const KVNucleus *n)
KVReactionPlaneEstimator(const Char_t *name)
Double_t getvalue_int(Int_t) const
std::function< double(const KVNucleus *)> weight_function
void Add(const TVector3 &obj)
Definition: KVVGObjectSum.h:29
const TVector3 & GetSumObject() const
Definition: KVVGObjectSum.h:57
Global variable calculating sum of 3-dimensional vectors.
Definition: KVVGVectorSum.h:26
const char * GetName() const override
virtual void Error(const char *method, const char *msgfmt,...) const
const Int_t n