PandaRoot
PndFsmResponse.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: PndFsmResponse.hh,v 1.6 2007/05/24 08:07:40 klausg Exp $
4 //
5 // Description:
6 // Class PndFsmResponse
7 //
8 // Response of FsmDet for a FsmTrack
9 //
10 // This software was developed for the PANDA collaboration. If you
11 // use all or part of it, please give an appropriate acknowledgement.
12 //
13 // Author List:
14 // Klaus Goetzen Original Author
15 //
16 // Copyright Information:
17 // Copyright (C) 2006 GSI
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef PNDFSMRESPONSE_H
22 #define PNDFSMRESPONSE_H
23 
24 //----------------------
25 // Base Class Headers --
26 //----------------------
27 
28 //-------------------------------
29 // Collaborating class Headers --
30 //-------------------------------
31 
32 //--------------------------------------------
33 // Collaborating class forward declarations --
34 // -------------------------------------------
35 #include <iosfwd>
36 #include "TVector3.h"
37 
38 class PndFsmAbsDet;
39 
41  public:
42  //--------------------
43  // Public interface --
44  //--------------------
45 
46  //
47  // Constructors
48  //
49 
52  /* Destructor
53  */
54  virtual ~PndFsmResponse();
55 
59  PndFsmAbsDet *detector() { return _detector; }
60  bool detected() { return _detected; }
61 
62  double dE() { return _dE; }
63  double dp() { return _dp; }
64  double dtheta() { return _dtheta; }
65  double dphi() { return _dphi; }
66  double dt() { return _dt; }
67  double dm() { return _dm; }
68  double m2() { return _m2; }
69  double MvddEdx() { return _MvddEdx; }
70  double TpcdEdx() { return _TpcdEdx; }
71  double SttdEdx() { return _SttdEdx; }
72  double DrcDiscThtc() { return _DrcDiscThtc; }
73  double DrcBarrelThtc() { return _DrcBarrelThtc; }
74  double RichThtc() { return _RichThtc; }
75  double EmcEcal() { return _EmcEcal; }
76  double MuoIron() { return _MuoIron; }
77 
78  double m2Err() { return _m2Err; }
79  double MvddEdxErr() { return _MvddEdxErr; }
80  double TpcdEdxErr() { return _TpcdEdxErr; }
81  double SttdEdxErr() { return _SttdEdxErr; }
82  double DrcDiscThtcErr() { return _DrcDiscThtcErr; }
83  double DrcBarrelThtcErr() { return _DrcBarrelThtcErr; }
84  double RichThtcErr() { return _RichThtcErr; }
85 
86  TVector3 dV() { return _dV; }
87  double dVx() { return _dV.X(); }
88  double dVy() { return _dV.Y(); }
89  double dVz() { return _dV.Z(); }
90 
91  double LHElectron() { return _LHElectron; }
92  double LHMuon() { return _LHMuon; }
93  double LHPion() { return _LHPion; }
94  double LHKaon() { return _LHKaon; }
95  double LHProton() { return _LHProton; }
96 
97  //
98  // Modifiers
99  //
101  void setDetected(bool isdet);
102 
103  void setdE(double val);
104  void setdp(double val);
105  void setdtheta(double val);
106  void setdphi(double val);
107  void setdt(double val);
108  void setdm(double val);
109  void setm2(double val, double err = 0);
110  void setMvddEdx(double val, double err = 0);
111  void setTpcdEdx(double val, double err = 0);
112  void setSttdEdx(double val, double err = 0);
113  void setDrcDiscThtc(double val, double err = 0);
114  void setDrcBarrelThtc(double val, double err = 0);
115  void setRichThtc(double val, double err = 0);
116  void setEmcEcal(double val) { _EmcEcal = val; } // , double err=0 //[R.K.03/2017] unused variable(s)
117  void setMuoIron(double val) { _MuoIron = val; } // , double err=0 //[R.K.03/2017] unused variable(s)
118 
119  void setdV(TVector3 v);
120  void setdV(double dx, double dy, double dz);
121 
122  void setLHElectron(double val);
123  void setLHMuon(double val);
124  void setLHPion(double val);
125  void setLHKaon(double val);
126  void setLHProton(double val);
127 
128  void print(std::ostream &o);
129 
130  private:
131  // reference to the responding detector
132  PndFsmAbsDet *_detector;
133  bool _detected;
134 
135  // resolutions (absolute values) of: energy, momentum, theta, phi, time
136  double _dE;
137  double _dp;
138  double _dtheta;
139  double _dphi;
140  double _dt;
141  double _dm; // smearing of mass
142 
143  double _m2; // square of particle mass in Tof
144  double _MvddEdx; // dEdx in Mvd
145  double _TpcdEdx; // dEdx in Tpc
146  double _SttdEdx; // dEdx in Stt
147  double _DrcDiscThtc; // Theta_c Disc Dirc
148  double _DrcBarrelThtc; // Theta_c Barrel Dirc
149  double _RichThtc; // Theta_c Rich
150  double _EmcEcal; // calibrated energy deposit in calorimeter
151  double _MuoIron; // penetration depth in Muon detector iron
152 
153  double _m2Err; // error of square of particle mass in Tof
154  double _MvddEdxErr; // error of dEdx in Mvd
155  double _TpcdEdxErr; // error of dEdx in Tpc
156  double _SttdEdxErr; // error of dEdx in Stt
157  double _DrcDiscThtcErr; // error of Theta_c Disc Dirc
158  double _DrcBarrelThtcErr; // error of Theta_c Barrel Dirc
159  double _RichThtcErr; // error of Theta_c Rich
160 
161  // resolution of vertex
162  TVector3 _dV;
163 
164  // PID likelihoods for various particle hypotheses
165  double _LHElectron;
166  double _LHMuon;
167  double _LHPion;
168  double _LHKaon;
169  double _LHProton;
170 };
171 
172 #endif
TVector3 dV()
double MuoIron()
void setDrcBarrelThtc(double val, double err=0)
virtual ~PndFsmResponse()
void setdV(TVector3 v)
void setdphi(double val)
void setLHElectron(double val)
void setLHProton(double val)
void setTpcdEdx(double val, double err=0)
double MvddEdxErr()
void setLHMuon(double val)
void print(std::ostream &o)
double MvddEdx()
double RichThtcErr()
PndFsmAbsDet * detector()
__m128 v
Definition: P4_F32vec4.h:3
void setm2(double val, double err=0)
double RichThtc()
double DrcDiscThtcErr()
void setMuoIron(double val)
double LHProton()
void setdt(double val)
double SttdEdxErr()
double TpcdEdx()
void setDetector(PndFsmAbsDet *detector)
double SttdEdx()
void setDrcDiscThtc(double val, double err=0)
void setdp(double val)
double LHElectron()
void setLHKaon(double val)
void setEmcEcal(double val)
void setdE(double val)
double DrcDiscThtc()
void setRichThtc(double val, double err=0)
void setDetected(bool isdet)
void setdtheta(double val)
void setSttdEdx(double val, double err=0)
void setdm(double val)
double TpcdEdxErr()
double DrcBarrelThtcErr()
double EmcEcal()
void setMvddEdx(double val, double err=0)
double DrcBarrelThtc()
void setLHPion(double val)