PandaRoot
BSEmcErrorMatrixCalculation.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // Description:
3 // Class BSEmcErrorMatrixCalculation
4 // Calculate Error Matrix for the given BSEmcRecoHit
5 // with parametrization defined by the given parameter BSEmcErrorCalculationPar
6 //
7 //------------------------------------------------------------------------
8 
9 //#pragma once
10 #ifndef BSEMCERRORMATRIXCALCULATION_HH
11 #define BSEMCERRORMATRIXCALCULATION_HH
12 
13 #include <cstdlib>
14 
15 #include "RtypesCore.h"
16 #include "TMatrixD.h"
17 #include "TMatrixDfwd.h"
18 #include "TString.h"
19 
20 #include "BSEmcRecoHit.h"
21 
23 class BSEmcRecoHit;
24 
36  public:
37  // Constructors
39  // Destructor
41 
43 
44  // Error Matrix for Cluster
45  // 4x4 matrix in E, theta, phi, R
46  TMatrixD CalculateErrorMatrix(const BSEmcRecoHit *t_recoHit) const;
47 
48  // 4x4 matrix in (px, py, pz, E)
49  TMatrixD Get4MomentumErrorMatrix(const BSEmcRecoHit *t_recoHit) const;
50 
51  // 7x7 matrix in (x, y, z, px, py, pz, E)
52  TMatrixD GetErrorP7(const BSEmcRecoHit *t_recoHit) const;
53 
54  protected:
55  Double_t fScaleFactor{-1};
56  Double_t fMinEnergyCutOff{-1};
57  Double_t fMaxEnergyCutOff{-1};
58  Double_t fDetectorPosition{-1};
59 
60  Double_t fEnergyParA{-1};
61  Double_t fEnergyPower{-1};
62  Double_t fEnergyConst{-1};
63  Double_t fEnergyQuadr{-1};
64  Double_t fPosition1ParA{-1};
65  Double_t fPosition1Power{-1};
66  Double_t fPosition1Const{-1};
67  Double_t fPosition2ParA{-1};
68  Double_t fPosition2Power{-1};
69  Double_t fPosition2Const{-1};
70 
71  virtual TMatrixD GetTransformationMatrix(const BSEmcRecoHit *t_recoHit) const;
72  virtual Double_t GetEnergyError(Double_t t_ceiledenergy, Double_t t_recoHitEnergy) const;
73  virtual Double_t GetPosition1Error(Double_t t_energy) const;
74  virtual Double_t GetPosition2Error(Double_t t_energy) const;
75 
76  private:
78  BSEmcErrorMatrixCalculation &operator=(const BSEmcErrorMatrixCalculation & /*unused*/) { return *this; };
79 
80  // helper function to convert error matrix
81  // copied from BbrGeom/BbrError.cc
82  TMatrixD SymmetricMultiplication(const TMatrixD &t_mat, const TMatrixD &t_m1) const;
83 };
84 
85 #endif /*BSEMCERRORMATRIXCALCULATION_HH*/
TMatrixD GetErrorP7(const BSEmcRecoHit *t_recoHit) const
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:31
virtual Double_t GetPosition2Error(Double_t t_energy) const
TMatrixD CalculateErrorMatrix(const BSEmcRecoHit *t_recoHit) const
virtual TMatrixD GetTransformationMatrix(const BSEmcRecoHit *t_recoHit) const
virtual Double_t GetEnergyError(Double_t t_ceiledenergy, Double_t t_recoHitEnergy) const
TMatrixD Get4MomentumErrorMatrix(const BSEmcRecoHit *t_recoHit) const
Container class for EMC error matrix parameter class is inherited from FairParGenericSet.
void SetupParameters(BSEmcErrorCalculationPar *t_par)
Calculate Error Matrix for the given BSEmcRecoHit with parametrization defined by the given parameter...
virtual Double_t GetPosition1Error(Double_t t_energy) const
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52
virtual ~BSEmcErrorMatrixCalculation()