Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_trackeff_hists2.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DEventProcessor_trackeff_hists2.h
4 // Created: Wed Oct 10 13:30:37 EDT 2007
5 // Creator: davidl (on Darwin fwing-dhcp95.jlab.org 8.10.1 i386)
6 //
7 
8 #ifndef _DEventProcessor_trackeff_hists2_
9 #define _DEventProcessor_trackeff_hists2_
10 
11 #include <pthread.h>
12 #include <map>
13 #include <iostream>
14 #include <cmath>
15 
16 using std::map;
17 
18 #include <TThread.h>
19 #include <TROOT.h>
20 #include <TTree.h>
21 #include <TFile.h>
22 #include <TH1.h>
23 #include <TH2.h>
24 
25 #include <JANA/JFactory.h>
26 #include <JANA/JEventProcessor.h>
27 #include <JANA/JEventLoop.h>
28 #include <JANA/JApplication.h>
29 #include <JANA/JEventLoop.h>
30 #include <DANA/DApplication.h>
31 
32 #include <PID/DKinematicData.h>
33 #include <PID/DParticleID.h>
37 #include <TRACKING/DMCThrown.h>
39 
40 #include <FDC/DFDCGeometry.h>
41 #include <CDC/DCDCTrackHit.h>
42 #include <FDC/DFDCPseudo.h>
43 #include <FDC/DFDCHit.h>
44 
45 #include <DVector2.h>
46 #include <particleType.h>
47 
48 #include "track2.h"
49 #include "DTrackingResolution.h"
51 
53 class DCoordinateSystem;
54 
55 class DEventProcessor_trackeff_hists2:public JEventProcessor{
56 
57  public:
60 
61  TTree *trkeff;
64 
65  bool Search_ChargedTrackHypotheses(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown);
66  bool Search_WireBasedTracks(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown);
67  bool Search_TrackCandidates(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown);
68 
69 
70  private:
72 
73  jerror_t init(void); ///< Invoked via DEventProcessor virtual method
74  jerror_t brun(JEventLoop *loop, int32_t runnumber);
75  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber); ///< Invoked via DEventProcessor virtual method
76  jerror_t erun(void); ///< Invoked via DEventProcessor virtual method
77  jerror_t fini(void); ///< Invoked via DEventProcessor virtual method
78 
79  bool isReconstructable(const DMCThrown *mcthrown, vector<const DMCTrajectoryPoint*> &mctrajpoints);
80 
82  pthread_mutex_t mutex;
84 
85  double CDCZmin, CDCZmax;
86 
87  int DEBUG;
88 
89  void FindLR(vector<const DCoordinateSystem*> &wires, const DReferenceTrajectory *crt, vector<int> &LRhits);
90  void FindLR(vector<const DCoordinateSystem*> &wires, vector<const DMCTrajectoryPoint*> &trajpoints, vector<int> &LRhits);
91 };
92 
93 #endif // _DEventProcessor_trackeff_hists2_
94 
bool isReconstructable(const DMCThrown *mcthrown, vector< const DMCTrajectoryPoint * > &mctrajpoints)
jerror_t erun(void)
Invoked via DEventProcessor virtual method.
Definition: track2.h:15
jerror_t evnt(JEventLoop *loop, uint64_t eventnumber)
Invoked via DEventProcessor virtual method.
jerror_t fini(void)
Invoked via DEventProcessor virtual method.
bool Search_TrackCandidates(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)
jerror_t init(void)
Invoked via DEventProcessor virtual method.
void FindLR(vector< const DCoordinateSystem * > &wires, const DReferenceTrajectory *crt, vector< int > &LRhits)
bool Search_WireBasedTracks(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)
jerror_t brun(JEventLoop *loop, int32_t runnumber)
bool Search_ChargedTrackHypotheses(JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)