CbmRoot
CbmBoltzmannDistribution.h
Go to the documentation of this file.
1 /*
2  *====================================================================
3  *
4  * Extraction of temperature from Boltzmann distribution
5  *
6  * Authors: V.Vovchenko
7  *
8  * e-mail :
9  *
10  *====================================================================
11  *
12  * Extraction of temperature from Boltzmann distribution
13  *
14  *====================================================================
15  */
16 
17 #ifndef _CbmBoltzmannDistribution_h_
18 #define _CbmBoltzmannDistribution_h_
19 
20 #include "CbmModelBase.h"
22 #include "TMath.h"
23 #include <algorithm>
24 #include <map>
25 #include <vector>
26 
27 class TClonesArray;
28 class CbmVertex;
29 class TDirectory;
30 class TH1F;
31 class TH2F;
32 class TGraphErrors;
33 class TSpline3;
34 class FairRootManager;
35 
37 
39 public:
40  //static const int p_sz = 8;
41  TString name;
43  Int_t recoLevel =
44  -1, // -1 - MC Tracks, 0 - Reconstructible MC Tracks, 1 - Reco Tracks with MC Data, 2 - Reco Tracks with Reco Momentum and MC Primary, 3 - Reco Tracks with Reco Momentum and Reco Primary
45  //Int_t usePID = 1, // 1 - MC, 2 - TOF
46  //Int_t trackNumber = 1,
47  Int_t iVerbose = 1,
48  TString Mode = "MC",
49  Int_t PDG = -211, // ID of particle to analyze
50  TString pname = "pi-",
51  Int_t EventStats = 1,
52  KFParticleTopoReconstructor* tr = 0,
53  Float_t ekin_ = 25.);
55 
56  virtual void ReInit(FairRootManager* fManger);
57  virtual void Init();
58  virtual void Exec();
59  virtual void Finish();
60 
61  void AddRapidityInterval(double ymin, double ymax);
62  void AddHistos();
63 
65 
66 private:
67  void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal = 0);
68 
69  Float_t ekin;
70  Float_t p0cm;
71  Float_t ycm;
72  Bool_t fUpdate;
73  Int_t fusePID;
74  Int_t fRecoLevel;
75  Int_t fTrackNumber; // 0 - test calculation, only Pions, 1 - UrQMD Au+Au
76  Int_t fEventStats;
77  Int_t events;
78 
79 
80  TString fModeName;
81  TString outfileName;
82 
83  TDirectory* histodir;
84 
85  TClonesArray* flistMCTracks;
86 
87  //Int_t events;
88 
89  static const int nHisto1D = 6; //T
91 
92  TH1F* histo1D[nHisto1D];
95 
96  TGraphErrors* grTy;
97  TGraphErrors* grdndyReco;
98 
99  TH1F* pullT;
100  std::vector<double> Ts;
101 
102 
103  double kProtonMass;
104 
105  int fPDGID;
106  double fMass;
107  std::vector<double> fYminv, fYmaxv;
108  double paramGlobal;
110  double paramLocal;
111  std::vector<double> paramLocalInterval;
115 
116 
119 
121  std::vector<BoltzmannDistribution*> modelsY;
122 };
123 
124 #endif
CbmBoltzmannDistribution::totalLocal
int totalLocal
Definition: CbmBoltzmannDistribution.h:112
CbmBoltzmannDistribution::outfileName
TString outfileName
Definition: CbmBoltzmannDistribution.h:81
CbmBoltzmannDistribution::paramLocal
double paramLocal
Definition: CbmBoltzmannDistribution.h:110
CbmBoltzmannDistribution::~CbmBoltzmannDistribution
~CbmBoltzmannDistribution()
Definition: CbmBoltzmannDistribution.cxx:339
CbmBoltzmannDistribution::flistMCTracks
TClonesArray * flistMCTracks
Definition: CbmBoltzmannDistribution.h:85
CbmBoltzmannDistribution::fusePID
Int_t fusePID
Definition: CbmBoltzmannDistribution.h:73
CbmBoltzmannDistribution::kProtonMass
double kProtonMass
Definition: CbmBoltzmannDistribution.h:103
CbmBoltzmannDistribution::modelsY
std::vector< BoltzmannDistribution * > modelsY
Definition: CbmBoltzmannDistribution.h:121
CbmBoltzmannDistribution::p0cm
Float_t p0cm
Definition: CbmBoltzmannDistribution.h:70
CbmBoltzmannDistribution::Finish
virtual void Finish()
Definition: CbmBoltzmannDistribution.cxx:501
CbmBoltzmannDistribution::totalGlobalInterval
std::vector< int > totalGlobalInterval
Definition: CbmBoltzmannDistribution.h:113
CbmBoltzmannDistribution::paramGlobal
double paramGlobal
Definition: CbmBoltzmannDistribution.h:108
CbmBoltzmannDistribution::ReInit
virtual void ReInit(FairRootManager *fManger)
Definition: CbmBoltzmannDistribution.cxx:461
CbmBoltzmannDistribution::paramLocalInterval
std::vector< double > paramLocalInterval
Definition: CbmBoltzmannDistribution.h:111
CbmBoltzmannDistribution::fYmaxv
std::vector< double > fYmaxv
Definition: CbmBoltzmannDistribution.h:107
CbmBoltzmannDistribution::Ts
std::vector< double > Ts
Definition: CbmBoltzmannDistribution.h:100
CbmBoltzmannDistribution::fYminv
std::vector< double > fYminv
Definition: CbmBoltzmannDistribution.h:107
CbmBoltzmannDistribution::totalLocalInterval
std::vector< int > totalLocalInterval
Definition: CbmBoltzmannDistribution.h:113
CbmKFTrErrMCPoints.h
CbmBoltzmannDistribution::fEventStats
Int_t fEventStats
Definition: CbmBoltzmannDistribution.h:76
CbmBoltzmannDistribution::fTrackNumber
Int_t fTrackNumber
Definition: CbmBoltzmannDistribution.h:75
CbmBoltzmannDistribution::IndexMt2
int IndexMt2
Definition: CbmBoltzmannDistribution.h:90
CbmBoltzmannDistribution::param2GlobalInterval
std::vector< double > param2GlobalInterval
Definition: CbmBoltzmannDistribution.h:109
CbmBoltzmannDistribution::grdndyReco
TGraphErrors * grdndyReco
Definition: CbmBoltzmannDistribution.h:97
CbmBoltzmannDistribution::Init
virtual void Init()
Definition: CbmBoltzmannDistribution.cxx:465
CbmModelBase.h
CbmBoltzmannDistribution::Exec
virtual void Exec()
Definition: CbmBoltzmannDistribution.cxx:469
CbmBoltzmannDistribution::CalculateAveragesInEvent
void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal=0)
Definition: CbmBoltzmannDistribution.cxx:656
CbmBoltzmannDistribution::fPDGID
int fPDGID
Definition: CbmBoltzmannDistribution.h:105
CbmBoltzmannDistribution::IndexT
int IndexT
Definition: CbmBoltzmannDistribution.h:90
CbmBoltzmannDistribution::histodir
TDirectory * histodir
Definition: CbmBoltzmannDistribution.h:83
CbmBoltzmannDistribution::fUpdate
Bool_t fUpdate
Definition: CbmBoltzmannDistribution.h:72
CbmBoltzmannDistribution::ycm
Float_t ycm
Definition: CbmBoltzmannDistribution.h:71
CbmBoltzmannDistribution::IndexModelMt2
int IndexModelMt2
Definition: CbmBoltzmannDistribution.h:90
CbmVertex
Definition: CbmVertex.h:26
CbmBoltzmannDistribution::histo1DIntervals
TH1F *** histo1DIntervals
Definition: CbmBoltzmannDistribution.h:94
CbmBoltzmannDistribution::totalEvents
int totalEvents
Definition: CbmBoltzmannDistribution.h:114
CbmBoltzmannDistribution::name
TString name
Definition: CbmBoltzmannDistribution.h:41
CbmBoltzmannDistribution::histodndy
TH1F * histodndy
Definition: CbmBoltzmannDistribution.h:93
CbmModelBase
Definition: CbmModelBase.h:25
CbmBoltzmannDistribution::modelmc
BoltzmannDistribution * modelmc
Definition: CbmBoltzmannDistribution.h:120
CbmBoltzmannDistribution::ekin
Float_t ekin
Definition: CbmBoltzmannDistribution.h:69
CbmBoltzmannDistribution::histodndymodel
TH1F * histodndymodel
Definition: CbmBoltzmannDistribution.h:93
CbmBoltzmannDistribution::AddRapidityInterval
void AddRapidityInterval(double ymin, double ymax)
Definition: CbmBoltzmannDistribution.cxx:345
CbmBoltzmannDistribution::fRecoLevel
Int_t fRecoLevel
Definition: CbmBoltzmannDistribution.h:74
CbmBoltzmannDistribution::paramGlobalInterval
std::vector< double > paramGlobalInterval
Definition: CbmBoltzmannDistribution.h:109
CbmBoltzmannDistribution::nHisto1D
static const int nHisto1D
Definition: CbmBoltzmannDistribution.h:89
CbmBoltzmannDistribution::pullT
TH1F * pullT
Definition: CbmBoltzmannDistribution.h:99
BoltzmannDistribution
Definition: BoltzmannDistribution.h:12
CbmBoltzmannDistribution::fModeName
TString fModeName
Definition: CbmBoltzmannDistribution.h:80
CbmBoltzmannDistribution::model
BoltzmannDistribution * model
Definition: CbmBoltzmannDistribution.h:120
CbmBoltzmannDistribution::IndexModelMt4Pi
int IndexModelMt4Pi
Definition: CbmBoltzmannDistribution.h:90
CbmBoltzmannDistribution::IndexMt
int IndexMt
Definition: CbmBoltzmannDistribution.h:90
CbmBoltzmannDistribution::totalGlobal
int totalGlobal
Definition: CbmBoltzmannDistribution.h:112
CbmBoltzmannDistribution
Definition: CbmBoltzmannDistribution.h:38
CbmBoltzmannDistribution::fMass
double fMass
Definition: CbmBoltzmannDistribution.h:106
CbmBoltzmannDistribution::ClassDef
ClassDef(CbmBoltzmannDistribution, 1)
CbmBoltzmannDistribution::CbmBoltzmannDistribution
CbmBoltzmannDistribution(const CbmBoltzmannDistribution &)
CbmBoltzmannDistribution::CbmBoltzmannDistribution
CbmBoltzmannDistribution(Int_t recoLevel=-1, Int_t iVerbose=1, TString Mode="MC", Int_t PDG=-211, TString pname="pi-", Int_t EventStats=1, KFParticleTopoReconstructor *tr=0, Float_t ekin_=25.)
CbmBoltzmannDistribution::operator=
CbmBoltzmannDistribution & operator=(const CbmBoltzmannDistribution &)
CbmBoltzmannDistribution::histo1D
TH1F * histo1D[nHisto1D]
Definition: CbmBoltzmannDistribution.h:92
CbmBoltzmannDistribution::grTy
TGraphErrors * grTy
Definition: CbmBoltzmannDistribution.h:96
CbmBoltzmannDistribution::AddHistos
void AddHistos()
Definition: CbmBoltzmannDistribution.cxx:360
CbmBoltzmannDistribution::IndexModelMt
int IndexModelMt
Definition: CbmBoltzmannDistribution.h:90
CbmBoltzmannDistribution::events
Int_t events
Definition: CbmBoltzmannDistribution.h:77