Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_bcalfcaltof_res_tree.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DEventProcessor_bcalfcaltof_res_tree.h
4 // Created: Mon Apr 3 11:38:03 EDT 2006
5 // Creator: davidl (on Darwin swire-b241.jlab.org 8.4.0 powerpc)
6 //
7 
8 #ifndef _DEventProcessor_bcalfcaltof_res_tree_
9 #define _DEventProcessor_bcalfcaltof_res_tree_
10 
11 #include <JANA/JEventProcessor.h>
12 using namespace jana;
13 
14 #include <TFile.h>
15 #include <TH1.h>
16 #include <TH2.h>
17 #include <TF1.h>
18 #include <TTree.h>
19 #include <DVector3.h>
20 #include <particleType.h>
21 
22 #include <DANA/DApplication.h>
23 #include <TRACKING/DMCThrown.h>
24 #include <BCAL/DBCALShower.h>
25 #include <FCAL/DFCALShower.h>
26 #include <TOF/DTOFPoint.h>
27 #include <TOF/DTOFTruth.h>
28 #include <TOF/DTOFHit.h>
29 #include <HDGEOMETRY/DRootGeom.h>
30 #include <BCALMCComparison.h>
31 #include <FCALMCComparison.h>
32 #include <TOFMCComparison.h>
33 #include <TRACKING/DTrackFitter.h>
34 
35 class DEventProcessor_bcalfcaltof_res_tree:public JEventProcessor{
36  public:
39  const char* className(void){return "DEventProcessor_bcalfcaltof_res_tree";}
40 
41  void Convert_Coordinates_BCALToLab(float locBCALR, float locBCALPhi, float locBCALZ, DVector3& locLabVertex);
42  void Convert_Coordinates_LabToBCAL(const DVector3& locLabVertex, float& locBCALR, float& locBCALPhi, float& locBCALZ);
43  double Calc_MostProbableTOFdE(const DVector3 &locMomentum, double mass);
44  void Calc_MostProbableTOFdEdx(double p, double mass, double dx, double &dE, double &dEdx);
45 
46  float Calc_BCALPathLengthCorrection(float locEnergy);
47  float Calc_BCALPathLengthCorrectionZPostE(float locZ);
48  float Calc_FCALPathLengthCorrection(float locEnergy);
49 
50  private:
51  jerror_t init(void); ///< Called once at program start.
52  jerror_t brun(JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
53  jerror_t evnt(JEventLoop *eventLoop, uint64_t eventnumber); ///< Called every event.
54  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
55  jerror_t fini(void); ///< Called after last event of last event source has been processed.
56 
63 
64  double dRhoZoverA;
65  double dKRhoZoverA;
66  double dLnI;
67 
71 
75 };
76 
77 #endif // _DEventProcessor_bcalfcaltof_res_tree_
78 
The DTrackFitter class is a base class for different charged track fitting algorithms. It does not actually fit the track itself, but provides the interface and some common support features most algorthims will need to implement.
Definition: DTrackFitter.h:61
TVector3 DVector3
Definition: DVector3.h:14