CbmRoot
CbmMultiscatteringModel.h
Go to the documentation of this file.
1 /*
2  *====================================================================
3  *
4  * CBM Multiscattering Model
5  *
6  * Authors: V.Vovchenko
7  *
8  * e-mail :
9  *
10  *====================================================================
11  *
12  * Multiscattering model parameter extraction, works well only for 4-pi MC data atm
13  *
14  *====================================================================
15  */
16 
17 #ifndef _CbmMultiscatteringModel_h_
18 #define _CbmMultiscatteringModel_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;
42  Int_t recoLevel =
43  -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
44  //Int_t usePID = 1, // 1 - MC, 2 - TOF
45  //Int_t trackNumber = 1,
46  Int_t iVerbose = 1,
47  TString Mode = "MC",
48  Int_t EventStats = 1,
49  KFParticleTopoReconstructor* tr = 0,
50  Float_t ekin_ = 25.);
52 
53  virtual void ReInit(FairRootManager* fManger);
54  virtual void Init();
55  virtual void Exec();
56  virtual void Finish();
57 
59 
60 private:
61  void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal = 0);
62 
63  Float_t ekin;
64  Float_t p0cm;
65  Float_t ycm;
66  Bool_t fUpdate;
67  Int_t fusePID;
68  Int_t fRecoLevel;
69  Int_t fTrackNumber; // 0 - test calculation, only Pions, 1 - UrQMD Au+Au
70  Int_t fEventStats;
71  Int_t events;
72 
73 
74  TString fModeName;
75  TString outfileName;
76 
77  TDirectory* histodir;
78 
79  TClonesArray* flistMCTracks;
80 
81  static const int nHisto1D = 9; //sigt, sigz, qz, pt, pz, dndy
84 
85  TH1F* histo1D[nHisto1D];
86 
87  static const int nHisto2D = 2; //y-pt
89 
90  TH2F* histo2D[nHisto2D];
91 
93  std::vector<double> sigts, sigzs, qzs;
94 
95  int PPDG;
96  std::vector<double> paramsGlobal, paramsLocal;
98 
99  double kProtonMass;
100 
101 
104 
106 };
107 
108 #endif
CbmMultiscatteringModel::IndexPt
int IndexPt
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::histo2D
TH2F * histo2D[nHisto2D]
Definition: CbmMultiscatteringModel.h:90
CbmMultiscatteringModel::IndexModelY
int IndexModelY
Definition: CbmMultiscatteringModel.h:83
CbmMultiscatteringModel::CalculateAveragesInEvent
void CalculateAveragesInEvent(int RecoLevel, bool UpdateGlobal=0)
Definition: CbmMultiscatteringModel.cxx:383
CbmMultiscatteringModel::ekin
Float_t ekin
Definition: CbmMultiscatteringModel.h:63
CbmMultiscatteringModel::sigts
std::vector< double > sigts
Definition: CbmMultiscatteringModel.h:93
CbmMultiscatteringModel::IndexPz
int IndexPz
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::paramsLocal
std::vector< double > paramsLocal
Definition: CbmMultiscatteringModel.h:96
CbmMultiscatteringModel::pullsigt
TH1F * pullsigt
Definition: CbmMultiscatteringModel.h:92
CbmMultiscatteringModel::IndexSigt
int IndexSigt
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::histo1D
TH1F * histo1D[nHisto1D]
Definition: CbmMultiscatteringModel.h:85
CbmMultiscatteringModel
Definition: CbmMultiscatteringModel.h:38
CbmMultiscatteringModel::paramsGlobal
std::vector< double > paramsGlobal
Definition: CbmMultiscatteringModel.h:96
CbmMultiscatteringModel::totalLocal
int totalLocal
Definition: CbmMultiscatteringModel.h:97
CbmMultiscatteringModel::Finish
virtual void Finish()
Definition: CbmMultiscatteringModel.cxx:326
CbmMultiscatteringModel::fusePID
Int_t fusePID
Definition: CbmMultiscatteringModel.h:67
CbmMultiscatteringModel::totalGlobal
int totalGlobal
Definition: CbmMultiscatteringModel.h:97
CbmMultiscatteringModel::CbmMultiscatteringModel
CbmMultiscatteringModel(const CbmMultiscatteringModel &)
CbmMultiscatteringModel::IndexY
int IndexY
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::kProtonMass
double kProtonMass
Definition: CbmMultiscatteringModel.h:99
CbmKFTrErrMCPoints.h
CbmMultiscatteringModel::ycm
Float_t ycm
Definition: CbmMultiscatteringModel.h:65
CbmMultiscatteringModel::flistMCTracks
TClonesArray * flistMCTracks
Definition: CbmMultiscatteringModel.h:79
CbmMultiscatteringModel::IndexModelYPt
int IndexModelYPt
Definition: CbmMultiscatteringModel.h:88
CbmModelBase.h
CbmMultiscatteringModel::nHisto1D
static const int nHisto1D
Definition: CbmMultiscatteringModel.h:81
CbmMultiscatteringModel::operator=
CbmMultiscatteringModel & operator=(const CbmMultiscatteringModel &)
CbmMultiscatteringModel::IndexModelPt
int IndexModelPt
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::sigzs
std::vector< double > sigzs
Definition: CbmMultiscatteringModel.h:93
CbmMultiscatteringModel::fRecoLevel
Int_t fRecoLevel
Definition: CbmMultiscatteringModel.h:68
CbmMultiscatteringModel::IndexModelPz
int IndexModelPz
Definition: CbmMultiscatteringModel.h:83
CbmVertex
Definition: CbmVertex.h:26
CbmMultiscatteringModel::pullqz
TH1F * pullqz
Definition: CbmMultiscatteringModel.h:92
CbmMultiscatteringModel::IndexYPt
int IndexYPt
Definition: CbmMultiscatteringModel.h:88
CbmMultiscatteringModel::~CbmMultiscatteringModel
~CbmMultiscatteringModel()
Definition: CbmMultiscatteringModel.cxx:279
CbmMultiscatteringModel::p0cm
Float_t p0cm
Definition: CbmMultiscatteringModel.h:64
CbmModelBase
Definition: CbmModelBase.h:25
CbmMultiscatteringModel::CbmMultiscatteringModel
CbmMultiscatteringModel(Int_t recoLevel=-1, Int_t iVerbose=1, TString Mode="MC", Int_t EventStats=1, KFParticleTopoReconstructor *tr=0, Float_t ekin_=25.)
CbmMultiscatteringModel::ClassDef
ClassDef(CbmMultiscatteringModel, 1)
CbmMultiscatteringModel::fModeName
TString fModeName
Definition: CbmMultiscatteringModel.h:74
CbmMultiscatteringModel::fUpdate
Bool_t fUpdate
Definition: CbmMultiscatteringModel.h:66
CbmMultiscatteringModel::nHisto2D
static const int nHisto2D
Definition: CbmMultiscatteringModel.h:87
CbmMultiscatteringModel::Exec
virtual void Exec()
Definition: CbmMultiscatteringModel.cxx:291
CbmMultiscatteringModel::fEventStats
Int_t fEventStats
Definition: CbmMultiscatteringModel.h:70
CbmMultiscatteringModel::fTrackNumber
Int_t fTrackNumber
Definition: CbmMultiscatteringModel.h:69
CbmMultiscatteringModel::pullsigz
TH1F * pullsigz
Definition: CbmMultiscatteringModel.h:92
CbmMultiscatteringModel::PPDG
int PPDG
Definition: CbmMultiscatteringModel.h:95
CbmMultiscatteringModel::histodir
TDirectory * histodir
Definition: CbmMultiscatteringModel.h:77
CbmMultiscatteringModel::Init
virtual void Init()
Definition: CbmMultiscatteringModel.cxx:287
CbmMultiscatteringModel::outfileName
TString outfileName
Definition: CbmMultiscatteringModel.h:75
CbmMultiscatteringModel::IndexSigz
int IndexSigz
Definition: CbmMultiscatteringModel.h:82
CbmMultiscatteringModel::model
MultiscatteringModel * model
Definition: CbmMultiscatteringModel.h:105
CbmMultiscatteringModel::qzs
std::vector< double > qzs
Definition: CbmMultiscatteringModel.h:93
CbmMultiscatteringModel::events
Int_t events
Definition: CbmMultiscatteringModel.h:71
CbmMultiscatteringModel::ReInit
virtual void ReInit(FairRootManager *fManger)
Definition: CbmMultiscatteringModel.cxx:283
CbmMultiscatteringModel::IndexQz
int IndexQz
Definition: CbmMultiscatteringModel.h:82
MultiscatteringModel
Definition: MultiscatteringModel.h:10