CbmRoot
CbmBlastWave.h
Go to the documentation of this file.
1 /*
2  *====================================================================
3  *
4  * CBM Blast Wave model analysis
5  *
6  * Authors: V.Vovchenko
7  *
8  * e-mail :
9  *
10  *====================================================================
11  *
12  * Blast Wave parameters extraction
13  *
14  *====================================================================
15  */
16 
17 #ifndef _CbmBlastWave_h_
18 #define _CbmBlastWave_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 
36 class BlastWave;
38 
39 class CbmBlastWave : public CbmModelBase {
40 public:
41  //static const int p_sz = 8;
42  TString name;
44  Int_t recoLevel =
45  -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
46  //Int_t usePID = 1, // 1 - MC, 2 - TOF
47  //Int_t trackNumber = 1,
48  Int_t iVerbose = 1,
49  TString Mode = "MC",
50  Int_t PDG = -211, // ID of particle to analyze
51  TString pname = "pi-",
52  Int_t EventStats = 1,
53  KFParticleTopoReconstructor* tr = 0,
54  Float_t ekin_ = 25.,
55  Double_t Tlong = 0.132);
56  ~CbmBlastWave();
57 
58  virtual void ReInit(FairRootManager* fManger);
59  virtual void Init();
60  virtual void Exec();
61  virtual void Finish();
62 
63  void AddRapidityInterval(double ymin, double ymax);
64  void AddHistos();
65 
67 
68 private:
69  void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal = 0);
70 
71  // Float_t fCuts[2][3];
72  Float_t ekin;
73  Float_t p0cm;
74  Float_t ycm;
75  Bool_t fUpdate;
76  Int_t fusePID;
77  Int_t fRecoLevel;
78  Int_t fTrackNumber; // 0 - test calculation, only Pions, 1 - UrQMD Au+Au
79  Int_t fEventStats;
80  Int_t events;
81 
82 
83  TString fModeName;
84  TString outfileName;
85 
86  TDirectory* histodir;
87 
88  TClonesArray* flistMCTracks;
89 
90  //Int_t events;
91 
92  static const int nHisto1D = 6; //T
94 
95  TH1F* histo1D[nHisto1D];
100 
101  TGraphErrors* grTy;
102  TGraphErrors* grdndyReco;
103 
104  TH1F* pullT;
105  std::vector<double> Ts;
106 
107 
108  double kProtonMass;
109 
110  int fPDGID;
111  double fMass;
112  std::vector<double> fYminv, fYmaxv;
113  double paramGlobal;
115  double paramLocal;
116  std::vector<double> paramLocalInterval;
119 
121 
123 
126 
129  std::vector<BlastWave*> modelsY;
130 };
131 
132 #endif
CbmBlastWave::fRecoLevel
Int_t fRecoLevel
Definition: CbmBlastWave.h:77
CbmBlastWave::modelsY
std::vector< BlastWave * > modelsY
Definition: CbmBlastWave.h:129
CbmBlastWave::model
BlastWave * model
Definition: CbmBlastWave.h:127
CbmBlastWave::paramGlobalInterval
std::vector< double > paramGlobalInterval
Definition: CbmBlastWave.h:114
CbmBlastWave::IndexModelMt2
int IndexModelMt2
Definition: CbmBlastWave.h:93
CbmBlastWave::y2Global
double y2Global
Definition: CbmBlastWave.h:120
CbmBlastWave::y2Local
double y2Local
Definition: CbmBlastWave.h:120
CbmBlastWave::IndexMt2
int IndexMt2
Definition: CbmBlastWave.h:93
CbmBlastWave
Definition: CbmBlastWave.h:39
CbmBlastWave::name
TString name
Definition: CbmBlastWave.h:42
CbmBlastWave::fusePID
Int_t fusePID
Definition: CbmBlastWave.h:76
CbmBlastWave::Init
virtual void Init()
Definition: CbmBlastWave.cxx:512
CbmBlastWave::histodndymodel
TH1F * histodndymodel
Definition: CbmBlastWave.h:96
CbmBlastWave::param2GlobalInterval
std::vector< double > param2GlobalInterval
Definition: CbmBlastWave.h:114
CbmBlastWave::events
Int_t events
Definition: CbmBlastWave.h:80
CbmBlastWave::p0cm
Float_t p0cm
Definition: CbmBlastWave.h:73
CbmBlastWave::histo1D
TH1F * histo1D[nHisto1D]
Definition: CbmBlastWave.h:95
CbmBlastWave::histo1DIntervals
TH1F *** histo1DIntervals
Definition: CbmBlastWave.h:99
CbmBlastWave::ekin
Float_t ekin
Definition: CbmBlastWave.h:72
CbmBlastWave::histodir
TDirectory * histodir
Definition: CbmBlastWave.h:86
CbmBlastWave::paramGlobal
double paramGlobal
Definition: CbmBlastWave.h:113
CbmBlastWave::totalGlobal
int totalGlobal
Definition: CbmBlastWave.h:117
CbmBlastWave::flistMCTracks
TClonesArray * flistMCTracks
Definition: CbmBlastWave.h:88
CbmBlastWave::histoeta
TH1F * histoeta
Definition: CbmBlastWave.h:97
CbmBlastWave::fYmaxv
std::vector< double > fYmaxv
Definition: CbmBlastWave.h:112
CbmBlastWave::outfileName
TString outfileName
Definition: CbmBlastWave.h:84
CbmBlastWave::pullT
TH1F * pullT
Definition: CbmBlastWave.h:104
CbmBlastWave::IndexModelMt4Pi
int IndexModelMt4Pi
Definition: CbmBlastWave.h:93
CbmBlastWave::fMass
double fMass
Definition: CbmBlastWave.h:111
CbmBlastWave::CalculateAveragesInEvent
void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal=0)
Definition: CbmBlastWave.cxx:787
CbmBlastWave::CbmBlastWave
CbmBlastWave(const CbmBlastWave &)
CbmBlastWave::Ts
std::vector< double > Ts
Definition: CbmBlastWave.h:105
CbmKFTrErrMCPoints.h
CbmBlastWave::histomult
TH1F * histomult
Definition: CbmBlastWave.h:98
CbmBlastWave::fTrackNumber
Int_t fTrackNumber
Definition: CbmBlastWave.h:78
CbmBlastWave::y4Global
double y4Global
Definition: CbmBlastWave.h:120
CbmBlastWave::totalEvents
int totalEvents
Definition: CbmBlastWave.h:122
CbmBlastWave::totalLocalInterval
std::vector< int > totalLocalInterval
Definition: CbmBlastWave.h:118
BlastWaveLongitudinal
Definition: BlastWaveLongitudinal.h:12
CbmModelBase.h
CbmBlastWave::ClassDef
ClassDef(CbmBlastWave, 1)
CbmBlastWave::operator=
CbmBlastWave & operator=(const CbmBlastWave &)
CbmBlastWave::Exec
virtual void Exec()
Definition: CbmBlastWave.cxx:516
CbmVertex
Definition: CbmVertex.h:26
CbmBlastWave::kProtonMass
double kProtonMass
Definition: CbmBlastWave.h:108
CbmBlastWave::fUpdate
Bool_t fUpdate
Definition: CbmBlastWave.h:75
CbmBlastWave::fYminv
std::vector< double > fYminv
Definition: CbmBlastWave.h:112
CbmBlastWave::modelmcL
BlastWaveLongitudinal * modelmcL
Definition: CbmBlastWave.h:128
CbmBlastWave::CbmBlastWave
CbmBlastWave(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., Double_t Tlong=0.132)
CbmBlastWave::totalLocal
int totalLocal
Definition: CbmBlastWave.h:117
CbmBlastWave::fModeName
TString fModeName
Definition: CbmBlastWave.h:83
CbmModelBase
Definition: CbmModelBase.h:25
CbmBlastWave::ycm
Float_t ycm
Definition: CbmBlastWave.h:74
CbmBlastWave::histodndymodel2
TH1F * histodndymodel2
Definition: CbmBlastWave.h:97
CbmBlastWave::paramLocal
double paramLocal
Definition: CbmBlastWave.h:115
CbmBlastWave::paramLocalInterval
std::vector< double > paramLocalInterval
Definition: CbmBlastWave.h:116
CbmBlastWave::totalGlobalInterval
std::vector< int > totalGlobalInterval
Definition: CbmBlastWave.h:118
CbmBlastWave::AddHistos
void AddHistos()
Definition: CbmBlastWave.cxx:406
CbmBlastWave::fPDGID
int fPDGID
Definition: CbmBlastWave.h:110
CbmBlastWave::~CbmBlastWave
~CbmBlastWave()
Definition: CbmBlastWave.cxx:386
CbmBlastWave::Finish
virtual void Finish()
Definition: CbmBlastWave.cxx:578
CbmBlastWave::fEventStats
Int_t fEventStats
Definition: CbmBlastWave.h:79
CbmBlastWave::ReInit
virtual void ReInit(FairRootManager *fManger)
Definition: CbmBlastWave.cxx:508
CbmBlastWave::grTy
TGraphErrors * grTy
Definition: CbmBlastWave.h:101
CbmBlastWave::modelmc
BlastWave * modelmc
Definition: CbmBlastWave.h:127
CbmBlastWave::nHisto1D
static const int nHisto1D
Definition: CbmBlastWave.h:92
CbmBlastWave::histodndy
TH1F * histodndy
Definition: CbmBlastWave.h:96
CbmBlastWave::IndexT
int IndexT
Definition: CbmBlastWave.h:93
CbmBlastWave::IndexModelMt
int IndexModelMt
Definition: CbmBlastWave.h:93
CbmBlastWave::IndexMt
int IndexMt
Definition: CbmBlastWave.h:93
CbmBlastWave::AddRapidityInterval
void AddRapidityInterval(double ymin, double ymax)
Definition: CbmBlastWave.cxx:392
CbmBlastWave::grdndyReco
TGraphErrors * grdndyReco
Definition: CbmBlastWave.h:102
CbmBlastWave::histomultmodel
TH1F * histomultmodel
Definition: CbmBlastWave.h:98
BlastWave
Definition: BlastWave.h:12
CbmBlastWave::y4Local
double y4Local
Definition: CbmBlastWave.h:120
CbmBlastWave::modelL
BlastWaveLongitudinal * modelL
Definition: CbmBlastWave.h:128